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

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

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

 

 

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

 

 

243

 

 

Таблица 11.1 *)

 

 

 

 

Таблица 11.2

 

 

1

Sj S2 s 3 s4 s 5

x l

 

1

S1

s2

s3

s4 s5

x2

0

0

 

—1 .

0

1/2

 

 

1/6

 

- 1

S1

9/2

1

2

Sj

7/2

1

 

- 1 /3

 

5

S2

5/2

1

3

S2

1

 

1

- 1 /2

 

0

«з

3

1

6*

X1

1/2

 

 

1/6

 

0

s4

4

1

0

4

4

 

 

0

1

6

»5

5/2

1

2

«5

3/2

 

 

- 1 /3

1

5*

l)

Всепустые места в таблицах означают

 

 

 

 

 

 

 

нули.

 

 

 

 

 

 

 

 

 

небольшое отличие от записи, используемой в гл. 5: ранее стоящий справа столбец b теперь является нулевым столбцом. В верхнем

левом углу

таблицы

записывается значение целевой функции.

В табл.

11.1 я =

[0, 0, 0, 0, 0], поэтому любая сеть, удовле­

творяющая требованиям к потоку, будет самой дешевой. В частно­ сти, можно взять такую сеть: [2, 3, б, 0, 2]. Здесь, чтобы про­

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

из TVj

в iV2, взята дуга

i = 1

с пропускной способностью 2 ;

второй продукт величины 3

из N 2

в TV4 пропускается по дугам

i — 2

и i =

3, каждая пропускной

способности 3; чтобы пропустить 3-й продукт из N 3 в N t величи­

ны 3 используется снова дуга i = 3, для чего ее пропускная способ­ ность увеличивается еще на 3 единицы (в результате становится

равной 6 );

наконец, 4-й продукт величины 2 из N\

в N 3 пропу­

скается

по

дуге

i =

5

пропускной

способности

2.

Эта

сеть

[2 , 3, 6 , 0 ,

2 ] представлена самым правым столбцом в табл.

1 1 .1 .

Применив

итерацию

симплекс-метода

к

табл.

11.1,

получим

табл. 1 1 . 2

(кроме самого правого ее столбца).

 

 

 

 

 

В табл. 11.2 я

= [0,

0,

1/6, 0,

0]. При таком я самой дешевой

допустимой

сетью

будет

такая:

[5, 0, 0,

6 , 5].

Она

записана

в

самом

правом

столбце

табл. 11.2. (Заметим, что

столбец

[5,

0, 0,

6 ,

5] нужно

скорректировать

перед

введением

его

в табл. 11.2. В данном случае скорректированный столбец снова имеет вид [5, 0, 0, 6 , 5].)

После очередной итерации симплекс-метода получится таб­ лица 11.3 (кроме самого правого ее столбца). Здесь я = [О, О, 1/10, 0, 1/5], а самая дешевая сеть такая: [10, 5, 0, 6 , 0]. Применив

итерацию симплекс-метода к табл. 11.3, получим табл. 11,4.

16*

244

 

 

 

ГЛ .

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

 

 

 

 

 

 

Таблица 11.3

 

 

 

Таблица 11.4

 

 

1

Sj

s 2

s3

s4

S5

4

 

1

^1

$2

S3 s4

s5

0

8/10

 

 

1/10

 

1/5

1

0

1

1/10

 

1/10

1/10

Si

2

1

 

0

 

—1

10*

*3

1/5

1/10

 

0

—1/10

s2

1

 

1

- 1 /2

 

0

5

s2

0

—1/2

1

—1/2

1/2

S3

1/2

 

 

1/6

 

0

0

X i

1/2

0

 

1/6

0

s4

11/5

 

 

2/5

1

—6/5

6

s4

1

-6 /1 0

 

2/5

-6 /1 0

x 2

3/10

 

 

—1/15

 

1/5

0

x 2

3/10

0

 

1—1/15

1/5

В табл. 11.4 я = (1/10, 0, 1/10, 0, 1/10). При таком я любая допустимая сеть обладает стоимостью яа^-, большей или равной 1 .

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

0 больше увеличить нельзя. Имеем: xi = 1/2,

х2

= 3/10, х 3 =

1/5.

Убедимся,

что сеть на

рис. 11.8 являет­

ся

допустимой.

