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

3172

.pdf
Скачиваний:
6
Добавлен:
15.11.2022
Размер:
3.23 Mб
Скачать

b)

x

3y

extr

 

 

(x

5) 2

( y

3) 2

9,

 

(x

5) 2

( y

3) 2

36,

 

x

y 8,

 

 

 

 

x

0, y

0

 

 

c)

| x

5 |

y

extr

 

 

5x

3y

24,

 

 

0 x 3, y 0

d ) xy extr

y | x 4 | 3, 2 x 6,

y0

3.3.Понятие двойственности. Теорема Куна-Таккера

Рассмотрим задачу оптимизации следующего вида:

f 0 (x)

max,

 

 

 

 

f i (x)

bi ,i 1, m,

x 0

(3.3.1)

 

Эта задача допускает следующую эквивалентную

перезапись:

 

 

 

max min Ф(x, y),

 

 

 

x 0 y 0

 

 

 

m

(3.3.2)

где Ф(x, y) { f0 (x)

yi (bi fi (x))}, x 0, y 0

i 1

 

 

 

73

- функция Лагранжа задачи (3.1.1).

Определение1. Двойственной задачей к задаче (3.1.1) называется задача вида

min max (x, y )

y 0 x 0

Определение 2. Точка

(x0 , y0 ) 0, x0 Rn , y0 Rm ,

называется седловой точкой функции Лагранжа, если выполняются неравенства

Ô (x, y0 ) Ô (x0 , y0 ) Ô (x0 , y),

x, y 0.

Определение 2'. Точка

 

(x 0 , y 0 ) 0, x 0 Rn , y 0

Rm ,

называется седловой точкой функции Лагранжа, если в этой точке

 

Ô(x0 , y0 )

max minÔ(x, y)

min maxÔ(x, y).

 

 

x 0

y

0

 

y 0

x 0

 

З а м е ч а н и е . Определения 2 и 2' эквивалентны.

 

Теорема 1 . (Достаточное условие экстремума).

 

Если

(x0 , y0 )

0, x0

Rn , y0

Rm

- седловая

точка

функции Лагранжа для задачи (3.3.1), то

x0

-

решение

задачи

(3.3.1).

 

 

 

 

 

 

 

 

Определение 3. Множество

называется регулярным (по

Слейтеру) если существует точка xˆ

0 , такая что

 

 

f i (x) bi , i 1, m

Определение

3'. Множество

называется регулярным,

 

_____

 

если для любого i

1, m существует точка xˆ 0 такая что

 

f

i

(xi )

b

 

 

 

 

 

 

i .

 

 

 

Замечание. Определения 3 и 3' эквивалентны.

 

Необходимое условие экстремума для задач вида (3.3.1)

формулируется в теореме КунаТаккера.

 

 

Теорема 2 . ( теорема Куна-Таккера).

 

 

Пусть

(3.3.1)

 

является

задачей

выпуклого

программирования, множество

регулярно по Слейтеру. Тогда

74

если x 0 решение задачи (3.3.1), то существует y0 0, y0 Rm , что (x0 , y0 ) - седловая точка функции Лагранжа.

Теорема

3 . (дифференциальный вариант теоремы Куна –

Таккера )

 

 

 

 

 

Пусть

(3.3.1)

является

задачей

выпуклого

 

 

 

 

_____

 

программирования, а

функции

fi (x), i 0, m

являются

непрерывно дифференцируемыми. Для того, чтобы Точка

(x0 , y0 )

0, x0 Rn , y0

Rm ,

 

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

à)

b)

c)

d )

(x0 , y0 )

 

dx j

 

(x0 , y0 )

x j

dx j

 

(x0 , y0 )

 

dyi

 

 

____

 

 

 

 

 

 

 

 

 

0, j

1, n,

 

 

 

 

 

 

 

 

 

 

____

a)

Ô (x0

, y0 )

0,

 

0, j 1, n,

 

x

 

 

 

 

 

 

 

b)

Ô (x0

, y0 )(x0 )T

0,

 

 

 

 

èëè

x

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

 

 

 

____

c)

yÔ (x

, y

)

0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, i

1, m,

d )

 

Ô (x0 , y0 )( y0 )T

0.

 

 

y

 

 

 

 

 

 

 

 

 

 

(x

0

, y

0

)

 

____

 

 

y 0, i 1, m

 

 

 

 

 

dyi

 

 

i

 

 

 

 

 

З а ме ч а н и е

1. Из теоремы 1 следует, что при выполнении

условий теоремы 3

точка x0 , являющаяся решением системы a )--

d) ,будет решением задачи (3.3.1).

 

 

З а м е ч а н и е

2.

Если в

задаче (3.3.1)

ищется минимум

функции

f0 (x) ,

 

то

знак

неравенств

а) меняется на

противоположный.

