Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 188
Скачиваний: 0
19.2. А СИ М ПТОТИЧЕСКИЙ А ЛГОРИТМ |
395 |
? (g) ^ t (g). Если точка t — неприводимая, то сумма |
|
2 1' { g ) - g = g { f ) |
|
«ев |
|
даст различные групповые элементы для разных t \ |
Однако имеет |
ся только | G | различных групповых элементов, |
и, следователь |
но, неравенство (9) справедливо. (Заметим, что граница, получен
ная для t (g), |
справедлива |
и для x N.) я |
|
|
С ледствие |
19.1. Если t |
= (t (g)) — неприводимая точка мно |
||
гогранника Р (G, г], |
g0), то |
|
|
|
|
|
2 |
t(g)^.D — 1. |
(10а) |
|
|
«ев |
|
|
Д оказательство. |
Если произведение нескольких |
целых поло |
жительных переменных фиксировано, то максимальное значение
суммы этих целочисленных переменных |
|
достигается, |
когда |
все |
|||||||||||
переменные (кроме одной) |
равны единице. |
По теореме |
19.6 |
|
|||||||||||
|
|
|
|
II (1 - и ( £ ))< /<?| = |
£>. |
|
|
|
|
|
|||||
|
|
|
|
«ев |
|
|
|
|
|
|
|
|
|
|
|
Поэтому |
наибольшее значение |
суммы |
2 |
t (s) |
достигается |
при |
|||||||||
t(g) |
= 0 |
для всех g ф h. Полагая t (g) |
«ев |
|
|
|
|
|
|||||||
= |
0 для всех g ф п , имеем |
||||||||||||||
( 1 + 0 ) . . . . |
• |
(1 + t (h)). |
. . . • (1 + |
0) |
< |
| G | = |
D, |
|
|||||||
t. e. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 + |
t (h) ^ |
D, |
или t (h) ^ . D |
— 1. |
|
|
|
||||||
Тогда, очевидно, |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
2 |
t (s) —(0 + |
• • • + |
1(h) + |
. . . + |
0 )^Z ) — 1 |
|
|
||||||
|
|
«ев |
|
|
|
|
|
|
|
|
|
|
|
|
|
и утверждение (1 0 a) доказано. |
н |
|
|
|
|
|
|
и решением х |
|||||||
Установим связь между решением t задачи (7) |
|||||||||||||||
задачи (2а). Рассмотрим любое допустимое решение |
x N задачи (5) |
||||||||||||||
и допустимое решение t задачи (7), такие, |
что |
|
|
|
|
||||||||||
|
|
2 |
xj = t(g), |
где |
Jg = |
{ j \ f (аД = g}, |
|
|
|
||||||
для |
всех |
#£т]. |
|
Поскольку |
с* (g) = |
min cf, |
Jg = |
{/ | / (аД = |
g}, |
||||||
то имеем |
|
|
|
|
|
|
j'eJg |
|
|
|
|
|
|||
|
|
П |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
c*(g)t(g), |
|
|
|
|
|
|
|||
|
|
|
|
2 |
|
2 |
|
|
|
|
|
|
|||
|
|
|
|
i=i |
|
«ев |
|
|
|
|
|
|
|
|
396 ГЛ. 19. л и н е й н о е и ц е л о ч и с л е н н о е п р о г р а м м и р о в а н и е
или |
|
c%xN^ c * t. |
(106) |
Пусть t* —оптимальное решение задачи (7), а |
х%—решение |
задачи (5), полученное из t* согласно (86). Тогда |
|
CjVXjV = c*t* |
(1 1 ) |
и в силу (106) х%—оптимальное решение задачи (5).
Поскольку t*—оптимальное решение задачи (7), для произ
вольного хл, получаем |
|
|
c^XjV> c* t> c* t* . |
|
(1 2 ) |
Обозначим значение целевой функции задачи (2в) через |
Zj (b), |
|
а свВ_1Ь через zL (Ь). Тогда |
|
|
zi (b) = zL (b) —с^Хдг. |
(13) |
|
Поскольку х%[—оптимальное решение |
задачи (5), то из |
соот |
ношений (И ), (12) и (13) следует |
|
|
свВ_1Ь —с%х% = свВ-1Ь —c*t* ^ z L (b) —c%xN = zj (b). |
(14) |
|
Следовательно, если x%—такое, что |
хв = В-1 (Ь—N x^)^0, |
то из соотношения (14) заключаем, что (хв, х%) —оптимальное решение (2в). Этот результат можно сформулировать в виде теоремы.
Теорема 19.7. Если t* — оптимальное решение задачи (7), то соответствующее ему решение х* = (В - 1 (Ь — Nxjy), х%) являет ся оптимальным решением задачи (2 в) при условии, что
В' 1 (Ь—N xft)>0.
Исследуем теперь, в каких случаях
xs = B 1b —B-Wxjv^O .
Мы знаем, что хв = В-1Ь является решением задачи линейного программирования. Вектор В _1Ь неотрицателен, если b принадле жит конусу, порожденному столбцами из В. Обозначим этот конус через Кв- Если b — Nxn также принадлежит конусу К в, то В -1 (b — Nx^) ^ 0. Геометрически, если точка b расположена достаточно далеко от любой граничной точки конуса К в и если длина вектора Nxw достаточно мала, то разность b — Nx^ также лежит внутри конуса Кв- Если через К в (d) обозначим подмноже ство точек конуса К в, удаленных в евклидовой метрике не меньше чем на d от любой граничной точки конуса К в, то К в — К в { 0 )
|
|
|
19.2. |
А СИ М ПТОТИЧЕСКИЙ АЛГОРИТМ |
|
397 |
||||
и |
из |
условия |
|
h £ K B (d), || |
Nx^ || |
< d |
следует, |
что |
||
В -!(Ь — Nxjv) ^ |
0. |
Рассмотрим длины небазисных вектор-столб |
||||||||
цов |
aj |
(/ = |
1 , . . . , |
п). Наибольшую из |
них |
обозначим |
через |
|||
^тах, т. |
е. |
Zmax = |
|
max |
(y,a b )v2- |
Тогда |
|
|
|
|
|
|
|
|
з= 1 .......™ i |
|
|
|
|
||
|
|
|
П |
|
|
п |
|
|
|
|
|
|| Nxjv || = || |
HjXj | | |
Imax S |
~ ^max 2 |
^ (^)^^max { E |
!)• |
||||
|
|
|
j = l |
|
|
i= 1 |
|
|
|
|
Следующая теорема дает достаточное условие неотрицательности xjg.
Теорема 19.8. Если |
b £ K B ( l m a x ( D — 1)), где |
D = |d etB |, |
то (хЦз, х%) —оптимальное |
целочисленное решение |
задачи (26), |
где хв = В_1(Ъ —Nxfr), х% соответствует t* согласно (86 ), а t* —
оптимальное решение задачи (7).
Изобразим конус К в. На рис. 19.2 |
(а) |
имееется полоса точек, |
||||
которые удалены не более чем на d |
от граничных |
точек конуса |
||||
К в. Заметим, |
что данная точка Ь может |
принадлежать полосе, |
||||
тогда как Я,Ь, |
при Я, ^ 1 может лежать вне ее. |
аналогичное |
||||
Можно указать и другое достаточное условие, |
||||||
теореме |
19.8. |
Пусть lt — максимальный |
элемент |
в i-й строке |
||
матрицы B _1 N. |
Построим вектор-столбец 1 |
= Ui, . . ., |
l t , . . ., |
1т]. |
||
Тогда, |
если |
B_1b — ( D — 1) 1 ^ О, |
оптимальное |
решение |
t* |
задачи (7) соответствует оптимальному решению задачи целочис ленного программирования (2 а).
Пусть дана задача целочисленного программирования (2а). Рассмотрим матрицу А и вектор с как фиксированные, а правую часть — как вектор, который может принимать одно из значений Ь1, Ьа, . . ., bft. Для любой заданной правой части Ь* существует оптимальный базис В* соответствующей задачи линейного про граммирования. Можно разбить m-мерное пространство точек, удовлетворяющих ограничениям, на несколько конусов, соот
ветствующих различным оптимальным базисам |
Вг. |
Это показано |
||
на рис. 19.2 (б). |
В является оптимальным для |
правой |
части Ь, |
|
Если базис |
||||
а Ь' — другая |
правая часть, для которой В -1Ь' |
> 0 , |
то В — |
оптимальный базис и для Ь'. Теорема 19.8 показывает, что конус К в имеет полосу фиксированной ширины Zmax ( | det В | — 1).
Если b и Ь' — точки, не принадлежащие полосе, то оптимальное решение задачи (2 а) находится по оптимальному решению зада
чи (7). Пусть оптимальное решение задачи (2а) при правых частях
b и Ь' |
есть х* (Ь) и х* (Ь') соответственно. Тогда |
х*(Ь) = |
(х£(Ь), хдг(Ь)) = (В_1Ь, 0) + ( - В - В Д ( Ь ) , х&(Ь)), |
х*(Ь') = |
(хМЬ'), xjv(b')) = (B_1 b', 0 ) + ( —B_1Nx]y (b'), х% ( Ъ' ) ) . |
19.2. АСИ М ПТОТИЧЕСКИЙ АЛГОРИТМ |
399 |
оптимального базиса В соответствующей задачи линейного про граммирования х).
Каждое Ь, для которого соответствующая задача линейного программирования имеет решение, принадлежит некоторому конусу К в- Этот конус может быть, например, одним из конусов, изображенных на рис. 19.2 (б). Это означает, что b можно выра
зить |
посредством |
столбцов из |
В, т. |
е. |
Ь = |
г |
где |
Яг ^ 0 . |
Точка b может |
принадлежать, |
либо |
не |
|
|
конусу |
||
принадлежать |
||||||||
К в (Imax ( D — 1)). Но если %i > |
0 для всех i, |
то /сЬ при достаточ |
||||||
но |
большом к будет принадлежать |
конусу |
К в (lmax (D |
— 1)). |
На рис. 19.2(a) показан случай к = 2. Это означает, что задача целочисленного программирования с ограничением Ах = кЪ может быть решена при достаточно большом к, если решение соответствующей задачи линейного программирования не вырож дено. Поэтому настоящий параграф называется «асимптотический
алгоритм». |
Заметим, |
что |
ширина полосы d = Zmax (D — 1) |
обычно дает слишком |
жесткие достаточные условия. |
||
Пусть Ь принадлежит допустимой области 2)* . Тогда из соот |
|||
ношения (9) |
получаем |
|
|
|
|
II |
(1 + г (£ ))< Д 3)- |
Из соотношения (8 6 ) для небазисных компонент задачи (2а) следует
[ j ( i + * ;)< £ > . |
(16) |
3=1 |
|
Когда D = | det В | = 1 (матрица А унимодулярна), из соот ношения (16) получаем, что Xj = 0 для всех /. В этом случае d = = ^max (D — 1) = 0 и оптимальное целочисленное решение совпа дает с решением задачи линейного программирования, которое имеет не больше чем т ненулевых компонент. Поскольку D воз растает начиная с 1 , то полоса уже не будет при этом иметь нуле
вой ширины, а оптимальное решение будет, вообще говоря, отли-
!) Имеется в виду, что ХдТявляется периодической функцией от вектора
га
Ь —правой части задачи |
(b-j- ^ |
X;bj) = х ^ |
(Ь), где |
Я;—целые, В = |
||
|
|
|
i=i |
|
|
|
= [bj, b2, . .., Ьт ]. —Прим. ред. |
|
|
|
|||
2) |
Имеется |
в виду, что |
(Ь) ^ |
0 .— Прим. |
ред. |
|
3) |
Заметим, |
что это соотношение справедливо в случае, если точка t(g) |
||||
неприводима. Но не любое оптимальное решение задачи (7) |
является непри |
|||||
водимой точкой. |
Следующее ниже утверждение о границе числа ненулевых |
компонент оптимального решения задачи (2а) также справедливо, если соот ветствующая точка t(g) — неприводима.— Прим, перее.