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

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

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

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

253

чины Xi являются

неизвестными. Вычисления можно

начинать

 

-vrk

 

с любой допустимой сети

.

 

При решении задачи (10) возможны 2 исхода:

1.Величина 0 ^ 1 при фиксированном к. Это означает, что текущее значение у представляет собой сеть, допустимую для периода времени t = к. Если 0 ^ 1 при всех t, то, значит, у содержит в себе сеть, допустимую для всех t. Следовательно, у является и двойственно допустимым, и прямо допустимым, т. е. является оптимальным решением.

2.Найден т-мерный вектор относительных оценок я15 который

является решением задачи, двойственной к (1 0 ):

л ч у = 0 <

1 ,

rtt. N i > l

(для всех £, так как все коэффициенты при Х\ равны 1 ).

Обозначим яй = (я£, — 1). Легко видеть, что

я й[у, 1 ] < 0 и ttft(№, 1 ) > 0 . (И)

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

Заметим, что задача (10) представляет собой задачу линейного программирования очень большой размерности, так как каждой сети N* соответствует свой столбец. Эти столбцы можно получать

следующим образом. Выберем слабые переменные и несколько произвольных N* в качестве базиса. Найдем из (10) оценки дуг

я j относительно этого

базиса. Вектор

N не входящий в базис,

следует ввести в базис,

если я 4]Ч{ ^ 1.

Следовательно, нам нужно

найти столбец, для которого величина

я ^ ? минимальна. Но эта

задача есть задача синтеза сети, рассмотренная выше в случае 1 .

Оценки Я] можно рассматривать как длины дуг, и для получения столбца Nf можно воспользоваться методом нахождения крат­ чайших путей между всеми парами узлов (см. [1 1 1 ]).

Итак, двойственный алгоритм решения задачи (5) состоит из двух частей. В основной части используется модифицированный двойственный симплекс-метод для решения следующей задачи:

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

я ‘у > 1 , £ = 1 , . . . , Т, i = l,

254

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

где коэффициенты неравенств зт*у ^ 1 получены либо из вспомо­

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

Во вспомогательной части применяется модифицированный прямой симплекс-метод для решения задачи (1 0 ), где у — вектор,

Р и с . 11.12.

полученный в основной части. Чтобы получить столбец N*, кото­ рый следует ввести в базис для увеличения 0 , используется алго­

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

ся оптимальной. Если после конечного числа итераций модифици­ рованного симплекс-метода получится, что л^у = 0 < 1 и rtiN* ^

