Пример 3.3
Рассмотрим задачу об использовании сырья (пример 2.1)
Математическая модель данной задачи имеет вид:
F = 3x1 + 2x2 ® max,
x1 + 2x2 £ 6
2x1 + x2 £ 8
- x1 + x2 £ 1
x2 £ 2
x1, x2³0
Приведем данную модель к каноническому виду.
1. Целевая функция удовлетворяет требованию максимизации, т.е. соответствует каноническому виду.
2. Система ограничений представляет собой систему неравенств типа «≤». Приводим ее к системе ограничений-равенств путем введения в каждое из неравенств неотрицательной дополнительной переменной с коэффициентом «+1»:
x1 + 2x2 + x3 =6,
2x1 + x2 +x4 =8,
-x1 + x2 +x5 =1,
x2 +x6 =2.
Дополнительные переменные имеют определенный экономический смысл. Для данной задачи дополнительные переменные х3 и х4 отражают расход и наличие производственных ресурсов (т.е. продуктов А и В соответственно), а их числовое значение в плане задачи равно объему неиспользованного соответствующего ресурса; дополнительные переменные х5 и х6 характеризуют величину дисбаланса между планируемым объемом производства и величиной спроса.
3. Согласно экономическому содержанию все переменные задачи могут принимать только неотрицательные значения, т.е. xj³0, .
Таким образом, исходная задача приведена к канонической форме. Система ограничений имеет вид:
F=3x1+2x2®max,
х1 + 2x2 + x3 =6
2x1 + x2 + x4 =8
-x1 + x2 +x5 =1
x2 +x6=2
хj³0, .
Начальный опорный план данной задачи образуют m=4 единичных вектора: Р3=(1 0 0 0 ), Р4=(0 1 0 0 ), Р5=(0 0 1 0 ), Р6=(0 0 0 1 ), соответствующие, в данном случае, дополнительным переменным х3, х4, х5, х6.
Составляем первую симплекс-таблицу.
і | Базис | Сб | Р0 | 3 | 2 | 0 | 0 | 0 | 0 |
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||||
Х3 | |||||||||
2 | Х4 | ||||||||
Х5 | -1 | ||||||||
Х6 | |||||||||
5 | -3 | -2 |
В столбец «Базис» заносим наименование базисных переменных, соответствующих начальному опорному плану.
В столбец «Сб» заносятся коэффициенты при базисных переменных в целевой функции задачи. Так как переменные Х3, Х4, Х5, Х6 отсутствуют в целевой функции, то их коэффициенты равны нулю.
В столбец «Р0» заносится столбец свободных членов в системе ограничений.
На пересечении первых 4-х строк и последних 6-ти столбцов, соответствующих переменным задачи, записываем матрицу коэффициентов при неизвестных в системе ограничений.
Элементы индексной строки (5-я строка) заполняются для столбцов Р0 и Х1, …, Х6:
· для столбца Р0: D0=Сб*Р0, т.е. D0=0*6+0*8+0*1+0*2=0;
· для столбца Хj, j=1,6 : Dj= Сб*Рj-сj
где Рj – вектор-столбец коэффициентов при переменной Хj в системе ограничений, сj – коэффициент при Хj в целевой функции задачи.
Например, D1 = 0*1 + 0*2 + 0*(-1) + 0*0 – 3 = -3;
D2 = 0*2 + 0*1 + 0*1 + 0*1 - 2 = -2.
Для текущих базисных переменных в индексной строке всегда будут стоять нули.
Построенная симплекс-таблица характеризует начальный опорный план задачи: Х0=(0; 0; 6; 8; 1; 2).
Значения базисных переменных взяты из столбца Р0, все небазисные переменные, - Х1 и Х2, - равны нулю.
Значение целевой функции при данном плане равно: F(x0)=0 (значение ячейки таблицы D0).
Этому плану соответствует такая ситуация: ничего не производится, ресурсы не используются, спрос не удовлетворен, а прибыль от реализации равна нулю.
Проверка плана на оптимальность.
Так как D1 = -3 < 0 и D2 = -2 < 0, то план Х0 не оптимальный. Переходим к лучшему плану, выбрав разрешающие столбец и строку.
Разрешающий столбец выбираем из условия:
.
Таким образом, в новый базис необходимо ввести переменную Х1 соответствующую D1.
Для положительных элементов разрешающего столбца рассчитываем:
.
Данное соотношение определяет разрешающую строку, т.е. ту переменную, которую необходимо вывести из базиса (в нашем случае это Х4).
Разрешающий элемент a21=2.
Согласно пунктам 4а)-д) алгоритма заполняем новую симплекс-таблицу и проверяем ее на оптимальность.
і | Базис | Сб | Р0 | 3 | 2 | 0 | 0 | 0 | 0 |
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||||
1 | Х3 | 3/2 | -1/2 | ||||||
Х1 | ½ | ½ | |||||||
Х5 | 3/2 | ½ | |||||||
Х6 | |||||||||
5 | -1/2 | 3/2 |
Для переменных нового базиса в соответствующем столбце на пересечении одноименных переменных ставится «1», остальные элементы столбца – «0».
Элементы второй строки новой таблицы (соответствующей разрешающей строке предыдущей таблицы) получаем путем деления элементов разрешающей строки на разрешающий элемент.
Все остальные элементы таблицы пересчитываем по формулам (3.16).
Например элемент 1й строки столбца Р0:
,
или элемент 3-й строки 2-го столбца:
и т.д.
Таким образом, новый опорный план задачи Х1 = (4; 0; 2; 0; 5; 2) предусматривает выпуск 4 тонн краски Е (Х1=4), краска I не выпускается (Х2=0), продукт В полностью израсходован (Х4=0), а остаток продукта А – 2 тонны (Х3=2); дисбаланс между выпуском красок 5 тонн (Х5=5), а спрос на краску I превышает предложение, т.е. ее выпуск на 2 тонны (Х6=2).
При таком плане производства фирма получает прибыль, равную F(Х1)=12 тыс. грн.
Построенный план не оптимален, так как D2 = -1/2 < 0.
Переходим к лучшему опорному плану, введя в новый базис переменную Х2 вместо переменной Х3:
.
Элемент а12 = 3/2 – разрешающий элемент.
Строим новую симплекс-таблицу согласно пунктам 4а)-д) алгоритма:
і | Базис | Сб | Р0 | 3 | 2 | 0 | 0 | 0 | 0 |
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||||
Х2 | 4/3 | -1/3 | |||||||
Х1 | 10/3 | 2/3 | |||||||
Х5 | |||||||||
Х6 | 2/3 | 1/3 | |||||||
38/3 | 4/3 |
В последней симплексной таблице все Dj³0, . Значит, соответствующий ей план является оптимальным, т.е. , .
Таким образом, оптимальный план производства предусматривает выпуск 10/3 тонн краски Е и 4/3 тонн краски I, прибыль от реализации которой будет максимальной и составит тыс. грн. При данном плане производства продукты А и В полностью израсходованы; дисбаланс между объемом производства красок I и Е составляет 3 тонны/день, а спрос на краску I не удовлетворен на 2/3 тонны/день.
3.5 Метод искусственного базиса решения задачи линейного программирования
Как показано выше, для задачи, записанной в предпочтительной форме, можно непосредственно указать ее опорный план, т.к. среди векторов Рj, компонентами которых служат коэффициенты при неизвестных в системе уравнений, имеется т единичных. Однако для многих задач линейного программирования, записанных в форме основной задачи и имеющих опорные планы, среди векторов Pj не всегда есть m единичных.
Рассмотрим такую задачу.
Пусть требуется найти максимум функции:
F = c1x1 + c2x2 + ……+ cnxn (3.17)
при условиях:
(3.18)
где bi ³ 0 ( ), m<.n и среди векторов P1, P2, …, Pn нет m единичных.
Задача, состоящая в определении максимального значения функции:
F = c1x1 + c2x2 + ……+ cnxn -Мxn+1- …- Мxn+m (3.19)
при условиях:
(3.20)
где M — некоторое достаточно большое положительное число, конкретное значение которого обычно не задается, называется расширенной задачей по отношению к задаче (3.17) - (3.18).
Расширенная задача имеет опорный план: Х=(0; 0; ...; 0; b1; b2; ...;bm), определяемый системой единичных векторов Pn+1; Рп+2, … Рп+т, которые образуют базис m-мерного векторного пространства, называемого искусственным. Сами векторы, так же как и переменные xn+i ( ), называются искусственными. Так как расширенная задача имеет опорный план, то ее решение может быть найдено симплексным методом.
Теорема 3.5 Если в оптимальном плане X*=(x*1, x*2, ...; x*n, x*n+1; ...; x*n+m) расширенной задачи (3.19) - (3.20) значения искусственных переменных x*n+i=0 ( ), то X*=(x*1, x*2, ...; x*n) является оптимальным планом задачи (3.17) - (3.18).
Таким образом, если в найденном оптимальном плане расширенной задачи, значения искусственных переменных равны нулю, то тем самым получен оптимальный план исходной задачи.
Примечание. Расширенная задача решается с помощью описанного в п.3.4 алгоритма табличного симплекс-метода. На практике для удобства его использования в расширенной задаче конкретизируют коэффициенты М при искусственных переменных xn+i ( ) в целевой функции задачи, присваивая им значения, на порядок превышающие значение любого из коэффициентов при остальных переменных в целевой функции задачи. После чего такая задача решается с помощью обычных симплексных преобразований.
Итерационный процесс ведут до тех пор, пока:
1) либо все искусственные векторы не будут исключены из базиса;
2) либо не все искусственные векторы исключены, но индексная строка не содержит больше отрицательных элементов среди оценок оптимальности ∆1, …, ∆n.
В первом случае базис отвечает некоторому опорному плану исходной задачи и определение ее оптимального плана продолжают по общим правилам симплексного метода. Во втором случае исходная задача не имеет решения.
Этапы нахождения решения ЗЛП методом искусственного базиса:
1. Составляют расширенную задачу (3.19) - (3.20).
2. Находят опорный план расширенной задачи.
3. С помощью обычных вычислений симплекс-метода исключают искусственные переменные из базиса. В результате либо находят опорный план исходной задачи (3.17) — (3.18), либо устанавливают ее неразрешимость.
4. Используя найденный опорный план задачи (3.17) — (3.18), либо находят симплекс-методом оптимальный план исходной задачи, либо устанавливают ее неразрешимость.
Рассмотрим пример решения ЗЛП методом искусственного базиса для задачи, математическая модель которой была построена в разделе 2 (пример 2.6).
Пример 3.4 Задача о распределении руды
Математическая модель задачи имеет вид:
Запишем данную задачу в канонической форме:
В системе уравнений последней задачи рассмотрим векторы из коэффициентов при неизвестных:
Среди векторов P1, Р2, … P5 нет единичных. Поэтому в левую часть каждого уравнения системы ограничений задачи вводим искусственные неотрицательные переменные х6 - х8 и рассмотрим расширенную задачу:
Расширенная задача имеет опорный план Х=(0; 0; 0; 0; 0; 10; 4; 4), определяемый системой трех единичных векторов: P6, P7, Р8:
.
Для решения расширенной задачи с помощью симплексного метода примем значение М=100. Тогда окончательно получаем ЗЛП, пригодную для применения алгоритма симплексного метода:
Решение оформим последовательностью симплекс-таблиц:
Базис | Сб | Р0 | -5 | -6 | -1 | -100 | -100 | -100 | ||||
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | Х7 | Х8 | |||||
Х6 | -100 | |||||||||||
Х7 | -100 | 0,4 | 0,6 | 0,2 | -1 | |||||||
Х8 | -100 | 0,6 | 0,5 | 0,2 | -1 | |||||||
-1800 | -195 | -204 | -139 | |||||||||
Х1=(0; 0; 0; 0; 0; 10; 4; 4), - не оптимальный, F1(Х1)=-1800. | ||||||||||||
Базис | Сб | Р0 | -5 | -6 | -1 | -100 | -100 | -100 | ||||
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | Х7 | Х8 | |||||
Х6 | -100 | 3,333 | 0,33 | 0,7 | 1,67 | -1,7 | ||||||
Х2 | -6 | 6,667 | 0,67 | 0,3 | -1,7 | 1,67 | ||||||
Х8 | -100 | 0,667 | 0,27 | 0,8 | -1 | -0,8 | ||||||
-440 | -59 | -71 | -240 | |||||||||
Х2=(0; 6,667; 0; 0; 0; 3,333; 0; 0,667), - не оптимальный, F1(Х2)=-440. | ||||||||||||
Базис | Сб | Р0 | -5 | -6 | -1 | -100 | -100 | -100 | ||
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | Х7 | Х8 | |||
Х6 | -100 | -0,2 | 0,6 | -2 | ||||||
Х2 | -6 | 1,2 | 0,4 | -2 | ||||||
Х4 | 0,8 | 0,32 | -1,2 | -1 | 1,2 | |||||
-248 | 17,8 | -61 | -188 | |||||||
Х3=(0; 8; 0; 0,8; 0; 2; 0; 0), - не оптимальный, F1(Х3)=-248. | ||||||||||
Базис | Сб | Р0 | -5 | -6 | -1 | -100 | -100 | -100 | ||
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | Х7 | Х8 | |||
Х5 | -0,1 | 0,3 | 0,5 | -1 | ||||||
Х2 | -6 | |||||||||
Х4 | 0,2 | 0,4 | 0,6 | -1 | ||||||
-60 | -1 | -5 | ||||||||
Х4=(0; 10; 0; 2; 1; 0; 0; 0), - не оптимальный, F1(Х4)=-60. | ||||||||||
Базис | Сб | Р0 | -5 | -6 | -1 | -100 | -100 | -100 | ||
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | Х7 | Х8 | |||
Х3 | -1 | 3,333 | -0,3 | 3,3 | 1,7 | -3,3 | ||||
Х2 | -6 | 6,667 | 1,33 | -3,3 | -0,7 | 3,3 | ||||
Х4 | 0,667 | 0,33 | -1,3 | -0,1 | -1 | 1,3 | ||||
-43,3 | -2,7 | |||||||||
Х4=(0; 6,667; 3,333; 0,667; 0; 0; 0; 0), - не оптимальный, F1(Х4)=-43,3. | ||||||||||
Базис | Сб | Р0 | -5 | -6 | -1 | -100 | -100 | -100 | ||
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | Х7 | Х8 | |||
Х3 | -1 | 1,6 | -1 | -2 | ||||||
Х2 | -6 | -4 | -0,4 | -2 | ||||||
Х1 | -5 | -4 | -0,2 | -3 | ||||||
-38 | ||||||||||
Х5=(2; 4; 4; 0; 0; 0; 0; 0), - оптимальный, F1(Х5)=-38. |
Так как в последней симплексной таблице среди чисел ∆i ( ) нет отрицательных, то план Х5 является оптимальным, поскольку все искусственные переменные в нем х6 - х8 равны нулю.
Таким образом, Х*=(2; 4; 4; 0; 0), Fmin(Х*)=-F1mах(Х*)=38.
Ответ: оптимальным считается переработка руды в количестве 2, 4 и 4 тонн соответственно по 1-му, 2-му и 3-му процессам. При этом суммарные затраты будут минимальными и составят 38 тыс. грн.
3.6 Двойственность в линейном программировании и ее применение в экономическом анализе