Методы оптимизации
Конспект лекций
назад | содержание | вперед

Тема 5.  Элементы теории двойственности

5.1  Двойственная задача

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

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

,

  Прежде чем записать задачу, двойственной  к данной, кратко охарактеризуем основные элементы   правила записи:

1)        каждому ограничению   сопоставляется своя переменная в двойственной задаче, которая   называется двойственной переменной;

2)        каждой переменной исходной задачи сопоставляется ограничение  а в двойственной задаче;

3)        если переменная исходной задачи неотрицательна, то в двойственной задаче ей отвечает ограничение   типа неравенства; свободным переменным отвечают уравнения;

4)        ограничениям общего вида исходной задачи, являющимся неравенствами, в двойственной задаче отвечают неотрицательные переменные, уравнениям — свободные переменные;

5) матрицы коэффициентов ограничений   прямой и двойственной задач получаются одна из другой операцией транспонирования; матрица ограничений АТ двойственной задачи является транспонированной к матрице А ограничений прямой задачи (строки заменяются столбцами, а столбцы — строками)

;

6)        коэффициенты целевой функции прямой задачи формируют правые части ограничений  а в двойственной задаче, и наоборот, правые части исходной задачи являются коэффициентами целевой функции в двойственной задаче;

7)        требование максимизации целевой функции в прямой задаче заменяется требованием минимизации целевой функции в  двойственной.

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

 u = (u1,…, um), при котором

,

Пример 5.1. Рассмотрим следующую задачу:

2х1 + 5х2 + 4х3 ® max,

u1  ↔  4х1 + 2х2 + 8х3 ≤ 8,

u2  ↔  3х1 – 5х2 + 9х3 = 6,

х1 ≥ 0, х≥ 0.

Двойственной к ней будет задача:

8u1 + 6u2  ® min,

x1  ↔  4u1 + 3u2 ≥ 2,

x2  ↔  2u1 – 5u2 ≥ 5,

x3  ↔  8u1 + 9u2 = 4,

u1 ≥ 0.

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

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

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

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

Прямая задача

Двойственная задача

(c, x) → max,

(b, u) → min,

Axb,

ATuc,

x ≥ 0.

и ≥ 0.

 

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


Здесь А = (аij) — матрица норм расхода ресурсов размерности mxn, с = (с1,…, сn) — вектор цен изделий, b = (b1,…, bm) — вектор наличных ресурсов, х = (х1,…, хn) — вектор плана выпуска.

Допустим, что ресурсы фирмы хочет купить какой-то предприниматель, чтобы использовать их в собственном производстве. Их владелец не возражает против этой сделки. Однако для него важно, чтобы продажа ресурсов принесла ему не меньший доход чем, если бы он пустил их в дело. Поэтому при определении цен u = (u1,…, um) на ресурсы он рассуждает так.

Для выпуска единицы j-го вида продукции нужно затратить вектор Aj = (a1j,…, anj) ресурсов, а доход от ее продажи равен сj. Значит, чтобы не понести убытки, мне следует продать этот вектор ресурсов за сумму, не меньшую, чем сj.

Таким образом, цены должны удовлетворять следующему условию:

a1j u1 + …+ amj uсj для всех .

Покупатель при определении цен на ресурсы заинтересован в том, чтобы заплатить за них как можно меньшую сумму. Следовательно, он стремится к тому, чтобы суммарная стоимость ресурсов W = b1u1 + … + bmum  была минимальной. Поэтому определение вектора цен ресурсов u = (u1,…, um), который устраивал бы обе стороны, сводится к решению задачи линейного программирования.

W =

Полученная задача является двойственной прямой (исходно) задаче производителя

Итак, двойственная задача к задаче фирмы интерпретируется как задача определения оптимальных цен на ресурсы фирмы, ее переменные — как их цены, а целевая функция — как суммарная стоимость ресурсов в этих ценах.

Отметим, что оптимальные цены ресурсов u = (u1,…, um) не являются рыночными ценами, поэтому точнее называть их двойственными оценками или просто оценками ресурсов, или теневыми ценами.

 

Каноническая  форма записи прямой и двойственной задач

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

,

Двойственная задача к задаче  выглядит так:

,




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

Прямая задача

Двойственная задача

(c, x) → max,

(b, u) → min,

Ax = b,

ATuc.

x ≥ 0.

 

 

5.2  Основные теоремы двойственности

Далее рассмотрим пару взаимодвойственных задач, записанных в стандартной форме (напомним, чтовсегда можно перейти от одной формы записи задачи линейного программирования к другой):

Прямая задача

Двойственная задача

,

,

,

,

.

.

 

Приведем несколько важных утверждений теории двойственности (без доказательства).

 Лемма (лемма о неравенстве).  Если х = (х1,…, хn) и u = (u1,…, um) — допустимые решения этих задач, то справедливо неравенство:

                                         ≤ .                                         

Неравенство леммы, которое выполняется для любых допустимых решений пары двойственных задач, называется основным неравенством теории двойственности. Его экономическая интерпретация для   задачи производителя такова: для любого допустимого плана выпуска продукции х = (х1,…, хn) и любого допустимого вектора оценок ресурсов u = (u1,…, um) суммарная стоимость произведенной продукции не превосходит суммарной оценки ресурсов.

 

Теорема (критерий оптимальности решений).     Если в паре двойственных задач значения их целевых функций совпадают на допустимых решениях  и , т.е.

 = ,

то векторы x* и u* — оптимальные решения в этих задачах.

