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

Методы оптимизации и исследование операций для бакалавров информатики. Часть 2

.pdf
Скачиваний:
187
Добавлен:
26.03.2016
Размер:
7.81 Mб
Скачать

50

Глава 9.

 

Теория выпуклого программирования

 

 

 

 

 

 

 

 

 

X )

. Получим

Возьмем левое неравенство и сократим его на f (→−

 

m

 

 

 

m

 

→−

 

 

 

 

y g (→−

 

 

 

 

 

 

 

 

 

X )

 

i

 

(X ).

(9.27)

 

i

i

 

i

i

 

 

 

i=1

 

 

 

=1

 

 

 

 

 

Так как yi 0, а неравенство должно выполняться для всех

yi 0, то

(−→ ) 0 gi X ,

−→

т. е. X — план задачи. В частности, (9.27) должно выполняться для yi = 0, т. е.

 

 

m

 

0

 

y g (−→ )

 

 

i

X .

 

i i

 

 

=1

 

Но

m

→−

yi gi(X ) 0.

i=1 0 0

Отсюда немедленно следует, что

m

(−→ ) = 0 yi gi X .

i=1

−→

Покажем, что X — оптимальный план. Возьмем правое неравенство:

 

→−

 

 

f (→−

 

m

 

 

 

 

−→

 

 

 

−→

m

 

−→

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

0

 

 

 

 

y

g

(X )

 

f (X ) +

i

 

(X ).

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

0

— план, то

g

 

X )

 

0

и

 

 

 

Отсюда, если →−

 

 

 

i

(→−

 

 

 

 

 

 

 

 

 

 

 

 

 

m

yi gi(→−

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

0.

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X )

 

 

 

 

 

 

=1

9.5. Дифференциальные условия Куна — Таккера

51

 

X

X

)

 

f (X ),

следовательно, план

То есть для любого плана →−

f (→−

 

→−

→− оптимальный.

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

Замечание. Более подробное исследование, которое мы опускаем, показывает, что условие Слейтера является необходимым только для н е л и н е й н ы х ограничений. Для линейных ограничений теорема справедлива без этого условия.

9.5.Дифференциальные условия Куна — Таккера и их геометрическая интерпретация

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

жить, что они являются гладкими, т. е. непрерывно дифференци-

→− →−

руемыми, то условие седловой точки функции Лагранжа L(X , Y ) на неотрицательном октанте можно представить в дифференциальной форме.

Минимизация L по переменным xj при xj 0 приводит, как мы видели, рассматривая «полуклассический» случай оптимизации, к трем условиям для каждого j = 1, . . . , n. Аналогичные условия получаются для каждого i = 1, . . . , m при максимизации L по множителям Лагранжа yi при условии yi 0, однако знаки производных при переходе от минимизации к максимизации следует сменить на обратные.

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

52

 

 

Глава 9. Теория выпуклого программирования

 

 

 

→− →−

 

 

 

 

 

 

X , Y )

 

 

 

 

 

а)

∂L(X , Y )

0,

г)

∂L(→− →−

0,

 

 

 

 

 

 

 

 

 

∂xj

 

 

∂yi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)

xj

∂L(→− →−

= 0,

д)

 

 

X , Y )

= 0,

(9.28)

X , Y )

yi ∂L(→− →−

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∂xj

 

 

 

 

 

 

∂yi

 

 

 

 

 

в) xj 0,

 

 

 

е) yi 0,

 

 

 

 

 

 

 

j = 1, . . . , n,

 

 

i = 1, . . . , m.

 

 

 

Равенства «б» и «д» обычно называют условиями дополняющей нежесткости (complementary slackness conditions).

В векторной форме условия «а»–«в» приобретают компакт-

ный вид

 

 

 

 

 

 

 

 

 

→− L(→− →−

 

0,

 

а)

 

 

 

X , Y )

 

 

 

 

 

 

 

 

→−

 

→− L(→− →−

 

(9.28 )

б)

X T

 

X , Y ) = 0,

→−

 

 

 

 

 

в)

 

0,

 

 

 

 

 

X

 

 

 

 

 

 

a условия «г»–«е», учитывая линейность функции Лагранжа по переменным yi, иногда удобнее использовать в равнозначной покоординатной записи:

г)

gi(→−

 

0,

 

 

 

 

X )

 

 

д)

y

 

X ) = 0,

 

igi(→−

 

(9.28 )

е)

yi

0,

 

 

 

i = 1, . . . , m.

 

