Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
16.04.2015
Размер:
97.47 Кб
Скачать

Лекция 26. Уравнение Беллмана.

В прошлой лекции было разобрано, что для управляемой системы вида

x = f(t; x; u); t 2 [t0; T ]; x(t0) = x0; u 2 U;

(1)

с критерием качества

f0(t; x; u)dt ! min;

 

J(u) = '(x(T )) + tZ0

(2)

T

 

 

необходимые условия оптимальности можно представить в виде уравнения Беллмана

min

³

_

 

(t; x; u)

= 0; t

2

[t

; T ];

(3)

B(t; x) + f

u2U

 

0

 

´

0

 

 

ãäå B(t; x) - функция Беллмана, с краевым условием

 

 

 

 

 

 

 

B(T; x(T )) = '(x(T )):

 

 

 

(4)

Приведем теорему, посвященную существованию и единственности оптимального

управляемого процесса.

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 1. Пусть существует единственное непрерывно дифференцируемое ре-

шение B¤(t; x) задачи (3)-(4) и существует допустимое управление u¤(t; x), такое, что

min

fò t; x; u

)

@B¤(t; x)

+

f

t; x; u

)=

fò

(

t; x; u

)

@B¤(t; x)

f

t; x; u

;

(5)

u2U µ

(

@x

 

0(

 

 

@x

+ 0(

)

 

 

тогда в задаче (1)-(2) управление u¤(t; x) является оптимальным, а соответствующая функция Беллмана есть B¤(t; x).

Доказательство. Предположим, что функция B¤(t; x) является функцией Беллмана. С учетом (5) имеем

u2U µ

@t

 

(

 

)

 

 

@x

 

+

0(

 

)

=

min

@B¤(t; x)

+ fò

t; x; u

 

@B¤(t; x)

 

f

t; x; u

 

 

 

 

 

 

 

 

 

 

 

 

= fò(t; x; u¤)

@B¤(t; x)

 

+ f0(t; x; u¤) = 0:

 

 

 

 

 

 

 

 

 

 

 

@x

 

 

 

 

 

 

 

 

 

 

Последнее равенство справедливо, т. к. @B¤(t;x)

 

 

 

 

 

 

 

 

 

 

 

@t не зависит от u. Перепишем его в виде

 

 

_ ¤

(t; x) = ¡f0

¤

):

 

 

 

(6)

 

 

B

(t; x; u

 

 

 

 

равенство (6) справедливо для любого x 2 Rn, в том числе для траектории x¤(t), которая соответствует управлению u¤(t; x¤(t))

B_ ¤(t; x¤) = ¡f0(t; x¤; u¤):

Проинтегрируем последнее равенство по t îò t0 äî T

110

 

 

T

 

 

B¤(T; x¤(T )) ¡ B¤(t0; x¤(t0)) = ¡tZ0

f0(t; x¤; u¤)dt;

 

B¤(t0

; x¤(t0) = B¤(T; x¤(T )) + tZ0

f0(t; x¤; u¤)dt:

(7)

 

T

 

 

 

В соответствии с (4)

B¤(T; x¤(t)) = '(x(T ));

и поэтому уравнение (7) можно переписать в виде

J(u¤) = B¤(t0; x¤(t0)):

Пусть теперь u(t; x) - любое допустимое управление. Тогда уравнение Беллмана принимает вид неравенства

@B¤(t; x)

+ fò(t; x; u)

@B¤(t; x)

+ f0(t; x; u) ¸ 0 )

@t

 

@x

)B_ ¤(t; x) ¸ ¡f0(t; x; u):

Интергрируя последнее равенство по t îò t0 äî T , имеем

B¤(T; x(T )) ¡ B¤(t0

; x(t0)) ¸ ¡tZ0

f0(t; x; u)dt; )

 

T

 

 

) B¤(t0; x(t0)) · B¤(T; x(T )) + tZ0

f0(t; x; u)dt;

 

 

T

 

откуда, в в силу (4)

B¤(t0; x(t0)) · J(u):

Таким образом справедливо соотношение

B¤(t0; x(t0)) = J(u¤) · J(u);

откуда можно заключить об оптимальности управления u¤.

¥

Сформулируем этапы построения управления с помощью метода динамического программирования:

1. Находим вид управления u = u(t; x; B(t; x)), при котором достигается минимум

в уравнении Беллмана (3) . Здесь управление зависит не только от (t; x), но и от частных производных функции Беллмана.

111

B(t; x)

2. Подставляя u = u(t; x; B(t; x)) обратно в уравнение Беллмана (3) получаем систе-

му нелинейных уравнений в частных производных относительно функции Беллмана B(t; x) с краевым условием вида (4).

3. Решаем полученную краевую задачу находим функцию и ее частные про-

изводные .

4. Подставляя найденное выражение для частных производных функции Беллмана B(t; x) в выражение u = u(t; x; B(t; x)), определенное в пункте 1, находим вид

оптимального управления в виде синтеза u = u(t; x).

Следует отметить, что реализовать сформулированный алгоритм в конкретных

