Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 226
Скачиваний: 0
314 ГЛ. 15. СМЕШАННЫЙ АЛГОРИТМ
Если требуется, чтобы xs было целым и^ is ^ /го, то из (14) получим
|
«io = «io —■YL ais = [ai0], |
если |
ais = |
fis, |
|
||||
|
|
|
/ is |
|
|
|
|
|
|
|
a'io = ai0 — ^ - a is< [ a i0], |
если |
ais> f is. |
|
|||||
|
|
|
Tis |
|
|
|
|
|
|
Если требуется, |
чтобы xs было целым и /,s > |
/ген |
т° из (14) следует |
||||||
|
&г0 — #г0■ |
__/го |
a i |
= «го—( 1 —/го) 1 —/г |
(15) |
||||
|
/ ; о / ( 1 - |
Ы |
1 - / |
||||||
Если |
0<£E;S< 1 ,, т. е. |
ais — fis, |
и |
поскольку |
-J-Щ— < • |
^IS |
|||
то из |
(15) получаем |
|
|
|
|
|
1 —/го ^ |
1 —/гв ’ |
|
|
|
|
|
|
|
|
|||
|
|
« 1 0 |
«го |
/го = |
[«гоЬ |
' |
|
|
|
Если |
— l < a ; s < 0 , т. |
е. ais = fis — 1, то из (15) следует |
|
||||||
|
«ю = «го— ( 1 —/го) |
f— = [«го! + 1 - |
|
||||||
Если |
1 < а гз, то |
равенство (15) принимает вид |
|
|
|||||
|
«10 = «го—/го |
• 7 |
^- < |
«го—/го = |
[«го1• |
|
|||
Если ais<i — 1, |
из (15) |
получим |
|
|
|
|
|
||
|
«го > «го-— ( 1 — /го) ( — |
|
= «го“Ь —/го) = [«го] + 1 - |
Только что было доказано, что элемент ai0 производящей строки после одной итерации либо увеличивается до следующего целого, либо уменьшается до ближайшего, не превосходящего его целого значения. Чтобы доказать конечность, кроме обычного предположения о существовании нижней границы для оптималь ного значения z, необходимо сделать дополнительное предполо жение о том, что оптимальное значение z должно быть целочис ленным. В исходной таблице расположим в верхней части все т! ограничений, левые части которых подчинены требованию цело
численное™, а под ними — остальные |
ограничения. В силу сде |
|||
ланного выше предположения ain (i |
= |
0 , 1 , |
. . ., т') должны |
|
быть целыми, поэтому |
первые т! + |
1 |
строк |
могут выступать |
в роли производящих. |
Поскольку а\ |
лексикографически умень |
шается на каждой итерации и элемент ai0 производящей строки уменьшается или увеличивается до следующего целого, а00 не мо жет уменьшаться бесконечно и при этом оставаться больше пред полагаемой нижней границы. Поэтому а00 должно оставаться
постоянным для всех t > t0. Таким образом, через конечное число
15.2. МЕТОД РАЗБИЕНИЯ |
315 |
шагов в качестве производящей строки будет выбираться первая, если а10 нецелое. Тогда а10 не может увеличиться до ближайшего целого для t 3> t0, поскольку это противоречило бы лексикографи ческому уменьшению столбца а* (я00 остается неизменным для t > t0). Следовательно, после определенного числа шагов а10
также должно стать фиксированным целым числом. Подобным
же образом можно рассмотреть |
вторую, |
третью и, |
наконец, |
(mr + Т ) строку, пока все ai0 |
(i — 0 , 1 , |
. . ., т') |
не станут |
целыми. |
|
|
|
15.2. Метод разбиения в смешанном целочисленном программи ровании (Бендере [18])
Рассмотрим смешанную задачу целочисленного программи
рования: |
|
|
|
минимизировать |
|
|
|
Z = |
CjX +_ С2у |
|
|
при условиях |
|
|
|
Atx + |
А 2у > |
ь, |
(1) |
X, у > 0, |
y s O |
(mod 1), |
|
т. е. требуется, чтобы только компоненты вектора у были целыми. Для заданного значения у задача (1) примет следующий вид:
минимизировать
ctx х)
при условиях |
|
х ^ 0. |
(2) |
А4х 3> b — А 2у, |
|||
Задача (2) является обычной задачей линейного программи |
|||
рования. Выпишем двойственную задачу к (2): |
|
||
максимизировать |
|
|
|
U (Ь — А 2у) |
|
||
при условиях |
ct, |
и Зз 0. |
(3) |
uAt ^ |
|||
Отметим два интересных свойства задачи (3). Во-первых, |
|||
область допустимых решений, |
определяемая условием uAt ^ |
с1? |
не зависит от у. Во-вторых, вне зависимости от величины у макси мум линейной формы и (Ь — А 2у) всегда достигается в одной
из вершин выпуклого многогранника, определяемого условием uAt ^ сь в предположении, что это множество ограниченное. Пусть up (р — 1, . . ., Р) — произвольная вершина этого выпук
лого |
многогранника. |
Тогда задачу (3) можно переписать в виде |
х) |
Д л я заданного у |
слагаемое с2у является константой и может быть |
опущ ено.— П р и м . р е д . |
|
316 |
ГЛ. 15. СМЕШАННЫЙ АЛГОРИТМ |
|
максимизировать |
|
|
|
ир (Ь — А 2у) |
(3'> |
при |
условиях |
|
|
ир ^ О (р — 1, . . |
Р). |
Если задача (3) не имеет допустимых решений, то по теореме двойственности задача (2 ) либо не имеет допустимых решений,,
либо целевая функция на множестве допустимых решений неограничена. Если у задачи (3) нет конечного оптимального решения,, то задача (2) не имеет допустимых решений. И в том и в другом случае задача (1 ) не имеет конечного оптимального решения.
‘Поэтому нас интересует лишь тот случай, когда задача (3) обла дает оптимальным решением. Следует заметить, что в этом случае выпуклое множество, определяемое условиями uAi ^ с4, и ^ О,
непусто, но необязательно ограничено. |
Вполне возможно, что |
|||
на неограниченном |
множестве |
{u | uAj ^ |
щ, и ^ |
0} для опре |
деленных значений |
(Ь — А 2у) |
целевая |
функция |
и (Ь — А 2у) |
неограничена, однако оптимальная вершина, связанная с опти мальной величиной у, имеет конечные координаты. Такая ситуа ция показана на рис. 15.1, где кружком обозначена оптимальная вершина, а выпуклое множество неограничено.
В случае когда и принимает неограниченные значения для определенных значений (Ь — А 2у), можно добавить к ограниче
ниям uAi ^ с4, и ^ 0 еще одно: 2 ui ^ М, где М — достаточно большая положительная константа. Такое ограничение показано на рис. 15.1 пунктирной линией.