Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Ху, Т. Целочисленное программирование и потоки в сетях

.pdf
Скачиваний:
43
Добавлен:
22.10.2023
Размер:
16.99 Mб
Скачать

 

11.1.

 

Д В У Х П Р О Д У К Т О В Ы Е

потоки

233

Ш аг 2.

Находим

обратный

путь

из

N z

в N z>,

состоящий

из дуг А 23,

А 34, И47,

 

И78,

А 8 2 ',

для которого

 

 

 

х\ =

min (ж£3, х\7) = min (2 , 2 ) =

2 ,

 

f e f t = m i n ( b 23 —

Я м » &34 + 4 з »

5 47, &78 +

4 7, &82' — 4 ' )

=

 

 

 

= min (2, 4, 2, 4, 2) =

2.

 

 

Находим

прямой

 

путь

из

iV2 в N 2>,

состоящий из дуг А23,

Азв, А в7, A 7i, A ib и П52 ',

для

которого

 

 

 

 

xj = min (xle, х\„ х\ъ) = min (2 , 2 , 2 ) = 2 ,

bf = min {b234 ,, b3&+ х\„ b67+ x\v b74, bi5 + x\b, 6M<) =

= min (2, 4, 4, 2, 4, 2) = 2.

Следовательно,

x\f = 2 , bbf = 2, h = min (4 /, 0,5bbf) = min (2 , 1 ) = 1 .

Мы направляем единицу потока 1-го продукта по циклу, обра­ зованному двойным путем. Результат изображен на рис. 11.5.

 

 

Р и с . 11.4.

Р и с . 11.5.

по

Ш а г

3. Поток /

