Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 232
Скачиваний: 0
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 = к фиксировано; вели
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,