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

Синтез_мех_систем

.pdf
Скачиваний:
43
Добавлен:
16.03.2015
Размер:
2.5 Mб
Скачать

Для вычисления 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+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