3. Методы решения задач.
Графический метод решения задач линейного программирования.
Графический метод – основан на геометрической интерпретации задачи и применяется для решения стандартных задач линейного программирования с двумя переменными.
Симплексный метод решения задач линейного программирования.
Этот метод является универсальным и решает любые задачи линейного программирования с любым числом переменных.
Геометрически он требует значения целевой функции в вершинах многогранника решений и выбирает оптимальное.
4. Метод искусственного базиса (Симплекс-метод)
Данный метод решения применяется при наличии в системе ограничений и условий-равенств, и условий-неравенств, и является модификацией табличного метода. Решение системы производится путём ввода искусственных переменных Ri со знаком, зависящим от типа оптимума, т.е. для исключения из базиса этих переменных последние вводятся в целевую функцию с большими отрицательными коэффициентами M, имеющими смысл "штрафов" за ввод искусственных переменных, а в задачи минимизации - с положительными M. Таким образом из исходной получается новая M-задача (поэтому метод искусственного базиса так же называют M-методом).
Если в оптимальном решении М-задачи нет искусственных переменных, это решение есть оптимальное решение исходной задачи. Если же в оптимальном решении M-задачи хоть одна из искусственных переменных будет отлична от нуля, то система ограничений исходной задачи несовместна и исходная задача неразрешима.
Симплекс-таблица, которая составляется в процессе решения, используя метод искусственного базиса, называется расширенной. Она отличается от обычной тем, что содержит две строки для функции цели: одна – для составляющей F, а другая – для составляющей M. При составлении симплекс таблицы полагают что исходные переменные являются небазисными, а дополнительные (xn+m) и искусственные (Ri)- базисными.
Исходная таблица для "Метода искусственного базиса" имеет следующий вид: x1 x2 ... xn-1 xn b
F -a0,1 -a0,2 ... -a0,n-1 -a0,n -b0
xn+1 a1,1 a1,2 ... a1,n-1 a1,n b1
xn+2 a2,1 a2,2 ... a2,n-1 a2,n b2
Ri ai,1 ai,2 ... ai,n-1 ai,n bi
... ... ... ... ... ... ...
xn+m am,1 am,2 ... am,n-1 am,n bm
M -∑ai,1 -∑ai,2 ... -∑ai,n-1 -∑ai,n -∑bi
Элементы дополнительной строки M расчитываются как сумма соответствующих коэффициентов условий-равенств (условий в которые после приведения к каноническому виду введены переменные Ri) взятая с противоположным знаком.
5. Алгоритм метода искусственного базиса.
Приводим Подготовительный этап
задачу ЛП к каноническому виду
F=a0,1x1+a0,2x2+...a0,nxn +b0 → max
a1,1x1+a1,2x2+...a1,nxn+xn+1=b1
a2,1x1+a2,2x2+...a2,nxn+xn+2=b2
.........................................
ai,1x1+ai,2x2+...ai,nxn+Ri=bi
.......................................
am,1x1+am,2x2+...am,nxn+xn+m=bm
В случае если в исходной задаче необходимо найти минимум - знаки коэффициентов целевой функции F меняются на противоположные a0,n=-a0,n. Знаки коэффициентов ограничивающих условий со знаком "≥" так же меняются на противоположные. В случае если условие содержит знак "≤" или "=" - коэффициенты запишутся без изменений. К каждому условияю-неравенству, при переходе к каноническому виду добавляем дополнительную переменную, xn+m , к каждому i-му условию-равенству добавляем искусственную переменную Ri.
Шаг 0. Составляем симплексную таблицу, соответствующую исходной задаче x1 x2 ... xn-1 xn b
F -a0,1 -a0,2 ... -a0,n-1 -a0,n -b0
xn+1 a1,1 a1,2 ... a1,n-1 a1,n b1
xn+2 a2,1 a2,2 ... a2,n-1 a2,n b2
Ri ai,1 ai,2 ... ai,n-1 ai,n bi
... ... ... ... ... ... ...
xn+m am,1 am,2 ... am,n-1 am,n bm
M -∑ai,1 -∑ai,2 ... -∑ai,n-1 -∑ai,n -∑bi
Шаг 1. Проверка на допустимость.
Проверяем на положительность элементы столбца b (свободные члены), если среди них нет отрицательных то найдено допустимое решение (решение соответствующее одной из вершин многогранника условий) и мы переходим к шагу 2. Если в столбце свободных членов имеются отрицательные элементы то выбираем среди них максимальный по модулю - он задает ведущую строку k. В этой строке так же находим максимальный по модулю отрицательный элемент ak,l - он задает ведущий столбец - l и является ведущим элементом. Переменная, соответствующая ведущей строке исключается из базиса, переменная соответствующая ведущему столбцу включается в базис. Пересчитываем симплекс-таблицу согласно правилам.
Если же среди свободных членов есть отрицательные элементы - а в соответствующей строке - нет то условия задачи несовместны и решений у нее нет.
Если после перерасчета в столбце свободных членов остались отрицаетельные элементы, то переходим к первому шагу, если таких нет, то ко второму.
Шаг 2. Проверка на оптимальность.
На предыдущем этапе найдено допустимое решение. Проверим его на оптимальность Если среди элементов симплексной таблицы, находщихся в строках M и F(не беря в расчет элемент b0 - текущее значение целевой функции и элемент -∑bi) нет отрицательных, то найдено оптимальное решение.
