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

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

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

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

Добавлен: 15.10.2024

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

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

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

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 (г) можно считать на них независимыми от времени.— Прим, перев.