^1 для всех N{, то неравенство л^у ^ 1 следует ввести в основ­

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

Рассмотрим численный пример. На рис. 11.12 (а) представлена нумерация дуг сети, на рис. 1 1 . 1 2 (б) заданы стоимости дуг еди­

ничной пропускной способности. Требования к потоку в течение

двух периодов времени указаны на рис. 11.13.

Д 1,

в которой

Основная часть. Вычисления начинаются с табл.

у = [0 , 0, 0, 0, 0 ]. Воспользуемся неравенством г/i

+

г/4 + Уь ^

^8 , получающимся из того факта, что сумма требований к потоку

вузле N\ в 1-й период времени равна 3 + 1 + 4 = 8 . Это нера­

венство записано в нижней строке таблицы. Ведущий элемент помечен «*». В результате итерации симплекс-метода получается

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

255

табл. Д2 (за исключением нижней строки). Затем добавим нера­ венство — 8 + г/2 + У з + У ъ = v2 0, полученное из рассмотре­

ния потоковых требований в узле N 3. Чтобы выразить это нера­ венство через текущие небазисные переменные —щ, —у 2, у з>

yk, 1/3, заменим верхнюю строку таблицы Д2 на (1, 0, 0, 0, 0, 0),

а

затем

умножим матрицу, записанную в

табл.

Д2,

слева

на

( — 8,

0,

1, 1, 0, 1). Получается неравенство — 8

+ г/ 2 +

У з +

Уъ

=

=

v2 ^

0,

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

в нижнюю

строку табл. Д2.

 

 

 

 

Таблица Д1

 

 

 

 

Таблица Д2

 

 

 

 

 

1 - у 1 - г/ 2 -У з - г/4 -Уъ

 

1 - ь \ - У г -У з -гм -Уъ

 

Z

 

0

4

5

7

6

4

Z - 3 2

4

5

7

2

0

 

 

У1

 

0

- 1

0

0

0

0

У1

8 - 1

0

0

1

1

 

 

Уг

 

0

0

- 1

0

0

0

Уг

0

0

1

0

0

0

 

 

Уз

 

0

0

0

- 1

0

0

Уз

0

0

0

- 1

0

0

 

 

г/4

 

0

0

0

0

- 1

0

г /4

0

0

0

0

1

0

 

 

У5

 

0

0

0

0

0

- 1

Уъ

0

0

0

0

0 - 1

 

 

и1

- 8

- 1*

0

0

- 1

- 1

1’2

- 8

0

- 1

- 1

0

_

 

(Заметим, что в этом частном случае скорректированное неравен­ ство имеет тот же вид, что и исходное. Не следует ожидать, что так будет и в общем случае.)

Продолжим вычисления. Рассмотрим потоковые требования к узлам АД и N 2, что даст нам неравенства у 3 + г/ 4 — 7 = v3 ^ 0 и 2/i + Уг — 7 = у4 ^ 0. Затем получим табл. ДЗ (за исключением

нижней строки).

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

256

ГЛ.

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

 

 

 

Таблица ДЗ

 

 

 

 

1

~Vi

—Уз

v4

- v 3

—V2

 

Z

-8 1

3/2

0

5/2

9/2

5/2

 

У1

7

0

1

—1

0

0

 

Уз

0

0

1

0

0

0

 

Уз

7

1/2

1

- 1 /2

- 1 /2

-1 /2

 

У4

0

- 1 /2

- 1

1/2

- 1 /2

1/2

 

У5

1

—1/2

0

1/2

1/2

- 1 /2

 

v5

—8

- 1

_ 2 *

1

0

0

Вспомогательная часть начинается с использования табл. В1, где из слабых переменных формируется исходный базис. В самом начале все относительные оценки (которые появляются в верхней строке таблицы под слабыми переменными st, . . ., s5) равны нулю. Поэтому любая допустимая сеть может служить улучшаю­

щим столбцом. В

частности, можно взять сеть, обозначенную

в табл. В1 через A.J.

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

получаются ненулевые относительные оценки, которые записы­ ваются в верхней строке табл. В2. Используя полученный вектор относительных оценок [0, 1/4, 0, 0, 0], можно найти самую деше­ вую сеть [7, 0, 3, 4, 5], которая выражается через текущие пере­ менные и записывается в крайнем правом столбце табл. В2.

Далее выполняются следующие итерации симплекс-метода и находятся еще две улучшающих 0 допустимых сети, которые

представлены в табл. ВЗ и В4. Заметим,

что столбец был скор­

ректирован перед добавлением в табл.

ВЗ.

 

 

0

0

0

1

o " “ - Г

“- Г

 

4

 

 

 

 

 

 

 

0 1

1

0 - 7 /4 0

3

7

0

0

1/4

0

0

0

4

1

0

0

0

1

- 3 / 4

0

7

7

0

0

- 1 /4

0

1/4

0

0

- 1

_0

0

1

0 - 5 /4 1_

5_

9_

В табл. В5 получается вектор относительных оценок [0, 1/9, 0, 1/9, 1/9]. При таких оценках не существует вектора N*, чтобы

выполнялось rtN,- < 1 , а яу =

[0, 1/9, 0, 1/9, 1/9] *[7, 0, 7, 0, 1] =

= 0 = 1/9. Следовательно

неравенство

1

, 1

1

ЯУ — ~g~ Z/2 + -д" У4 “Г "д" Уъ ^ 1

 

 

 

 

Таблица В1

 

 

 

 

l

«1

s2 S3 s4

S5

К

 

Ц

 

0

0 0 0 0 0 0 -1

 

-1

Sl

7

 

1

 

 

 

3

 

 

 

s2

0

 

 

1

 

 

4*

 

 

s3

7

 

 

1

 

3

 

 

 

s4

0

 

 

 

1

 

4

 

 

 

*5

1

 

 

 

 

1

1

 

 

 

 

 

 

 

Таблица B3

 

 

 

 

1

Si

S2

S3

 

4

S5

 

К

e

0 0 0 0

1 / 4

0 -1

S<

7

 

1 1 0 - 7 / 4

0

 

7

xli - 0 0 1 /4

0

 

0

0

 

1*

«3

7

 

0 0 1

- 3 / 4 . 0

 

7

X*

0 0 - 1 / 4 0

 

1 /4

0 -1

2

 

 

0 1

0 - 5 / 4

 

 

 

s5

1

 

1

 

9

 

 

 

 

Таблица В5

 

 

 

 

1

 

si

 

s2

S3

 

«4

 

s5

0

1/9

0

 

1/9

0

 

1/9

 

1/9

Sl

56/9

1

 

2/9

0

-

7/9

-

7/9

^3

0

 

0

 

1/4

0

 

0

 

0

56/9

0

 

7/9

1 .

2/9

 

7/9

S3

-

-

к

0

 

0

 

0

0

 

1/4

 

0

к

1/9

0

-

5/36

0

-

5/36

 

1/9

 

 

 

Таблица В2

 

 

 

1

Sl

 

s2

*3

s4

«5

К

0

0 0 1 /4

0 0 0 --1

Sl

7

1 - 3 / 4

0 0 0 7

 

0

0

 

1 /4

0

0

0

0

S3

7

0 - 3 / 4

1 0 0 3

S4

0

0.

- 1

0

1

0

4*

s5

1 0 - 1 / 4

0 0 1 5

 

 

 

Таблица B4

 

 

 

1

Sl

s2

S3

s4

S5

К

0

0 0 1 /4

0 1 /4

0 -1

Si

7

1 - 3 / 4

0 - 7 / 4

0

7

 

0

0

1 /4

0

0

0

0

S3

7

0 - 7 / 4

1 - 3 / 4

0

7

*2

0

0

0

0

1 /4

0

0

s5

1

0 - 5 / 4

0 - 5 / 4

1

9*

 

 

 

Таблица Д4

 

 

 

1

 

 

~ v5 ~Vi

- v 3

- v 2

— z

- 8 1

 

3 /2 ' 0

 

5 /2

9 /2

5 /2

2/1

3

- 1 / 2

1/2

- 1 / 2

0

0

2/2

4

 

1/2

- 1 / 2

- 1 / 2

0

0

2/3

3

 

0

1/2

0

- - 1 / 2

- 1 / 2

2/4

4

 

0

- 1 / 2

0

- - 1 / 2

1/2

2/5

1

- 1 / 2

0

1/2

1/2

- 1 / 2

”6

- 3

_

1

 

0

0

- 1

Таблица Д5

 

1

—ve

—v5

—Vi

— ”3

—v2

— z

- 8 5 , 5

3 /2

 

3 /2

5 /2

.9/2

5 /2

2/1

9 /2

- 1 / 2

 

0

— 1/2

0

1/2

2/2

5 /2

1/2

 

0

- 1 / 2

0

— 1/2

2/3

3

0

 

1/2

0

— 1 /2

- 1 / 2

2/4

4

0

- 1

/ 2

0

- 1 / 2

1 /2

2/5

5 /2

- 1 / 2

- 1

/ 2

1/2

1/2

0

17 т. Х у

258

ГЛ. 11.

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

 

 

 

4 не выполняется

при

текущем значении у.

Это

неравенство

представляется в следующем виде: v5 = —9 +

у2

+

+

г/s ^ О,

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

в

нижней

строке

табл.

ДЗ. После 'выполнения итерации симплекс-метода получаем

табл.

Д4.

4, 1],

