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

Материал из testwiki
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

V=minu{0TC[x(t),u(t)]dt+D[x(T)]},

где С и D — функции стоимости, определяющие соответственно интегральную и терминальную часть функционала. x(t) — вектор, определяющий состояние системы в каждый момент времени. Его начальное значение x(0) считается известным. Вектор управления u(t) следует выбрать таким образом, чтобы добиться минимизации значения V.

Эволюция системы под действием управления u(t) описывается следующим образом:

x˙(t)=F[x(t),u(t)].

Уравнение в частных производных

Для такой простой динамической системы, уравнения Гамильтона — Якоби — Беллмана принимают следующий вид:

V˙(x,t)+minu{V(x,t)F(x,u)+C(x,u)}=0

(под ab подразумевается скалярное произведение) и задаются значением в конечный момент времени T:

V(x,T)=D(x).

Неизвестная в этом уравнении — беллмановская «функция значения» V(xt), которая отвечает максимальной цене, которую можно получить, ведя систему из состояния (xt) оптимальным образом до момента времени T. Соответственно, интересующая нас оптимальная стоимость — значение V = V(x(0), 0).

Вывод уравнения

Продемонстрируем интуитивные рассуждения, которые приводят к этому уравнению. Пусть V(x(t),t) — функция значения, тогда рассмотрим переход от момента времени t к моменту t + dt в соответствии с принципом Беллмана:

V(x(t),t)=minu{C(x(t+dt),u(t+dt))dt+V(x(t+dt),t+dt)}.

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

V(x(t+dt),t+dt)=V(x(t),t)+V˙(x(t),t)dt+V(x(t),t)x˙(t)dt+o(dt2).

Осталось перенести V(xt) влево, поделить на 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.

Шаблон:Rq

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