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

Власов_Методы оптимизации и оптимального управления_2013

.pdf
Скачиваний:
127
Добавлен:
27.03.2016
Размер:
710.95 Кб
Скачать

 

 

 

 

 

J

 

= x2

+[

1

(9x +u )2 ] .

 

 

 

 

(6.4.5)

 

 

 

 

 

d2

 

 

 

 

 

 

 

 

 

 

 

1

10

 

1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Минимальное

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

получается

 

при

 

условии

u

= Φ

(x ) = −9x

и равно J M = x2

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

 

1

1

 

1

1

 

 

 

2

 

1

1

1

 

 

 

 

 

 

 

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

 

u0 = Φ0 (x0 )

и

J M = ψ

 

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

 

1

(9x

+u )

и,

0

 

 

3

 

 

0

 

 

 

 

 

 

 

1

10

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

J

 

= J

 

= x2

+ x2

+ x2

= x2

+ J M = x2

+ x2

= x2

+[

1

(9x +u )2

] .

d

d3

 

 

 

0

1

2

0

2

0

1

0

10

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После

 

 

этого

легко

 

получаются

 

выражения

u0 0 (x0 ) = −9x0 , J3M = ψ0 (x0 ) = x02 .

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

u0 = −9, x1 = 0,u1 = 0, x2 = 0,u2 =100 .

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

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

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

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

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

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

вие u 12 .

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

61

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

xmin =

axk +1 c

и

xmax =

axk +1 +c

, если

 

ax

k +1

bx

k

 

c .

 

 

 

 

 

k

b

 

k

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

нове разностного уравнения 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

9x1

,(x1

xg ),

u1

 

 

9

=

 

 

 

 

 

 

 

 

 

 

12,(x xg ),

 

где

xg

=

988

,

 

 

 

 

 

 

 

 

 

 

 

 

81

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

+(

88

)2

, (x x

 

),

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

M

 

1

9

 

 

1

 

 

 

 

 

 

 

J1

=

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

x2

+[

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

g

).

 

 

 

 

 

 

 

 

 

 

 

 

1

10

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

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

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

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

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

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

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

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

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

ГЛАВА 7. АНАЛИТИЧЕСКОЕ КОНСТРУИРОВАНИЕ РЕГУЛЯТОРОВ (АКОР)

7.1. Постановка задачи

Описание ОУ: x = A(t)x(t) + B(t)u(t) . Управлению подлежит z(t) = D(t)x(t) . Требуется «прижать» сигнал z(t) к желаемому сигналу r(t) = 0 на интервале времени [t0 ,t1 ] . Имеются начальные условия x(t0 ) = x0 . Далее для простоты рассматривается случай, когда z(t) = x(t).

Критерий качества управления имеет вид

J = t1[xT (t)R1 (t) +uT (t)R2 (t)u(t)]dt + xT (t1 )P1x(t1 ) ,

t 0

где матрицы R1 (t), R2 (t), P1 обладают свойством положительной оп-

ределенности.

Движение описывается выражением

x(t) = Ф(t,t0 )x(t0 ) + t Ф(t,τ)B(τ)u(τ)dτ ,

t 0

63

где Ф(t,τ) – матрица Коши, имеющая свойства:

x(t) = Ф(t,t0 )x(t0 ) , если отсутствует управляющее воздействие (происходит свободное движение при u(t) = 0 );

dtd Ф(t,t0 ) = A(t)Ф(t,t0 ) ;

Ф(t0 ,t0 ) = E (единичная матрица);

Ф(t2 ,t0 ) = Ф(t2 ,t1 )Ф(t1 ,t0 ) ;

Ф1 (t,t0 ) =Ф(t0 ,t) ;

