
- •5 Двойственность в линейном программировании
- •5.1 Понятие двойственности
- •5.2 Экономическая интерпретация двойственной задачи
- •5.3 Первая теорема двойственности
- •5.4 Вторая теорема двойственности
- •5.5 Третья теорема двойственности
- •5.6 Пример решения сопряженных задач
- •5.6.1 Задача, двойственная задаче о диете
- •5.6.2 Выполнение основной теоремы двойственности
- •5.6.3 Выполнение теоремы о равновесии
- •5.6.4 Выполнение теоремы об оценке
- •5.7 Вопросы и упражнения
5.6.4 Выполнение теоремы об оценке
В условиях задачи сказано, что недельный рацион должен содержать не менее 4, но не более 6 г кальция; не менее 110 г белка; не более 25 г клетчатки; и этой смеси должно быть ровно 500 г. Предположим, что эти величины могут меняться. Чтобы узнать, на сколько при этом изменится оптимальная стоимость рациона, в соответствии с третьей теоремой двойственности надо воспользоваться теневыми ценами y1-5, которые соответствуют ограничениям прямой задачи. Но для этого вначале следует провести анализ устойчивости теневых цен.
Обозначим изменение минимального содержания кальция b1; максимального -b2; минимального содержания белка -b3; максимального содержания клетчатки -b4, а массы смеси –b5(все эти величины измеряются в граммах). Теперь в таблице 17 вместо свободных членов (b1,b2; b3; b4; b5) следует подставить свободные члены (b1+b1,b2+b2; b3+b3; b4+b4; b5+b5), т.е. (4 +b1, 6 +b2; 44 +b3; 25 +b4; 0,5 +b5).
Однако, если мы просто заполним диапазон ячеек электронной таблицы D3:D7 этими выражениями, программаMicrosoftExcelне сможет осуществить никаких вычислений над ними, поскольку эти ячейки станут текстовыми. Чтобы избежать этого, вставим перед столбцом Е еще пять столбцов. Теперь столбец свободных членов будет занимать 6 столбцов электронной таблицы (D,E,F,G,H,I). В столбцеEзапишем коэффициент, который будет умножен наb1, в столбцеF– коэффициент приb2, и т.д., в столбцеI– коэффициент приb5, а вD– то слагаемое в выражении для свободного члена, которое ни на что не умножается (т.е. прежнее значение свободного члена). Результат представлен в таблице 22.
Теперь новые значения свободных членов, т.е. новый столбец B, записанный в диапазонеD3:I7 электронной таблицы, необходимо подвергнуть тем же линейным преобразованиям, которым подвергались ограничения прямой задачи в таблицах 17-19. Для этого нужно выделить диапазон ячеекD8:D37 и скопировать его на диапазон Е8:I37. В результате этого новые столбцы симплексных таблиц будут пересчитаны по тем же формулам, что и столбецD. Результаты вычислений приведены в последней строке таблицы 22 и в таблице 23. Заголовки столбцов в таблице 23 отредактированы.
Таблица 22 – Подготовка исходной симплексной таблицы к проведению анализа устойчивости двойственных оценок
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
1 |
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
2 |
N |
xб |
cб |
B |
b1 |
b2 |
b3 |
b4 |
b5 |
x1 |
x2 |
x3 |
x4 |
x5 |
3 |
1 |
у1 |
1 |
4 |
1 |
0 |
0 |
0 |
0 |
380 |
1 |
2 |
-1 |
0 |
4 |
2 |
x5 |
0 |
6 |
0 |
1 |
0 |
0 |
0 |
380 |
1 |
2 |
0 |
1 |
5 |
3 |
у2 |
1 |
44 |
0 |
0 |
1 |
0 |
0 |
0 |
90 |
50 |
0 |
0 |
6 |
4 |
x7 |
0 |
25 |
0 |
0 |
0 |
1 |
0 |
0 |
20 |
80 |
0 |
0 |
7 |
5 |
у3 |
1 |
0,5 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
8 |
m+1 |
|
|
48,5 |
1 |
0 |
1 |
0 |
1 |
381 |
92 |
53 |
-1 |
0 |
Из таблицы 23 видно, что во второй симплексной таблице теперь базисная искусственная переменная у1=3,511 + b1- 0,011b3(см. строку 10 электронной таблицы); а не3,511, как в таблице 17. Базисная переменная x5= =5,511 + b2- 0,011b3(см. строку 11 электронной таблицы); а не5,511, как в таблице 17, и т.д.
Оптимальный план прямой задачи примет вид Х*= (0,011- 0,011b3 + + b5; 0,489 + 0,011b3; 0; 0,711 - b1 - 4,211b3 + 380b5; 1,289+ b2 + + 4,211b3 - 380b5; 0; 15,222- 0,022b3 + b4), оптимум будет равен 7,378+ 0,122b3 + 4b5.
Таблица 23 – Анализ устойчивости двойственных оценок
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
9 |
N |
xб |
cб |
B |
b1 |
b2 |
b3 |
b4 |
b5 |
x1 |
x2 |
x3 |
10 |
1 |
у1 |
1 |
3,511 |
1 |
0 |
-0,011 |
0 |
0 |
380 |
0 |
1,444 |
11 |
2 |
x5 |
0 |
5,511 |
0 |
1 |
-0,011 |
0 |
0 |
380 |
0 |
1,444 |
12 |
3 |
x2 |
0 |
0,489 |
0 |
0 |
0,011 |
0 |
0 |
0 |
1 |
0,556 |
13 |
4 |
x7 |
0 |
15,222 |
0 |
0 |
-0,222 |
1 |
0 |
0 |
0 |
68,889 |
14 |
5 |
у3 |
1 |
0,011 |
0 |
0 |
-0,011 |
0 |
1 |
1 |
0 |
0,444 |
15 |
m+1 |
|
|
3,522 |
1 |
0 |
-0,022 |
0 |
1 |
381 |
0 |
1,889 |
16 |
N |
xб |
cб |
B |
b1 |
b2 |
b3 |
b4 |
b5 |
x1 |
x2 |
x3 |
17 |
1 |
x1 |
0 |
0,009 |
0,003 |
0 |
0 |
0 |
0 |
1 |
0 |
0,004 |
18 |
2 |
x5 |
0 |
2 |
-1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
19 |
3 |
x2 |
0 |
0,489 |
0 |
0 |
0,011 |
0 |
0 |
0 |
1 |
0,556 |
20 |
4 |
x7 |
0 |
15,222 |
0 |
0 |
-0,222 |
1 |
0 |
0 |
0 |
68,889 |
21 |
5 |
у3 |
1 |
0,002 |
-0,003 |
0 |
-0,011 |
0 |
1 |
0 |
0 |
0,441 |
22 |
m+1 |
|
|
0,002 |
-0,003 |
0 |
-0,011 |
0 |
1 |
0 |
0 |
0,441 |
Продолжение таблицы 23
23 |
|
|
|
|
|
|
|
|
|
4 |
15 |
40 |
24 |
N |
xб |
cб |
B |
b1 |
b2 |
b3 |
b4 |
b5 |
x1 |
x2 |
x3 |
25 |
1 |
x1 |
4 |
0,009 |
0,003 |
0 |
0 |
0 |
-0,009 |
1 |
0 |
0 |
26 |
2 |
x5 |
0 |
2 |
-1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
27 |
3 |
x2 |
15 |
0,487 |
0,003 |
0 |
0,025 |
0 |
-1,261 |
0 |
1 |
0 |
28 |
4 |
x7 |
0 |
14,93 |
0,41 |
0 |
1,51 |
1 |
-156,34 |
0 |
0 |
0 |
29 |
5 |
х3 |
40 |
0,004 |
-0,006 |
0 |
-0,025 |
0 |
2,269 |
0 |
0 |
1 |
30 |
m+1 |
|
|
7,505 |
-0,179 |
0 |
-0,629 |
0 |
71,830 |
0 |
0 |
0 |
31 |
N |
xб |
cб |
B |
b1 |
b2 |
b3 |
b4 |
b5 |
x1 |
x2 |
x3 |
32 |
1 |
x1 |
4 |
0,011 |
0 |
0 |
-0,011 |
0 |
1 |
1 |
0 |
0,444 |
33 |
2 |
x5 |
0 |
1,289 |
0 |
1 |
4,211 |
0 |
-380 |
0 |
0 |
-167,444 |
34 |
3 |
х2 |
15 |
0,489 |
0 |
0 |
0,011 |
0 |
0 |
0 |
1 |
0,556 |
35 |
4 |
x7 |
0 |
15,222 |
0 |
0 |
-0,222 |
1 |
0 |
0 |
0 |
68,889 |
36 |
5 |
х4 |
0 |
0,711 |
-1 |
0 |
-4,211 |
0 |
380 |
0 |
0 |
167,444 |
37 |
m+1 |
|
|
7,378 |
0 |
0 |
0,122 |
0 |
4 |
0 |
0 |
-29,889 |
Полученный
ответ будет иметь смысл лишь в том
случае, если значения всех переменных
будут неотрицательны (т.е. последняя
таблица будет допустимой). Поэтому
необходимо проверить знак базисных
переменных x1, x5, х2,
x7, х4; т.е. определить, при
каких изменениях свободных членов они
будут неотрицательны. Составим систему
неравенств:
0,011 - 0,011b3 + b5 0
0,489 + 0,011b3 0
0,711 - b1 - 4,211b3 + 380b5 0
1,289 + b2 + 4,211b3 - 380b5 0
15,222 - 0,022b3 + b4 0
Чтобы решить эту систему, вначале предположим, что меняется только минимальное содержание кальция, т.е. первый свободный член. Тогда b2=b3=b4=b5= 0, и система примет вид:
0,011
0
0,489 0
0,711 - b1 0
1,289 0
15,222 0
Отсюда b10,711. В первоначальном варианте исходных данных b1= = 4. Следовательно, двойственная оценкаy1= 0 будет устойчивой лишь при норме минимального содержания кальция от любого значения до 4,711 г (4 + + 0,711 = 4,711). Можно сказать, что оптимальная стоимость корма не изменится (изменится на 0 руб.), если потребуется, чтобы в корме содержалось, например, не менее 4,5 г кальция, или не менее 4,7 г кальция, или не менее 2 г кальция, или будет допускаться, чтобы вообще не содержалось кальция. Если эта норма будет повышена, например, до 5 г кальция (5,5 г, 4,8 г, 100 г и т.д.), то неизвестно, на сколько изменится оптимум задачи.
Теперь предположим, что меняется только максимальное содержание кальция, т.е. второй свободный член. Тогда b1=b3=b4=b5= 0, и система примет вид:
0,0110
0,489 0
0,711 0
1,289 + b2 0
15,222 0
Отсюда b2-1,289. Следовательно, двойственная оценкаy2= 0 будет устойчивой при норме максимального содержания кальция от 4,711 г (6 - 1,289 = 4,711) до любого значения. Можно сказать, что оптимальная стоимость корма не изменится, если потребуется, чтобы в корме содержалось, например, не более 4,8 г кальция, или не более 10 г кальция, или будет допускаться, чтобы кальция было сколь угодно много. Если эта норма будет снижена, например, до 4,5 г кальция (4,7 г, 1 г, 0 г и т.д.), то неизвестно, на сколько изменится оптимум задачи.
Если
предположить, что меняется только
минимальное содержание белка, тоb1=b2=b4=b5= 0, и система примет вид*:
Следовательно, двойственная оценка y3= 0,122 будет устойчивой при норме минимального содержания белка от 43,694 г до 44,169 г. Можно сказать, что если потребуется, чтобы в корме содержалось, например, не менее 43,7 г белка, то оптимальная стоимость рациона уменьшится на 0,122*(44 – 43,7) = 0,122*0,3 = 0,0366 (руб.). Если граничное содержание белка составит 44,1 г, то эта стоимость возрастет на 0,122*(44,1 – 44) = 0,0122 (руб.); и т.п. Но если граничное содержание белка составит, например, 43 г, или 10 г, или 44,2 г, или 100 г и т.п., то неизвестно, на сколько изменится оптимум задачи, поскольку при этом исходные данные выйдут за интервал устойчивости двойственных оценок.
При изменении нормы содержания клетчатки b1=b2=b3=b5= 0, и система примет вид:
0,0110
0,489 0
0,711 0
1,289 0
15,222 + b40
Отсюда b4-15,222. Следовательно, двойственная оценкаy4= 0 будет устойчивой при норме содержания клетчатки от 9,778 г до любого значения.
И, наконец, при изменении заданной массы корма b1=b2=b3= =b4= 0, и система примет вид:
0,011
+b50
0,489 0
0,711 + 380b50
1,289 - 380b50
15,222 0
Отсюда -0,003 b50,002. Следовательно, двойственная оценкаy5= = 4 будет устойчивой при массе рациона от 0,497 г до 0,502 г.
Правильность полученных результатов легко проверить, изменяя столбец свободных членов в таблице 22 (ячейки D3:D7). Пока они остаются в пределах найденных интервалов, последняя симплексная таблица (см. таблицу 23) останется допустимой. При этом значения двойственных оценок (коэффициенты в критериальной строке) не изменятся, а оптимум (свободный член в критериальной строке) изменится в соответствии с теоремой об оценке.
Например, подставим в ограничение по содержанию белка вместо свободного члена 44 найденное граничное значение 43,694. Для этого просто введем в ячейку D5 это число. При этом результаты вычислений в других ячейках столбцаDизменятся. Новые значения в оптимальной симплексной таблице приведены в таблице 24.
Таблица 24 – Проверка результатов анализа устойчивости
30 |
A |
B |
C |
D |
31 |
N |
xб |
cб |
B |
32 |
1 |
x1 |
4 |
0,015 |
33 |
2 |
x5 |
0 |
0 |
34 |
3 |
х2 |
15 |
0,485 |
35 |
4 |
x7 |
0 |
15,290 |
36 |
5 |
х4 |
0 |
2 |
37 |
m+1 |
|
|
7,34 |
Итак, решение задачи изменилось. Новое значение оптимума 7,34. Свободный член изменился на (43,694 - 44 = -0,306), поэтому оптимум должен был измениться на у4*(-0,306) = 0,122*(-0,306)-0,037. При первоначальном варианте исходных данных оптимум составлял 7,378. Поскольку 7,378 - 0,037 = 7,34, проверка подтвердила правильность всех вычислений.
Кроме того, результаты вычислений в ячейках D37:I37 таблицы 23 как раз показывают, что оптимум задачи равен 7,378 + 0,122b3 + 4b5, т.е. непосредственно иллюстрируют теорему об оценке.
Следует обратить внимание, что при подстановке граничных величин свободных членов оптимальный план становится вырожденным (т.е. по крайней мере одна из базисных переменных равна нулю). Например, в таблице 24 x5= 0. При выходе за пределы найденных интервалов допустимость заключительной таблицы нарушится, т.е. по крайней мере одно из значений в столбце В (ячейкахD32:D36) станет отрицательным. Кроме того, следует помнить, что эти интервалы найдены для условий, когда одновременно изменяется только один элемент столбца свободных членов, а остальные остаются неизменными.
Отметим, что если сравнить столбец F3:F37 (коэффициенты приb2) в таблицах 22-23 со столбцом коэффициентов при х5I3:I37 (после вставки пяти новых столбцов ячейкиI3:I37 стали занимать другой диапазон -N3:N37) в таблицах 17-19, можно убедиться, что они полностью совпадают. Это не удивительно, так как во втором ограничении дополнительная переменная х5была базисной в исходном опорном плане, и содержимое ячеекF3:F7 в таблице 22 полностью совпадает с содержимым ячеекN3:N7. Следовательно, совпадает и результат их линейного преобразования. То же самое можно сказать проb4и х7.