Для того чтобы компактно записать условия «г»–«е», введем

обозначение вектор-функции:

 

 

 

 

→− (→− ) =

 

1(→−

.

.

 

 

 

 

g

X )

 

 

 

 

 

.

 

 

G X

 

 

gm(→−

 

 

 

 

 

 

 

X )

9.5. Дифференциальные условия Куна — Таккера

53

 

Тогда (9.28 ) перепишется в эквивалентном векторном виде

 

 

 

 

 

г)

→− →−

 

0,

 

 

 

 

 

 

 

д)

G

(X )

 

 

 

 

 

 

 

 

→−

→− →−

 

 

(9.29)

 

 

 

е)

Y

T G (X ) = 0,

 

 

 

 

→−

 

0.

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

Геометрическая

 

Условия Куна — Таккера имеют простую

 

и наглядную геометрическую интерпрета-

интерпретация

 

 

цию.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Напомним еще раз общую задачу выпуклого программирова-

ния (9.1)

 

f (→−

 

 

 

 

 

 

 

 

 

 

 

 

 

min,

 

 

 

 

 

 

 

 

 

X )

 

 

 

 

 

 

 

 

 

gi(→−

 

0, i = 1, . . . , m,

 

 

 

 

 

−→

X )

 

 

 

 

 

 

 

0,

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

и функцию Лагранжа для нее (9.18)

 

 

 

 

L(→− →−

 

 

 

→−

 

m

→−

 

 

 

 

 

 

 

i i

 

 

 

 

 

X , Y ) = f (X ) +

i

(X ).

 

 

 

 

 

y g

 

 

 

 

 

 

 

 

 

 

 

 

 

=1

 

 

 

 

X

 

= (x

, . . . , x )T

 

 

Y

=

Итак, пусть →−

 

 

 

 

 

 

 

 

— оптимальный план, →−

 

 

 

 

 

 

1

 

 

 

n

 

 

 

 

 

 

= (y1 , . . . , ym)T — соответствующий ему вектор оптимальных множителей Лагранжа.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

Представим градиент функции Лагранжа в точке →− в виде

разложения по координатным векторам:

 

 

 

 

 

 

 

 

X

 

, Y ) =

 

 

 

m

g

(X ) =

n

 

 

 

 

 

 

f (X ) + y

v e .

 

→− L(→−

 

→−

 

→− →−

 

 

−→

 

−→

 

 

j −→j

 

 

 

 

 

 

=1

i i

 

j=1

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

Здесь

v

j — координата градиента, а

e

= (0, . . . , 0, 1, 0, . . . , 0)T ,

 

→− j

 

 

 

 

 

где единица стоит на j-м месте, — единичный координатный вектор (орт).

54

 

 

Глава 9.

Теория выпуклого программирования

 

Выразим отсюда антиградиент

ц е л е в о й

 

функции в

X

 

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

точке →−

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

→− f (→−

 

 

m

→−

 

→−

 

 

n

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

X

) =

 

y

g

(X

) +

v (

e

).

(9.30)

 

 

 

 

 

i

i

 

 

j

→− j

 

 

 

 

 

 

 

=1

 

 

 

 

 

j=1

 

 

 

 

C учетом введенных обозначений условия Куна — Таккера (9.28)–(9.28 ) приобретают вид

а) vj 0,

б) xj vj = 0,

в) xj 0, j = 1, . . . , n,

−→

г) gi(X ) 0,

−→

д) yi gi(X ) = 0,

е) yi 0,

i = 1, . . . , m.

Рассматривая их, прежде всего заметим, что условия «в» и

«г» очевидны: они требуют, чтобы оптимальный план

→−

удовле-

 

X

 

творял всем ограничениям задачи, т. е. находился в допустимой области.

Для интерпретации остальных условий напомним, что некоторое ограничение является активным для конкретного плана, если соответствующее нестрогое неравенство превращается в равенство, то есть если данный план попадает на границу допустимой

области.

→−

может активизировать ограничения

В нашей задаче план

 

X

 

по двум причинам: либо он попадает на границу, заданную од-

−→

ной или несколькими функциями gi(X ) = 0, либо он попадает на

границу неотрицательного октанта, при этом одна или несколько

координат xj нулевые. В связи с этим для оптимального плана

→−

введем два множества индексов а к т и в н ы х ограничений

X

M (→−

 

 

 

 

 

 

 

 

→−

 

 

 

 

 

 

 

 

) =

 

 

 

 

 

 

) = 0

 

 

 

