
2.2. Уравнение Беллмана для непрерывных систем
Считаем, что известны динамические свойства объекта управления:
, (2.1)
и начальные условия
и
.
Выбираем критерий оптимальности:
, (2.2)
где `x – вектор состояния объекта управления;`U– вектор управления, который доставляет минимум интегралу I.
Обозначим через S(x0)= min I.
Предполагаем, что имеется оптимальная траектория `x*(t), которая обеспечиваем минимальное значение интегралу (2.2). Разбиваем эту траекторию на два участка: первый от t=0 до t=t, второй от t = t до t= ¥.
Беллман сформулировал принцип оптимальности, согласно которому будущее поведение системы, т.е. при t > t, не зависит от «предыстории», т.е. поведения системы в прошлом, и определяется лишь ее настоящим состоянием, т.е. в момент t=t и характером управления. Поэтому, если траектория от t=0 до t=t оптимальная, то второй участок будет также оптимальным при оптимальном управлении. Поэтому второй участок может рассматриваться и как самостоятельный с начальным условием `x*(t). С учетом принципа оптимальности интеграл (2.2) можно представить в следующем виде:
, (2.3)
Согласно принципу
оптимальности Беллмана, если
доставляет минимум интегралу
,
то будет доставлять также минимум интегралу
.
Тогда учитывая (2.3), получаем:
, (2.4)
где
– функция от начального состояния x(t)
в момент t
= t.
Пусть t будет достаточно малой величиной. Тогда можно представить:
, (2.5)
С учетом объекта (2.1) функцию можно представить:
, (2.6)
где
;
.
Применим к (2.6) формулу конечных приращений:
. (2.7)
Далее выражение (2.4) с учетом (2.5) и (2.7) можно записать в виде:
, (2.8)
И окончательно после вычитания S(`x0) из обеих частей выражения (2.8) имеем:
.
Согласно принципу оптимальности начальные условия`x0 и`U0 можно заменить на текущие координаты`x и`U. После этого получаем уравнение Беллмана:
, (2.9)
где S – называется функцией Беллмана.
Для нахождения
минимума левой части нужно продифференцировать
(2.9) по
:
Окончательно имеем:
(2.10)
Уравнения (2.10) являются функциональными уравнениями Беллмана, они представляют собой нелинейные дифференциальные уравнения в частных производных.
Аналитическое решение уравнений Беллмана удается получить лишь в сравнительно несложных частных случаях.
Рассмотрим пример применения метода динамического программирования для определения алгоритма оптимального управления.
Пример 2.2. Пусть объект управления представлен нормальной системой уравнений:
Принимаем критерий оптимальности в виде:
, (2.11)
где q1, q2 – весовые коэффициенты.
Требуется определить алгоритм оптимального управления U=f(x1,x2).
Выбранный критерий оптимальности (2.11) используется в аналитическом конструировании регуляторов. Найденный алгоритм управления на основе этого критерия обеспечивает оптимальную стабилизацию системы относительно положения равновесия.
Метод динамического програмирования может быть применен как аналитический метод, в данном случае, и как итерационный метод для решения задач на цифровой вычислительной машине (ЦВМ).
Составляем функциональные уравнения Беллмана:
(2.12)
Из второго уравнения (2.12) определим U:
(2.13)
Для определения оптимального алгоритма U как функцию координат x1 и x2 необходимо найти функцию Беллмана S.
Подставим в первое уравнение системы (2.12) выражение для U из (2.13)
(2.14)
получаем нелинейное уравнение в частных производных.
Для линейных объектов управления и квадратичных критериев оптимальности функцию S представляют в виде положительно определенной квадратичной формы:
.
Для определения коэффициентов функции S составляют следующую систему:
. (2.15)
После этого
выражения
и
из (2.15) подставляют в (2.14):
.
Далее на основе (2.12) составляют систему алгебраических уравнений для определения А11, А12 и А22 путем приравнивания коэффициентов при соответствующих степенях x1 и x2:
. (2.16)
Из системы (2.16) определяем:
.
Из всех возможных решений А11, А12 и А22 выбирают только положительные значения, т.к. функция S должна быть строго положительной во всех точках фазового пространства, кроме начала координат. Зная А11, А12 и А22 окончательно получаем алгоритм оптимального управления: