
4. Метод динамического программирования.
4.1. Принцип оптимальности
Рассмотрим систему
(4.1)
и функционал
(4.2)
который требуется минимизировать. Правый конец фазовых координат является свободным.
Наряду с этой вариационной задачей
рассмотрим вспомогательную, когда
процесс рассматривается в интервале
и минимизируется функционал
. (4.3)
Пусть сначала найден минимум J (4.2) и соответствующее ему оптимальное управление (рис. 1а):
(4.4)
а потом – минимум
(4.3) и оптимальное управление (рис. 1б):
. (4.5)
В последнем случае предполагается, что
в момент
процесс начинается с состояния
,
достигнутого к моменту времени
при оптимизации процесса в интервале
.
Вообще говоря, управления
и
отличаются интервалом и значениями.
Принцип оптимальности утверждает, что
оптимальные управления
и
в общей части интервала
совпадают, не зависимо от предыстории
процесса и вполне определяются состоянием
в момент
.
В случае со свободным правым концом принцип оптимальности доказывается. В самом деле, допустим, что на участке управления и не совпадают и
. (4.6)
Рис. 1а Рис.1б
Тогда для первой задачи введем управление
(4.7)
и вычислим функционал
При управлении u (4.7)
функционал (4.2) принимает меньшее
значение, чем при
(4.4). Но управление
является оптимальным. Поэтому допущение
(4.6) неверно.
A предположение
противоречит тому, что
- управление, минимизирующее
(4.3).
Таким образом, остается, что
,
и если оптимальное управление единственное, то
.
Кратко принцип оптимальности можно сформулировать так: последний участок оптимальной траектории является оптимальным независимо от предыстории процесса.
4.2. Основное уравнение метода динамического программирования
Применим принцип оптимальности к решению
вариационной задачи (4.1), (4.2). Для этого
сначала рассмотрим функционал
(4.3). Наименьшее значение его при связях
(4.1) обозначим:
. (4.8)
Если
-
оптимальное управление,
то
.
Оптимальное управление
зависит от начального состояния y(t)
в момент t. Следовательно,
v является функцией
от y и t:
v = v(y,
t), а от управления
u и его вариаций функция
v = v(y,
t) не зависит. Она
вполне определяется значениями y,
t .
Интервал (t, T) разделим на два интервала (t, t + t) и (t + t, T) и выражение (4.8) запишем в виде:
.
Согласно принципу оптимальности последний участок также является оптимальным:
Обозначим:
, (4.10)
где
- приращение вектора фазовых координат
за время
.
Оно определяется согласно уравнениям
движения (4.1). Подставляя
из (4.10) в равенство (4.9), получим:
.
Хотя функция
зависит только от фазовых координат и
времени, ее нельзя выносить за знак
.
Значение приращения
за время
зависит от управления в интервале
.
Но
не зависит от управления в интервале
,
и ее можно внести под знак
.
Введем
под знак минимума и разделим на
:
.
Учитывая, что
;
,
получим основное уравнение метода динамического программирования:
. (4.11)
Это соотношение состоит из двух утверждений:
выражение
достигает минимума. Это утверждение служит для определения оптимального управления
;
выражение при оптимальном управлении равняется нулю. Утверждение служит для определения функции
.
Если - управление, минимизирующее выражение , то основное уравнение метода динамического программирования
(4.12)
Здесь
зависит от управления по определению,
функция же
не зависит от него. Тем не менее,
производная
от управления зависит. В этом можно
убедиться, если ее представить в виде
и yi’ заменить согласно системе (4.1):
. (4.13)
Подставляя (4.13) в (4.12) получим уравнение Р.Беллмана:
. (4.14)
Это уравнение в частных производных
относительно
,
которое после подстановки
становится нелинейным. Согласно
определению v (4.8) при
должно выполняться конечное условие
.
В случае бесконечного интервала при
процесс должен быть асимптотически
устойчивым, т.е.
.
В том случае, когда рассматривается функционал Больца
(4.15)
Уравнение (4.12) сохраняет силу, функция v в момент должна удовлетворять условию
. (4.16)