Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTAU lecture 1.docx
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
1.96 Mб
Скачать

8.3. Прямые методы решения задач оптимального управления

В главе 1 при знакомстве с основными понятиями теории автоматического управления было рассказано в общих чертах о задачах оптимального управления. Кратко напомним содержание главы 1. Оптимальная программа определяется как решение вариационной задачи

(8.3.1)

при условиях

=f(X,U,t), (8.3.2) U(t) u (8.3.3)

где U - фиксированное множество векторов управле­ния, U(t) принадлежит к некоторому классу функций

(8.3.4)

Напомним, что вектор-функция U - находящееся в нашем распоряжении управление.

Методы расчета оптимальных программ принято разделять на два класса. К первому относятся прямые методы, которые используют тот или иной способ ре­дукции (сведения сложного к более простому) вариа­ционной задачи (8.3.1) - (8.3.4) к конечномерной за­даче математического программирования. Ко второму классу относятся методы, использующие необходимые условия. Эта классификация достаточно условна, так как при решении конкретных задач оба класса мето­дов часто дополняют друг друга, тем не менее она удобна, поскольку показывает существенное различие в подходах к решению рассматриваемых задач.

Проиллюстрируем это на простейшем примере отыскания минимума функции f(X). Прямые мето­ды основываются на идее построения некой итера­ционной последовательности

Xk+1=Xk + αkgk, (8.3.5)

где gk - вектор, указывающий некоторое направление убывания функции f в точке Xk, а αk - итерационный параметр, величина которого указывает длину шага в направлении gk. Обычно в качестве вектора gk выби­рают вектор f= {f/∂x1,...,∂f/∂xn} противополож­ный градиенту f(X), который, как известно, является нормалью к поверхности уровня f(X)=с (с - некая константа) в сторону наибольшего уменьшения функ­ции.

Схематически вычислительная процедура строится следующим образом. Пусть - вектор (точка в n-мерном пространстве), задающий минимум f(X), а Х0 - его нулевое приближение. Через точку Х0 (точка μ0) проведем поверхность уровня функции f(X) = f(X0). Если точка X0 достаточно близка к искомой точке X, то поверхность уровня f(X)=f(X0) будет похожа на эллипсоид.

Из точки Х0 двигаемся по нормали к этой поверх­ности в сторону убывания до тех пор, пока эта нор­маль не коснется в некоторой точке X1 какой-либо другой поверхности уровня (рис. 8.2): f(X)=f(X1). Затем, отправляясь от точки Х1, вновь повторяем эту процедуру и так далее. Так как f(X0)>f(X1)>f(X2)>,…, то двигаясь по такому пути, мы бы­стро приближаемся к наименьшим значениям f( ) (дно «ямы»). Величина шага αk на каждой итерации обычно выбирают из ус­ловия

(8.3.6)

находя наименьшее положи­тельное α.

Рисунок 8.2

Второй класс методов, основанный на теореме Ферма, дающей необходи­мые условия экстремума, приводит в общем случае к решению трансцендентной системы уравнений f/∂xi = 0 (i=1, 2, ...n).

Каждый из этих методов имеет свои достоинства и недостатки, которые и опре­деляют область их примене­ния.

Рассмотрим один из возможных прямых методов расчета оптимальной программы для автономной, то есть не зависящей явно от времени, системы автоматиче­ского управления. Будем изучать систему

=f(X,U) (8.3.7)

с функционалом

(8.3.8)

и граничными условиями

Х(0)=Х0, Х(Т) =ХТ. (8.3.9)

Ограничиваясь простейшей разностной схемой (схема Эйлера), заменим уравнение (8.3.7) и функционал (8.3.8) следующими выражениями:

Xk+1=Xk+τf(Xk, Uk), (8.3.10) (k=1, N-1), (8.3.11)

где tk=, X(tk)=Xk, U(tk)=Uk. К уравнению (8.3.10) должно быть добавлено начальное условие Х(0)=Х0 и условие цели Х(Т)=ХTN. Кроме того, на изменение управления и фазового вектора мо­гут быть наложены и другие ограничения, типа Uk Gk, где Gk - некоторые множества.

Соотношения (8.3.10) позволяют произвести по­следовательное исключение фазовых векторов:

Таким образом, функционал (8.3.11) становится функцией только векторов U0,..., UN-1:

(8.3.12)

где Ik(U0,U1,...,Uk)=τFi(U0, ...,Uk-1),Uk).

Задача минимизации функционала (8.3.12) при ог­раничении Uk Gk - стандартная задача математи­ческого программирования. Трудности решения этой задачи, как и многих других, однотипных с ней, в ос­новном определяются ее размерностью, то есть количе­ством переменных и количеством ограничений, на них налагаемых. В рассматриваемой выше схеме ре­дукции число переменных определяется выбором ко­личества интервалов N, что в свою очередь обуслов­ливается требованиями точности. В технических зада­чах (динамика полета, запуск космических аппаратов и спутников, управление крупнотоннажными техноло­гическими производствами и так далее) число N достигает больших величин, и размерность задачи п × N (п - размерность фазового вектора) делает ее решение чрезвычайно трудоемкой. В подобных ситуациях на первый план выходят методы, которые используют не­обходимые условия, так как они малочувствительны к увеличению числа интервалов разбиения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]