Уравнение Гамильтона — Якоби — Беллмана

Поделись знанием:
Это текущая версия страницы, сохранённая NapalmBot (обсуждение | вклад) в 05:54, 26 июня 2016. Вы просматриваете постоянную ссылку на эту версию.

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Уравнение Гамильтона — Якоби — Беллмана — дифференциальное уравнение в частных производных, играющее центральную роль в теории оптимального управления. Решением уравнения является функция значения (англ. value function), которая даёт оптимальное значение для управляемой динамической системы с заданной функцией цены.

Если уравнения Гамильтона — Якоби — Беллмана решаются в какой-то части пространства, они играют роль необходимого условия, при решении во всем пространстве, они так же становятся достаточным условием для оптимального решения. Методика может быть также применена к стохастическим системам.

Классические вариационные задачи (например, задача о брахистохроне) могут быть решены с использованием этого метода.

Уравнение является результатом развития теории динамического программирования, первопроходцем которой является Ричард Беллман и его сотрудники.[1]

Соответствующее уравнение с дискретным временем называется просто уравнением Беллмана. При рассмотрении задачи с непрерывным временем, полученные уравнения могут рассматриваться как продолжение более ранних работ в области теоретической физики, связанных с уравнением Гамильтона — Якоби.

Задачи оптимального управления

Рассмотрим следующую задачу оптимального управления на промежутке времени <math>[0,T]</math>:

<math> V = \min_u \left\{ \int_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(x(t), t)</math> — функция значения, тогда рассмотрим переход от момента времени t к моменту t+dt в соответствии с принципом Беллмана.

<math> V(x(t), t) = \min_u \left\{ C(x(t+dt), u(t+dt)) \, dt + V(x(t+dt), t+dt) \right\}. </math>

Разложим последнее слагаемое по Тейлору:

<math> V(x(t+dt), t+dt) = V(x(t), t) + \dot{V}(x(t), t) \, dt + \nabla V(x(t), t) \cdot \dot{x}(t) \, dt + o(dt^2),</math>

Осталось перенести V(x, t) влево, поделить на dt и перейти к пределу.

Примечания

  1. R. E. Bellman. Dynamic Programming. Princeton, NJ, 1957.

Литература

  • 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.