dtd ФT (t0 ,t) =−AT (tT (t0 ,t) .

7.2. Решение задачи АКОР

Пусть u0 (t) – оптимальное управляющее воздействие и x0 (t) – оптимальное движение. Введем вариацию u(t) управляющего воз-

действия и вычислим вариацию функционала (критерия J ), учитывая линейность объекта управления.

Поскольку новое (возмущенное) движение x(t) = x0 (t) +δ(t) при новом управляющем воздействии uн(t) =u0 + λu(t) находится из уравнения x0 (t) +δ(t) = A(t)x0 (t) + A(t)δ(t) + B(t)u0 (t) + B(tu(t) и x0 (t) = A(t)x0 (t) + B(t)u0 (t) , то δ(t) = A(t)δ(t) + λB(t)u(t) , где

δ(t0 ) =0 , Кроме того, возмущению u(t) управляющего воздействия соответствует возмущение x(t) движения, удовлетворяющее условию δ(t) = λx(t) , причем

x(t) = t Ф(t,τ)B(τ)u(τ)dτ . (7.2.1)

t0

Новое значение Jн функционала можно записать в виде

64

t1

Jн = [xT (t)R1 (t)x(t) +uнT (t)R2 (t)uн (t)]dt + xT (t1 )P1x(t1 ) =

t0

= t1[x0T (t)R1 (t)x0 (t) +u0 (t)R2 (t)u0 (t)]dt + x0T (t1 )P1 x0 (t1 ) +

t0

t1

+2λ{[xT (t)R1 (t)x0 (t) +uT (t)R2 (t)u0 (t)]dt + xT (t1 )P1 x0 (t1 )} +

t0

t1

+λ2{[xT (t)R1 (t)x(t) +uT (t)R2 (t)u(t)]dt + xT (t1 )P1 x(t1 )}.

t0

Вычисление вариации δJ функционала по формуле λ Jн при

λ =0 и приравнивание ее нулю приводит к условию экстремума

δJ = t1[xT (t)R1 (t)x0 (t) +uT (t)R2 (t)u0 (t)]dt + xT (t1 )P1 x0 (t1 ) = 0 . (7.2.2)

t 0

Исключим из выражения (7.2.2) с помощью соотношения (7.2.1) функцию x(t) , получим

t1

t

 

 

[{Ф(t,τ)B(τ)u(τ)dτ}T R1 (t)x0 (t)} +uT (t)R2 (t)u0 (t)]dt +

t0

t0

 

 

+xT (t )P x0

(t ) = 0.

 

1

1

1

Теперь в условии экстремума осталась вариация только одного аргумента. Далее следует преобразовать условие экстремума к такому виду, чтобы можно было воспользоваться основной леммой вариационного исчисления.

Последнюю запись можно представить в виде

t1 [{t

uT (τ)BT (τT (t,τ)dτ}R1 (t)x0 (t) +uT (t)R2

(t)u0 (t)]dt +

(7.2.3)

t 0 t 0

 

 

+xT (t1 )P1 x0 (t1 ) = 0.

Отметим одно свойство двойного интеграла, связанного с заменой порядка интегрирования функции двух аргументов

65

t1

t

t1

t1

[ψ(t,τ)dτ]dt = [ψ(t,τ)dt]dτ .

t0

t0

t0

τ

Введем обозначение ψ(t,τ) =uT (τ)BT (τT (t,τ)R1 (t)x0 (t) в выражении (7.2.3), поменяем порядок интегрирования для первого слагаемого

 

t1

t

 

S = [uT (τ)BT (τT (t,τ)R1 (t)x0 (t)dτ]dt =

 

 

t0

t0

(7.2.4)

t1

t1

 

 

 

= [uT (τ)BT (τ)ФT (t,τ)R1 (t)x0 (t)dt]dτ.

 

t0

t

 

 

Учитывая, что результат интегрирования не зависит от обозначения переменных, используем в выражении (7.2.4) замену: вместо буквы τ применим символ t , а вместо буквы t – символ τ . Тогда получим, что первое слагаемое в соотношении (7.2.3) можно записать в измененной форме

 

t1 t1

 

S = [uT (t)BT (tT (τ,t)R1 (τ)x0 (τ)dt]dτ .

 

t0 t

 

Теперь условие (7.2.3) принимает вид

t1

t1

uT (t){BT (t)ФT (τ,t)R1 (τ)x0 (τ)dτ + R2 (t)u0 (t)}dt + xT (t1 )P1 x0 (t1 ) = 0 .

t0

t

 

t1

 

Учитывая, что xT (t1 ) = uT (t)BT (tT (t1 ,t)dt , получим оконча-

 

t0

тельно условие экстремума, когда можно воспользоваться основной леммой вариационного исчисления

t1

t1

 

 

 

uT (t){BT (t)ФT (τ,t)R1 (τ)x0 (τ)dτ +

(7.2.5)

t0

t

 

 

+R (t)u0

(t) +ФT (t ,t)P x0

(t )}dt = 0.

 

2

1

1

1

 

Введем обозначение

 

 

 

 

t1

 

 

 

 

p(t) = ФT (τ,t)R1 (τ)x0 (τ)dτ + ФT (t1 ,t)P1 x0 (t1 )

(7.2.6)

t

66

и запишем более компактно условие (7.2.5):

t1 uT (t)[BT (t) p(t) + R2 (t)u0 (t)]dt .

t0

После чего, опираясь на основную лемму вариационного исчис-

ления, получим BT (t) p(t) + R2 (t)u0 (t) =0 или

u0 (t) = −R1

(t)BT (t) p(t) ,

(7.2.7)

2

 

 

где p(t) – вспомогательный вектор, подлежащий поиску.

Вектор p(t) удовлетворяет дифференциальному уравнению, ко-

торое можно найти, вычислив производную от выражения (7.2.6). Действительно,

t1

p(t) = [AT (tT (τ,t)R1 (τ)x0 (τ)dτ

t

AT (tT (t1,t)P1x0 (t1 ) ФT (t,t)R1 (t)x0 (t).

Первое слагаемое – результат дифференцирования под знаком интеграла, второе – результат дифференцирования второго слагаемого выражения (7.2.6), третье слагаемое – результат дифференцирования по нижнему пределу интеграла.

Учитывая свойство матрицы Коши ФT (t,t) = E , получим

 

 

t1

 

 

p(t) = −AT (t)[ФT (τ,t)R1 (τ)x0 (τ)dτ +ФT (t1,t)P1x0 (t1 )] R1 (t)x0 (t) ,

или:

 

t

 

 

 

p(t) = −AT (t) p(t) R (t)x0 (t) .

 

 

 

(7.2.8)

 

 

 

1

 

Для

вектора

p(t) можно получить граничное

условие

p(t ) = P x0

(t ) , полагая t = t в выражении (7.2.6).

 

1

1

1

1

 

Полученные результаты объединяются в систему дифференциальных уравнений с помощью подстановки соотношения (7.2.7) в исходное уравнение движения

x0 (t) = A(t)x0 (t) B(t)R2 (t)BT (t) p(t), p(t) = −AT (t) p(t) R1 (t)x0 (t).

67

x0 (t)

Последняя система записывается в виде

p(t)

где

 

 

A(t); B(t)R21

(t)BT (t)

A =

R

(t);AT (t)

.

 

 

 

 

 

1

 

 

= A(t)

x0 (t) ,p(t)

(7.2.9)

Система (7.2.9) имеет порядок 2n и может быть решена с использованием начальных и граничных условий: x0 (t0 ) = x0 , p(t1) = P1x0 (tt ) .

7.3. Уравнение Риккати

Имеется неудобство решения уравнения системы (7.2.9), поскольку приходится использовать краевые условия наряду с начальными условиями. Поэтому существует способ поиска решения оптимальной задачи с применением уравнения Риккати.

В теории обыкновенных дифференциальных уравнений уравнением Риккати называют нелинейное уравнение вида:

dydx = a(x) y2 (x) +b(x) y(x) +c(x) .

Оказывается, что с помощью математических преобразований можно заменить решение системы (7.2.9) решением матричного дифференциального уравнения, которое внешне похоже на уравнение Риккати. Для получения матричного уравнения Риккати рассмотрим матрицу Коши, соответствующую системе (7.2.9) и запи-

 

θ (t,t );θ (t,t )

, так что имеет

шем ее в блочном виде θ(t,t1 ) =

11 1 12 1

 

θ21 (t,t1 );θ22 (t,t1 )

 

место соотношение

x(t)

x(t )

. Поэтому имеют место

 

 

= θ(t,t1 )

1

 

p(t)

p(t1 )

 

равенства:

x(t) = θ11 (t,t1 )x(t1 ) +θ12 (t,t1 ) p(t1 ), p(t) =θ21 (t,t1 )x(t1 ) +θ22 (t,t1 ) p(t1 ).

Учитывая, что p(t1 ) = P1 x(t1 ) , получим

68

x(t) =11 (t,t1 ) +θ12 (t,t1 )P1 ]x(t1 ), p(t) =21 (t,t1 ) +θ22 (t,t1 )P1 ]x(t1 ).

На основе последних соотношений (выразим из первого соотношения x(t1 ) и подставим его во второе уравнение) получим связь

между векторами p(t) и x(t) :

p(t) =21(t,t1) +θ22 (t,t1 )P1 ][θ11 (t,t1 ) +θ12 (t,t1 )P1 ]1 x(t) .

Введем матрицу Риккати Pр (t) :

P (t) =

21

(t,t ) +θ

22

(t,t )P ][θ (t,t ) +θ

(t,t )P ]1

,

(7.3.1)

р

 

1

1

1

11

1

12

1

1

 

 

так что

p(t) = Pр (t)x(t) ,

тогда

с

учетом

(5.7)

получим

u(t) = −F(t)x(t) , где F(t) = R1 (t)BT (t)P (t) .

 

 

 

 

 

 

 

 

 

 

2

 

р

 

 

 

 

 

Таким образом, если известна матрица Риккати, то оптимальное управление можно осуществить с помощью обратной связи.

Оказывается, что для поиска матрицы Риккати следует решить матричное дифференциальное уравнение первого порядка. Это уравнение получается путем дифференцирования выражения для матрицы Pр (t) .

Поскольку при дифференцировании выражения (7.3.1) придется дифференцировать обратную матрицу, то сначала следует установить правило дифференцирования обратной матрицы. Для этого продифференцируем обе части очевидного матричного равенства M (t)M 1 (t) = E , получим

 

dM (t)

M 1 (t) + M (t)

dM 1 (t)

= 0 .

 

 

 

dt

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

Откуда следует

 

 

 

 

 

 

 

 

 

 

 

 

dM 1 (t)

= −M

1

(t)

dM (t)

M

1

(t) .

(7.3.2)

 

 

dt

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

 

Согласно выражению (7.3.2) производная от обратной матрицы может быть выражена через блоки матрицы M (t) и производные

от этих блоков.

Получим более сильное утверждение, пользуясь свойствами матрицы Коши. Поскольку имеет место матричное дифференциальное уравнение

69

 

 

 

 

 

 

A(t);B(t)R

1

(t)B

T

(t)

 

θ (t);θ (t)

 

 

θ (t);θ (t)

 

=

 

 

 

,

 

11

12

 

 

2

 

 

 

 

11

12

 

θ

(t);θ

(t)

R (t);AT (t)

 

 

 

 

θ21 (t);θ22 (t)

 

 

21

22

 

 

 

1

 

 

 

 

 

 

 

 

 

то производные от блоков матрицы могут быть выражены через сами блоки, например, θ11 (t) = A(t11 (t) B(t)R21 (t)BT (t21 (t) .

Подстановка выражений производных от блоков, зависящих от самих блоков, в выражение для производной от Pр (t), полученной

с помощью формулы (7.3.1), и использование при преобразованиях обычных алгебраических матричных операций приводит к следующему уравнению [8]:

 

1

(t)B

T

(t)Pр (t) +

Pр(t) = R1

(t) Pр (t)B(t)R2

 

+P (t)A(t) + AT (t)P (t).

 

 

(7.3.3)

 

 

 

р

р

 

 

 

Уравнение (7.3.3) называется уравнением Риккати.

Для матрицы

Pр (t) можно

получить начальное условие:

Pр (t1 ) = P1 , подставляя t = t1 в выражение (7.3.1), где P1 – матрица, входящая в постановку задачи АКОР.

7.4. Общие свойства решения уравнения Риккати

Сначала сформулируем [8] некоторые общие асимптотические свойства уравнения Риккати при t1 → ∞.

1.P(t) Py (t) , причем Py (t) не зависит от P1 .

2.Если все матрицы, входящие в постановку задачи, постоянны, то Py (t) также является постоянной и удовлетворяет уравнению

R1 Py BR21BT Py + AT Py + Py A = 0 .

3. Если все матрицы, входящие в постановку задачи, постоянны, но t1 – конечная величина, то матрица Риккати зависит от времени,

т.е. при управлении с помощью обратной связи последняя зависит от времени и задача управления является нестационарной.

4. Минимальное значение критерия оптимальности равно

JM = xT (t0 )Py (t0 )x(t0 ) .

70