Симплекс-метод решения задачи линейного программирования
Основным методом решения задач линейного программирования является симплекс-метод. Геометрический смысл симплекс-метода состоит в последовательном переходе от одной вершины многогранника решений (называемой первоначальной вершиной) к соседней, в которой функция цели принимает лучшее (по крайней мере, не худшее) значение до тех пор, пока не будет найдено оптимальное решение – вершина, в которой достигается оптимальное значение функции цели.
Cимплекс-метод можно применять в том случае, когда задача программирования задана в каноническом виде. В дальнейшем, будем рассматривать задачи линейного программирования канонического вида, так как любая ЗЛП может быть сведена к решению канонической задачи.
Задача линейного программирования имеет канонический вид, если система ограничений задана множеством уравнений:
и каждое i-е уравнение содержит переменную такую, что коэффициент перед ним в этом уравнении равен 1, а во всех других уравнениях равен 0. Если при этом , то говорят о допустимом каноническом виде. Переменные называют базисными, остальные – свободными.
ЗЛП допустимого канонического вида может быть записана в допустимой симплекс-таблице следующего вида: левый крайний столбец содержит номера базисных переменных, верхняя строка – номера свободных переменных. В точке пересечения строки, соответствующей значению , и столбца, соответствующего , стоит коэффициент при свободной переменной в уравнении i, в котором выделена базисная переменная . Соответственно, справа записаны постоянные члены уравнений, внизу – коэффициенты целевой функции от свободных переменных, а в правом нижнем углу записано значение «-Q0».
Симплекс-таблица
… | ||||
… | ||||
… | … | … | … | |
… | ||||
… |
Допустимому каноническому виду ЗЛП или соответствующей допустимой симплекс-таблице сопоставляется точка , , , . Координаты этой точки удовлетворяют n линейно-независимым условиям ЗЛП: m уравнениям и n-m неравенствам для свободных переменных. Эта точка является допустимым базисным решением и вершиной многогранника решений.
Допустимой симплекс-таблице соответствует точка минимума, если все коэффициенты целевой функции неотрицательны:
, …,
Тогда минимальное значение целевой функции равно
Если критерий не выполнен, то есть не все коэффициенты целевой функции неотрицательны, то следует перейти от одного допустимого решения к соседнему допустимому, то есть такому, в котором множества базисных и свободных переменных изменены на один элемент. Этот процесс называют симплекс-шагом или заменой базиса. Опишем последовательно его этапы.
1) Выбор разрешающего столбца: среди элементов последней строки таблицы выбирается любой , и соответствующий столбец называется разрешающим. В качестве рекомендуется выбирать минимальное .
2) Выбор разрешающей строки: если для всех элементов разрешающего столбца, то минимум не существует. Если это не так, то для всех положительных вычислим отношение . Строка i, для которой отношение минимально, называется разрешающей строкой , общий элемент разрешающего столбца и разрешающей строки называется разрешающим элементом.
3) Замена базиса при помощи разрешающего элемента . Если w – какое-либо значение в таблице, то через будем обозначать значение, стоящее в новой таблице на том же самом месте:
а)номера переменных из разрешающей строки и разрешающего столбца меняются местами, | , , |
номера других переменных остаются на месте | для всех , для всех ; |
б) разрешающий элемент заменяется на обратное значение: | , |
остальные элементы разрешающего столбца и разрешающей строки делят на разрешающий элемент со знаком «-» для элементов разрешающего столбца и со знаком «+» для элементов разрешающей строки, то есть
элементы разрешающего столбца заменяются следующим образом: для всех , | ; |
и элементы разрешающей строки заменяются следующим образом: для всех , | ; |
в) элементы симплекс-таблицы, не принадлежащие разрешающей строке и разрешающему столбцу, пересчитываются следующим образом - из элемента вычитается произведение соответствующих элементов из разрешающей строки и разрешающего столбца, деленное на разрешающий элемент:
для всех и ,
для всех ,
для всех ,
.
Всегда должно получаться и . Может случиться, что , хотя . После пересчета всех элементов симплекс-таблицы проверяется критерий минимальности - все коэффициенты целевой функции должны быть неотрицательны.
Отметим, что переменным, индекс которых стоит в верхней строке, в базисном решении приписывается значение 0; это свободные переменные. Каждая из переменных, индекс которых стоит в левом столбце, приравнивается к числу, записанному в правом столбце той же самой строки; это базисные переменные.
Каждой задаче линейного программирования можно сопоставить точно одну двойственную ей задачу линейного программирования.