(2, 2') увеличиваем на 2 единицы, посылая

одной

единице по

каждому из путей. Результат изображен

на

рис.

1 1 .6 .

 

 

Дальнейшее использование шага 1 не может увеличить / (2, 2 ),

а использование шага 2 не приводит к получению двойного пути.

Отсюда потоки, полученные на рис. 11.6,— максимальные, т. е. ве­ личина / (1, 1') + / (2, 2') = 6 + 4 = 10 максимальна.

Минимальное разделяющее множество состоит из дуг A i5, А к1,

^4 38» ^в7-

234

ГЛ. И . МНОГОПРОДУКТОВЫЕ п о т о к и

 

Чтобы доказать справедливость алгоритма, нужно доказать

следующие

утверждения.

 

 

1°. После выполнения шага 3 для всех дуг выполняется усло­

вие IZjjl +

lzfjK&ii-

 

 

2°. Когда алгоритм заканчивается,

то либо

находятся по­

 

токи, удовлетворяющие задан­

 

ным ограничениям, либо выя­

 

сняется, что заданные потоко­

 

вые ограничения являются не­

 

совместными. (Если решается

 

задача максимизации / ( 1 ,1 ') +

 

+ / ( 2 , 2 '), то в результате ра­

 

боты

алгоритма

оказывается

найденной величина

шах [ /( 1 , 1 ') +

/

( 2 , 2 ')].)

3°. Величины x\j

и xfj —це­

лые числа.

 

 

4°. Алгоритм

конечен.

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

1°. Докажем сначала, что после выполнения шага 3 для любой

дуги А ц прямого пути выполняется условие

 

IХЬ I +

1 xh I

bij-

{*)

Пусть направление от А/ к Nj —положительное.

 

Из определения прямого пути следует, что

 

b i j - x \ j

x\j ]> 0.

(5)

Перед выполнением шага 2 имеем

 

 

Ьц — | x\j | — | хц |> 0 .

(6 )

По определению

 

 

 

min [x\j, 0,5 (btj +

xlj — xb)].

(7)

На шаге 2

мы направляем h единиц потока 1-го продукта от Nj

к N t , а на

шаге 3 h единиц потока 2-го продукта от N t к N j .

Возможны 4 случая.

Случай 1. Пусть на рассматриваемой дуге A tj перед выполне­ нием шага 2 x\j > 0 и x\j ^ 0. На шаге 2 величина потока 1-го продукта уменьшается на h единиц, а на шаге 3 величина потока 2 -го продукта увеличивается на h единиц.

Из (6 ) тогда имеем

Ьц — | x\j —h | — | x\j -f h | > 0 .

Следовательно, условие (*) выполняется.

11.1. Д В У Х П РО Д У К Т О В Ы Е п о т о к и

235

Случай 2. Пусть на рассматриваемой дуге

A tj

перед выполне­

нием шага 2 x j i ^ O и x l j ^ O .

Неравенство (5)

примет вид

bij

Хц Xlj ~^>0.

 

 

Согласно определению h,

 

 

 

0,5 (bij x)i xfj),

 

 

или

 

 

( 8)

bij xji xfj 2 h ^ 0 .

 

На шаге 2 величина потока 1-го продукта по дуге Ац увели­ чивается на h единиц, на шаге 3 величина потока 2 -го продукта увеличивается на h единиц. Тогда из неравенства (8 ) имеем

btj — | x}i + h | — | xb + h | > 0 .

Условие (*) выполняется.

Случай 3. Пусть x\j ^ 0 и 4 ^ 0. Тогда на шаге 2 величина потока 1 -го продукта уменьшается на h единиц, на шаге 3 величи­

на потока 2-го продукта уменьшается на h единиц. Из неравен­ ства (6) получим

Ьц — \ x \ j - h\ — \х%— h \ ^ 0 .

Случай 4. Пусть xji ^ 0 и xji 0. Тогда на шаге 2 величина потока 1 -го продукта увеличивается на h единиц, а на шаге 3 вели­

чина потока

2-го продукта

уменьшается на h единиц. Получим

 

Ьц — I xji +

h | — | xji h |> 0 .

Условие (*)

выполняется 1).

 

Совершенно аналогично можно доказать, что после выполне­ ния 3-го шага условие (*) выполняется для любой дуги обратного пути.

Рассмотрим теперь случай, когда некоторая дуга А ц принад­ лежит и прямому, и обратному пути. Пусть при этом дуга Ац для обоих путей имеет одно и то же направление. Тогда на шаге 2 потоки 1 -го продукта взаимно уничтожаются, а на шаге 3 поток

2-го продукта увеличивается на 2h единиц. При этом суммарный поток по дуге А ц не превосходит дуговой пропускной способно­

сти Ьц,

потому что h = min {x\f, Q,bbbf). В

рассмотренном выше

примере

так обстоит дело с дугой А гг.

 

Остается рассмотреть случай, когда дуга

А ц в прямом пути

имеет одно направление, а в обратном пути

— противоположное.

г) Здесь надо рассмотреть два случая

Если x ji > h , то условие (*)

выполняется в силу (5); если же х^ < К, то

условие (*) выполняется в силу

(8),— Прим, перев.

 

236 ГЛ. 11. МНОГОПРОДУКТОВЫЕ п о т о к и

(Например, в рассмотренном выше примере такова дуга П47.) Тогда на шаге 2 поток 1-го продукта увеличивается на 2h, а на шаге 3 потоки 2-го продукта взаимно уничтожаются. При этом суммарный поток по дуге A tj не превосходит дуговой пропускной способности btj, потому что h = min (xbf, 0,5bbf).

Утверждение 1° доказано.

2°. Теперь докажем, что когда алгоритм заканчивается, то либо оказываются найденными потоки, удовлетворяющие задан­ ным ограничениям, либо выясняется, что заданные потоковые ограничения несовместны. (А если решается задача максимизации

/ ( 1 , 1 ') +

/ ( 2 ,

2 '), то после окончания работы алгоритма оказы­

вается найденной величина

max

[ /( 1 ,

1 ') +

/

(2 , 2 ')].)

 

 

 

Согласно описанию алгоритма, вычисления заканчиваются

только

тогда,

когда

построены

потоки,

не

меньшие

г ( 1 ,

1 ')

и г (2 , 2 '), либо когда на шаге 2

/ (1 ,

1 ') =

г (1 , 1 '),

а /

(2 ,

2 ')

<

< г (2 ,

2 ') и при этом не существует двойного пути.

 

 

 

 

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

пе существует обратного пути

из А 2

в А 2'.

Тогда по

лемме

11.4

существует разрез {Х2Ь, Х2Ь),

где N 2'(zX2b.

Если для некоторой дуги Ац разреза (Х2Ь,

Х2Ь) поток х ц ф О ,

то, как было выше доказано,

А 4 £ X 2b и AV £ Х2Ь. Так

как для

всех дуг

рассматриваемого

разреза

х\} -\- xfj = Ъц,

где

A* £ Х2Ь

А 7 С Хгь> то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/(!>

1;) + /(2,

2') = с 2ь, Хгь)-

 

 

 

(9)

Так как разрез (Х 2ь, Хгь) является множеством, разделяющим пары узлов (Alt Aj-) и (А2, А 2'), то должно выполняться

 

/(1,1') +

/(2,

2 ' ) < с ( Х 2Ь, Х 2Ь).

(10)

Из (9) и

(10) следует,

что в

рассматриваемом случае

получена

величина

max [ /( 1 , 1 ')

+

/ ( 2 ,

2 ')].

 

Следовательно, величину / (2, 2') в этом случае можно увели­ чить, только уменьшая /(1, 1'). Значит, заданные потоковые

ограничения

являются несовместными.

 

 

Если же

для каждой дуги разреза (Х2ь,

Х 2ь) поток x \ j = О,

т. е.

на каждой дуге xlj = bij,

где N t ^ X 2b и N j ^ X 2b, то

построен

max/(2, 2').

Следовательно,

величину / (2, 2' )

невозможно увели­

чить,

даже

если уменьшить величину /(1, 1'). Значит,

и в этом

случае заданные потоковые ограничения являются

несовместными.

(При

нахождении m a x [ / ( l ,

1') +

/

(2, 2')]

на шаге 0

мы

построили максимальный поток

/ (1,

1')

= с ( 1 ,

1'). При даль­

нейшей

работе алгоритма величина / (1,

1') не изменялась.

Сле­

довательно, величина / ( 1 , 1 ') не может быть увеличена, даже

если

уменьшить

/ (2, 2'). Таким образом, получена величина

max

[ /( 1 , 1 ') + /

( 2 , 2 ')].)

11.1. ДВУХПРОДУКТОВЫЕ п о т о к и

237

Случай, когда не существует

прямого пути (т. е.

существует

разрез (X2f, X 2f), где

6 X2f),

разбирается аналогично. Следо­

вательно, утверждение

2 ° доказано1).

 

3°. Сформулируем доказываемое утверждение в виде теоремы.

Теорема 11.2 (о четной целочисленности [106]). Если величины

г(1 , 1 '), г (2 , 2 '), btj четные числа, причем r ( 1 , 1 ') и г (2, 2 ')

удовлетворяют

условиям теоремы

1 1 .1

, то

 

существуют

потоки

/ (1 , 1 ') = г (1 ,

1 ')

и / ( 2 ,

2 ')

=

г (2,

2'),

 

такие,

что

все

x\j

и х\j целые числа.

 

1')

+

/ (2,

2')],

то достаточно

потре­

(Если ищется max [/(1,

бовать, чтобы только величины Ъц были четными числами.)

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

На шаге 0,

используя

алгоритм

расстановки

пометок, можно построить поток

/

(1

, Т) — г (1 , 1 ')

так,

чтобы

все x\j были четными числами.

(Это

можно

сделать, так как Ьц

и r(l, Т) четные.)

Отсюда следует,

что все

величины Ъц —

\х\}\

будут четными числами после выполнения шага 0. Так как вели­ чина г (2 , 2 ') —четное число, то и величины x\j после выполнения шага 1 будут четными.

Когда мы доказывали, что дуговые потоки не превосходят дуговых пропускных способностей, было установлено, что на

каждой дуге

А ц потоки либо увеличиваются, либо уменьшаются

на величину

h. Так как по определению

h —min (xbf, 0,5bbf),

то h может оказаться нецелым числом только тогда, когда bbf

нечетное (поскольку величины x\j,

x\j, Ь'ц сначала все были чет­

ными). После выполнения шага 1

в первый раз величина

bbf =

= min (bij ± x\j ± x\j) = 0 (mod 2 ).

 

поток 1-го продукта увели­

Рассмотрим дугу

Atj,

в которой

чивается

на h единиц, а поток

2 -го

продукта

уменьшается

на h

единиц.

Рассмотрим величину bij +

| xjj -|- h | ±

| х\j h |.

 

Если

b i j | x \ j | + x f j четное

число, то Ъц \ х \ } \ - h\ ± | Х Ь

h\ — также четное независимо

от

того, четно h или нет.

 

Рассмотрим теперь дугу Ац,

в которой либо поток 1-го про­

дукта, либо поток 2-го продукта

увеличиваетсяч на 2h.

Здесь

также величина Ъц ±

| xt) + h | +

 

| хц — h |

будет выражаться

четным

числом.

 

 

 

 

 

 

 

Таким образом, после выполнения шага 3 и перед выполнением

шага 1

каждая дуга

имеет четную

пропускную способность для

потока 2 -го продукта.

 

 

 

 

 

 

 

J) Из приведенного доказательства видно, что при. выполнении алго­

ритма шаг 1 можно опустить,

так как нигде не используется, что поток х2^

должен быть максимальным.— Прим, перев.

238

ГЛ. 11. МНОГОПРОДУКТОВЫЕ п о т о к и

 

После шага 1, который увеличивает или уменьшает x\j на чет­

ное число единиц, величина Ъц ± x\j + x\j по-прежнему останется четной. Таким образом, ЪЬ} не может быть нечетным числом, a k не может быть нецелым. Следовательно, x\j и x\j остаются целыми

в ходе всего алгоритма

 

 

заметим, что вели­

4°.

Чтобы доказать конечность алгоритма,

чина /

(2 , 2 ')

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

ницы (на 2xlf

или на Ьы). Величина / (1,

1')

сохраняет свое зна­

чение,

полученное на шаге 0. Так как / (2,

2') ограничена сверху

величиной min [с (2 , 2 '), с ( 1 , 2 ; 1 ',

2 ') — / ( 1 , 1 ')], то алгоритм

конечен, щ

 

N 2 или

— N 2>, является

Заметим, что случай, когда N i =

частным случаем, при котором выполняются условия теоремы 1 1 .1 .

Действительно, этот частный случай может быть представлен с помощью сети, в которой &12 или bi2- — произвольно большое

число.

Обсуждение

Широкое распространение получила следующая гипотеза. Мно­ жество то-продуктовых потоков в неориентированной сети является допустимым тогда, когда выполняются следующие 1 нера­

венств:

 

/ (к,

к ')^ с ( к ,

к')

 

( ( 7) неравенств) ,

 

/(*, *') +

/(/>

 

j; V, f )

 

( ( “ )

неравенств)

,

 

m

 

 

 

 

 

 

 

 

 

 

 

2

f(k,

i ' ) < e ( l .

1', . ..,

m')

( C

)

неравенств) .

 

fe=i

 

 

 

 

 

 

 

 

 

 

 

Контрпример для 4 продуктов, опровергающий эту гипотезу,

впервые

был найден

Фордом (личное сообщение).

Пример

для

 

 

 

3 продуктов

иллюстрируется

на

 

 

 

рис. 11.7; как показано в работе

 

 

 

[106], условия/(1 , 1 ') = 4 , / ( 2 , 2 ') =

 

 

 

= 2 , /

(3,

3')

=

1

являются недо­

 

 

 

пустимыми.

что

рассмотренный

 

 

 

Заметим,

 

 

 

выше

алгоритм

дает

возможность

 

 

 

получить

 

одновременно

max

 

 

 

[ /( 1 , 1 ') +

/

(2 , 2 ')] и max / ( 1

, 1

'),

 

 

 

т. е. с помощью этого алгоритма

 

 

 

можно

найти

max

[oti/ (1 , 1 ')

+

 

 

 

+ а 2/

(2 , 2 ')], где а!

> а 2 >

0 .

 

11.2. М Н О ГО П РО ДУ К ТО В Ы Е потоки

239

11.2. Многопродуктовые потоки (Форд и Фалкерсон [6 6 ],

Томлин [186])

Прежде чем приступить к изучению этого параграфа, читателю рекомендуется перечитать первые 5 абзацев § 11.1.

Рассмотрим сначала задачу о максимальном многопродуктовом потоке. Пусть в сети для каждого продукта задан источник и сток. Сеть содержит т дуг, заданы их пропускные способности blt б2, . . ., Ът. Для каждого продукта в сети имеется несколько цепей, ведущих из источника в сток. Требуется пропустить поток каждого продукта по цепям таким образом, чтобы не были пре­ вышены пропускные способности дуг и сумма величин потоков по всем цепям была бы максимальна.

Произвольная цепь в сети может быть представлена ш-мерным

вектором, i-я

компонента которого равна 1 ,

если дуга i входит

в эту цепь, и

равна 0 в противном случае.

Определим матрицу

инциденций дуги-цепи

А = [ац\ следующим образом:

1 ,

если дуга i входит в цепь

a ij {О

в противном случае.

Обозначим через Xj величину потока, протекающего по цепи /. Тогда задача максимизации суммы величин всех цепных потоков примет вид

максимизировать 2 xi j

при условиях

 

'Zai]xj + si =^bi (г = 1, 2, . . ., т),

(1)

j

 

где S; — слабые переменные.

Заметим, что при такой формулировке задачи матрица А может иметь миллионы столбцов, где всевозможным цепям каж­ дого из продуктов соответствуют свои столбцы. К счастью, как будет показано ниже, для того, чтобы решить задачу (1 ), нам понадобится запоминать только матрицу размера + 1 ) X

X + 1). В ограничениях (1) многопродуктовый характер зада­ чи представлен в неявном виде, он учитывается при построении матрицы А 1). В случае когда имеется единственный продукт, задача (1 ) превращается в обычную задачу о максимальном потоке.

Предположим, что имеется т столбцов, образующих начальный базис задачи (1). Тогда можно разрешить (1) относительно этого)*

*) Имеется в виду, что в матрице А каждая цепь фигурирует столько раз, сколько различных продуктов может по ней перевозиться.— Прим,

перев.

240

ГЛ . И . МНОГОПРОДУКТОВЫЕ п о т о к и

базиса

и найти вектор цен л: = (я^

я 2, . . ята), где каждый

элемент

соответствует своей строке.

Заметим, что относительная

оценка Cj каждого небазисного столбца а7определяется выраже­ нием Cj = Cj — яа;. Если все Cj ^ 0, то текущий базис является оптимальным. Если некоторый cj > 0, то соответствующий этому cj столбец aj должен быть введен в базис. Оказывается, что задача нахождения Cj несложна. Будем интерпретировать я г как длину дуги г. Тогда величина яа7будет равна длине той цепи, которой соответствует столбец aj. Заметим, что Cj — + 1 для всех столбцов. При вычислениях с помощью симплекс-метода вектор я появляет­ ся в нулевой строке под слабыми переменными х). Оказывается, что нам не нужно запоминать все столбцы матрицы А, соответ­ ствующие всевозможным цепям каждого продукта. На каждой стадии вычислений можно просто использовать модифицированный

симплекс-метод и запоминать матрицу размера + 1 )

X + 1 ).

Если какая-то из

цен л г

окажется отрицательной,

то столбец,

стоящий под этой

ценой

я г в симплексной таблице,

выбирается

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

ше, то это значит, что текущий базис является оптимальным 2)* . Заметим, что перед введением в таблицу каждый столбец должен быть скорректирован, как это делается в § 7.2.

Перейдем теперь к многопродуктовой задаче о допустимости. Для каждого продукта задана величина потока, и требуется опре­ делить, могут ли быть эти величины одновременно реализованы в заданной сети. Например, пусть задана сеть с ограничениями

на пропускные

способности дуг,

представленная на рис. 1 1 .8 .

Требования

к

четырехпродуктовому потоку представлены на

рис. 11.9 (т.

е.

нужно пропустить

2 единицы 1-го продукта из

в N 2, три единицы 2-го продукта — из N 2 в А 4 и т. д.). Требуется

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

Рассмотрим так называемые допустимые сети, которые удовле­ творяют заданным требованиям к потоку. Каждая такая сеть получается следующим образом. Для каждого продукта находят некоторую цепь из его источника в сток, затем каждой дуге этой

цепи приписывают пропускную способность,

равную заданному

:) В

нулевой строке под слабыми переменными

появляется вектор я,

а не —я

из-за того, что мы используем —св и —

в исходной таблице.

2) Если длина некоторой кратчайшей цепи окажется меньше 1, то стол­ бец, соответствующий этой цепи, должен быть введен в базис.— Прим,

перев.

11.2. МНОГОПРОДУКТОВЫЕ потоки

241

требованию к потоку этого продукта. Сеть, получаемую в резуль­ тате «наложения» друг на друга цепей, соответствующих всем заданным требованиям к потоку, назовем допустимой. Можно считать, что все допустимые сети имеют те же дуги и узлы, что и исходная сеть, но разные дуговые пропускные способности. (Некоторые из пропускных способностей дуг могут быть равны О,

Р и с .

11.8. Дуговые

Р и с . 11.9.

Требова­

пропускные способности.

ния к

сети.

но эти дуги не выбрасываются, чтобы все допустимые сети имели одинаковые дуги.) Может существовать несколько миллионов допустимых сетей, каждая из которых удовлетворяет заданным требованиям к многопродуктовому потоку.

Произвольную допустимую сеть можно представить то-мерным вектором &j = [а,!], а2ц • • ■> «м;!, где а17- — пропускная спо­ собность 1 -й дуги, а2;- — пропускная способность 2 -й дуги и т. д.

Тогда все допустимые сети могут быть представлены в виде матри­

цы

содержащей т строк. (Например, для сети на рис. 11.8

матрица [atj] будет иметь 5

строк.)

 

Будем называть линейной

выпуклой комбинацией допустимых

сетей линейную выпуклую комбинацию векторов aj. Любая линейная выпуклая комбинация допустимых сетей также удовле­ творяет заданным требованиям к потоку. Предлагаемый ниже подход позволяет определить, содержится ли в исходной сети такая сеть, которая является линейной выпуклой комбинацией

допустимых

сетей.

 

 

 

 

 

Если исходная сеть, представимая в виде [bj, b2, . . ., Ьт],

содержит сеть вида [Ъ[,

Ь',

. . .,

Ъ'т], где

Ъ\ ^ bt

(i = 1, 2, . . .

. . ., то), а столбец [Ъ[,

.

. ., Ът’ ] является линейной выпуклой

комбинацией столбцов матрицы

то эта исходная сеть удовле­

творяет заданным требованиям к потоку.

 

 

Обозначим через xj

коэффициент при

столбце

в линейной

комбинации

столбцов

матрицы

[ац\.

Тогда

многопродукто­

вую задачу о допустимости можно сформулировать следующим образом:

максимизировать 0 = 2 Xj

16 т. Ху

242

Г Л . 11.

М Н О ГО П РО ДУ К ТО В Ы Е

п о т о к и

при условиях

 

 

 

 

yj atjXj

L Si = bi (i = 1 , 2 ,

. . m),

(1 )

si^ z 0.

Если оптимальное значение 0 ^ 1 , это значит, что в исходной сети все требования к многопродуктовому потоку выполняются.

Если оптимальное значение 0 = 1, то исходная сеть является допустимой. При такой формулировке матрица [а,ц] может содер­ жать миллионы столбцов, но, к счастью, нет необходимости все их выписывать.

Если у нас имеется т столбцов, являющихся начальным бази­ сом задачи (2 ), то с помощью симплекс-метода можно найти вектор

цен я. С помощью этого вектора я можно, как это делалось в моди­ фицированном симплекс-методе, найти столбец, который увели­ чивает значение целевой функции. Так как относительная оценка cj столбца aj определяется выражением Cj = Cj — яа;-, а с} = 1

для всех столбцов, то нам надо искать минимальную из величин

яаj. Если при

минимальном значении яа;- получится, что Cj

=

= Cj — яа7- ^

0 , то текущее решение будет оптимальным.

 

При вычислениях мы запоминаем матрицу размера + 1)

X

X + 1 ) и интерпретируем величину я г как стоимость дуги i

единичной пропускной способности. Когда в симплексной таблице получаются все я г ^ 0 , мы пытаемся ввести в базис столбец,

который представляет самую дешевую допустимую сеть 1). Если получается 0 ^ 1 , значит, все требования к многопродуктовому

потоку выполняются. Если получается, что 0 < 1, а яа7- ^ 1 для всех у, то исходная сеть не содержит линейной выпуклой ком­ бинации допустимых сетей 2*).

Рассмотрим пример, иллюстрирующий решение многопродук­ товой задачи о допустимости. Пусть в сети на рис. 11.8 числа около дуг указывают их пропускные способности, а требования к четырехпродуктовому потоку в этой сети представлены на на рис. 11.9. Требуется определить, можно ли этот четырехпро­ дуктовый поток пропустить в заданной сети.

В симплексной таблице 11.1 представлены дуговые пропускные

способности

исходной

сети (как

значения слабых

переменных);

0 в этой таблице равно 0. Здесь вектор b =

[bit b2,

Ь3, Ь4, 65] =

= [9/ 2, 5/2,*

3, 4, 5/2].

Заметим,

что в табл.

11.1

имеется одно

х)

См. упр. 2 к гл.

9 и работу

[90].— Прим,

перев.

 

2)

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

менно заданные требования к потоку. Действительно, нетрудно показать, что если в некоторой сети одновременно реализованы заданные требования к потоку, то эта сеть представима в виде линейной выпуклой комбинации допустимых сетей.— Прим, перев.

Соседние файлы в папке книги из ГПНТБ