
- •Раздел 4. Синтез оптимальных управлений
- •Раздел 4. Синтез оптимальных управлений
- •§1. Задача синтеза и ее обсуждение
- •§2. Принцип оптимальности Беллмана и его обоснование
- •§3. Уравнение Беллмана как необходимое условие оптимальности программного управления
- •§4. Достаточные условия оптимального синтеза
- •§5. Метод динамического программирования
- •§6. Связь метода динамического программирования с принципом максимума
- •§7. Примеры решения задач синтеза
- •Вопросы для самопроверки
§7. Примеры решения задач синтеза
Пример 4.1. Рассмотрим задачу оптимального быстродействия с законом движения
с
переходом из начального состояния
x = (x1, x2)
в начало координат и с ограничением
на скалярное управление u(t)
(см. пример 2.2).
Действуя по изложенной в §5 схеме, найдем оптимальное синтезирующее управление. Уравнение Беллмана для данной задачи имеет вид
(4.28)
а краевое условие таково: V(0,0) = 0.
Предположим, что функция V непрерывна и имеет непрерывные частные производные по x1 и x2. Поскольку из постановки задачи выполнение этих условий не следует, дальнейшее решение носит эвристический характер.
Из уравнения (4.28) вытекает, что оптимальным является управление
(4.29)
На следующем этапе учтем это в уравнении Беллмана
(4.30)
и попытаемся найти отсюда функцию Беллмана.
Согласно (4.29), оптимальное управление u* может принимать значения 1 и –1. Рассмотрим на фазовой плоскости область L–1, в которой u* = –1, и область L1, в которой u* = 1.
В области L–1 уравнение (4.30) имеет вид
(4.31)
а в области L1 –
(4.32)
Для неоднородного уравнения (4.31) запишем уравнение характеристик:
(4.33)
Отсюда, решая уравнение с разделяющимися переменными
находим уравнение для оптимальных фазовых кривых в области L–1 (т.е. при u* = –1):
(4.34)
где C1 – постоянная интегрирования. Это уравнение дает первый интеграл системы (4.33):
Несложно найти еще один первый интеграл, так как в этой системе еще одно уравнение имеет разделяющиеся переменные:
Зная два первых интеграла, мы можем записать общее решение уравнения в частных производных:
где (1, 2) – произвольная непрерывно дифференцируемая функция. Предположим, что уравнение (1, 2) = 0 можно разрешить относительно первого аргумента в виде 1 = H(2). Тогда мы можем записать
(4.35)
т.е. получим вид выражения для функции Беллмана в области L–1.
Аналогично рассматривается ситуация в области L1. Мы получаем уравнение оптимальных фазовых кривых в виде
(4.36)
и вид выражения для функции Беллмана
(4.37)
Формулы (4.35) и (4.37) дают лишь представление о структуре решения уравнения Беллмана, так как в них входит неизвестная функция. Но, зная уравнения (4.34), (4.36) для оптимальных фазовых кривых, мы можем найти и функцию Беллмана. Для этого на плоскости x1Ox2 строим оптимальную траекторию, составляя ее из дуг двух парабол из семейства (4.34), (4.36), как это делалось ранее (см. пример 2.2). Построенная траектория должна соединять начальную точку x с началом координат (рис. 4.5). Теперь можно вычислить время движения вдоль построенной оптимальной траектории и получить конкретный вид функции Беллмана.
Для точки x выше линии переключений АОВ имеем
(4.38)
а для точки x ниже линии переключений –
(4.39)
Непосредственной подстановкой можно убедиться, что функции (4.38) и (4.39) являются решениями уравнений (4.31) и (4.32) соответственно.
Покажем, что ни в
одной точке линии переключений АОВ
функция Беллмана V(x1, x2)
не имеет частных производных. Возьмем
на дуге ОА
произвольную точку
,
т.е.
.
Так как функция V
выше линии АОВ
(или правее, что то же самое) задается
формулой (4.38), то для вычисления
правосторонней производной по x1
мы должны использовать именно эту
формулу:
А левосторонняя производная вычисляется с использованием представления (4.39). Но при этом
и
мы видим, что левосторонней конечной
производной в точке
не существует, так как функция
не дифференцируема в точке 0. Можно так
же показать, что частная производная
по x2
имеет в точках линии переключений
аналогичный разрыв.
Приведенный пример показывает, что условия о существовании у функции Беллмана непрерывных частных производных нарушается даже в простейших ситуациях. Поэтому вопрос о применимости метода динамического программирования к задачам синтеза оптимального управления требует дополнительного обоснования.
Пример 4.2. Пусть закон движения определен системой
Зададим начальное состояние x(0) = x0. В качестве целевого функционала возьмем
(4.40)
где 1, 2, – некоторые положительные постоянные. Рассмотрим задачу нахождения управления, переводящего систему из начального состояния x0 в конечное x() = 0 и доставляющего минимум целевому функционалу (4.40).
Данную задачу можно рассматривать как задачу с закрепленными концами и фиксированным временем T = процесса. Задача автономна, и функция Беллмана зависит только от состояния x (см. §5). Уравнение Беллмана в данном случае имеет вид
(4.41)
Поскольку
на управление u
нет ограничений, для определения значения
,
при котором достигается указанный
минимум, приравняем нулю производную
по u
выражения в скобках. Получим:
(4.42)
На следующем этапе для поиска функции Беллмана подставим найденную функцию в уравнение (4.41). Получаем нелинейное уравнение в частных производных первого порядка:
(4.43)
Краевые условия для функции Беллмана V(x()) = 0 с учетом конечного состояния x() = 0 принимают вид V(0) = 0. Решение будем искать в виде квадратичной формы:
(4.44)
с неизвестными коэффициентами.
Подставим (4.44) в дифференциальное уравнение (4.43) и, пользуясь независимостью переменных x1, x2, приравняем нулю коэффициенты при различных произведениях переменных. Из системы трех уравнений с тремя неизвестными А, В, С получим
Если теперь для
найденной функции V
вычислить
и воспользоваться формулой (4.42), то в
заключение мы найдем явное выражение
для оптимального управления:
Оптимальное управление найдено в зависимости от фазовых координат, т.е. решена задача синтеза. Отметим, что синтезирующая функция линейна.
Пример 4.3. Пусть требуется решить задачу синтеза
Уравнение Беллмана в рассматриваемом случае имеет вид
,
(4.45)
а соответствующее краевое условие –
.
(4.46)
Пользуясь схемой применения метода динамического программирования (см. §5), находим синтезирующее управление в виде
.
Тогда равенство (4.45) перепишется в виде
.
(4.47)
Функцию Беллмана будем искать в виде многочлена
переменной x. Подставим это выражение в (4.47), (4.46), получим
,
.
Приравнивая коэффициенты при одинаковых степенях x, приходим к следующей задаче Коши:
,
,
,
,
,
.
Отсюда находим
,
.
Таким образом, функция Беллмана здесь имеет вид
,
а оптимальное синтезирующее управление определяется выражением
,
.
Задачи
Используя метод динамического программирования, решите задачу оптимального быстродействия
Составьте уравнение Беллмана в следующих задачах оптимального управления:
Учитывая
вид области управления U,
запишите соответствующее уравнение в
частных производных для функции Беллмана
(
– заданы).
Решите проблему синтеза для задачи
Решите задачу синтеза
5.
Найдите оптимальное синтезирующее
управление для задач минимизации
функционалов
и
при условиях
,
,
Будет ли в этих задачах синтезирующая
функция единственной?