Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 5.doc
Скачиваний:
24
Добавлен:
16.04.2015
Размер:
503.81 Кб
Скачать

5 Двойственность в линейном программировании 83

5.1 Понятие двойственности 83

5.2 Экономическая интерпретация двойственной задачи 87

5.3 Первая теорема двойственности 88

5.4 Вторая теорема двойственности 90

5.5 Третья теорема двойственности 92

5.6 Пример решения сопряженных задач 96

5.6.1 Задача, двойственная задаче о диете 96

5.6.2 Выполнение основной теоремы двойственности 97

5.6.3 Выполнение теоремы о равновесии 99

5.6.4 Выполнение теоремы об оценке 99

5.7 Вопросы и упражнения 106

5 Двойственность в линейном программировании

5.1 Понятие двойственности

Рассмотрим задачи линейного программирования в стандартной форме, записанные в матричной форме:

max CX

(20)

,

где С = (с1. . . сn), X =, B =, A =

min YB

(21)

,

где Y= (y1. . .ym).

Здесь X, Y - переменные*; A, B, C - константы.

Задача (21) и любая эквивалентная ей задача линейного программирования называется двойственнойзадаче (20) и любой эквивалентной ей задаче.

Подчеркнем, что новых переменных вводится ровно столько, сколько в задаче (20) ограничений, т.е. m.

Поскольку любая задача линейного программирования может быть записана в стандартной форме, данное определение позволяет построить двойственную задачу для любой задачи линейного программирования.

Исходную задачу, по отношению к которой строится двойственная, иногда еще называют прямой задачей.

Теорема (о сопряженных задачах). Задача, двойственная двойственной, эквивалентна исходной.

Доказательство. Построим задачу линейного программирования, двойственную (21). Поскольку определение дает возможность построить двойственную задачу только для задачи в той же форме записи, что и задача (20), вначале преобразуем задачу (21) таким образом, чтобы форма ее записи была такой же.

Приведем задачу (21) к стандартной форме на максимум:

mах Y(-B)

Транспонируем входящие сюда величины, чтобы порядок действий над векторами и матрицами был таким же, как и в задаче (20):

mах -BТYТ

Теперь можно построить двойственную задачу в соответствии со сформулированным определением. Введем строку переменных Z.

min Z(-CT)

Эта задача является двойственной к двойственной. Преобразуем ее.

mах СZТ

Эта задача эквивалентна задаче (20) с точностью до обозначения.

Теорема доказана.

Таким образом, двойственность является взаимной. Пара взаимно двойственных задач называется парой сопряженных задач.

Рассмотрим задачу в канонической форме. Чтобы построить задачу, двойственную к ней, преобразуем ее к стандартной форме.

Построим теперь двойственную задачу. Отметим, что число ограничений задачи возросло в два раза (каждое уравнение преобразовано в два неравенства). Вектор-строку переменных двойственной задачи разобьем на две части, в каждую из которых будет входить равное число переменных, и обозначим его (U,V) = (u1, …,um,v1, …,vm).

При этом во всех линейных выражениях компоненты вектора В и матрицы А можно вынести за скобки, а в скобках останется разность векторов U = (u1, …,um) и V = (v1, …,vm). Например, при перемножении строки переменных на первый столбец матрицы А будет получено: (a11u1+a21u2+ …+ am1um - a11v1 - a21v2 - … - am1vm = a11(u1 - v1) + a21(u2 – v2) + … + am1(um – vm); - и т.д.

Обозначим U - V = Y. При этом переменные Y = (u1-v1; …;um–vm) = = (y1. . .ym) не ограничены по знаку. Тогда двойственная задача примет вид:

min YB

YA  C

Итак, ограничениям-уравнениям поставлены в соответствие неограниченные по знаку переменные. Поскольку двойственность взаимна, можно сказать, что и неограниченным по знаку переменным следует ставить в соответствие ограничения уравнения, а не неравенства.

На основании проведенных рассуждений можно сделать вывод, что для построения двойственной задачи не обязательно каждый раз приводить задачу линейного программирования к стандартной форме, а именно нет необходимости преобразовывать уравнения к неравенствам, а не ограниченные по знаку переменные - к неотрицательным. Пусть в задаче в смешанной форме первые m` ограничений – уравнения, а остальныеm-m` - неравенства; и первыеn` переменных неотрицательны, а остальныеn-n` переменных по знаку могут быть любыми. Между задачей линейного программирования в смешанной форме и двойственной ей задачей линейного программирования можно установить следующее соответствие:

max cjxj

min biyi

aijxj = bi,

(22)

aijyicj,

aijxjbi,

aijyi = cj,

xj0,

yi0,

xj 0,

yi 0,

Сформулируем ряд правил построения двойственной задачи:

а) Переменные двойственной задачи соответствуют ограничениям исходной задачи, а ограничения - переменным.

б) Если исходная задача линейного программирования задана на максимум, то двойственная строится на минимум, и наоборот.

в) В задаче линейного программирования на максимум в ограничениях-неравенствах должен стоять знак , а на минимум -.

г) Ограничениям-неравенствам исходной задачи соответствуют неотрицательные двойственные переменные, а уравнениям – не ограниченные по знаку переменные.

д) Неотрицательным переменным исходной задачи соответствуют ограничения неравенства двойственной задачи, а не ограниченным по знаку - уравнения.

Если обе сопряженные задачи записаны в стандартной форме, их называют симметричными сопряженными задачами.

Например, построим задачу, двойственную к следующей задаче:

min 2х1+ 3х2 - 4х3 + х5

4х1- 3х2 - х3+ х4 + х5 10

х1+ 4х2 + х3 + х5= 15

1- 4х2 - х3+ х4 3

х1-3, 5 0

Так как задача на минимум, умножим обе части первого ограничения на -1, чтобы получить знак неравенства : -4х1+ 3х2 + х3- х4 - х5 -10.

Так как в прямой задаче три ограничения на пять переменных, двойственная задача будет включать пять ограничений на три переменных.

Целевая функция двойственной задачи максимизируется, так как прямая задача поставлена на минимум. Коэффициенты целевой функции двойственной задачи представляют собой свободные члены прямой задачи.

Первое ограничение двойственной задачи соответствует переменной х1прямой задачи, поэтому коэффициенты этого ограничения берут из столбца коэффициентов при х1, а свободный член – из целевой функции прямой задачи. Так как х10, это ограничение – неравенство. Так как двойственная задача на максимум, знак неравенства. Аналогично строятся второе, третье и пятое ограничения. Четвертое ограничение соответствует переменной х4, знак которой может быть любым. Поэтому оно – уравнение.

Переменные y1иy3соответствуют первому и третьему ограничениям прямой задачи, которые представляют собой неравенства. Поэтому эти переменные – неотрицательные. Второе ограничение прямой задачи – уравнение, поэтому переменнаяy2не ограничена по знаку.

max -10y1 + 15y2 + 3y3

-4y1 + y2 + 2y3  2

3y1 + 4y2 - 4y3  3

y1 + y2 - y3  -4

-y1 + y3 = 0

-y1+y21

y1,3 0