
Власов_Методы оптимизации и оптимального управления_2013
.pdf
|
|
|
|
|
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 = t∫1[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 (t)ФT (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(t)λu(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
= t∫1[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 = t∫1[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 |
Теперь в условии экстремума осталась вариация только одного аргумента. Далее следует преобразовать условие экстремума к такому виду, чтобы можно было воспользоваться основной леммой вариационного исчисления.
Последнюю запись можно представить в виде
t∫1 [{∫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 (t)ФT (τ,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 (t)ФT (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) = −R−1 |
(t)BT (t) p(t) , |
(7.2.7) |
2 |
|
|
где p(t) – вспомогательный вектор, подлежащий поиску.
Вектор p(t) удовлетворяет дифференциальному уравнению, ко-
торое можно найти, вычислив производную от выражения (7.2.6). Действительно,
t1
p(t) = ∫[−AT (t)ФT (τ,t)R1 (τ)x0 (τ)dτ −
t
−AT (t)ФT (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)R2−1 |
(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) = R−1 (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(t)θ11 (t) − B(t)R2−1 (t)BT (t)θ21 (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 BR2−1BT Py + AT Py + Py A = 0 .
3. Если все матрицы, входящие в постановку задачи, постоянны, но t1 – конечная величина, то матрица Риккати зависит от времени,
т.е. при управлении с помощью обратной связи последняя зависит от времени и задача управления является нестационарной.
4. Минимальное значение критерия оптимальности равно
JM = xT (t0 )Py (t0 )x(t0 ) .
70