Графический метод решения ЗЛП целесообразно использовать только для задач с двумя переменными. В случае большего числа переменных используют универсальный метод решения ЗЛП – симплекс-метод.
В основе симплекс-метода лежит алгоритм симплексных преобразований системы линейных уравнений, дополненный правилом, которое обеспечивает переход к лучшему опорному плану.
Алгоритм симплекс-метода решения ЗЛП
1. Определение начального опорного плана ЗЛП.
2. Построение симплексной таблицы.
3. Проверка опорного плана на оптимальность с помощью оценок оптимальности. Если все оценки удовлетворяют условию оптимальности, то опорный план является оптимальным. Если хотя бы одна из оценок не удовлетворяет условию оптимальности, то переходят к новому опорному плану или устанавливают, что оптимального плана задача не имеет.
4. Переход к новому опорному плану задачи осуществляется путем определения генерального элемента и построением следующей симплексной таблицы.
5. Повторение действий, начиная с п.3.
Рассмотрим алгоритм симплекс-метода на примере.
Пример 2.3.1. Решить ЗЛП (2.2.1), (2.2.5) симплекс-методом.
Решение.Для решения ЗЛП необходимо, чтобы все свободные члены системы ограничений (2.2.1) были неотрицательными. Для этого первое неравенство системы умножим на (–1):
(2.3.1)
Замечание.
Если требуется максимизировать целевую функцию, то удобнее перейти к нахождению минимума, используя соотношение
max z = – min(–z).
Перейдем к минимуму в нашей задаче:
min(–z) = – x1 – 4x2
Приведем задачу к канонической форме, вводя дополнительные переменные x3 , x4, x5 в систему ограничений (2.3.1).
Замечание.
Если неравенство имеет знак “ ”, то дополнительную переменную вводят со знаком “+”; если неравенство имеет знак “ ”, то дополнительную переменную вводят со знаком “– ”.
ЗЛП (2.3.1) в канонической форме имеет следующий вид:
min(–z) = – x1 – 4x2 .
Для получения первоначального базиса используют векторы, образующие единичную матрицу. Если таких векторов недостаточно, вводят искусственные переменные в систему ограничений: если дополнительная переменная имеет знак минус, то в это уравнение вводят искусственную переменную со знаком плюс; если дополнительная переменная имеет знак плюс, то в это уравнение искусственную переменную вводить не нужно. Искусственные переменные одновременно вводятся в целевую функцию z с неизвестным положительным коэффициентом М.
(2.2.2)
min(–z) = – x1 – 4x2 + Мx6 + Мx7.
В векторной форме система ограничений (2.2.2) имеет вид
Переменные x1 и x2 являются основными, x3, x4, x5 – дополнительными, x6, x7 – искусственными. Векторы р6, р4, р7 образуют единичный базис, причем р6 – первый базисный вектор.
Заполним первую симплекс-таблицу. Исходная симплекс-таблица заполняется следующим образом. В первой строке записывают коэффициенты целевой функции. В столбец “Базис” записывают базисные векторы. В столбце “С” записывают коэффициенты целевой функции при базисных векторах. В столбцах “р0”, “р1”, “р2”, “р3”, “р4”, “р5”, “р6”, “р7” записывают компоненты соответствующих векторов.
Для заполнения клеток таблицы, которые находятся в двух последних строках, нужно элементы столбца “С” умножить на соответствующие элементы рассчитываемого столбца и отнять число, стоящее в первой строке (за исключением столбца “р0”). Например, для заполнения клеток столбца “р2” умножим элементы столбца “С” на соответствующие элементы столбца “р2” и отнимем число – 4: М·5 + 0·1 + М·1 – (– 4) = 4 + 6М. Коэффициент при М записывают в М-строку, число без М вносят в z–строку.
Таблица 2.3.1
Первая симплексная таблица
Базис
С
р0
– 1
– 4
М
М
С.О.
р1
р2
р3
р4
р5
Р6
р7
р6
М
–1
5/1
р4
6/1
р7
М
–1
7/7
z-строка
М-строка
–1
–1
Последние две строки симплекс-таблицы называются индексными. В них, начиная со второго столбца “р1”, содержатся оценки оптимальности, с помощью которых проверяют оптимальность опорного плана, соответствующего данной таблице. Значение составляющих опорного плана расположено в столбце “р0”, причем небазисным переменным присваивают нулевые значения.
Первой симплекс-таблице 2.3.1 соответствует опорный план:
Критерий оптимальности проверяют по М-строке, а если она отсутствует, то по z-строке.
Критерий оптимальностиопорного плана
· Если в индексной строке среди оценок оптимальности есть хотя бы одна положительная, то опорный план не является оптимальным.
· Если в индексной строке все оценки оптимальности для небазисных переменных являются отрицательными числами, то опорный план является оптимальным и единственным.
· Если в индексной строке небазисным переменным отвечают нулевые оценки, а среди оценок оптимальности нет положительных, то опорный план является оптимальным, но не единственным.
В нашем случае опорный план, соответствующий первой симплекс-таблице оптимальным не является.
Для перехода к следующей симплекс-таблице в М-строке выбирают наибольшую положительную оценку, начиная со столбца “р1”. В нашем случае – это число 8 в столбце “р1”.
ü
Столбец, содержащий наибольшую положительную оценку, называется разрешающим. Он показывает, какой вектор следует ввести в базис.
В нашем случае вектор “р1” следует ввести в базис.
Найдем симплексноеотношение оптимальности : элементы столбца “р0” разделим на положительные элементы разрешающего столбца.
ü
Строка, соответствующая наименьшему отношению оптимальности , называется разрешающей. Она показывает, какой вектор следует вывести из базиса.
В нашем случае . Таким образом, вектор р7 следует вывести из базиса. Кроме того вектор р7 можно исключить из рассмотрения, поскольку он является искусственным.
ü
Генеральный элемент – это элемент, который расположен на пересечении разрешающего столбца и разрешающейстроки.
В нашем случае это число 7.
Переход к следующей симплекс-таблице осуществляют по правилам:
· все элементы разрешающей строки делят на генеральныйэлемент;
· разрешающий столбец дополняют нулями;
· если в разрешающей строке есть нули, то соответствующие столбцы переписывают без изменений;
· все другие элементы рассчитывают с помощью метода прямоугольников: если г – генеральный элемент, с – старый элемент, а и b – элементы разрешающей строки и разрешающего столбца,топ – новый элемент находят по формуле:
а
с
г
b
Таким образом, вторая симплекс-таблица имеет вид:
Таблица 2.3.2
Вторая симплексная таблица
Базис
С
р0
– 1
– 4
М
С.О.
р1
р2
р3
р4
р5
р6
р6
М
34/7
–1
1/7
4/(34/7)=14/17
р4
6/7
1/7
5/(6/7)=30/7
р1
– 1
1/7
–1/7
1/(1/7)=7
z-строка
– 1
27/7
1/7
М-строка
34/7
–1
1/7
Этой симплексной таблице соответствует опорный план:
x1 = 1, x2 = 0, x3 = 0, х4 = 5, x5 = 0, x6 = 4.
Он не является оптимальным, так как в М-строке есть положительные оценки.
По правилам, описанным выше, перейдем к третьей симплексной таблице:
Таблица 2.3.3
Третья симплексная таблица
Базис
С
р0
– 1
– 4
р1
р2
р3
р4
р5
р2
– 4
14/17
–7/34
1/34
р4
73/17
3/17
2/17
(73/17)/(3/17)=73/3
р1
– 1
15/17
1/34
–5/34
(15/17)/(1/34)=30
z-строка
–71/17
27/34
1/34
В этой таблице отсутствует М-строка, поскольку искусственные векторы выведены из базиса, и в дальнейшем не рассматриваются.
Третьей симплексной таблице соответствует опорный план: