![](/user_photo/1546_yXJjJ.png)
2.3 Алгоритм метода искусственного базиса
Шаг 1. Приводим задачу ЛП к канонической форме
с неотрицательными
правыми частями
.
Шаг 2. В каждую i-ю строку ограничений вводим искусственную неотрицательную переменную xi и строим вспомогательную задачу ЛП вида:
Эта задача имеет
допустимое базисное решение
.
Для этого целевую функцию необходимо
выразить через свободные переменные
:
Шаг 3. Для построенной вспомогательной задачи строим симплексную таблицу:
|
b |
|
… |
|
|
|
|
… |
|
|
|
|
… |
|
. |
. |
… | ||
|
|
|
… |
|
и находим оптимальное решение вспомогательной задачи с помощью симплекс-метода.
Шаг 4. Если
и все переменные
являются небазисными, тоm
переменных из
войдут в базис и система ограничений,
соответствующих симплексной таблице,
будет иметь вид:
Так как переменные
,
то их исключили, не нарушив при этом
равенств. Выражая целевую функцию
основной задачи
через небазисные переменные
системы, получим исходную задачу.
Шаг 5.
Если
,
но в базисе остались искусственные
переменные
,
для которых
,
то проводим для каждой искусственной
переменной
из базиса следующее преобразование
симплексной таблицы: выбираем ведущим
столбцом столбец такой переменной
,
для которой элемент индексной строки
,
а элемент столбца
.
В этом случае строка искусственной
переменной
будет ведущей и после стандартного
преобразования симплексной таблицы
(Шаг 6 из прямого симплекс-метода)
искусственная переменная
выведется из базиса. В результате получим
симплексную таблицу, соответствующуюШагу 4.
Шаг 6. Если
,
то допустимого решения в исходной задаче
не существует (не могут все искусственные
переменные
быть равными нулю), а значит, система
ограничений задачи несовместна –
процесс решения исходной задачи
завершается.
2.4 Алгоритм двойственного симплекс метода
Метод работает с теми же симплексными таблицами, что и прямой симплекс - метод для задачи на минимум. Сначала определяется переменная, подлежащая выводу из базиса, а затем переменная, вводимая в базис.
Шаг 0: Начинаем с симплексной таблицы
|
b |
|
… |
|
L |
|
|
… |
|
|
|
|
… |
|
. |
. |
… | ||
|
|
|
… |
|
где
.
Шаг 1:
Проверка на оптимальность. Если
,
то решение
- оптимальное.
Шаг 2:
Выбор ведущей строки. Выбираем среди
номеров i,
для которых
,
номерk
с максимальным по модулю значением:
.
Строка k
объявляется ведущей.
Шаг 3:
Проверка на неразрешимость. Если в
строке
нет отрицательных элементов, то
двойственная целевая функция неограниченна
и, следовательно, прямая задача не имеет
допустимых решений. Процесс решения
завершается.
Шаг 4:
Выбор ведущего столбца s.
Выбираем среди отрицательных элементов
строки
элемент с номеромs,
для которого выполняется равенство :
.
Столбец s
объявляется ведущим, а элемент
- ведущим элементом.
Шаг 5: Проводим стандартное преобразование симплексной таблицы (Ш6 из прямого симплекс-метода).