
Opt_book_1
.pdf3.3. ДВОЙСТВЕННОСТЬ ДЛЯ ЗАДАЧ МП |
141 |
Задачу (3.3.23) принято называть прямой задачей, порождаемой функцией Лагранжа. Как следует из (3.3.24), по существу она является исходной общей задачей математического программирования (3.3.20).
Двойственная задача. Воспользуемся опять функцией Лагранжа (3.3.21). Пусть
Á(u; v) = inf L(x; u; v): |
(3.3.25) |
x2¦
Данная функция, называемая двойственной, определена на множестве W , хотя, быть может, в некоторых точках и принимает бесконечные значения, равные ¡1. Поэтому мы вправе поставить задачу
Á¤ = sup Á(u; v) = |
sup inf L(x; u; v): |
(3.3.26) |
[u;v]2W |
[u;v]2W x2¦ |
|
Задача (3.3.26) в отличие от (3.3.23) называется двойственной задачей, порождаемой функцией Лагранжа L(x; u; v). О переменных u и v, от которых зависит целевая функция в (3.3.26), принято говорить как о двойственных переменных.
Приведем ряд результатов, касающийся свойств функции Á(u; v). Положим
W0 = f[u; v] 2 W : Á(u; v) > ¡1g :
Лемма 3.3.1. В двойственной задаче (3.3.26) множество W0 выпукло, а функция Á(u; v) вогнута на W0.
Доказательство. Объединим для сокращения записи пару переменных u и v в единую переменную w = [u; v]. Пусть w1 2 W0, w2 2 W0 и 0 · ¸ · 1. Имеем согласно определению функции Á(w) и линейности функции Лагранжа L(x; w) по переменной w:
Á (¸w1 + (1 ¡ ¸)w2) = |
infx2¦ L (x; ¸w1 + (1 ¡ ¸)w2) ¸ |
¸ ¸ infx2¦ L (x; w1) + (1 ¡ ¸) infx2¦ L (x; w2) = |
|
= |
¸Á(w1) + (1 ¡ ¸)Á(w2): |
Таким образом, Á(w) вогнутая функция. Отсюда также следует, что множество W0 должно быть выпуклым, поскольку из Á(w1) > ¡1 и Á(w2) > ¡1 следует, что Á (¸w1 + (1 ¡ ¸w2)) > ¡1. ¥
Лемма 3.3.2. Для любых x 2 X и любых [u; v] 2 W0 имеет место неравенство Ã(x) = f(x) ¸
Á(u; v).
Доказательство. Для любых x 2 X и [u; v] 2 W0 выполняется: hu; g(x)i = 0 и hv; h(x)i · 0. Поэтому
Ã(x) = f(x) ¸ f(x) + hu; g(x)i + hv; h(x)i = L(x; u; v) ¸ inf L(x; u; v) = Á(u; v):
x2¦
¥
Лемма 3.3.3. Если x¤ решение прямой задачи, [u¤; v¤] решение двойственной задачи, то
ä = f(x¤) ¸ Á(u¤; v¤) = Á¤.
Доказательство. Данный результат следует из утверждения предыдущей леммы. ¥
Результат леммы 3.3.2 позволяет получать нижние оценки для значений целевой функции f(x) в исходной задаче (3.3.20) на допустимом множестве X через значения двойственной функции. Если

