Постановка задачи оптимального
управления.
Компоненты постановки задач
Уравнение движения управляемой
системы:
(i = 1,…n), xi – фазовые координаты, ![]()
xi(t0) = xi0 –
начальное условие, fi –
непрерывная кусочно-диф-я функция
д.б. допустимыми,
т.е. принадлежать мн-ву допустимых уравнений
- ограничение.
Критерий качества процесса: 
Оптимальное управление должно
переводить управляемый объект их некоторого начального состояния в определенное
конечное, удовлетворяя в каждый момент заданным ограничениям и доставлять
экстремум max или min функционалу цели, зависящему от управления фазовой
траекторией.
Выделяют 3 типа задач по способу
задания краевых условий:
1. Задача с
закрепленными концами
2. Задача с
подвижными концами
3. Задача со
свободным концом
1) Необходимо определить
управляющую вектор-функцию u(t), переводящую систему
за промежуток времени tÎ[t0,T] из
области x(t0)ÎS0(t0) в область х(Т)ÎSТ(Т) при ограничении u(t)ÎV, минимизирующую функционал:
![]()

терминальная часть
Предполагаем непрерывную
дифференцируемость функций: f(x,u,t) и Ф(x,T).
Это задача с подвижными концами
(возникает, если t0 и Т
заданы, а х(t0) и х(Т)
лежат на некоторой гиперповерхности пр-ва n-измерений.
2) х(t0) = х0, х(Т) = х1,
, в остальном аналогично задаче 1. Это задача с
закрепленными концами (предполагает начальное х(t0) и конечное х(Т) фазовые состояния,
заданными единственным образом). Если заданы t0 и Т, то имеем задачу с фиксированным временем. В задачах с
нефиксированным временем Т не задано.
3) х(t0) = х0, х(Т)ÎST,
, в остальном аналогично задаче 1. Это
задача с одним подвижным концом (возникает, когда х(t0) или х(Т) не заданы).
Основные подходы к решению задачи опт. управления.
1. Принцип
максимума Понтрягина (используется для непрерывных процессов).
2. Динамическое
программирование (для дискретных)
Но, т.к. любой непрерывный процесс
можно представить в виде дискретного и наоборот, то для любой задачи актуальны
оба подхода.
1. Принцип максимума Понтрягина.
Пусть {u*(t),x*(t)} есть оптимальный процесс в системе
и качество управления
оценивает функционал
, тогда функция, называемая
гамильтонианом системы
H(t, x*(t),y*(t),u(t)) = ![]()
удовлетворяет условию
внутри области
допустимых управлений для всех t,
удовлетворяющих неравенству t0 < t < t1;
на границе области допустимых
управлений гамильтониан системы как функция переменного u(t)ÎV в каждой точке t непрерывности управления u*(t) достигает
максимума при u = u*(t), т.е. H(t, x*(t),y*(t),u*(t)) = sup (max) H(t, x*(t),y*(t),u(t)) (uÎV), где n-мерные
функции x*(t),y*(t) являются
решением канонической системы диф. уравнений.
;
при начальном условии х(t0) = х0 и граничном
условии ![]()
2. Динамическое программирование
можно определить как набор математических процедур, используемых при анализе
многошаговых процессов принятия решения. Этот метод имеет в своей основе
принцип оптимальности:
1) Опт.
управление зависит только от положения системы в момент управления и от цели
управления и не зависеть от предыстории системы.
2) Выбор
траектории, переводящей систему из одного положения в другое, не зависит от
состояния системы в моменты, предшествующие управлению.
3) Участок
оптимальной траектории, начиная с любого момента времени и до конца процесса,
сам по себе явл. оптимальной траекторией. Одним из следствий принципа
оптимальности явл. невозможность получить оптимальную траекторию в целом, если
в какой-то момент времени управление отклонилось от оптимального.
Рассм.
дискретный процесс с фиксированным числом шагов и свободным правым концом.
Задача состоит в назначении управления u(t), t = 0,1,…,N-1; u(t)ÎV; управляемый объект:
, х(t0) = х0;
функционал качества
.
Решается задача при помощи приема
обратного движения от конца к началу процесса. Полагаем, что нам известны
значения функционала на всех предшествующих шагах Þ нужно минимизировать
функционал на последнем шаге. Значение ф-ла на последнем шаге:
, u(N-1)ÎV. Предпоследний шаг:
, u(N-2)ÎV.
Итак, получаем
рекуррентное соотношение:
,
с помощью которого решаем задачу.
Формулы перехода от непрерывной
системы к дискретной:
Þ
Þ x(t + 1) = x(t) + f(x,u)Dt
и функционал: ![]()