
книги из ГПНТБ / Ху, Т. Целочисленное программирование и потоки в сетях
.pdf3.1. ТЕОРЕМА ДВОЙСТВЕННОСТИ |
71 |
Симметричность двух задач очевидна. Неравенству в одной задаче соответствует неотрицательная переменная в другой. Равен ству одной задачи соответствует свободная переменная другой. Далее, задача, двойственная к двойственной задаче, есть исход ная (прямая) задача. Таким образом, можно считать любую из такой пары задач прямой, а другую — двойственной.
Если записать задачу линейного программирования в стан дартном виде, то симметричность становится более очевидной. Выпишем для задач в стандартном и каноническом виде им двой ственные.
Стандартный вид |
|
|
Прямая задача |
Двойственная задача |
|
минимизировать |
максимизировать |
|
Z = сх |
ш = уЬ |
|
при условиях |
при условиях |
(С) |
А х ^ Ь , |
у А < с , |
|
х^>0. |
У>0. |
|
Канонический вид: |
Двойственная задача |
|
Прямая задача |
|
|
минимизировать |
максимизировать |
|
z = cx |
ш= яЬ |
|
при условиях |
при условиях |
(s) |
Ах = Ь, |
лА<^ с, |
|
х ^ О . |
л ^ 0. |
|
Здесь мы используем у в качестве неотрицательных переменных
двойственной задачи, |
а переменные |
я могут быть любого знака. |
||||
Стандартную- |
форму |
пары |
двойственных |
задач можно свести |
||
в компактную таблицу. |
Таблица |
3.1 |
|
|
||
|
|
|
|
|
||
|
1 |
|
Х 2 |
|
|
|
1 |
0 |
— ci |
—сг |
• • |
сп |
|
Уп+1 |
- b i |
“ и |
а 12 |
• • |
ain |
— %п+1 |
Уп+2 |
—ь 2 |
а 21 |
|
|
|
— %п+2 |
Уп+т |
Ьщ |
а т 1 |
|
• |
а тп |
— хп+т |
— W |
—VI |
— Уп |
72 |
ГЛ. |
3. ДВОЙСТВЕННОСТЬ |
|
|
При чтении таблицы 3.1 каждая строка таблицы умножается |
||||
на векторгстолбец [1, х^, |
. . хп\ и приравнивается переменной, |
|||
выписанной справа от таблицы. Например, (—bit |
йн, |
. . ., а1п)- |
||
• [1, хи |
. . ., хп] = жп+1. |
Вектор-строка (1, yn+i, . |
. ., |
уп+т) умно |
жается на каждый столбец таблицы и приравнивается перемен
ной, |
записанной под этим |
столбцом. Например, |
(1, г/„-н, . . . |
• • •. |
Уп+т) -I—Cj, ai}, a2J, |
■■., ат}\ = —ys. Все |
переменные х |
и у подчиняются требованию неотрицательности, т. |
е. |
xj ^ 0 (/ = 1, . . ., п, . . ., п + т),
У} > 0 (;' = 1, . . ., п, . . ., п + т).
В дальнейшем для облегчения изложения будут рассмотрены задачи, заданные в стандартном виде.
Л е м м а 3.1. Если х и у —соответствующие допустимые реше
ния пары двойственных задач, тпосх^уЬ.
Д о к а з а т е л ь с т в о . Поскольку х — допустимое |
решение, то |
|||||||
А х ^ Ь . Умножая |
обе части неравенства на у ^ 0 , получаем у А х ^ |
|||||||
^ y b . Поскольку |
у —допустимое решение, |
то |
у А ^ с . Умножая |
|||||
обе части этого неравенства на х > 0 , |
получаем |
уА х ^ сх . Таким |
||||||
образом, c x ^ y A x ^ y b . ш |
|
|
|
|
|
|
|
|
Л е м м а 3.2. Система однородных |
линейных неравенств |
|||||||
|
Ах —<Ь>-0, |
|
у > о , |
|
|
(1) |
||
|
— yA + Zc>0, |
|
х^>0, |
|
|
(2) |
||
|
уЬ — сх^О , |
|
2 > 0 , |
|
|
(3) |
||
гйней мере одно решение у0 |
Х 0 , |
t0, |
такое, что |
|||||
Ах0 —10Ь+ у-*1> |
0, |
и |
|
-уГ |
> 0 . |
(4 ) |
||
—УоА + 10с + x j > |
0, |
|
Хо |
(5 ) |
||||
у0Ь — С Х о - И о > |
0, |
|
|
- to , |
|
(6) |
||
Д о к а з а т е л ь с т в о . Систему |
(1), |
(2), |
(3) |
можно представить |
||||
в матричной форме следующим образом: |
|
|
|
|
||||
0 |
А —Ь-1 |
-уТ- |
|
|
|
-уТ- |
|
|
—Ат 0 сТ • |
X > 0 , |
|
X > |
0 , |
Ьт —с |
0. _ t _ |
_ t _ |
3.1. ТЕОРЕМА ДВОЙСТВЕННОСТИ |
73 |
||
где матрица |
А |
- ь - |
|
0 |
|
||
- А Г |
0 |
сТ |
|
ЬТ |
—с |
0 |
|
является кососимметрической.
По теореме 1.4 эта система обладает по крайней мере одним неотрицательным решением [уг, х, it], таким, что
- 0 |
А |
—ь- "УоТ" |
"Уог~ |
—А |
0 |
ст х0 + |
х0 |
Ът — с |
0_ _ ^0 _ |
_ to _ |
а это и есть не что иное, как условия (4), (5) и (6). Лемма доказана.
Докажем теперь теорему |
двойственности (см. [71] и [201]). |
Т е о р е м а д в о й с т в е н н о с т и . |
Пусть дана пара двойственных задач, |
линейного программирования, |
заданных в виде (с). Тогда справедли |
во одно и только одно из следующих утверждений:
1. Обе задачи имеют оптимальные решения и оптимальные значения целевых функций равны, т. е. min сх = max yb.
2. Одна из задач не имеет ни одного допустимого решения, а другая имеет по крайней мере одно допустимое решение, но не имеет оптимального решения (целевая функция на множестве допу стимых решений неограниченна).
3. Ни одна из пары задач не имеет допустимых решений.
Д о к а з а т е л ь с т в о . Во-первых, отметим, что утверждения 1, 2, 3
взаимно исключают друг друга. Остается показать, что для любой пары двойственных задач одно из утверждений выполняется.
Рассмотрим произвольную пару двойственных задач в форме (с) и построим по ним соответствующую систему неравенств (1), (2),
(3). По лемме 3.2 для этой системы имеется по крайней мере одно
решение у0 ^ |
0, х„ ^ |
0, t0 ^ 0, для которого выполняются усло |
|||
вия (4), (5), (6). Есть две взаимоисключающие возможности: |
t0 > О |
||||
и f0 = 0. Рассмотрим каждую из них отдельно. |
|
|
|||
Случай 1. |
£0> 0 . |
Полагая х * = -^ -, |
у* = -т5-, |
t* = -p-, |
имеем |
х * > 0 , у * > 0 , |
t * ^ 0. |
to |
Го |
*0 |
|
Тогда х*, у* и t* также являются решением |
системы однородных линейных неравенств (1), (2), (3) из леммы
3.2. После подстановки решений х*, |
у*, t* = 1 в систему имеем |
||
Ах* —Ь |
^ 0 , |
или |
Ах*^Ь; |
—у*А + с |
> 0 , |
или |
у*А < с; |
у*Ь —сх *> 0, |
или |
|
74 |
ГЛ. 3. ДВОЙСТВЕННОСТЬ |
т. е. |
х* и у* — допустимые решения пары двойственных задач. |
По лемме 3.1 любые допустимые решения прямой и двойственной задач удовлетворяют условию сх ^ yb. Отсюда в силу сх* ^ у*Ь получаем, что х* и у* являются соответствующими оптимальными
решениями прямой и двойственной задач, т. е. сх* |
= min |
сх = |
= max yb = y*b. |
|
|
Итак, в случае if0 0 каждая из двойственных |
задач |
имеет |
оптимальное решение, и оптимальные значения целевых функций равны.
Случай 2а. |
t0 |
= 0. |
После |
подстановки решения х0, |
у0, t0 |
|||
в неравенства (1) |
и (2) |
получаем |
|
|
|
|||
|
|
Ах0 > |
0, |
у0 > |
0, |
|
(1') |
|
|
|
у0А < 0 , |
х() > |
0. |
|
(2') |
||
Предположим, |
что существуют допустимые решения х и у пары |
|||||||
двойственных задач (с), |
т. е. |
|
|
|
|
|
||
|
|
|
А х> Ь , |
х^О ; |
|
|
(7) |
|
|
|
|
у А < с , |
у > 0 . |
|
|
(8) |
|
Из условий (1') и (8) имеем |
Ах0> 0 , |
у ^ 0. |
Следовательно, |
|||||
уАхо^О. Умножив неравенство у А ^ с на х0^ 0 , |
получим |
сх0^ |
||||||
^ у А х 0. Таким образом, |
|
|
|
|
|
|
||
|
|
|
схо> у А х 0> 0 . |
|
|
(9) |
||
Из условий |
А х ^ Ь и у0> 0 |
следует, |
что у0Ах ^ у0Ь. |
Умно |
||||
жая неравенство у0А ^ О |
на х ^ 0 , имеем у0А х^О , |
откуда |
|
|||||
|
|
|
0 > у 0А х > у 0Ь. |
|
|
(10) |
||
Из условий (9) |
и (10) следует, |
что |
|
|
|
|||
|
|
|
сх0 |
> |
у0Ь. |
|
|
(И) |
Но при t0 — 0 условие (6) имеет вид у0Ь — сх0 > 0, что противо речит условию (11). Таким образом, если t0 = 0, обе задачи из (с) одновременно не могут иметь допустимых решений, т. е. при t = 0 хотя бы одна из них не имеет допустимого решения.
Случай 26. t0 = 0. Допустим одна из задач двойственной пары
имеет допустимое решение, а другая нет. Пусть х — допустимое решение первой задачи из (с), т. е.
(12)
|
|
3.2. ДОПОЛНЯЮЩАЯ НЕЖЕСТКОСТЬ |
|
75 |
||||||
Тогда для любого |
Я > 0, |
х + к 0 |
также будет допустимым |
реше |
||||||
нием, поскольку |
|
|
|
|
|
|
|
|
||
|
|
|
А (х + |
^х0) = |
Ах + ЯАх0 > |
Ь, |
|
|
||
где Ах0^ О в силу |
(1'). |
|
|
|
|
|
|
|
||
|
|
Используя условия (2 '), А х ^ Ь |
и у о > 0 , |
х ^ О , получаем |
||||||
|
|
|
|
0 > у 0А х > у 0Ь. |
|
|
|
(13) |
||
Из |
условий (13) и (6) следует, что 0 ^ |
у0Ах ^ у0Ь > |
сх0, т. е. |
|||||||
сх0 |
отрицательно. |
Поскольку |
сх0 — отрицательная |
величина, |
||||||
а |
1 |
— любое положительное число, значение с (х + Кх0) = |
сх + |
|||||||
+ |
Ясх0 может быть как угодно большим по абсолютной величине |
|||||||||
отрицательным числом. Поскольку х + |
Ях0 — допустимое |
реше |
||||||||
ние |
прямой задачи, целевая функция |
z |
не ограничена |
снизу. |
Подобным же образом, если допустить существование у, удовле
творяющего у А ^ с, можно доказать, что w не ограничена сверху. Итак, если t0 = 0 и одна из пары двойственных задач имеет допу стимое решение, то утверждение 2 теоремы доказано.
Случай 2в. В п. 2а было показано, что при t0 = 0 хотя бы одна из задач двойственной пары не имеет решения. Для завершения доказательства теоремы осталось показать, что возможен случай, когда каждая из пары двойственных задач не имеет допустимых решений. Предоставляем читателю возможность самому построить пример такой пары задач. ш
Доказательство теоремы двойственности было приведено для задачи в стандартном виде. Однако, используя преобразования, указанные в гл. 1, можно от стандартного вида перейти к канони ческому, и наоборот.
3.2.Дополняющая нежесткость (Данциг и Орден [44])
Вэтом параграфе будут изучены еще некоторые соотношения между решениями пары двойственных задач линейного програм мирования. Следующие две теоремы, называемые обычно теоремами о дополняющей нежесткости, устанавливают эти соотношения между прямой и двойственной задачами.
Прямая задача |
Двойственная задача |
min сх |
max yb |
А х ^ Ь |
уА с |
х > 0 |
у > 0 |
76 |
ГЛ. 3. ДВОЙСТВЕННОСТЬ |
Т е о р е м а |
о с лаб о й д о п о л н я ю щ е й н е ж е с т к о с т и 1). Пусть зада |
на пара двойственных задач линейного программирования в стан
дартном виде. Для того чтобы допустимые решения х и у прямой и двойственной задач были оптимальными, необходимо и достаточ но, чтобы выполнялись следующие соотношения'.
У [Ах — Ь] = 0, |
[с —уА]х = 0. |
Д о к а з а т е л ь с т в о . Так как х |
и у —допустимые решения,, то |
а = у [Ах — Ь].^г0, |
Р = [с —у А ]х ^ 0 , |
где а и р суть произведения неотрицательных сомножителей. Более того, a -j-P = —yb + cx ^ 0 .
По теореме двойственности, для того чтобы х и у были опти мальными решениями прямой и двойственной задач, необходимо и достаточно, чтобы
— yb + сх = 0.
Следовательно, a + Р = 0, и так как а ^ 0, Р ^ 0, то а = О и Р = 0. Теорема доказана. и
Сл е д с т в и е о д о п о л н я ю щ е й н е ж е с т к о с т и . Дана пара двойствен
ных задач в стандартном виде. Для того чтобы х и у были решения ми прямой и двойственной задач, необходимо и достаточно выпол нение соотношений (1), (2), (3) и (4), приводимых ниже.
Перепишем матричное соотношение у [Ах — Ь] = 0 в следую щей эквивалентной форме:
Уг [агх — bi\ = 0 |
(£ = 1, |
. . . » пг), |
|
|
или, что то же самое, |
|
|
|
|
если г/г>0, |
то а;х = |
Ьг, |
(1) |
|
если агх > Ь г, то г/г = |
0. . |
(2) |
||
Подобным же образом условие |
[с —уА] х = 0 равносильно |
сле |
||
дующим: |
|
|
|
|
если c;> yaj, |
то Х } |
— |
0, |
(3) |
и |
|
|
|
|
если x j ^ > 0, |
то C j — |
y & j . |
(4))* |
*) Иногда говорят: слабая форма теоремы о дополняющей нежесткости.—
П р и м . р е д .
3.3. ОРТОГОНАЛЬНОСТЬ РЕШЕНИЙ |
77 |
Соотношения (1) — (4) должны быть справедливыми для любой пары оптимальных решений. Может случиться так, что y t = О
и агх = bt одновременно. Следующая теорема подчеркивает, что всегда существует по крайней мере одна пара оптимальных реше
ний, для которых соотношения уг = 0 и агх = Ьг не могут выпол няться одновременно.
Т е о р е м а о с и л ь н о й д о п о л н я ю щ е й н е ж е с т к о с т и . Пусть для
прямой и двойственной задач существуют допустимые решения. Тогда найдется по крайней мере одна пара оптимальных решений х
и у, удовлетворяющая соотношениям |
|
|
|
(Ах —Ь) + |
уг > |
0, |
(5) |
(с —уА) + |
хг > 0 . |
(6) |
|
Д о к а з а т е л ь с т в о . Е с ли обе задачи |
обладают |
допустимыми |
решениями, то параметр t0, фигурирующий в утверждении лем
мы 3.2, положителен, t0 > |
0. Разделив неравенства (4), |
(5) |
и (6) |
|||
из утверждения леммы 3.2 |
на |
t0 и положив х = -^ и |
у |
*0 |
, |
|
получим |
|
|
tо |
|
|
|
|
|
|
|
|
|
|
[Ах — Ь ] + У г > 0 |
И |
[с —уА] + х ^>0 . |
|
|
|
|
•Запишем первое неравенство более подробно: |
|
|
|
|||
если а;Х—Ьг—0, то у, > 0; |
|
|
|
|||
если г/г=0, |
то |
агх —£>г > 0. |
|
|
|
|
Аналогично для второго неравенства: |
|
|
|
|||
если cj = y&j, |
то ;г; > 0 ; |
|
|
|
||
если xj = 0, |
|
то Cj^>yaj. |
|
|
|
Эти соотношения должны выполняться по крайней мере для одной пары оптимальных решений.
3.3. Ортогональность решений (Таккер [193])
Запишем стандартный вид прямой и двойственной задач несколько иным способом. Пусть прямой задачей является следую щая:
найти максимум
х0 = aolx1 + а02х2 + . . . + а0пхп (х0 = —z)
78 |
ГЛ. |
3. ДВОЙСТВЕННОСТЬ |
|
|
|
при условиях |
|
Ч-filial Ч- •■• 4“ O l n X n |
0, |
|
|
Х п\ 1— 0 - ю |
|
||||
■Z-n+m=®nj04“ ®ml^l4“ •• • 4“®тп^п^0) |
|||||
|
|
X i |
|
>0. |
|
|
|
|
|
|
|
Тогда двойственной задачей будет такая: |
|
|
|||
максимизировать |
|
|
|
|
|
Уо — |
— ^loj/n+i — • • • — &тоУп+тп |
{Уо — |
w ) |
||
при условиях |
|
|
|
|
|
|
|
У п + i |
|
> |
0, |
|
|
|
Уп+т~^0) |
||
—У \ — aoi ~\~ а п У п + 1 + |
• • • Ч~ omiyn+m^Z0, |
||||
— |
У п — Ооп Ч~ &1пУп+1 Ч- |
• • • 4“ а т п У п + т ^~ : 0. |
Такую форму записи можно представить таблицей, подобной табл. 3.1, где aoj = —Cj, ai0 = —bt (см. табл. 3.2). В .табл. 3.2
Таблица 3.2
|
1 |
X i |
х 2 |
|
|
|
1 |
0 |
а 01 |
а 02 |
■ •. |
а 0п |
= х0 |
Уп+1 |
а 10 |
а и |
а 12 |
■ |
а т |
“ хп+1 |
Уп +2 |
а 20 |
Й21 |
|
|
|
—х п+2 |
Уп+ т |
а т 0 |
ат1 |
|
• |
а т п |
—•сп+т |
|
— Уо |
— г/i |
|
|
— Уп |
|
на все переменные х и у, кроме х0 и у0, наложено требование неотрицательности.
Пусть
А = |
(O-ij) |
|
1 ? • • • 1оъ, j 0? Т> • • • >О-), |
|
у (?n+ ti) —_ (1 , |
у п+ j, |
у п+ 2 , |
. . ., У п + т )> |
|
у(п+1 ) = |
( у 0, |
г/!, . |
. у |
п), |

