Синтез_мех_систем
.pdfДля вычисления Ps [u] вместо формулы (3.6.9) можно использовать лю-
бой другой метод, например интерполяционный, который сокращает время
счета.
41
4. Численные методы решения основной задачи управления
4.1 Мера положения изображающей точки в пространстве критериев
Основная задача управления заключается в выборе управляющих пере-
менных uj в системе (3.1.2), принадлежащих допустимой области U и обеспе-
чивающих выполнение совокупности требований к управляющему процессу
|
|
s [u] 1, s 1,2...2n |
(4.1.1) |
Эти ограничения выделяют в 2n-мерном пространстве некоторую область
А. При n=1 область А представлена на рис. 4.1.
|
1 |
|
А |
0 |
1 |
|
|
Рис. 4.1. Траектория точки Р
При заданных управляющих переменных s принимают некоторое кон-
кретное значение, т. е. управляющему процессу будет соответствовать неко-
торая изображающая точка . ОЗУ будет решена, если изображающая точка окажется в области А. Дать метод решения ОЗУ – значит дать метод целена-
правленного перевода изображающей точки в область А. Численные методы решения любых задач представляют собой методы последовательного улучшения решения в смысле некоторой меры. Так, в задачах приближенно-
го построения оптимального управления такой мерой служит минимизируе-
мый или максимизируемый функционал. Чем меньше (или больше) значение функционала, тем лучше управление и тем ближе оно к оптимальному. Чис-
ленные методы теории оптимального управления могут быть использованы и
для решения ОЗУ если ввести меру, характеризующую удаление изобра-
42
жающей точки от области А. Чем меньше значение этой меры, тем ближе изображающая точка к области возможных решений ОЗУ, тем лучше реше-
ние. Использую эту меру, можно построить улучшенную последовательность решений.
Из. рис. 4.1 видно, что величина
|
2n |
|
|
|
|
|
|
|
1 |
|
ks ( s |
1), |
|
|
|
|
(4.1.2) |
|
s 1 |
|
|
|
|
|
|
|
где |
ks |
s |
0, если |
s |
1 |
, |
(4.1.3) |
|
|
|
|
||||||
0, |
если |
|
1 |
|
||||
|
|
s |
|
|
|
|||
|
|
|
|
|
|
|
|
является мерой положения изображающей точки. В простейшем случае
все s=1. Если все s 1, то =0. При этом, абсолютный минимум меры 1
равен нулю и он достигается тогда, когда изображающая точка попадает в область А. Если ОЗУ не имеет решения, то абсолютный минимум достичь
невозможно. Мера 1 известна в теории оптимального управления как функ-
ция «штрафа».
В первой главе было отмечено, что на практике представляет интерес найти такое управление, такие проектные параметры, при которых гаранти-
руется наибольшее удаление изображающей точки от границ области А. Ис-
пользуя меру 1, нельзя найти такое решение, т. к. 1=0, как только изобра-
жающая точка попадает в область А. Можно было бы, например, выбрать ме-
ру
|
2 n |
|
|
|
2 |
ks ( s |
), |
(4.1.4) |
|
|
s 1 |
|
|
|
где |
0,5 |
1, а ks 0 при s |
. Тогда 2=0 в области s |
, что |
позволяет определить некоторую совокупность решений ОЗУ. Однако здесь
остается неясным определение . |
|
Более эффективной мерой является: |
|
|
|
[u] max s , s 1,2...2n |
(4.1.5) |
s |
|
43
Если ОЗУ поставлена корректно, то минимизируя меру , можно достичь на каком-то шаге области А и тем самым найти какое-то решение. Так как
минимум может быть меньше единицы, |
то продолжая спуск по , можно |
найти некоторое множество решений ОЗУ, |
а нахождение минимакса гаран- |
тирует наибольшее удаление от границ области А. |
Численное решение ОЗУ и построение улучшающей последовательности можно осуществить минимизируя меру на каждом шаге любым из извест-
ных методов минимизации.
4.2 Общий анализ дискретных методов
Рассмотрим некоторые численные методы решения задачи минимизации
функционалов, зависящих от совокупности постоянных (независящих от
времени) параметров uj, j=1,2…r. Если в исходной постановке управление
является функцией времени u u(t), то используя различные методы ап-
проксимации, необходимо предварительно задать u(t) с точностью до пара-
метров. Так, например, управление u(t) можно представить (аппроксимиро-
вать) кусочно-линейной функцией на отдельных участках или в виде разло-
жения с неизвестными параметрами. Для этого потребуется дополнительная
информация о физической стороне задачи. Для минимизации |
используют- |
|||||||||||||||||||
ся численные методы. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
В большинстве случаев процедура поиска минимума функции |
пред- |
||||||||||||||||||
ставляется |
|
в |
следующем |
виде. В |
области U выбираем некоторую |
точку |
||||||||||||||
0 |
{u |
(0) |
,u |
(0) |
,...u |
(0) T |
|
|
|
|
|
нулевым приближением, |
и вычисляем |
|||||||
u |
|
2 |
r |
} , называемую |
||||||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
значение |
|
(0). После этого находим одно из таких направлений в пространст- |
||||||||||||||||||
ве параметров, вдоль которых функция |
|
уменьшается, по крайней мере, в |
||||||||||||||||||
малой окрестности точки |
(0) |
|
|
|
|
|
|
|
|
(1) |
||||||||||
|
|
. В данном направлении берем новую точку u |
||||||||||||||||||
и вычисляем |
(1) |
. Тогда |
(1) |
< |
(0) |
, если |
|
(1) |
находится достаточно близко от |
|||||||||||
|
|
|
u |
|
44
|
|
|
|
|
|
u ( 0 ) . В результате получаем последовательность u (0) |
,u (1) |
,u |
( 2) ,...u ( m) , при этом |
||
в каждой точке выполняется соотношение |
|
|
|
||
|
|
(4.2.1) |
|
|
|
(u ( m 1) ) |
(u ( m) ) |
|
|
|
Переход из m¥-ой точки в (m+1) назовем успешным, если выполняется ус-
ловие (4.2.1), а в противном случае – неуспешным.
Аналитически переход от точки u ( m ) записывается в виде
|
|
|
|
|
(4.2.2) |
u ( m 1) |
u |
( m) |
m |
( m) |
|
|
( m ) |
|
|
|
|
где: S |
- вектор, определяющий направление движения из точки u ( m ) к |
точке u ( m 1) ;
m - числовой множитель, величина которого характеризует длину шага в
направлении S ( m ) .
Процесс спуска задан, если указаны способы построения вектора S ( m ) и
способы вычисления величины |
m |
на каждой итерации. От способа опреде- |
|
|
ления S ( m ) , |
m |
непосредственно зависят свойства процесса поиска, поведе- |
||
|
|
|
|
|
ние функции |
|
|
|
|
|
на элементах последовательности u ( m ) . В то же время различ- |
|||
|
|
|
|
|
ные способы построения S ( m ) и |
m |
требуют различного качества вычислений, |
||
|
|
|
|
накладывают различные ограничения на минимизируемую функцию. Выби-
рая теми или иными способами направление спуска и множитель m , можно получить различные алгоритмы построения улучшающей (оптимизирующей)
последовательности.
4.3 Градиентные методы
В градиентном методе направление S ( m ) совпадает с направлением анти-
градиента функции , т. е.:
|
|
( m ) |
|
|
||||
|
|
|
|
|
||||
S ( m ) |
|
|
|
|
|
|
|
(4.3.1) |
|
|
|
|
( m ) |
|
|
||
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45
|
|
|
|
|
( m) |
|
|
( m ) |
( m) |
T |
|
||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где: |
|
( m) |
|
|
, |
|
|
,... |
|
|
- градиент функции в точке u ( m ) ; |
||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
u1 |
|
|
u2 |
ur |
|
|
||
|
|
|
|
|
( m) |
2 |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( m) |
|
|
|
|
, |
( m ) |
[u ( m ) ]. |
|
|||
|
|
|
i 1 |
ui |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
||
¥Итерационный процесс: |
|
|
|
|
|
u ( m 1) |
u |
m |
( m ) |
, m |
0, m 0,1,... |
(4.3.2) |
( m ) |
||||
( m ) |
|
|
|
|
при таком выборе направления движения называется градиентным мето-
дом или методом наискорейшего спуска., т. к. (4.3.1) является направлением
наискорейшего убывания функции в точке u ( m ) .
В координатной форме процесс (4.3.2) записывается в виде:
( m )
u ( m 1) |
u ( m ) |
|
|
|
ui |
. |
(4.3.3) |
m |
|
( m ) |
|||||
i |
i |
|
|
|
|||
|
|
|
|
|
|
|
|
В настоящее время градиентный метод является наиболее изученным.
Распространение его в практике способствовала сравнительная простота и возможность применения для минимизации весьма широкого класса функ-
ций.
Приведем здесь простейший алгоритм уменьшения m :
|
|
, |
при |
|
] |
|
|
|
|
m |
[u ( m 1) |
[u ( m ) ] |
|
||||
|
|
|
|
|
|
|
|
|
m 1 |
|
|
|
|
|
|
. |
(4.3.4) |
|
m |
, |
при |
[u ( m 1) ] |
[u ( m ) ] |
|
||
|
|
|
||||||
|
2 |
|
|
|
|
|
|
|
Однако этот алгоритм обладает существенными недостатками. Во-
первых, всегда затруднителен выбор величины o . Во-вторых, если в про-
цессе поиска m станет малой величиной, то в дальнейшем она уже не будет увеличиваться, что может привести к значительному увеличению времени
поиска минимума. Поэтому алгоритм поиска длины шага |
m |
должен давать |
||
|
|
|
|
|
возможность увеличения |
m |
в зависимости от характера спуска, например, в |
||
|
|
|
|
46
зависимости от числа успешных и неуспешных ходов в последних несколь-
ких точках спуска. Различные модификации отыскания параметра |
m |
при |
|
|
|
|
|
градиентном спуске подробно рассмотрены в [ |
]. |
|
|
Одним из вариантов градиентного спуска с |
переменным шагом m являет- |
ся метод наискорейшего спуска. Процесс, на каждой итерации которого шаг
|
выбирается из условия минимума функции |
[ |
|
] в направлении движения, |
|||||||||
m |
u |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
т.е. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(m) |
|
|
|
|
|
(4.3.5) |
||||
|
|
|
|
|
S |
(m) |
|
|
min, |
||||
|
u |
m |
m |
0 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
называется методом наискорейшего спуска. В этом варианте градиентно-
го спуска на каждой итерации требуется решить задачу одномерной оптими-
зации (4.3.5). Очевидно, что этот способ выбора шага m сложнее, чем рас-
смотренные ранее. Хотя метод наискорейшего спуска предполагает решение на каждом шаге довольно трудоемкой вспомогательной задачи одномерной минимизации (4.3.5), он, тем не менее, дает выигрыш в числе машинных опе-
раций, поскольку обеспечивает движение с самым выгодным шагом [ ].
Стремление уменьшить объем вычислительной работы, требуемой для осуществления одной итерации метода наискорейшего спуска, привело к созданию ряда других методов. Одним из них является метод покоординат-
ного спуска.
В методе покоординатного спуска на каждом шаге итерации в качестве
|
|
|
|
|
|
|
|
|
|
|
|
|
направления спуска |
S (m) |
выбирается направление вдоль одной из координат- |
||||||||||
ных осей, например той, проекция градиента |
( m ) на которую максимальна |
|||||||||||
по абсолютной величине, т. е. |
|
|||||||||||
|
|
|
(m) |
|
|
|
|
|
|
|
||
S (m) |
|
|
|
, |
|
|
|
|
|
|
||
uk |
|
|
|
(4.3.6) |
||||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
(m) |
|
|
|
|
(m) |
|
|||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
||||
где |
|
|
|
|
max |
|
|
|
|
|
|
|
uk |
|
ui |
|
|
||||||||
|
|
|
i |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
47
Если величина |
m |
выбирается на каждой итерации аналогично (4.3.5), то |
|
|
мы получаем координатный аналог метода наискорейшего спуска, называе-
мый обычно методом Гаусса–Зейделя.
Заметим, что если в методе покоординатного спуска спуск происходит по ломаной, состоящей из отрезков прямых, параллельных координатным осям,
то в методе наискорейшего спуска он зигзагообразен, причем звенья зигзага ортогональны между собой, а направление движения из точки u (m) к точке u (m 1) касается линий уровня в точке u (m 1) .
4.4 Поиск при наличии «оврагов» у минимизируемой функции
Характерной особенностью решения ОЗУ является наличие оврагов у функции , которые совпадают с оврагами функции s, или с линиями пере-
сечения поверхностей s. Дать точное определение «оврага» трудно. Можно сказать, что у «овражной» функции имеются области, в которых по какому-
нибудь направлению или нескольким направлениям функции меняется очень медленно, и есть такие направления быстрого изменения . Типичная карта линий уровня овражной функции приведена на рис. 4.2.
D
u2
E
А2 C
А1
0 |
u1 |
Рис. 4.2. Линии равного уровня
Здесь линии уровня сильно растянуты по направлению CD и сильно сжа-
ты вдоль направления CE. Следовательно, по направлению CE функция ме-
няется быстро, а по направлению СD – медленно.
48
Рассмотренные выше методы спуска мало приложимы для минимизации функций, имеющих «овраги». В самом деле, пусть спуск приведет в точку А1.
Двигаясь из точки А1 в направлении антиградиента функции в точке А1, мы можем оказаться на следующем шаге в точке А2, расположенной на другом склоне «оврага» и т. д. При этом, если значение в точке А2 будет больше,
чем в точке А1, уменьшится шаг поиска. В результате поиск может остано-
виться далеко от минимума, либо продолжится с очень малой скоростью.
Процесс поиска можно ускорить следующим образом. Пусть изображаю-
щая точка в результате применения какого-либо метода спустилась к оврагу
исовершила несколько переходов с одного склона на другой, рис. 4.3. Этим самым обнаруживаем направление оврага. Проведем через средние точки В1
иВi отрезков ААi и АiАi+1 прямую. Если кривизна оврага невелика, то прямая
В1Вi укажет примерное направление оврага. По этому направлению можно сделать большой шаг в некоторую точку С1, откуда начинается новый цикл спуска по описанной процедуре.
u2 |
|
дно оврага |
|
|
|
|
|
C2 |
|
Ai+1 |
C1 |
А2 |
|
|
|
|
|
|
Bi |
|
B1 |
Аi |
|
|
|
|
А1 |
|
u1 |
Рис. 4.3. Траектория спуска вдоль оврага Опишем здесь еще один метод поиска минимума овражных функций. В
начале выберем две точки u(0), u(1) из которых производим спуск на дно овра-
га, (рис. 4.4), в результате чего находим точки А(0) и А(1). Затем проводим прямую А(0)А(1) и вдоль нее делаем большой шаг в сторону убывания r в неко-
торую точку u(2). Из точки u(2) опять произведем спуск в точку А(2) на дно
49
«оврага». Далее по направлению А(1)А(2) делаем шаг в точку u(3) и т. д. В за-
ключение отметим, что минимизация функций, имеющих овраги, почти все-
гда приводит к увеличению счета.
u(1)
u2
u(2)
u(0)
u(3)
А(1) |
А(2) |
А(0)
u1
Рис. 4.4. Направление "оврага"
4.5 Определение градиента функции
При выборе того или иного численного решения ОЗУ необходимо оцени-
вать его с точки зрения удобства программирования, требуемой памяти и ко-
личества операций при реализации указанных методов на ЭВМ. Анализ опи-
санных методов спуска показывает, что наиболее трудоемкой частью расчета является определение производных функций ( u ). Эти производные вычис-
ляются либо на каждом шаге, либо через несколько шагов.
Для их вычисления могут быть использованы различные методы. Изло-
жим здесь два метода.
4.5.1 Метод конечных разностей.
Здесь производные функции ( u ) (точнее – оценка производных) опре-
деляются следующим образом:
(n) |
|
|
|
|
|
|
|
|
|
|
|
(u(n) , u(n) ,...u(n) |
u ,...u(n) ) |
(u(n) , |
u(n) ,...u(n) ,...u(n) ) |
(4.5.1) |
|||||
|
||||||||||
1 |
2 |
i |
i |
r |
1 |
2 |
i |
r |
|
|
ui |
|
|
|
|
|
|
|
|
|
50