142 |
ГЛАВА 3. ОПТИМИЗАЦИОННЫЕ ЗАДАЧИ |
ограничения в (3.3.20) линейные, то двойственная функция выражается явным образом с помощью сопряженной функции к функции f(x). В самом деле, пусть имеется задача
min f(x); |
X = |
f |
x |
2 |
¦ : |
A1x = b1 |
; A2x ¸ b2g ; |
(3.3.27) |
x X |
|
|
|
|||||
2 |
|
|
|
|
|
|
|
|
где A1 и A2 матрицы размером соответственно m1 £ n и m2 £ n. Составим для (3.3.27) Функцию Лагранжа
L(x; u; v) = f(x) + hu; b1 ¡ A1xi + hv; b2 ¡ A2xi; x 2 ¦; u 2 Rm1 ; v 2 Rm+2 :
На основании определения (3.3.25) двойственной функции получаем
Á(u; v) = |
infx2Rn [f(x) + hu; b1 ¡ A1xi + hv; b2T¡ A2xi] = T |
|
|
¤ |
|||||||||||||||
|
h |
|
i h |
i ¡ |
|
x2T £ h 1T |
A |
|
2 |
|
i ¡ |
A |
|
|
|
||||
= |
hb1 |
; ui + hb2 |
; vi + infx2R |
|
) |
¡ h |
|
u; x |
i ¡ h |
2 |
v; x = |
||||||||
= hb1 |
; ui + hb2 |
|
|
|
n |
£+ A2 v¢: |
|
|
|
|
|
|
|
¤ |
|
||||
; vi ¡ f¦¤ ¡A1 u |
|
|
|
|
|
|
|
|
|||||||||||
= |
|
b1 |
; u + b2 |
; v |
sup |
Rn |
A |
u + A |
|
v; x |
f(x) |
|
= |
||||||
Таким образом, для задачи (3.3.27) всегда выполняется неравенство |
|
|
|
|
|
||||||||||||||
|
|
f(x) ¸ hb1; ui + hb2; vi ¡ f¦¤ ¡A1T u + A2T v¢ |
|
|
|
|
(3.3.28) |
для любых x 2 X и любых [u; v] 2 Rm1 £ Rm+2 таких, что AT1 u + AT2 v 2 Y , где Y область определения функции f¦¤(y).
Упражнение. Выпишите нижнюю оценку (3.3.28) для задачи о наименьших квадратах
|
1 |
min |
2kxk22; Ax = b; |
где A m £ n матрица, b 2 Rm.
Упражнение. Найдите нижнюю оценку (3.3.28) для задачи максимизации энтропии
n |
n |
|
Xi |
X |
|
min xi ln xi; Ax · b; x 2 R+n ; |
xi = 1; |
(3.3.29) |
=1 |
i=1 |
|
где, по прежнему, A m £ n матрица, b 2 Rm. Постройте для (3.3.29) двойственную задачу.
Согласно лемме 3.3.3 всегда оптимальное значение двойственной задачи не превосходит оптимального значения прямой задачи, т.е. f¤ ¸ Á¤. Это свойство пары двойственных задач называется слабой двойственностью. Если f¤ = Á¤, то говорят, что прямая и двойственная задачи связаны соотношением совершенной двойственности. Совершенную двойственность называют также строгой двойственностью, когда существуют решения прямой и двойственных задач (соответствующие инфинум и супремум достигаются). Возникает вопрос, в каких случаях строгая двойственность обязательно имеет место. Оказывается, что для задач выпуклого программирования для этого достаточно потребовать, чтобы выполнялось условие регулярности ограничений Слейтера.
Рассмотрим для простоты задачу выпуклого программирования (3.3.6), содержащую только ограничения типа неравенства. В такой задаче функция Лагранжа имеет вид (3.3.8) и Á(v) = infx2¦L(x; v).
3.3. ДВОЙСТВЕННОСТЬ ДЛЯ ЗАДАЧ МП |
143 |
Теорема 3.3.5. Для того чтобы точка x¤ 2 X была решением (3.3.6), достаточно, а при выполнении условия регулярности ограничений Слейтера и необходимо, чтобы нашелся вектор v¤ 2 Rk, для которого имеет место соотношение двойственности
f(x¤) = Á(v¤): |
(3.3.30) |
При этом вектор v¤ является решением двойственной задачи (3.3.6).
Доказательство. Необходимость. При сделанных предположениях по теореме 3.3.2 у функции Лагранжа существует седловая точка, т.е. для x¤ 2 X вместе с некоторым вектором v¤ 2 Rk+ выполняются неравенства
L(x¤; v) · L(x¤; v¤) · L(x; v¤) 8 x 2 ¦; 8 v 2 R+k : |
(3.3.31) |
Более того, при доказательстве упомянутой теоремы было установлено, что имеет место условие дополняющей нежесткости: v¤jhj(x¤) = 0, j 2 [1 : k]. Поэтому правое неравенство в (3.3.31) на самом деле записывается как
f(x¤) = L(x¤; v¤) · L(x; v¤) 8x 2 ¦: |
|
|||||
Отсюда следует, что |
|
|
|
|
|
|
inf L(x; v |
) = Á(v |
); |
(3.3.32) |
|||
f(x¤) · x |
2 |
¦ |
¤ |
¤ |
|
|
|
|
|
|
|
|
причем v¤ 2 W0 = fv 2 Rk+ : Á(v) > ¡1g. Но по лемме 3.3.2 f(x¤) ¸ Á(v) для любого v 2 W0. Сравнивая это неравенство с (3.3.32), приходим к выводу, что имеет место равенство (3.3.30). При
этом v¤ действительно является решением двойственной задачи, поскольку Á(v) · Á¤ · f(x¤) = Á(v¤) для любого v 2 Rk+. Следовательно, Á(v¤) = Á¤.
Достаточность. Пусть существуют точки x¤ 2 X и v¤ 2 Rk+ такие, что выполнено равенство (3.3.30). Имеем в силу определений функций Ã(x), Á(v) и (3.3.22):
inf L(x; v ) |
· |
L(x ; v ) |
sup |
L(x ; v) = f(x ): |
||
Á(v¤) = x2¦ |
¤ |
¤ ¤ |
· v R+k |
¤ |
¤ |
|
|
|
|
|
2 |
|
|
Сравнивая с (3.3.30), приходим к выводу, что
L(x ; v |
) = inf L(x; v ) = |
sup L(x ; v): |
||
¤ ¤ |
x2¦ |
¤ |
v R+k |
¤ |
|
|
|
2 |
|
Данные соотношения означают, что пара [x¤; v¤] является седловой точкой функции Лагранжа на
¦ £ Rk+. Поэтому по теореме 3.3.1 точка x¤ есть решение задачи выпуклого программирования (3.3.6). ¥
Результат леммы 3.3.1, несмотря на свою простоту, представляется весьма замечательным. Действительно, при ее доказательстве не использовались никакие предположения о множестве ¦ и вообще об допустимом множестве X в прямой задаче. Это означает, что оно, в принципе, может иметь любой вид быть несвязным, невыпуклым и т.д. Более того, сама исходная задача (3.3.20) может даже быть задачей дискретной оптимизации, например, задачей булевого программирования, в которой от переменных требуется, чтобы они принимали значения либо ноль, либо единица. Формально ее можно записать как задачу (3.3.20), добавив ограничения типа равенства xi(1 ¡ xi) = 0, 1 · i · n. Лемма 3.3.1 утверждает, что даже для такой задачи двойственная к ней задача имеет
144 |
ГЛАВА 3. ОПТИМИЗАЦИОННЫЕ ЗАДАЧИ |
весьма хороший вид, а именно, является задачей максимизации вогнутой функции на выпуклом множестве. Лемма 3.3.3 говорит, что, решив эту сравнительно несложную двойственную задачу, мы можем получить оценку снизу на оптимальное значение в исходной задаче булевого программирования. Разумеется все трудности решения задач дискретной оптимизации путем перехода к решению непрерывной двойственной задачи никуда не пропадают, они просто переходят в проблему вычисления значений двойственной функции.
В заключение данного раздела отметим, что наряду с двойственной задачей (3.3.26) рассматривают и другие типы двойственных задач. Например, предположим, что у нас есть задача: найти
f(x) |
! |
min |
|
Ax |
= |
b; |
(3.3.33) |
x¸ 0n;
где f(x) выпуклая дифференцируемая функция и A (m£n)-матрица с m · n. Про ограничения задачи (3.3.33) говорят, что они заданы в стандартной форме.
Составим для задачи (3.3.33) функцию Лагранжа (регулярную)
L(x; u; v) = f(x) + hu; Ax ¡ bi ¡ hv; xi; |
(3.3.34) |
где u 2 Rm, v 2 Rn+. Так как L(x; u; v) выпукла относительно первой переменной x, то в точках ее минимума по x в силу необходимых условий должно выполняться
fx(x) + AT u ¡ v = 0n: |
(3.3.35) |
Проводя теперь максимизацию функции Лагранжа (3.3.34) при “двойственном ограничении” (3.3.35), приходим к задаче
max L(x; u; v) |
T |
|
|
при ограничениях v = fx(x) + A u; v ¸ 0n: |
(3.3.36) |
||
x;u;v |
Такая задача называется двойственной по Вулфу для задачи (3.3.33).
3.3.3. Несобственные задачи математического программирования
Практика решения прикладных оптимизационных задач, особенно экономических, показывает, что многие из них в своей первоначальной постановке не обладают решением. Причинами этого могут служить разные факторы. Это и сложность модели, и неточность данных, и упрощение связей, и абсолютизация некоторых требований и т.д. Все это приводит к тому, что задача становится противоречивой, т.е. допустимое множество оказывается пустым, либо целевая функция может принимать бесконечные значения. Таким образом, чтобы добиться реального результата, процесс построения оптимизационной модели должен быть многошаговым с постепенным уточнением ряда параметров и ограничений. Теория решения несобственных задач призвана помочь в этом процессе.
Вообще говоря, под несобственными задачами понимаются задачи, которые в силу тех или иных причин не имеют решениий. В случае несобственных задач математического программирования можно уточнить данное общее понятие это задачи, которые не обладают одновременной разрешимостью прямой и двойственной задачи, или отсутствует совпадение их оптимальных значений.
Среди несобственных задач математического программирования различают задачи с различными типами несобственности. Поясним это на примере задачи выпуклого программирования: найти
inf f(x); |
X = |
f |
x |
n |
: g(x) |
· |
0 |
g |
; |
(3.3.37) |
|
f¤ = x |
X |
|
|
2 R+ |
|
|
|
||||
2 |
|
|
|
|
|
|
|
|
|
|
|
3.3. ДВОЙСТВЕННОСТЬ ДЛЯ ЗАДАЧ МП |
145 |
где f(x) и gi(x), 1 · i · m, выпуклые функции. Здесь ввиду того, что возможен случай, когда задачи не имеет решения, операция взятия минимума заменена на операцию взятия инфимума.
Составим функцию Лагранжа
L(x; u) = f(x) + hu; g(x)i; x ¸ 0n; u ¸ 0m;
и определим двойственную функцию
Á(u) = inf L(x; u)
x2R+n
а также множество U = fu 2 Rm+ : phi(u) > ¡inftyg. Согласно вышесказанному двойственная
задача к (3.3.37) имеет вид:
Á¤ = sup Á(u):
u2U
Задача (3.3.37) называется собственной, если
¡1 < Á¤ = f¤ < +1:
Впротивном случае, несобственной. Если ¡1 < Á¤ и f¤ < +1, но Á¤ < f¤, то такую задачу принято называть полусобственной.
Вслучае несобственной задачи (3.3.37) возможны три ситуации:
1.X = ;; U 6= ;;
2.X 6= ;; U = ;;
3.X = ;; U = ;.
Взависимости от выполнения указанных соотношений будем называть (3.3.37) несобственной задачей соответственно 1-го, 2-го или 3-го рода.
Как поступать с несобственными задачами? Ведь основным источником несобственных задач является плохая формализуемость, неточность данных. Поэтому добиться наличия решения у несобственной задачи можно путем проведения ее коррекции. Другими словами, попытаться аппроксимировать исходную уже поставленную задачу некоторой другой задачей, у которой решение уже может существовать. Общий подход здесь заключается в следующем. Исходную задачу (3.3.37) погружают в семейство параметрических задач
f¤(y0 |
inf f(x; y |
); |
X = |
f |
x |
n |
: gi(x; y |
) |
· |
0; 1 |
· |
i |
· |
m |
: |
(3.3.38) |
|
; : : : ; ym) = x X |
0 |
|
|
|
2 R+ |
i |
|
|
|
g |
|
||||||
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Здесь y0 и yi, 1 · i · m, некоторые векторы параметров. Причем, существуют такие значения параметров y¹i, 0 · i · m, что при yi = y¹i задача (3.3.38) полностью совпадает с исходной задачей (3.3.37), т.е.
f(x) = f(x; y¹0); gi(x) = gi(x; y¹i); 1 · i · m:
Следует так подобрать векторы параметров yi, 0 · i · m, чтобы добиться разрешимости задачи (3.3.38) или даже сделать ее собственной. Понятно, что как построение аппроксимирующего параметрического семейства задач (3.3.38), так и выбор конкретных значений параметров yi можно осуществлять разными способами и исходя из разных соображений.
Объединим все векторы yi, 0 · i · m в единый вектор y. Следует выбрать некоторую критериальную функцию p(y), с помощью которой оценивать качество аппроксимации. Решим задачу
min p(y); |
(3.3.39) |
y2Y
146 |
ГЛАВА 3. ОПТИМИЗАЦИОННЫЕ ЗАДАЧИ |
где Y множество значений параметра y, при которых задача (3.3.38) разрешима. Пусть y¹ есть решение (3.3.39). Тогда задачей, которая аппроксимирует исходную несобственную задачу (3.3.37) по критерию качества p(y) является следующая задача:
min f(x; y¹0); X = ©x 2 Rn+ : gi(x; y¹i) · 0; 1 · i · mª: (3.3.40)
x2X
Обычно объединяют решение задачи (3.3.39) с решением аппроксимационной задачи. Поясним вышесказанное на простейшем примере аппроксимирующей задачи
inf f(x); |
n |
g(x) |
|
y |
: |
|
|
X(y) = fx 2 R+ : |
· |
(3.3.41) |
|||||
f¤(y) = x X(y) |
|
g |
|
||||
2 |
|
|
|
|
|
|
Здесь y 2 Rm. Если компоненты вектора y интерпретировать как затрачиваемые ресурсы, то целесообразно брать их неотрицательными. При y = 0m задача (3.3.41) совпадает с исходной задачей выпуклого программирования (3.3.37). В этом случае X(0) = X.
Предположим, что задача (3.3.37) является несобственной 1-го рода, т.е. X = ;, U 6= ;. Если при некотором y ¸ 0m получаем, что X(y) 6= ;, то обязательно f¤(y) > ¡1. Действительно, двойственная функция для задачи (3.3.41) имеет вид
Á(u; y) = inf |
[f(x) + u; g(x) |
¡ |
y |
] ; u |
m |
x2R+n |
h |
i |
|
2 R+ |
а допустимое множество U(y) = fu 2 Rm+ : Á(u; y) > ¡1g. Отсюда видно, что при U = U(0m) 6= ; выполняется: U(y) 6= ;. Поэтому из двойственного соотношения f¤(y) ¸ Á¤(u; y) ¸ Á(u; y) для некоторого u 2 U(y) следует, что f¤(y) > ¡1.
Верно и обратное, если X 6= ; и для некоторого y получаем, что X(y) 6= ; и f¤(y) > ¡1, то обязательно U 6= ;. Это следует из того, что если для некоторого y > 0m система ограничений g(x) · y удовлетворяет условию Слейтера и при этом f¤(y) > ¡1, то в задаче (3.3.41) существует седловая точка функции Лагранжа
L(x; u; y) = f(x) + hu; g(x) ¡ yi; |
|
|
т.е. |
|
|
min sup |
L(x; u; y) = max inf L(x; u; y): |
(3.3.42) |
x2R+n u R+m |
u2R+m x2R+n |
|
2 |
|
|
Но левая часть соотношения (3.3.42) равна f¤(u) > ¡1. Поэтому функция Á(u; y) = infx2R+n L(x; u; y) не может равняться тождественно ¡1. Отсюда заключаем, что U(y) =6 ;. Кроме того, поскольку
U= U(0) = U(y), приходим к выводу, что U 6= ;.
Вкачестве критериальной функции p(y) можно взять какую-либо норму вектора y, например,
p(y) = kyk1 или p(y) = kyk2.
Если функции f(x) и g(x) линейные, т.е.
f(x) = hc; xi; g(x) = Ax ¡ b; |
(3.3.43) |
где A (m £ n)-матрица, c 2 Rn, b 2 Rm, то появляется возможность варьировать не только правую часть в ограничениях, а также матрицу коэффициентов A и вектор c, задающий целевую функцию. Другими словами, можно взять
y = [¢c; ¢A; ¢b]
3.3. ДВОЙСТВЕННОСТЬ ДЛЯ ЗАДАЧ МП |
147 |
или, в более простом варианте, когда нет варьирования матрицы коэффициентов A, y = [¢c; ¢b] : Аппроксимирующая задача в последнем случае принимает следующий вид: найти
f¤(y) = x2X(¢b)hc + ¢c; xi X(¢b) = |
©x 2 R+ : Ax · b + ¢bª |
; |
(3.3.44) |
min |
m |
|
|
|
|
|
где ¢c ¸ 0n, ¢b ¸ 0m. Теперь в качестве критериальной функции p(y) целесообразно взять, например, функцию
p(y) = k¢ck1 + k¢bk1: |
(3.3.45) |
Наша цель, как и ранее, сделать задачу (3.3.44) разрешимой, т.е. добиться, чтобы множество X(¢b) было непустым, а оптимальное значение целевой функции f¤(y) конечным, причем, чтобы при этом параметр y минимизировал функцию (3.3.45). Из-за линейности целевой функции hc + ¢c; xi на полиэдральном допустимом множестве X(¢b) следует, что ее оптимальное значение конечно в том и только в том случае, когда hc + ¢c; zi ¸ 0 для любого z 2 Rn+ такого, что Az · 0b. Обозначим
K = Rn+ \ K1; K1 = fz 2 Rn : Az · 0mg:
Множество K есть не что иное, как рецессивный конус для допустимого множества X(¢b). Неравенство hc + ¢c; zi ¸ 0 для любого z 2 K означает, что c + ¢c 2 K¤. Имеем согласно утверждению 2.1.11: K¤ = Rn+ + K1¤. Но, как было показано ранее, K1¤ = ¡posAT . Поэтому приходим к выводу, что должно выполняться неравенство:
c + ¢c + AT u ¸ 0n
для некоторого u ¸ 0m. Таким образом, задача минимизации функции (3.3.45) сводится к следующей: найти
|
|
|
|
min [k¢bk1 + k¢ck1] |
|
|
|
|
(3.3.46) |
||||
при условиях: |
|
|
|
|
|
|
|
|
|
|
|
|
|
Ax |
· |
b + ¢b; x |
¸ |
0 |
n |
; ¢b |
¸ |
0 |
m |
; |
(3.3.47) |
||
A |
T |
u |
|
|
|
|
|
||||||
|
¸ ¡c ¡ ¢c; u ¸ 0m ¢c ¸ 0n: |
|
Из-за того, что условия на пары переменных не зависят друг от друга, задача (3.3.46), (3.3.47)
разбивается на две самостоятельные подзадачи: |
|
min fk¢bk1 : Ax ¡ b ¡ ¢b · 0m; x ¸ 0n; ¢b ¸ 0mg ; |
(3.3.48) |
min ©k¢ck1 : AT u + c + ¢c ¸ 0n; u ¸ 0m ¢c ¸ 0nª: |
(3.3.49) |
Если исходная задача (3.3.37), (3.3.43) является несобственной задачей 1-го рода, то в задаче (3.3.49) минимум равен нулю. Напротив, если задача (3.3.37), (3.3.43) есть несобственная задача 2-го рода, то равен нулю минимум в задаче (3.3.48). В случае несобственной задачи 3-го рода оба минимума положительны.
Приведенный подход к аппроксимации несобственной задачи принято называть моделью прямой аппроксимации. Возможны также и другие подходы, например, использование ранжирования ограничений по важности, т.е. разбиение ограничений на две группы, обязательные и необязательные для выполнения. При этом коррекции подвергаются только необязательные ограничения.
148 |
ГЛАВА 3. ОПТИМИЗАЦИОННЫЕ ЗАДАЧИ |
3.4. ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ СПЕЦИАЛЬНОГО ВИДА
3.4.1. Линейное программирование
Задачи линейного программирования (ЛП) это один из основных классов задач математического программирования, в котором как целевая функция, так и ограничения, задаются линейными функциями. Существуют много различных постановок задач линейного программирования. Надо только иметь в виду, что всегда от одной формальной постановки можно перейти к другой. Здесь мы рассмотрим лишь некоторые из них.
Пусть имеются матрица A размером m £ n, а также n-мерный вектор c и m-мерный вектор b. Приведем три постановки задач линейного программирования (ЛП) с указанием их названия, принятого в отечественной литературе:
1. Задача ЛП в канонической форме.
hc; xi |
! |
min |
|
Ax |
= |
b; |
(3.4.1) |
x |
¸ |
0n: |
|
2. Задача ЛП в стандартной форме. |
|
|
|
hc; xi |
! |
min |
(3.4.2) |
Ax |
¸ |
b; |
|
x |
¸ |
0n: |
|
3. Задача ЛП в основной форме. |
|
|
|
hc; xi |
! |
min |
(3.4.3) |
Ax |
¸ |
b: |
|
Возможны также другие постановки задач ЛП, в которых присутствуют как равенства, так и неравенства, а к переменным либо не предъявляется никаких требований (они свободны, т.е. принадлежат всему пространству), либо, напротив, на них накладываются двусторонние ограничения, т.е. ограничения как справа, так и слева. Однако, как уже говорилось, всегда одну задачу можно свести к к другой. Делается это с помощью простых приемов. Например, ограничения типа неравенства Ax ¸ b сводятся к равенствам введением дополнительной векторной переменной y ¸ 0m. Тогда вместо Ax ¸ b получаем Ax ¡ y = b. Равенство Ax = b всегда формально можно записать как два неравенства: Ax ¸ b и Ax · b. Свободную переменную x 2 Rn можно представить в виде разности x = y ¡ z двух других переменных y ¸ 0n и z ¸ 0n и т.д.
Рассмотрим задачу ЛП в канонической форме (3.4.1). Она является частным случаем задачи выпуклого программирования, в которой имеется линейная целевая функция и линейные ограничения как типа равенства Ax = b, так и типа неравенства ¡x · 0n. Пусть множество “простой структуры” ¦ здесь совпадает со всем пространством Rn (хотя можно было бы в качестве ¦ взять Rn+ и считать, что функциональные ограничения состоят только из равенств Ax = b). Составим для такой задачи функцию Лагранжа
L(x; u; v)
где u 2 Rm, v ¸ 0n.
= |
hc; xi |
+ |
u; b |
¡ |
Ax |
i ¡ h |
v; x |
i |
= |
(3.4.4) |
T h |
|
|
|
|
||||||
= |
hc ¡ A u ¡ v; xi + hb; ui; |
|
|
|
3.4. ЗАДАЧИ МП СПЕЦИАЛЬНОГО ВИДА |
149 |
Найдем минимум функцию Лагранжа по переменной x при фиксированных u и v, т.е. вычислим двойственную функцию Á(u; v):
Á(u; v) = min L(x; u; v): |
(3.4.5) |
x2Rn |
|
В силу линейности функции L(x; u; v) по x конечный минимум может достигаться в том и только в том случае, когда
|
Lx(x; u; v) = c ¡ AT u ¡ v = 0n: |
(3.4.6) |
Это означает, что множество W0, на котором двойственная функция имеет конечные значения, |
||
обязано иметь вид: |
©[u; v] 2 Rm £ R+n : c ¡ AT u ¡ v = 0nª: |
|
W0 = |
|
|
С учетом условия (3.4.6) из (3.4.4) и (3.4.5) получаем, что |
|
|
|
Á(u; v) = hb; ui; |
(3.4.7) |
при этом двойственная функция фактически не зависит от переменной v, называемой иногда слабой двойственной переменной или двойственной невязкой. Сама двойственная задача заключается в максимизации функции (3.4.7) при дополнительном учете равенства (3.4.6) и требования неотрицательности всех компонент вектора v. Другими словами, она имеет вид
hb;Tui |
! |
max |
(3.4.8) |
v + A u |
= |
c; |
v¸ 0n:
Таким образом, двойственная задача опять является задачей ЛП. Ее можно представить в более простом виде, если исключить переменную v:
hb;Tui |
! |
max |
(3.4.9) |
A u |
· |
c; |
|
Задача (3.4.9) является задачей ЛП в основной форме. Если построить двойственную задачу к ней (как, впрочем и к задаче (3.4.8)), то придем к исходной задаче ЛП (3.4.1).
Аналогичным образом можно получить (проделайте это!), что двойственная задача для ЛП в стандартной форме (3.4.2) имеет вид:
hb;Tui ! |
max |
(3.4.10) |
||
A |
u |
· |
c; |
|
|
u |
¸ |
0m: |
|
а для ЛП в основной форме (3.4.3) |
|
|
|
|
hb;Tui ! |
max |
(3.4.11) |
||
A |
u |
= |
c; |
|
|
u |
¸ |
0m; |
|
Опять подчеркнем, что если построить двойственные задачи к двойственным задачам (3.4.10), (3.4.11), то получим соответственно исходные задачи (3.4.2), (3.4.3). Поэтому о таких задачах говорят как о парах взаимодвойственных задач. Кроме того, пары взаимодвойственных задач всегда
150 ГЛАВА 3. ОПТИМИЗАЦИОННЫЕ ЗАДАЧИ
можно представить в симметричном виде, т.е. сделать так, чтобы исходная и двойственная задачи имели одинаковую форму. Поясним это на примере пары взаимодвойственных задач (3.4.1) и (3.4.8). Одна из них имеет каноническую форму, другая стандартную.
Предположим, что матрица A имеет полный ранг, равный m. Возьмем произвольный вектор
c¹ |
|
n |
Ac¹ = b (некоторые компоненты вектора c¹ могут быть даже отрицательными). |
|||||||
2 |
R такой, что |
|||||||||
|
|
T |
ui. Но из равенства c ¡ A |
T |
u = v следует, что A |
T |
u = c ¡ v. Поэтому |
|||
Тогда hb; ui = hAc;¹ ui = hc;¹ A |
|
|
|
|||||||
hb; ui = hc;¹ ci ¡ hc;¹ vi. |
|
|
|
|
|
|
Обозначим через L пространство строк матрицы A, через L? его ортогональное дополнение.
? ¹
Так как A матрица полного ранга, то размерность L равна d = n ¡ m. Пусть A произвольная
(d |
£ |
n) |
-матрица, строки которой |
определяют некоторый базис в пространстве |
L |
?. Тогда после умно- |
|
|
|
T |
¹ |
¹ |
|||
|
|
|
|
|
¹ |
||
жения обеих частей равенства c ¡ A u = v справа на матрицу A получаем: Av = b, где обозначено |
|||||||
¹ |
|
¹ |
|
|
|
|
|
b = Ac. |
|
|
|
|
Переходя теперь в двойственной задаче от максимизации к минимизации и опуская в целевой
функции константу hc;¹ ci, получаем двойственную задачу в канонической форме: |
|
||
hc;¹ vi |
! |
min |
|
¹ |
= |
¹ |
(3.4.12) |
Av |
b; |
||
v |
¸ |
0n: |
|
Задача (3.4.12) полностью эквивалентна двойственной задаче (3.4.8) в том смысле, что их решения (в данном случае оптимальный вектор v¤) совпадают. Оптимальный вектор u¤ может быть восстановлен по v¤ помощью связи AT u¤ = c ¡ v¤. Оптимальные значения целевых функций в (3.4.8) и (3.4.12) конечно не совпадают, но отличаются на константу hc;¹ ci.
Обратим также внимание на геометрическую взаимосвязь допустимых множеств в исходной задаче (3.4.1) и в задаче (3.4.12. Допустимое множество в исходной задаче есть пересечение ортанта Rn+ с аффинным множеством, задаваемым через множество решений системы линейных алгебраических уравнений Ax = b. R+n . Линейным подпространством, параллельным этому аффинному множеству, является подпространство L?. В задаче (3.4.12) допустимое множество также образуется путем пересечения ортанта Rn+ с аффинным множеством, но которое уже задается множеством ре-
¹ ¹
шений системы Av = b с. У данного аффинного множества параллельное линейное подпространство теперь L. Таким образом, несущие линейные подпространства у аффинных множеств оказываются взаимно ортогональными.
Сформулируем далее необходимые и достаточные условия оптимальности, а также теорему двойственности, для задач линейного программирования на примере прямой задачи в канонической форме (3.4.1) и двойственной к ней задачи (3.4.9). Обозначим через X и U допустимые множества
в этих задачах: © ª © ª
X = x 2 Rn+ : Ax = b ; U = u 2 Rm : AT u · c :
Прежде всего, установим следующий важный результат, касающийся существования решения у задачи (3.4.1).
Теорема 3.4.1. Пусть допустимое множество X в прямой задаче линейного программирования (3.4.1) не пусто. Пусть, кроме того, целевая функция f(x) = hc; xi ограничена снизу на X. Тогда решение задачи (3.4.1) существует.
Доказательство. Так как целевая функция ограничена снизу на X, то
inf hc; xi = f¤ > ¡1:
x2X