
книги из ГПНТБ / Методы оптимизации в статистических задачах управления
..pdfИз равенств (244) и (245) легко вывести рекуррентное соотно
шение для градиентов функции |
|
в последующих |
итерациях: |
|||
= Лх‘'+1 + b = Лхг + 6 _ а (Л/ +1 = |
дд U0 |
■а[As(+1 |
||||
|
|
|
дх |
|
|
(247) |
|
|
|
|
|
|
|
Учитывая выражение функции q (х) и положительную опре |
||||||
деленность матрицы А, преобразуем |
условие |
(246) |
к виду |
|||
a i s>* (Ах1+ b ~ a tAsl+l) ~ « is,t |
|
= 0, |
/ = |
1, |
2, |
. . ., t; |
(si+l)* (Я ? + Ь - а ^ + |
1) = |
(У+Т |
|
= |
0. |
|
Очевидно, что из условия —^ |
- |
=4=0 следует а г =4=0. |
Поэтому |
|||
вышеприведенное условие можно |
представить в виде |
|
|
=/ = 1, 2, . . і + 1; I - 0, 1, 2 , . . . (248)
Сопоставляя равенство (248) и тождество
дд(*0 |
si+l - £ ß k \ |
дх |
которое следует из формулы (245), получим
( - ^ ) * Д М = о , , +
Иначе говоря, при реализации итерационной процедуры (245) векторы градиентов в различных итерациях взаимно ортогональны. Это указывает на конечность данной процедуры, так как в я-мер- ном пространстве не может существовать более чем я взаимно ортогональных векторов, т. е. итерационная процедура должна закончиться не более, чем за я шагов. Условие (248) при / = 1, 2, . . ., і можно также представить в виде
W |
= Ы У [ Ц р - |
- |
« А ‘+‘) = |
- « , (*')• |
= 0; |
|
/= = 1 , 2 , . . . , / . |
* |
|
||
Следовательно, |
|
|
|
|
|
|
(si)* A s 1 |
= |
0; і Ф і . |
|
(249) |
Это означает, что направления движения в различных итера циях процедуры (245) взаимно Л-ортогональны [98].
107
Используя равенство (249), определим параметры ß/ и вектор
c . i + 1 .
(s0‘ |
|
|
4 |
т |
+ і |
I**) = |
|
|||
= WY;A |
дд (xty |
+ .ß f/ ( s / ) * ^ = |
0; |
/ = |
1, 2, . . . . |
і. |
||||
|
дх |
|
|
|
|
|
|
|
|
|
Отсюда, используя формулу (247), получим выражение для |
||||||||||
искомых параметров: |
|
|
|
|
|
|
|
|
|
|
(; у |
л dq(xty |
I |
dq(xty |
dqjx1 |
ty Y |
dq(xty |
|
|||
^ |
дх |
l |
дх |
|
|
dx |
) |
dx |
|
|
|
(sty* As1 |
|
|
aj-i (s’Y As’ |
|
|
||||
Принимая во внимание условие ортогональности, окончательно |
||||||||||
получим: |
|
|
|
|
|
|
|
|
|
|
|
ß/ = |
0, / = |
1, |
2 ............. і |
— 1; |
|
|
|||
|
|
dq (xty V I dq (xty \ |
|
|
|
|
|
|||
|
ß! = |
dx |
|
dx |
' = |
ß £. |
|
(250) |
||
|
|
щ . 1 (s1)* A s 1 |
|
|
|
|
|
|
||
Выражение для параметра а, можно получить, подставляя |
||||||||||
формулы (245) и (247) |
в условие (248): |
|
|
|
|
|
||||
О = |
Щр( S ' .r = |
J |
(*Sд<£ ±r |
|
- |
|
= * М |
Л * ' ) = |
||
|
д х |
|
|
|
|
|
|
|
|
|
- ( т ? |
11 р+г ѵ1) |
|
w^ A s * . |
дх |
дх |
— а |
(s*)*Tis*. |
' dq (Xl~ty \* dq (xl~ty |
|
Следовательно,
/ dq (х‘~-ty)*dq(x‘-ty
а і - і |
\ |
дх |
/ |
дх |
|
|
|
|
sl*As{ |
|
|||
|
|
|
|
|||
|
(251) следует |
|
||||
|
/ |
dq(xty |
) * ( |
dq (xty |
\ |
|
ßi |
[ |
дх |
) { |
dx |
j |
|
( dq (xe~ty )* (d q (x ‘~ t y V |
||||||
|
||||||
|
|
дх |
|
дх |
|
(251)
(252)
108
Подставляя выражения (250), (251), (252) в формулу (245), получим окончательные соотношения для метода сопряженных градиентов:
г*-И
я“1 = X ~ a iSl+1, і =
где
|
dq ( х 1) |
2 |
1 |
|
|
||
а. |
д х |
• |
|
|
R. — |
||
|
(8{+'Уа*<+1’ |
^ |
0, 1, 2, , . .,
d q ( x ‘ ) |
|
дх |
(253) |
d q { x l *) 2 > f |
д х
і — 1, 2, . . ., S1 -
dq (л:0)
д х
Расчетные формулы (253) могут оказаться неудобными, так как для их использования требуется знание матрицы вторых произ водных А при вычислении а,-. Учитывая выражение (246), можно представить формулы (253) в виде:
1 _ д д ( х ° )
д х
. г+і _ |
дд(У) |
Р,«*- |
’ |
д х |
|
dq ( х 1) |
2 |
|
д х |
2 ’ |
|
dq (У “ 1) |
|
|
д х |
|
|
q (X1_cc.si+1) = min q(xl —asi+1).
а
В эти формулы матрица А не входит, но при реализации ре куррентной последовательности требуется вычисление градиента функции q (X) и определение точки минимума функции q (х) в на
правлении s‘+1.
Из последних соотношений следует, что рассматриваемый метод может быть применен к функции произвольного типа [129]. Ана лиз сходимости показывает, что метод сопряженных градиентов имеет примерно, такую же широкую область сходимости, что и метод наискорейшего спуска, но скорость сходимости квадратич ная. В случае применения метода к неквадратичным функциям це лесообразно время от времени производить «обновление», метода
т. е. после ряда итераций (порядка п) в точке хк вновь выбирать
k + i _ _ d F j x k ) |
I-7 7 ’ 63J- |
д х |
Метод сопряженных градиентов относится к группе методов сопряженных направлений. Другие методы этой группы являются
109
более сложными в реализации, но имеют повышенную скорость сходимости [124, 119].
Все перечисленные методы характеризуются одним существен ным недостатком: они позволяют найти только локальный минимум. Легко показать, что если функция выпуклая, т. е. для любых
точек X1 и X2 и произвольного 0 |
А sg; 1 |
имеет место неравенство |
|
F (Ах1 + (1 — А) X2) < |
АF (х1) + |
(1 — А) F (х2), |
(254) |
то любой локальный минимум одновременно является и глобаль ным. Однако часто на практике бывает трудно проверить спра ведливость выполнения условий (254), так как аналитический вид функции может быть очень сложным или вообще неизвестным.
Единственная возможность нахождения глобального экстре мума заключается в применении вышеизложенных локальных ме тодов при различных точках начального приближения х°. После проведения достаточного числа процедур поиска локальных ми нимумов следует выбрать точку с минимальным значением функции.
6. Минимизация функций при наличии ограничений. Условия оптимальности
В практике проектирования систем автоматического управ ления минимизация функции при наличии ограничений является широко распространенной задачей, так как в реальной системе всегда имеются определенные ограничения на управляющие пара метры, связанные с ограниченностью прочностных характеристик, затрат энергии, возможной фиксацией фазовых координат объекта в начальный или конечный момент времени и т. д. В общем случае задача нелинейного программирования формулируется следующим
образом: |
требуется выбрать вектор-параметр х+ = (хі1-, x t , |
■ ■ ■ |
|||
. . ., x t ) |
из условия |
минимума |
заданной |
функции F 0 (х) |
при |
наличии |
ограничений: |
|
|
|
|
|
f ; (х) |
О, і ~ |
1 , 2 , . . . , |
т. |
(255) |
Обозначив через D множество точек «-мерного евклидова про странства Еп, для которых удовлетворяется условие (255), пред ставим задачу нелинейного программирования в виде
F0(x+) = minF0(y). |
(256) |
y£D |
|
Задача (256) оказывается качественно более трудной по сравне нию с задачей безусловной минимизации, в соответствии с чем условия оптимальности для задачи (256) имеют более сложную формулировку, чем условия (217).
Ограничение (255) в виде системы неравенств является общим случаем ограничений. В частности, ограничение типа равенства
h (х) = О
ПО
всегда может быть представлено в виде двух ограничений типа не равенств:
h (х) О,
— h (X) -п 0.
Одним из простейших по своей идее методов решения задачи нелинейного программирования является метод штрафных функ ций или метод нагружения [56], предложенный Курантом для решения некоторых специальных экстремальных задач.
Метод штрафных функций, примененный для решения задач (255) и (256), состоит в сведении исходной задачи к безусловной минимизации нагруженной функции Ф (х, а):
|
т |
|
Ф (х, а) = F0{x) + |
£ Ф К Fi (*)), |
(257) |
|
І—1 |
|
где ер (а, г) — произвольная непрерывно дифференцируемая функ ция, удовлетворяющая условию
Ііш ф (а, z) = I |
0’ |
2 ^ |
\ |
оо, |
2 > 0. |
Одним из возможных вариантов функции ф (а, г) является
Ф(а, г) = 4: е“2.
Тогда выражение для нагруженной функции Ф (х, а) будет
иметь вид
т
|
Ф ( X, а) = F0 ( X) + 2 4 - |
t aF‘ ix). |
(258) |
|
|
|
1=1 |
|
|
Естественно ожидать, что при достаточно больших значениях |
||||
параметра |
а наличие в формуле (257) |
нагрузочных |
слагаемых |
|
Ф (а, Ft (х)) приводит к тому, |
что точка минимума х+ должна вы |
|||
бираться |
внутри области D. |
Действие |
нагрузочных |
слагаемых |
будет соответствовать штрафу, накладываемому за нарушение на ложенных ограничений.
Рассмотрим параметрическую задачу безусловной минимиза ции функции Ф (х, а), определяемой формулой (257), по пара метру X в функции параметра а. Точка минимума х (а) этой функ
ции будет зависеть от а. Предположим, |
что, существует такая по |
следовательность {а/}, что Ііш аі = оо. |
При этом последователь- |
/->00 |
|
ность \х (а')} имеет предел |
|
lim X (а') = X “ , |
(259) |
/ -> с о |
|
причем |
|
Ііш Ф (х (аі), а і) < |
оо. |
/->СQ |
|
111
Тогда в соответствии с теоремой о методе штрафных функций [56] точка л:- принадлежит множеству (255) и является решением задачи (256). При этом
Fq(х~) = lim Ф (х (аі), а'); |
(260) |
/->со
ж- = х+.
Сформулированная теорема позволяет получить решение ис ходной задачи нелинейного программирования в виде предела решения задачи безусловной минимизации функции (257). Для определения минимума функции (257) можно применить один из численных методов, изложенных в п. 1—5 настоящей главы.
Используя метод штрафных функций в наглядной, но не совсем строгой форме, получим необходимое условие оптимальности для задачи нелинейного программирования. Построим функцию Ф (х, а) в виде выражения (258).
Тогда очевидно, что для точки минимума этой функции должно
выполняться |
условие |
|
|
|
|
|
|
|||
|
дФ(х’, а') |
__ dF0 (x') . |
V I |
ос/>. (xi) |
dF (xf) _ |
n |
|
|||
|
|
dx |
|
dx |
i=I |
|
|
dx |
’ |
|
|
|
|
|
|
|
|
|
|
|
|
где для |
краткости |
обозначено |
х1 |
— |
х (аі). |
Предположим, |
что |
|||
функции |
dF- (х) |
(і = 0, 1, 2, . . ., |
т) |
непрерывны. |
Тогда, |
пе |
||||
— |
|
реходя к пределу в равенстве (260) и учитывая формулу (259), получим
д Р |
о ( * + ) |
/п |
lim (ea,F‘ (*/}) дРі (*+) |
п |
(261) |
+ У |
|||||
|
дх |
Ы |
дх |
|
|
Обозначим |
|
і->а |
|
|
|
|
|
|
|
|
limea/F‘ (хі) = K t , |
(262) |
/->00 |
|
тогда легко видеть, что
Kt = 0, если /C(*+) < 0;
Kt Зг 0, если Ft (х+) = 0.
Можно показать, что предел (262) существует, если множество D, задаваемое системой ограничений (255), содержит хотя бы одну внутреннюю точку (условие Слейтера). С учетом принятых обо значений равенство (261) может быть представлено в следующем виде:
По теореме о методе штрафных функций точка х+ удовлетворяет ограничениям (255). Поэтому условие для А,+ можно представить в более компактном виде:
2 |
Я-^.(л:+) = 0; |
І—\ |
(264) |
#5 *0, i = 1 , 2, . . т.
Это условие принято называть «условием дополняющей не жесткости».
Таким образом, необходимым условием оптимальности точки х+ в задачах (255), (256) в предположении наличия хотя бы одной внутренней точки в области D является существование системы
неотрицательных параметров I t , Xt, . . ., Х+, для которых удов летворяются условия (263), (264). Это утверждение составляет содержание основной теоремы нелинейного программирования —• теоремы Куна-Таккера в дифференциальной форме [115, 138].
Легко увидеть, что теорема Куна-Таккера является обобще нием необходимого условия безусловного минимума. В самом деле, если точка х+содержится внутри области D, т. е. Ft (х+) <0, (г = 1, 2, . . ., т), то из условий (263), (264) автоматически следует
^oW _ 0
дх ~ *
Поясним математический смысл параметров Xf, Х+, . . ., Х+.
Рассмотрим некоторое обобщение задачи (255), (256). Пусть тре буется определить х+ из условия
|
|
F0(x+) = |
min F0(x), |
|
|
|
|
|
|
XCZD(б) |
|
где область D (б) задана системой ограничений |
|
||||
Ft (х) + 6, < 0 , |
(г = 1 , 2 , . . . , т). |
|
|||
Очевидно, что точка минимума х+ и соответствующее значение |
|||||
функции будут |
зависеть от |
вектор-параметра б = (б1, |
б2, . . . |
||
• • 6J: |
|
|
|
|
|
х+ = |
(б), |
Fо (х+) = Fо (х+ (б)). |
|
||
Оказывается, |
имеет место равенство |
|
|||
, + |
dF0(x+(6)) |
|
{ k = l , 2, . .., т), |
(265) |
|
** " |
|
dbk |
|
||
|
|
|
|
которое означает, что параметр Х£ характеризует чувствитель
ность минимального значения функции к ограничению Fk (х) + + 8k = 0 при 6 = 0. Это вполне согласуется с условием (264),
соответствующим |
нулевой чувствительности значения F (х+) |
к ограничениям, |
которые удовлетворяются с некоторым запасом. |
8 А. М. Батков |
ИЗ |
Действительно, построим нагруженную функцию Ф |
(х, а, 8) |
в виде |
|
т |
|
Ф (*,а, б) = (*)-{- 2 4 - e a(F' W+6i). |
(266) |
і=і |
|
Точка минимума этой функции z+зависит от параметров а и б:
z+ = z+ (а, б).
В соответствии с теоремой о методе штрафных функций имеем
1ішФ(г+(а/, б), аі) — F0 (х+(8)).
у->оэ
Дифференцируя это равенство по параметру бА и учитывая, что z+минимизирует Ф (х, а, б), получим
т |
4 |
= ж ;™ ф (г* <“ '• «>■ |
« > = " |
|||
|
= lim |
ф ' І ’ |
6), Ы, 6) = |
|||
= |
11Ш( |
бф (2+ (аі, б), аі, б)' |
dz+ (а/, |
б) |
||
|
dz |
|
Щ |
|
||
/-»•оо I |
|
|
|
|||
дФ (z+ (а/, |
6), |
а/, б) ) _ |
1 іт еа і (Fk (z+ (аі, 6)+6Ä) |
|||
|
дбк |
J |
|
|
|
|
Положив б = |
0 и учитывая принятое обозначение (262), окон |
|||||
чательно получим |
|
|
|
|
|
|
dFо (* + (б)) |
, |
k — |
1, 2, .. |
ш, |
||
|
36k |
|
||||
|
|
6=0 |
|
|
|
что и требовалось доказать.
Для задачи выпуклого нелинейного программирования, т. е. в предположении, что функции Ft (х) (і = О, 1 , 2, . . ., т) вы пуклы, необходимое условие оптимальности (263) или (264) можно представить в более симметричном виде. Построим функцию Лаг ранжа:
т |
|
L(x,X) = F0( x ) + % X iFi(x). |
(267) |
£—1 |
|
Так как по предположению Ft (х), (і = О, 1, 2, . . ., т) — вы пуклые функции, то при Хі О (і = 1, 2, . . ., т) функция L (х, К) также выпукла по х. Из условия (263) следует, что
dL (х+, Х+) |
_ |
п |
дх |
~ |
и - |
114
Поэтому в соответствии с тем, что L (х, Я) выпукла по х, имеет место условие
L (x \ Я+) < L (x, Я+), |
(268) |
причем это условие удовлетворяется для любой точки п-мерногс пространства Еп. С другой стороны, так как точка х+принадлежит области D, т. е. для нее удовлетворяется система ограничений (255), то для совокупности неотрицательных параметров Я(. (і = 1, 2 , . . ., т) выполняется условие
L (х+, Я) < L (х+, Я+), Я(-^:0, { = 1, 2, . . ., т. |
(269) |
Объединяя формулы (268) и (269), получаем, что если при ре шении задачи выпуклого программирования окажется, что в об ласти D содержится хотя бы одна внутренняя точка, то для опти мального решения х+ можно найти такую совокупность неотри
цательных параметров Я = я^, яt , . . . , Я+, при которой выпол няется неравенство
L (х+, Я) |
< |
L (х+, Я+) с |
L (х, |
Я+), |
(270) |
Яг |
0, |
г = 1, 2, |
. . ., т. |
|
|
Это означает, что функция Лагранжа L |
(х, Я) в точке (х+, Я+) |
||||
имеет седловую точку. |
|
|
|
|
|
Условие (270) может быть представлено в виде |
|
||||
min max L (х, |
Я) = |
L (х+, Я+) = max min L (х, Я). |
(271) |
||
X Я > 0 |
|
|
Х > 0 |
X |
|
Соотношения (270) или (271) представляют собой необходимое условие оптимальности для задачи выпуклого нелинейного про граммирования (теорема Куна-Таккера). Легко показать, что эти соотношения одновременно являются достаточным условием оп тимальности для задачи нелинейного программирования (255), (256) общего вида при отсутствии требований выпулкости функ ций Ft (х) (і = 0, 1, 2 . . ., т) и выполнения условия Слейтера [46]. Действительно, из неравенства (270) следует
т
|
F0 (*+) + |
|
S |
XiF i (х + ) < |
Fo (■*+) + |
|
|
+ |
|
|
І~\ |
|
|
|
|
т |
|
(*+)< FoW + |
т |
(*)• |
(272) |
||
1=1 |
|
І=S1 |
|||||
|
ъ xt Fi |
|
|
xt Fi |
|
|
|
Так как левое неравенство справедливо для любого |
Я ^ 0, |
||||||
то, очевидно, должны выполняться условия |
|
|
|||||
|
Fe (х+) < 0 , |
/ = 1, 2, . . ., т; |
|
|
|||
|
|
£ Я + /С (* +) = |
0. |
|
(273) |
||
|
|
|
|
І= 1
Поскольку для любого допустимого вектора х, принадлежащего области D, определяемой условием (255), имеет место условие
8* |
115 |
т
I i X t F ( x ) < 0, то из правой части неравенства (272) и условия
і=і
(273) следует:
т
Fo (х) > F0 (х+) - У і г р . {х) ^ р о (х+).
і = 1
Для любой точки X d D. Это неравенство и доказывает доста точность условия (270) для оптимальности точки х+в общей задаче нелинейного программирования.
7. Градиентные методы решения задач нелинейного программирования
Впредыдущем параграфе были выведены необходимые условия оптимальности (263), (264) или (270), для задачи нелинейного про граммирования. Используя эти условия, в очень редких случаях удается получить аналитическим методом решение реальных задач. Однако, анализируя условия оптимальности, можно по строить некоторые итерационные процедуры, которые дают воз можность найти численное приближенное решение.
Вчастности, Эрроу и Гурвиц [115] предложили определять оптимальное решение задачи (255), (256) как седловую точку функции Лагранжа (267) в соответствии с необходимым и доста точным условием (270). Для случая строгой выпуклости [109]
функций F( (х), (і — 0, 1,2, . . ., т) и в предположении выпол нения условия Слейтера ими было доказано, что решение системы дифференциальных уравнений
dx |
_____ |
dL (X, Я) |
_ |
d f0 (*) |
т |
дР[ (х) . |
УД . |
||||||
dt |
|
дх |
|
дх |
2 ^ 1 |
дх ’ |
|
|
|
|
|
і=і |
|
^ - = |
U h |
) ^ ^ r |
= |
H h ) F t (x), |
1= 1, |
2, . . ., т |
сходится к точному решению задачи нелинейного программиро вания при t —» оо:
Ііш X (t) = X*
£->• со
независимо от |
выбранных начальных условий х (t0), Яу- (t0) |
is 0, / = 1, 2 , |
. . ., т, где 1 (у) — обозначает единичную функцию |
скалярной переменной у. На основании этого предлагается ите рационная процедура следующего вида:
хг+і = X1■ |
dFa (х1) |
гп |
dFj (xl) |
|
+ £ * / |
||||
|
дх |
дх |
||
Яу-+1 = |
|
/=I |
( 274) |
|
шах (О, Ц -f- pFj (*1)}, |
||||
/ = 1, 2, |
m: |
i — 0, 1. |
2, |
116