За м е ч а н и е 3. Знаки неравенств с) связаны со знаками неравенств в ограничениях задачи (3.3.1) и по сути являются эквивалентно переписанными исходными неравенствами.

За м е ч а н и е 4. Неравенства b) и d) называются условиями дополняющей нежесткости.

За м е ч а н и е 5. Если условия выпуклости в задаче нарушаются, то система a) – d) может не иметь решения.

75

Т е ор е м а 4.

Пусть (3.3.1)

является задачей выпуклого

 

 

_____

 

программирования,

функции

fi (x), i 0, m,

являются

непрерывно дифференцируемыми. Если в точке (x0 , y0 ) 0 выполняются условия а)-d) теоремы 3, то справедливо разложение

 

 

 

f

0

(x0 )

y0 f

(x0 )

 

 

0e j ,

 

(3.3.3)

 

 

 

 

 

i

i

 

 

 

 

j

 

 

 

 

 

 

 

 

 

i I ( x0 )

 

 

 

j J ( x0 )

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v 0j

 

 

(x 0 , y 0 )

0

 

 

 

 

 

 

 

 

 

x j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- неотрицательные

коэффициенты,

 

e j

 

j-тый орт,

I (x0 )

-

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

активных в

точке

x0

,

т.е

I (x0 ) {i : fi (x0 ) bi }, J (x0 ) { j : x0j

0}.

 

 

 

И наоборот, если в точке

(x 0 , y 0 )

, где

 

 

 

 

 

 

 

 

 

 

 

 

x

0

,

y0

( y0 , i I (x0 ))

 

 

 

 

 

 

 

ˆ

 

i

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выполняется равенство (3.3.3), то существует

y0

0,

y0

R m ,

что (x0 , y0 ) удовлетворяет условиям а)-d) теоремы 3.

 

 

 

Теорема 5

 

(Условия Ф. Джона)

 

 

 

 

 

 

Пусть

 

(3.3.1)

является

 

задачей

выпуклого

программирования,

множество

 

 

регулярно по

Слейтеру,

 

 

 

 

 

 

______

 

 

 

 

 

 

 

 

 

функции

 

 

fi (x), i

0, m,

 

 

являются

непрерывно

дифференцируемыми. Для того,

чтобы точка x 0 была решением

задачи (3.3.1) необходимо и достаточно, чтобы существовал вектор

y0 0,

y0 Rm , такой что в точке (x0 , y0 ) выполняется условие

(3.3.3).

 

 

З а м е ч а н и е

1. Условие (3.3.3) означает, что градиент

целевой

функции

является линейной комбинацией градиентов

76

активных ограничений, включая условия неотрицательности. При этом градиенты, соответствующие ограничениям, имеют в разложении неотрицательные коэффициенты, а градиенты, соответствующие условиям неотрицательности (т.е. единичные орты) -неположительные.

Так, например, на

рис.3.3.1

в

точке x* достигается

максимум функции f0 (x) ,

а в точке

x

ˆ

ˆ -

нет (т.к. вектор f1 (x)

войдет в разложение (3.3.3) с отрицательным коэффициентом).

Рисунок 3.3.1. Иллюстрация к замечанию 1

З а м е ч а н и е 2. Если условия неотрицательности в задаче (3.3.1) отсутствуют, то разложение (3.3.3) переписывается следующим образом:

f0 (x0 )

yi0 fi (x0 )

 

i

I ( x0 )

(3.3.3')

Теорема 6 . (Теорема Куна-Таккера для задач с линейными

ограничениями). Пусть (3.3.1)

является задачей

выпуклого

77

программирования,

а функция

f0 (x)

является непрерывно

дифференцируемой.

Для того, чтобы точка x 0 была

решением

задачи (3.3.1) в случае,

когда все

ограничения

линейны,

необходимо

и

достаточно,

чтобы

существовал

вектор

y0 0, y0

Rm , такой что точка

 

 

 

 

 

 

(x 0 , y 0 ) 0, x 0

Rn , y 0

Rm ,

была бы седловой точкой функции Лагранжа.

 

 

 

Связь между приведенными фактами и теоремами можно

проиллюстрировать схемой, изображенной на рис. 3.3.2.

 

 

 

 

 

 

 

 

 

 

Ω – регулярно,

 

 

 

 

 

 

(3.3.1) - ЗВП

 

 

 

 

 

 

 

 

x0 является решением

 

 

(x0,y0) седловая точка

 

 

задачи (3.3.1)

 

 

функции Лагранжа Ф(x,y)

 

 

 

 

 

 

 

 

 

x0

,

(3.3.1)-ЗВП

(3.3.1)-ЗВП

fi (x) -

 

(3.3.1)-ЗВП

fi (x) -

fi (x) -

непрер.

 

fi (x) -

непрер.

непрер.

диффер.

 

непрер.

дифференц.

диффер.

_____

 

 

 

 

 

 

_____

_____

(i 0, m)

 

диффер.

 

(i 0, m),

(i 0, m)

 

 

 

_____

 

 

 

 

 

 

 

 

 

(i

0, m)

- регул.

 

 

 

Условия Ф.Джона

 

 

В точке (х00)≥0

 

 

 

выполняются условия

 

x

0

a)-d) теоремы 3

 

 

 