Имеем: (1/2)

[2,

3, 6 , 0, 2] =

[1, 3/2, 3, 0, 1];

(3/10) [5, 0, 0, 6 ,

5] =

[3/2, 0,

0,

9/5, 3/2]; (1/5)

[10, 5, 0, 6 , 0] =

= [2, 1, 0, 6/5, 0]. На рис. 11.10 изображены 3 сети, которые обеспечивают выполнение соответственно 50, 30 и 20% всех тре­ бований к потоку, заданных на рис. 11.9.

Перейдем к изучению задач о многопродуктовом потоке мини­ мальной стоимости. Рассмотрим задачи, аналогичные (1) и (2), усложненные наличием дуговых стоимостей. Пусть каждой дуге i сети соответствует величина с; — стоимость перевозки по этой дуге единицы потока. Требуется перевезти заданное общее коли­ чество продуктов из источников в стоки с минимальными затра­ тами.

Пусть Ъ0 — заданное общее количество продуктов. Введем, как и в задаче (1 ), матрицу [ац] инциденций дуги-цепи и обозначим

через Xj величину потока,

пропускаемого по цепи /. Пусть стои­

мость перевозки

единицы

потока по

j-й цепи равна с*.

Тогда

задача заключается в минимизации

 

 

 

 

Z = 2

C*Xj

 

 

дри условиях

 

3

 

 

 

 

 

 

 

 

 

2 / ^0 = Ь0,

 

 

 

 

3

 

 

 

 

2

aijXj + S i = b i

(г = 1,

2,

( 3 )

S 0 , S j ^ ^ O j

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

245

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

Пусть для сети на рис. 11.8 заданы дуговые стоимости, пред­ ставленные на рис. 11.11. Пусть дуговые пропускные способности

будут такими же, как и на рис. 1 1 . 8 и требуется найти поток минимальной стоимости из Ny в N 3 и из N 2 в jV4 при Ь0 = 8 .

Начальная таблица, соответствующая задаче (3), представлена в табл. 11.5 (кроме трех правых ее столбцов).

В табл. 11.5 произвольным образом введены 3 столбца, соот­ ветствующие 3 цепям. Первая цепь содержит дугу г = 5 стоимо­ сти 4. Ей соответствует столбец [4, —1, 0, 0, 0, 0, —1] под пере­ менной Ху. Вторая компонента этого вектора равна —1: это коэф­

фициент при Ху в

уравнении — 2 х) +

so =

Вторая цепь

содержит дуги г =

3

 

 

с4 =

4 + 6 =

1 и i = 4 общей стоимости Су +

= 10. Она представлена столбцом [10, —1,

1, 0,

0,

1, 0]

под пере­

менной хг.

 

 

 

 

 

246

ГЛ. 11.

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

Так как табл. 11.5

не является прямо допустимой, мы введем

3 цепи, чтобы сделать

ее прямо допустимой.

В результате выпол­

нения

итерации симплекс-метода и введения

последовательно хи

Таблица 11.5

х2 и xs получим табл. 11.6. Заметим, что относительные оценки с* с* — яа*. Здесь каждый столбец имеет вид [ — 1, aj]. Поэтому

с* — яа* = с* — ( —я0, я4) [ — 1, а7] = —я0 + 2

