Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vlasov_Metody_optimizacii_i_optimalnogo_upravle...doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2.03 Mб
Скачать

6.3. Динамическое программирование

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

Каждый конечный участок оптимальной траектории есть опти-мальная траектория. Это следствие аддитивности критерия опти-

мальности.

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

Пусть S (x , t) есть наименьшее значение функционала

J = TG (x1 ,..., xn ,u ,τ)dτ , если в момент времени t динамический

t

объект находится в состоянии x . Для функции S (x , t) можно полу-

чить дифференциальное уравнение, называемое уравнением Белл-мана. Это уравнение в частных производных, оно имеет вид

St = min{G (x , u , t )+ < grad S , f >} , где наименьшее значение

рассматривается по аргументу u , градиент вычисляется по аргу-ментам x1 ,..., xn .

58

3. Получение уравнения Беллмана.

Запишем для малого значения t очевидное равенство:

S ( x , t ) = min[G ( x , u , t ) t + T G ( x , u , t ) dτ] + 0( t) ,

t

где 0( t) – бесконечно малая величина достаточно высокого по-

рядка, минимальное значение правой части рассматривается по ар-гументу u .

За интервал

времени

t система перейдет в

состояние

x′ = x x , где

x = f ( x , u , t )

t . Начиная с состояния

x′будем оп-

тимально управлять системой, тогда будет выполняться соотноше-ние

S ( x , t ) = min[ G ( x , u , t )

′ ′

t) .

