Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 216
Скачиваний: 0
336 |
|
ГЛ. |
16. |
ЦЕЛОЧИСЛЕННОЕ |
ПРОГРАММИРОВАНИЕ |
|
|||||||||
Применив |
это |
преобразование |
к |
линейной |
форме а00—a0ix1 — |
||||||||||
— d02x2— . .. — а0пхп, |
получим |
|
|
|
|
|
|
|
|||||||
|
|
|
^ 00 |
a 0iX i . |
* |
• • |
&or%r |
• |
• • |
|
&0n%ni |
|
|||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
« 0 0 |
— « 0 0 |
|
Po«Orj |
|
|
|
|
|
|
||
|
|
|
|
«о; = a 0j |
+ P j d o r |
(для |
j Ф |
|
г ) , |
(2) |
|||||
|
|
|
|
aor — |
г» |
|
|
|
|
|
|
|
|
|
|
Заметим, |
что |
если |
pj |
и |
a0j |
|
( /= |
0, 1, |
п) —целые, |
то |
|||||
д0у- (/ = 0 , 1 , |
. . ., п) —тоже целые. |
|
|
|
|
|
|||||||||
Квадратичная |
форма —6S (asixi + . . . + |
asnxn)2 после преобразо |
|||||||||||||
вания |
(1) |
перейдет в |
— bs (aSiX1-\- |
.. . -\-азпхпф p0aSr)2, где |
|
||||||||||
|
|
|
|
a Sj |
= |
a sj |
+ a STP i |
(для |
/ Ф |
г ) , |
(3) |
||||
|
|
|
|
&sr — &sr* |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
Или, переписав более подробно, получим |
|
|
|
||||||||||||
— bs (asix i |
|
|
dsnx n |
p0dsr)2 = |
|
— bs ( f l s i ^ i |
- | - |
|
|||||||
4 |
• • ■^ ds„xn)2— 2bsp0asr (drlxl + |
. . . ± |
asnxn) — bs {p0dsr)2- |
(4) |
Уравнение (4) выражает результат преобразования (1), произ веденного над одной строкой, т. е. —bs (Ls (х))2. Для того чтобы выразить параболическое ограничение типа (8 ) в § 16.1 через
новые переменные xj, воспользуемся таблицей 16.3, где
|
|
|
h |
|
^ |
|
|
|
ао о ~ аоо— 2 bs (Poasrf, |
|
|
||||||
|
|
$=1 |
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
a'oj = |
aoj — 2 |
2 |
bsp0dSTaSj |
(/ = 1, |
(5) |
|||
|
|
|
S = i |
|
|
|
|
|
&ij = |
dij |
(£, |
j = |
1, |
• • • j |
|
|
|
|
|
|
|
Таблица 16.3 |
|
|||
|
1 |
- X i |
— |
x2 |
. .. |
... |
xn |
|
|
a '00 a'01 |
a'02 |
. .. |
••• “On |
|
|||
|
0 |
a' |
a' |
... |
■■■ |
“in |
b i |
|
|
|
и |
|
12 |
|
|
||
|
0 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
0 |
ahl |
a'h2 |
|
••• “ftn |
b k |
3 38 |
ГЛ. 16. ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ |
Ш а г 4. Использовать отсечение Гомори в качестве ведущей строки, а ведущим элементом взять (—1 ), после чего преобразовать
все строки так, как если бы это были линейные ограничения. Для параболического ограничения получим
^00 |
а01 |
• • • I |
• ■■у |
а 0п |
|
«10 |
«11 |
• ■• > |
• *• » |
«1гс |
bi |
a h0 |
a h i |
• ■• » |
• * * j |
«fen |
bk |
где ai0 (i |
= 1 , . . ., |
к) не могут быть |
нулями. |
Ш а г |
5. Восстановить таблицу в |
стандартном виде, исполь |
|
зуя соотношения (5) |
из § 16.3. Вернуться к шагу 1. |
16.5.Примеры
Решим два числовых примера, прежде чем дать доказатель ство конечности. Рассмотрим задачу
максимизировать
Z = — 3^! — Х 2
при условиях
—3 - (—6*! + 2х2) — ж* > О,
—16 — (—5xi |
— 5х2) — (Xi — х2)2 ^ О, |
хи |
х2 ^ 0 (целые). |
Запишем задачу :в табл. 16.4 (ч—и f обозначают производящую строку и ведущий столбец соответственно). После преобразования получается табл. 16.5. Чтобы восстановить таблицу в стандартной форме, вычислим
а'00= «оо — 2 |
|
( Р о « м ) 2 = |
3 — |
1 ( — 1 • l ) 2 = 2 , |
||
flot = «01 — 2 |
2 |
bsp0asl’asi = |
—6 —2 - 1 ( — 1 ) (1 ) (1 ) = —4, |
|||
o-Q2 —« 0 2 — 2 |
^ |
bsPodsidsr — 2 |
2 * 1 ( |
l ) - l - 0 = 2 . |
||
Подобным же образом для |
второго параболического ограничения |
|||||
|
аоо= — |
1 1 |
— 1 |
( — 1 • 1 ) 2 |
= — 1 2 , |
|
|
«01= - 5 |
— 2 - 1 |
( — 1 )*1 |
2'= —3, |
||
|
«о2 = —5 — 2 - 1 ( — 1 ) • 1 ( — 1 ) = —7. |
После произведенных вычислений получаем табл. 16.6. Таблицы 16.7, 16.8 и 16.9 представляют последовательные
стандартные таблицы, причем табл. 16.9 является оптимальной.
340 |
ГЛ. 16. ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ |
Рассмотрим задачу целочисленного программирования: минимизировать
z = х\ + За:! + 2 х\
при условиях |
|
|
|
х± + 2а:г — х3 ^ |
5, |
||
—3xt + |
х2 |
+ х 3 > |
—2 , |
xlt х\, |
х3 ^ |
0 (целые). |
Для того чтобы преобразовать эту задачу в целочисленную задачу
спараболическим ограничением, введем новую переменную х4 =
=—w.
максимизировать
w = —а;4, |
|
при условиях |
|
—5 — (—X! — 2 а:2 + х3) > 0 , |
|
2 — (За?! — хг — а:3) ^ |
0 , |
Xi — xl — За;! — 2 а:! > |
0 . |
|
Таблица 16.10 |
|
|
1 |
Таблица 16.11 |
|
|
||||
|
|
|
|
|
|
s 5 |
— х 2 |
- * 3 |
- * 4 |
||
0 |
0 |
0 |
0 |
+ 1 |
|
0 |
0 |
0 |
0 + 1 |
|
|
2 |
1 |
1 |
1 - 1 |
|
-1 |
1 |
0 |
1 -1 |
|
||
0 - 1 |
0 |
0 |
0 |
|
3 -1 |
1 |
0 |
0 |
|||
0 |
0 |
- 1 |
0 |
0 |
|
0 |
0 -1 |
0 |
0 |
||
0 |
0 |
0 |
- 1 |
0 |
|
0 |
0 |
0 -1 |
0 |
||
0 |
0 |
0 |
0 - 1 |
|
0 |
0 |
0 |
0 -1 |
|
||
- 5 |
- 1 |
- 2 |
+ 1 |
0 |
|
- 2 -1 |
-1 |
0 |
0 |
- |
|
2 |
3 |
- 1 |
- 1 |
0 |
|
- 7 |
3 |
- 4 |
-1 |
0 |
|
0 |
0 |
0 |
0 - 1 |
|
0 |
0 |
0 |
0 -1 |
|
||
0 |
1 |
0 |
0 |
0 |
1 |
- 3 |
1 -1 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
0 |
1 |
0 |
2 |
0 |
0 |
0 |
1 |
0 |
2 |
- 3 |
- 1 |
- 1 |
0 |
0 |
|
0 -1 |
0 |
0 |
0 |
|
|
|
t |
|
|
|
|
|
t |
|
|
|
|