Уравнение Беллмана

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

Уравнение Беллмана (также уравнение динамического программирования) — достаточное условие оптимальности в методах оптимизации динамического программирования, названное в честь Ричарда Эрнста Беллмана и основывающееся на принципе оптимальности Беллмана.

Описание

Уравнение Беллмана представляет собой дифференциальное уравнение в частных производных с начальными условиями, заданными для последнего момента времени (то есть справа), для функции Беллмана, которая выражает минимальное значение критерия оптимизации, которое может быть достигнуто, при условии эволюции системы из текущего состояния в некоторое конечное. А это в свою очередь позволяет перейти от решения исходной многошаговой задачи оптимизации к последовательному решению нескольких одношаговых задач оптимизации.

Понятие уравнения Беллмана и функции Беллмана обычно применяется для непрерывных систем. Для дискретных систем аналогом выступает рекуррентное соотношение Беллмана. Принцип оптимальности (см. ниже) позволяет в этом случае оптимальное планирование от конца к началуШаблон:Sfn.

Формальные соотношения, выражающие достаточное условия оптимальности как для дискретных, так и для непрерывных систем могут быть записаны как для случая детерминированных, так и для случая стохастических динамических систем общего вида. Отличие заключается лишь в том, что для случая стохастических систем в правых частях этих выражений возникает условное математическое ожидание.

В контексте решения задачи оптимального управления можно выделить два подхода: численный и аналитический. Численный подход основан на использовании вычислительных процедур динамического программирования, в то время как аналитический подход связан с решением уравнения Беллмана. То есть, нелинейного уравнения в частных производных, которое имеет аналитическое решение лишь в простейших случаяхШаблон:Sfn.

Принцип оптимальности

Принцип оптимальности, подходящий как для непрерывных, так и дискретных систем является основополагающим в теории управления. Две формулировкиШаблон:Sfn:

Шаблон:Цитата

Указанное свойство можно сравнить с соответствующим свойством марковского процессаШаблон:Sfn.

Шаблон:Цитата

Как следствие этого, оптимальное управление зависит только от текущего состояния системы. Последствия неоптимального управления в прошлом не могут быть исправлены в будущемШаблон:Sfn.

Согласно принципу оптимальности, оптимальная стратегия гарантирует, что после первого решения последующие решения будут оптимальными относительно нового состояния, полученного в результате первоначального решения, независимо от начального состояния и начального решенияШаблон:Sfn.

Пример уравнения Беллмана из теории оптимального управления

Модель системы и управления

Рассмотрим уравнение состояния управляемой динамической системыШаблон:Sfn:

x˙(t)=f(t,x(t),u(t)),

где:

t — время из интервала времени функционирования системы tT=[t0,t1],
x — вектор-функция состояния системы из пространства состояний (n-мерного евклидова пространства, n),
u — вектор-функция управления со значениями из пространства управлений Un,
f — вектор-функция системы T×n×Un.

Для упрощения изложения требования к гладкости функций и другие нюансы здесь и далее опущены.

Вектор начальных условий:

x(t0)=x0n,

где x0 не считается произвольным.

Определим функционал качества управления для минимизации:

I(x,u)=t0t1g(x(t),u(t),t)dt+F(x(t)),

где:

F и g — заданные непрерывно дифференцируемые функции.

Для получения управления используется текущее время t и состояние системы x:

u(t)=u(t,x(t))

Задача оптимального управления состоит в том, чтобы найти такую функцию u*(t,x), которая минимизирует I(x,u):

x0I(x*,u*)=minDI(x,u),

где:

(x*(),u*())=u*(,x()),
D — множество допустимых управлений с учетом t0 и x0, то есть, ограничение на возможные (x(),u()).

Функция оптимального управления u*(t,x) для любого начального x0 дает оптимальный процесс: оптимальное управление u*() и оптимальную траекторию x*().

Уравнение Беллмана

Если существует функция ω(t,x), непрерывно дифференцируемая по t и x на (t0,t1)×n, удовлетворяющая уравнению БеллманаШаблон:Sfn:

max\limits uU[ω(t,x)t+ω(t,x)xf(t,x,u)g(t,x,u)]=0

и граничному условию

xnω(t1,x)=F(x),

то управление

u*(t,x)=argmax\limits uU[ω(t,x)xf(t,x,u)g(t,x,u)],

является оптимальным управлением с полной обратной связью.

См. также

Примечания

Шаблон:Примечания

Литература

Шаблон:Вс