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

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

9.3. метод гамильтона-якоби-беллмана. многошаговый вариант

 

Рассмотрим следующую задачу:

 

■/= X /0(/,4/),m(/))+W))->min; /=о

x(t +1) = /(*, x(t),u(t)),t = ол,.-J -1;

Предположим, что функция ф(/, х) задана так, что она удовлетворяет этим условиям. Тогда этой функции отвечает некоторое управление u*(t, х). Введем в рассмотрение вектор состояния x*(t)y удовлетворяющий уравнению

*(>+ D=/(/,x(0, u*(tyx(t)) (9.29)

при начальном условии х(0) = х0. Определим

и*(0 = к*(/, x*(t)). (9.30)

Рассмотрим теорему.

Теорема 9.1. Пусть функция ф(/, х) обеспечивает выполнение условий (9.27) и (9.28), а функция u*(t, х) соответствует данной функции ф(/, х) на основании условия

 

Р(г, х, и * (г, х)) = max R(t, jc, и) = Р(и х).

UEVtX

Функции х*(0, u*(t) заданы условиями (9.29) и (9.30). Тогда пара вектор-функций x*(t), u*(t) является оптимальным процессом.

Доказательство. Условие (7.6) (см. разд. 7.1) теоремы 4.2 о достаточных условиях оптимальности выполняется тривиально благодаря заданию Ф(х) (см. формулу (9.28)).

Функция u*(t, х) строится так, что при каждом фиксированном наборе аргументов t, х она обеспечивает max R(tyxyu). функ-

ueVtx

ция ф(/, х) согласно условию (9.27) выбрана так, что max P(t,x) = R

ugvtx

не зависит от х. При таком выборе ф(/, х) значение х, в том числе и значение x*(t), в паре с w*(0 удовлетворяет условию 1 теоремы 4.2 о достаточных условиях оптимальности для многошаговых процессов (см. формулу (7.5)). Согласно условию и є Vtx, использованному при построении u(t, х), и условию (9.29) пара (х*(ґ), м*(0) допустима.

Проведем анализ условий (9.27) и (9.28), которым должна удовлетворять функция ф(/, х).

Поскольку имеет место равенство (9.25), то, учитывая условие (9.28), получаем

Ф(Г,*)= с,- fix), (9.31)

т.е. функция ф(/, х) в момент /= Г должна с точностью до постоянного слагаемого совпадать с функцией F(x). С учетом условия (9.29)

/>(г, х) = max {ф(г +1, / (г, х, и)) - /° (г, *, и)} - ф(г, *) = с(г),

откуда

<р(г, х) = max {ф(г +1, /(г, х, и)) - /° (г, х, и)} + (9.32)

 

Полученное выражение (9.32) является дискретным аналогом уравнения Гамильтона—Якоби—Беллмана для непрерывных процессов (9.10). Здесь мы имеем не дифференциальное уравнение в частных производных, а более простое функциональное конечно-разностное уравнение.

Поскольку второе условие в теоремах о достаточных условиях оптимальности для непрерывных и многошаговых процессов одинаково, то и краевое условие для функционального уравнения (9.32) будет таким же, как для непрерывных процессов:

Ф(7; х) — F(x) + c{. (9.33)

Решая функциональное уравнение (9.32) совместно с краевым условием (9.33), определим синтез оптимальных управлений u*(t, х). Подстановка u*(t, х) в уравнение процесса (9.29) при заданных начальных условиях х(0) = xQ дает возможность определить вектор оптимального состояния х*(/). Теорема доказана. Подробнее техника расчетов будет уточнена ниже.

Пример 9.2. Решить задачу оптимального управления методом динамического программирования

з 9

£[*(0 + и (01 + *(4)->min /=0

при ограничениях

x(t+ ) = x(t) - u(t) u(t)e [1;2]

и начальном условии

х(0) = 0.

В соответствии с приведенной схемой решения запишем уравнение Беллмана с краевым условием (при отсутствии дополнительных требований к функции c(t) и константе с, они принимаются равными нулю):

 

ф(г,х) = max [y(t + ,x-u)-х-и2},    г = 0,1,2, 3; иє[1;2]

ф(4, *) = -.*.

Поскольку уравнение Беллмана связывает значение функции ф в момент времени / с ее значением в последующий момент времени / + 1, а значение этой функции в момент Т= 4 известно, можно построить функцию ф(/, х), описывая ее значение «справа налево» — от момента времени / = Т= 4 до момента t= 0.

Первая итерация (t = 3). В этом случае уравнение Беллмана имеет вид

 

ф(3,х)= max [у(4,х-и)-х-и2]. ие[1;2]

Пользуясь краевым условием ф(4, х) = —х, функцию Беллмана можно переписать:

2 2

ф(3,х)= max [-х + и-х-и ) = max (-2х + и-и ). ие[1;2] ие[1;2]

Максимизируя функцию в скобках по и є [1; 2] (см. разд. 1.2), получим и* = I. Подставляя это значение в выражение для ф(3, х), находим

ф(3, х) = —2х.

На второй и последующих итерациях порядок вычислений повторяется, только изменяется значение / в функции ф(/, х). Вторая итерация (t = 2):

2

ф(2,х)= max [ф(3,х — и) — х — и ] = иє[1;2]

2 2

= max (-2х + 2и-и ) = max (-Зх + 2и-и ). мє[1;2] мє[1;2]

Максимизация по и последнего выражения приводит к тому, что и * совпадает с левой границей: и* = 1, при этом

ф(2, х) = -За: + 1.

Третья итерация (t = 1):

 

ф(1,*) = max Щ2,х-и)-х-и2] =

= max (-3jc + 3m + 1-jc-m2) = max {-Ах + Ъи-и2 + 1).

мє[і;2] f 1-jc-

мє[1;2] мє[1;2]

3

В результате максимизации получаем    = откуда

2

 

9   9 13

ф(1,*) = -4* + +1 = -Ах + —.

2   4 4

Четвертая итерация (t = 0):

 

ф(0,*) = max [ф(1,*-м)-;с-м2] = иє[1;2]

✓   ^   2    13ч           ,   _      ? 13ч

= max (-Ах + Аи-х-и +—)= max (-5х + Аи - и +—).

мє[1;2]            4      мє[1;2] 4

 

Максимизация дает и* = 2.

Итак, полностью определен синтез оптимального управления u*(t, х), который в данном примере, не завися от состояния х, сразу дает программу управления (табл. 9.1).

Зная динамику u*(t) и начальное значение х(0) = 0, можно определить траекторию — функцию состояния по разностному уравнению процесса x(t) = x(t+1) + u ), табл. 9.2.

Еще раз обратим внимание на то, что, в отличие от метода Лагранжа—Понтрягина, в методе Гамильтона—Якоби—Беллмана (динамического программирования) искомый процесс оптимальный без дополнительного обоснования, поскольку он адекватен теоремам о достаточных условиях оптимальности. Подробнее этот вопрос будет обсуждаться в разд. 9.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 |