|
3.3. |
ОРТОГОНАЛЬНОСТЬ РЕШЕНИЙ |
79 |
|||
Х (™ +1) = |
[;Г0, |
Xn+i, |
. . . , Х п + т \, |
|
|
|
Х ( " + 1) = [ 1 , Хь . . . , Хп], |
|
|
|
|||
У(т+п+2) = |
(1, |
г/п+1, |
■ ■ ■ , У п + т , У о , |
У и |
• • •» У п ) , |
|
•£(т + п + 2) —[x q : |
Х п+ \, |
• • ■, x n+mi |
х и |
• • • i х п \' |
|
|
Отсюда следует, |
что |
|
|
|
|
|
|
|
' Ax<n+1) = x(m+1), |
|
(1) |
||
|
|
y(m+l)y^__ —y(n+l)^ |
(2) |
И
y(m+n+2)x(m+n+2) _ y(m+l)x(m+1) _|_ y(n+ 1)х<п+^ =
— y(w+ ОАхОг-ь^ —y C m + ^ = 0. |
(3) |
Любой вектор x(m+n+2) представляет собой решение прямой задачи, если только компоненты удовлетворяют условию (1); если, кроме того, все его компоненты, за исключением, быть может, х0, неотрицательны, то x<m+”+2> является допустимым решением. Подобным же образом, -y(m+n+2 ) представляет собой
решение двойственной задачи, если только его компоненты удов летворяют условию (2); это решение является допустимым, если все компоненты, кроме y oi, неотрицательны. Условие (3) показы вает, что каждый вектор х(т+"+2), представляющий собой решение (допустимое или нет) прямой задачи, ортогонален любому вектору у(т+п4-2)^ являющемуся решением (допустимым или нет) двойствен
ной задачи. Распишем условие (3) более подробно:
y(m+n+2)x(7n+n+2) ~ |
£0_| х п + \ у п + 1 ~\- |
. . . + Х п + т У п + т + |
|
|||||
|
|
|
|
|
|
|
т-\-п |
|
|
|
+ |
Уо + % iV \ + |
• • - + ЭСпУп = |
х 0 + Уо + 2 |
х к У к — |
||
|
|
|
|
т-\-п |
|
k = 1 |
|
|
|
|
= —Z + W + |
|
|
|
|||
|
|
2 |
xhyh = 0. |
|
(4 ) |
|||
|
|
|
|
h=i |
|
|
|
|
Если |
у(т +«+2) |
и |
х(т+п+2) — допустимые |
решения, |
то г/ь^О |
|||
(& = 1, . . . , п + т) |
и xk^s 0 {к = |
1, |
. . . , п + |
т). Поскольку сумма |
||||
произведений неотрицательных величин есть величина |
неотрица- |
|||||||
|
n-j-m |
|
|
|
|
|
|
|
тельная, |
2 xhyh^ 0 . Отсюда, |
используя (4), получаем |
|
|||||
|
й = 1 |
|
m-f-n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Z — W = 2 х к У к ^ 0 |
и ли Z ^ W , |
(5 ) |
|||||
|
|
|
й = 1 |
|
|
|
|
|
что является утверждением леммы 3.1.
Пусть теперь у(™+п+2) и x(m+n+2) — оптимальные решения. Не обходимым и достаточным условием этого является по теореме
8 0 ГЛ. 3. ДВОЙСТВЕННОСТЬ
двойственности равенство z = w , |
или, |
учитывая (4), |
|
|
m-j-n |
|
|
z — w = |
2 |
xhyh = 0. |
|
|
/1=1 |
|
|
Но в силу того, что xt ^ |
0, |
г/г ^ |
0, это условие равносильно |
следующему: |
|
|
|
если yk > 0, то xh = |
0; |
если xk ;> 0, то yk = 0, |
что представляет собой теорему о слабой дополняющей неже-
сткости. |
|
|
|
|
|
|
|
|
Рассмотрим следующий пример: |
|
|
|
|||||
найти максимум х0 (минимум z) |
|
|
|
|||||
£„ = —Xi — хг — х3 |
(z = |
Xi + |
хг + |
х3) |
||||
при условиях |
|
|
|
|
|
|
|
|
|
X i |
= — 1 — X i — х 2 + Х з ^ 0, |
|
|||||
|
,а?5 |
= |
—7 |
-f- ajj Ц- х% -f- Зх3 /З5 0; |
|
|||
найти максимум у 0 (максимум w) |
|
|
|
|||||
при условиях |
Уо = |
Уь + Ь ь |
(^ = |
*/4 + |
7Уь) |
|
||
|
—г/i = |
—1 — г/4 + |
г/5 < |
0, |
|
|||
|
|
|
||||||
|
|
—Уг — —1 + |
г/4 + |
г/5 ^ |
0, |
|
||
|
|
—г/3 = |
—1 + |
г/4 + |
Зг/5 ^ |
0. |
|
|
В таблице приведены пять векторов, являющихся решениями |
||||||||
прямой и двойственной задач. |
|
|
|
|
||||
|
х<1> |
х(2) |
х<3> |
|
|
у<1> |
у<2) |
|
х0 |
—7 |
- 3 |
-7/3 |
|
1 |
1 |
1 |
|
Ч |
0 |
0 |
|
4/3 |
|
Vi |
0 |
- 1 /2 |
Ч |
0 |
0 |
|
0 |
|
Уь |
1/3 |
1/2 |
1 |
1 |
1 |
1 |
|
Уо |
7/3 |
3 |
|
Xi |
3 |
1 |
0 |
|
у1 |
2/3 |
0 |
|
Ч |
4 |
0 |
|
0 |
|
Уг |
2/3 |
1 |
х3 |
0 |
2 |
|
7/3 |
|
Уз |
0 |
0 |