- •Глава 4
- •Двойственность в линейном программировании
- •4.1. Двойственные задачи линейного
- •4.2. Симметричная пара двойственных задач
- •4.3. Экономический смысл двойственной задачи
- •4.4. Несимметричная пара двойственных задач
- •4.5. Таблицы для построения двойственной задачи
- •4.6. Связь между планами двойственных задач
- •4.7. Первая теорема двойственности
- •4.8. Вторая теорема двойственности
- •4.9. Условия равновесия
- •4.10. Геометрический смысл условий равновесия
- •4.11.Экономический смысл условий равновесия
- •4.12. Экономический смысл оптимальных
4.4. Несимметричная пара двойственных задач
Пусть теперь исходная задача – каноническая, то есть имеет вид:
f(x) = < c, x > max; |
(4.1) |
Ax = b; |
(4.2) |
x 0. |
(4.3) |
Здесь x = (x1 ,…, xn) , c = ( c1 , ..., cn ), b = ( b1,..., bm ), так что число уравнений в системе (4.2) равно m.
Для построения двойственной задачи к задаче (4.1)-(4.3) сведем ее к стандартной форме.
Каждое равенство в (4.2) заменим парой неравенств
Ax b,
Ax b,
или, что то же самое,
Ax b,
– Ax – b,
Получим стандартную задачу ЛП с 2m ограничениями
f(x)=< c, x > max;
Ax b,
– Ax – b,
x 0 .
Построим к ней двойственную задачу ЛП по известным правилам.
Для этого введем двойственные переменные:
u = ( u1 ,…, um ) 0 ,
v = ( v1 ,…, vm ) 0 .
Заметим, что, так как в прямой задаче ЛП было 2m ограничений, то в двойственной будет 2m переменных.
Целевая функция двойственной задачи примет вид:
g( u, v )=< b , u > + < – b , v > min,
а ограничения запишутся так:
ATu – ATv c ,
u 0 , v 0 .
Перепишем эту задачу более компактно:
g( u, v )=< b , u – v> min;
AT ( u – v ) c;
u 0 , v 0 .
Введем новый вектор двойственных переменных y = ( y1 , y2 ,…, ym ) с координатами yi = ui - vi. Поскольку разность неотрицательных чисел может быть и отрицательной (например, 2 – 5 = –3), то двойственные переменные yi не имеют ограничений по знаку.
Таким образом, двойственная задача к канонической будет иметь вид:
g(y) = < b, y > min;
ATy 0,
y – переменная любого знака!
4.5. Таблицы для построения двойственной задачи
Для любой задачи ЛП можно построить двойственную. Для этого нужно свести её к стандартному или каноническому виду. Можно также воспользоваться таблицами, приведенными ниже.
Прямая задача линейного программирования |
Двойственная задача линейного программирования | ||
Целевая функция |
< c,x > max |
< b,y > min |
Целевая функция |
Тип i-го ограничения |
[ Ax ]i bi |
yi 0 |
Знак i-й переменной |
[ Ax ]i bi |
yi 0 | ||
[ Ax ]i = bi |
yi – любого знака | ||
Знак j-ой переменной |
xj 0 |
[ ATy ]j cj |
Тип j-го ограничения |
xj 0 |
[ ATy ]j cj | ||
xj свободная переменная |
[ ATy ]j = cj |
Прямая задача линейного программирования |
Двойственная задача линейного программирования | ||
Целевая функция |
<c,x> min |
<b,y>max |
Целевая функция |
Тип i-го ограничения |
[ Ax ]i bi |
yi 0 |
Знак i-ой переменной |
[ Ax ]i bi |
yi 0 | ||
[ Ax ]i = bi |
yi – любого знака | ||
Знак j-ой переменной |
xj 0 |
[ ATy ]j cj |
Тип j-го ограничения |
xj 0 |
[ ATy ]j cj | ||
xj свободная переменная |
[ ATy ]j = cj |
Задание. Составить двойственные задачи к следующим задачам ЛП.
1. f(x) = 2x1 – 2x2+ 3x3 – 6x4 max;
–2x1+ x2 – 2x3 + x4 = –10;
x1 – 5x2 – x3 + 2x4 = 35;
xj 0, j = 1,2,3,4 .
2. f(x) = – x1 – 3x2 + x3 min;
x1 + x2+ x3 6;
x1 – x2+ x3 8;
xj 0, j=1,2,3.
3. f(x) = 9x1+ 2x2+ 3x3+ 2x4 min;
–x1 + x2+ 2x3 = 2;
3x1+ x2 – x3 – 4x4 = –1;
xj 0, j=1,2,3,4.
4. f(x) = x1 – 2x2 max;
x1 + x2 4;
3 x1 – x2 8;
4x1+ x2 0;
x2 0.