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

Поделись знанием:
Перейти к: навигация, поиск

Уравнение Гамильтона — Якоби — Беллмана — дифференциальное уравнение в частных производных, играющее центральную роль в теории оптимального управления. Решением уравнения является функция значения (англ. 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.


Отрывок, характеризующий Уравнение Гамильтона — Якоби — Беллмана

– От того чувства, которое есть во мне, в нем, – он указал на Тимохина, – в каждом солдате.
Князь Андрей взглянул на Тимохина, который испуганно и недоумевая смотрел на своего командира. В противность своей прежней сдержанной молчаливости князь Андрей казался теперь взволнованным. Он, видимо, не мог удержаться от высказывания тех мыслей, которые неожиданно приходили ему.
– Сражение выиграет тот, кто твердо решил его выиграть. Отчего мы под Аустерлицем проиграли сражение? У нас потеря была почти равная с французами, но мы сказали себе очень рано, что мы проиграли сражение, – и проиграли. А сказали мы это потому, что нам там незачем было драться: поскорее хотелось уйти с поля сражения. «Проиграли – ну так бежать!» – мы и побежали. Ежели бы до вечера мы не говорили этого, бог знает что бы было. А завтра мы этого не скажем. Ты говоришь: наша позиция, левый фланг слаб, правый фланг растянут, – продолжал он, – все это вздор, ничего этого нет. А что нам предстоит завтра? Сто миллионов самых разнообразных случайностей, которые будут решаться мгновенно тем, что побежали или побегут они или наши, что убьют того, убьют другого; а то, что делается теперь, – все это забава. Дело в том, что те, с кем ты ездил по позиции, не только не содействуют общему ходу дел, но мешают ему. Они заняты только своими маленькими интересами.
– В такую минуту? – укоризненно сказал Пьер.
– В такую минуту, – повторил князь Андрей, – для них это только такая минута, в которую можно подкопаться под врага и получить лишний крестик или ленточку. Для меня на завтра вот что: стотысячное русское и стотысячное французское войска сошлись драться, и факт в том, что эти двести тысяч дерутся, и кто будет злей драться и себя меньше жалеть, тот победит. И хочешь, я тебе скажу, что, что бы там ни было, что бы ни путали там вверху, мы выиграем сражение завтра. Завтра, что бы там ни было, мы выиграем сражение!
– Вот, ваше сиятельство, правда, правда истинная, – проговорил Тимохин. – Что себя жалеть теперь! Солдаты в моем батальоне, поверите ли, не стали водку, пить: не такой день, говорят. – Все помолчали.
Офицеры поднялись. Князь Андрей вышел с ними за сарай, отдавая последние приказания адъютанту. Когда офицеры ушли, Пьер подошел к князю Андрею и только что хотел начать разговор, как по дороге недалеко от сарая застучали копыта трех лошадей, и, взглянув по этому направлению, князь Андрей узнал Вольцогена с Клаузевицем, сопутствуемых казаком. Они близко проехали, продолжая разговаривать, и Пьер с Андреем невольно услыхали следующие фразы:
– Der Krieg muss im Raum verlegt werden. Der Ansicht kann ich nicht genug Preis geben, [Война должна быть перенесена в пространство. Это воззрение я не могу достаточно восхвалить (нем.) ] – говорил один.
– O ja, – сказал другой голос, – da der Zweck ist nur den Feind zu schwachen, so kann man gewiss nicht den Verlust der Privatpersonen in Achtung nehmen. [О да, так как цель состоит в том, чтобы ослабить неприятеля, то нельзя принимать во внимание потери частных лиц (нем.) ]
– O ja, [О да (нем.) ] – подтвердил первый голос.
– Да, im Raum verlegen, [перенести в пространство (нем.) ] – повторил, злобно фыркая носом, князь Андрей, когда они проехали. – Im Raum то [В пространстве (нем.) ] у меня остался отец, и сын, и сестра в Лысых Горах. Ему это все равно. Вот оно то, что я тебе говорил, – эти господа немцы завтра не выиграют сражение, а только нагадят, сколько их сил будет, потому что в его немецкой голове только рассуждения, не стоящие выеденного яйца, а в сердце нет того, что одно только и нужно на завтра, – то, что есть в Тимохине. Они всю Европу отдали ему и приехали нас учить – славные учители! – опять взвизгнул его голос.