Русская Википедия:Уравнение Гамильтона — Якоби — Беллмана
Уравнение Гамильтона — Якоби — Беллмана — дифференциальное уравнение в частных производных, играющее центральную роль в теории оптимального управления. Решением уравнения является функция значения (Шаблон:Lang-en), которая даёт оптимальное значение для управляемой динамической системы с заданной функцией цены.
Если уравнения Гамильтона — Якоби — Беллмана решаются в какой-то части пространства, они играют роль необходимого условия; при решении во всём пространстве они также становятся достаточным условием для оптимального решения. Методика может быть также применена к стохастическим системам.
Классические вариационные задачи (например, задача о брахистохроне) могут быть решены с использованием этого метода.
Уравнение является результатом развития теории динамического программирования, первопроходцем которой является Ричард Беллман и его сотрудники.[1]
Соответствующее уравнение с дискретным временем называется просто уравнением Беллмана. При рассмотрении задачи с непрерывным временем полученные уравнения могут рассматриваться как продолжение более ранних работ в области теоретической физики, связанных с уравнением Гамильтона — Якоби.
Задачи оптимального управления
Рассмотрим следующую задачу оптимального управления на промежутке времени <math>[0,T]</math>:
- <math> V = \min_u \left\{ \int\limits_0^T C[x(t),u(t)]\,dt + D[x(T)] \right\},</math>
где С и D — функции стоимости, определяющие соответственно интегральную и терминальную часть функционала. x(t) — вектор, определяющий состояние системы в каждый момент времени. Его начальное значение x(0) считается известным. Вектор управления u(t) следует выбрать таким образом, чтобы добиться минимизации значения V.
Эволюция системы под действием управления u(t) описывается следующим образом:
- <math>\dot{x}(t) = F[x(t), u(t)].</math>
Уравнение в частных производных
Для такой простой динамической системы, уравнения Гамильтона — Якоби — Беллмана принимают следующий вид:
- <math>
\dot{V}(x, t) + \min_u \left\{ \nabla V(x, t) \cdot F(x, u) + C(x, u) \right\} = 0
</math>
(под <math>a \cdot b</math> подразумевается скалярное произведение) и задаются значением в конечный момент времени T:
- <math>V(x, T) = D(x).</math>
Неизвестная в этом уравнении — беллмановская «функция значения» V(x, t), которая отвечает максимальной цене, которую можно получить, ведя систему из состояния (x, t) оптимальным образом до момента времени T. Соответственно, интересующая нас оптимальная стоимость — значение V = V(x(0), 0).
Вывод уравнения
Продемонстрируем интуитивные рассуждения, которые приводят к этому уравнению. Пусть <math>V\big(x(t), t\big)</math> — функция значения, тогда рассмотрим переход от момента времени t к моменту t + dt в соответствии с принципом Беллмана:
- <math> V\big(x(t), t\big) = \min_u \left\{ C\big(x(t + dt), u(t + dt)\big) \, dt + V\big(x(t + dt), t + dt\big) \right\}. </math>
Разложим последнее слагаемое по Тейлору:
- <math> V\big(x(t + dt), t + dt\big) = V\big(x(t), t\big) + \dot{V}\big(x(t), t\big) \, dt + \nabla V\big(x(t), t\big) \cdot \dot{x}(t) \, dt + o(dt^2).</math>
Осталось перенести V(x, t) влево, поделить на dt и перейти к пределу.
Примечания
Литература
- R. E. Bellman: Dynamic Programming and a new formalism in the calculus of variations. Proc. Nat. Acad. Sci. 40, 1954, 231—235.
- R. E. Bellman: Dynamic Programming, Princeton 1957.
- R. Bellman, S. Dreyfus: An application of dynamic programming to the determination of optimal satellite trajectories. J. Brit. Interplanet. Soc. 17, 1959, 78—83.
- ↑ R. E. Bellman. Dynamic Programming. Princeton, NJ, 1957.