- •Содержание
- •Введение
- •Лекция 1. Вводные понятия математического программирования
- •Лекция 2. Геометрическая интерпретация решения задач линейного программирования
- •Лекция 3. Практическая реализация графического метода решения задач линейного программирования
- •Лекция 4. Теоретическое обоснование симплекс- метода
- •Лекция 5. Симплекс-метод решения задач линейной оптимизации
- •Лекция 7. Экономико-математический анализ решения задач линейного программирования
- •Лекция 9. Транспортная задача
- •Лекция 10. Нахождение оптимального решения транспортной задачи
- •1. Для решения транспортной задачи удобно использовать метод потенциалов.
- •Лекция 12. Метод множителей лагранжа
- •Заключение
- •Приложение а. Инвестиционные задачи и нелинейное программирование
- •Лекция 14. Оптимальный портфель ценных бумаг
- •Лекция 15. Практические способы формирования оптимальных фондовых портфелей
- •Приложение б. Теория игр и задачи линейного про- граммирования Лекция 16. Экономические риски и теория игр
- •Литература
Лекция 7. Экономико-математический анализ решения задач линейного программирования
План
1. Интервалы устойчивости ресурсов.
2. Интервалы устойчивости цен на продукцию.
1
1. Двойственные оценки являются показателем влияния ограничений на значение целевой функции.
Поэтому представляет практический интерес вычислить предельные зна-
чения правых частей системы ограничений bi
(нижней и верхней границы запа-
JG*
сов ресурсов), при которых оптимальный план X
останется неизменным.
Пример 1. Для исходной задачи ЛП из примера табл. 1 найти интервалы устойчивости ресурсов.
Табл. 1. Симметричная пара для примера о строительных смесях
Исходная
задача
Двойственная
задача
Z
=
4x1
+
5x2
→
max;
⎧0,
25x1
+
0,
6x2
≤
15,
⎪
⎨0,
25x1
+
0,
2x2
≤
7,
⎪0,
5x1
+
0,
2x2
≤
12;
x1
≥
0,
x2
≥
0.
F
=
15
y1
+
7
y2
+
12
y3
→
min;
⎧0,
25
y1
+
0,
25
y2
+
0,
5
y3
≥
4,
⎨
⎩0,
6
y1
+
0,
2
y2
+
0,
2
y3
≥
5;
y
≥
0,
y
≥
0,
y
≥
0.
JJG*
X =
(12;
20)
,
Zmax
=
148
.
JG*
Y =
(4,
5;11,
5;
0)
,
Fmin
=
148
.
y
y
y
2
3
Решение. Оптимальное решение двойственной задачи имеет вид:
y
y
1
2
3
* = 11, 5 ;
* = 0 . Т.к.
* > 0 ,
* > 0 и
* = 0 , то согласно второй
теореме двойственности первые два ограничения исходной задачи при подста-
y
новке оптимального решения
X = (12; 20)
обратятся в равенства, а третье ог-
раничение останется неравенством.
Имеем систему:
⎧0, 25x1 + 0, 6 x2 = 15;
⎪
⎩
⎪0, 5x1 + 0, 2x2 ≤ 12.
Правая часть первого ограничения исходной задачи (число 15) – это величина
запаса первого ресурса. Заменим число 15 на неизвестный параметр b1 :
⎧0, 25x1 + 0, 6x2 = b1;
⎪
⎩ 1 2
⎪0, 5x + 0, 2x ≤ 12.
Из первых двух равенств выразим неизвестные
ченные выражения в третье неравенство системы:
⎧
⎪ x1 = −2b1 + 42;
⎪
x1 ,
x2 и подставим полу-
⎪ x = 5 b
− 35 ;
2
⎪ 2
⎪− 1 b
+ 35 ≤ 12.
2 1 2
Для первых двух равенств учтём тот факт, что
приобретёт вид:
x1 ≥ 0 и
x2 ≥ 0 . Система
⎧
⎪−2b1 + 42 ≥ 0;
⎪
⎪ 5 b
− 35 ≥ 0;
2
2
⎪
⎪− 1 b
+ 35 ≤ 12.
Решим её относительно b1 :
2 1 2
⎧b1 ≤ 21;
⎪
⎩
1
⎪b ≥ 11.
Интервал устойчивости 1-го ресурса b1 ∈[11; 21] ,
Аналогичными действиями определим интервал устойчивости величины
запаса b2
2-го ресурса:
⎧0, 25x1 + 0, 6 x2 = 15;
⎪
⎩ 1 2
⎪0, 5x + 0, 2x ≤ 12.
Указание. Студентам выполнить самостоятельно и получить b2 ∈[5; 7,8] .
Краткое решение:
⎧
⎪ x1 = 6b2 − 30;
⎪
⎧
⎪6b2 − 30 ≥ 0;
⎪
⎧b2 ≥ 5;
⎪ x 5 b
75 ;
⎪ 5 75 ⎪
=− +
⎨− b
+ ≥ 0;
b ≤ 15;
b ∈[5; 7,8] .
⎨ 2 2 2 2
2 2 2
⎨ 2 2
⎪ ⎪ ⎪b
≤ 7,8.
⎪ 5 b
− 15 ≤ 12.
⎪ 5 b
− 15 ≤ 12. ⎩ 2
2 2 2
2 2 2
Определим интервал устойчивости для 3-го ресурса. Для этого правую часть третьего ограничения (число 12) заменим на неизвестный параметр b3 :
⎧0, 25x1 + 0, 6 x2 = 15;
⎪
⎩ 1 2 3
⎪0, 5x + 0, 2x ≤ b .
Найдём из первых двух уравнений неизвестные
неравенство системы. Получим:
x1 ,
x2 и подставим их в третье
⎧ x1 = 12;
⎪
⎩ 3
⎪10 ≤ b .
Интервал устойчивости 3-го ресурса: b3 ∈[10; +∞) .
Заметим, что вычисленные значения неизвестных
JG*
x1 ,
x2 совпадают с оп-
тимальным решением исходной задачи ЛП
X = (12; 20) . Поэтому можно было
сразу подставить значения решить его.
x1 = 12 и
x2 = 20
в последнее неравенство, а затем
Ответ: Интервал устойчивости 1-го ресурса:
b1 ∈[11; 21] . Интервал устой-
чивости 2-го ресурса:
b3 ∈[10; +∞) .
b2 ∈[5; 7,8] . Интервал устойчивости 3-го ресурса:
2. Благодаря теории двойственности можно проводить и другие виды анализа.
Интервалом устойчивости цены за единицу j -й продукции ( j = 1, n )
;
c
c
j
j
[ min
max ]
со следующими свойствами. Если цена
c ∈[c
min ; c
max ], а цены на остальные виды продукции зафиксированы, то оп-
j j j
тимальный план выпуска продукции
JG*
X
останется неизменным.
Пример 2. Для исходной задачи ЛП из табл. 1 найти интервалы устойчи-
вости цен на продукцию.
Решение. Оптимальное решение исходной задачи содержит положитель-
1
x * = 12 ;
x * = 20 . Согласно второй теореме двойственности, два ог-
раничения двойственной задачи
2
0, 6 y1 + 0, 2 y2 + 0, 2 y3 ≥ 5
должны обратиться в точные равенства.
3
y * = 0 . Поэтому получим систему:
⎧0, 25 y1 + 0, 25 y2 + 0, 5 y3 = 4;
⎨
⎧0, 25 y1 + 0, 25 y2 = 4;
⎪
⎨0, 6 y1 + 0, 2 y2 = 5;
⎩0, 6 y1 + 0, 2 y2 + 0, 2 y3 = 5.
⎪ y = 0.
⎩ 3
Правая часть первого ограничения двойственной задачи (число 4) – это
цена единицы первой продукции. Заменим число 4 на неизвестный параметр
⎧0, 25 y1 + 0, 25 y2 = c1 ;
⎨
⎩0, 6 y1 + 0, 2 y2 = 5.
c1 :
Для определения интервала устойчивости находим из системы неизвест-
ные
y1 и
y2 :
⎧ y = 25 − 4c1 ;
⎪ 1 2
⎨
y
⎩⎪ 2
= 12c1 − 25 .
2
Т.к.
y1 ≥ 0 и
y2 ≥ 0 , то имеем систему неравенств, которую решаем относи-
тельно
c1 :
⎧ 25 − 4c1 ≥ 0;
⎪ 2
⎨
Получено решение:
⎪12c1 − 25 ≥ 0.
⎪⎩ 2
⎧c1 ≤ 6, 25;
⎪
⎪
⎩ 1 12
Т.о. интервал устойчивости цены c1
⎡2 1 ; 6, 25⎤ .
на первую продукцию составляет:
12 ⎥⎦
Указание. Студентам самостоятельно определить интервал устойчивости
цены c2
на вторую продукцию и получить [3, 2;9, 6] .
Краткое решение:
⎧ y = 5c2 − 16 ;
⎧ 5c2 − 16 ≥ 0;
⎧0, 25 y1 + 0, 25 y2 = 4; ⎪ 1 2 ⎪ 2
⎨ ⎨ ⎨
⎧c2 ≤ 9, 6;
⎨
y
Пример 2 выполнен.
⎪
⎩⎪ 2
= 48 − 5c2 .
2
⎪ 48 − 5c2
⎪⎩ 2
≥ 0.
⎩c2 ≥ 3, 2.
3. Двойственные оценки являются показателем целесообразности производ-
ства новых видов продукции.
Допустим, имеется возможность начать выпуск продукции
Pn+1 . Нормы
расхода ресурсов на производство одной единицы продукции составляют соот-
ветственно
a1,n+1 ;
a2,n+1 ;…;
am,n+1 . Цена единицы продукции
cn+1 .
Целесообразность производства определяется прибылью от одной едини-
цы продукции:
n+1
n+1
m
∑ i ,n+1 i
∆ = c
− a
i=1
⋅ y * .
Если
∆n+1 > 0 , то производство прибыльное,
∆n+1 = 0
– безубыточное,
∆n+1 < 0
– убыточное.
Пример 3. Пусть для исходной задачи ЛП из табл. 1 известно, что имеет-
ся возможность начать выпуск продукции
P3 . Нормы расхода ресурсов на про-
изводство одной единицы продукции составляют соответственно
a13 = 0, 3 ;
a23 = 0, 3 ;
a33 = 0, 4 . Цена единицы продукции
c3 = 4, 7
тыс. грн.
P3 .
Требуется сделать выводы о целесообразности производства продукции
Решение. Целесообразность производства определяется размером при-
были от одной единицы продукции:
*
∆3 = c3
− ∑
i=1
ai3
⋅ yi = 4, 7 − (0, 3 ⋅ 4, 5 + 0, 3 ⋅11, 5 + 0, 4 ⋅ 0) = 4, 7 − 4,8 = −0,1 (тыс. грн).
Т.к.
∆3 < 0 , то производство убыточное. Производить продукцию
P3 не
целесообразно. Пример 3 выполнен.
Двойственные оценки также используют как инструмент сопоставления условных затрат и результатов.
При изменении количества ресурсов в пределах интервалов устойчивости отдельное влияние i -го ресурса на величину дохода от реализации определяет-
ся, как
(∆Z
) = ∆b
⋅ y * . Если
(∆Z
) > 0 , то доход увеличится на
(∆Z )
max
i i i
max i
max i
денежных единиц, в противном случае – уменьшится.
Суммарное влияние изменений количества всех ресурсов вычисляется
так:
JG JG*
∆Zmax = ∆ B ⋅ Y
m
= ∑ (∆Zmax )i .
i=1
Рассмотрим возможность дополнительной закупки i -го ресурса в объёме
+ +
∆bi
по цене
pi за единицу ресурса. Затраты на приобретение составят
∆bi
⋅ pi .
i
i
∆b + ⋅ y * .
Если приращение дохода превысит затраты на приобретение, т.е.
i
i
i
i
> 0 , то закупка целесообразна. В противном случае – нет.
По-другому,
∆b + ⋅ y * − ∆b + ⋅ p
= ∆b + ( y * − p ) .
i i i i i i i
i
i
( y * − p ) . Следовательно,
y
i
* превышает цену
pi , то закупка целесообразна.
Лекция 8. МЕТОД ИСКУССТВЕННОГО БАЗИСА РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОЙ ОПТИМИЗАЦИИ
1. Метод искусственного базиса.
План
2. Пример решения задачи ЛП методом искусственного базиса.
1. При решении задач ЛП симплекс-методом предполагалось, что среди векто-
ров
A1,
A2 ,...,
A j ,..., An
имеется m единичных векторов. Т.е. в каждом уравне-
нии есть базисная переменная, которая входит лишь в одно уравнение с коэф-
фициентом 1, а в остальные – с коэффициентом 0.
Рассмотрим исходную задачу в каноническом виде:
Z = c1x1 + c2 x2 + ⋅⋅⋅ + cn xn → min;
⎧a11 x1 + a12 x2 + ⋅⋅⋅ + a1n xn = b1 ,
⎨
⎩
m1
1
m
2
2
mn
n
m
⎪a x + a x + ⋅ ⋅ ⋅ + a x = b ,
(1)
x j ≥ 0 (j = 1,n).
Составляем расширенную задачу формальным добавлением новых базис-
ных (искусственных) переменных в уравнения, в которых их нет. В целевую функцию дописываем их с большим положительным числом M . Получим
расширенную задачу:
Z ′ = c1x1
+ c2 x2 + ⋅⋅⋅ + cn xn + Мxn+1 + Мxn+2 + ⋅⋅⋅ + Мxn+m → min;
⎧a11 x1 + a12 x2 + ⋅ ⋅ ⋅ + a1n xn +
xn+1
= b1 ,
⎨
(2)
⎩
m1
1
m
2
2
mn
n
+ xn+m = bm ,
x j ≥ 0 (j = 1,n + m), bi ≥ 0 (i = 1,m).
Такой подход называют методом искусственного базиса. Ясно, что ис-
кусственные переменные должны равняться нулю. Если среди них имеются не равные нулю, то исходная задача (1) несовместная. Или, по-другому, целевая
функция расширенной задачи (2) будет неограниченно расти с ростом M и не сможет достичь минимума. Если в оптимальном плане расширенной задачи ис- кусственные переменные равны нулю, то остальные переменные дают решение
исходной задачи, если же есть не равные нулю, то исходная задача несовмест- ная. Если же на некотором этапе, после выведения искусственных переменных из базиса, возникнет столбец с неположительными членами и положительной
оценкой для данного столбца, то
Z → −∞ . Если в оптимальном плане есть сво-
бодный вектор с нулевой оценкой, то оптимальный план не единственный.
2. Рассмотрим решение конкретной задачи ЛП с помощью метода искусствен-
ного базиса.
Пример 2. Решить задачу ЛП:
Z = x1 + 2 x2 + 2x3 → max;
⎧− x1 + 2 x2 − x3 ≤ -1,
⎪
⎨ x1 + 2 x2
≤ 1,
⎩
= 3,
x j ≥ 0 (j = 1,3).
Решение. Переходим к канонической форме. Для этого делаем замену
Z′ = −Z . В первое и второе ограничения дописываем балансовые переменные
x4 ,
x5 и первое ограничение умножаем на (–1):
Z ′ = − x1 − 2x2 − 2x3 + 0x4 + 0x5 → min;
⎧ x1 − 2 x2 + x3
⎪
⎨ x1 + 2 x2
- x4
+ x5
= 1,
= 1,
⎩
1
2
+ x3
= 3,
x j ≥ 0 (j = 1,5).
В первое и третье уравнение прибавляем, соответственно, искусственные
переменные
x6 ,
x7 с коэффициентом равным единице. В целевую функцию их
дописываем с коэффициентом M . Получили расширенную задачу:
Z ′′ = − x1 − 2x2 − 2x3 + 0x4 + 0x5 + Мx6 + Mx7 → min;
⎧ x1 − 2 x2 + x3 - x4 +
⎪
[x6 ]
= 1,
⎩
1
2
3
⎪ x + 2 x + x +
[x5 ]
= 1,
[x7 ] = 3,
x j ≥ 0 (j = 1,7).
Задачу решаем симплекс-методом (табл. 1).
Табл. 1. Первая симплекс-таблица с комментариями
Б1
С
Б
1
В1
À1
À2
À3
À4
À5
À6
À7
-1
-2
-2
0
0
М
М
À6
М
1
1
-2
[1]
-1
0
1
0
À5
À7
0
М
1
3
1
1
2
2
0
1
0
0
1
0
0
0
0
1
z
j
−
c
j
0
4
1
2
2
0
2
2
0
-1
0
0
0
0
0
0
θ
← 1/1 -1 -2
⎯
3/1
Имеем начальный опорный план
X Б1 = (0,0,0,0,1,1,3)
при
Z′′( X Б1 ) = −1⋅ 0 − 2⋅ 0 − 2⋅ 0 + 0⋅ 0 + 0⋅1+ М ⋅1+ М ⋅ 3 = 0 + 4М = 4М .
⎛ a ⎞
Числа в индексной строке имеют вид a + bM
и их записывают в виде
b
⎝ ⎠
ку вносят a, а в (m + 2) -ю строку записывают b . Знак числа a + bM
⎛ 25 ⎞
совпадает
⎛ 0 ⎞
со знаком числа b , если
b ≠ 0 . Например,
25 − 6M
= ⎜ ⎟ < 0 ,
⎝ −6 ⎠
⎜ ⎟ > 0 ,
⎝1 ⎠
⎛ −6 ⎞
⎛ 0 ⎞
−6 + M
= ⎜ ⎟ > 0 , ⎜ −1⎟ < 0 .
⎝ 1 ⎠ ⎝ ⎠
Сначала направляющий столбец выбирают по нижней строке, а после превращения искусственных переменных в свободные оптимизация произво- дится по верхней индексной строке.
Покажем, как находится индексная строка:
Z ′′
( X ) = 1 ⋅ М + 1 ⋅ 0 + 3 ⋅ М = 0 + 4М = ⎛ 0 ⎞ ,
⎝ ⎠
4
Б1
⎜
⎟
2
z1 − c1 = 1 ⋅ M + 1 ⋅ 0 + 1 ⋅ M + 1 = 1 + 2M = ⎜ ⎟ ,
⎝ ⎠
z2 − c2 = −2 ⋅ M + 2 ⋅ 0 + 2 ⋅ M + 2 = 2 + 0 ⋅ M
⎛ 2 ⎞
0
⎝ ⎠
2
z3 − c3 = 1⋅ M + 0 ⋅ 0 + 1⋅ M + 2 = 2 + 2M
= ⎜ ⎟ .
⎝ ⎠
Первый план не оптимален. В нижней индексной строке наибольшую
оценку имеют
À1 и
À3 , Выбираем
À3 , т.к.
⎛ 2 ⎞ ⎛ 1 ⎞
⎜ ⎟ > ⎜ ⎟ .
⎝ 2 ⎠ ⎝ 2 ⎠
Этот вектор вводим в базис.
⎨ ⎬
θ03
= min ⎧1 ,=3 ⎫ = 1.
⎩1 1 ⎭
Выводим из базиса вектор
À6 . Составляем табл. 2.
Табл. 2 не содержит комментариев, позволяющих перейти к табл. 3. Под-
разумевается, что направляющая третья строка умножится на 1
2
и будет при-
бавлена к первой строке, на
⎛ − =1 ⎞
и прибавлена ко второй, на
⎛ − =3 ⎞
и прибав-
⎜ 2 ⎟
⎜ 2 ⎟
⎝ ⎠ ⎝ ⎠
лена к четвёртой, на ( −1)
и прибавлена к пятой. В конце сама направляющая
третья строка будет умножена на 1 .
4
θ
Б2
С
В2
А1
À2
À3
À4
À5
À6
À7
-1
-2
-2
0
0
М
М
À3
À5
-2
0
1
1
1
1
-2
2
1
0
-1
0
0
1
1
0
0
0
À7
М
2
0
[4]
0
1
0
-1
1
z
j
−
c
j
-2
2
-1
0
6
4
0
0
2
1
0
0
-2
-2
0
0
Б
2
⎯
1/2
← 1/2
Далее совершаем итерации до тех пор, пока не получим отрицательные оценки в индексной строке. Все вычисления отражены в табл. 3 и табл. 4. Ком- ментарии к вычислениям не записаны (студентам проделать самостоятельно).
Табл. 3. Третья симплекс-таблица с комментариями
Б3
С
Б
3
В3
À1
À2
À3
À4
À5
À6
À7
-1
-2
-2
0
0
М
М
À3
À5
-2
0
2
0
1
1
0
0
1
0
-1/2
-1/2
0
1
1/2
1/2
1/2
-1/2
À2
-2
1/2
0
1
0
[1/4]
0
-1/4
1/4
z
j
−
c
j
-5
0
-1
0
0
0
0
0
1/2
0
0
0
-1/2
-1
-3/2
-1
θ
⎯
⎯
← 2
Табл. 4. Четвёртая симплекс-таблица с комментариями
-
Б4
С Б
4
В4
À1
À2
À3
À4
À5
À6
À7
-1
-2
-2
0
0
М
М
À3
À5
À4
-2
0
0
3
1
2
1
1
0
2
2
4
1
0
0
0
0
1
0
1
0
0
0
-1
1
0
1
z j − c j
-6
0
-1
0
-2
0
0
0
0
0
0
0
0
-1
-2
-1
Делаем вывод о том, что
X opt
= (0;0;3;2;1;0;0) ,
Zm′ in = −6 . Все искусствен-
ные переменные равны нулю, поэтому начальные переменные определяют оп-
тимальный план.
∗
Х = (0;0;3) ,
Zmax = 6 .