Метод
искусственного базиса
При
решении задач линейного программирования
симплексным методом иногда бывает достаточно сложно найти исходное опорное решение. В этом случае применяют метод
искусственного базиса, который позволяет избежать затруднений, связанных с
нахождением первоначального опорного решения.
Алгоритм
метода искусственного базиса
1. Привести задачу линейного
программирования к каноническому виду.
2. Построить М-задачу. Для этого в каждое уравнение
системы ограничений, не имеющее переменной, исключенной из других уравнений, необходимо
ввести искусственную переменную с коэффициентом 1, не меняя знак равенства.
Искусственные переменные также вводятся и в целевую функцию с коэффициентом –М (или +М, если решается задача на минимум), где М – сколь угодно большое число.
3. Выписать исходное опорное
решение.
4. Рассчитать оценки свободных переменных
по формуле
,
где
- коэффициенты при свободной переменной xj,
- коэффициенты при базисных переменных в целевой функции,
- коэффициент при свободной переменной в целевой функции;
и записать оценки в двух строках и
: строка
содержит коэффициенты
при множителе М в оценке
; строка
содержит другую часть
оценки.
5. Решить М-задачу симплексным методом. Критерий оптимальности проверяется по
строке так же, как и в
симплексном методе. Учесть следующие возможные случаи:
а) если в оптимальном решении М-задачи
все искусственные переменные равны 0, то соответствующее решение исходной
задачи является оптимальным и экстремумы
целевых функций равны;
б) если в оптимальном решении М-задачи
хотя бы одна из искусственных переменных не равна 0, то исходная задача не
имеет оптимального решения из-за несовместности системы ограничений;
в) если М-задача не имеет
оптимального решения, то исходная задача также не имеет оптимального решения.
Если искусственная переменная выводится из базиса, то в дальнейших
расчетах она не участвует, то есть соответствующий ей столбец не
пересчитывается.
6. Когда все искусственные
переменные будут выведены из базиса, а оценочная строка будет заполнена
нулями, завершить решение задачи обычным симплексным методом, считая строкой
оценок строку
.