30) Третий алгоритм Гомори.
Реализация на ЭВМ 1-го и 2-го алгоритмов Гомори может привести к неправильному результату из-за ошибок округления или ошибок при подсчёте дрбных частей .
Третий алгоритм Гомори свободен от влияния ошибок округления. Он предназначен для решения полностью целочисленной задачи линейного программирования.
;
;
;
целые.
Схема 3-го алгоритма Гомори аналогична схемам, рассмотренным ранее. Отправляясь от начальной L-нормальной таблицы T0, с помощью итераций L-метода получают последовательность таблиц T0,T1,…, Ts , последняя из которых является допустимой. Третий алгоритм называют ещё полностью целочисленным. Начальная таблица T0 строится полностью целочисленная, а затем отыскивается целочисленное правильное отсечение. Дробные числа в следующей таблице получаются из-за присутствия в формулах преобразования операции деления. В этом случае целочисленность новой таблицы может быть гарантирована лишь в том случае, если разрешающий элемент будет равен (-1). Это и делается в 3-ем алгоритме Гомори при построении отсечения. Его строят так, чтобы разрешающий элемент был (-1).
Формулировка целочисленного правильного отсечения звучит следующим образом.
Пусть - недопустимая целочисленная таблица, L-нормальная. Тогда
должно
удовлетворять следующим условиям:
1. Условие целочисленности : rj -целое, "jÎN0.
2. Условие отсечения : z(`x )=r0<0 .
3. Условие правильности. Для любого плана `x задачи (Lj,C) выполняется неравенство z(`x )³0.
4. Условие
сохранения целочисленности. Если среди чисел rj (jÎN) есть
отрицательные и - столбец матрицы Tj (jÎN) и
, то rl = -1.
Это значит, что если строчка z(`x ) выбирается в качестве направляющей, то направляющий элемент равен (-1).
Алгоритм определения оптимального плана можно выразить следующим образом. Начинают с походной недопустимой таблицы T0.Затем построив правильное целочисленное отсечение, удовлетворяющее условиям 1-4, переходят к таблице T1, затем к T2, и т.д. пока не получат допустимую таблицу. Как и прежде используются итерации L-метода, ограничения, полученные из сформулированного отсечения приписываются снизу к соответствующей таблице. Вся последовательность таблиц, формируемая в процессе решения, является целочисленной и L-нормальной.
3-ий алгоритм Гомори.
x0= x1 + x2 ®max
x1 + x2 + x3 =9
-4x1 +7 x2 + x4 =4
5x1 -6 x2 + x5 =6 .
xj ³ 0, целое.
1 |
|
|
|
|
0 |
-1 |
-1 |
|
0 |
-1 |
0 |
|
0 |
0 |
-1 |
|
9 |
1 |
1 |
|
4 |
-4 |
7 |
|
6 |
5 |
-6 |
1 |
|
|
|
|
9 |
1 |
0 |
|
9 |
1 |
1 |
|
0 |
0 |
-1 |
|
0 |
-1 |
0 |
|
40 |
4 |
11 |
|
-39 |
-5 |
|
x6= |
-4 |
-1 |
-1 |
L – нормальная , недопустимая таблица.
h(3)=0, h(2)=1, l=2, h(3)<h(2), l= - xkl =11,
.
1 |
-x3 |
-x6 |
|
|
9 |
1 |
0 |
|
0 |
1 |
|
|
4 |
1 |
-1 |
|
0 |
-1 |
0 |
|
-4 |
-7 |
11 |
|
5 |
6 |
-11 |
|
-1 |
-1 |
1 |
Остальные xkj ³0, Þl= - xkl = 7.
.
1 |
- x7 |
-x6 |
|
|
8 |
1 |
1 |
|
5 |
0 |
1 |
|
3 |
1 |
0 |
|
1 |
-1 |
-1 |
|
3 |
-7 |
4 |
|
-1 |
6 |
-5 |
|
-1 |
1 |
-1 |
l=5, .
1 |
- x7 |
-x8 |
|
|
7 |
2 |
1 |
|
4 |
1 |
1 |
|
3 |
1 |
0 |
|
2 |
-2 |
-1 |
|
-1 |
-3 |
4 |
|
4 |
1 |
-5 |
|
-1 |
-1 |
1 |
l=3,
1 |
|
|
|
|
5 |
2 |
3 |
|
3 |
1 |
2 |
|
2 |
1 |
1 |
|
4 |
-2 |
-3 |
|
2 |
-3 |
1 |
|
3 |
1 |
-4 |
План допустим.
Доказательство конечности третьего алгоритма Гомори.
Пусть задана полностью
целочисленная задача линейного программирования и ее
условия определяются целочисленной l-нормальной
таблицей T0.
Теорема.
Если существует план задачи
, то третий алгоритм Гомори конечен.
Доказательство: По прежнему обозначаем симплексную таблицу на p-м шаге:
где Np – множество индексов небазисных переменных.
- расширенный l-псевдоплан,
соответствующий таблице Tr.
Далее, пусть . Обозначим через
номер
направляющего столца на p-й итерации:
Очевидно, что в силу правил l-метода:
(1)
Отсюда следует, что
(2)
Далее, существует такое p0 , что
(3)
Это, действительно, так,
потому что - целое при любом p,
а следовательно, целое и
А это значит, что количество итераций p , для котрых
не превышает , отсюда и следует (3) (т.к. на каждой
итерации x0 меняется).
Допустим теперь, что количество итераций бесконечно. Тогда найдутся такие α1³1 и p1³1, что
1) (4) – i-тые
компоненты перестают меняться.
2) Найдется сколь угодно большое p, для которого:
(5)
Из (1),(4) и (5) имеем:
.
(6)
Следовательно, найдется такое p1³p2 , что
(7)
(8)
Рассмотрим q-ю итерацию при q³p2. Из (8) следует, что:
(9)
(10)
а отсюда в силу
отрицательности и лексикографической
положительности
получаем :
(11)
Из (11) следует, что
,
где
,
(12)
в силу целочисленности отсечений соответствующий элемент в новой таблице хотябы на 1 .
Сравнивая (7) и (12), получаем противоречие. Следовательно, конечность третьего алгоритва доказана.
Алгоритм Гомори (3) может оказаться не конечным, если множество планов задачи (Lj,C) пусто или пусто даже множество планов задачи(L,C). Финкельштейном предложена небольшая и естественная модификация, гарантирующая конечность при соблюдении следующих условий:
1. Построена исходная целочисленная и и L-нормальная таблица T0.
2. Множество
D планов задачи (L,C) ограничено. В силу ограниченности множества D можно методами линейного программирования найти .
Если задача минимизации x0 на D неразрешима, то неразрешима и задача (Lj,C).
Если же эта задача разрешима, то для любого плана задачи (Lj,C) получаем ,
где ]M[ - наименьшее целое число, не меньшее M. В исходной таблице T0 x0 заменяется на x0¢ . (Компоненты исходного
оптимального плана от этого не изменятся ). Теперь при проверке допустимости
таблицы Tp начинают
с неотрицательности числа
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.