Двойственный симплекс-метод

 

Решение прямой задачи оптимизации можно определить с помощью симплекс-метода. Его можно получить такой заменой базиса, при которой все свободные члены в соотношениях прямой системы станут неотрицательными, так как только при неотрицательных свободных членах для нулевых значений небазисных переменных базисные переменные будут неотрицательны. Кроме того, экстремальное значение функции цели достигается при такой замене базисных переменных, при которой все коэффициенты при небазисных переменных в выражении для L отрицательны.

Двойственный симплекс-метод называют методом последовательного улучшения оценок. Смысл его заключается в том, что вместо прямой задачи решают двойственную и затем по оптимальным значениям переменных двойственной задачи определяют оптимальные значения прямой задачи, причем оптимальное базисное решение одной задачи получается приравниванием ее новых базисных переменных коэффициентам при соответствующих небазисных переменных в линейной форме двойственной задачи, взятым со знаком “–”.

Двойственный симплекс-метод целесообразно применять, когда в исходной задаче число ограничений значительно больше числа неизвестных. Если в этом случае перейти к двойственной задаче, то симплекс-процедура будет проще, чем для прямой задачи. Кроме того, двойственный симплекс-метод широко применяется в различных методах рашения задач целочислен­ного программирования.

Часто решение двойственной задачи называют псевдопланом, чтобы отличать его от решения прямой задачи, называемого просто планом.

Проще всего проиллюстрировать двойственный метод на примере.

Пример. Рассмотрим следующую задачу линейного программирования:

–x1 + 2x2 – 3x3 ≤ 1;

(2.14)
2x1 – x2 – x3 ≤ –1;

L = – x1 – 2x2 – 3x3 = max;

x1 ³ 0, x2 ³ 0 , x3 ³ 0.

Составим задачу, двойственную (2.14):

-y1 + 2y2 ³ –1;

(2.15)
2y1 – y2 ³ –2;

-3y1 –y2 ³ –3;

L′ = y1 – y2 = min;

y1 ³ 0, y2 ³ 0.

Вводя добавочные переменные у3, у4, у5, сведем ограничения в виде неравенств к ограничениям в виде равенств. Тогда задача (2.15) примет вид:

–y1 + 2y2 – у3 = –1;

(2.16)
2y1 – y2 – у4 = –2;

–3y1 – y2 – у5 = –3;

L′ = y1 – y2 + 0у3 + 0у4 + 0у5 = min;

y1 ³ 0, y2 ³ 0, у3 ³ 0, у4 ³ 0, у5 ³ 0.

Решая задачу (2.16) симплекс-методом, получим симплекс-таблицу 2.4.

Таблица 2.4

 

Базисная переменная Свободный член и ограничение Небазисная переменная
y1 y2 y3 y4 y5
y1 1/5 -1/5 1/5
y2 12/5 3/5 2/5
y3 28/5 7/5 3/5
-11/5 -4/5 -1/5

 

Из последней строки табл. 2.4 получим выражение линейной формы через небазисные переменные

L′ = (4/5)y4 + (1/5)y5.

Отсюда, если учесть соответствие между переменными,

y1 <–> x4; y2 <–> x5;

y3 <–> x1; y4 <–> x2;

y5 <–> x3;

получим решение исходной задачи в виде

x1 = 0; x2 = 4/5; x3 = 1/5;

maxL = –11/5.

В этом примере использован по сравнению с предыдущим примером другой вариант симплекс-таблицы, в котором помимо столбцов, соответствующих небазисным переменным, добавлены столбцы, соответствующие базисным переменным с нулевыми элементами, за исключением тех, которые стоят на пересечении строк и столбцов с одинаковыми номерами базисных элементов, равных единице.

Симплекс-таблица такого типа называется полной или расширенной в отличие от сокращенной симплекс-таблицы предыдущего примера.