книги из ГПНТБ / Егоров С.В. Элементы идентификации и оптимизации управляемых систем учеб. пособие
.pdfВо многих задачах НП успех решения существенно за висит .от выбора начального значения Uq. Величина шага AU
может быть постоянной или зависящей от предыдущих вы численных значений:
M J[t+l]=AU(U[t], U [t - 1], |
U [t-r)). |
В настоящее время нашли широкое применение схемы с |
|
г —1, 2, причем для последнего случая |
(г = 2) имеется инте |
ресная аналогия с движением шарика конечной массы: фор мула вычислительной схемы
Ht/+vt/=<p([/, t) |
(4-31) |
аналогична уравнению движения под действием силы <р не которого тела массы р, обладающего коэффициентом вязко го трения v (метод «тяжелого шарика»). Эта схема может быть применена в многоэкстремальных задачах для нахожде ния абсолютного экстремума: придавая «шарику» достаточ но большую массу, можно заставить его проскакивать ло кальные минимумы.
Методы решения задач оптимизации можно разбить на две группы — детерминированного и случайного поиска.
Всвою очередь каждая из них делится на две группы:
1)градиентные методы, в которых при решении задачи
используется информация о градиенте целевой функции
VG;
2) прямые методы, в которых используется информация непосредственно о величине целевой функции G.
Градиентные методы (градиента, наискорейшего спуска, возможных направлений, «тяжелого шарика» и др.) в силу локального характера производных являются локальными и не гарантируют нахождения абсолютного минимума, за ис ключением, быть может, метода «тяжелого шарика».
Прямые методы (сканирования, Гаусса—Зайделя, симп лексный, «золотого сечения» и др.) имеют тот же недоста ток. Однако среди них есть один универсальный метод ре шения любых задач НП — метод сканирования (просмотра) всей допустимой области изменения переменных. Естествен но, такой просмотр может быть осуществлен в конечном числе точек множества fiu, с шагом дискретности Д. Скани рование может осуществляться по сетке переменных или по спирали. Недостатком метода является большой объем вычислений, пропорциональный величине Д-п, где п—число
переменных.
151
Для решения задач высокой размерности (п> 3) или многоэкстремальных иногда целесообразно применять мето ды случайного поиска [4-5].
В настоящее время имеются надежные вычислительные методы решения лишь для частных случаев задач НП, среди которых рассмотрим задачи выпуклого программирования.
§ 4-7. Выпуклое программирование
Если функция G (U) является выпуклой, а также выпукло
множество Q„ допустимых решений, то задача (4-27) — (4-29) относится к выпуклому программированию (ВП).
Функция G(U) называется выпуклой, если |
для |
любых |
|||
двух точек U' и U" и любой точки |
лежащей на отрезке, |
||||
соединяющем эти точки (U^==xU' + (1 —т) U", O ^ T ^ l), |
вы |
||||
полняется условие |
|
|
|
|
|
G(t/T) ^ t G(U') + (l-x )G (U "). |
|
.(4-32) |
|||
Множество называется выпуклым, если вместе с любыми |
|||||
двумя точками содержит весь |
отрезок, |
соединяющий |
эти |
||
точки. Можно показать, что при выпуклости |
ограничений |
||||
(функций) (4-28) и линейности ограничений |
(4-29) мно |
||||
жество допустимых решений |
является выпуклым. |
Поэто |
|||
му задача ЛП является частным случаем ВП. |
Другим |
важ |
ным случаем ВП является квадратичное программирование,
когда ограничения линейны '(как и в ЛП), а целевая функ ция является суммой линейной и квадратичной форм: G(U) = C'rU+ UTDU (условие выпуклости £>^0).
Существенно, что локальный минимум в задачах ВП сов падает с абсолютным. В самом деле, пусть целевая функция достигает в точке U' локального минимума, т. е. для всех V из некоторой е-окрестности V справедливо G(U') ^G (U ). Допустим, что имеется точка U", отличная от U', в которой достигается абсолютный минимум: G(U") <iG{U'). На от резке, соединяющем точки V и и", возьмем точку Ut==eU' + + (1 — e)U", 0 < е < 1, принадлежащую e-окрестности точки U'. Тогда в силу выпуклости функции на основании (4-32)
можно записать
G(U.) sSeG,( [/')+'(1 - е) G(G") <eG (U') +
+ (1 — e)G(t/') = G(G'),
152
где G(U") заменена на большее (по допущению) значение G((/'), или G(Ut) <.G(U'). Полученное противоречие дока
зывает наше утверждение.
Указанная особенность приводит к широкому примене нию в ВП всевозможных локальных методов поиска экстре мума, рассмотренных частично в § 1-3.
Центральное место в НП занимает теорема Куна—Тан кера, дающая необходимые условия экстремума и являю щаяся обобщением метода множителей Лагранжа на случай ограничений — неравенств. При этом строится аналогично (1-33) функция Лагранжа
т
G*(Ц,Л) == G(Ц) + 2 М,(Ц) = G(Ц) + ЛТЛ(^) i = 1
и предполагается, что существует такая точка U, для кото рой hi(U)^>0 при 1 = 1, ..., Ш\ (условие Слейтера, малосу
щественное на практике, поскольку его всегда можно удов летворить за счет малых изменений ограничений). Если nv=m\ (ограничений—равенств нет), то (имеет место теоре
ма Куна —Таккера о седловой точке. |
|
собою |
Вектор U *^ 0 тогда и только тогда представляет |
||
решение задачи ВП, если существует вектор |
Л * ^ 0 |
такой, |
что |
|
|
G„(U*, A)^G y(U *, A*)^Gx(G,.\ |
*) |
|
для всех U^O, A$sO. Кроме того, ^ М ^ * )—0 для i —1,
.., m. |
|
|
|
в точке |
Другими словами, функция Лагранжа достигает |
||||
(U*, Л*) |
абсолютного |
минимума по U и максимума по Л |
||
(экстремум типа седла): |
|
|
||
G\{U*, Л*) = min max GX(G, |
Л) = max min GX(G, |
Л). |
||
|
U >о |
x>o |
x>e и :о |
|
В самом деле (4-6], |
если (U*, Л*) является седловой точ |
|||
кой функции GX(G, Л) |
в области |
О, Л^О, то |
|
|
G(U*) |
A ^G (U *) +hr (U*) -A*^G{U) +hr (U) -A* |
|||
для всех |
О, Л^О. |
Поскольку левое неравенство |
имеет |
место для любого Л^О, то все компоненты вектора h(U*) долкны быть неположительны, причем hT(U*)-A* должно
равняться нулю. Вследствие этого правое неравенство можно записать в виде
G(U)+h4U)>A*^G .{U*) для всех U^O.
153
Поскольку для любого возможного вектора U имеем hT(U) -Л *^0, то
G(U)'^sG(U) + hTA *^G (U *),
что доказывает оптимальность вектора U*. Доказательство
того, что для задачи ВП при выполнении условий Слейтера существует седловая точка, имеется, например, в работе {4-6].
Если имеются ограничения—равенства (4-29) (т^>т\), то
теорема о седловой точке несколько видоизменяется, по скольку условия X,> 0 необходимы лишь Для 1 = 1, ..., ТП\.
,Для задач ВП теорема Куна—Таккера дает необходимые
идостаточные условия оптимальности решения, которые можно переписать в следующей форме:
60,
1)duj =0,
дахдХг •= М */)<о,
да.
d%t • = А|(^)=0.
2) Щ>0,
3) Х[ > 0,
4) ( U ) = 0 ,
/= 1, . |
|
. , |
|
я, |
^ |
|
1=1, . . |
|
. . |
Я»1. |
|
||
|
> |
|
|
|
|
(4-33) |
i = т 1+1, |
|
|
. , т , |
|||
|
|
|
||||
7 = 1, |
• |
• |
• |
, |
п, |
|
*‘ =1. |
• |
• |
• |
, |
т и |
|
*= 1, |
- |
• |
. |
, |
т . |
|
Условия (4-33), таким образом, являются критерием решения задачи ВП. Условия 4) в (4-33) очевидны для i= m i + l, ..., m, а при t= l, ..., >т\ имеют простой физичес
кий смысл: если в точке минимума щелевой функции i-e ог
раничение себя не проявляет (/и-СО) и таким Образом |
не |
препятствует свободной вариации вектора U, то это ограни |
|
чение несущественно, и соответствующее Я(= 0, если |
же |
минимум достигается на границе (Н{= 0), то такое ограниче
ние существенно, и соответствующее А(>0. Таким образом, множители Лагранжа показывают вес ограничений: для не существенных он равен нулю.
Для решения уравнений и неравенств (4-33) применяют итеративный алгоритм, в котором изменение U и Л осущест
вляется по информации о градиенте функции G*; п,ри этом ограничения на знак переменных и}, Я(, ;i= l, ..., mt учтем
«детектированием» получаемых приближений (с помощью
151
■операции выбора максимального мея£ду нулем и получаемым итеративным значением):
ui\t + \\= max1 0; |
ut \t]— \ J r ,* K 4 - l] X |
||||
X |
*7 (*/[<]) |
m |
<>K(VV\) |
||
У |
K\t\- |
||||
duk |
duk |
||||
|
Щ[0] >0, |
j = 1.............n\ |
|||
\t +1] = max {0; |
|
"h |
(4-34) |
||
A,v[7] -j- |
Tt*^ V 4*1] 'hk (^ КШ |
||||
|
A,v[0]>0, |
v =1, . |
. . , my, |
||
x,[t+i} = K[t]- |
m |
|
|||
2 |
тЦ>1#+1]-А*(г/[ф, |
||||
|
|
fc-mt+1 |
|
||
! v = m,. + 1, . . . , |
m. |
|
|
||
Обратим внимание, |
что знаки при у,* и yi*\ v= l, .... т.\ |
противоположны, так как в соответствии с теоремой о сед ловой точке функция G* минимизируется по U, но максими
зируется по Л. |
|
записывается сле |
В непрерывной форме алгоритм (4-34) |
||
дующим образом: |
П |
|
|
\ |
|
'о, если щ —0 |
и V,„ - |
4*. |
«/ = |
m |
> 0. |
|
|
V=1
Ху =
Ху
1 |
- V, /, если и, > 0 , |
7 —1............. |
|
|
0, |
если Xv=0 и V x v -^ jT ^ -A * |
|
|
|
|
*?i |
. |
V Xv , |
если A.v>0, |
v = l ............. |
*■ |
пх |
|
|
Е |
Т$ - h k(U)t |
v = W j+1, . |
|
- |
|
|
n,
(4-35)
c: |
A |
|
c |
mu
■ ■, m,
155
при этом щ (0)^0, kv(О)]>0, v = l, гп\. Схема решения по
(4-35) показана на рис. 4-7 (сравни со схемой рис. 1-8), где «диоды» Д\, Дг в интеграторах обеспечивают неотрицатель ность переменных щ Верхняя часть схемы является фор-
Рис. 4-7. Схема аналогового решения задач выпуклого программирования
мирователем сил, возвращающих изображающую точку U на
допустимое множество Qu.
В задачах квадратичного программирования блок вычис ления градиента VG является линейным преобразователем, осуществляюнрш суммирование с заданными весами пере менных Uj.
Таким образом, одноэкстремальность задач ВП позво ляет использовать градиентные схемы. Последние имеют большое значение не только для решения задач, представлен ных в аналитической форме, но и при оптимизации реаль ных систем, в частности, при реализации систем экстремаль ного регулирования для технологических объектов [4-10].
§ 4-8. Градиентные методы оптимизации
Алгоритмы (4-34), (4-35) обладают существенно различ ными характеристиками при различных матрицах Г, IV при удачном выборе таких матриц решение сходится быстро, при неудачном — может расходиться. Чтобы исследовать влияние матрицы Г на процесс оптимизации, рассмотрим
156
простейший алгоритм (1-32) для задачи минимизации без ограничений:
U[t + \]=U[t]-T^G(U{t]), t = О, 1, 2, .... |
(4-36) |
Очевидно, что матрица Г может зависеть в общем случае от номера итерации и итерируемой переменной. Кроме того, она может выбираться таким образом, чтобы процесс реше ния был в некотором смысле .наилучшим, например, сходил ся наиболее быстро. В этой связи градиентные алгоритмы можно разделить:
1, По зависимости от номера итерации — на стационар ные (Г не зависитот?), нестационарные (Г=Г[?]), цикличес
кие (r[t]=T[t + N], где N — цикл итерации). |
|
||||
2. |
По зависимости от итерируемой |
переменной |
U —на |
||
линейные (Г .не зависит от U), нелинейные (Г=Г(£/)). |
|||||
Среди нелинейных градиентных алгоритмов широко из |
|||||
вестны: |
|
|
|
|
|
а) |
алгоритм Ньютона, |
когда Г(£/) = |
|
|
|
|
т х |
= |
ди,дик |
|
|
|
|
L |
|
|
|
б) |
алгоритм наискорейшего |
спуска |
(предложен |
Коши), |
|
относящийся к релаксационным алгоритмам, в |
котором |
||||
r=vj7]-/, причем величина у[<] |
выбирается из условия |
||||
|
AG*=\G(U[t+\])-G(U[t])\-+max. |
(4-37) |
|||
|
|
|
|
т(<- *) |
|
Ввиду большого разнообразия градиентных алгоритмов возникает проблема выбора наилучших алгоритмов, т. е. по существу возникает два вопроса: какова должна быть струк тура матрицы Г и как .выбирать ее элементы у1к1 Ранее мы
молчаливо предполагали, что все элементы матрицы Г от личны от нуля. Реализация градиентного алгоритма с такой матрицей Г приводит к многосвязной системе оптимизации,
в которой изменение одной переменной существенно зави сит от остальных переменных (рис. 4-8,а). Насколько хоро ша такая система? Чтобы ответить на этот вопрос, рассмотаим разложение в ряд Тейлора целевой функции, при этом ограничимся двумя первыми членами:
G(U[t+1]) = G(U[t} + AU{t + l}) = G(U[t]) +
+V^G(U[t))-AU[t + l] + ....
167
Таким образом, в линейном приближении уменьшение функции G за один шаг равно
AG= G ((/{/+l])-G (tM )s -v„TG (^ -A t/U + l].
Это уменьшение будет максимальным, если скалярное произведение в правой части максимально, что возможно, когда векторы V„G и AG коллинеарны. Последнее условие можно записать в виде
йц/I' -*-4 _ соп5^_ |— у (для стационарных алгоритмов), у/0(ЩЦ) i</<n I — у{Н-1] (для нестационарных
алгоритмов),
MJlt + l]= —yVuG(U[t]). |
(4-38) |
Сравнивая (4-36) и (4-38), замечаем, что в первом (ли нейном) приближении наилучшим является алгоритм со скалярной матрицей Г=у/.
Такому алгоритму соответствует система оптимизации с
автономным регулированием переменных {tlj} (рис. 4-8,6),
когда Uj зависит только от величины VjG.
Рис. 4-8. Структуры градиентных схем оптимизации: многосвяз ная (а) и автономная (б)
Надо отметить, что, хотя такая схема более проста, чем многосвязная, она .имеет ряд недостатков:
1. Она обычно обеспечивает весьма слабую сходимость процесса оптимизации, особенно при наличии «оврагов» у функции G.
158
*1. Она имеет относительную ценность, если размерность переменных щ различна, что обычно бывает при оптимиза ции реальных объектов, где щ соответствуют различным фи
зическим величинам. Переход в этом случае к относитель ным величинам приводит к некоторому произволу в масшта бах переменных.
Рассмотрим проблему выбора величины у.
Если у мало, то движение изображающей точки из на чального состояния Uо происходит по ломаной (рис. 4-9),
весьма близкой к траектории стекания» (на рисунке показа-
Рис. 4-9. Траектории решения при различных Т для дискретных (1, 2, 3) и непрерывных (4, 5)
алгоритмов
на пунктиром), которая касательна к направлению градиен та в каждой точке. Название траектория «стекания» соот ветствует замечанию А. А. Воронова о том, что в природе по таким траекториям стекают капли воды на рельефной мест ности. Количество итераций при этом велико. Если коэффи циент шага увеличить, то можно добиться уменьшения чис ла итераций (ломаная 1). При выборе у на каждом шаге по
условию (4-37) получаем алгоритм .наискорейшего спуска (ломаная 2), а при достаточно большом у — траекторию 3,
соответствующую расходящемуся процессу. Таким образом, существует некоторое предельное значение уПр, зависящее,
159
вообще говоря, от выбора (Начальной точки Vo, превышение
которого приводит к потере устойчивости процесса оптими зации.
Для непрерывного градиентного алгоритма
U = -yV uG (U ), |
(4-39) |
изменение у, казалось бы, должно привести лишь к измене
нию скорости движения к экстремуму, а траектория движе ния должна остаться неизменной, совпадающей с траекто рией «отекания» при любом 0«CY< (пунктир на рис. 4-9). Это, однако, справедливо лишь для безынерционных схем оптимизации, в которых градиент определяется синхронно с движением изображающей точки. Реальные же объекты оптимизации обладают инерционностью и запаздыванием по каналам {ut}—>-G, кроме того, градиент на практике опреде
ляется не мгновенно, часто в результате усреднение сигналов синхронных детекторов. Все это приводит к тому, что и не прерывные схемы оптимизации обычно критичны к выбору величины у: в них так же, как и в дискретных, возможна по
теря устойчивости. Типичный вид траекторий изображаю щей точки при непрерывной оптимизации по схеме рис. 4-8,6 и при наличии инерционности в замкнутом контуре
«Mj—►G->-VJG-»-wj->-uJ» показан на рис. 4-9, где траектория 4 соответствует сходящемуся, а траектория 5 — расходящему
ся процессу оптимизации.
Найдем условия сходимости алгоритма (4-36) или, дру гими словами, условия устойчивости замкнутой системы оп тимизации (рис. 4-8). Ввиду нелинейности последней, вос пользуемся методом, аналогичным прямому методу Ляпунова анализа устойчивости нелинейных систем [4-7]. Обозначим отклонение от оптимального решения r\[t]= U[t]—U*. Тогда
процесс (4-36) можно переписать в виде уравнения для от клонений
Ф + 1 ] = ф ] - Т ч и0 ( и * + ф ] ) , |
т|{0] — -по, |
t — 0, 1, |
2, ..., |
которое имеет тривиальное |
решение ц= 0, поскольку |
||
V„G(G*) = 0. Поэтому точка V* |
является |
точкой |
равнове |
сия. Чтобы выявить условия устойчивости относительно U*
для любых т) (устойчивость в малом, т. е. при малых ц прак тически ^неинтересна), рассмотрим норму отклонения
t W + i] ) = № + i]ll^ o,
160