Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.10.2024

Просмотров: 198

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

166 ГЛ. 9. МНОГОПОЛЮСНЫЕ МАКСИМАЛЬНЫЕ ПОТОКИ

из этих трех чисел не равно двум другим, то оно долйшо быть боль­

ше, иначе снова получим противоречие с (1). Если начертить ”^ге ^

неориентированных дуг

между всеми узлами сети, длины кото­

рых пропорциональны

величинам максимальных потоков f tj,

то каждый треугольник

будет иметь по две равные стороны,

а третья сторона будет больше или равна другим. Таким образом, неравенство (1 ) является своего рода «неравенством треугольни­

ка», которое налагает на величины

максимальных потоков

сильные ограничения.

 

Из соотношения (5) следует, что среди

^ величин f tj — fл

(в сети с п узлами) существует не более п — 1 различных. Докажем

это следующим образом. Рассмотрим полный граф с п^п ^ дуга­

ми, длины которых пропорциональны соответствующим величи­ нам максимальных потоков. Выберем среди этих дуг те, которые образуют максимальное связывающее дерево. Оказывается, что каждая из величин f i} должна быть равна длине одной из п 1

дуг этого дерева. Предположим, что f ln — одна из величин f tj, которая не равна ни одной из длин дуг дерева. Существует един­ ственный путь из N { в N n, состоящий из дуг рассматриваемого максимального связывающего дерева. Из (5) следует, что величи­ на fin должна быть больше или равна минимальной из длин / ;;- дуг, входящих в этот путь. Если бы величина / 1п была строго больше, то мы могли бы заменить минимальную из дуг, входящих в путь, дугой длины / 1п. При этом получилось бы другое связы­ вающее .дерево с общим весом, большим, чем у максимального связывающего дерева, что невозможно.

Достаточность. Построим сеть, в которой заданный набор чисел ntj, удовлетворяющих условию (1 ), будет множеством вели­

чин максимальных потоков между всеми парами узлов этой сети.

Для этого числа ntj, j > i, удовлетворяющие условию (1), будем считать длинами дуг некоторого полного графа. Найдем в этом графе максимальное связывающее дерево. Затем рассмотрим сеть, имеющую ту же структуру, что и построенное дерево, у которой пропускные способности дуг btj равны заданным числам п^. Покажем, что в этой сети поток между N t и N j, такой, что / i7- = = пи, будет максимальным. Действительно, для любой пары уз­ лов этой сети выполняется соотношение

/ij = min ipu, bi2l . . . , bqj) = min (пц, nl2, . . . , nqJ),

где bH, bi2, . . ., bqj — пропускные способности

дуг, образую­

щих в дереве единственный путь из N t в N j. Но,

как было заме­

чено выше, для чисел пц, удовлетворяющих условию (1 ) (а следо-


9 .3 . АНАЛИЗ СЕТИ

167

--------------------------------------------------------\-----------------------------------------

 

вательно, и условию (5)), справедливо

пц = min (пи, п12, . . nqj).

Таким образом, f i} = п ц .ш

Заметим, что при доказательстве достаточности мы показали, что если некоторое множество чисел является множеством вели­ чин максимальных потоков (или, как говорят, реализуемо в ка­ честве множества максимальных потоков), то оно реализуемо деревом.

9.3. Анализ сети (Гомори и Ху [89])

Обратимся теперь к задаче анализа потоковой сети. Имеется неориентированная сеть с ограниченными пропускными способ­ ностями дуг bij. Требуется найти величины максимальных потоков

между р узлами

сети, где 2 ^ р ^ п. Покажем, что для этого

