- •1. Задачи нелинейного программирования
- •3. Задачи с ограничениями-равенствами. Метод неопределённых множителей Лагранжа
- •2. Многомерная безусловная оптимизация
- •4. Задачи с ограничениями—неравенствами
- •5. Критерий оптимальности; теорема Куна-Таккера
- •6. Линейное программирование. Различные формы задачи линейного программирования
- •8. Симплекс—таблица и критерий оптимальности. Элементарное преобразование базиса
- •9 Прямой симплекс—метод
- •10 Лексикографический вариант прямого симплекс-метода
- •11 Метод искусственного базиса
- •12. Двойственные задачи линейного программирования. Построение двойственных задач
- •13. Теоремы двойственности
- •7. Базис и базисное решение
11 Метод искусственного базиса
В примерах, рассмотренных ранее, предполагалось, что либо задан исходный допустимый базис, либо было известно базисное допустимое решение.
В этом подразделе рассматривается общий метод решения задачи ЛП в канонической форме, позволяющий на первом этапе найти базисное допустимое решение или установить, что X ≠ (пуст. Множ.), а на втором — оптимальный базис и соответствующее ему решение либо установить неразрешимость задачи из-за неограниченности целевой функции. При этом не предполагается, что ранг матрицы А равен т.
Без ограничения общности можно считать, что система ограничений - равенств Ах = b записана таким образом, что b >= 0. Этого можно добиться, умножая нужные строки на —1.
Тогда метод искусственного базиса можно представить в виде следующих шагов.
0. Построить симплекс-таблицу для задачи ξ=sum{i=1,m}(xn+i)->min (8)
aix+xn+1=bi i=1,m (9)
xj>=0 j=1,n+m (10)
выбрав
в качестве базиса В = (An+1,...,
Ап+т).
Здесь ai
— это i-я
строка матрицы А (i
= 1,
т). Так как матрица В единичная, то для
построения таблицы достаточно в целевой
функции ξ
выразить базисные переменные (искусственный
базис) xn+i
(i=
1m)
через небазисные переменные Xj
(j
= 1,п),
используя ограничения (9). В результате
получим, что
ξ=sum{i=1,m}(bi-aix)
Следовательно, z00=-sum{i=1,m}(bi) ; a z0j=-sum{i=1,m}(aij) j=1,n
При
этом симплекс-таблица прямо допустима,
а базисное допустимое решение имеет
вид xj=0
(j=1,n)
и xn+1=bi
(i
= 1,
т).
1. Проделать шаги 1-4 алгоритма симплекс-метода, описанного в подразд. 4.4.
Так как целевая функция задачи (8)—(10) ограничена снизу нулем и допустимое множество, задаваемое условиями (9)—(10), непусто, то задача (8)—(10) всегда разрешима и минимум неотрицателен. Поэтому на первом этапе вычисления могут завершиться только получением прямо и двойственно допустимого базиса. Как только такой базис будет получен, перейти к следующему пункту.
Если оптимальное решение ξ * > 0, то КОНЕЦ (исходная задача не имеет допустимых решений: X = (пуст. Множ.)), иначе удалить из симплекс-таблицы все столбцы, соответствующие искусственным переменным Xj (j = п
+ 1,п+т), и нулевую строку.Если базисными переменными являются только переменные исходной задачи Xj (j <= п), то перейти на шаг 7.
Выбрать строку, соответствующую искусственной переменной хr (r > п).
Если существует zrs ≠ 0(1 <= s <= п), то выполнить элементарное преобразование базиса с ведущим элементом zrs и перейти на шаг 3.
Если zrj = 0 для всех j =
1,п, то удалить r-ю строку из симплекс-таблицы и перейти на шаг 3.Добавить нулевую строку в симплекс-таблицу, записав в неё коэффициенты целевой функции основной задачи w(x), выраженной через небазисные переменные. Получена прямо допустимая симплекс-таблица исходной задачи.
Проделать шаги 1-4 алгоритма симплекс-метода, описанного в подразд. 4.4.
Шаги 0-7 описанного выше способа получения базисного допустимого решения обычно называют первым этапом симплекс-метода, а метод в целом — двухэтапным симплекс-методом.
Выполнение шага 6 свидетельствует о линейной зависимости уравнений Ах = и, что позволяет удалить часть уравнений. Подобная ситуация возникает, если ранг матрицы А меньше числа уравнений т. После выполнения шага 7 имеем прямо допустимую симплекс-таблицу исходной задачи, т. е. завершён 0-й шаг алгоритма подразд. 4.4. и можно переходить к его шагам 1-4. В результате либо установим, что целевая функция w(x) не ограничена снизу, либо получим оптимальное решение.
