Zasada optymalności Bellmana. Uogólniony optymalny regulator stanu. Podstawowy problem sterowania optymalnego dla uk ladów nieliniowych z czasem ci ag lym W podstawowym problemie sterowania optymalnego z czasem ci ag lym minimalizacji podlega ca lkowy wskaźnik jakości G(x, u). = t1 t 0 g(x(t), u(t), t)dt z uwzglȩdnieniem ograniczeń w postaci równania stanu procesu ẋ(t) = f(x(t), u(t), t), t [t 0, t 1 ] z zadanym warunkiem pocz atkowym x(t 0 ) = x 0 oraz ograniczeń w postaci dopuszczalnego chwilowego zakresu wartości sterowania u(t) U, t [t 0, t 1 ], gdzie funkcje g : R n R m R R, f : R n R m R R n s a, ogólnie bior ac, nieliniowe. Klasa sterowań dopuszczalnych w przedziale [t 0, t 1 ] oznaczana jako U[t 0, t 1 ] jest zbiorem funkcji przedzia lami ci ag lych o skończonej liczbie nieci ag lości pierwszego rodzaju, tj. U[t 0, t 1 ] =. P C([t 0, t 1 ], R m ). 1
Niech trajektoria stanu ABCD bȩdzie trajektori a optymaln a zwi azan a ze stanem pocz atkowym x(0) = x 0 i niech x( t) = x bȩdzie stanem pośrednim zwi azanym z punktem B trajektorii optymalnej. Zasada optymalności Bellmana: Każdy końcowy odcinek BCD optymalnej trajektorii stanu ABCD zwi azanej ze stanem pocz atkowym x(0) jest optymaln a trajektori a stanu zwi azan a ze stanem pośrednim x( t). Dowód: Przypuśćmy, że końcowy odcinek trajektorii BCD nie jest trajektori a optymaln a dla pośredniego stanu pocz atkowego x( t). Wobec tego miȩdzy punktami B i D istnieje inna trajektoria BC D, która zapewnia mniejsz a wartość wskaźnika jakości niż trajektoria BCD. Wówczas l aczna trajektoria stanu ABC D zapewnia lepsz a wartość wskaźnika jakości niż trajektoria stanu ABCD, co jest sprzeczne z za lożeniem o optymalności trajektorii ABCD. Równoważne sformu lowania zasady optymalności: Każdy końcowy odcinek trajektorii optymalnej jest sam dla siebie trajektori a optymaln a. Strategia optymalna nie zależy od historii procesu i może być określona wy l acznie na podstawie stanu procesu w danej chwili t. Trajektoria optymalna wychodz aca z punktu B jest ca lkowicie określona przez jej stan pocz atkowy x( t) i nie zależy od sterowania u(t) dla t < t. Jeśli dana jest trajektoria optymalna x o zapewniaj aca minimum funkcjona lu G(x, u) w przedziale [t 0, t 1 ] i dane s a chwile t, t [t 0, t 1 ], to trajektoria pośrednia x o (t) (t [ t, t]) jest również trajektori a optymaln a dla problemu minimalizacji funkcjona lu G(x, u) w przedziale [ t, t]. Funkcja Bellmana i warunek optymalności procesu sterowania w postaci równania Hamiltona-Jacobiego-Bellmana Definiujemy funkcjȩ Bellmana (zwan a także funkcj a jakości optymalnej) jako optymaln a wartość wskaźnika jakości na końcowym odcinku trajektorii procesu [t, t 1 ] S(x(t), t). = t1 min g(x(τ), u(τ), τ)dτ. u U[t,t 1 ] t 2
Z zasady optymalności wynika zależność S(x(t), t). = ( t+ɛ t min u U[t,t 1 ] t g(x(τ), u(τ), τ)dτ + S(x(t + ɛ t), t + ɛ t) ) ( ). Za lożenie: funkcja jakości optymalnej S jest różniczkowalna wzglȩdem stanu x i czasu t. Rozpatrzymy przyrost czasu ɛ t oraz odpowiadaj acy mu przyrost stanu ɛ x i rozwiniemy w szereg Taylora wyrażenie S(x(t) + ɛ x, t + ɛ t) ( x i t s a ustalone, a ɛ jest zmiennym ma lym parametrem): S(x(t) + ɛ x, t + ɛ t) = S(x(t), t) + S x (x(t), t)ɛ x + S t (x(t), t)ɛ t + o(ɛ). Dla ma lych wartości ɛ uzyskujemy t+ɛ t Z zależności (*) wynika, że t S(x(t), t) = ɛ x = ɛf(x(t), u(t), t) t + o(ɛ), g(x(τ), u(τ), τ)dτ = g(x(t), u(t), t)ɛ t + o(ɛ). ( min g(x(t), u(t), t)ɛ t + S(x(t), t)+ u U[t,t+ɛ t] S x (x(t), t)f(x(t), u(t), t)ɛ t + S t (x(t), t)ɛ t + o(ɛ) ). Ponieważ S(x(t), t) i S t (x(t), t) nie zależ a od sterowania (wyrażenia te s a już zminimalizowane wzgl ledem sterowania w ca lym przedziale [t, t 1 ]), wiȩc możemy skrócić sk ladnik S(x(t), t) po lewej i prawej stronie równania i przesun ać na lew a stronȩ sk ladnik S t (x(t), t) S t (x(t), t)ɛ t = ( min g(x(t), u(t), t)ɛ t u U[t,t+ɛ t] +S x (x(t), t)f(x(t), u(t), t)ɛ t + o(ɛ) ). Dzielimy obydwie strony przez ɛ t i przechodzimy z ɛ 0 uzyskuj ac przy czym ( S t (x(t), t) = min g(x(t), u(t), t) + Sx (x(t), t)f(x(t), u(t), t) ), u(t) U Jest to tzw. S(x(t 1 ), t 1 ) = 0. równanie Hamiltona-Jacobiego-Bellmana (równanie HJB), które stanowi warunek konieczny optymalności procesu sterowania. 3
Równanie to stanowi podstawȩ, na której określana jest Metoda programowania dynamicznego dla problemów optymalnego sterowania z czasem ci ag lym: 1. Z minimalizacji prawej strony równania HJB wyznacza siȩ sterowanie w funkcji stanu x, pochodnej funkcji Bellmana S x (x, t) i czasu t u o (x, S x (x, t), t), przy czym wielkości x, S x (x, t), t traktowane s a jako parametry; realizacja tego punktu wymaga rozwi azania zadania optymalizacji funkcji wielu zmiennych z ograniczeniami i z parametrami, 2. Funkcjȩ u o podstawia siȩ do równania HJB redukuj ac je do, ogólnie bior ac, nieliniowego równania różniczkowego o pochodnych cz astkowych rzȩdu pierwszego S t (x, t) = g(x, u o (x, S x (x, t), t), t) + S x (x, t)f(x, u o (x, S x (x, t), t), t) z warunkiem granicznym S(x, t 1 ) = 0. 3. Rozwi azuje siȩ zredukowane równanie HJB (analitycznie lub numerycznie) określaj ac w ten sposób sterowanie optymalne w uk ladzie ze sprzȩżeniem zwrotnym u o (x, t) =. u o (x, S x (x, t), t). Przyk lad: Wyznaczyć proces sterowania minimalizuj acy wskaźnik jakości G(x, u) = z uwzglȩdnieniem modelu procesu 1 0 (x 2 (t) + u 2 (t))dt ẋ(t) = ax(t) + bu(t), t [0, 1], x(0) = x 0, u(t) R. 4
Zapisujemy równanie HJB S t (x, t) = min u(t) R (x2 + u 2 + S x (x, t)(ax + bu)), S(x, 1) = 0. Wyznaczamy sterowanie w funkcji pochodnej S x u o = 0.5bS x (x, t) i uzyskujemy zredukowane równanie HJB S t (x, t) = x 2 0.25b 2 (S x (x, t)) 2 + S x (x, t)ax, S(x, 1) = 0. Rozwi azanie tego równania można określić metod a rozdzielania zmiennych. Przewidujemy rozwi azanie w postaci S(x, t) = α(t)x 2. Wstawiaj ac przewidywan a postać rozwi azania do równania HJB uzyskujemy α(t)x 2 = x 2 0.25b 2 (2α(t)x) 2 + 2α(t)xx, α(1)x 2 = 0. Prowadzi to do nieliniowego równania różniczkowego o pochodnych zwyczajnych dla α(t) dα(t) dt = 1 b 2 α 2 (t) + 2aα(t), t [0, 1], α(1) = 0, którego rozwi azanie daje siȩ określić po rozdzieleniu zmiennych α i t jako α(t) = tgh ( (1 t) a 2 + b 2) / ( a 2 + b 2 a tgh (1 t) a 2 + b 2). Tak wiȩc funkcja Bellmana wyrazi siȩwzorem S(x, t) = tgh ((1 t) a 2 + b 2 )x 2 /( a 2 + b 2 tgh( a 2 + b 2 (1 t)), a sterowanie optymalne w uk ladzie zamkniȩtym przybierze postać u o (x, t) = tgh ((1 t) a 2 + b 2 )x/( 2 tgh( a 2 + b 2 (1 t)). Sterowanie optymalne uzyskane zosta lo dla rozważanego przyk ladu w funkcji nie tylko stanu i czasu, lecz także w funkcji parametrów a i b uk ladu. Taka postać sterowania optymalnego jest użyteczna dla jego adaptacji przy zmianie wartości parametrów. 5
Dla trudniejszych przyk ladów zastosowanie równania HJB do określenia sterowania optymalnego możliwe jest tylko przy użyciu metod numerycznych, które wyznaczaj a aproksymacjȩ tego sterowania z dok ladności a zależn a od wymiarowości problemu i od charakteru jego nieliniowości. Sterowanie optymalne dla uk ladów nieliniowych. Zasada optymalności Bellmana. Problemy z czasem dyskretnym. Metoda programowania dynamicznego znajduje zastosowanie także dla problemów sterowania optymalnego z czasem dyskretnym. Nie wymaga ona w tym przypadku przyjmowania krȩpuj acych za lożeń o różniczkowalności funkcji Bellmana ani rozwi azywania równań o pochodnych cz astkowych. Również w tym przypadku obowi azuje zasada Bellmana - każdy końcowy odcinek dyskretnej trajektorii optymalnej jest sam dla siebie dyskretn a trajektori a optymaln a. Podstawowy problem sterowania optymalnego dla uk ladów nieliniowych z czasem dyskretnym W podstawowym problemie sterowania optymalnego z czasem dyskretnym minimalizacji podlega sumaryczny wskaźnik jakości G(x, u). = K 1 k=0 g(x(k), u(k), k) z uwzglȩdnieniem ograniczeń w postaci dyskretnego równania stanu procesu x(k + 1) = f(x(k), u(k), k), k = 0, 1,..., K 1, z zadanym warunkiem pocz atkowym x(0) = x 0 oraz ograniczeń w postaci dopuszczalnego chwilowego zakresu wartości sterowania rozszerzonego u(k) U, k = 0, 1,..., K 1, gdzie funkcje g : R n R m R R, f : R n R m R R n 6
s a, ogólnie bior ac, nieliniowe. stanu Definiujemy funkcjȩ Bellmana dla końcowego odcinka dyskretnej trajektorii S(x(k), k). = K 1 min u(κ) U, κ=k,k+1,...,k 1 κ=k g(x(κ), u(κ), κ). Na podstawie dyskretnej zasady optymalności zapisujemy zależność ( ) S(x(k), k) = min g(x(k), u(k), k) + S(x(k + 1), k + 1) u(k) U i podstawiamy do niej równanie stanu dla k-tego przedzia lu x(k + 1) = f(x(k), u(k), k) uzyskuj ac równanie rekurencyjne Bellmana dla dyskretnych procesów sterowania ( ) S(x(k), k) = min g(x(k), u(k), k) + S(f(x(k), u(k), k), k + 1), u(k) U k = K 1, K 2,..., 0, S(x(K), K) = 0. Równanie to stanowi podstawȩ dyskretnej metody programowania dynamicznego, która redukuje wyznaczanie ca lego ci agu sterowań optymalnych {u o (k), k = 0, 1,..., K 1} do kolejnego wyznaczania poszczególnych sterowań u o (k) z równania rekurencyjnego Bellmana. Taka dekompozycja wyznaczania sterowania optymalnego jest zalet a tej metody. Jednak zwi azana jest ona z konieczności a rozwi azywania parametrycznych zadań optymalizacji tj. wyznaczania sterowania optymalnego w funkcji stanu u o (k) = u o (x(k), k). W ogólnym przypadku można to zrobić tylko numerycznie np. w postaci tablic wartości. 7
Metoda programowania dynamicznego dla problemów optymalnego sterowania z czasem dyskretnym: 1. Podstawia siȩ k = K 1 i rozwi azuje siȩ zadanie optymalizacji ostatniego etapu procesu S(x(K 1), K 1) = min g(x(k 1), u(k 1), K 1) u(k 1) U wyznaczaj ac sterowanie optymalne ostatniego etapu procesu u o (K 1) = u o (x(k 1), K 1) w funkcji stanu pocz atkowego tego etapu x(k 1). 2. Na k-tym etapie procesu, korzystaj ac ze znajomości funkcji Bellmana S(x(k + 1), k + 1) rozwi azuje siȩ zadanie optymalizacji k-tego etapu wynikaj ace z równania rekurencyjnego Bellmana ( ) S(x(k), k) = min g(x(k), u(k), k) + S(f(x(k), u(k), k), k + 1) u(k) U wyznaczaj ac sterowanie optymalne k-tego etapu procesu u o (k) = u o (x(k), k) w funkcji stanu pocz atkowego tego etapu x(k). 3. Po osi agniȩciu etapu pocz atkowego k = 0 wyznaczamy konkretn a wartość sterowania optymalnego dla tego etapu u o (0) = u o (x 0, 0) korzystaj ac ze znajomości stanu pocz atkowego x(0) = x 0. Nastȩpnie wyznaczamy kolejno konkretne wartości sterowań optymalnych na podstawie zależności x o (k) = f(x o (k 1), u o (k 1), k 1), u o (k) = u o (x o (k), k), k = 1, 2,..., K 1. Algorytm ten nazywany jest algorytmem podstawowym dyskretnego programowania dynamicznego(algorytm z cofaniem siȩ, the backward algorithm). Przyk lad: zminimalizować wskaźnik jakości dyskretnego procesu sterowania (K = 3) G(x, u) = przy ograniczeniach 2 (x 2 (k) + u 2 (k)) k=0 x(k + 1) = ax(k) + bu(k), k = 0, 1, 2, 8
x(0) = x 0, u(k) R, k = 0, 1, 2. Rozwi azujemy zadanie ostatniego etapu S(x(2), 2) = min u(2) R (x2 + u 2 ) u o (2) = 0, S(x(2), 2) = x 2 (2). Zapisujemy równanie Bellmana dla przedostatniego etapu ( S(x(1), 1) = min x 2 (1) + u 2 (1) + x 2 (2) ) u(1) R i redukujemy je do równania optymalizacji tego etapu ( S(x(1), 1) = min x 2 (1) + u 2 (1) + (ax(1) + bu(1)) 2). u(1) R Celem rozwi azania zadania optymalizacji tego etapu przyrównujemy do zera pochodn a wyrażenia w nawiasie wzglȩdem sterowania u(1) 2u(1) + 2(ax(1) + bu(1))b = 0 i określamy sterowanie optymalne w funkcji stanu pocz atkowego tego etapu oraz funkcjȩ Bellmana tego etapu S(x(1), 1) = x 2 (1) + a2 b 2 u o (1) = ab 1 + b x(1) 2 (1 + b 2 ) 2 x2 (1) + ( ax(1) ab2 1 + b 2 x(1)) 2 = cx 2 (1), gdzie c = a2 +1+b 2 1+b 2. Zapisujemy równanie Bellmana dla pocz atkowego etapu i jego postać zredukowan a S(x(0), 0) = min u(0) R ( x 2 (0) + u 2 (0) + cx 2 (1) ) ( S(x(0), 0) = min x 2 (0) + u 2 (0) + c(ax(0) + bu(0)) 2). u(0) R Celem wyznaczenia sterowania optymalnego etapu pocz atkowego obliczamy pochodn a wyrażenia w nawiasie wzglȩdem sterowania u(0) 2u(0) + 2c(ax 0 + bu(0))b = 0. 9
Tak wiȩc sterowanie optymalne etapu pocz atkowego ma postać u o (0) = abc 1 + cb x 0. 2 Określamy teraz kolejne optymalne stany i optymalne sterowania x o (1) = ax 0 + bu o (0) = ax 0 ab2 c 1 + cb 2 x 0 = u o (1) = ab 1 + b 2 xo (1) = a2 b (1 + b 2 ) x 0, 2 x o (2) = ax o (1) + bu o (1) = u o (2) = 0. a 1 + cb 2 x 0, a2 1 + cb x 2 0 a2 b 2 (1 + b 2 ) x 0, 2 Istotn a zalet a metody dyskretnego programowania dynamicznego jest możliwość jej zastosowania do wyznaczania sterowania optymalnego dla procesów, na które oddzia lywuj a zak lócenia przypadkowe. Minimalizacji podlega wtedy wartość oczekiwana wskaźnika jakości przy ograniczeniach K 1 G(x, u) = E{ g(x(k), u(k), ζ(k), k)} k=0 x(k + 1) = f(x(k), u(k), ζ(k), k), k = 0, 1,..., K 1, x(0) = x 0, u(k) U, k = 0, 1,..., K 1, gdzie ζ(k) jest zak lóceniem przypadkowym. Dlatego stany x(k) i funkcja kryterialna g staj a siȩ zmiennymi przypadkowymi. Za lożymy, że ζ(0), ζ(1),..., ζ(k 1) s a niezależnymi zmiennymi przypadkowymi o znanych rozk ladach prawdopodobieństwa P (ζ(0)), P (ζ(1)),..., P (ζ(k 1)). 10
W niektórych przypadkach wystarczaj aca moż być znajomość wartości średniej i wariancji zak lócenia przypadkowego bez znajomości zak lócenia przypadkowego. Przy tych za lożeniach można sformu lować nastȩpuj ace uogólnienie metody dyskretnego programowania dynamicznego na przypadek zak lóceń przypadkowych w równaniach stanu procesu. Metoda stochastycznego programowania dynamicznego dla problemów optymalnego sterowania z czasem dyskretnym: 1. Podstawia siȩ k = K 1 i rozwi azuje siȩ zadanie optymalizacji ostatniego etapu procesu S(x(K 1), K 1) = = min u(k 1) U + min E{g(x(K 1), u(k 1), ζ(k 1), K 1)} u(k 1) U P (ζ(k 1))g(x(K 1), u(k 1), ζ(k 1), K 1)dζ(K 1) wyznaczaj ac sterowanie optymalne ostatniego etapu procesu u o (K 1) = u o (x(k 1), K 1) w funkcji stanu pocz atkowego tego etapu x(k 1). 2. Na k-tym etapie procesu, korzystaj ac ze znajomości funkcji Bellmana S(x(k + 1), k + 1) rozwi azuje siȩ zadanie optymalizacji k-tego etapu wynikaj ace z równania rekurencyjnego Bellmana S(x(k), k) = min u(k) U E{( g(x(k), u(k), ζ(k), k)+s(f(x(k), u(k), ζ(k), k+1) ) } = min u(k) U + P (ζ(k)) ( g(x(k), u(k), ζ(k), k) +S(f(x(k), u(k), ζ(k), k + 1) ) dζ(k) wyznaczaj ac sterowanie optymalne k-tego etapu procesu u o (k) = u o (x(k), k) w funkcji stanu pocz atkowego tego etapu x(k). 3. Po osi agniȩciu etapu pocz atkowego k = 0 wyznaczamy konkretn a wartość sterowania optymalnego dla tego etapu u o (0) = u o (x 0, 0) korzystaj ac ze znajomości stanu pocz atkowego x(0) = x 0. Nastȩpnie wyznaczamy kolejno konkretne wartości sterowań optymalnych na podstawie zależności x o (k) = f(x o (k 1), u o (k 1), ζ(k 1), k 1), u o (k) = u o (x o (k), k), k = 1, 2,..., K 1. 11
Przyk lad: zminimalizować wskaźnik jakości procesu przy ograniczeniach K G(x, u) = E{ x 2 (k)} k=1 x(k + 1) = ax(k) + u(k)ζ(k), k = 0, 1,..., K 1, x(0) = x 0, u(k) R, k = 0, 1,..., K 1. Zak ladamy, że ζ(k) jest procesem przypadkowym o wartości średniej równej z i wariancji σ 2. Przekszta lcimy wskaźnik jakości do postaci standardowej korzystaj ac z równania obiektu K 1 K 1 G = E{ x 2 (k + 1)} = E{ (ax(k) + u(k)ζ(k)) 2 k=0 k=0 K 1 ( = E{ a 2 x 2 (k) + u 2 (k)ζ 2 (k) + 2ax(k)u(k)ζ(k) ). k=0 Wyznaczamy funkcjȩ Bellmana ostatniego etapu procesu S(x(K 1), K 1) = min E{( a 2 x 2 (K 1) u(k 1) U +u 2 (K 1)ζ 2 (K 1) + 2ax(K 1)u(K 1)ζ(K 1) ) } ( = min a 2 x 2 (K 1)+u 2 (K 1)E{ζ 2 (K 1)}+2ax(K 1)u(K 1)E{ζ(K 1)} ) u(k 1) ( = min a 2 x 2 (K 1) + u 2 (K 1)( z 2 + σ 2 ) + 2ax(K 1)u(K 1) z ). u(k 1) Obliczamy minimum ostatniego wyrażenia przyrównuj ac do zera jego pochodn a wzglȩdem u(k 1) 2u(K 1)( z 2 + σ 2 ) + 2ax(K 1) z = 0, 12
sk ad dostajemy sterowanie optymalne ostatniego etapu i funkcjȩ Bellmana tego etapu u o (K 1) = ax(k 1) z/( z 2 + σ 2 ) S(x(K 1), K 1) = a 2 x 2 (K 1) + a2 x 2 (K 1) z 2 2a2 x 2 (K 1) z 2 z 2 + σ 2 z 2 + σ 2 = cx 2 (K 1), c. = a 2( 1 z 2 /( z 2 + σ 2 ) ). Zapisujemy równanie Bellmana na przedostatnim etapie procesu S(x(K 2), K 2) = min u(k 2) E{( a 2 x 2 (K 2) +u 2 (K 2)ζ 2 (K 2) + 2ax(K 2)u(K 2)ζ(K 2) + S(x(K 1), K 1) ) } = min u(k 2) E{( a 2 x 2 (K 2) +u 2 (K 2)ζ 2 (K 2) + 2ax(K 2)u(K 2)ζ(K 2) + cx 2 (K 1) ) } = min u(k 2) E{( a 2 x 2 (K 2) + u 2 (K 2)ζ 2 (K 2) + 2ax(K 2)u(K 2)ζ(K 2) +c(a 2 x 2 (K 2) + u 2 (K 2)ζ 2 (K 2) + 2ax(K 2)u(K 2)ζ(K 2)) ) } = (1+c) min u(k 2) E{( a 2 x 2 (K 2)+u 2 (K 2)ζ 2 (K 2)+2ax(K 2)u(K 2)ζ(K 2) ) }. Tak wiȩc na przedostatnim etapie procesu uzyskaliśmy dla określenia sterowania optymalnego tego etapu identyczne zadanie optymalizacji jak poprzednio, a zatem u o (K 2) = ax(k 2) z/( z 2 + σ 2 ). Sytuacja powtarza siȩ na nastȩpnych etapach metody, co prowadzi do ogólnego algorytmu sterowania optymalnego procesu z zak lóceniem przypadkowym u o (k) = ax(k) z/( z 2 + σ 2 ), k = 0, 1,..., K 1. 13
Sterowanie optymalne jest w tym przypadku liniow a funkcj a stanu i zależy od charakterystyk probabilistycznych zak lócenia - od jego wartości średniej i wariancji. Metoda dyskretnego programowania dynamicznego posiada wiele wariantów zwi azanych z optymalizacj a wielostopniowych procesów technologicznych realizowanych w kaskadach aparatów, a także w aparatach typu pó lkowego. Indeks k nie oznacza wtedy czasu dyskretnego lecz numer kaskady lub numer pó lki. Dla niektórych systemów tego typu wygodnie jest stosować odwrotn a numeracjȩ stopni procesu - w kierunku zmniejszaj acych siȩ wartości indeksów K, K 1,..., 1, a równanie stanu k-tego stopnia zapisywać w postaci przy czym x(k 1) = f(x(k), u(k), k), k = K, K 1,..., 1, x(k) = x K jest w tym przypadku zadanym stanem pocz atkowym pierwszego stopnia, x(k 1) jest stanem wyjściowym k-tego stopnia, a x(k) jego stanem wejściowym. Wskaźnik jakości zapisujemy jako G(x, u) = K g(x(k), u(k), k). k=1 Funkcjȩ Bellmana definiujemy w postaci S(x(k), k). = κ=k min u(κ) U,κ=1,...,k κ=1 g(x(κ), u(κ), κ). Uzyskujemy wtedy odwrotne równanie Bellmana ( ) S(x(k), k) = min g(x(k), u(k), k) + S(x(k 1), k 1) u(k) U i wynikaj acy st ad algorytm odwrotny dyskretnego programowania dynamicznego bazuj acy na odwrotnym równaniu rekurencyjnym ( ) S(x(k), k) = min g(x(k), u(k), k)+s(f(x(k), u(k), k), k 1), k = 1, 2,..., K, u(k) U przy czym S(x(0), 0) = 0. Przyk lad: Optymalizacja kaskady ekstraktorów. Do każdej kaskady doprowadzany jest rozpuszczalnik z natȩżeniem u(k), za pomoc a którego ze strumienia wejściowego ekstrahowany jest sk ladnik użyteczny. Stȩżenie strumienia 14
wejściowego kaskady zmniejsza siȩ z kaskady na kaskadȩ wskutek ekstrahowania sk ladnika użytecznego zgodnie z równaniem x(k 1) = x(k)/(1 + au(k)), k = K, K 1,..., 1. Zysk z procesu k-tej kaskady można określić jako różnicȩ miȩdzy ilości a ekstrahowanego sk ladnika użytecznego x(k) x(k 1) i kosztami rozpuszczalnika cu(k). Tak wiȩc maksymalizacja zysku z procesu w ca lej kaskadzie jest równoważna minimalizacji wyrażenia G(x, u) = K (cu(k) (x(k) x(k 1)). k=1 Należy określić dyskretne sterowanie kaskady u(k), k = 1, 2,..., K (tj. natȩżenia dop lywu rozpuszczalnika do poszególnych stopni kaskady) tak, aby zmaksymalizować zysk z procesu w ca lej kaskadzie. Stosuj ac algorytm odwrotny dyskretnego programowania dynamicznego wyznaczamy S(x(1), 1) = min(cu(1) x(1) + x(0)) = min(cu(1) x(1) + x(1)/(1 + cu(1))), u(1) u(1) sk ad wyznaczamy sterowanie optymalne kaskady o numerze 1 (przyrównuj ac do zera pochodn a wyrażenia w nawiasie wzglȩdem u(1)) oraz funkcjȩ Bellmana dla tej kaskady u o (1) = ( ax(1)/c 1 ) /a, S(x(1), 1) = ( x(1) c/a ) 2. Korzystamy z odwrotnego równania rekurencyjnego Bellmana tj. z równania ( ) S(x(2), 2) = min cu(2) x(2) + x(1) + S(x(1), 1) u(2) ( ) S(x(2), 2) = min cu(2) x(2) + x(1) + x(1) c/a u(2) ( ) = min cu(2) x(2) + x(2)/(1 + cu(2)) + x(2)/(1 + cu(2)) c/a, u(2) 15
sk ad wyznaczamy sterowanie optymalne kaskady o numerze 2 (przyrównuj ac do zera pochodn a wyrażenia w nawiasie wzglȩdem u(2)) u o (2) = ( (ax(2)/c) 1/3 1 ) /a oraz funkcjȩ Bellmana dla tej kaskady S(x(2), 2) = x(2) 3(c/a) 2/3 x(2) 1/3 + 2c/a. Kontynuuj ac ten proces uzyskuje siȩ ogólny wzór na sterowanie optymalne w uk ladzie zamkniȩtym dla kaskady ekstraktorów u o (k) = ( (ax(k)/c) 1/(k+1) 1 ) /a, k = K, K 1,..., 1. Uogólnione medele dyskretnych procesów sterowania Duże znaczenie praktyczne maj a modele procesów z czasem dyskretnym interpretowane jako aproksymacje modeli procesów z czasem ci ag lym. Zastosowanie prawostronnego ilorazu różnicowego do aproksymacji pochodnej prowadzi do modelu chronologicznej dynamiki procesu z czasem dyskretnym x(k + 1) = x(k) + τ(k)f(x(k), u(k), k), k = 0, 1,..., K 1, czyli x(k + 1) = f(x(k), ũ(k), k), k = 0, 1,..., K 1, f(x(k), ũ(k), k) =. x(k) + τ(k)f(x(k), u(k), k), przy czym τ(k) jest d lugości a k-tego przedzia lu dyskretyzacji traktowan a jako dodatkowa zmienna optymalizacyjna k-tego etapu procesu oprócz sterowania dyskretnego u(k) tego etapu procesu. Para (τ(k), u(k)) nazywana jest sterowaniem rozszerzonym procesu dyskretnego. Zastosowanie lewostronnego ilorazu różnicowego do aproksymacji pochodnej prowadzi do modelu antychronologicznej dynamiki procesu z czasem dyskretnym ẋ(t) = f(x(t), u(t), t) x(k 1) = x(k)+τ(k)f(x(k), u(k), k), k = K, K 1,..., 1, czyli x(k 1) = f(x(k), ũ(k), k), k = K, K 1,..., 1, 16
f(x(k), ũ(k), k). = x(k) + τ(k)f(x(k), u(k), k), przy czym τ(k) jest d lugości a k-tego przedzia lu dyskretyzacji traktowan a jako dodatkowa zmienna optymalizacyjna k-tego etapu procesu oprócz sterowania dyskretnego u(k) tego etapu procesu. Para (τ(k), u(k) nazywana jest sterowaniem rozszerzonym procesu dyskretnego z antychronologiczn a dynamik a. Takie modele dynamiki procesów dyskretnych posiadaj a również ważne interpretacje dla optymalizacji wielostopniowych procesów technologicznych realizowanych w kaskadach aparatów, a także w aparatach typu pó lkowego. Dla takich procesów τ(k) może określać tzw. średni czas przebywania substancji w k-tym stopniu kaskady lub mieć interpretacjȩ nie zwi azan a z czasem - może to być parametr k-tej kaskady odgrywaj acy szczególn a rolȩ w jej modelu np. objȩtość kaskady. W podstawowym problemie sterowania optymalnego z czasem dyskretnym minimalizacji podlega sumaryczny wskaźnik jakości G(x, u). = K 1 k=0 g(x(k), u(k), k) ( g(x(k), u(k), k) =. τ(k)g(x(k), u(k), k)) z uwzglȩdnieniem ograniczeń w postaci dyskretnego równania stanu procesu x(k) = x(k 1) + τ(k)f(x(k), u(k), k), k = 1, 2,..., K, z zadanym warunkiem pocz atkowym x(0) = x 0 oraz ograniczeń w postaci dopuszczalnego chwilowego zakresu wartości sterowania rozszerzonego (τ(k), u(k)) Ω(k), k = 1, 2,..., K, gdzie funkcje g : R n R m R R, f : R n R m R R n s a, ogólnie bior ac, nieliniowe. Dla wielu przyk ladów można przyj ać Ω(k) = R 0 U, gdzie R 0 jest zbiorem nieujemnych liczb rzeczywistych. 17
Wprowadzaj ac dyskretn a funkcjȩ Bellmana S(x(k), k). = min (τ(κ),u(κ)) Ω(κ), κ=k,k+1,...,k K τ(κ)g(x(κ), u(κ), κ) i stosuj ac dyskretn a zasadȩ optymalności uzyskuje siȩ równanie rekurencyjne z uwzglȩdnieniem sterowania rozszerzonego S(x(k), k) = κ=k min (τ(k)g(x(k), u(k), k)) + S(x(k + 1), k + 1)). (τ(κ),u(κ)) Ω(κ) Mimo wielu udanych zastosowań metoda programowania dynamicznego posiada wady znacznie ograniczaj ace jej praktyczne wykorzystanie. Jedn a z wad jest konieczność rozwi azywania parametrycznego problemu optymalizacji tj. wyznaczania sterowania w funkcji stanu na każdym etapie procesu. Ogólnie bior ac można dokonać tego tylko metodami numerycznymi, przy czym liczba niezbȩdnych obliczeń lawinowo narasta wraz ze wzrostem wymiaru stanu problemu (jest tzw. przekleństwo wielowymiarowości zwi azane z metod a programowania dynamicznego). Z drugiej strony duża moc obliczeniowa wspó lczesnych komputerów poszerza zakres zastosowań metody programowania dynamicznego. 18