Рассмотрим задачу об использовании сырья (пример 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).
Разрешающий элемент a 21=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 = c 1x1 + 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 Двойственность в линейном программировании и ее применение в экономическом анализе