Имя материала: Оптимальное управление в экономике: теория и приложения

Автор: Лагоша Борис Александрович

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) = \fu- u2.

Ограничения на управление отсутствуют, следовательно,

дН

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

 

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |