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 l⎤⎦ 0 = minu P∈ B t u X( ) , Тр ⎡⎣T 0,t l⎦⎤ 0 , (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 , t∈T .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 ),l0T0T0
X T⎡⎣ 0,t0 ⎤⎦ x0, l0 X T⎡⎣ 0,τ⎦⎤ B( )τ τU 0 ( ), l dτ+ ∫ X T⎣⎡ 0,τ τ⎤⎦C( ), l0 dτ=
0 t0
T0 T0
=X T⎡⎣ 0,t0 ⎤⎦ x0, l0B( )τ U 0 ( )τ , XТр ⎡⎣T 0,τ τ⎤⎦l0d + ∫X T⎡⎣ 0,τ τ⎦⎤C( ), ldτ>t
T0
> X T⎡⎣ 0,t0 ⎤⎦ x0, l0 minu P∈
B( )τ u, XТр ⎣⎡T 0,τ τ⎤⎦l0 d + ∫ X T⎡⎣ 0,τ τ⎤⎦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 ⎫⎪u∈P = ⎨⎜ ⎟∈R u1 +u2 ≤1⎬,