В нижеследующей задаче максимизировать Z при неотрицателных x1, x2, …, x5, удовлетворяющих приведенным равенствам.
Z = (4·x1 + 0·x2 – 1·x3 + 5·x4 + 5·x5 + 5) / (2·x1 + 2·x2 + 2);
1·x1 – 2·x2 + x3 = 3;
–2·x1 + 3·x2 + x4 = 6;
3·x1 + 2·x2 + x5 = 17.
Решение
Обращаем внимание на то, что 2·x1 + 2·x2 + 2 ≠ 0, иначе Zmax ∞.
Поэтому можно ввести обозначения y0 = 1 / (2·x1 + 2·x2 + 2); yj = xj · y0; j = 1, 2, 3, 4, 5, откуда получаем 2·y1 + 2·y2 + 2·y0 = 1. Кроме того, на y0 умножаем ограничения-равенства.
В результате имеем следующую задачу линейного программирования:
Z = 5·y0 + 4·y1 + 0·y2 – 1·y3 + 5·y4 + 5·y5 max;
–3·y0 + 1·y1 – 2·y2 + y3 = 0;
–6·y0 – 2·y1 + 3·y2 + y4 = 0;
–17·y0 + 3·y1 + 2·y2 + y5 = 0;
2·y0 + 2·y1 + 2·y2 = 1.
Для образования исходного опорного решения достаточно ввести лишь одну искусственную переменную y6 в последнее уравнение. Эту же переменную вводим в целевую функцию с коэффициентом –M, где M – достаточно большое положительное число.
Получаем M-задачу, которую можно решать табличным симплекс-методом:
Z = 5·y0 + 4·y1 + 0·y2 – 1·y3 + 5·y4 + 5·y5 – M·y6 max;
–3·y0 + 1·y1 – 2·y2 + y3 = 0;
–6·y0 – 2·y1 + 3·y2 + y4 = 0;
–17·y0 + 3·y1 + 2·y2 + y5 = 0;
2·y0 + 2·y1 + 2·y2 + y6 = 1.
Опорным решением полученной M-задачи является вектор ỹ = (0; 0; 0; 0; 0; 0; 1) с единичным базисом A3, A4, A5, A6
.
Заполняем исходную симплекс-таблицу:
№ Базис Cбаз B 5 4 0 –1 5 5 –M Отношения
A0 A1 A2 A3 A4 A5 A6
1 A3 –1 0 –3 1 –2 1 0 0 0 –
2 A4 5 0 –6 –2 3 0 1 0 0 –
3 A5 5 0 –17 3 2 0 0 1 0 –
4 A6 –M 1 “2” 2 2 0 0 0 1 1 / 2 – min
5 – – 0 –117 0 27 0 0 0 0 –
6 – – –1 –2 –2 –2 0 0 0 0 –
Примечание.
Вычисление значений в оценочной строке 5:
(–1) · 0 + 5 · 0 + 5 · 0 = 0 {B};
(–1)·(–3)+5·(–6)+5·(–17)–5=–117 {A0}; …; (–1)·0+5·0+5·1–5=0 {A5};
(–1) · 0 + 5 · 0 + 5 · 0 = 0 {A6}.
Вычисление значений в оценочной строке 6:
(–M) · 1 = –M {B};
(–M) · 2 = –2·M {A0}; …; (–M) · 0 = 0 {A5};
(–M) · 1 – (–M) = 0 {A6}.
Видим, что в оценочной строке 6 (столбцы A0 – A6) имеются отрицательные элементы (минимальный –2). При этом для каждого из них в соответствующем столбце имеется положительное число. Это значит, что данное опорное решение не является оптимальным, а также нет оснований полагать, что целевая функция неограничена сверху.
Выбираем вектор A0, который следует ввести в базис