Рисунок 3.3.2. Логическая связь между теоремами и замечаниями

78

Пример 1. Найти решение задачи

f0 (x)

x12

x22

max

f

1

(x)

x1

x2

2,

 

 

 

 

 

x1 , x2 0

Решение. Так как функция f0 (x) в задаче является

выпуклой (вверх) и непрерывно дифференцируемой, воспользуемся теоремами 6 и 3.

Запишем функцию Лагранжа данной задачи:

 

 

 

 

 

(x, y)

 

 

 

x 2

 

x 2

y

1

( 2 x

 

x

2

),

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

 

1

 

 

 

 

 

 

 

x1 , x2 , y1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выпишем условия экстремума этой задачи:

 

 

 

 

 

 

a)

(x, y)

2x y 0,

 

 

 

(x, y)

2x y 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx1

1

 

1

 

 

 

dx2

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b)

 

(x, y)

x ( 2x y )x 0,

 

(x, y)

x ( 2x y )x 0,

 

 

 

 

 

dx1

1

 

1

1

1

 

 

 

 

dx1

 

 

1

 

 

1

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c)

 

 

(x, y)

2

 

x1

x2

0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d )

 

(x, y)

y

( 2

x

 

x

 

) y

0,

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

1

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Такая система решается следующим образом: решается система равенств b) и d), а затем полученные точки подставляются в неравенства а), с) и условия неотрицательности и проверяются.

Итак, решим систему

( 2x1 y1 )x1 0, ( 2x2 y1 )x2 0,

( 2 x1 x2 ) y1 0,

Из последнего равенства следует, что либо y1 0, либо

79

x1 x2 2 .

Если y1 0, то из первых двух равенств следует, что x1 x2 0 .

Подставим полученную точку (0,0,0) в неравенства. Условия неотрицательности, очевидно, выполнены, однако неравенство с)

нарушено ( -2+0+0 0 -неверно). Значит y1 0, т.е.

x1 x2 2 .

Выразим

x2 2 x1

и подставим в первые два равенства.

Рассмотрим случай

x1 0 x2 2, y1 4.

Подставим в неравенства точку (0,2,4). Условия неотрицательности выполнены, однако первое неравенство в а) нарушено (0+4≤0 - неверно).

Рассмотрим случай

x1 2

x2 0, y1

4.

В данной точке нарушено второе

неравенство в а) (0+4≤0 -

неверно). Остался случай

 

 

2x1

y1

0,

4

2x1

y1 0.

Проводя вычисления, получаем

4x1

4,

x1

1,

откуда

 

 

 

x2

1,

y1

2.

В точке (1,1,2) все неравенства (в т. ч. условия неотрицательности) выполнены, следовательно она является

седловой точкой, а точка x* (1,1) - точкой условного максимума.

80

Ответ: f

max

(x)

2; x*

1; x*

1.

 

 

1

2

 

Пример 2.

Проверить, является ли точка x = (4,0) решением

задачи

 

 

 

 

 

3x12 4x1 x2 5x22 min x1 x2 4

x1 , x2 0

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

f

0

(x)

3x 2

4x x

2

5x

 

 

1

1

 

 

f1 (x)

x1

x2

4

 

x1 , x2 0

В точке (4,0) активными являются ограничения

2

max

2

 

x1

x2

 

4, x2 0 .

Посчитаем градиенты :

 

 

 

 

f0 (x) ( 6x1

4x2 ; 10x2 4x1 ) ;

f0 (4,0)

(

24;

16) ;

f1 (x) (

1;

1) .

 

Разложение (3.3.3) имеет вид:

 

(-24; -16)= y1 (

1, 1)

2 (0,1)

Отсюда y1 24, 2

8. Так как в оптимальной точке должны

выполняться неравенства y1

0,

2

0 , данная точка x = =(4,0) не

является решением задачи.

Ответ: точка х = (4,0) не является решением задачи.

81

Пример 3.

(x

3)2

x2

max

1

 

2

 

(1

x )3

x 0

(3.3.4)

 

1

2

 

x1 , x2 0

Решение. На рис.3.3.3 изображено допустимое множество данной задачи

2

1

Рисунок 3.3.3. Допустимое множество задачи (3.3.4)

Множество не является выпуклым, но из графика видно, что решением задачи является точка x* (1, 0). Запишем условия КунаТаккера и проверим, выполняются ли они в данной точке:

(x, y)

(x

3)

2 x2

y ((1

x )3

x

2

),

 

1

 

2

1

1

 

 

x1 , x2 , y1

0

 

 

 

 

 

 

 

82

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]