Лекция 6: Двойственный симплекс – метод. Исследование моделей задач линейного программирования на чувствительность
Итак, последовательные переходы от одного сопряженного базиса к другому производят до тех пор , пока не получат решение задачи или не установят ее неразрешимость. Каждый переход от одного псевдоплана к другому составляет одну итерацию (один шаг) двойственного симплекс-метода.
Каждая итерация содержит два этапа. На первом этапе выясняют, не является ли псевдоплан оптимальным планом прямой задачи, и если нет, то разрешима ли задача. Для этого необходимо вычислить и установить их знаки. Второй этап состоит в осуществлении элементарного преобразования - (одной итерации) метода полного исключения Жордана-Гауса, приводящего к новому псевдоплану с меньшим значением целевой функции.
Описание алгоритма. Задача ЛП должна быть задана в канонической форме (1.1), (1.2) или сведена к ней. Отыскивают сопряженный базис двойственной задачи и обозначают его . Разложим А0 по векторам базиса Аі1,.,Аіm в соответствии с (1.9) и найдем псевдоплан прямой задачи.
Исследуем знаки {хi0}. Если имеет место случай , то начальный псевдоплан является оптимальным планом прямой задачи. При наличии отрицательных компонент {хi0} вычисляем коэффициенты разложения векторов Aj по векторами сопряженного базиса {хij} в соответствии с (1.8).
Если для некоторого r такого, что хr0<0, все то задача не разрешима (второй случай), и на этом процесс вычислений заканчивается.
Если имеет место третий случай (то есть для каждого r такого, что хr0<0, по крайней мере одна из компонент хrj<0 ), то переходим к второму этапу. С этой целью составляют таблицу k -й итерации (аналогичную симплекс-таблице), которая состоит (m+2) строк и (n+1) -го столбца (табл. 6.1).
Столбец Вx таблицы, как обычно, содержит векторы {Ai} базиса псевдоплана хk, а столбец А0 - базисные компоненти псевдоплана {хi0(k)}. Строка (m+1) -индексная, ее заполняют параметрами , являющимися оценками векторов Аj:
величина - значение целевой функции при псевдоплане
Итерацию k завершают заполнением главной части таблицы (от первой до (m+1) -й строк).C | C1 | C2 | . | Cj | . | Cn | ||
Bx | A0 | A1 | A2 | . | Aj | . | An | |
C1 | X1 | X10 | X11 | X12 | . | X1j | . | X1n |
C2 | X2 | X20 | X21 | X22 | . | X2j | . | X2n |
. | . | . | . | . | . | . | . | . |
Ci | Xi | Xi0 | Xi1 | Xi2 | . | Xij | . | Xin |
. | . | . | . | . | . | . | . | . |
Cm | Xm | Xm0 | Xm1 | Xm2 | . | Xmj | . | Xmn |
. | . | |||||||
. | . |
На первом этапе (k+1) -и итерации выясняют, имеет ли место первый, второй или третий случай.
В третьем случае переходим ко второму этапу. Сначала определяют вектор Аr, который необходимо вывести из базиса. Его индекс r определяют из условия
( 1.14) |
Затем заполняют элементы (m+2) -й строки, которые вычисляют по формуле
( 1.15) |
В строке заполняют лишь те позиции, для которых xrj<0. Вектор Аl, который должен быть введен в базис, находят из условия
Определив направляющую строку r и столбец l, вычисляют элементы главной части таблицы (k+1) -й итерации по рекуррентным соотношениям
( 1.15) |
Вычислительная схема алгоритма двойственного симплекс-метода похожа на вычислительную схему симплекс-метода. Аналогичны и формы таблиц.
Различие между методами заключается в том, что при симплекс-методе производят последовательный переход от одного допустимого базисного решения (опорного плана) задачи к другому, а при двойственном симплеск-методе - переход от одного псевдоплана к другому.
Формальное различие между вычислительными схемами этих методов проявляется только в правилах перехода от одного базиса к другому, а также в признаках оптимальности и неразрешимости задачи. В симплекс-методе сначала определяют вектор, вводимый в базис, а затем - вектор,исключаемый из базиса, а в двойственном симплекс-методе этот порядок - обратный.
Отметим некоторые важные свойства двойственного симплекс-метода.
В отличие от прямого симплекс-метода, двойственный симплекс-метод не требует нахождения начального базисного решения ( опорного плана ), а поиск начального псевдоплана часто может оказаться легче, чем поиск ДБР.
Рассмотрим, например, типичную задачу минимизации
( 1.17) |
( 1.18) |
( 1.19) |
( 1.20) |
Для задачи такого вида найти сразу начальный опорный план нельзя, и поэтому необходимо применить метод искусственных переменных и выполнить значительный объем вычислений. В то же время псевдоплан находится почти автоматически. Действительно, перейдем от (1.17) - (1.19) к эквивалентной задаче в расширенной форме, введя свободные переменные xn+1, xn+2, ., xn+m...
( 1.21) |
( 1.22) |
Запишем ограничения двойственной задачи
( 1.23) |
( 1.24) |
Из неравенств (1.23) - (1.24) видим, что поскольку решение yi при i=1,m удовлетворяет всем ограничениям (1.23), то сопряженный базис образуют векторы An+1,An+2,...,An+m при свободных переменных. При этом начальный псевдоплан такой:
Итак, для задачи вида (1.17) - (1.18) пpи условии (1.20) применение двойственного симплес-метода оказывается предпочтительнее в сравнении с прямым.
Двойственный симплекс-метод позволяет в процессе итерации добавлять новые дополнительные ограничения к уже найденному некоторому промежуточному решению. Это важное его свойство широко используется при решении задач целочисленного программирования.