книги из ГПНТБ / Сейдж Э.П. Идентификация систем управления
.pdfГ л а в а 4
ГРАДИЕНТНЫЕ МЕТОДЫ ИДЕНТИФИКАЦИИ
4.1. ВВЕДЕНИЕ
Рассмотрим теперь вычислительные методы иденти фикации. В этой главе будет исследован один класс пря мых методов, известных под названием градиентных. Эти методы получили название прямых из-за того, что при их использовании на каждом шаге минимизируется функ ция штрафа, тогда как в косвенных методах таких, как квазилинеаризация (см. главу 6), предпринимается по пытка решения двухточечной краевой задачи, появление которой связано с тем, что на каждой итерации исполь зуются принципы теории оптимального управления.
Сначала будут рассмотрены статические или одно шаговые задачи с последующим переходом к изучению многошаговых и непрерывных ситуаций. В дополнение к основному градиентному методу или градиентному мето ду первого порядка рассматривается также разложение нелинейностей до членов второго порядка малости, по зволяющее строить градиентные методы второго порядка или методы вторых вариаций, которые обладают преиму ществом более быстрой сходимости. В заключение будет изучен метод сопряженного градиента, в котором опреде ляются сопряженные направления поиска, и в результате, за т шагов минимизируется положительно определенная квадратичная форма т переменных. Этот метод сочетает многие преимущества градиентных методов первого и второго порядков.
Применение градиентных методов демонстрируется на примере идентификации нескольких систем. Наиболее
доступное изложение градиентных методов |
можно,найти |
в книгах Сейджа [116] и Брайсона и Хо [24]. В этих кни |
|
гах градиентные методы применяются в |
основном для |
решения задач оптимального управления. Беки и Карплюс [12] пользуются градиентными методами первого
102 |
ГРАДИЕНТНЫ Е МЕТОДЫ ИДЕНТИФИКАЦИИ |
[ГЛ. 4 |
порядка в гибридных вычислениях. Градиентным методам посвящено много журнальных статей, однако большин ство из них связано с решением задач теории оптималь ного управления, а не идентификации. Многие из этих статей включены в библиографию.
4.2. ГРАДИЕНТНЫЕ МЕТОДЫ ИДЕНТИФИКАЦИИ СТАТИЧЕСКИХ СИСТЕМ
Вот уже много лет известен способ решения экстре мальных задач, основанный на применении классического градиентного метода или метода наискорейшего спуска. Принципиально задача состоит в отыскании экстремума скалярной функции М-вектора:
/ = 0 (и). |
(4.2.1) |
Как известно из дифференциального исчисления, в экс тремальной точке должны выполняться следующие необ ходимые условия:
|
<П_ |
d9 (u) |
|
(4.2.2) |
|
du u=u |
du |
u=u |
|
Вектор dJ/du |
часто |
называют градиентом, |
а условие |
|
dQ (u)/du = 0 |
определяет систему |
M нелинейных урав |
||
нений, которая может быть достаточно сложна, чтобы из нее можно было найти оптимальный вектор и. Если это так, то можно воспользоваться итеративным методом, ос нованным на разложении 0 (и) в ряд Тейлора в окрест ности какого-то значения и\
Имеем
/ = 0(и) = 0 (и*) + |
] 1 (и — и*) |
|
|
||
L |
o il J |
|
|
|
|
|
т d28 (и1) |
|
|
||
+ -ня- (и — и1) |
(du1)2 |
(ц — и{) + |
(4.2.3) |
||
Ограничившись линейными членами разложения, по |
|||||
лучим |
|
d0 (и1) |
|
||
/ = 0 (и) ж 0 (iT) + |
(4.2.4) |
||||
du1 |
U{). |
||||
|
|
|
|
||
4.2] МЕТОДЫ ИДЕНТИФИКАЦИИ СТАТИ ЧЕСКИ Х СИСТЕМ ЮЗ
Теперь допустим, что значение |
функции J при |
и = и1 |
|||
известно п вычислим |
|
|
|
|
|
А /4 = 0 (и) — 0 (и4) : |
dQ(и4) И |
Ди\ |
(4.2.5) |
||
rfu4 J |
|||||
где |
|
|
|
||
|
|
|
|
||
АГ = / — |
Аи4 = и — и4. |
(4.2.6) |
|||
Хочется выбрать Аш таким, чтобы А7* было как можно меньше нуля, обеспечивая тем самым наискорейший спуск в направлении минимума J. Из уравнения (4.2.5) ясно, что для минимизации AJ* при условии (ДшуДДи1 *= а необходимо
Аи4= - К |
(4.2.7) |
где К 1 — положительное число, являющееся, быть может, функцией номера итерации i; это число выбирается из соображений обеспечения сходимости, скорости сходи мости и т. п. Оптимальный вектор Q определяется путем прямых вычислений. Используется какое-то приближение
и* и вычисляется d Q (u{)/du4. Аи» |
определяется из (4.2.7), |
||
а для ui+1 имеем |
|
|
|
ui+1 = u4 + Au4 = u1- |
Ю |
. |
(4.2.8) |
|
|
dvr |
|
Вычисления продолжаются до тех пор, пока заметны су щественные изменения и от итерации к итерации. Однако в сходимости процедуры нельзя быть уверенным, если не ограничить выбор К1. Это утверждение иллюстрируется простым примером.
Пример 4.2.1 Необходимо решить систему линейных алгебраических уравнений Аи = Ь относительно и. Ясно, что и = А_1Ь, однако реализация этой формулы в случае системы высокого порядка может привести к сложной вычислительной процедуре. Известно, что неотрицатель ная функция штрафа
1 1
104 |
ГРАДИ ЕНТНЫ Е МЕТОДЫ ИДЕНТИФИКАЦИИ |
[ГЛ. 4 |
где R — положительно полуопределенная матрица весов, обращается в нуль только при и = А_1Ь. Таким образом, минимизация J эквивалентна решению системы Аи = = Ь. Используя уравнение (4.2.8), получаем
ui+1 = и* - A*ATR(Au1- b).
Ошибка вычислений связана с изменением / от итерации
китерации. Имеем
/‘ = 4 -|А п‘ - Ь |* „
= - А'*А\ТП (Аи* - Ъ) - Ь
1 { 2
=- 2 - l ^ U ^ l(I-K 1AATR)TR (I-K iA A TR) •
Для устойчивости вычислительной процедуры необхо
димо, чтобы Ji+1 Р или чтобы матрица 21 — Я*АТИА была положительно определенной. Обозначим величину ошибки через е* = и — и1; имеем
ei+1= Q V , ||ei+1f = ||ei fQiTQi,
где
Q ^ I - A ^ R A .
Для того чтобы обеспечить выполнение |] ei+11|2 <[ |е1 f , необходимо потребовать положительной определенности
матрицы 21 — А*АША. Этим определяется верхнее огра
ничение на К 1. К сожалению, для задач существенно более сложных выяснить условия сходимости гораздо труднее.
Выполнение (4.2.2) свидетельствует лишь о наличии у функции штрафа локального экстремума. Для того чтобы выяснить, является ли этот экстремум максимумом или минимумом функции штрафа, необходимо проанали зировать вторую производную или второй дифференциал этой функции. Однако в настоящей книге подобное ис следование не проводится (Сейдж [116]).
Значительно интереснее задача минимизации функции штрафа при наличии ограничений в форме равенств. Итак, требуется минимизировать по и
J = 6(х, и) |
(4.2.9) |
4.2] М ЕТОДЫ ИДЕНТИФИКАЦИИ СТАТИ ЧЕСКИ Х СИСТЕМ Ю5
так, чтобы выполнялось следующее условие:
f(x ,u ) = 0, |
(4.2.10) |
где и — вектор размерности М, a f и х — iV-векторы. Этого можно достичь, определив функцию
Я (х , и, к) — 0(х, и) + ^Tf (х, и), |
(4.2.11) |
где к — множитель Лагранжа. Затем решается система нелинейных уравнений
или
9Я |
9Я |
9Я |
|
||
du ~~ |
ds. |
Sfk |
|
||
|
|
*3 |
|
|
|
|
|
» |
|
|
|
90 |
|
Н |
|
|
|
Г |
1I^ |
-k — o, |
|||
du |
1 |
du |
|||
ae |
f |
afT |
- k - |
0, |
|
dx |
|||||
r |
9x |
|
0. |
||
|
f (x, |
u) = |
|||
(4.2.12)
(4.2.13)
(4.2.14)
(4.2.15)
Часто решение этой системы оказывается затруднительным и его пытаются заменить итеративной процедурой. Если выбрано ш, можно решить уравнение (4.2.10), определив такое х1, что f (х*, и1') = 0. Разлагая Я в ряд в окрест ности этого решения, получим
Н (х, и, к) = 0 (х*, и*) + |
- xi) + |
|
!® !^ > ]T(u - u*) + ^ |
[ ^ ] Т(х - |
х<) + |
+ |
д\ Ц<)-]Т(ц - |
“ *)• (4.2.16) |
Для того, чтобы упростить это выражение, воспользуемся
(4.2.14):
ДЯ 1 = Я (х, и, к) - Я (х*, и\ к*) =
= ! » < & £ |
+ kiT Г»|Т<*;Д<)Т } тДи* = |
I 3u* |
L 9u* J J |
|
(4.2.17) |
где |
|
Au* u u1, Ax1 = x — x1. |
(4.2.18) |
106 ГРАДИ ЕНТНЫ Е М ЕТОДЫ ИДЕНТИФИКАЦИИ [ГЛ . 4
Метод наискорейшего спуска получается, когда отрица
тельное АН1 (или AJ1) |
выбирается максимальным по мо |
|||
дулю. Таким образом, полагаем |
|
|||
Аи’ = - |
К 1 |
дН (х\ и4, |
(4.2.19) |
|
9и4 |
||||
|
|
|
||
где К4 — положительное число, которое выбирается из соображений, связанных со сходимостью и скоростью сходимости итеративного процесса.
Таким образом, вычислительная процедура гради ентного метода первого порядка сводится к следующим этапам:
1)определить и*,
2)найти х1 из уравнения f (х4, и4) = 0,
3)оценить К1 из соотношения
К= — ^ 9fT (х\ и4) -1 90 (хг, иг)
|
|
9х4 |
|
|
|
|
4) |
определить |
|
|
|
|
|
|
дН (хг, и4, к1) _ |
. |
|
,,i |
0fT(x4, иг) |
. { |
|
99 (х4, |
иг) j |
||||
|
9ul |
9u |
i |
1 |
ъ i |
’ |
|
|
|
9u |
|
||
5) |
вычислить |
|
9Я (x4, u\ X1) |
|
||
|
ui+1 = U* - |
К |
|
|||
|
|
9u4 |
|
|
||
|
|
|
|
|
|
|
6)повторять процедуру до тех пор, пока управление
ине перестанет изменяться.
Отметим, что существует много способов синтеза гра
диентных процедур. Так, |
можно записать |
|
А /1 |
90 (х4, и4) |
Au4 = 0. |
dvf . |
||
(4.2.20)
Если разложить f (х, и) в ряд Тейлора в окрестности точки (х4, и4), то, ограничиваясь членами первого порядка малости, получим
Г 1 |
|
[ « £ ■ * ] * , + [. 9fT (х4, и4) |
Au4 = 0. (4.2.21) |
9u
4.2] МЕТОДЫ |
ИДЕНТИФИКАЦИИ СТАТИ ЧЕСКИ Х |
СИСТЕМ |
Ю7 |
Подстановка |
(4.2.21) в (4.2.20) приводит к |
формуле |
|
A J
ф |
р |
L дх1
т ’ д( (х\ и * ) ' -3 |
' a f т (х\ и {) '1Т |
|||
J L |
дх1 |
L |
Э и 4 |
J + |
|
эе (х\ и1) |
(4.2.22) |
||
|
+ |
du1 |
|
|
|
|
|
|
|
Выражение в фигурных скобках не что иное, как [дН/ди]т; таким образом, эквивалентность двух процедур установ лена, а для того чтобы получить метод наискорейшего спуска, снова выбираем Ли4 в соответствии с (4.4.19).
Естественно, можно спросить, имеет ли какой-нибудь смысл использование членов второго порядка малости при синтезе градиентных алгоритмов. Сохраняя члены первого и второго порядков малости в разложении функ ции штрафа и учитывая, что J - II, если f (х, и) = О, получим
ЭН (х*, u1',
АГ =
дх1
-— lAxiTAuiT]
к1) Т |
Ах1 |
ЭЯ (х\ и\ к{) |
т |
|
||
|
|
Эи4 |
|
Ли* -ф- |
|
|
|
|
|
|
|
|
|
am (хг, иг, V) |
а |
а н (х\ и*, %}) |
|
|||
|
(дх*)* |
|
ди* |
|
Эх* |
Дх1 |
а а п (Х\ и1, к) |
т |
am (х\ и\ к}) -Ли*. ‘ |
||||
Эи* |
ах1 |
|
|
|
Кг |
|
|
|
|
(Риг) |
|
||
(4.2.23)
Подберем такое Кг, чтобы удовлетворить уравнению (4.2.14) или условию дН/дтс. = 0. Потребуем также, чтобы выпол нялось соотношение (4.4.21). Используя (4.2.14) и (4.2.21), из (4.2.23) получим
АУг = a tf(x \ u U V jTAut +
Эи*
|
1 . гт г |
|
Г 9 а н пт Г а ан |
|
|
|
|
||||||
|
1 Г Аи |
L— |
|
Эи |
|
Эх |
LГ'] |
х |
|
|
|||
|
|
|
|
|
|
дк |
дк |
|
|
|
|
||
|
a m |
|
а |
ап |
|
а |
ан |
а |
|
ан |
|
||
х |
дх* |
|
Эи |
Эх |
|
дх дк |
11Эи |
дк |
Аиг, |
||||
а |
а н |
|
|
a m |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
Эи |
дх |
|
|
|
Эиа |
- |
|
|
|
|
|
|
(4.2.24)
108 |
ГРАДИ ЕНТНЫ Е МЕТОДЫ ИДЕНТИФИКАЦИИ |
[ГЛ . 4 |
где оценки Н, х, и и X относятся к i-й итерации вычисли тельного процесса. Очевидна возможность минимизации A/ 4 путем соответствующего выбора Аи4. Используя стандартную технику теории матриц, получим
Аи4 |
|
|
ЭЯ тг ■ э |
ЭЯ -|Т ■ дЧ1 1 " Э ЭЯ -] |
г а |
ЭЯ 1 |
||||
|
Эи |
эх, J |
- дх |
— |
. Эх2 |
J _ дх эх J |
эх |
|||
- { [ |
L Эи |
|||||||||
|
дЧ1 |
- |
|
1 |
|
|
|
|
||
|
|
■ э ЭЯ ■ т г д дН Тг Г_Э_ ЭЯ 1 |
|
|||||||
|
+[ Эи2 |
J — [„Эи |
ЭЗэх |
дх |
ЭХ, J Uu Эх J |
|
||||
|
|
|
_ |
Г А дН ]" Э |
дН ' ' д ЭЯ |
|
(4'2'25> |
|||
|
|
|
|
[_Эи |
Эх |
Эх |
ЭХ, |
Эи ЭХ, • F - Я ” |
||
откуда видно, что действительно получена процедура для вычисления изменений управления при переходе от ите рации к итерации. Так как минимизация А / проводилась при учете квадратичных членов относительно Аи и Ах, естественно ожидать, что использование градиентного метода второго порядка или метода вторых вариаций дает выигрыш в скорости сходимости по сравнению с градиент ным методом первого порядка. Однако ускорение сходи мости приобретается ценой значительного усложнения вычислительных процедур и возрастания трудностей, связанных с исследованием сходимости. Процедура вычи слений весьма напоминает соответствующую процедуру для градиентного метода первого порядка:
1) выбрать и1,
2) определить х4 из f (х4, и*) = 0,
3)определить Я (х1, и1, X,4) = 0(х4, и1) -f X,iTf (х4, и4),
4)оценить X4 с помощью соотношения
дН (х\ u1, X,1) |
п |
= _ |
Г 3fд! (х*1, и4) I-1 эе (х4, и4) |
|||
дх1 |
|
— |
L |
Эхд 4г J' |
Эх |
|
5) вычислить все производные, которые входят в со- |
||||||
отношения (4.2.25), |
и4 + |
Ди4, |
|
|||
6) определить |
u4+1 = |
и4не пере |
||||
7) повторять вычисления до |
тех |
пор, пока |
||||
станет заметно меняться от итерации к итерации. |
||||||
Алгоритм существенно упрощается, если нет ограни |
||||||
чений в форме равенств и 0 (х, |
и) = 0 (и). В этом случае |
|||||
формула (4.2.25) |
приобретает |
вид |
|
|||
Аи4 |
d29 (и4) У 1 |
dO(и4) |
(4.2.26) |
|||
(duVI4)2 |
J |
Эи1 |
||||
|
- [ ■ |
|
||||
4.2] МЕТОДЫ ИДЕНТИФИКАЦИИ СТАТИ ЧЕСКИ Х СИСТЕМ |
Ю 9 |
Таким |
образом, приходим |
к алгоритму вида |
|
|||||
|
|
|
|
|
-11 d9 (и) |
(4.2.27) |
||
|
|
|
L |
(du*)2 |
- |
du* |
|
|
|
|
|
|
|
||||
Пр имер 4.2.2. Рассмотрим |
снова |
решение |
системы |
|||||
Аи = |
Ь как |
задачу |
минимизации |
функции |
штрафа |
|||
|
/ = 0 (и) = |
(Аи — Ь)т R (Аи — Ь). |
|
|||||
Из формулы (4.2.27) |
получим |
|
|
|
|
|||
|
ui+1 = |
u* — [ATRA]_1 At R (Au‘ _ |
Ь) = Л Ч). |
|||||
Видно, что процедура сходится за один шаг независимо от выбора и*. Решение системы ui+1 = А~Чэ. Эта особен ность присуща всем линейным задачам. Однако обычная процедура вычислений содержала А-1, и в этом простом случае смысл использования итеративного метода состоял в том, чтобы избежать вычисления обратной матрицы. В общем случае градиентные методы особенно полезны для решения систем нелинейных уравнений, причем гра диентный метод второго порядка иногда имеет большие преимущества.
До сих пор функция / = 0 (и) минимизировалась путем применения градиентных методов первого или второго порядка. В первом случае имело место соотношение
Аи* = - К* du , |
(4.2.28) |
тогда как для градиентного метода второго порядка
Аи* = — |
' d29 (и*) 1~г d9 (и*) |
(4.2.29) |
||
- (du*)2 J |
dul |
|||
|
||||
Градиентный метод первого порядка в вычислительном отношении прост, но дает медленную сходимость в окрест ности экстремума, если только не используется оптималь ный градиентный метод (Сейдж, [116]), который в общем случае очень трудно реализовать. Метод вторых вариа ций дает быструю сходимость в окрестности экстремума, однако чрезвычайно усложняется вычислительная про
п о ГРАДИЕНТНЫ Е М ЕТОДЫ ИДЕНТИФИКАЦИИ [ГЛ. 4
цедура, а в окрестности экстремальной точки для обес печения сходимости необходимо решить задачу о выборе начального приближения.
В методе сопряженного градиента (Флетчер и Пауэлл, [41]) сделана попытка соединить лучшие качества двух рассмотренных методов. Вместо того, чтобы вычислять
[d20 (u)/du2]-1, рассматривается |
последовательность |
век |
|||
торов v1, V2, . . ., |
ут, ортогональных к <РВ (u)/du2 |
так, |
что |
||
YiT |
^OJuV , |
О, |
i=j=j. |
(4.2.30) |
|
|
{duy J7 |
|
|
|
|
Затем проводится поиск в направлениях, определяемых каждым из векторов у1с тем, чтобы выбрать оптимальную
величину шага. Таким образом, |
|
|
ui+1 = |
U{ - к у , |
(4.2.31) |
где К1 — положительное |
число, которое |
обеспечивает |
min 0 (и* — К-У), |
(4.2.32) |
|
к 1 |
|
|
так что в результате получается оптимальный градиент
ный метод. |
показать, |
что |
формула |
|
|
|
Нетрудно |
|
|
||||
|
|
dQ У ) , |
|М8 (u W lP |
^ |
(4.2.33) |
|
|
|
du{ |
^ [| dQ (ui- 1)/dui_1 |р 7 |
|
||
|
|
|
|
|||
определяет |
набор |
положительных векторов — решений |
||||
уравнения (4.2.30). |
Вектор V1 выбирается из формулы у1 = |
|||||
= dQ (u^/du1. На |
практике |
определение |
оптимального |
|||
Кг, как правило, |
невозможно. Обычно |
ограничивают |
||||
ся проверкой нескольких возможных значений, выбран ных из близкой окрестности того значения, которое ис пользовалось на предыдущей итерации. Затем выбирает ся то Ю, которое обеспечивает наименьшее значение функции 0. Метод сводится к следующей процедуре:
1) |
выбрать ш, |
dQ (u»)/du{, |
|
2) |
определить |
у» = |
|
3) |
определить |
К», |
минимизирующее 9 (и1 — K'yi), |
4) |
вычислить |
uiHl = |
ш — К 1у'1, |
