Cтраница 1
Двойственный симплекс-метод меняет только порядок нахождения разрешающего элемента, поэтому все особенности (несовместность системы, неограниченность функционала) имеют здесь те же признаки, что и в обычном симплекс-методе. Разберем только преодоление вырождения, так как оно вызывается нулем среди коэффициентов z - строки, а не среди свободных членов.
Двойственный симплекс-метод начинает с двойственно допустимого решения и сохраняет его двойственно допустимым на протяжении всех шагов. Двойственный симплекс-метод реализуется посредством таких же таблиц, что и прямой симплекс-метод. Сначала определяется, какая переменная должна быть выведена из базиса, а затем - какая должна быть введена в базис. Двойственный симплекс-метод для задачи минимизации состоит из следующих шагов.
Двойственный симплекс-метод, как и симплекс-метод, используется при нахождении решения задачи линейного программирования, записанной в форме основной задачи, для которой среди векторов Р /, составленных из коэффициентов при неизвестных в системе уравнений, имеется т единичных.
Двойственным симплекс-методом с применением модифицированных исключений удобно решать задачи целочисленного программирования (см. гл.
Двойственным симплекс-методом он получен не тремя шагами, а двумя.
Используя двойственный симплекс-метод, находят решение задачи, получающейся в результате присоединения дополнительного ограничения.
Используя двойственный симплекс-метод, находят решение задачи, получающейся из задачи (32) - (34) в результате присоединения дополнительного ограничения.
Существует еще двойственный симплекс-метод, который предназначен для решения задач с большим числом ограничений или задач, в которых число ограничений возрастает. Кроме того, существуют методы, решающие задачи с изменяющимися параметрами, когда не обязательно прибавляются только строки или только столбцы.
Применение двойственного симплекс-метода к задаче линейного программирования может натолкнуться на сложности, если задача вырождена. Геометрически это означает, что одинаковые значения целевой функции достигаются более чем в одной вершине двойственного многогранника условий.
Использование двойственного симплекс-метода для решения задачи линейного программирования эквивалентно использованию обычного симплексного метода для решения соответствующей двойственной задачп.
Воспользуемся стандартным двойственным симплекс-методом для решения задачи максимизации и получим искомую систему оптимальных цен.
В двойственном симплекс-методе решение задачи выполняется в такой последовательности: сначала добиваются неотрицательности коэффициентов z - строки, а затем-неотрицательности, свободных членов. Требуется обосновать для такого порядка правило выбора разрешающего элемента.
Если используется двойственный симплекс-метод, то нам надо, имея двойственное допустимое у, получить неравенство, которому текущее у не удовлетворяет. Таким образом, вычисления состоят из двух частей. Вторая часть - вспомогательные вычисления (порожденных) неравенств, используемых в первой части. Если воспользоваться текущим Y в графе Н (G, т), у), можно найти кратчайший путь от 0 до g0 длины yt Yo - Тогда неравенство yt То не выполняется. Это неравенство-добавляется к неравенствам первой части. Неравенство необходимо видоизменить, прежде чем записать его в конец двойственной симплексной таблицы.
Итак, последовательные переходы от одного сопряженного базиса к другому производят до тех пор, пока не получат решение задачи или не установят ее неразрешимость. Каждый переход от одного псевдоплана к другому составляет одну итерацию (один шаг) .
Каждая итерация содержит два этапа. На первом этапе выясняют, не является ли псевдоплан оптимальным планом прямой задачи, и если нет, то разрешима ли задача. Для этого необходимо вычислить и установить их знаки. Второй этап состоит в осуществлении элементарного преобразования - (одной итерации) метода полного исключения Жордана-Гауса, приводящего к новому псевдоплану с меньшим значением целевой функции.
Описание алгоритма . Задача ЛП должна быть задана в канонической форме (1.1), (1.2) или сведена к ней. Отыскивают сопряженный базис двойственной задачи и обозначают его . Разложим А 0 по векторам базиса А і1 ,.,А іm в соответствии с (1.9) и найдем псевдоплан прямой задачи.
Исследуем знаки {х i0 } . Если имеет место случай , то начальный псевдоплан является оптимальным планом прямой задачи. При наличии отрицательных компонент {х i0 } вычисляем коэффициенты разложения векторов A j по векторами сопряженного базиса {х ij } в соответствии с (1.8).
Если для некоторого r такого, что х r0 <0 , все то задача не разрешима (второй случай), и на этом процесс вычислений заканчивается.
Если имеет место третий случай (то есть для каждого r такого, что х r0 <0 , по крайней мере одна из компонент х rj <0 ), то переходим к второму этапу. С этой целью составляют таблицу k -й итерации (аналогичную симплекс-таблице ), которая состоит (m+2) строк и (n+1) -го столбца (табл. 6.1).
Столбец В x таблицы, как обычно, содержит векторы {A i } базиса псевдоплана хk , а столбец А 0 - базисные компоненти псевдоплана {х i0 (k)} . Строка (m+1) -индексная, ее заполняют параметрами , являющимися оценками векторов А j :
величина - значение целевой функции при псевдоплане
Итерацию k завершают заполнением главной части таблицы (от первой до (m+1) -й строк).
C | C 1 | C 2 | . | C j | . | C n | ||
B x | A 0 | A 1 | A 2 | . | A j | . | A n | |
C 1 | X 1 | X 10 | X 11 | X 12 | . | X 1j | . | X 1n |
C 2 | X 2 | X 20 | X 21 | X 22 | . | X 2j | . | X 2n |
. | . | . | . | . | . | . | . | . |
C i | X i | X i0 | X i1 | X i2 | . | X ij | . | X in |
. | . | . | . | . | . | . | . | . |
C m | X m | X m0 | X m1 | X m2 | . | X mj | . | X mn |
. | . | |||||||
. | . |
На первом этапе (k+1) -и итерации выясняют, имеет ли место первый, второй или третий случай.
В третьем случае переходим ко второму этапу. Сначала определяют вектор А r , который необходимо вывести из базиса. Его индекс r определяют из условия
В строке заполняют лишь те позиции, для которых x rj <0 . Вектор А l , который должен быть введен в базис, находят из условия
Определив направляющую строку r и столбец l , вычисляют элементы главной части таблицы (k+1) -й итерации по рекуррентным соотношениям
(1.15) |
Где x ri - направляющий элемент преобразования.
Вычислительная схема алгоритма двойственного симплекс-метода похожа на вычислительную схему симплекс-метода . Аналогичны и формы таблиц.
Различие между методами заключается в том, что при симплекс -методе производят последовательный переход от одного допустимого базисного решения (опорного плана) задачи к другому, а при двойственном симплеск-методе - переход от одного псевдоплана к другому.
Формальное различие между вычислительными схемами этих методов проявляется только в правилах перехода от одного базиса к другому, а также в признаках оптимальности и неразрешимости задачи. В симплекс -методе сначала определяют вектор, вводимый в базис, а затем - вектор,исключаемый из базиса, а в двойственном симплекс-методе этот порядок - обратный.
Отметим некоторые важные свойства двойственного симплекс-метода .
В отличие от прямого
Так как есть три единичных вектора, то
можно сразу записать опорный план
Х=(0,0,0,360,192,180).
Составим нулевую симплекс-таблицу
.
Приведем систему ограничений к системе неравенств смысла ≤, умножив соответствующие строки на (-1).
Определим минимальное значение целевой функции F(X) = x 1 + x 2 при следующих условиях-ограничений.
- 5x 1 - 6x 2 ≤-1
- 15x 1 ≤-1
- 7x 1 - 12x 2 ≤-1
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме
).
В 1-м неравенстве смысла (≤) вводим базисную переменную x 3 . В 2-м неравенстве смысла (≤) вводим базисную переменную x 4 . В 3-м неравенстве смысла (≤) вводим базисную переменную x 5 .
-5x 1 -6x 2 + 1x 3 + 0x 4 + 0x 5 = -1
-15x 1 + 0x 2 + 0x 3 + 1x 4 + 0x 5 = -1
-7x 1 -12x 2 + 0x 3 + 0x 4 + 1x 5 = -1
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:
A= | -5 | -6 | 1 | 0 | 0 |
-15 | 0 | 0 | 1 | 0 | |
-7 | -12 | 0 | 0 | 1 |
B | x 1 | x 2 | x 3 | x 4 | x 5 | |
-1 | -5 | -6 | 1 | 0 | 0 | |
-1 | -15 | 0 | 0 | 1 | 0 | |
-1 | -7 | -12 | 0 | 0 | 1 | |
0 | -1 | -1 | 0 | 0 | 0 |
B | x 1 | x 2 | x 3 | x 4 | x 5 | |
-1 | -5 | -6 | 1 | 0 | 0 | |
-1 | -15 | 0 | 0 | 1 | 0 | |
-1 | -7 | -12 | 0 | 0 | 1 | |
0 | -1 | -1 | 0 | 0 | 0 | |
0 | -1: (-5) = 1 / 5 | -1: (-6) = 1 / 6 | - | - | - |
B | x 1 | x 2 | x 3 | x 4 | x 5 | |
1 / 6 | 5 / 6 | 1 | -1 / 6 | 0 | 0 | |
-1 | -15 | 0 | 0 | 1 | 0 | |
1 | 3 | 0 | -2 | 0 | 1 | |
1 / 6 | -1 / 6 | 0 | -1 / 6 | 0 | 0 |
x 1 | x 2 | x 3 | x 4 | x 5 | |
5 / 6: 1 | 1: 1 | -1 / 6: 1 | 0: 1 | 0: 1 | |
1-(1 / 6 0):1 | -15-(5 / 6 0):1 | 0-(1 0):1 | 0-(-1 / 6 0):1 | 1-(0 0):1 | 0-(0 0):1 |
3-(5 / 6 0):1 | 0-(1 0):1 | -2-(-1 / 6 0):1 | 0-(0 0):1 | 1-(0 0):1 | |
1 / 6 -(1 / 6 0):1 | -1 / 6 -(5 / 6 0):1 | 0-(1 0):1 | -1 / 6 -(-1 / 6 0):1 | 0-(0 0):1 | 0-(0 0):1 |
B | x 1 | x 2 | x 3 | x 4 | x 5 | |
1 / 6 | 5 / 6 | 1 | -1 / 6 | 0 | 0 | |
-1 | -15 | 0 | 0 | 1 | 0 | |
1 | 3 | 0 | -2 | 0 | 1 | |
1 / 6 | -1 / 6 | 0 | -1 / 6 | 0 | 0 | |
0 | -1 / 6: (-15) = 1 / 90 | - | - | - | - |
B | x 1 | x 2 | x 3 | x 4 | x 5 | |
1 / 9 | 0 | 1 | -1 / 6 | 1 / 18 | 0 | |
1 / 15 | 1 | 0 | 0 | -1 / 15 | 0 | |
4 / 5 | 0 | 0 | -2 | 1 / 5 | 1 | |
8 / 45 | 0 | 0 | -1 / 6 | -1 / 90 | 0 |
x 1 | x 2 | x 3 | x 4 | x 5 | |
1 / 9 -(1 / 15 0):1 | 0-(1 0):1 | 1-(0 0):1 | -1 / 6 -(0 0):1 | 1 / 18 -(-1 / 15 0):1 | 0-(0 0):1 |
1: 1 | 0: 1 | 0: 1 | -1 / 15: 1 | 0: 1 | |
4 / 5 -(1 / 15 0):1 | 0-(1 0):1 | 0-(0 0):1 | -2-(0 0):1 | 1 / 5 -(-1 / 15 0):1 | 1-(0 0):1 |
8 / 45 -(1 / 15 0):1 | 0-(1 0):1 | 0-(0 0):1 | -1 / 6 -(0 0):1 | -1 / 90 -(-1 / 15 0):1 | 0-(0 0):1 |
B | x 1 | x 2 | x 3 | x 4 | x 5 | |
1 / 9 | 0 | 1 | -1 / 6 | 1 / 18 | 0 | |
1 / 15 | 1 | 0 | 0 | -1 / 15 | 0 | |
4 / 5 | 0 | 0 | -2 | 1 / 5 | 1 | |
8 / 45 | 0 | 0 | -1 / 6 | -1 / 90 | 0 |
11.4. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД
Из результатов предыдущих пунктов следует, что для получения решения исходной задачи можно перейти к двойственной и, используя оценки ее оптимального плана, определить оптимальное решение исходной задачи.
Переход к двойственной задаче не обязателен, так как если рассмотреть первую симплексную таблицу с единичным дополнительным базисом, то легко заметить, что в столбцах записана исходная задача, а в строках –двойственная.
Как было показано, при решении прямой задачи на любой итерации разность , т.е. величина -коэффициента при переменной , равна разности между правой и левой частями соответствующего ограничения двойственной задачи. Если при решении прямой задачи с максимизируемой целевой функцией итерация не приводит к оптимальному решению, то по крайней мере для одной переменной и только в оптимуме для всех разность .
Рассматривая это условие с учетом двойственности, можно записать
.
Таким образом, если , то . Это означает, что, когда решение прямой задачи неоптимальное, решение двойственной задачи недопустимое. С другой стороны при . Отсюда следует, что оптимальному решению прямой задачи соответствует допустимое решение двойственной задачи.
Это позволило разработать новый метод решения задач линейного программирования, при использовании которого сначала получается недопустимое, но «лучшее, чем оптимальное» решение (в обычном симплекс-методе сначала находится допустимое , но неоптимальное решение). Новый метод, получивший название двойственного симплекс-метода , обеспечивает выполнение условия оптимальности решения и систематическое «приближение» его к области допустимых решений. Когда полученное решение оказывается допустимым, итерационный процесс вычислений заканчивается, так как это решение является и оптимальным.
Двойственный симплекс-метод позволяет решать задачи линейного программирования, системы ограничений которых при положительном базисе содержат свободные члены любого знака. Этот метод позволяет уменьшить количество преобразований системы ограничений, а также размера симплексной таблицы. Рассмотрим применение двойственного симплекс-метода на примере.
Пример . Найти минимум функции
при ограничениях
.
Перейдем к канонической форме:
при ограничениях
Начальная симплекс-таблица имеет вид
Базисные переменные |
x 1 |
x 2 |
x 3 |
x 4 |
x 5 |
Решение |
x 3 x 4 x 5 |
–3 –4 |
–1 –3 |
–3 –6 |
|||
–2 |
–1 |
Начальное базисное решение оптимальное, но не допустимое.
Как и обычный симплексный метод, рассматриваемый метод решения основан на использовании условий допустимости и оптимальности.
Условие допустимости . В качестве исключаемой переменной выбирается наибольшая по абсолютной величине отрицательная базисная переменная (при наличии альтернатив выбор делается произвольно). Если все базисные переменные неотрицательные, процесс вычислений заканчивается, так как полученное решение допустимое и оптимальное.
Условие оптимальности . Включаемая в базис переменная выбирается из числа небазисных переменных следующим образом. Вычисляются отношения коэффициентов левой части -уравнения к соответствующим коэффициентам уравнения, ассоциированного с исключаемой переменной. Отношения с положительным или нулевым значением знаменателя не учитываются. В задаче минимизации вводимой переменной должно соответствовать наименьшее из указанных отношений, а в задаче максимизации – отношение, наименьшее по абсолютной величине (при наличии альтернатив выбор делается произвольно). Если знаменатели всех отношений равны нулю или положительные, задача не имеет допустимых решений.
После выбора включаемой в базис и исключаемой переменных для получения следующего решения осуществляется обычная операция преобразования строк симплекс-таблицы.
В рассматриваемом примере исключаемой переменной является . Отношения, вычисленные для определения новой базисной переменной, приведены в следующей таблице:
Переменные |
x 1 |
x 2 |
x 3 |
x 4 |
x 5 |
Уравнение x 4 -уравнение |
–2 –4 |
–1 –3 |
|||
Отношение |
В качестве включаемой переменной выбирается x 2 . Последующее преобразование строк приводит к новой симплекс-таблице:
Базисные переменные |
x 1 |
x 2 |
x 3 |
x 4 |
x 5 |
Решение |
x 3 x 2 x 5 |
–1 –1 |
|||||
Новое решение также оптимальное, но все еще недопустимое. В качестве новой исключаемой переменной выберем (произвольно) x 3 . Определим включаемую переменную.
Переменные |
x 1 |
x 2 |
x 3 |
x 4 |
x 5 |
Уравнение x 4 -уравнение |
|||||
отношение |