9. Zasada Maksimum Pontriagina
Poprzedni rozdział 8 dotyczył warunku wystarczającego (sufficient
condition) istnienia sterowania optymalnego. Natomiast w tym rozdziale 9 sformułujemy
warunek konieczny (necessary condition) dla optymalnego sterowania
— zwany zasadą maksimum Pontriagina (Pontryagin Maximum Principle).
Zasada ta pozwala wyznaczyć optymalne sterowania i optymalne trajektorie — por. przykłady
7.2, 7.3.
Analogia: Minimum funkcji z więzami (ograniczeniami, constraints).
Rozważamy gładkie funkcje
h:D→R1, gj:D→R1, j=1,…,l,
l<n,
gdzie D jest niepustym obszarem w Rn.
Badamy istnienie minimum funkcji h na hiperpowierzchni (hypersurface)
Jeżeli x∗∈D jest punktem, w którym h ma (lokalne) minimum na
hiperpowierzchni S, to istnieją liczby (mnożniki Lagrange'a (Lagrange
multipliers))
w=w1,w2,…,wl, t.ż. x∗∈D, w∈Rl jest
rozwiązaniem n+l równań:
|
∂∂xjhx+∑k=1lwk∂∂xjgkx=0,j=1,…,n |
|
czyli
|
gradxhx∗=-gradxwTgx∗gx∗=0, |
|
zatem wektor gradxhx∗ jest prostopadły do hiperpłaszczyzny stycznej do
hiperpowierzchni S w punkcie x∗, czyli jest normalny do S
w x∗.
W tym rozdziale nie zakładamy żadnych ograniczeń na sterowania, czyli Ω=Rm.
Rozpatrujemy najpierw zagadnienie Lagrange'a (L) dla ustalonego punktu końcowego (I) — por.
rozdział 6. Zakładamy, że f0 jest ciągła względem x,u oraz
różniczkowalna w sposób ciągły względem x.
Problem 9.1
Mamy zadane punkty x0,x1∈Rn, x0≠x1. Wśród dopuszczalnych
sterowań u∈Um, o tej własności, że rozwiązanie x(t)=x(t;x0,u(.)) zagadnienia
przechodzi przez x1 dla t1>0, tzn. xt1=x1, znaleźć to, dla którego
|
Cu=∫0t1f0xt,utdt, |
|
przyjmuje najmniejszą wartość.
Definicja 9.1
Sterowanie u, o którym mowa w zagadnieniu 9.1, nazywamy sterowaniem
optymalnym (optimal control), a odpowiednią trajektorię x=xt
— trajektorią optymalną (optimal trajectory).
Zauważmy, że jeżeli sterowanie u=ut, 0≤t≤t1, prowadzi x0 do x1 z wartością
Cu=J, to sterowanie u~=ut+τ, -τ≤t≤t1-τ także
prowadzi x0 do x1 z wartością Cu~=J. To pozwala przyjąć chwilę
początkową, jako t=0.
Każdy kawałek trajektorii optymalnej jest też trajektorią optymalną:
Uwaga 9.1
Jeżeliu=ut, 0≤t≤t1, jest sterowaniem optymalnym prowadzącym x0 do x1,
x(t)=x(t;x0,u(.)) — trajektorią optymalną oraz 0≤τ1≤τ2≤t1, to
sterowanie uτ1,τ2 jest optymalnym sterowaniem prowadzącym xτ1 do
xτ2 oraz xτ1,τ2 jest trajektorią optymalną.
Dowód: por. [36], str. 22; [31], str. 118.
Niech wartości Cu na odcinkach 0,τ0, τ0,τ1, τ1,t1
będą oznaczone przez J1, J2 i J3, odpowiednio. Wówczas wartość Cu na
odcinku 0,t1, to J=J1+J2+J3. Jeżeli sterowanie uτ1,τ2 nie
byłoby optymalne, to istniałoby sterowanie u~ prowadzące xτ0 do xτ1
z wartością Cu~=J2∗, gdzie J2∗<J2. Zatem istniałoby
sterowanie prowadzące x0 do x1 z wartością J1+J2∗+J3<J, co jest sprzeczne z
optymalnością sterowania u.
∎
Dla zagadnienia Lagrange'a, zadanego sterowania u i odpowiedzi x
określamy
|
x0t=∫0tf0xs,usds. |
|
Jeżeli u jest pomyślne, to xt1=x1, dla pewnego t1≥0
i odpowiedni koszt to x0t1. Gdy u jest optymalne, to x0t1 jest najmniejsze.
Określamy wektor n+1–wymiarowy xt=x0t,xTtT oraz
Zakładamy, że f oraz f0
są ciągłe względem x,u oraz różniczkowalne w sposób ciągły względem x.
Zagadnienie 9.1 można sformułować w następującej, równoważnej postaci:
Problem 9.2
Niech x0∈Rn oraz Π będzie prostą w Rn+1:
gdzie x1∈Rn jest ustalonym punktem. Wśród sterowań u∈Um, o tej własności,
że rozwiązanie x(t)=x(t;x0,u(.)) zagadnienia
|
x˙t=fxt,utp.w., |
| (9.1) |
przecina prostą Π, znaleźć to, dla którego punkt
x1=x10,x1TT
przecięcia z prostą Π ma najmniejszą współrzędną x10.
Podobnie jak w definicji 9.1:
Definicja 9.2
Sterowanie u, o którym mowa w zagadnieniu 9.2, nazywamy sterowaniem
optymalnym (optimal control), a odpowiednią trajektorię x=xt
— trajektorią optymalną (optimal trajectory).
Wprowadzamy sprzężenie linearyzacji (adjoint to the linearization):
dla zadanego sterowania u i odpowiedzi x rozważamy n+1–wymiarowe
zagadnienie zlinearyzowane
|
w˙t=-fxxt,utTwtp.w.; |
| (9.2) |
Rozwiązanie tego zagadnienia nazywa się rozszerzonym ko-stanem (extended costate;
adjoint variable; Lagrange multiplier);
fxxt,ut jest macierzą Jacobiego f względem x,
|
fxxt,ut=∂fi∂xj=0∂f0∂x1…∂f0∂xn0∂f1∂x1…∂f1∂xn...0∂fn∂x1…∂fn∂xn |
|
(w pierwszej kolumnie są same zera, gdyż żadna z fi nie zależy jawnie od x0).
Zlinearyzowane równanie opisuje ewolucję wektora stycznego wzdłuż krzywej wyznaczonej przez
rozwiązanie zagadnienia wyjściowego. Sprzężone równanie zlinearyzowane opisuje ewolucję
wektorów prostopadłych — leżących w n-wymiarowej hiperpłaszczyźnie.
Dla zadanego x,u, rozważamy ko-stan i rzeczywistą funkcję (Hamiltonian)
|
Hw,x,u=wTf=∑j=0nwjtfjxt,ut, |
|
H nie zależy od x0, gdyż fj nie zależą od x0:
Mamy
|
x˙=gradwHw,x,u=∂H∂w0,∂H∂w1,…,∂H∂wnT,p.w. |
| (9.3) |
|
w˙=-gradxHw,x,u=-0,∂H∂x1,…,∂H∂xnT,p.w., |
| (9.4) |
gdzie równanie (9.3), to inny zapis równania (9.1), a równanie (9.4), to
inny zapis równania (9.2). Zatem równanie (9.3), to wyjściowy układ RRZ. W
układzie tym nie pojawia się ko–stan w.
Twierdzenie 9.1 (Zasada maksimum Pontriagina (Pontryagin
Maximum Principle) dla zagadnienia ustalonego punktu
końcowego (fixed–end–point) — (I))
Rozważamy rozszerzone zagadnienie sterowania
|
x˙j=∂∂wjHw,x,u,j=0,1,…,n |
|
z u∈Um. Jeżeli u∗ jest optymalne na 0,t1 z odpowiedzią
x∗, to istnieje absolutnie ciągła funkcja w spełniająca
|
w˙j=-∂∂xjHw,x∗,u∗,j=0,1,…,n,p.w.na0,t1 |
|
z
-
(i) Hwt,x∗t,u∗t=Mwt,x∗t
p.w. na 0,t1
-
(ii) Mwt,x∗t=0 na 0,t1
-
(iii) w0t=w00≤0 oraz wt≠0 na
0,t1.
Dowód: [36], rozdział 2, §10–15; [31], str. 134–146;
[19], str. 112–124; [6], str. 304–340.♣
Zasada określa warunek konieczny (necessary condition) sterowania optymalnego:
jeżeli u∗ jest optymalne dla zagadnienia (I), to istnieje para
x∗,w, t.ż. dla p.k. t∈0,t1
|
x˙=gradwjHw,x∗,u∗,orazHw,x∗,v≤0,∀v∈Ω, |
|
oraz równość jest osiągana dla v=u∗t — oczywiście może być również osiągana dla innych
wartości v.
Równość w (i) (bez ,,p.w.”) zachodzi, w każdym punkcie prawostronnej, lub lewostronnej
ciągłości sterowania u — por. [31], Lemma 1, str. 110.
Uwaga 9.2
Zasada maksimum Pontriagina dla swobodnego punktu końcowego — zagadnienie
(III) — rozdział 6. Jeżeli czas końcowy
t1>0 jest ustalony, a punkt końcowy x1 nie jest zadany, to twierdzenie 9.1
należy uzupełnić o warunek transwersalności (transversality
condition) — por. (9.6):
|
wjt1=0,j=1,…,n. |
| (9.5) |
Z twierdzenia 9.1 można wyprowadzić warunek konieczny dla sterowania czaso–optymalnego.
Niech w=w1…,wn. Mamy
oraz
|
Hw,x,u=w0+H0w,x,u,gdzieH0w,x,u=∑j=1nwjfjx,u. |
|
Wówczas mamy
|
xj=∂H0∂wj,wj=-∂H0∂xj,j=1,…,n. |
|
Niech
Z zależności
otrzymujemy
a zatem
|
H0wt,xt,ut=M0wt,xt=-w0≥0 . |
|
Twierdzenie 9.2 (Zasada maksimum Pontriagina
dla sterowania czaso-optymalnego)
Rozważamy zagadnienie
|
x˙j=∂∂wjH0w,x,u,j=1,…,n |
|
z u∈Um. Jeżeli u∗ jest czaso–optymalne z odpowiedzią x∗, to istnieje absolutnie
ciągła funkcja w spełniająca
|
w˙j=-∂∂xjH0w,x∗,u∗,j=1,…,n,p.w.na0,t1 |
|
z
-
(i) H0wt,x∗t,u∗t=M0wt,x∗t p.w. na 0,t1
-
(ii) M0wt,x∗t=-w0≥0 na 0,t1
-
Przykład 9.1 (wagon odrzutowy, [36], str. 29–34;
[19], str. 36, [31], str. 109, 111)
Por. przyklad 1.2, 2.4, 7.2. Przykład ten jest powtórzeniem
przykładu 7.2 ,,w języku” twierdzenia 9.1. Niech Ω=-1,1.
|
x=x0x1x2,x=x1x2,Cu=∫0t11dt=t1, |
|
|
x˙0=1,x˙1=x2,x˙2=u,fx,u=1x2u, |
|
|
fx=000001000,w=w0w1w2, |
|
|
Hw,x,v=wTfx,v=w00+w01x2+w02-w01tv, |
|
Z twierdzenia 9.1: jeżeli u∗ jest czaso–optymalne, to
istnieją liczby w0i, i=0,1,2, t.ż.
|
Hw,x∗,v≤0∀v∈-1,1,Hw,x∗,v=0p.w.dlav=u∗t, |
|
|
Mw,x∗=sup-1≤v≤1Hw,x∗,v=w00+w01x∗2t+w02-w01t |
|
a to jest osiągane jedynie dla
Funkcja liniowa w02-w01t jest albo tożsamościowo 0, albo zeruje się w co najwyżej
jednym punkcie. Zatem każde czaso–optymalne sterowanie jest p.w. albo tożsamościowo 0,
albo bang–bang. Nie może jednak być tożsamościowo 0, gdyż byłoby wtedy
w01=w02=0 i mielibyśmy w00≠0 (w nie może znikać), co by dawało
H=w00≠0, a zatem M=w00≠0, co byłoby sprzeczne z twierdzeniem
9.1 (ii); por. przykład 7.2.
Rozważmy przypadek, gdy punkt końcowy x1 nie jest ustalony, lecz należy do zadanego zbioru
S1, o którym zakładamy, że jest l–wymiarową gładką
rozmaitością (manifold; por. [12], str. 64)
w Rn, l<n — zagadnienie (II). Możemy sformułować następujące twierdzenie
Twierdzenie 9.3 (Zasada maksimum Pontriagina
dla zagadnienia dla punktu końcowego z zadanej rozmaitości — (II))
Rozważamy rozszerzone zagadnienie sterowania
|
x˙j=∂∂wjHw,x,u,j=0,1,…,n |
|
z u∈Um. Jeżeli u∗ jest optymalne na 0,t1 z odpowiedzią x∗,
to istnieje absolutnie ciągła funkcja w spełniająca
|
w˙j=-∂∂xjHw,x∗,u∗,j=0,1,…,n,p.w.na0,t1 |
|
z
-
(i) Hwt,x∗t,u∗t=Mwt,x∗t p.w. na 0,t1
-
(ii) Mwt,x∗t=0 na 0,t1
-
(iii) w0t=w00≤0 oraz wt≠0 na
0,t1
oraz spełniony jest warunek transwersalności (transversality
(transversal = orthogonal to the tangent space))
-
(iv) wektor wt1=w1t1,…,wnt1T jest prostopadły do
przestrzeni stycznej (tangent space) T1 do rozmaitości
S1 w punkcie xt1:
|
wTt1y=∑j=1nwjt1yj=0,∀y∈T1. |
| (9.6) |
Dowód: [36], rozdział 2, §16; [6], str. 306–344;
[28], Chapter 5, [20], rozdziały 12 i 13.♣
Uwaga 9.3
W przypadku zagadnienia swobodnego punktu końcowego — (III) — warunek transwersalności
(9.6) przyjmuje postać (9.5):
Przykład 9.2 (wagon odrzutowy, por. przykład 9.1,
[36], str. 51-61; [31], str. 125)
Rozważamy układ równań z przykładu 9.1 z Ω=-1,1, jednakże
cel określamy jako
czyli jesteśmy zainteresowani osiągnięciem położenia x1=0 z dowolną prędkością
x2∈R1.
Wektor styczny (w dowolnym punkcie 0,x2) do S ma postać
gdzie α2≠0. Warunek transwersalności przyjmuje więc postać
skąd w2t1=0. Ponieważ (por. przykład 9.1)
to z (9.7) wynika, że w2t na odcinku 0,t1 nie zmienia znaku.
Zatem każde czaso–optymalne sterowanie jest stałe i równe albo -1, albo 1,
bez przełączeń. Zatem przez każdy punkt początkowy x0 przechodzą tylko dwie
trajektorie, które mogą być optymalne (dla u≡-1 i u≡1).
Jeżeli x01>0 i punkt początkowy leży powyżej dolnej części trajektorii
przechodzącej przez 0, to jedynie trajektoria dla u≡-1 prowadzi do
S. Natomiast, gdy x01>0 i punkt początkowy leży na, lub poniżej
dolnej części trajektorii przechodzącej przez 0, to do celu prowadzi zarówno
trajektoria z u≡-1, jak i u≡1.
Mamy więc dwie trajektorie podlegające
zasadzie maksimum. Można jednak pokazać (ćwiczenie), że czas dojścia do
S w obu przypadkach jest różny i optymalnym sterowaniem jest
u≡-1. Analogicznie dla x01<0 optymalnym sterowaniem jest
u≡1. Można więc zsyntetyzować optymalne
sterowanie (synthesize the optimal control) wprowadzając
|
vx1,x2=+1dlax1<0-1dlax1>0 |
|
i rozważając układ
otrzymujac wszystkie optymalne trajektorie.
Analogia: Zagadnienie minimum rzeczywistej, gładkiej funkcji h na obszarze
D∈Rn.
Warunek konieczny (the necessary condition):
Jeżeli punkt x∗∈D jest minimum funkcji h, to
Wprowadzając gt=hx∗+tα, gdzie α∈Rn, α=1,
otrzymujemy
|
g′0=∑j=1n∂∂xjhx∗αj=gradxhx∗Tα=0 . |
|
Mamy
|
g′′t=∑j,k=1n∂2∂xj∂xkhx∗+tααjαk |
|
Warunkiem wystarczającym (sufficient condition) minimum jest
|
g′′0=∑j,k=1∂2∂xj∂xkhx∗αjαk>0, |
|
czyli macierz
|
∂2∂xj∂xkhx∗j,k=1,…,n |
|
jest dodatnio określona.