представленная в табл.

Д4, удовлетворяет

Сеть [3, 4, 3,

потоковым требованиям в 1-м периоде. Это следует из вычислений, проведенных во вспомогательной части. Теперь нужно проверить, удовлетворяет ли она потоковым требованиям во 2 -м периоде.

Заметим, что эту сеть [3, 4, 3, 4, 1], удовлетворяющую потоковым требованиям в 1 -м периоде, легко можно было бы получить, если использовать стоимости, заданные на рис. 1 1 . 1 2 (б) и решать

многополюсную задачу о кратчайшем пути. Но для того, чтобы удовлетворить потоковым требованиям в течение нескольких перио­ дов времени, требуется иметь табл. Д4. Используя вектор у =

=[3, 4, 3, 4, 1], теперь снова переходим к вспомогательной части

ипроводим вычисления, аналогичные представленным в табл. В1 —

В5.

В

результате получаем вектор я = [1/10,

0,

1/0,

0, 1/10]

и

0 =

7/10. Затем неравенство ve — —10 +

У\ +

Уз +

Уъ О

корректируется и записывается в нижнюю строку табл. Д4. Применяя итерацию симплекс-метода к табл. Д4, получаем табл. Д5.

В табл. Д5 у = [9/2, 5/2, 3, 4, 5/2]. Используя этот вектор, снова переходим к вспомогательной части, проводим вычисления для 1-го и 2-го периода и получаем 0 1. Таким образом, у является оптимальной сетью общей стоимости 85,5, как показано

в табл. Д5.

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

Ша г 1. Выбрать столбец, который приводит к улучшению общей стоимости.

Ша г 2. Выбрать строку как в прямом симплекс-методе.

Ш а г 3.

Выполнить преобразования Гаусса применительно

к обратной

матрице.

Шаги 1 и 3 выполняются обычным образом. Шаг 2 является более трудным, поскольку здесь требуется найти, какое из огром­ ного числа неравенств (9) будет нарушено первым, когда некоторая текущая небазисная переменная возрастает от нуля.

11.3.

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

259

Положим, что

у0 — некоторая прямо допустимая сеть,

yt —

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

на 0у^. Выбор строки заключается в нахождении максимального значения 0 и неравенства (9), таких, что:

а)

