Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ВОЕНЫ АЛЛАХА1АЗАЗАЗАЗ / 11_Выпуклое_программирование_сент_9_2008

.pdf
Скачиваний:
29
Добавлен:
10.02.2015
Размер:
399.08 Кб
Скачать

О.А. Кашина, А.И. Кораблев

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