X

 

 

{

i

|

g

(X

 

}

,

 

N (→−

 

 

 

i

 

 

 

}

 

 

 

) =

{

 

 

|

j

 

 

 

 

 

 

X

 

 

j

 

x

= 0

 

.

 

 

Условия дополняющей нежесткости «д» и «б» означают, что для н е а к т и в н ы х (пассивных) ограничений соответствующие

9.5. Дифференциальные условия Куна — Таккера

55

им yi и vj равны нулю:

 

→− ) → gi(→−

)

 

0

i

= 0;

(9.31)

i / M (X

 

 

 

X

 

<

 

 

y

 

j / N (→−

)

 

0

= 0.

 

(9.32)

 

X

 

x >

v

 

 

 

 

j

 

j

 

 

С учетом этого в выражении (9.30) суммирование по всем индексам можно заменить суммированием по индексам активных ограничений, так как остальные слагаемые, соответствующие неактивным ограничениям, равны нулю. Таким образом, условия «д» и «б» эквиваленты следующему выражению:

→− →−

 

 

 

 

y →− g (→− ) +

 

 

 

 

 

 

 

 

f (X

 

 

i i

X

 

 

v

(

e

).

 

 

i M (→−

 

 

 

 

→−

 

j

→− j

 

(9.33)

 

 

 

X

 

)

 

 

 

j N (X

 

)

 

 

 

 

Оставшиеся два условия «а» и «е» требуют неотрицательности входящих в разложение коэффициентов vj и yi .

Для того чтобы увидеть в выражении (9.33) наглядный гео-

g

X )

 

 

X

 

X ) = 0

 

 

метрический смысл, заметим, что вектор →−

i(→−

представляет

собой внешнюю нормаль к ограничению gi(→−

 

в точке

→−

,

→−

а вектор e j также можно понимать как внешнюю нормаль к координатной прямой xj = 0.

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

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

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

56

Глава 9. Теория выпуклого программирования

то, как следует из (9.31), соответствующий ему множитель равен нулю.

П р и м е р 1. Для иллюстрации рассмотрим простую задачу выпуклого программирования с двумя переменными :

f (x1, x2) = (x1 2)2 + (x2 2)2 min,

x21 + x22 4,

x2 x1, x2 1,

x1, x2 0.

Рис. 9.14. Минимизация квадратичной функции двух неотрицательных переменных с тремя ограничениями-неравенствами

Как видно из рис. 9.14, допустимое множество (множество

планов) в этой задаче представляет собой криволинейную трапе-

−→

цию, оптимальный план X 1 находится в правом верхнем ее углу.

9.5. Дифференциальные условия Куна — Таккера

57

Координаты этой точки находятся из решения системы уравнений

! x2

= 1,

= 4,

x2

+ x2

1

2

 

откуда x

=

 

, x

= 1, f (x

, x )

 

 

1.0718.

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

2

 

 

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для записи условий Куна — Таккера приведем ограничения к

каноническому виду:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g1(x1, x2) = x12 + x22 4 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g2(x1, x2) = −x1 + x2 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g3(x1, x2) = x2 1 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

) =

 

1, 3 ,

Активные ограничения исследуемой точки: M (→−

 

 

 

{

}

X

 

) =

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N (→−

 

 

 

Градиенты целевой и ограничивающих функций в

этой точке:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2(x1

2)

 

 

 

 

 

 

 

 

 

 

 

 

4

2

 

 

 

 

 

 

 

f (X ) =

 

,

 

 

 

 

 

f (X

 

) =

3

,

 

 

→−

 

 

 

2)

 

→−

 

 

 

2

 

 

 

 

→−

 

 

 

2(x2

 

 

→−

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x1

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

(X ) =

,

 

 

 

g

(X

) =

3

,

 

 

 

 

 

 

 

 

 

 

→−

 

 

 

→−

2

 

 

 

 

 

 

 

 

 

 

 

 

1

→−

 

2x2

 

 

1

→−

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

→− g3

(X ) =

0

,

 

 

→−

g (X

 

) =

0

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

→−

 

1

 

 

3 →−

 

 

 

1

 

 

 

 

 

 

Коэффициенты разложения антиградиента по нормалям к активным ограничениям находятся из системы уравнений

 

 

 

y1 2

 

 

 

0

4

2

 

 

 

 

 

 

3 + y3

 

3 ,

 

 

 

2

1 =

 

2

откуда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

 

 

12 4

 

 

y1 =

3

= 0.1547 > 0,

y3 =

3

= 1.6906 > 0.

3

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

58

 

 

 

 

 

Глава 9.

 

Теория выпуклого программирования

 

Они неотрицательны, на рис. 9.14 это хорошо видно, следователь-

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

но, план −→ действительно оптимальный.

 

 

 

 

 

 

П р и м е р 2. В качестве контрпримера рассмотрим заведо-

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

= (2, 0)T

, расположенную в правом

мо неоптимальную точку −→1

 

 

 

 

 

 

нижнем углу множества планов.

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Множества активных ограничений для нее: M (−→1) = {1},

X

 

) = 2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N (−→

1

{ }

 

Антиградиент и нормали в данной точке:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

) =

0

 

 

,

 

 

 

 

g (X

) =

 

 

4

,

 

e

=

0

.

 

 

 

 

 

4

−→

 

 

 

 

 

 

 

−→f (−→1

 

 

 

 

1

 

−→1

 

 

 

0

−→2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Коэффициенты разложения по нормалям к активным ограниче-

ниям находятся из системы уравнений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1 0 + v2 01

 

= 4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

откуда y1 = 0, v2 = 4. Коэффициенты разложения неположи-

тельны, план неоптимальный.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Замечание.

 

Кроме геометрической, условия оптимальности Ку-

на — Таккера имеют простую и наглядную физическую интерпре-

тацию. Представим себе шарик (рис. 9.15), скатывающийся под дей-

 

 

 

 

 

 

 

X )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−→f (−→

, которую мы интерпретируем как силу тяже-

ствием силы

 

 

сти,

по

поверхности,

образованной гладкими ограничениями

X )

.

gi(−→

 

 

 

 

 

 

 

Согласно Третьему закону Ньютона, на шарик

 

 

 

 

 

 

 

действуют силы реакции поверхностей, которых

 

 

 

 

 

 

 

он данный момент касается (т. е. активных огра-

 

 

 

 

 

 

 

ничений). Эти силы ортогональны поверхностям

 

 

 

 

 

 

 

 

X )

и направлены внутрь допустимой области,

 

 

 

 

 

 

 

gi(−→

 

 

 

 

 

 

 

стало быть, противоположны внешним нормалям

 

 

 

 

 

 

 

−→g

X )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(−→

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шарик достигнет минимума и остановится в

 

 

 

 

 

 

 

стационарной точке, где сумма всех сил, действу-

Рис. 9.15.

 

 

 

ющих на него, равна нулю:

) = 0,

 

 

 

 

 

 

 

 

 

 

 

X

 

) y

 

 

 

 