(с* ~ пд ath гДе Ло

г

 

цена, стоящая под переменной sQ.

примененная к таб­

Следующая итерация симплекс-метода,

лице 11.6, приводит к табл. 11.7 (кроме крайнего правого столбца).

В

табл.

11.7

сг — я г

можно

интерпрети­

ровать

как длины дуг и искать кратчай­

шую цепь из

Ni

в N 3

или

из IV2 в А+

Имеем:

ct — Я1 =

4 + 0 = 4, с2

— я 2

=

= 5 + 0 = 5, с3 — я 3 = 7 + 0 = 7, с4

я4 =

6 +

2 = 8 ,

с5 я5 =

4 +

8 = 12.

Таким

образом, кратчайшая

цепь из

N i

в

N 3 имеет

длину 4 +

5 = 9 ,

а из

N 2

в

iV4 — длину 4 +

8

=

5 +

7 = 12. Сле­

довательно, мы вводим столбец [9, —1, 11,

О,

0, 0].

Этот столбец (после корректи­

ровки) записывается с правого

края в табл.

11.7.

После итера­

ции симплекс-метода таблица

превращается

в табл. 1 1 .8 .

 

После следующей итерации симплекс-метода табл. 11.8 пре­

вращается в табл. 11.9,

в которой

сх — я4 =

4 +

3 =

7, с2

— я 2 = 5 + 1 = 6 , с3 — я 3 = 7 + 0 = 7, с4 — я4 = 6 + 0 = 6 ,

1

■— z - 8 0

501

511/2

x3

5/2

S3

1/2

x 2

4

*1

5/2

 

 

Т а б л и ц а 1 1 .6

 

 

 

 

 

so

S1

s2

S3

s4

 

S5

 

x 2

x 3

0

0

—12

0

—10

 

—4

0

0

0

1

 

1 *

 

1

 

1

0

0

0

 

1

 

 

—1

 

 

0

0

0

 

 

1

 

 

 

 

0

0

1

 

 

1

1

 

 

 

0

0

0

 

 

 

 

1

 

 

0

1

0

 

 

 

 

 

 

1

1

0

0

 

 

Таблица 11.7

 

 

 

 

 

1

s0

Sj

s2

s3

s4

s5

x i

 

 

 

 

 

Таблица 11.8

 

 

 

1

«о

Si

S2

S3

s4

S5

— z - 6 6 ,5

12

3

 

 

- 1

8

s 2

1

1

 

1

 

1 *

1

x k

1 /2

 

1

 

 

—1

0

x 3

1

—1

—1

 

 

0

—1

S3

2

1

1

 

1

0

1

x 2

4

 

 

 

 

1

0

x {

5/2

 

 

 

 

0

1

 

 

 

Таблица

11.9

 

 

 

1

 

so

S1

s2 S3

s4

S5

— Z - 6 5 ,5

13

3

1

0

9

s4

1

 

1

 

1

1

1

x k

3/2

 

1

1

1

0

0

x 3

1

 

—1

1

 

0

—1

s3

2

 

1

1

1

0

1

x 2

3

 

—1

 

1

0

1

X i

5/2

 

 

 

 

.0

1

248

ГЛ.

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

с5 — я5 = 4 +

9 =

13. При таких длинах дуг в исходной сети

нет цепей из iVi в

N 3 или из

N 2 в 1V4, длина которых меньше 13.

Так как я 0 = 13,

то —л0 +

2

(с; — я г) ац ^ 0. Следовательно,

 

 

г

оптимальным.

полученное решение является

11.3. Синтез коммуникационных сетей (Гомори и Ху (91])

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

Обозначим через f pq величину потока из источника N р в сток N q, а через xft — поток по дуге Ац, текущий из источника N p в сток N q. Условие сохранения потока в узлах имеет вид

 

 

f p q ,

если

1

= Р ,

 

2 ^

- 2

* $

0 ,

если

j

ф р, q,

(1)

 

 

 

f p q ,

если

j

= q .

 

Обозначим через уц пропускную способность дуги Ац; тогда

должно выполняться

условие

 

 

 

 

 

 

2

для всех

 

i ,

]■

(2)

 

р ,

а

 

 

 

 

 

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

rpq (t) требуемую

величину потока из

N p в N q

в момент времени t. Условие, что сеть должна быть способна пропускать требуемые величины потоков в каждый момент вре­

мени, запишется в

виде

 

f p q > T p q (t )

для всех р, q и t = 1, 2 , . . ., Т .

(3)

Как и раньше, будем рассматривать два основных типа задач — анализа сети и синтеза сети. В задаче анализа сети заданы уц и rpq (t), требуется найти xtj, удовлетворяющие условиям (1 ) — (3).

Если при этом заданы дуговые стоимости, то требуется миними­ зировать общую стоимость при ограничениях (1) — (3). В задаче синтеза сети заданы rpq (t) и стоимости Сц построения дуг Ац единичной пропускной способности. Требуется найти уц, чтобы выполнялись ограничения (1 ) — (3) и общая стоимость построен­

ной сети 2 Сцуц была бы минимальна.

11.3. СИНТЕЗ КОММУНИКАЦИОННЫХ СЕТЕЙ

249

В реальных коммуникационных сетях требования rpq (t) зави­ сят от времени t, так как с течением времени меняется нагрузка сети. Трудность решения задач анализа и синтеза зависит от вида функций rpq (t). Рассмотрим 3 возможных случая.

Случай 1. Величины rpq (t) не зависят от времени; все требова­ ния к потокам должны выполняться одновременно.

Анализ сети для этого случая проводится в § 11.2 и заклю­ чается в решении задачи линейного программирования с большим числом переменных с помощью модифицированного симплексметода. Для получения столбцов, вводимых в таблицу, решается вспомогательная задача нахождения кратчайшего пути. В случае двухпродуктового потока задачу удается решить без привлечения аппарата линейного программирования (см. § 1 1 . 1 или [106]).

Синтез сети заключается в решении многополюсной задачи о кратчайшем пути (см. [111]). Используя величины ctj в качестве

длин,

находим кратчайшие цепи между каждой парой узлов N p

и N д.

Затем каждой дуге такой цепи приписываем пропускную

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

Случай 2. Величины rvq (t) зависят от времени, но весь период

времени Т может быть разбит

на отрезки, в течение

каждого

из которых в сети пропускается

поток только одного

продукта

между некоторой парой полюсов.

Анализ сети заключается в нахождении максимального (одно­ продуктового) потока между всеми парами полюсов. Для неориен­ тированных сетей решение имеет простую и наглядную форму

(см. гл. 9 или [89]).

Синтез сети, если сеть неориентированная и все ctj одинако­ вые, был рассмотрен в гл. 9. Если Сц различны, используется аппарат линейного программирования (см. [90]). Решается задача линейного программирования с большим числом ограничений. Для уменьшения размера симплексной таблицы запоминаются только строки, используемые при вычислениях. Для получения строк, вводимых в таблицу, решается вспомогательная задача о макси­ мальном потоке.

Случай

3. Величины rpq (t) произвольным образом зависят

от времени.

Этот случай является более общим, чем случаи 1 и 2.

Анализ сети. Если разбить весь период времени на Т различ­

ных отрезков, то получится Т систем неравенств типа (3), соот­ ветствующих каждому из отрезков. На каждом из них получается задача, рассмотренная в случае 1 1).

