Численные методы решения основной задачи управления
- Численные методы решения основной задачи управления
- Мера положения изображающей точки
- Общий анализ дискретных методов
- Градиентные методы
- Поиск при наличии 'оврагов' у минимизируемой функции
- Определение градиента функции
- Метод конечных разностей.
- Метод интегрирования уравнений чувствительности.
Основная задача управления заключается в выборе управляющих переменных
uj в системе (2) или системе (19), принадлежащих допустимой области U и обеспечивающих выполнение совокупности требований к управляющему процессуЭти ограничения выделяют в
2n-мерном пространстве некоторую область А. При n=1 область А представлена на рис. 7.Рис. 7.
При заданных управляющих переменных
gs принимают некоторое конкретное значение, т. е. управляющему процессу будет соответствовать некоторая изображающая точка r. ОЗУ будет решена, если изображающая точка окажется в области А. Дать метод решения ОЗУ - значит дать метод целенаправленного перевода изображающей точки в область А. Численные методы решения любых задач представляют собой методы последовательного улучшения решения в смысле некоторой меры. Так, в задачах приближенного построения оптимального управления такой мерой служит минимизируемый или максимизируемый функционал. Чем меньше (или больше) значение функционала, тем лучше управление и тем ближе оно к оптимальному. Численные методы теории оптимального управления могут быть использованы и для решения ОЗУ если ввести меру, характеризующую удаление изображающей точки от области А. Чем меньше значение этой меры, тем ближе изображающая точка к области возможных решений ОЗУ, тем лучше решение. Использую эту меру, можно построить улучшенную последовательность решений.Из. рис. 7 видно, что величина
является мерой положения изображающей точки. В простейшем случае все
as=1. Если все![](/images/resources/ump/kruglov/4/Image2534.gif)
В первой главе было отмечено, что на практике представляет интерес найти такое управление, такие проектные параметры, при которых гарантируется наибольшее удаление изображающей точки от границ области А. Используя меру
r1, нельзя найти такое решение, т. к. r1=0, как только изображающая точка попадает в область А. Можно было бы, например, выбрать меру![](/images/resources/ump/kruglov/4/Image2536.gif)
![](/images/resources/ump/kruglov/4/Image2537.gif)
![](/images/resources/ump/kruglov/4/Image2538.gif)
![](/images/resources/ump/kruglov/4/Image2539.gif)
Более эффективной мерой является:
Если ОЗУ поставлена корректно, то минимизируя меру
r, можно достичь на каком-то шаге области А и тем самым найти какое-то решение. Так как минимум r может быть меньше единицы, то продолжая спуск по r, можно найти некоторое множество решений ОЗУ, а нахождение минимакса гарантирует наибольшее удаление от границ области А.Таким образом, численное решение ОЗУ, построение улучшающей последовательности можно осуществить минимизируя меру
r на каждом шаге любым из известных методов минимизации.Рассмотрим некоторые численные методы решения задачи минимизации функционалов, зависящих от совокупности постоянных (независящих от времени) параметров
uj, j=1,2:r. Если в исходной постановке управление является функцией времени![](/images/resources/ump/kruglov/4/Image2541.gif)
![](/images/resources/ump/kruglov/4/Image2542.gif)
![](/images/resources/ump/kruglov/4/Image2543.gif)
Для минимизации
r используем методы нелинейного программирования.В большинстве случаев процедура поиска минимума функции
r представляется в следующем виде. В области U выбираем некоторую точку![](/images/resources/ump/kruglov/4/Image2544.gif)
![](/images/resources/ump/kruglov/4/Image2545.gif)
![](/images/resources/ump/kruglov/4/Image2545.gif)
![](/images/resources/ump/kruglov/4/Image2546.gif)
![](/images/resources/ump/kruglov/4/Image2547.gif)
(28)
Переход из
m¥-ой точки в (m+1) назовем успешным, если выполняется условие (28), а в противном случае - неуспешным.Аналитически переход от точки
![](/images/resources/ump/kruglov/4/Image2549.gif)
(29)
где:
![](/images/resources/ump/kruglov/4/Image2551.gif)
![](/images/resources/ump/kruglov/4/Image2549.gif)
![](/images/resources/ump/kruglov/4/Image2552.gif)
![](/images/resources/ump/kruglov/4/Image2554.gif)
Процесс спуска задан, если указаны способы построения вектора
![](/images/resources/ump/kruglov/4/Image2555.gif)
![](/images/resources/ump/kruglov/4/Image2553.gif)
![](/images/resources/ump/kruglov/4/Image2556.gif)
![](/images/resources/ump/kruglov/4/Image2553.gif)
![](/images/resources/ump/kruglov/4/Image2549.gif)
![](/images/resources/ump/kruglov/4/Image2557.gif)
![](/images/resources/ump/kruglov/4/Image2553.gif)
![](/images/resources/ump/kruglov/4/Image2553.gif)
В градиентном методе направление
![](/images/resources/ump/kruglov/4/Image2558.gif)
(30)
где:
![](/images/resources/ump/kruglov/4/Image2560.gif)
![](/images/resources/ump/kruglov/4/Image2561.gif)
.
¥È
терационный процесс: (31)
при таком выборе направления движения называется градиентным методом или методом наискорейшего спуска., т. к. (30) является направлением наискорейшего убывания функции
r в точке![](/images/resources/ump/kruglov/4/Image2549.gif)
В координатной форме процесс (31) записывается в виде:
.
В настоящее время градиентный метод является наиболее изученным. Распространение его в практике способствовала сравнительная простота и возможность применения для минимизации весьма широкого класса функций.
Приведем здесь простейший алгоритм уменьшения
![](/images/resources/ump/kruglov/4/Image2553.gif)
.
Однако этот алгоритм обладает существенными недостатками. Во-первых, всегда затруднителен выбор величины
![](/images/resources/ump/kruglov/4/Image2566.gif)
![](/images/resources/ump/kruglov/4/Image2567.gif)
![](/images/resources/ump/kruglov/4/Image2567.gif)
![](/images/resources/ump/kruglov/4/Image2567.gif)
![](/images/resources/ump/kruglov/4/Image2549.gif)
![](/images/resources/ump/kruglov/4/Image2568.gif)
.
Закон изменения
![](/images/resources/ump/kruglov/4/Image2567.gif)
где:
![](/images/resources/ump/kruglov/4/Image2571.gif)
![](/images/resources/ump/kruglov/4/Image2572.gif)
Здесь в процессе поиска шаг
![](/images/resources/ump/kruglov/4/Image2574.gif)
![](/images/resources/ump/kruglov/4/Image2575.gif)
![](/images/resources/ump/kruglov/4/Image2553.gif)
Замечание 1. Можно добиться некоторого ускорения процесса решения, если после выбора направления
![](/images/resources/ump/kruglov/4/Image2576.gif)
![](/images/resources/ump/kruglov/4/Image2577.gif)
![](/images/resources/ump/kruglov/4/Image2578.gif)
Замечание 2.
Если в процессе спуска изображающая точка на каком-нибудь шаге выходит на границу области U, то в качестве направления![](/images/resources/ump/kruglov/4/Image2579.gif)
Метод сопряженных градиентов относится к так называемым квадратичным методам оптимизации. Такое название вызвано тем, что они строятся на основе квадратичного приближения исходной функции. Методы достаточно просты при реализации на ЭВМ и в то же время обладают высокой скоростью сходимости. Необходимо только помнить, что они используются в основном для минимизации гладких функционалов.
В этих методах направление
![](/images/resources/ump/kruglov/4/Image2580.gif)
Различные варианты этого метода различаются способом выбора параметра
![](/images/resources/ump/kruglov/4/Image2582.gif)
![](/images/resources/ump/kruglov/4/Image2582.gif)
В методе покоординатного спуска на каждом шаге итерации в качестве направления спуска
![](/images/resources/ump/kruglov/4/Image2583.gif)
![](/images/resources/ump/kruglov/4/Image2584.gif)
Характерной особенностью решения ОЗУ является наличие оврагов у функции r, которые совпадают с оврагами функции
gs, или с линиями пересечения поверхностей gs. Дать точное определение 'оврага' трудно. Можно сказать, что у 'овражной' функции имеются области, в которых по какому-нибудь направлению или нескольким направлениям функции r меняется очень медленно, и есть такие направления быстрого изменения r. Типичная карта линий уровня овражной функции приведена на рис. 7.Рис. 7.
Здесь линии уровня сильно растянуты по направлению
CD и сильно сжаты вдоль направления CE. Следовательно, по направлению CE функция меняется быстро, а по направлению СD - медленно.Рассмотренные выше методы спуска мало приложимы для минимизации функций, имеющих 'овраги'. В самом деле, пусть спуск приведет в точку А
1. Двигаясь из точки А1 в направлении антиградиента функции r в точке А1, мы можем оказаться на следующем шаге в точке А2, расположенной на другом склоне 'оврага' и т. д. При этом, если значение r в точке А2 будет больше, чем в точке А1, уменьшится шаг поиска. В результате поиск может остановиться далеко от минимума, либо продолжится с очень малой скоростью.Процесс поиска можно ускорить следующим образом. Пусть изображающая точка в результате применения какого-либо метода спустилась к оврагу и совершила несколько переходов с одного склона на другой, рис. 8. Этим самым обнаруживаем направление оврага. Проведем через средние точки В
1 и Вi отрезков ААi и АiАi+1 прямую. Если кривизна оврага невелика, то прямая В1Вi укажет примерное направление оврага. По этому направлению можно сделать большой шаг в некоторую точку С1, откуда начинается новый цикл спуска по описанной процедуре.Рис. 8.
Опишем здесь еще один метод поиска минимума овражных функций. В начале выберем две точки
u(0), u(1) из которых производим спуск на дно оврага, (рис. 9), в результате чего находим точки А(0) и А(1). Затем проводим прямую А(0)А(1) и вдоль нее делаем большой шаг в сторону убывания r в некоторую точку u(2). Из точки u(2) опять произведем спуск в точку А(2) на дно 'оврага'. Далее по направлению А(1)А(2) делаем шаг в точку u(3) и т. д. В заключение отметим, что минимизация функций, имеющих овраги, почти всегда приводит к увеличению счета.
Рис. 9
При выборе того или иного численного решения ОЗУ необходимо оценивать его с точки зрения удобства программирования, требуемой памяти и количества операций при реализации указанных методов на ЭВМ. Анализ описанных методов спуска показывает, что наиболее трудоемкой частью расчета является определение производных функций
r(u). Эти производные вычисляются либо на каждом шаге, либо через несколько шагов.Для их вычисления могут быть использованы различные методы. Изложим здесь два метода.
Здесь:
где:
![](/images/resources/ump/kruglov/4/Image2587.gif)
Этот метод чрезвычайно прост для программирования и требует меньшего объема памяти машины. Недостатком его является то, что он может давать большие погрешности.
Пусть, например, управляющий процесс описывается уравнениями:
Дифференцируя эти уравнения по параметрам
ui, получим систему для определения функций чувствительности (32)
где:
![](/images/resources/ump/kruglov/4/Image2590.gif)
Используя уравнения (32) можно с высокой точностью определить частные производные
![](/images/resources/ump/kruglov/4/Image2591.gif)
![](/images/resources/ump/kruglov/4/Image2592.gif)
![](/images/resources/ump/kruglov/4/Image2593.gif)
![](/images/resources/ump/kruglov/4/Image2594.gif)
![](/images/resources/ump/kruglov/4/Image2595.gif)
Опыт использования численных методов показывает, что определение градиента функции r связано со значительными трудностями. Поэтому наряду с детерминированными методами поиска на практике используют методы случайного поиска, которые свободны от указанного недостатка, []. В методах случайного поиска направление шага, а иногда и величина, определяются случайным образом.
Этот метод является прямым развитием известного метода проб и ошибок, когда решение ищется случайно, и при удаче принимается, а при неудаче отвергается с тем, чтобы немедленно снова обратиться к случайности как к источнику возможного. Такое 'случайное' поведение разумно опирается на уверенность, что случайность содержит в себе все возможности, в том числе и искомое решение.
Итерационный алгоритм поиска оптимальных параметров представим в виде:
![](/images/resources/ump/kruglov/4/Image2596.gif)
Различные методы случайного поиска отличаются способами определения приращения
![](/images/resources/ump/kruglov/4/Image2597.gif)
Обозначим . Алгоритм записывается следующим образом:
где случайные пробы
![](/images/resources/ump/kruglov/4/Image2600.gif)
При данном алгоритме случайные шаги в пространстве управляющих переменных делаются до тех пор, пока не будет найден шаг, ведущий к уменьшению
r. Затем удачный шаг повторяется до тех пор, пока значение r не начнет увеличиваться.Рассмотрим некоторые способы определения S.
- Чисто случайная оценка направления. Здесь
![](/images/resources/ump/kruglov/4/Image2600.gif)
m
- число случайных шагов, из которых выбирается наилучшее.![](/images/resources/ump/kruglov/4/Image2603.gif)
ї Самарский государственный аэрокосмический университет, 2000-2002
Воспроизведение материалов только с согласия авторов
Заметили ошибку в тексте? Выделите ее мышкой и нажмите Ctrl+Enter