- •Содержательное описание
- •Формализация.
- •Решение.
- •Двойственная задача.
- •Экономический смысл.
- •Решение с помощью iblp.
- •Решение по второй теореме двойственности.
- •Решение с помощью симплекс-таблицы исходной задачи.
- •Решение через матрицу, обратную к базисной.
- •Экономическая интерпретация трех теорем двойственности.
НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
им. Н.И. ЛОБАЧЕВСКОГО
В.А. Рябинин
Теория двойственности в задачах линейного программирования
Лабораторная работа №3
вариант №18
Нижний Новгород
2005
Содержательное описание
Фирма А выпускает изделия Х и поставляет их по договорным обязательствам фирме В ежемесячно в количестве 1000 шт. Каждое изделие состоит из двух деталей У и трех деталей Z. Детали У и Z можно купить в фирме С по цене соответственно 2 руб. и 1 руб. за шт. в объеме не более 800 и 1000 в месяц.
Детали можно также изготовить из заготовок U и V, закупаемых в фирме D по цене 4 и 7 руб. Из каждой заготовки U фирма Е за 2 руб. может изготовить 3 детали У и 1 деталь Z, а из заготовки V за 5 руб. – 3 детали У и 5 деталей Z, за 3 руб. – 5 деталей У и 2 детали Z.
Определить месячный план деятельности фирмы А, обеспечивающий выполнение договорных обязательств с минимальными затратами.
Формализация.
Обозначим за x1- количество планируемых закупок деталей Y, в фирме C [шт] по 2 руб.
за x2- количество планируемых закупок деталей Z, в фирме C [шт] по 1 руб.
за x3- количество купленных деталей U, в фирме D [шт] по 4 руб. и преобразованные в 3Y и 1Z в фирме E за 2 руб.
за x4- количество купленных деталей V, в фирме D [шт] по 7 руб. и преобразованные в 3Y и 5Z в фирме E за 5 руб.
за x5- количество купленных деталей V, в фирме D [шт] по 7 руб. и преобразованные в 5Y и 2Z в фирме E за 3 руб.
Ограничения по закупкам в фирме C запишутся так:
x 1≤800 (1)
x2≤1000 (2)
Ограничение по количеству необходимых деталей Y
x1+3*x3+3*x4+5*x5=2000 (3)
Ограничение по количеству необходимых деталей Z
x2+x3+5*x4+2*x5=3000 (4)
Запишем полученную систему:
x1≤800
x2≤1000 (5)
x1+3*x3+3*x4+5*x5=2000
x2+x3+5*x4+2*x5=3000
xi≥0, i=1..5
Оптимизационным критерием F будут затраты, которые необходимо минимизировать:
F=2*x1+x2+6*x3+12*x4+10*x5→min (6)
Тогда решением будет вектор x*(x1,x2, x3,x4,x5), если на нем достигается минимальное значение критерия F.
Решение.
Запишем систему (5) в каноническом виде:
x 1+x6=800
x2+x7=1000 (7)
x1+3*x3+3*x4+5*x5=2000
x2+x3+5*x4+2*x5=3000
xi≥0, i=1..7
Решим задачу методом искусственного базиса. Для этого составим вспомогательную задачу:
F =x8+x9→min
x1+x6=800
x2+x7=1000 (8)
x1+3*x3+3*x4+5*x5+x8=2000
x2+x3+5*x4+2*x5+x9=3000
xi≥0, i=1..9
Решим методом искусственного базиса с помощью IBLP
Начальная симплекс таблица для вспомогательной задачи:
|
|
|
|
|
|
|
|
1 |
1 |
|
|
Cb |
БП |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
b |
0 0 1 1 |
x6 x7 x8 x9 |
1 0 1 0 |
0 1 0 1 |
0 0 3 1 |
0 0 3 5 |
0 0 5 2 |
1 0 0 0 |
0 1 0 0 |
0 0 1 0 |
0 0 0 1 |
800 1000 2000 3000 |
|
ƒ |
1 |
1 |
4 |
8 |
7 |
0 |
0 |
0 |
0 |
0 |
Оптимальная симплекс таблица вспомогательной задачи:
|
|
|
|
|
|
|
|
1 |
1 |
|
|
Cb |
БП |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
b |
0 0 0 0 |
x6 x7 x5 x4 |
1 0 0.2631 -0.105 |
0 1 -0.157 0.2631 |
0 0 0.6315 -0.052 |
0 0 0 1 |
0 0 1 0 |
1 0 0 0 |
0 1 0 0 |
0 0 0.2631 -0.105 |
0 0 -0.157 0.2631 |
800 1000 52.6315 578.947 |
|
ƒ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-1 |
-1 |
0 |
Тогда преобразованная исходная задача станет такой:
|
2 |
1 |
6 |
12 |
10 |
|
|
|
|
Cb |
БП |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
b |
0 0 10 12 |
x6 x7 x5 x4 |
1 0 0.2631 -0.105 |
0 1 -0.157 0.2631 |
0 0 0.6315 -0.052 |
0 0 0 1 |
0 0 1 0 |
1 0 0 0 |
0 1 0 0 |
800 1000 52.6315 578.947 |
|
ƒ |
-0.631 |
0.5789 |
-0.315 |
0 |
0 |
0 |
0 |
7473.68 |
Оптимальная таблица исходной задачи:
|
2 |
1 |
6 |
12 |
10 |
|
|
|
|
Cb |
БП |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
b |
0 1 10 12 |
x6 x2 x5 x4 |
1 0 0.2631 -0.105 |
0 1 0 0 |
0 0 0.6315 -0.052 |
0 0 0 1 |
0 0 1 0 |
1 0 0 0 |
0 1 0.1578 -0.263 |
800 1000 210.526 315.789 |
|
ƒ |
-0.631 |
0 |
-0.315 |
0 |
0 |
0 |
-0.578 |
6894.73 |
Оптимальное решение x*=(0;1000;0;315.789;210.526;800;0)
x6=800 показывает, что у фирмы C в запасах останется 800 деталей.
Ответ (экономическая интерпретация):
Необходимо купить 1000 деталей Z в фирме C по 1 руб.;
315.789 деталей V в фирме D по 7 руб. и изготовить из каждой по 3 детали Y и 5 детали Z за 5 руб. в фирме E;
210.516 деталей V в фирме D по 7 руб. и изготовить из каждой по 5 деталей Y и 2 детали Z за 3 руб. в фирме E;
Минимальные затраты:
1000[шт]*1[руб]+315.789[шт]*12[руб]+ 210.516 шт]*10[руб]= =6894.73[руб]