9 Если период Т разбит на такие мелкие отрезки, что rpq (г) можно считать на них независимыми от времени.— Прим, перев.

250

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

Синтез сети для этого случая будет здесь рассмотрен подробно. Обозначим через у = [г/i, г/2> • • У'т\ m-мерный вектор, )-я ком­ понента которого равна пропускной способности дуги j в некото­ рой сети, содержащей т дуг. Вектор у полностью описывает сеть, которую нужно синтезировать.

Обозначим через N' нг-мерный вектор, описывающий некоторую сеть, удовлетворяющую всем требованиям к потоку в момент времени t, г-я компонента вектора N* равна пропускной способ­

ности дуги i в этой сети. Ясно, что векторы N* образуют выпуклое неограниченное многогранное множество в m-мерном простран­

стве. Обозначим через N* крайние точки этого выпуклого множе­ ства. Тогда существует по крайней мере один оптимальный вектор

N4, который может быть представлен в виде

Nf = 2^ iN i ( 1 < 2 М ) ,

(4)

гг

где к\ ^ 0 .

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

содержала в себе сети N(, t — 1,

2, . . ., Т. Пусть с == [clt

с2, . . .

. . ., ст] — вектор дуговых стоимостей.

Тогда задача

синтеза

заключается в минимизации

 

 

 

при условиях

су

 

 

 

 

 

y > 2 M Nn

* = 1’

Г ’

 

г

 

 

(5)

 

 

 

г

Здесь у и к\ являются неизвестными. Векторы N* цредполагаются известными, а вектор с — заданным. В такой формулировке имеется (т-\ i)T строк и огромное число столбцов.

Перепишем (5) в следующем виде:

 

 

2 MIN', - 1 ] < [ у , - 1 ] ,

* = 1, 2, . . . , Т,

(6)

 

 

г

 

 

 

где

 

Из теоремы 1.3

(леммы Минковского —Фаркаша)

сле­

дует,

что

либо неравенство

Ах^ГЬ

имеет неотрицательное реше­

ние,

либо

неравенства

 

 

 

у А > 0 ,

уЬ < 0

11.3.

СИНТЕЗ КОММУНИКАЦИОННЫХ СЕТЕЙ

251

имеют неотрицательное решение. Другими

словами, неравенство

А х ^ Ь имеет неотрицательное решение

тогда

и

только тогда,

когда при любых я ^ О из яА ^ О следует,

что яЬ ^ О 1).

 

Применим эту

лемму к

группе из

т + 1

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

соответствующих

некоторому

конкретному

t =

k.

Получим,

что

эти неравенства 2

Щ[N^, — 1 ]^ [у , — 1 ]

имеют

неотрицательное

решение тогда и только тогда, когда существует неотрицательный

вектор (я£, я*),

такой, что

 

(я£,

я{|) [Nj1,

— 1 ]^ 0 при любых

г,

 

(я£, я|})[у,

1 ] > 0 .

(7)

 

 

Положим

=

— я*}, я '1 = (я*, я'г). Тогда (7)

