
- •5.1. Вопросы для промежуточного и итогового контроля
- •6. Критерии оценки знаний
- •Список рекомендуемой литературы
- •Теоретическая часть
- •Тема 1. Экстремальные задачи и методы их решения.
- •Выбор метода решения - один из важнейших этапов при решении задач оптимизации. Можно выделить следующие группы методов:
- •Тема 3. Классические задачи, решаемые методом динамического программирования.
- •План решения задачи методом динамического программирования.
- •Определение. Последовательность Фибоначчи определяется следующим образом:
- •Примеры задач, решаемых при помощи динамического программирования. Наибольшая общая подпоследовательность. (ноп, Longest Common Subsequence, lcs)
- •Решение
- •Примеры задач, решаемых при помощи динамического программирования. Наибольшая возрастающая подпоследовательность. (нвп, Longest Increasing Subsequence, lis)
- •Решение
- •Оптимизация метода динамического программирования (на примере задачи нахождения числа сочетаний )
- •Тема 4. Системы и процессы.
- •Тема 5. Дискретные и непрерывные задачи.
- •Тема 6. Динамическое программирование и линейное программирование
- •Тема 7. Задачи поиска оптимальных путей на графах с неотрицательными весами ребер.
- •Тема 8. Динамическое программирование в экономических задачах.
- •Алгоритм обратной прогонки. Алгоритм прямой прогонки.
- •Алгоритм обратной прогонки
- •Алгоритм прямой прогонки
- •Тема 9. Оптимальное управление.
- •Тема 10. Особенности решения задач динамического программирования. Примеры.
- •Тема 11. Применение метода динамического программирования к задачам синтеза расписаний обслуживания.
- •Однопроцессорные задачи синтеза расписаний обслуживания конечных детерминированных потоков заявок
- •Задачи синтеза расписаний обслуживания для систем с параллельными и последовательными процессорами
- •Задачи оптимального обслуживания стационарных объектов, расположенных в одномерной зоне
- •Тема 12. Труднорешаемые задачи. Полиномиально разрешимые конкретизации, приближенные и эвристические алгоритмы
- •Полиномиально разрешимые и np-трудные задачи
- •Полиномиально разрешимые подклассы труднорешаемых задач
- •Принципы построения приближенных и эвристических алгоритмов
- •Эвристические алгоритмы для задач синтеза расписаний обслуживания
- •Глоссарий
- •Сборник заданий, задач, примеров, упражнений и т.Д.
- •Задача 7. Максимальная подпоследовательность. Дана числовая последовательность, требуется найти длину наибольшей возрастающей подпоследовательности.
Тема 9. Оптимальное управление.
План лекции:
Постановка задачи оптимального управления.
Формулировка принципа максимума.
Теорема (принцип максимума Понтрягина).
Примеры применения принципа максимума.
Краткое содержание лекции
Постановка задачи оптимального управления
Состояние объекта управления характеризуется nмерной вектор функцией, например, функцией времени x = [x1(t), x2(t), …, xn(t)].
От управляющего органа к объекту управления поступает векторфункция u = [u1(t), u2(t), …, ur(t)].
Векторы x и u , обычно связаны между собой какимлибо соотношением.
Наиболее развитым в настоящее время является уравнение, в котором векторы связаны системой обыкновенных дифференциальных уравнений.
Итак, пусть движение управляемого объекта описывается системой дифференциальных уравнений:
x = f(x,u,t), (1)
где x = (x1, …, xn) вектор координат объекта или фазовых координат, f = (f1, …, fn) заданная векторфункция, u = (u1, …, ur) вектор управлений или просто управление.
В уравнении (1) векторы x, u являются функциями переменной t, обозначающей время, причем
t [t0, T], где [t0, T] отрезок времени, на котором происходит управление системой.
На управление обычно накладывается условие:
u(t) U(t), t [t0, T], (2)
где U(t) заданное множество в Rn при каждом t[t0, T].
Будем называть далее управлением кусочнонепрерывную на отрезке [t0, T] (т. е. имеющую конечное число разрывов первого рода) rмерную векторфункцию u, непрерывную справа в точках разрыва и непрерывную в точке T.
Управление u называется допустимым, если оно удовлетворяет ограничению (2). Заметим, что ограничиться рассмотрением непрерывных управлений оказывается невозможным, так как с их помощью трудно моделировать моменты переключения управления такие, как, например, включение и отключение двигателей, отделение ступеней ракеты, поворот рулей и т. д. Иногда рассматривают и более широкие классы допустимых управлений, например, класс всех ограниченных измеримых управлений, удовлетворяющих условию (2).
Покажем, как при произвольном начальном положении x0 Rn и допустимом управлении u определяется траектория управляемого объекта.
Рассмотрим задачу Коши:
x(t) = f(x(t), u(t), t), t0 t T (3)
Поскольку при разрывных правых частях классическое понятие решения системы дифференциальных уравнений неприменимо, поясним, что понимается в данном случае под решением задачи (3).
Пусть функция u имеет скачки в точках r1, r2, …, rk причем t0 < r1 < r2 < … < rk < T.
Предположим, что задача (3) имеет решение х, определенное на всем отрезке [t0, r1], причем x(r1) = x1.
Далее рассмотрим задачу Коши:
x(t) = f(x(t), u(t), t), x(r1) = x1.
Предполагая, что она имеет решение на отрезке [r1, r2] и x(r2) = x2, приходим к задаче:
x(t) = f(x(t), u(t), t), x(r2) = x2 и т. д.
Если функцию x удалось определить указанным способом на всем отрезке [t0, Т], то будем называть ее решением задачи (3) или фазовой траекторией (иногда просто траекторией), соответствующей управлению u.
Отметим, что x непрерывная по построению функция, удовлетворяющая на отрезке [t0, T] равенству:
При выполнении определенных условий на f решение задачи (3), соответствующее управлению u, существует и единственно при произвольном начальном положении x0 и произвольном допустимом управлении u.
Помимо ограничения на управление могут существовать ограничения и на фазовые координаты:
x(t) X(T), t [t0, T] (4)
Ограничения на концах траектории целесообразно рассматривать отдельно:
x(t0) S0(t0), t0 0, x(T) S(T), T (5)
здесь S0(t0), S(T) заданные множества из R; 0, заданные множества из R, причем inf0 < sup, t0<T.
Таким образом, начальный и конечный моменты времени не обязательно фиксированы.
Случаю фиксированных t0, Т соответствуют множества 0, , состоящие из одной точки; при этом говорят, что рассматривается задача с закрепленным временем.
Если S0(t0) = {x0} при любом t0 00, то левый конец траектории называют закрепленным.
Если же S0(t0) = R при всех t0 00, то левый конец траектории называют свободным.
Во всех остальных случаях левый конец называют подвижным.
В аналогичных ситуациях говорят о закрепленном, свободном или подвижном правом конце траектории.
Цель управления в задаче оптимального управления состоит в минимизации некоторого функционала на множестве допустимых наборов.
Если каждой функции y = f(x) определенного класса ставится в соответствии по некоторому закону определенное числовое значение переменной I, то эту переменную называют функционалом от одной функциональной переменной I = I[y] = I[y(x)] = I[f(x)].
Наиболее
часто под задачами управления понимаются
задачи, в которых роль функционала
выполняет интегральный функционал:
Мы будем рассматривать задачу с целевым функционалом:
(6)
представляющим
собой сумму интегрального
функционала
и терминального функционала (х(Т), Т).
Эта задача называется задачей Больца.
Ее частными случаями являются задача с интегральным функционалом, называемая задачей Лагранжа, и задача с терминальным функционалом, называемая задачей Майера.
Задача с интегральным функционалом при f0 1называется задачей оптимального быстродействия.
Набор (t0, Т, х0, u, х), минимизирующий функционал (6), называется решением задачи оптимального управления, управление u оптимальным управлением, а траектория х оптимальной траекторией.
Часто решением задачи оптимального управления называют пару (u, х).
Принцип максимума Понтрягина - необходимое условие оптимальности в таких задачах.
Формулировка принципа максимума.
Рассмотрим задачу оптимального управления, являющуюся частным случаем задачи, сформулированной выше:
(7)
x(t) = f(x(t), u(t), t), x(t0) S0, x(T) ST, u(t) U, t0 t T, где
S0 = {x Rn | gi(x) = 0, i = 1, …, m0},
ST = {x Rn | gi(x) = 0, i = m0 + 1, …, m} (8)
При
этом предполагается, что моменты t0,
Т
фиксированы, т. е. рассматривается задача
с закрепленным временем; множество U
не зависит от времени, фазовые ограничения
отсутствуют. Положим: H(x,
u,
t,
0,
)
=
,
где 0
- константа, (t)
= (1(t),
…, n(t))
Функция Н называется функцией Гамильтона.
Система линейных дифференциальных уравнений = Нx относительно переменных (1(t), …, n(t)) называется сопряженной системой, соответствующей управлению u и траектории x.
Здесь:
или
.
В более подробной покоординатной записи сопряженная система принимает вид:
(9)
Система (3) имеет при любых начальных условиях единственное решение , определенное и непрерывное на всем отрезке [t0,T].
Следующая теорема выражает необходимые условия оптимальности в задаче (7).
Теорема (принцип максимума Понтрягина).
Пусть функции f0, …, fn, u, , g1, ..., gm имеют частные производные по переменным х1, ..., xn и непрерывны вместе с этими производными по совокупности аргументов х Rn, u U, t [t0, Т]. Предположим, что (u, х) решение задачи (7). Тогда существует решение сопряженной системы (9), соответствующей управлению u и траектории х, и константа 00 такие, что |0| + ||(t)|| при t [t0, Т], и выполняются следующие условия:
а) (условие максимума) при каждом t [t0, Т] функция Гамильтона H(x, u, t, 0, ), достигает максимума по v U при v = u(t), т.е.
H(x(t), u(t), t, 0, ) = maxV H(x(t), v(t), t, 0, ) (10)
б) (условие трансверсальности на левом конце траектории) существуют числа 1,…,m0, такие, что
(11)
в) (условие трансверсальности на правом конце траектории) существуют числа m0+1,…,m такие, что:
(12)
Центральным в теореме является условие максимума (10).
Если отказаться от предположения о том, что конечный момент времени Т фиксирован, то теорема останется справедливой за исключением условия трансверсальности на правом конце траектории. Условие (12) заменим условием:
и добавить еще одно условие трансверсальности на правом конце траектории:
Примеры применения принципа максимума.
1. Простейшая задача оптимального быстродействия.
Пусть точка движется по прямой в соответствии с законом:
x = u
где х координата. Требуется найти управление u, переводящее точку из начального положения в начало координат за минимальное время Т (задача оптимального быстродействия). При этом скорость точки в конце траектории должна быть нулевой, а управление удовлетворять условию:
|u(t)| 1, t[0,T].
Применим к сформулированной задаче принцип максимума Понтрягина. Введем фазовые переменные x1 = x, x2 = x. Тогда движение управляемого объекта описывается системой двух дифференциальных уравнений первого порядка:
x1 = x2,
x2 = u
Начальное положение:
x0 = (x01,x02)
при t0=0 и конечное положение (0, 0) фиксированы, а конечный момент времени Т не фиксирован.
В обозначениях приведенных выше в данной задаче U = [-1, 1], f0=1, Ф=0, а функция Гамильтона имеет вид:
H = 0 + x2 + 2u
Общее решение сопряженной системы:
1 = -Hx1 = 0, 2 = -Hx2 = -1
легко выписывается в явном виде
1(t) = C,
2(t) = -Ct + D,
где С, D - постоянные.
Очевидно, что максимум функции Н по uU достигается при:
Таким образом, оптимальное управление u может принимать лишь два значения +1.
2. Определить управление u(t), которое дает минимум интегралу:
,
в процессе, описываемом уравнением
.
Решение.
Введем дополнительную переменную:
Для этой переменной имеем дифференциальное уравнение:
с начальными условиями, получаемыми из (2), т.е. х2(0)=0. Минимизирующий функционал, используя (2), можно записать в виде I[T]=x2(T).
Построим функцию Гамильтона:
H = 1f1 + 2f2 =
1(-ax1 + u) + 2 1/2(x12 + u2) =
-a1x1 + 1/22x12 + 1u + 1/22u2
Запишем сопряженную систему
Запишем i(T) = -Ci, 1(Т)=0 (т.к. C1=0), 2(Т)=-1
Из
,
2
= const,
2(T)
= -1 поэтому 2(t)=-1.
Теперь функция Гамильтона запишется в виде
H = -a1x1 + 1u - 0,5x12 - 0,5u2.
По
принципу максимума функция Н при
фиксированных х1
и 1
достигает максимума по u:
,
откуда 1(t)
= u(t).
Осталось решить систему уравнений (2) и (3) при условии 1(t) = u(t), 2(Т)=-1,
,
с граничными условиями x1(0) = x10, u(T) = 0.
Сведем данную систему к одному уравнению относительно u.
Добавим
к этому уравнению граничные условия
u(T)=0,
u(T)
= u0
и решим его. Составим характеристическое
уравнение k2-
(а2+1)=0,
k1,2=
= ,
u
= C1et
+ C2e-t
Найдем С1 и С2. C1et + C2e-t = 0, С2=-C1е2t. Тогда u(t) = C1(et - e(2T-t))
Используя
граничные условия найдем
Таким
образом, определено оптимальное решение