t + S ( x , t )] + 0(

Разложим

функцию

′ ′

в

ряд

S ( x , t )

′ ′

t +

S

t и подставим это в послед-

S (x ,t ) S (x , t )+ < grad S , f >

t

нее соотношение. После чего разделим обе части полученного ра-венства на t и перейдем к пределу при t →0 . В итоге получим уравнение Беллмана

  • St = min[G (x , u , t )+< grad S , f >] .

  1. Примеры применения динамического программирования

Пример 6.4.1. Пусть имеется динамическая система первого по-рядка, описываемая дифференциальным уравнением

10 dxdt + x = u , (6.4.1)

и задан критерий оптимальности

J = Tx 2 (t )dt .

(6.4.2)

0

Требуется оптимально перевести систему за время T = 3 с. из начального состояния x0 =1 в конечное состояние xT =10 .

59

Будем решать задачу приближенно с применением дискретного варианта метода динамического программирования. Для этого вве-дем дискретный шаг времени t =1 и запишем разностное уравне-

ние xk +1 = 101 (9xk +uk ) , соответствующее уравнению (6.4.1), а так-

2

же заменим выражение (6.4.2) интегральной суммой Jd = ∑xk2 .

k =0

Решение ведется шагами и начинается с предпоследнего значе-ния x2 переменной x . На первом шаге записываем разностное

уравнение x3 = 101 (9x2 + u2 ) и выражение для значения критерия

оптимальности на первом шаге Jd1 = x22 . Считаем неизвестное зна-чение x2 параметром и для каждого значения x2 находим опти-

мальное u2 из условия xT = 101 (9x2 + u 2 ) =10 . Поскольку последнее

уравнение является линейным, то существует его единственное решение:

u 2 = 10 x3 9 x 2 = Φ2 ( x2 ) .

(6.4.3)

Минимальное значение J M критерия J

d1

равно J M = x 2

= ψ( x ) .

1

1

2

2

После того, как получены функции u

2

= Φ

2

( x )

и J M = ψ

2

( x ) пер-

2

1

2

вый шаг считаем законченным.

На втором шаге задача состоит в том, чтобы получить зависи-

мости J M = ψ ( x )

и u

= Φ

( x )

от переменной состояния

x

. Для

2

1

1

1

1

1

1

этого записываем разностное уравнение

x

=

1

(9x +u )

(6.4.4)

2

10

1

1

и значение критерия Jd2 = x12 + x22 , соответствующее двум послед-ним шагам, и считаем переменную x1 параметром.

Для каждого значения x1 будем искать оптимальное u1 , предпо-лагая, что, начиная со следующего шага, движение является опти-

мальным, т.е. Jd2 = x12 + x22 = x12 + J1M .

Воспользуемся разностным уравнением (6.4.4) и получим

60

J

= x 2

+ [

1

(9 x + u ) 2 ] .

(6.4.5)

d2

1

10

1

1

Минимальное

значение J2M критерия

получается

при

условии

u

= Φ

( x ) = −9x

и равно J M = x 2

= ψ ( x ) . Второй шаг закончен.

1

1

1

1

2

1

1

1

На третьем шаге поиску подлежат зависимости

u 0 = Φ0 ( x0 )

и

J M = ψ

( x ) . Записываем разностное уравнение x =

1

(9x

+u )

и,

0

3

0

1

10

0

0

предполагая оптимальность движения со следующего шага, выра-жение для критерия оптимальности

J

= J

= x 2

+ x 2

+ x 2

= x 2

+ J M = x 2

+ x 2

= x 2

+ [

1

(9x + u )2

] .

d

d3

0

1

2

0

2

0

1

0

10

0

0

После

этого

легко

получаются

выражения

u0 0 ( x0 ) = −9 x0 , J 3M = ψ 0 (x0 ) = x02 .

Вспоминаем, что согласно постановке задачи x0 =1 . Поэтому

u 0 = − 9, x1 = 0, u1 = 0, x 2 = 0, u2 =100 .

Важно отметить следующие особенности дискретного метода динамического программирования:

  • метод применим, если ограничения заданы разностны-ми уравнениями;

  • итоги шагов зависят только от значений переменных со-стояния;

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

к последующим шагам (это важно при малом шаге дис-кретизации, т.е. при большом числе шагов).

Пример 6.4.2. В условиях примера 6.4.1 решить задачу опти-мального управления при ограничениях на управляющее воздейст-

вие u ≤12 .

Разностные уравнения имеют прежний вид, но имеется ограни-чение 10 xk +1 − 9 xk ≤12 . Это накладывает ограничения на возмож-ные значения переменных состояния на каждом из шагов. В данной

61

задаче границы диапазонов значений переменных состояния можно найти на основе соотношений

xmin =

axk +1 c

и

xmax =

axk +1 + c

, если

ax

k +1

bx

k

c .

k

b

k

b

Первый шаг осуществляется так же, как и в предыдущем приме-ре, только теперь 889x21129 .

Второй шаг уже выполняется сложнее. Казалось бы, что на ос-

нове разностного уравнения x2 = 101 (u1 +9x1 ) следовало бы поло-

жить u1 = −12 и получить наименьшее значение величины x2 . Од-

нако

на значение переменной

x1

имеется ограничение

772

x

1228

. Рассмотрим точку

x =

772

и возьмем u

= −12 ,

2

81

1

81

2

81

тогда оказывается, что x2 = 66490 и это значение выходит за пределы

допустимого интервала. Будем искать управляющее воздействие из условия x2 = 889 . Это приводит к зависимости u1 = 8809 −9x1 . Но не

всегда это правило может быть использовано. Например, если x2 = 122881 , то u2 = −39 . Поэтому после проведения несложных рас-

суждений получим, что

880

− 9 x1

,( x1

xg ),

u1

9

=

12,( xxg ),

где

xg

=

988

,

81

x 2

+ (

88

)2

, (xx

),

g

M

1

9

1

J1

=

1

x2

+ [

(−12 + 9 x )2 ], (xx

g

).

1

10

1

62

Третий шаг следует проводить на основе тех же рассуждений, которые были использованы на втором шаге.

Контрольные вопросы

  1. С какой целью используется принцип максимума?

  1. С какой целью используется метод динамического про-граммирования?

  2. Как формулируется принцип оптимальности?

  3. Как применяется дискретный вариант динамического про-граммирования?

  4. Каковы трудности применения дискретного варианта мето-да динамического программирования для систем высокого порядка?

  1. Используется ли равенство нулю вариации функционала при применении принципа максимума?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]