задачах может оказаться затруднительно. Это связано с трудоемкостью разрешения

краевой задачи для нахождения функции Беллмана, нелинейностью управляемой

системы и т. д.

 

 

 

 

 

 

 

Применим аппарат динамического программирования для построения оптималь-

ного управления в линейной нестационарной системе с квадратичным критерий ка-

честве, т. е. к задаче ЛК-оптимизации. Рассматривается управляемая система вида

x = A(t)x + B(t)u;

t 2 [t0; T ]; x(t0) = x0; x 2 Rn; u 2 Rr;

(8)

с квадратичным критерием качества

 

 

 

 

 

J(x; u) = xò(T )N1x(T ) + ZT

xò(t)N2(t)x(t) + uò(t)N3(t)u(t) dt ! min :

(9)

 

t0

£

 

 

 

¤

 

Квадратичные формы xòN1x, xòN2(t)x è uòN3(t)u отвечают неравенствам

 

xòN1x ¸ 0; xòN2(t)x ¸ 0; uòN3(t)u > 0:

 

Будем искать функцию Беллмана в виде

 

 

 

 

 

B(t; x) = xò£(t)x;

 

(10)

с краевым условием (уравнение (4))

 

 

 

 

 

 

B(T; x(t)) = xòN1x;

 

(11)

В этом случае уравнение Беллмана принимает вид

 

 

min

_

 

 

(t)x + uòN

(t)u = 0;

 

B(t; x) + xòN

 

u2U

³

 

2

 

3

´

 

ãäå

 

 

 

 

 

 

 

_

 

 

 

 

ò _

 

 

B(t; x) = xò£(t)x + x

£(t)x + xò£(t)x =

 

= xòAò(t)£(t)x + uòBò(tx + x

ò _

 

 

 

(12)

£(t)x + xò£(t)A(t)x + xò£(t)B(t)u:

112

применим первый пункт описанного выше алгоритма построения оптимального управления с помощью метода динамического программирования. Найдем вид управления u = u(t; x; B(t; x)), при котором достигается минимум в (12). Это выполняется когда

Bò(t)£(t)x + Bò(t)£(t)x + 2N3(t)u = 0; )

 

 

 

) u = ¡N3¡1Bò(t)£(t)x:

 

(13)

Подставляя (12) в выражение для _

 

 

 

 

 

 

 

 

B(t; x) (12), уравнение Беллмана принимает вид

ò

ò

ò

¡1

(t)B

ò

ò _

ò

£(t)A(t)

x

A

(t)£(t)x ¡ x

£(t)B(t)N3

 

(t)£(t)x + x £(t)x + x

¡xò£BN3¡1(t)Bò(t)£(t)x + xòN2(t)x + xò£BN3¡1(t)N3(t)N3¡1(t)Bò(t)£(t)x =

= xò ³£_ (t) + Aò(t)£(t) + £(t)A(t) + N2(t) ¡ £BN3¡1(t)Bò(t)£(t)´x = 0;

с краевым условием

xò£(T )x = xòN1x:

сокращая на xò è x уравнение Беллмана сводится к матричному уравнению Рикктати относительно матрицы £(t)

£_ (t) + Aò(t)£(t) + £(t)A(t) + N2(t) ¡ £BN3¡1(t)Bò(t)£(t) = 0; £(T ) = N1: (14)

Дальнейшие пункты алгоритма построения оптимального управления сводятся к разрешению уравнения Риккати (14) относительно нестационарной матрицы £(t).

В итоге синтезирующее управление имеет вид (13).

Связь между динамическим программированием и принципом макси- ìóìà. Рассмотрим управляемую систему (1)-(2) и предположим, что существует непрерывная функция Беллмана - решение уравнений (3)-(4). Также предположим, что существует допустимое управление u¤(t; x), такое справедливо уравнение (5).

Тогда, как доказано в теореме 1, управление u¤(t; x) является оптимальным. Соответствующую оптимальную траекторию обозначим x¤(t).

Введем функции Ã(t) è H(t; x; u; Ã) по следующим формулам

Ã(t) = ¡@B(t; x); @x

H(t; x; u; Ã) = Ãòf(t; x; u) ¡ f0(t; x; u);

Теперь преобразуем уравнение (5), прейдя в нем к максимуму

113

µ

max ¡fò(t; x; u)

u2U

@B¤(t; x)

¡ f0(t; x; u)= ¡fò(t; x; u)

@B¤(t; x)

¡ f0(t; x; u);

@x

 

@x

Введем в это уравнение функции Ã(t) è H(t; x; u; Ã) и запишем его для оптимальной траектории x¤(t)

max

Ãòf(t; x¤; u)

¡

f (t; x¤; u)

¢

= max (H(t; x¤; u; Ã)) = H(t; x¤; u¤; Ã)

u2U

¡

0

u2U

Также, продифференцировав (4) по x получим краевое условие для вектора Ã(t)

@B(T; x¤(T ))

= ¡Ã(T ) =

@'(T; x¤(T ))

:

@x

@x

114

Соседние файлы в папке Лекции по ТУ