Sterowanie optymalne dla układów nieliniowych. Zasada maksimum

Transkrypt

Sterowanie optymalne dla układów nieliniowych. Zasada maksimum
Sterowanie optymalne dla ukladów nieliniowych.
Zasada maksimum Pontriagina.
Podstawowy problem sterowania optymalnego dla ukladów nieliniowych
W podstawowym problemie sterowania optymalnego minimalizacji podlega
calkowy wskaźnik jakości
Z t1
.
g(x(t), u(t), t)dt
G(x, u) =
t0
z uwzglȩdnieniem ograniczeń w postaci równania stanu procesu
ẋ(t) = f (x(t), u(t), t), t ∈ [t0 , t1 ]
z zadanym warunkiem pocza̧tkowym
x(t0 ) = x0
oraz ograniczeń w postaci dopuszczalnego chwilowego zakresu wartości sterowania
u(t) ∈ U, t ∈ [t0 , t1 ],
gdzie funkcje
g : Rn × Rm × R → R, f : Rn × Rm × R → Rn
sa̧, ogólnie biora̧c, nieliniowe.
Przyjmujemy nastȩpuja̧ce zalożenia:
1. Funkcje g i f sa̧ różniczkowalne w sposób cia̧gly wzglȩdem stanu x i cia̧gle
wzglȩdem sterowania u i czasu t,
2. Sterowania dopuszczalne sa̧ funkcjami przedzialami cia̧glymi o skończonej
liczbie niecia̧glości pierwszego rodzaju, tj. u ∈ P C([t0 , t1 ], Rm ).
Dla pochodnych funkcji g i f wzglȩdem stanu stosujemy oznaczenia
gx (x, u, t), fx (x, u, t).
1
Definiujemy funkcjȩ Hamiltona (hamiltonian) w postaci
H(λ(t), x(t), u(t), t) = −g(x(t), u(t), t) + λT (t)f (x(t), u(t), t).
Oznaczaja̧c iloczyn skalarny wektorów xT y jako x, y możemy zapisać hamiltonian w postaci równoważnej
H(λ(t), x(t), u(t), t) = −g(x(t), u(t), t) + λ(t), f (x(t), u(t), t) .
Zasada maksimum Pontriagina
jako warunek konieczny optymalności procesu sterowania
Twierdzenie: Jeśli (xo , uo ) jest optymalnym procesem sterowania dla
problemu podstawowego, to istnieje zmienna kostanu (zmienna sprzȩżona) λo
spelniaja̧ca równanie kostanu (równanie sprzȩżone)
λ̇o (t) = −fxT (xo (t), uo (t), t)λo (t) + gxT (xo (t), uo (t), t), t ∈ [t0 , t1 ]
z warunkiem końcowym
λo (t1 ) = 0
i taka, że sterowanie optymalne uo maksymalizuje na zbiorze U (w sensie globalnym) hamiltonian problemu dla prawie wszystkich t ∈ [t0 , t1 ] tj.
H(λo (t), xo (t), uo (t), t) = max H(λo (t), xo (t), u(t), t)
u(t)∈U
czyli
uo (t) = arg max H(λo (t), xo (t), u(t), t).
u(t)∈U
Warunek maksymalizacji hamiltonianu można też zapisać w postaci
H(λo (t), xo (t), uo (t), t) ≥ H(λo (t), xo (t), u(t), t) ∀u ∈ U.
Dowód: W dowodzie korzystamy z nastȩpuja̧cych faktów z teorii równań
różniczkowych i z analizy matematycznej
1. Jeśli funkcja ϕ(x(t), t) jest różniczkowalna w sposób cia̧gly wzglȩdem x
i cia̧gla wzglȩdem t w otoczeniu punktu (x̄, t̄), to równanie różniczkowe
ẋ(t) = ϕ(x(t), t) posiada jednoznacznie określone rozwia̧zanie w otoczeniu punktu t,
2
2. Jeśli równanie różniczkowe ẋ(t) = ϕ(x(t), t) z funkcja̧ ϕ różniczkowalna̧
w sposób cia̧gly wzglȩdem x i przedzialami cia̧gla̧ wzglȩdem t posiada
rozwia̧zanie w przedziale [t̄, t̄¯] przy warunku pocza̧tkowym x(t̄), to posiada ono również rozwia̧zanie w tym przedziale przy malym zaburzeniu
warunku pocza̧tkowego x(t̄) + δx(t̄),
3. Niech x(t, θ) bȩdzie funkcja̧ cia̧gla̧ wzglȩdem t i różniczkowalna̧ w sposób
cia̧gly wzglȩdem θ i niech funkcja ϕ(x(t, θ), t) bȩdzie funkcja̧ różniczkowalna̧ w sposób cia̧gly wzglȩdem x i ograniczona̧ wzglȩdem t, to uzasadnione jest przejście z różniczkowaniem pod znak calki
Z τ
Z τ
Z τ
d
d
d
ϕ(x(t, θ), t)dt =
ϕ(x(t, θ), t)dt =
ϕx (x(t, θ), t) x(t, θ),
dθ t0
dθ
t0 dθ
t0
4. granica wartości średnich funkcji cia̧glej w punkcie τ jest zbieżna do jej
wartości w tym punkcie,
Z
1 τ
lim
ϕ(t)dt = ϕ(τ ).
θ→0 θ τ −θ
Zalóżmy, że punkt τ ∈ [t0 , t1 ] jest punktem cia̧glości sterowania optymalnego uo (t). Niech v ∈ U . Zdefiniujemy tzw. wariacjȩ iglowa̧ sterowania
optymalnego uo (t):
(
uo (t) gdy t 6= [τ − θ, τ ),
uθ (t) =
v
gdy t ∈ [τ − θ, τ ),
przy czym v jest dowolnym elementem zbioru U . Niech xθ (t) bȩdzie rozwia̧zaniem
równania stanu z warunkiem pocza̧tkowym x0 i ze sterowaniem uθ (t). Tak wiȩc
xθ (t) = xo (t) dla t ∈ [t0 , τ − θ]. Równanie różniczkowe
ẋ(t) = f (x(t), v, t), t ∈ [τ − θ, τ ], x(τ − θ) = xo (τ − θ)
jest jednoznacznie rozwia̧zywalne w malym otoczeniu punktu τ − θ, a wiȩc dla
dostatecznie malego θ rozwia̧zanie xθ (t) istnieje w calym przedziale [τ − θ, τ ].
Stany xθ (τ ) i xo (τ ) dowolnie malo różnia̧ siȩ od siebie, gdyż sterowania
uθ (t) i uo (t) dowolnie malo różnia̧ siȩ od siebie w przedziale [t0 , τ ]. Oznacza
to, że rozwia̧zanie równania stanu xθ (t) istnieje w przedziale [τ, t1 ] jako male
zaburzenie rozwia̧zania xo (t) w tym przedziale.
Ponieważ punkt τ jest punktem cia̧glości sterowania optymalnego uo (t),
wiȩc uo (t) jest funkcja̧ cia̧gla̧ w pewnym otoczeniu punktu τ . Dlatego funkcja
3
d o
x (t)
dt
jest również cia̧gla w tym otoczeniu i obowia̧zuje rozklad w szereg
Taylora
d o
x (τ − θ) + o(θ)
dt
= xo (τ − θ) + θf (xo (τ − θ), uo (τ − θ), τ − θ) + o(θ),
xo (τ ) = xo (τ − θ) + θ
przy czym
lim o(θ)/θ = 0.
θ→0
Podobnie dtd xθ (t) jest funkcja̧ cia̧gla̧ w przedziale [τ − θ, τ ], gdyż sterowanie
jest w tym przedziale stale. Oznacza to, że dla funkcji xθ (t) również obowia̧zuje
rozklad w szereg Taylora
xθ (τ ) = xo (τ − θ) + θf (xo (τ − θ), v, τ − θ) + o(θ).
Istnieje wiȩc granica
xθ (τ ) − xo (τ )
= f (xo (τ ), v, τ ) − f (xo (τ ), uτ , τ ).
θ→0
θ
y(τ ) = lim
Ponieważ wielkości xθ (τ ) i xo (τ ) dowolnie malo różnia̧ siȩ od siebie, to
rozwia̧zanie xθ (t) istnieje w przedziale [τ, t1 ] jako male zaburzenie rozwia̧zania
xo (t) wzglȩdem warunku pocza̧tkowego zbieżne do rozwia̧zania xo (t) przy θ ↓ 0.
Na podstawie cia̧glości i różniczkowalności rozwia̧zania równania różniczkowego
wzglȩdem warunku pocza̧tkowego w przedziale [τ, t1 ] istnieje wyrażenie
xθ (t) − xo (t)
y(t) = lim
.
θ→0
θ
Dla t ∈ [τ, t1 ] możemy zapisać calkowe wersje równań stanu
Z t
θ
θ
f (xθ (s), uo (s), s)ds,
x (t) = x (τ ) +
τ
xo (t) = xτ +
Z
t
f (xo (s), uo (s), s)ds.
τ
Wynika sta̧d, że
xθ (t) − xo (t)
xθ (τ ) − xo (τ )
=
+
θ
θ
Z
τ
t
f (xθ (s), uo (s), s) − f (xo (s), uo (s), s)
ds.
θ
Przechodza̧c do granicy z θ ↓ 0 uzyskujemy
Z t
f (xθ (s), uo (s), s) − f (xo (s), uo (s), s)
y(t) = y(τ ) + lim
ds
θ→0 τ
θ
4
Z t
d
= y(τ ) +
f (xθ (s), uo (s), s)ds|θ=0
dθ τ
Z t
d
y(τ ) +
f (xθ (s), uo (s), s)|θ=0 ds
dθ
τ
Z t
d
y(τ ) +
fx (xo (s), uo (s), s) xθ (s)|θ=0 ds
dθ
τ
Z t
y(τ ) +
fx (xo (s), uo (s), s)y(s)ds.
τ
Tak wiȩc funkcja y(t) spelnia w przedziale [τ, t1 ] równanie różniczkowe
ẏ(t) = fx (xo (t), uo (t), t)y(t)
z warunkiem pocza̧tkowym
y(τ ) = f (xo (τ ), v, τ ) − f (xo (τ ), uo (τ ), τ ).
W przedziale [τ, t1 ] sa̧ spelnione nastȩpuja̧ce zależności wynikaja̧ce z równania
sprzȩżonego
d o
d
o
d
λ (t), y(t) =
λ (t), y(t) + λo (t), y(t)
dt
dt
dt
= − fxT (xo (t), uo (t), t)λo (t), y(t) + gxT (xo (t), uo (t), t), y(t)
+ λo (t), fx (xo (t), uo (t), t)y(t) = gxT (xo (t), uo (t), t), y(t) .
Tak wiȩc
Z
t
t1
d
o
λ (s), y(s) ds =
ds
Z
t1
T o
gx (x (s), uo (s), s), y(s) ds,
t
ska̧d
o
λ (t1 ), y(t1 ) − λo (t), y(t) =
Z
t1
T o
gx (x (s), uo (s), s), y(s) ds
t
czyli
o
λ (t), y(t) = −
Z
t1
T o
gx (x (s), uo (s), s), y(s) ds.
t
5
W szczególności dla t = τ uzyskujemy
o
λ (τ ), y(τ ) = λo (τ ), f (xo (τ ), v, τ ) − f (xo (τ ), uo (τ ), τ )
t1
Z
T o
gx (x (s), uo (s), s), y(s) ds.
=−
τ
o
o
Ponieważ (x , u ) jest z zalożenia optymalnym procesem sterowania, wiȩc
zachodzi nierówność
G(xθ , uθ ) − G(xo , uo )
lim
≥ 0.
θ↓0
θ
Granica ta przyjmuje postać
1
lim
θ↓0 θ
Z
1
+ lim
θ↓0 θ
Z
τ
(g(xθ (t), v, t) − g(xo (t), uo , t))
τ −θ
t1
(g(xθ (t), uo (t), t) − g(xo (t), uo , t))
τ
d
= g(x (τ ), v, τ ) − g(x (τ ), u (τ ), τ ) +
dθ
o
o
o
o
o
Z
o
Z
t1
g(xθ (t), uo (t), t)dt|θ=0
τ
t1
= g(x (τ ), v, τ ) − g(x (τ ), u (τ ), τ ) +
gxT (xo (t), uo (t), t), y(t) dt ≥ 0.
τ
Uzyskujemy sta̧d
o
o
Z
o
g(x (τ ), v, τ ) − g(x (τ ), u (τ ), τ ) ≥ −
t1
T o
gx (x (t), uo (t), t), y(t) dt
τ
czyli
g(xo (τ ), v, τ ) − g(xo (τ ), uo (τ ), τ ) ≥ λo (τ ), f (xo (τ ), v, τ ) − f (xo (τ ), uo (τ ), τ ) ,
a wiȩc
−g(xo (τ ), uo (τ ), τ ) + λo (τ ), f (xo (τ ), uo (τ ), τ ) ≥
−g(xo (τ ), v, τ ) + λo (τ ), f (xo (τ ), v, τ ) .
Ostatnia̧ nierówność można przepisać w postaci równoważnej
6
H(λo (τ ), xo (τ ), uo (τ ), τ ) ≥ H(λo (τ ), xo (τ ), v, τ ) ∀v ∈ U.
Oznacza to, że sterowanie optymalne maksymalizuje hamiltonian problemu
w sensie globalnym (wariacja iglowa sterowania może przybierać dowolna̧ wartość
ze zbioru U ) dla prawie wszystkich τ ∈ [t0 , t1 ]. Punkt τ jest z zalożenie punktem cia̧glości sterowania optymalnego, a punktami cia̧glości każdego sterowania
z klasy P C([t0 , t1 ]; Rm ) sa̧ prawie wszystkie punkty przedzialu [t0 , t1 ]. Warianty zasady maksimum:
1. W problemie z funkcja̧ celu zależna̧ od stanu końcowego końcowa zmienna
sprzȩżona jest minus pochodna̧ końcowego skladnika funkcji celu
Z t1
G(x, u) =
g(x(t), u(t), t)dt + h(x(t1 )) ⇒ λo (t1 ) = −hTx (xo (t1 )).
t0
2. W problemie z zadanym stanem pocza̧tkowym i końcowym
xo (t0 ) = x0 , xo (t1 ) = x1
pocza̧tkowe i końcowe zmienne sprzȩżone λo (t0 ), λo (t1 ) sa̧ swobodne.
3. W problemie z okresowymi warunkami stanu
xo (t0 ) = xo (t1 )
zmienne sprzȩżone sa̧ również okresowe
λo (t0 ) = λo (t1 ).
4. W problemie ze swobodnym czasem końcowym t1 spelniony jest warunek
zerowania siȩ hamiltonianu
H(λo (t1 ), xo (t1 ), uo (t1 ), t1 ) = 0.
Dla niektórych problemów zasada maksimum pozwala określić postać sterowania optymalnego na podstawie analizy wlasności równań sprzȩżonych.
W ogólnym przypadku wykorzystanie zasady maksimum do wyznaczania sterowania optymalnego polega na redukcji problemu do dwugranicznego
ukladu równań różniczkowych wedlug nastȩpuja̧cego algorytmu
7
1. Wyznaczyć z warunku maksymalizacji hamiltonianu sterowanie w funkcji
kostanu, stanu i czasu tj. funkcjȩ uo (λ(t), x(t), t).
2. Zestawić uklad równań kanonicznych zasady maksimum
ẋ(t) = f (x(t), uo (λ(t), x(t), t), t), t ∈ [t0 , t1 ],
x(t0 ) = x0 ,
λ̇(t) = −fxT (x(t), uo (λ(t), x(t), t), t)λ(t)+gxT (x(t), uo (λ(t), x(t), t), t), t ∈ [t0 , t1 ],
λ(t1 ) = 0,
co w skrócie można zapisać jak nastȩpuje
ẋ(t) = HλT (t), x(t0 ) = x0 , λ̇(t) = −HxT (t), λ(t1 ) = 0.
3. Rozwia̧zać uklad równań kanonicznych wzglȩdem λ(t0 ) tj. dobrać λ(t0 )
tak, aby po scalkowaniu ukladu równań kanonicznych osia̧gna̧ć λ(t1 ) = 0.
Do rozwia̧zywania tego zadania stosowane sa̧ metody obliczeniowe dwugranicznych zagadnień różniczkowych - glównie tzw. metoda strzalów.
Przyklad: Optymalne sterowanie procesem nagrzewania indukcyjnego.
Zmienne procesowe:
T (t) - temperatura nagrzewanego obiektu, Tz (t) - temperatura źródla ciepla.
Równanie obiektu:
d
T (t) = Tz4 (t) − T 4 (t), t ∈ [0, t1 ].
dt
Warunki dwugraniczne:
T (0) = T0 , T (t1 ) = T1 , T0 < T1 .
Ograniczenia chwilowe sterowania:
0 < Tzmin ≤ T (t) ≤ Tzmax , Tzmin < T0 .
Kombinowany wskaźnik jakości procesu:
Rt
Rt
G = 0 1 dt + 0 1 cTz4 (t)dt
Obiekt należy podgrzać do temperatury T1 minimalizuja̧c zarówno czas jak
8
i koszty nagrzewania, gdzie c jest wspólczynnikiem kosztów nagrzewania.
Standardowy zapis problemu:
.
.
.
x(t) = T (t) - stan obiektu, x0 = T0 , x1 = T1 ,
.
.
u(t) = Tz4 (t) - sterowanie, umin = (Tzmin )4 , umax = (Tzmax )4 .
Wyznaczyć sterowanie minimalizuja̧ce wskaźnik jakości procesu
Z t1
(1 + cu(t))dt
G(x, u) =
0
równanie stanu obiektu
ẋ(t) = u(t) − x4 (t), t ∈ [0, t1 ]
z warunkami dwugranicznymi
x(0) = x0 , x(t1 ) = x1 ,
i z ograniczeniami chwilowymi sterowania
umin ≤ u(t) ≤ umax , t ∈ [0, t1 ].
Zapisujemy hamiltonian problemu
H(λ(t), x(t), u(t)) = −1 − cu(t) + λ(t)(u(t) − x4 (t))
i wydzielamy czȩść hamiltonianu zależna̧ od sterowania
H̃(λ(t), x(t), u(t)) = (λ(t) − c)u(t).
Z warunku maksymalizacji hamiltonianu przez sterowanie optymalne wynika,
że jego postać jest określona za pomoca̧ zmiennych sprzȩżonych w nastȩpuja̧cy
sposób
uo (t) =


max


u
gdy λ(t) > c,
umin
gdy λ(t) < c,



u(t) ∈ [umin , umax ] gdy λ(t) = c.
Równanie sprzȩżone ma postać równania różniczkowego
λ̇(t) = 4x3 (t)λ(t)
9
(1)
ze swobodnymi warunkami granicznymi dla λ(0), λ(t1 ).
Zalóżmy, że uo (t) ∈ (umin , umax ) na podprzedziale [τ0 , τ1 ] ⊂ [0, t1 ], τ0 < τ1 .
Wtedy z warunku maksymalizacji hamiltonianu wynika, że zmienna sprzȩżona
jest stala na tym podprzedziale λ(t) = c, t ∈ [τ0 , τ1 ]. Natomiast z równania
sprzȩżonego wynika, że λ̇(t) = 4x3 λ(t) = 4x3 c > 0, a wiȩc zmienna sprzȩżona
jest funkcja̧ rosna̧ca̧ ze wzglȩdu na dodatniość pochodnej. Sprzeczność ta dowodzi, że sterowanie optymalne jest typu bang-bang tj. przyjmuje wartości
graniczne umax lub umin . Zastosowanie umin na pocza̧tku procesu oznaczaloby
chlodzenie obiektu tj. czynność zużywaja̧ca̧ czas i nie podnosza̧ca̧ temperatury obiektu. Tak wiȩc na pocza̧tku procesu musi być stosowane sterowanie uo (t) = umax . Wówczas λ(0) > c i z równania sprzȩżonego wynika,
że λ(t) > c, t ∈ [t0 , t1 ]. Optymalny czas nagrzewania można wyznaczyć
rozwia̧zuja̧c równanie stanu aż do osia̧gniȩcia przez stan wartości x1 .
Przyklad: Optymalne sterowanie wsadowym procesem produkcyjnym.
We wsadowym reaktorze chemicznym realizowany jest proces przemiany
A → B → C, gdzie A jest surowcem, B jest produktem użytecznym, zaś
C jest produktem ubocznym. Reaktor wyposażony jest w obwód grzejny
umożliwiaja̧cy sterowanie temperatura̧ procesu. Należy zmaksymalizować ilość
produktu użytecznego w reaktorze w chwili końcowej procesu t1 .
Wprowadzamy zmienne procesowe
x1 (t) -stȩżenie surowca A w reaktorze w chwili t, x2 (t) - stȩżenie produktu
B w rektorze w chwili t, u(t) - temperatura w reaktorze w chwili t.
Zapisujemy równania stanu
ẋ1 (t) = −κ1 (u(t))x1 (t), t ∈ [0, t1 ], x1 (0) = x10 ,
ẋ2 (t) = κ1 (u(t))x1 (t) − κ2 (u(t))x2 (t), x2 (0) = x20 ,
gdzie wplyw temperatury na przebieg poszczególnych reakcji określaja̧ funkcje
κi zgodnie z prawem Arrheniusa
.
κi (u(t)) = κi0 e−βi /u(t) , i = 1, 2, β2 > β1 .
Formulujemy cel sterowania: zminimalizować wskaźnik jakości procesu
G(x, u) = −x2 (t1 ).
10
W problemie tym zakladamy, że sterowanie temperaturowe możemy zmieniać w szerokim zakresie i jego ograniczenia chwilowe sa̧ nieistotne.
Zapisujemy hamiltonian problemu
H(λ(t), x(t), u(t)) = λ1 (t)(−κ1 (u(t))x1 (t))+λ2 (t)(κ1 (u(t))x1 (t)−κ2 (u(t))x2 (t))
i równania sprzȩżone
λ1 (t) = −Hx1 (t) = (λ1 (t) − λ2 (t))κ1 (u(t)), λ1 (t1 ) = 0,
λ2 (t) = −Hx2 (t) = λ2 (t)κ2 (u(t)), ; λ2 (t1 ) = 1.
Warunek maksymalizacji hamiltonianu bez ograniczeń sterowania przybiera postać
Hu (t) = 0,
ska̧d uzyskujemy jednoznacznie określone sterowanie w funkcji kostanu, stanu
i czasu
uo (λ(t), x(t), u(t)) = (β1 − β2 )/ln
κ10 β1 x1 (t)(λ2 (t) − λ1 (t))
.
κ20 β2 x2 (t)λ2 (t)
Uklad równań kanonicznych zasady maksimum
ẋ1 (t) = −κ1 (uo (λ(t), x(t), u(t))x1 (t), x1 (0) = x10 ,
ẋ2 (t) = κ1 (uo (λ(t), x(t), u(t))x1 (t) − κ2 (uo (λ(t), x(t), u(t))x2 (t), x2 (0) = x20 ,
λ˙1 (t) = (λ1 (t) − λ2 (t))κ1 (uo (λ(t), x(t), u(t)), λ1 (t1 ) = 0,
λ˙2 (t) = λ2 (t)κ2 (uo (λ(t), x(t), u(t)), λ2 (t1 ) = 1.
Calkuja̧c ten uklad równań różniczkowych z warunkami dwugranicznymi
wyznaczamy optymalny profil temperatury.
11

Podobne dokumenty