эквивалентно

 

 

 

я к [№, 1 ] > 0 ,

(8)

 

 

 

 

 

 

 

Яь [у, 1 ] > 0 .

( 8' )

Здесь яй = (я^, я£), я * — неотрицательный m-мерный вектор, лк— неположительный скаляр.

Векторы я к = (лк, л к), удовлетворяющие условиям (8 ), обра­

зуют выпуклое неограниченное многогранное множество, имеющее конечное число крайних точек я*, я*, . .., я£, так что любой

вектор я ь, удовлетворяющий (8 ), может быть выражен как поло­

жительная комбинация векторов я£. Следовательно,

ограниче­

ния (8 ')

можно рассматривать не для всех векторов л к,

а лишь для

крайних

точек:

 

 

 

 

 

 

 

л) [у, 1 ] > 0 ,

/ = 1 , . . . ,

q(k).

 

Повторяя

эти

рассуждения

для всех

моментов времени t =

= 1, 2,

. . .,

Т,

получим, что задача (5)

может быть переформу­

лирована следующим образом:

 

 

 

минимизировать су при условиях

]) Этот результат может быть также получен из теоремы двойственности. Условие, что неравенство Ах Ь имеет неотрицательное решение, эквива­ лентно тому, что равно нулю оптимальное решение следующей задачи линей­

ного программирования: минимизировать £ =

2

xi ПРИ условиях 1х“ + Ах +

+ Is

= b, х ^

0. Двойственная ей задача имеет вид: максимизировать я'Ь

при

условиях

1я'

1, я'А < 0, я'

0.

Полагая я' = — я, получим:

минимизировать

яЬ

при условиях яА

0,

я

^ 0.

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

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

можно было бы записать все я], то задача (9) решалась бы как обычная задача линейного программирования. Следовательно,

вся трудность заключается в получении векторов я,t-, являющихся векторами коэффициентов тех неравенств, которые используются в вычислениях.

Задачу (9) можно решать двумя методами — двойственным и прямым.

Сначала рассмотрим двойственный метод. Он состоит из двух частей — основной и вспомогательной. В основной части исполь­ зуется таблица двойственного симплекс-метода; вычисления начи­ наются с получения двойственно допустимого базиса и соответ­ ствующего двойственно допустимого у. С помощью вспомогатель­ ной части формируются неравенства, используемые в основной части.

Двойственный метод состоит из следующих шагов:

1)Выбор строки: среди неравенств (9) выбирается то, которое не удовлетворяет текущему значению у.

2)Выбор столбца, осуществляемый по обычным правилам двойственного симплекс-метода.

3)Выполнение преобразований Гаусса применительно только

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

Шаги 2 и 3 представляют собой обычные шаги модифицирован­ ного симплекс-метода, а шаг 1 обладает специфическими осо­

бенностями.

Вычисления в основной части могут быть начаты с любого двойственно допустимого вектора у (например у = [0 , 0 , . . ., 0 ],

который является двойственно допустимым, так как по условию задачи с > 0). Поскольку в самом начале еще не получены нера­ венства, формируемые во вспомогательной части, то в основной части пока нельзя осуществить итерацию двойственного симплексметода. Тогда переходим к вспомогательной части, где решается следующая задача:

максимизировать

i

при условиях

y > 2 ^ i - Ni, i = i, .... g(fc).

(10)

Здесь вектор у — фиксированный двойственно допустимый вектор, полученный в основной части; t = к фиксировано; вели­

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