Файл: Ху, Т. Целочисленное программирование и потоки в сетях.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, а (У, |
У) —минимальный |
из |
них, |
то |
либо |