не нужно р (р~ ^

раз вычислять максимальный поток между каж­

дой парой узлов, а достаточно решить лишь р 1 задач о макси­

мальном потоке, причем каждый раз задача решается в более простой сети, чем исходная.

Рассмотрим сначала процесс, называемый сжатием нескольких узлов в один узел. Основная идея состоит в том, что несколько узлов сети принимаются за один (рис. 9.1). Другими словами, можно считать, что дуги между всеми «сжимаемыми» узлами полу­ чают бесконечную пропускную способность. При этом дуги, свя­ зывающие некоторый узел N t (не принадлежащий к числу сжи­ маемых) со всеми сжимаемыми узлами, заменяются одной дугой с пропускной способностью, равной сумме пропускных способ­ ностей заменяемых связывающих дуг.

168

ГЛ. 9. МНОГОПОЛЮСНЫЕ МАКСИМАЛЬНЫЕ ПОТОКИ

Например, если сжать узлы N 3, N e и N 8 в один узел (рис.. 9.1), то получится сеть, изображенная на рис. 9.2. В сети на рис. 9.1

величина максимального потока

/ 27 = с (У , У) =

4. Здесь Y

=

= {2}, У = {1,3, 4, 5, 6 , 7,

8 },

минимальный

разрез (У,

Y)

состоит из дуг А 21 , А 2з, А 2в-

Увеличение пропускных способностей

дуг, не принадлежащих этому минимальному разрезу (У, У),

не повлияет на величину с (У, У) и может лишь увеличить про­ пускную способность других разрезов, разделяющих N 2 и Х 7. Таким образом, при сжатии узлов N 3, N e, N 8 разрез (У, У)

останется минимальным разрезом, разделяющим N 2 и N 7. Следо­ вательно, при вычислении максимального потока / 27 можно,

например, сжать узлы N 3, N 6, N a в один и производить вычисле­ ния в сети, изображенной на рис. 9.2.

Чтобы использовать эту идею более полно, изучим некоторые свойства минимальных разрезов в сети. Будем говорить, что два

разреза (X, X) и (У, У) пересекаются, если каждое из четырех множеств узлов X П Z f) У, X [\ Y , X [\ Y непусто.

Лемма 9.1. Пусть (X, X) минимальный разрез, разделяющий узел N i £ X и некоторый узел из X , и пусть N t, N k ^X . Тогданайдется минимальный разрез (Z, Z), разделяюгций Ni и Nu, который не пересекается с разрезом (X, X).

Д оказательство.

Пусть (У, У) — минимальный разрез,

разде­

ляющий

N t и

N k,

и допустим,

что он пересекается с

разре­

зом (X,

X).

 

 

 

 

Определим следующие множества:

 

 

 

 

х пУ =(?,

ХП Y=s,

 

 

 

 

ХП Y = p ,

ХП Y = R

 

(как показано

на рис. 9.3).

 

 


 

 

 

 

 

 

 

9 .3. АНАЛИЗ СЕТИ

 

 

 

 

169

 

Есть две возможности:

N i £ Q или N i £ S .

 

 

 

 

 

I.

 

Пусть

N t £Q,

N t £ P ,

N h£ R.

Так как (X, X) является

минимальным разрезом, разделяющим Nt и некоторый другой

узел

из X , то,

сравнив

 

его

 

 

 

 

 

 

 

 

с разрезом (Q, Р (J Л U S ),

по­

 

 

 

 

 

 

 

 

лучим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c(Q,P) + c(S, P) + c(Q, R) +

 

 

 

 

 

 

 

 

 

 

+

с(5,

Л )<с(<?,

Р) +

 

 

 

 

 

 

 

 

 

 

 

 

+

с (@> R ) Jr c (Q>

S) .

 

 

 

 

 

 

 

 

 

 

 

 

Так как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c(S, Л)>О,

 

 

 

 

 

 

 

 

 

 

 

 

то

из (1 ) следует, что

 

 

 

 

 

 

 

 

 

 

 

 

 

c(S,

R ) ^ c ( Q ,

S).

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О < с ( Р ,

S),

 

 

 

 

 

 

 

Р и с.

9.3.

 

 

то, сложив (3) и (4) и при­

 

 

 

 

 

 

 

с (Q, Л)],

получим

 

бавив

к

обеим

частям

(Р , R)

 

с (Р, R)

+ с (IQ, R)

с (S, Л ) <

с (Р, R) + с (£, Л) +

С (<?, 5)

+

 

 

 

 

 

 

 

.

 

+ с ( Р , 5 ) .

 

 

 

 

(5)

 

Левая часть неравенства (5) представляет собой пропускную

способность разреза

U Q U S, Л), который разделяет узлы

N t

и N k и не пересекается

с

(X,

X).

Правая часть неравенства

(5)

есть

величина

пропускной

способности минимального разреза

(Y,

Y), разделяющего N t и

N h. Таким

образом,

U Q U <S\ Л)

является

искомым

минимальным

разрезом (Z, Z).

 

 

 

 

II.

В случае когда узел N г £

Л, можно аналогично показать,

что

(Р, Q U Л (J S)

является

искомым

минимальным

разрезом,

разделяющим N t

и

N h

и

не

пересекающимся

с

(X,

X).

 

 

Итак,

если

(X,

X) — минимальный

разрез, то при подсчете

величины максимального потока между двумя узлами из X мож­

но

сжать

в один узел все

узлы множества Х .и

 

 

 

 

Л емма 9.2. Пусть (X ,

X )

произвольный минимальный разрез,

отделяющий заданный узел

N t £ X

от

какого-либо другого узла

сети. Пусть N г

произвольный узел из X . Тогда найдется мини­

мальный разрез

(Z, Z), разделяющий узлы N t и N г, который

не

пересекается с разрезом (X, X).


170

ГЛ. 9. МНОГОПОЛЮСНЫЕ МАКСИМАЛЬНЫЕ ПОТОКИ

Д оказательство. Пусть (У, У) — минимальный разрез, разде­ ляющий узлы N t и N ь который пересекается с (X , X). Пусть, как и в предыдущей лемме,

 

хпи = е,

xn^-s,

 

 

 

 

 

 

 

х п у =

р ,

х п п = /?,

 

 

 

 

 

 

где

£ R, a

(рис. 9.4).

 

 

 

 

 

 

 

 

Так как (X , X) является минимальным разрезом, то, как и при

доказательстве’ леммы

9.1,

можно

получить

неравенство

(5).

 

Y

 

 

В левой его части стоит вели­

 

 

 

чина пропускной способности

 

 

 

 

разреза Ц Q (J S, R),

разде­

 

 

 

 

ляющего N t и N t. В

правой

 

 

 

 

части (5) стоит величина про­

 

 

 

 

пускной

способности

мини­

 

 

 

 

мального

 

разреза

 

(Y , Y).

 

 

 

 

Таким образом, у Q (J S, R)

 

 

 

 

является

искомым

разрезом

 

 

 

 

(Z , z ) . v

 

 

 

 

 

 

 

 

 

 

 

Из леммы следует, что

 

 

 

 

если (X, X) является мини­

 

 

 

 

мальным разрезом, отделяю­

 

 

 

 

щим N ;

£ X

от некоторого

 

 

 

 

другого узла сети, и тре­

 

 

 

 

буется найти величину мак­

 

 

 

 

симального

 

потока

fu,

где

 

 

 

 

N i — произвольный

узел

из

X,

то множество X

может

быть

«сжато»

в

один

узел.

 

Лемма 9.3. Пусть (X , X) — ^минимальный разрез, разделяю­ щий заданные узлы N а и N ь, N г — произвольный узел из X, N j

произвольный узел из X. Тогда существует минимальный разрез (Z, Z), разделяющий узлы N ; и N j, который не пересекается с раз­ резом (X, X).

Д оказательство.

Предположим,

что

(У, У) —минимальный

разрез,

разделяющий

N t и

N j

и

пересекающийся с разрезом

<Х, X).

Тогда f u = c(Y, У).

 

 

 

 

Пусть (рис. 9.5)

 

 

 

 

 

 

Х П У =

<?,

Х П ^ =

£ , -

 

х п у = л

х п у = я .


 

 

 

 

 

 

 

 

 

9.3. АНАЛИЗ СЕТИ

 

 

 

 

 

171

Не

теряя общности,

можно считать, что N t £Q,

N j £ R . В зависи­

мости от того, где лежат

N a и N b, возможны три случая (осталь­

ные случаи симметричны).

 

 

 

 

 

 

 

 

 

I. Пусть

N a£Q,

N t £Q,

 

 

 

f

Y

 

 

 

 

N b£ R,

 

N j £ R .

Тогда

из

 

р

 

A '

 

 

 

 

(1) — (5)

 

 

следует,

что

 

 

 

 

Q

 

 

 

U <? 0

$ 1

Щ является иско­

 

 

 

 

 

 

 

 

 

мым минимальным разрезом.

 

 

 

 

 

 

©

 

 

II.

Пусть

N a6S,

Ni 6 Q,

 

 

 

 

 

 

 

 

Nb £ P ,

N j £ R .

 

Так

как раз­

x<

 

 

 

 

 

 

 

рез

(X,

X) —минимальный

 

 

 

 

 

}

