Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 175
Скачиваний: 0
|
|
19.3. |
АЛГОРИТМ ГРУППОВОЙ МИНИМИЗАЦИИ |
423 |
||||
, , |
„ , |
. |
оч |
(D— 1) (D —2) |
• |
В2 |
сложении |
и та |
1 + |
2 + |
. . . + |
(D — 2) == |
- -------у -------- |
= |
-у - |
кое же число сравнений. В нашем алгоритме, следовательно,
Z)2
необходимо всего D 2 сравнений и -у- сложений. Если на шаге 1
мы каждый раз насчитываем D сравнений, тогда необходимо всего 1,5 D 2 сравнений и 0,5 D 2 сложений. Итак, в худшем слу чае, нам необходимо 2Л2 операций независимо от того, является D простым числом или нет. Таким образом, предлагаемый алго ритм имеет следующие преимущества.
1.Число операций в данном алгоритме меньше числа операций
валгоритме Гомори (2D2 вместо числа, заключенного между 2D2
и 4D 2).
2.Шаги одинаковы при выборе постоянных групповых эле
ментов. Они не зависят от порядка группы G или элемента g.
3.Когда фиксированное g0 в (1) принадлежит Р, то вычисле ния могут быть при желании прекращены.
4.Необходим меньший объем памяти.
ГЛАВА 20
ГРАНИ ЦЕЛОЧИСЛЕННОГО МНОГОГРАННИКА
20Л. Введение В гл. 19 мы рассматривали три задачи; первая из них:
максимизировать при условии
С ВХВ + c Nx N |
|
|
В хв + |
Nx^ = b, |
( 1 ) |
х в, x N ^ |
0 (целые). |
|
Выпуклая оболочка неотрицательных целочисленных точек, кото рые удовлетворяют ограничениям задачи (1), обозначается через Р. Вторая задача:
максимизировать
при условии |
с вВ -1Ь — c%xN |
|
|||
хв + |
B^Nxjyr = ВЧ), |
(2) |
|||
|
|||||
x N ^ |
0, х в, |
Хдг (целые), |
|
||
где cJv = dBB _1N — |
^ |
О, а |
В — оптимальный базис |
задачи |
линейного программирования, соответствующей задаче (1). Выпук лая оболочка неотрицательных целочисленных решений, которые удовлетворяют ограничениям задачи (2), обозначается через
Рх (В, N, Ь). Третья задача:
минимизировать
2 с* U ) t (g)
геч
при условии |
|
|
2 |
t{g)-g = g0, |
(3) |
g£ |
В |
|
t(g)^ 0 (целые).
Выпуклая оболочка неотрицательных целочисленных решений, удовлетворяющих / ограничениям задачи (3), обозначается через Р (G, г], g0). Било показано, что оптимальное решение задачи (3) естественным образом соответствует оптимальному решению зада чи (2). Если у£в ^3= 0, то оптимальное решение задачи (2) является
|
|
|
|
|
20.1. |
ВВЕДЕНИЕ |
|
|
|
425 |
|
также |
оптимальным |
решением задачи |
|
(1). |
Многогранники |
||||||
Р х (В, |
N, Ь) и Р (G, т), g0) по существу одинаковы. |
Точка ( хв, x N} |
|||||||||
является |
вершиной многогранника Р х (В, N, Ь), |
тогда |
и только |
||||||||
тогда, когда t |
— F (хв, x N) — вершина многогранника Р (G, р, g0). |
||||||||||
Если / |
(аг) = |
/ (aj), |
i ф ] , то либо xt = |
0, |
либо Xj = 0. В этой |
||||||
главе мы изучим |
многогранник Р (G, |
т), |
g0) |
независимо от мини |
|||||||
мизации |
целевой |
функции |
2 е* (§) |
t (&)• |
Выпуклая |
оболочка' |
Р (G, ц, g0) представляет особый интерес, поскольку все ее вер шины являются оптимальными решениями задачи (1) с некоторой достаточно большой правой частью Ь. Сформулируем это свойствоболее точно. Если с = ( с в, с^) — некоторый вектор, где В — оптимальный невырожденный базис задачи линейного програм
мирования, |
соответствующей |
задаче (1), |
т. е. с вВ -1Ь — c N = |
= c.v ^ 0 и |
В _1Ь > 0, то |
оптимальное |
решение х задачи (1)- |
совпадает с оптимальным решением задачи (2), которое является вершиной многогранника Рх (В, N, Ь), при условии, что Ь — доста точно большое. Эта вершина многогранника Рх (В, N, Ь) может
быть |
получена из |
соответствующей |
вершины |
многогранника- |
Р (G, |
ц, g0). Если |
v — некоторая |
вершина |
многогранника. |
Р (G, ц, g0), то в задаче (1) существует вектор с, оптимальный базис В и Ь, такие, что оптимальное решение задачи (1) получается; из вершины V.
Другое важное свойство многогранника Р (G, ц, g0) состоит в том, что его грани являются в некотором смысле самыми силь ными отсекающими плоскостями для задачи (1).
В гл. 13 мы сформировали отсечение Гомори после получения: оптимального решения задачи линейного программирования. Любая отсекающая плоскость, сформированная без использова ния условий х в ^ 0, является просто неотрицательной взвешен ной комбинацией граней.
Заметим, что многогранник Р (G, ц, g0) либо пустой, либо- n'-мерный. Если g0 не лежит в подгруппе, порожденной элемен тами ц, то Р (G, т), g0) — пустой, или, что то же самое, задача (З)1 не имеет допустимых решений. Отсюда следует, что многогранник: Рх ( В , N, Ь ) также пуст и что исходная задача целочисленного-
программирования (1) не имеет решения. Если Р (G, ц, g0) не пуст,
то пусть t = [t (gi), . . ., t (gk), . . ., t (£„<)] — его точка, s (h) —
порядок группового элемента h, a u (h) есть n'- мерный вектор,,
такой, |
что t (h) = 1, а все остальные компоненты равны 0. |
Тогда, |
|||||||||
вектор |
ц, |
t + |
s (h) • u |
(h) |
также |
является |
точкой |
многогранника |
|||
Р (G, |
g0). |
Для |
каждого h £ г\ |
точка t |
+ s (h)■u (h) |
является |
|||||
допустимой. Ясно, что эти п' |
= | ц | точек независимы; |
следова |
|||||||||
тельно, |
многогранник |
Р (G, |
ц, |
g0) — «'-мерный. |
|
будем, |
|||||
Поскольку Р (G, |
ц, go) — «'-мерный |
многогранник, |
|||||||||
использовать слово «грань» |
для |
обозначения |
(«' — 1)-мернош |
||||||||
гиперплоскости, такой, что |
|
|
|
|
|
|
428 ГЛ . 20. ГРА Н И Ц ЕЛ О Ч И СЛ ЕН Н О ГО М НОГОГРАННИКА
(Вычисления, проводимые для получения грани многогранника,
описаны в § 2 0 .2 .) |
|
|
|
|
Предположим, например, что м ы |
намереваемся получить отсе |
|||
к а ю щ у ю |
плоскость для |
задачи |
целочисленного программирова |
|
ния (2), такую, что угол между |
у и |
с минимальный. И н ы м и сло |
||
вами, м ы |
хотим |
|
|
|
минимизировать |
|
|
|
|
|
|
су |
|
|
|
|
II С II |
II Yll |
|
при условии |
|
|
|
|
|
yt ^ |
Уо для всех t '6 Т. |
Предположим; что м ы располагаем всеми t £ Т . Тогда это задача
линейного программирования со многими неравенствами, по одному неравенству для каждого t, принадлежащего Т. Если
используется двойственный симплекс-метод, то нам надо, имея двойственное допустимое у, получить неравенство, которому
текущее у не удовлетворяет. Таким образом, вычисления состоят из двух частей. Первая часть — вычисление двойственной допу стимой симплексной таблицы для целевой функции (су)/(|| с|| ||у||), ограниченной подмножеством неравенств из (7). Вторая часть — вспомогательные вычисления (порожденных) неравенств, исполь
зуемых в первой части. Если воспользоваться текущим у в графе
Н (G, ц, у), можно найти кратчайший путь от 0 до gQ длины yt <
< у0.Тогда неравенство yt ^ у0 не выполняется. Это неравенство
добавляется к неравенствам первой части. (Неравенство необхо димо видоизменить, прежде чем записать его в конец двойствен ной симплексной таблицы.) Затем м ы производим основной шаг
двойственного симплекс-метода первой части и получаем новое у.
Это новое у интерпретируется как длины дуг при вспомогатель ных вычислениях. Если, используя у как длины дуг, м ы не смо жем найти кратчайшего пути от 0 до g0 с общей длиной yt < у0,
то это у является также прямо допустимым и, следовательно, оно оптимально.
Поскольку м ы ограничиваемся у0 > 0 при обсуждении нера венства в теореме 20.1, остается еще возможность у0 = 0. Вер немся теперь к случаю у0 = 0 .
Теорема 20.2. Единственно возможными гранями (у , у0) мно
гогранника Р (G , т), go) при уо = |
0 являются п' гиперплоскостей |
у = и (h) или, что эквивалентно, |
t (h) = 0 (т. е. гиперплоскости, |
содержащие координатные оси). |
|