9.2. алгоритм гамильтона-якоби-беллмана (для непрерывных процессов)
9.2. алгоритм гамильтона-якоби-беллмана (для непрерывных процессов)
В разд. 9.1 решение задачи (9.1) — (9.3) методом Гамильтона— Якоби—Беллмана просмотрено практически до конца. Осталось лишь ответить на вопрос, как определять функцию х), и теория будет завершена.
Итак, начинаем с отыскания функции х), которая должна удовлетворять двум априорным требованиям: (9.4) и (9.5).
Функцию
*(/, х, и) = f(t, х, и) f(t, х, и) 3,
дх dt
учитывая, что правая часть этого равенства согласно формуле (6.10) равна
n(t,x, — ,и) + —, ot ot
перепишем в виде
дх dt
Так как ср(7, х) не зависит от м, то выражение
P{t,x) = maxR(t,x,u) ueVu
примет вид
/и*)=тахЯ(ґ,х,^,и)3, (9.9)
We ytx oX ol
т.е. максимизация касается только гамильтониана H(t,x,^-,u).
дх
Таким образом, равенство (9.9) с учетом (9.4) примет вид
^) = -тахЯ(/,х,|2,И) + с(/). (9Л0)
Уравнение (9.10) называется уравнением Гамильтона—Якоби—Беллмана. При c(t) = 0 его называют уравнением Беллмана:
MA = -m«vU(t v^P ,Л (9.11)
. = -тахЯ(ґ,х,— ,и).
ot и€уь ах
Уравнения (9.10) и (9.11) являются уравнениями в частных производных первого порядка, разрешенными относительно
—-1—. Из формулы (6.7) с учетом условия (9.5) получаем для dt
уравнения Беллмана (9.11) граничное условие
y(T,x) = -F(x) + c]. (9-12)
Таким образом, чтобы найти функцию ср(Г, х), удовлетворяющую априорным ограничениям (9.4) и (9.5), нужно решить уравнение в частных производных (9.10) с граничным условием (9.12). Подобная задача называется задачей Коши в отличие от краевой, когда часть граничных условий задается на одном конце, а часть — на другом. Поскольку на функцию c(t) и на константу с, никаких дополнительных условий не накладывается, их обе можно принимать равными нулю.
Принципиальная схема решения задачи Коши для уравнений в частных производных представлена на рис. 9.1.
\%(U)
При / = Г функция ф(/, х) задана: ф(Г, х) = —F(x). Учитывая сказанное выше, принимаем с{ = 0.
Через точки /р /2,..., Г—1 проводим сечения. Обозначим ср(гл, *) = Ф*(*) и будем искать
Учитывая уравнение (9.11) при с(/) = 0, получим, обозначая ^=-тахЯ(Лх,|ї,і/),
Ф;ы М = Ф* (*) + ^('* ~*к-0Это соотношение позволяет вычислить ц>к_{(х), зная фЛ(х). При Г = Г значение ф известно.
Найденная таким образом функция ф(Г, х) и соответствующая ей функция u*(t, х) уже решают поставленную задачу. Остается только подставить в уравнение процесса (9.2) u*(t, х) и проинтегрировать его при заданных начальных условиях (9.3).
В целом изложенный выше метод численного решения задачи Коши для уравнения Гамильтона—Якоби—Беллмана весьма трудоемкий и реализуем при достаточно малом шаге интегрирования только с помощью ЭВМ. Тем не менее для отдельных задач специальной структуры удается получить точное решение в аналитической форме, в чем мы убедимся на предлагаемом ниже примере.
Пример 9.1. Найти решение задачи оптимального управления.
Заданы функционал
Т
J = J u2dt + Xx2(T)-> min о
и уравнение процесса dx
— = и; x(0) = x0; X > 0. at
Искомое решение отвечает изложенной выше схеме, и поэтому не все действия комментируются, при этом напоминаем,
что V = —^—x=x*(t) • Строим функцию Гамильтона (х є Л1, V є Л1, и є R c(t) = cx = 0):
H(t,x,\f,u) = \fuu2.
Ограничения на управление отсутствуют, следовательно,
дН
max H(t, х, у, и) ищется исходя из условия стационарности = 0.
и ди
Отсюда получаем у — 2и = 0, или
и *(¥) = (913) 2
синтез оптимальных управлений, в частности, не зависит от х. При этом значении w*(j/) действительно достигается
max H(t,x,\f,u*), так как —г= -2 < 0. " ди2 С учетом принятого значения N получаем
2 4 4
Уравнение Беллмана с краевым условием согласно формулам (9.11) и (9.12) имеет вид
Mt,x) _ 1
Э(р(/,х) Эх
dt 4 ф(Г,х) = -Хх2
п2
(9.14) (9.15)
Поскольку функция (р(/, х) относительно х — многочлен второй степени, попытаемся отыскать в такой же форме функцию ф(', х):
<р(/, х) = а(/)х2 + р(/)х + о(0
(9.16)
Здесь функции а(0, Р(0> а(0 подлежат определению. Учитывая краевое условие (9.15), находим
<х(7) = -Х;Р(7)= а(7) = 0. (9.17)
Для подстановки условия (9.15) в выражение (9.14) потребуются следующие соотношения:
f£ = 2a(/)x + P(0;
дх
ди> da 2 dft do
— = X + — Х + —.
dt dt dt dt Уравнение (9.14) теперь имеет вид
da 2 d$ do 1 оч2 — хА + — Х + — =—(2ojc + B)z dt dt dt 4
или после возведения в квадрат
da 2 d$ do 2 2 о 1 п2 /п і о
— xz + — х + — = -aLxL aBx --Bz. (9.18) dt dt dt 4
Уравнение (9.18) должно удовлетворяться для любых х. Поэтому, приравнивая в соотношении (9.18) слева и справа коэффициенты при одинаковых степенях х, будем иметь:
^ = -<х2; f = -аР; £ = ->2. С-»)
dt dt dt 4
Таким образом, для определения функции ф(/, х) получена система трех обыкновенных дифференциальных уравнений (9.19) с конечными условиями (9.17). Это задачи Коши. В системе (9.19) первое уравнение решается независимо от второго и третьего. Оно представляет собой уравнение с разделяющимися переменными (см. разд. 1.4). С учетом первого конечного условия (9.17) его решение имеет вид
<х(/) = —1
,.Т-1
Непосредственной подстановкой можно убедиться, что второе и третье уравнения системы (9.19) с нулевыми конечными условиями (второе соотношение (9.17)) имеют тривиальные решения
Р(0 = c(t) = 0.
Окончательное решение уравнения Беллмана (9.14) с краевым условием (9.15) примет вид
ф(/,*) =
t-T--X
Синтез оптимальных управлений определяется по формуле (9.13)
что позволяет находить оптимальное управление в каждый момент / при каждом значении состояния х.
Оптимальное состояние системы может быть найдено как решение следующей задачи Коши:
dx х
л=^7л; (9-20)
х(0) = хо. (9-21)
Решая дифференциальное уравнение (9.20) с разделяющимися переменными и удовлетворяя начальному условию (9.21), получим
х*(,) = __^(,_:Г-1). (9-22)
Т + х X
Программа оптимального управления
W*(0=«*(/,x)b)=-^V (9.23)
Т + X
Как видно из итоговых результатов решения задачи — формул (9.22) и (9.23), оптимальное состояние системы x*(t) является линейной функцией времени 7, а оптимальное управление u*(t) — постоянная величина.
В данном примере решение уравнения Беллмана (9.14) с краевым условием (9.15) оказалось легко реализуемой процедурой, не выходящей за рамки обыкновенных дифференциальных уравнений с разделяющимися переменными. В общем случае, как отмечалось выше (см. рис. 9.1), это довольно трудная задача.
При изучении метода и алгоритма Гамильтона—Якоби—Беллмана для непрерывных процессов был приведен условный пример 9.1, не относящийся к сфере экономических приложений. То же будет и с задачами для самостоятельной работы. Причина в том, что в непрерывном времени рассматривается обычно относительно небольшой класс задач в основном среднесрочного или долгосрочного прогнозирования, для которых разработаны более простые методы. Применительно к постановкам таких задач эти методы одновременно и более естественны. Примером тому служит представленная в главе 5 однопродуктовая макроэкономическая модель оптимального развития экономики, лежащая в основе так называемого магистрального ее развития. Тем не менее для полноты методологии раскрытия идеи о достаточных условиях оптимальности и ее практической работоспособности, теоретической полноты мы включаем в настоящий курс метод Гамильтона—Якоби—Беллмана в обоих вариантах — для непрерывных и дискретных процессов. В последнем случае известны многочисленные практические задачи при исследовании операций в экономике и других приложениях. Одна из них — об оптимальном распределении инвестиций между проектами — будет предметом нашего последующего изложения.
Обсуждение Оптимальное управление в экономике: теория и приложения
Комментарии, рецензии и отзывы