g

(X

 

) y

 

g

(X

 

 

 

 

 

 

 

 

 

−→f (−→

 

 

 

−→

 

1

−→

 

 

 

−→

−→

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

 

= 0, j = 1, . . . , n.

9.6.. Частные случаи

59

т. е. там, где вектор антиградиента будет уравновешен равнодействующей сил реакции активных ограничений. При этом коэффициенты разложения y1 , y2 0.

9.6. Частные случаи

Если задача выпуклого программирования имеет общий вид

f (x1, . . . , xn) min,

gi(x1, . . . , xn) 0, i = 1, . . . , m, x1, . . . xn 0, j = 1, . . . , n,

то для нее требуются все шесть, точнее 3m + 3n условий Куна—

Таккера (9.28):

 

 

 

 

 

 

X , Y )

 

 

 

 

 

∂L(→− →−

 

 

 

 

 

 

 

 

 

а)

 

 

X , Y )

0,

г)

∂L(→− →−

0,

 

 

 

 

 

 

 

∂xj

 

 

∂yi

 

 

 

 

 

 

 

 

 

 

 

 

б)

xj

∂L(→− →−

= 0,

д)

 

 

X , Y )

= 0,

X , Y )

yi ∂L(→− →−

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∂xj

 

 

 

 

 

 

∂yi

 

 

 

в) xj 0,

 

 

 

е) yi 0,

 

 

 

 

 

j = 1, . . . , n,

 

 

i = 1, . . . , m.

 

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

1. Неограниченность переменных по знаку. Пусть некоторые переменные xj неограничены по знаку: −∞ < xj < ∞. В таком случае д л я э т и х п е р е м е н н ы х условия «а», «б», «в» минимума функции Лагранжа по xj в неотрицательном октанте заменяются на одно классическое условие минимума на всей числовой оси

→− →−

∂L(X , Y )

∂xj