Этот критерий дает простой способ проверки оптимальности допустимых решений в паре двойственных задач. Для этого достаточно вычислить на них значения целевых функций. Если они совпадают, то найденные решения оптимальны. Экономическое содержание этого критерия для задачи производителя таково: план выпуска продукции x* и вектор оценок ресурсов и* являются оптимальными, если суммарная стоимость произведенной продукции равна суммарной оценке ресурсов.

.

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

Если же целевая функция одной из пары задач не ограничена (в прямой задаче – сверху, а в двойственной – снизу), то другая задача вообще не имеет допустимых решений.

Эта теорема допускает следующую экономическую интерпретацию. Если задача определения оптимального плана выпуска продукции имеет решение, то в этом случае можно, решив двойственную задачу, найти оптимальные (выгодные для обеих сторон) цены на ресурсы фирмы. Сумма, которую владелец фирмы получит, продав продукцию, произведенную в соответствии с найденным оптимальным планом, в точности равна сумме, которую готов заплатить покупатель за ресурсы. Таким образом, продав свои ресурсы, владелец фирмы не получит дополнительной прибыли; однако убытков ему эта сделка также не принесет.

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

                            ,            (5.1)

                             .            (5.2)

Из равенств (5.1)– (5.2) следует, что если какое-то ограничение в одной из задач является строгим неравенством (нежесткое ограничение), то условие неотрицательности его двойственной переменной будет обязательно равенством (жесткое ограничение) и наоборот, т.е. эти условия по типу всегда взаимно дополняют друг друга. Поэтому их называют соотношениями дополняющей нежесткости, а саму теорему  часто называют. Из этих равенств получаем следствие.

Следствие (теоремы о дополняющей нежесткости).  Пусть  и  оптимальные решения в прямой и двойственной задачах. Тогда  

1.    если , то , т.е. если какая-то компонента оптимального плана положительна, то соответствующее ей соотношение двойственной задачи выполняется как равенство;

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

3.    если , то , т.е. если какая-то компонента оптимального решения двойственной задачи положительна, то соответствующее ей соотношение прямой задачи  выполняется как равенство;

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

Дадим экономическую интерпретацию соотношений дополняющей нежесткости для   задачи производителя.

1. Напомним, что величина  интерпретируется как разность между затратами (суммарной стоимостью в оптимальных оценках ресурсов, необходимых для выпуска единицы изделия j-го вида) и доходом, получаемым при ее продаже. Рассмотрим первое соотношение следствия:

если , то .

Оно означает, что если выпуск изделия вошел в оптимальный план, то затраты по его выпуску равны получаемому доходу. Рассмотрим второе соотношение:

если , то .

Оно интерпретируется так: если выпуск изделия убыточен (затраты больше дохода), то оно не войдет в оптимальный план, т.е. не будет выпускаться.

2. Величина  интерпретируется как остаток (излишек) ресурса i-го вида при выпуске фирмой продукции в объемах, определяемых оптимальным планом. Поэтому третье соотношение:

если , то

интерпретируется так: если оптимальная оценка ресурса положительна, то он при выпуске оптимального плана используется полностью.

Соответственно, соотношение:

если , то

допускает такую интерпретацию: если ресурс при выпуске оптимального плана используется не полностью, то его оптимальная оценка равна нулю.

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

·       положительную оптимальную оценку получают только дефицитные виды ресурсов, а недефицитные ресурсы имеют нулевую оценку;

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

 

5.3  Применение теории двойственности к решению задач

В случае, когда прямая задача имеет более двух переменных, ее нельзя решить графическим методом. Но, если при этом, прямая задача имеет     два ограничения, то двойственная задача будет иметь две переменных, а значит ее легко можно будет решить графическим методом. После чего, применив теорию двойственности (а именно - условия о дополняющей нежесткости), получить  решение прямой задачи.

Пример  5.2. Найти решение следующей задачи:

                               Z= 20х1 + 45х2 + 30х3® mах,                

                         u1    ↔   2х1 +   х2 + 3х3 ≤ 30,                        

                         u2    ↔ 14х1 + 3х2 + 2х3 ≤ 20,                        

                                      х1 ≥ 0, х2 ≥ 0, х3 ≥ 0.                         

Двойственная задача выглядит так:

                                   W=30u1 + 20u2 ® min,                       

                            х1    ↔    2u1 +   u2 ≥ 20,                             

                            х2    ↔      u1 + 3u2 ≥ 45,                             

                            х3    ↔    3u1 +  2u2 ≥ 30,                            

                                            u≥ 0, u≥ 0.                              

Она содержит две переменных, поэтому ее можно решить графически. Оптимальным будет решение:  = 3 и  = 14. Значит, по первой теореме двойственности исходная задача также имеет оптимальное решение.

Для его определения подставим оптимальные значения двойственных переменных в ограничения двойственной задачи. Получаем, что первые два из них выполняются как равенства, а в третьем ограничении значение левой части оказывается больше значения правой части: 37 > 30.

Этому ограничению соответствует переменная х3 прямой задачи. Следовательно, по теореме о дополняющей нежесткости  ее оптимальное значение . Так как оптимальные значения двойственных переменных положительны, из этой же теоремы следует, что на оптимальном решении ограничения прямой задачи выходят на равенство.

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

Ее решение:  и . Отметим, что найденное решение удовлетворяет ограничениям прямой задачи, то есть является допустимым.  Следовательно, оптимальным будет план: ,  и .  Отметим, что при этом мы строго математически доказали оптимальность найденного графически решения двойственной задачи   = 3 и  = 14. Кроме того, оптимальные значения прямой и двойственной задач совпадают: W(3;14)=Z(14;2;0)=370  . 




наверх


назад | содержание | вперед