Смекни!
smekni.com

Оптимальное управление линейными динамическими объектами (стр. 28 из 49)

L T0 ( ) ={l0 ( )T S(0,1) F l( 0 ( )T ,T)= l Smax∈ (0,1) F l T( , )}, T t0 ,

где

T T

F l T( , ) =
X T t[ , 0 ]x0, l
+ ∫minu P
X T[ ,τ]B( )τ u l d, τ+ ∫
X t[ ,τ τ τ]C( ), l d .

t0 t0

По лемме 2.1 функция ε является непрерывной. Условие ε[T] > 0 будет необходимым и достаточным для того, чтобы 0∉G t x T( 0, 0, ). Отсюда следует, что оптимальное время перехода T 0 совпадает с наименьшим из корней уравнения ε[T] = 0 , лежащим правее начального момента времени t0 .

Теорема 2 (необходимые условия оптимальности). Пусть T 0 - оптимальное время перехода и U 0 ( )⋅ - программное управление, решающее задачу линейного быстродействия. Тогда

B( )t U 0 ( )t , XТр T 0,t l0
= minu P
B t u X( ) , Тр T 0,t l0
, (2)

для всех l0 L0 (T 0 ) и при почти всех t t T0, 0 .

Доказательство. Допустим, что условие (2) нарушается. Тогда существует вектор l0 L T0 ( ) и множество T ∈⎡t T0, 0 ненулевой меры, на котором выполняется неравенство

B(t U) 0 ( )t , XТр[T t l, ] 0
> min
B t u( ) , XТр[T t l, ] 0
, tT .

u P

Следовательно,

T0 T0

B( )τ U 0 ( )τ , XТр T 0,τ τ⎤l0 d > ∫ minu P
B( )τ u, XТр T 0,τ τ⎤l0 d . (3)

t0 t0

Из равенства x0 (T 0 ) = 0 и условия (3) выводим

0 =
x0 (T 0 ),l0

T0T0

X T0,t0 x0, l0
X T0B( )τ τU 0 ( ), l dτ+ ∫
X T0,τ τ⎤C( ), l0
dτ=

0 t0

T0 T0

=X T0,t0 x0, l0B( )τ U 0 ( )τ , XТр T 0,τ τ⎤l0d + ∫X T0,τ τC( ), ldτ>

t

T0

> X T0,t0 x0, l0 minu P

B( )τ u, XТр T 0,τ τ⎤l0 d + ∫ X T0,τ τ⎤C( ), l0 dτ>=

0 t0

=ε(T 0 ) = 0.

Получили противоречие, которое и доказывает справедливость теоремы.

Заметим, что условие (2) доказанной теоремы должно выполняться обязательно для всех векторов l0 L0 (T 0 ). Покажем это на примере.

Пример 1. Рассмотрим следующую задачу линейного быстродействия:

u1 ⎞ ⎧⎪⎛u1 2⎫⎪

x1 = u1, x2 = u2, u = ⎜ ⎟∈P = ⎨⎜ ⎟∈R≤1⎬,

u2 ⎠ ⎪⎩⎝u2 ⎠⎭⎪

x10 ⎞ ⎛ ⎞1

⎜ ⎟ = ⎜ ⎟, t0 = 0, .

x20 ⎠ ⎝ ⎠1

Очевидно, что здесь оптимальное время перехода T 0 =1, а оптимальное программное управление (см. рис. 1) имеет вид

0 ⎛−1⎞

U ( )t = ⎜ , t ∈[0,1].

⎝−1⎠

Проверим выполнение условий теоремы 2. Имеем

T

ε[ ]T = maxl =1 ⎢l1 +l2 + ∫ u1min≤1,u2 ≤1(u l1 1 +u l d2 2 ) τ⎥ =

⎣ 0⎦

= maxl=1 ⎡l1 +l2 −( l + l T.

Наименьшим корнем уравнения ε[T] = 0 является момент времени T 0 =1. При этом

L0 (T 0 ) = ⎪⎨⎧l = ⎛⎜l1 ⎞⎟ l =1, l1 ≥ 0,l2 ≥ 0 ⎫⎪⎬.

⎩⎪ ⎝l2 ⎠⎭⎪

Условие (2) здесь принимает вид

l U10 10 ( )t +l U20 20 (t) = u1min≤1,u2 ≤1(l u10 1 +l u20 2 ), t∈[0,1 ,] . (4)

Очевидно, что оптимальное управление U 0 удовлетворяет соотношению (4),

l0 0 ⎛ ⎞1 0 0 при всех векторах ⎜ ⎟ . Однако, для одного вектора l = ⎜ ⎟L (T )

l2 ⎠ ⎝ ⎠0

⎛−1⎞ этому условию удовлетворяет, например, управление U ( )t = ⎜ , t∈[0,1], кото⎝+1⎠

рое заведомо не является оптимальным.

Приведем последовательность действий по решению задачи управления динамической системой на основе теоремы 2. По формуле (1) находим выражение для функции ε. Решаем уравнение ε[T] = 0 . Наименьший корень T 0 > t0 , если таковой найдется, будет оптимальным временем перехода. Далее определяется множество L0 (T 0 ), которое является не пустым в силу непрерывности функции F и компактности множества S(0,1). Для каждого вектора l0 L0 (T 0 ) по формуле (2) строится программное управление. По теореме 2 среди построенных управлений обязательно содержится управление U 0 ( )⋅ , для которого выполняется равенство x t( 0,x U0, 0 (⋅),T 0 ) = 0. Управление U 0 (⋅) и будет оптимальным. Приведенный алгоритм будет эффективным, если множество L0 (T 0 ) содержит ровно один элемент l0 , а условие (2) определяет управление U 0 однозначно по существу.

Пример 2*. Рассмотрим следующую задачу линейного быстродействия

x1 = x2 +u1,

x2 = −x1 +u2,

⎧⎪⎛u1 ⎞22 2 ⎫⎪

uP = ⎨⎜ ⎟∈R u1 +u2 ≤1⎬,