X

из разрезов,

разделяющих N a

 

 

 

 

 

 

 

 

 

и N b,

а

(S ,

Р у Q U R) — раа-

 

 

 

 

 

 

 

 

 

рез,

разделяющий N a и N b, то

 

 

 

 

 

 

 

 

 

c{Q, P) + c(Q,

R) + c(S, Р) +

 

 

 

 

 

 

 

 

 

+ c(S,

Д ) < с ( 5 ,

<?) +

 

 

 

 

 

 

 

 

 

 

 

+ c{S,

PY+c( S,

R).

 

 

 

 

 

 

 

 

 

 

В силу c (Q,

R) > 0 имеем

 

 

 

 

 

 

 

 

 

c((?, P ) ^ c ( S , Q ) = c(Q,S).(Q)

 

 

 

 

 

 

 

 

 

Поскольку

разрез (P , Q (J S (J R) также разделяет

N a и

N b,

то

 

 

c(X,

X) = e(Q, P) + c(Q,

7?) + c(S, P) +

c(S,

Д ) <

 

 

 

 

 

 

 

 

 

 

<c(<?, P)~{~c(S, P)-\-c(R, P).

 

 

 

 

В силу

c(Q,

i?) > 0

имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c(S, R ) ^ c ( R ,

P) = c(P, R).

 

 

 

 

(7)

Так

как c(P, S ) ^ 0,

t o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c(P, R) + 2c(Q, R) +

c(Q, S ) ^ c ( P ,

R) +

 

 

 

 

 

 

 

 

 

 

+ 2c (Q,

R) + c (Q, S) +

2c ( P , S ) .

 

 

 

(8 )

Складывая (6), (7)'и (8 ), получаем

 

 

 

 

 

 

 

И 0 ,

P) +

c(Q,

R) + c(Q, S)] +

[c(P, R) + c(Q,

R) + c(S,

/?)]<

 

 

 

< 2

[s(P,

R) + c(P,

S) + c(Q,

R) +

c (Q, S)]

 

 

(9)

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c(Q,

P

U R U S) + c(P

U

Q U 5,

Д ) < 2 с ( У ,

У). .

'

(Ю)

Отсюда следует, что по крайней мере одна из

величин с (Q,

Р

(J

U R U S), с (Р

[J Q U S,

R) не больше,

чем с (У, Y).

в

(10),

 

Поскольку каждый из трех разрезов, фигурирующих

отделяет N t

и N j, а (У,

У) —минимальный

из

них,

то

либо