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