Уо + 0шахУ1

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

всем неравенствам (9)

для

О < 0 <

0шах;

 

 

 

б)

JT^ (уо -\~0уь

1) О ДЛЯ всех

0 0тах*

 

Для нахождения 0 и я* для каждого момента времени t

ре­

шается задача линейного программирования:

 

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

 

 

при условиях

 

 

 

 

 

Уо + 0У 1 > S ^ i N ‘ ,

 

 

 

 

\

 

 

 

i < 2

a.‘.

 

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

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

при условиях

— 0У1 + 2^Л ^У о»

Заметим, прежде всего, что задача (12) всегда имеет ограни­ ченный максимум, поскольку неограниченность 0 привела бы

к существованию допустимой сети с отрицательной общей стои­ мостью.

Решив задачу (12) для некоторого заданного t, получим 0тах-

Тогда относительные оценки строк (л(, п‘0) будут удовлетворять следующему условию:

(«!. яо) [Уо> — 1] = 0^ах.

(13)

и, кроме того, произведение (я|, nj) на любой столбец в левой части (1 2 ) будет не меньше, коэффициента при переменной, соот­

ветствующей этому столбцу. В частности, для 1-го столбца

(я|, ^ )[у ь 0 ]> 1 .

(14)

Умножая (14) на 0 и вычитая из (13), получаем

(я|, iiJ)[[yo, — 1] + 0[У1. О]]<0тах — 0,

17*

260

ГЛ .

11.

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

 

или, по-другому,

 

 

 

 

{я\,

Я*) [УО + 0У1, — 1]< 0 тах --0 -

(15)

Если

величина

0шах получена из (12), то сеть yo +

0yi является

прямо допустимой для О<0-<0тах- Следовательно, если вели­

чина 0т ах найдена из

(1 2 ) при рассмотрении потоковых требова­

ний в t-м периоде, то

максимальное значение 0 , конечно, равно

0шах,== min 0щах-

t

С другой стороны, нам нужно показать, что существует вектор относительных оценок я, такой, что я [у0 + 0 у15 1 ] < 0 при

9 > 0тахТак как мы выяснили в (7), что для всех допустимых

сетей я [N*, —1] ^ 0, то это означает, что я [у,

—1] >

0 являет­

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

решения.

Из (15)

видно, что (я*,

,я‘) — искомый вектор

относительных оценок,

так как правая

часть (15) отрицательна

при 0 > 0тах.

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

часть решает задачу (1 2 ),

где у0 и у4 задаются основной частью.

В результате вычислений

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

0тах и вектор относительных оценок я*. Если вспомогательная часть выполнена для всех периодов времени, то получаем 0тах

ивектор относительных оценок я. Затем связывающее неравенство

я[у, —И > 0 добавляется в основную часть. Алгоритм заканчи­ вается, когда в основной части больше нет улучшающих столбцов.

Решим рассмотренный выше пример прямым методом. Прямой

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

длительным.

допустимую

сеть

легко получить,

положив

у и

=

Прямую

= max rtJ (t)

для всех

i, j.

В нашем примере

условие

г6 =

3

1

принимает вид = 3 и г4 = 3. Следовательно, исходная допусти­ мая сеть имеет вид у0 = 15, 4, 3, 4, 2]. Для получения исходного

базиса введем переменные ut (i = 1, . . ., 5), которые не ограни­ чены по величине и определяются следующим образом:

i/i =

5 — щ ,

2/г =

4 — 1^2,

у з = 3 и з ,

2 /4 =

4

Uб 4=,

2 2/

K 5 .

Это преобразование дает исходную таблицу П1 для основной части. Ясно, что если любая из переменных ut возрастает от нуля,

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

261

 

 

Таблица 111

 

 

 

 

 

 

 

\

 

 

 

 

1 — Uj — U 2 U 3 — Ц4 — W5

 

— Z

- 9 3 - 4

- 5

- 7

- 6

- 4

 

Vi

5

1

0

0

0

0

 

Уг

4

0

1

0

0

0

 

Уз

3

0

0

1

0

0

 

У4

4

0

0

0

1

0

 

Уь

2

0

0

0

0

1

 

то стоимость улучшается. Пометим и3 стрелкой для обозначения,

что выбрана именно эта переменная. Следовательно, нам нужно

решить задачу (12),

где у0 = [5, 4,

3, 4,

2], у4 = [0,

0, 1 , 0 , 0].

Будем пользоваться

вектором [у0,

+ 1]

вместо [у0,

—1]. Тогда

в столбце под переменной se будет стоять —1 , и мы получим

табл. ВП1 (кроме самого правого столбца). В таблице ВП1 все относительные оценки равны 0 и мы получим сеть [3, 4, 3, 4, 1] в качестве самой дешевой сети в 1-м периоде. Этот вектор расши­ ряется до [0, 3, 4, 3, 4, 1, 1] и добавляется в табл. ВП1. Так как в табл. ВП1 стоит —1 в столбце под s6, то эта таблица не является начальной. Выберем ведущий элемент, помеченный звездочкой, и выполним итерацию симплекс-метода. Тогда получим начальную табл. ВП2.

В табл. ВП2 столбец под 0 является улучшающим, так как он обладает отрицательной стоимостью. Применяя итерацию сим­ плекс-метода (ведущий элемент табл. ВП2 помечен звездочкой), получаем табл. ВПЗ (кроме самого правого столбца).

Используя относительные оценки из табл. ВПЗ, т. е. (0, 0, 1, 0 , 0 ), найдем самую дешевую сеть, удовлетворяющую потоковым

требованиям в 1-м периоде: [3, 4, 0, 7, 4]. Расширим этот вектор до [0, 3, 4, 0, 7, 4, 1] и скорректируем его перед записью в самый правый столбец табл. ВПЗ. Итерация симплекс-метода по отно­ шению к табл. ВПЗ приводит к табл. ВП4.

Используя относительные оценки из табл. ВП4, можно заклю­ чить, что не найдется сети у, для которой (0, 0, 1, 1, 0, 7)-[yi —

— 1] <

0. Отсюда, связывающее неравенство имеет вид у 3 + у4

— 7 =

vt > 0, и б'шах = 0.

Действуя обычным образом, для нахождения связывающего

неравенства и 0тах

в0 2 -м периоде можно было бы снова про­

вести вычисления,

как в табл. ВП1—ВП4. Затем можно было бы

выбрать 0max = min (0т ах, 0тах) и соответствующее ему связываю­

щее неравенство.

Однако в нашем примере 0тах = 0, и поэтому не надо повто­ рять вычисления. Запишем неравенство у 3 + у4 — 7 = v{ ^ 0

 

Таблица B ill

 

 

 

 

Таблица ВЦ2

 

 

 

1

0

*4 ^2 ^3 ^4

^5

^6 4

 

1

0

S( S2 S3 S4

S5

Sg

0

- 1

 

 

0

0'

0

- 1

 

 

0

0

5.

0

1

 

3

*1

2

0

1

 

3

0

4

0

1

 

4

S2

0

0

1

 

4

0

3

1

1

 

3

S3 0

1 *

1

 

3

0

4

0

1

 

4

«4

0

0

1

 

4

0

2

0

 

1

1

«5

1

0

 

1

1

0

1

0

 

 

— 1. 1 1

4

1

0

 

—1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица ВПЗ

 

 

1 0

Sl S2 s3 s4 s 5

s 6

4

0

0

 

1

 

3

- 3

2

0

1

0

 

3

0

0

0

1

0

 

4

0

0

1

 

1

 

3

—3

0

0

 

0

1

4

3 *

1

0

 

0

1

1

3

1

0

 

0

 

1

1

Таблица П2

1 — — u3 ——u3 — u4 — u3

Таблица ВП4

1 0 s, i 2 s3 s4 s5

s6 Xf

Таблица ПЗ

^

1 — U\ — W2 — '—"U4 — u 3

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