ВОЕНЫ АЛЛАХА1АЗАЗАЗАЗ / 11_Выпуклое_программирование_сент_9_2008
.pdfО.А. Кашина, А.И. Кораблев
11. Выпуклое программирование
Определение 1. Задачей выпуклого програм-
мирования называется задача нелинейного про-
граммирования, где все функции |
f , |
f1, ..., |
fm |
яв- |
ляются выпуклыми. |
|
|
|
|
Таким образом, задача выпуклого программирования является задачей условной минимизации, где целевая функция выпукла и допустимая область представляет собой выпуклое множество, образованное системой выпуклых неравенств. Поэтому утверждения, полученные ранее в параграфе 6, справедливы для задачи выпуклого программирования. В данном параграфе мы конкретизируем эти общие результаты и приведем их в форму более удобную для исследования и решения следующей задачи выпуклого программирования:
|
|
|
|
|
min f x |
(1) |
|
|
|
|
fi x 0, |
i 1, ..., m , |
(2) |
||
|
|
|
|
xj |
0, |
j 1, ..., n . |
(3) |
|
|
|
Нам понадобятся некоторые вспомогатель- |
||||
ные |
построения |
в |
пространстве E m 1 |
векторов |
|||
|
|
|
u1, ..., um , um 1 |
. |
Вектор из первых |
m компо- |
|
u |
58
Методы оптимизации: Часть I
нент u
u
точки
, um 1 .
u
будем обозначать через
u
. Итак,
A
где
|
Для |
|
|
u : |
|
F |
задачи (1) – (3) определим множество
u E |
m 1 |
; |
u F x ; um 1 |
|
f x ; |
x 0 , |
|
|
|
|
|
|
|
f1, ..., |
fm . |
|
|
|
|
Лемма. Для задачи выпуклого программиро-
вания (1) – (3) множество |
A |
выпукло. |
Доказательство. Выберем
векторы |
u, v |
из множества |
A |
и |
произвольные
число |
t 0,1 |
|
|
. |
Тогда существуют |
|
точки |
|
что |
u F x , um 1 |
|
f x |
Умножим эти неравенства
x
и
и
v
на
t
q из E n
F q , v |
|
|
m 1 |
и |
1 t |
,
такие, f q .
соот-
ветственно, и сложим их. В силу выпуклости
всех |
функций |
получаем |
|
|
t u 1 t v t F x 1 t F q F t x 1 t q , |
||||
t u |
1 t v |
t f x 1 t f q f t x |
1 t q . |
|
m 1 |
m 1 |
|
|
|
|
Из полученных неравенств и вытекает вы- |
|||
пуклость множества |
A . |
|
||
|
Теорема 1. (Теорема Куна-Таккера |
в форме |
о седловой точке функции Лагранжа задачи выпуклого программирования) Пусть в задаче выпуклого программирования (1) – (3) система (2) удовлетворяет условию Слейтера относительно
E n . Тогда для того, чтобы неотрицательный
вектор x был решением задачи (1) – (3), необходимо и достаточно, чтобы существовал неотри-
59
О.А. Кашина, А.И. Кораблев
цательный вектор |
y |
|
такой, что |
|
, y |
|
|
– сед- |
|
x |
|
||||||
ловая точка функции Лагранжа. |
|
|
|
|
|
|||
Доказательство. |
Поскольку |
достаточность |
этого условия уже доказана для произвольной задачи нелинейного программирования (см. теорему 2.6 введения), осталось доказать только необходимость.
Необходимость. |
Пусть |
|
x |
|
– решение задачи |
||||||
|
|
||||||||||
(1) – (3). Положим w 0, ..., 0, |
f |
|
E |
m 1 |
. Очевид- |
||||||
|
|
||||||||||
но, что w A , так как |
|
|
|
|
|
f |
|
и |
|
0 . |
|
x 0 , |
f x |
|
F x |
||||||||
Убедимся, что |
w int A. |
Предположим |
|
про- |
|||||||
тивное. Это означает, что |
найдется |
|
точка |
|
x 0 |
||||||
такая, что F x 0, f x f |
|
. Следовательно, |
x – |
||||||||
|
такая допустимая точка, значение целевой функ-
ции в которой |
меньше |
минимального. Получаем |
||
противоречие с |
тем, что |
x |
|
– решение задачи вы- |
|
||||
пуклого программирования. |
|
Итак, |
|
int A. Согласно лемме множество |
A |
w |
выпукло. Следовательно, выполняются все требования теоремы 8.2. Поэтому существует ненулевой
вектор
g
множеству
g, |
g |
|
E |
|
|
|
m 1 |
|
|
m 1 |
|
A : |
|
|
|
опорный в точке
w
ко
g, u w |
0, |
u A |
(4) |
|
|
. |
Убедимся далее, что все координаты вектора g неположительны. Предположим противное.
Пусть существует координата g j 0 . Зафиксиру-
60
Методы оптимизации: Часть I
ем у вектора
u
все компоненты, кроме
j
-ой.
Тогда, учитывая, что произведение
g |
u |
j |
j |
|
может
принимать сколь угодно большие значения лу неограниченности сверху координаты u
j
(в си-
), по-
лучаем противоречие с неравенством (4). |
|
|
|||||||||||||||||||||||||
|
|
Легко увидеть, что при любом |
x 0 векторы |
||||||||||||||||||||||||
u |
F |
|
x |
|
, |
f |
|
x |
|
включаются |
|
во |
множество |
A . |
|||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
Тогда |
|
|
из |
|
(4) |
|
имеем: |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
g, |
|
F x |
gm 1 |
f |
x |
f |
|
0, |
x 0 . |
|
(5) |
||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
Покажем, |
что |
|
gm 1 0 . |
Пусть |
это не |
так. |
|||||||||||||||||||
Тогда |
|
gm 1 |
0 |
. Следовательно, |
|
g, F x 0, |
x 0. |
||||||||||||||||||||
По условию |
|
|
Слейтера |
существует |
|
вектор |
|
z 0 |
|||||||||||||||||||
такой, |
|
|
что |
|
F z 0 . |
|
Поэтому |
|
g, F z |
0 . |
Полу- |
||||||||||||||||
ченное |
|
|
противоречие |
|
и |
означает, |
что |
gm 1 0 . |
|||||||||||||||||||
|
|
Обозначим |
y |
|
|
|
1 |
g . |
|
Покажем, что |
по- |
||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
g |
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m 1 |
|
|
|
|
|
|
|
|
строенный |
|
вектор |
|
y |
|
|
представляет |
собой |
иско- |
||||||||||||||||||
|
|
|
|
||||||||||||||||||||||||
мый |
|
|
вектор |
|
|
множителей |
Лагранжа. |
Очевидно, |
|||||||||||||||||||
что |
|
y |
|
|
0 |
|
и |
|
|
из (5) |
|
получаем |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
f x
Отсюда при
y ,
xx
y ,
F x |
|
f |
|
, |
|
|
|
|
следует
F x 0 .
x
0
.
(6)
(7)
С |
другой |
стороны, так как F x 0 (по- |
скольку |
x D) |
и y 0 , получаем неравенство |
|
|
61 |
О.А. Кашина, А.И. Кораблев
y |
, |
F x |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
точке |
x |
|
, |
y |
|
|
|||
|
|
|
нежесткости:
Из (6) и (8)
f x |
|
|
|
, |
|
y |
0 |
. Отсюда и из (7) следует, что в |
||||||||||
выполняется |
условие |
дополняющей |
|||||||||
|
|
|
|
, |
|
|
0 . |
|
|
(8) |
|
|
|
|
y |
F x |
|
|
|||||
|
имеем |
|
|
|
|
|
|
||||
F x |
|
|
|
f x |
y |
|
, F x , x 0 , |
||||
|
|
|
или, |
что |
то |
же |
|
самое, |
|
|
|
|
|
|
|
|
|
|
|
y |
|
L x, |
y |
|
, |
x 0. |
|
|
|
|
L x , |
|
|
|
|
||||||
|
Далее, пусть |
y 0 . Тогда |
y, F x |
|
|
|||||||
|
|
|||||||||||
сюда |
и |
из |
(8) |
получаем |
неравенство |
|
0
(9)
. От-
f x |
|
|
y, F x |
|
|
|
f x |
|
|
|
, F |
|
|
|
y |
Итак,
|
, |
y |
|
, |
y |
|
, |
y 0 . |
L x |
L x |
|
Неравенства (9), (10) и означают, что
x |
|
. |
|
||
|
|
x |
|
, y |
|
(10)
|
|
– |
|
|
седловая точка функции Лагранжа задачи выпук-
лого программирования. Что и требовалось.
Прежде, чем познакомиться с еще одним вариантом теоремы Куна-Таккера, приведем следующую теорему, которая представляет собой критерий условного минимума в терминах конусов опорных векторов.
62
Методы оптимизации: Часть I
Теорема 2. |
Пусть |
|
f – выпуклая и |
диффе- |
|||||
ренцируемая |
на |
E n функция, |
|
множество |
D вы- |
||||
пукло. Тогда |
для |
того, |
чтобы точка |
|
|
||||
x D была |
|||||||||
условным минимумом функции |
f |
на |
множестве |
||||||
D , необходимо и достаточно, чтобы выполня- |
|||||||||
лось включение |
f x T x . |
|
|
|
|||||
|
|
|
|
(11) |
|||||
Доказательство следует |
непосредственно из |
||||||||
теоремы 6.5 |
и |
определения |
|
конуса |
T x опор- |
||||
ных векторов в точке |
x |
ко множеству D . |
|||||||
Теорема 3. |
(Теорема |
Куна-Таккера |
в диф- |
ференциальной форме для задачи выпуклого программирования) Пусть дана задача выпуклого программирования в виде (1), (2), где все функции
f , |
f1, ..., |
fm |
непрерывно |
дифференцируемы, |
систе- |
ма |
(2) |
удовлетворяет |
условию Слейтера. |
Тогда |
для того, чтобы вектор задачи (1), (2), необходимо
x |
|
|
|
и |
|
D был решением достаточно, чтобы
существовал неотрицательный вектор
y |
|
|
такой,
что выполняются условия
f x |
|
|
|
|
|
|
|
y |
|
m |
|
|
|
i |
|
|
|
y |
|
f |
|
|||
|
i 1 |
|
|
, F x |
|
||
|
|
|
|
|
|
|
i |
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
. |
|
|
|
|
|
0
,
(12)
(13)
|
|
Доказательство. Покажем, что условия (12) |
|
и |
(13) эквивалентны включению (11). Пусть точ- |
||
ка |
x D такова, что I x . Тогда |
f x 0 |
|
и |
|
y 0. |
|
|
|
|
63 |
О.А. Кашина, А.И. Кораблев
Пусть теперь
I x |
|
|
|
. Тогда из теорем 2
и 10.5 следует, что необходимым и достаточным условием экстремума является существование та-
ких множителей
y |
|
|
|
i |
0
,
i I
x |
|
|
|
|
,
для которых
f
iI
x |
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fi x |
|
. Положим |
|
0 |
для всех |
yi |
|
yi |
||||||
|
i I x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
иполучим из последнего равенства
условия (12) |
и (13). Что и требовалось. |
В заключение параграфа приведем формули- |
|
ровки двух |
теорем Куна-Таккера для задачи вы- |
пуклого программирования с линейными ограничениями.
Теорема 4. Пусть в задаче выпуклого про-
граммирования (1) – (3) |
система ограничений |
(2) |
|||||
имеет |
вид |
Ax b , где |
A – матрица |
размерности |
|||
m n , |
b – вектор размерности m . Тогда |
для |
то- |
||||
го, чтобы |
неотрицательный вектор |
x |
|
был |
ре- |
||
|
шением задачи, необходимо и достаточно, чтобы
существовал неотрицательный |
вектор |
y |
|
такой, |
||||
|
||||||||
|
, y |
|
– седловая точка |
функции |
Лагранжа |
|||
что x |
|
|||||||
данной |
задачи. |
|
|
|
|
|
||
Отметим, что в этом случае функция Ла- |
||||||||
гранжа |
имеет вид |
L x, y f x y, Ax b . |
Теорема 5. Пусть в задаче выпуклого программирования (1), (2) целевая функция f непре-
рывно дифференцируема, система ограничений (2)
64
Методы оптимизации: Часть I
имеет вид
Ax
b
,
где A – матрица размерности
m
n
, b – вектор размерности
m
. Тогда для того,
чтобы вектор необходимо и
|
D |
был |
x |
достаточно,
решением задачи, чтобы существовал
неотрицательный
ются условия |
f |
|
|
|
вектор |
y |
|
||
|
||||
|
|
A |
||
x |
y |
такой, что выполня-
0 |
, |
|
, |
Ax |
|
b |
0 . |
y |
|
Заметим, что в теоремах 4 и 5 не требуется выполнения условия Слейтера, поэтому они не являются частными случаями теорем 1 и 3 и требуют самостоятельного доказательства.
65