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)

S=x∈Rn⁢:⁢g⁢x=0⁢.

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ń:

∂∂⁡xj⁢h⁢x+∑k=1lwk⁢∂∂⁡xj⁢gk⁢x=0⁢,⁢j=1,…,n
gk⁢x=0⁢,⁢k=1,…,l

czyli

gradx⁢⁢h⁢x∗=-gradx⁢⁢wT⁢g⁢x∗⁢⁢g⁢x∗=0⁢,

zatem wektor ⁢gradx⁢h⁢x∗⁢ 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

x˙=f⁢x,u⁢,⁢x⁢0=x0⁢,

przechodzi przez x1 dla t1>0, tzn. x⁢t1=x1, znaleźć to, dla którego

C⁢u=∫0t1f0⁢x⁢t,u⁢t⁢⁢d⁢t⁢,

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=x⁢t — trajektorią optymalną (optimal trajectory).

Zauważmy, że jeżeli sterowanie u=u⁢t, 0≤t≤t1, prowadzi x0 do x1 z wartością C⁢u=J, to sterowanie u~=u⁢t+τ, -τ≤t≤t1-τ także prowadzi x0 do x1 z wartością C⁢u~=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=u⁢t, 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 C⁢u na odcinkach 0,τ0, τ0,τ1, τ1,t1 będą oznaczone przez J1, J2 i J3, odpowiednio. Wówczas wartość C⁢u 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ą C⁢u~=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

x0⁢t=∫0tf0⁢x⁢s,u⁢s⁢⁢d⁢s⁢.

Jeżeli u jest pomyślne, to x⁢t1=x1, dla pewnego t1≥0 i odpowiedni koszt to x0⁢t1. Gdy u jest optymalne, to x0⁢t1 jest najmniejsze.

Określamy wektor n+1–wymiarowy x⁢t=x0⁢t,xT⁢tT oraz

f⁢t,x=f0,fTT⁢t,x⁢.

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:

Π=⁢y,x1TT∈Rn+1⁢:⁢y∈R1⁢⁢,

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=f⁢x⁢t,u⁢t⁢⁢p.w., (9.1)
x⁢0=x0=0,x0TT∈Rn+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=x⁢t — 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=-fx⁢x⁢t,u⁢tT⁢⁢w⁢t⁢⁢p.w.; (9.2)

Rozwiązanie tego zagadnienia nazywa się rozszerzonym ko-stanem (extended costate; adjoint variable; Lagrange multiplier);

fx⁢x⁢t,u⁢t jest macierzą Jacobiego f względem x,

fx⁢x⁢t,u⁢t⁢=∂⁡⁢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)

H⁢w,x,u=wT⁢⁢f=∑j=0nwj⁢t⁢⁢fj⁢x⁢t,u⁢t⁢,

H nie zależy od x0, gdyż fj nie zależą od x0:

H⁢w,x,u=H⁢w,x,u⁢.

Mamy

x˙=gradw⁢H⁢w,x,u=∂⁡⁢H∂⁡⁢w0,∂⁡⁢H∂⁡⁢w1,…,∂⁡⁢H∂⁡⁢wnT⁢,⁢p.w. (9.3)
w˙=-gradx⁢H⁢w,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.

Definicja 9.3
M⁢w,x=supv∈Ω⁡H⁢w,x,v
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=∂∂⁡wj⁢H⁢w,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=-∂∂⁡xj⁢H⁢w,x∗,u∗⁢,⁢j=0,1,…,n⁢,⁢p.w.⁢na⁢⁢0,t1

z

  • (i) H⁢w⁢t,x∗⁢t,u∗⁢t=M⁢w⁢t,x∗⁢t p.w. na 0,t1

  • (ii) M⁢w⁢t,x∗⁢t=0 na 0,t1

  • (iii) w0⁢t=w0⁢0≤0 oraz w⁢t≠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˙=gradwj⁢H⁢w,x∗,u∗⁢,⁢⁢oraz⁢⁢⁢H⁢w,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):

wj⁢t1=0⁢,⁢j=1,…,n⁢. (9.5)

Z twierdzenia 9.1 można wyprowadzić warunek konieczny dla sterowania czaso–optymalnego. Niech w=w1⁢…,wn. Mamy

f0≡1⁢,⁢x0⁢t=t

oraz

H⁢w,x,u=w0+H0⁢w,x,u⁢,⁢gdzie⁢⁢H0⁢w,x,u=∑j=1nwj⁢fj⁢x,u⁢.

Wówczas mamy

xj=⁢∂⁡H0∂⁡wj⁢,⁢wj=-∂⁡H0∂⁡xj⁢,⁢j=1,…,n⁢.

Niech

M0⁢w,x=supv∈Ω⁡H0⁢w,x,v⁢.

Z zależności

H0⁢w,x,u=H⁢w,x,u-w0

otrzymujemy

M0⁢w,x=M⁢w,x-w0

a zatem

H0⁢w⁢t,x⁢t,u⁢t=M0⁢w⁢t,x⁢t=-w0≥0 .
Twierdzenie 9.2 (Zasada maksimum Pontriagina dla sterowania czaso-optymalnego)

Rozważamy zagadnienie

x˙j=∂∂⁡wj⁢H0⁢w,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=-∂∂⁡xj⁢H0⁢w,x∗,u∗⁢,⁢j=1,…,n⁢,⁢p.w.⁢na⁢⁢0,t1

z

  • (i) H0⁢w⁢t,x∗⁢t,u∗⁢t=M0⁢w⁢t,x∗⁢t p.w. na 0,t1

  • (ii) M0⁢w⁢t,x∗⁢t=-w0≥0 na 0,t1

  • (iii) w⁢t≠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⁢,⁢C⁢u=∫0t11⁢⁢d⁢t=t1⁢,
x˙0=1⁢,⁢x˙1=x2⁢,⁢x˙2=u⁢,⁢f⁢x,u=1x2u⁢,
fx=000001000⁢,⁢w=w0w1w2⁢,
w˙0=w˙1=0⁢,⁢w˙2=-w1⁢,
H⁢w,x,v=wT⁢f⁢x,v=w00+w01⁢x2+w02-w01⁢t⁢v⁢,

Z twierdzenia 9.1: jeżeli u∗ jest czaso–optymalne, to istnieją liczby w0i, i=0,1,2, t.ż.

H⁢w,x∗,v≤0⁢⁢∀⁢v∈-1,1⁢,⁢H⁢w,x∗,v=0⁢⁢p.w.⁢dla⁢⁢v=u∗⁢t⁢,
M⁢w,x∗=sup-1≤v≤1⁡H⁢w,x∗,v=w00+w01⁢x∗2⁢t+w02-w01⁢⁢t

a to jest osiągane jedynie dla

u⁢t=sign⁢w02-w01⁢⁢t⁢.

Funkcja liniowa w02-w01⁢t 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=∂∂⁡wj⁢H⁢w,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=-∂∂⁡xj⁢H⁢w,x∗,u∗⁢,⁢j=0,1,…,n⁢,⁢p.w.⁢na⁢⁢0,t1

z

  • (i) H⁢w⁢t,x∗⁢t,u∗⁢t=M⁢w⁢t,x∗⁢t p.w. na 0,t1

  • (ii) M⁢w⁢t,x∗⁢t=0 na 0,t1

  • (iii) w0⁢t=w0⁢0≤0 oraz w⁢t≠0 na 0,t1

oraz spełniony jest warunek transwersalności (transversality (transversal = orthogonal to the tangent space))

  • (iv) wektor w⁢t1=w1⁢t1,…,wn⁢t1T jest prostopadły do przestrzeni stycznej (tangent space) T1 do rozmaitości S1 w punkcie x⁢t1:

    wT⁢t1⁢y=∑j=1nwj⁢t1⁢yj=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):

w⁢t1=0 .
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

T(t)≡S={[x1x2]∈R2,x1=0},

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ć

α=0α2⁢,

gdzie α2≠0. Warunek transwersalności przyjmuje więc postać

wT⁢t1⁢α=0⁢, (9.7)

skąd w2⁢t1=0. Ponieważ (por. przykład 9.1)

w2⁢t=w02-w01⁢t⁢,

to z (9.7) wynika, że w2⁢t 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

v⁢x1,x2=⁡+1dlax1<0-1dlax1>0⁢

i rozważając układ

x˙1=x2x˙2=v⁢x1,x2

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

∂∂⁡xj⁢h⁢x∗=0⁢,⁢j=1,…,n⁢.

Wprowadzając g⁢t=h⁢x∗+t⁢α, gdzie α∈Rn, α=1, otrzymujemy

g′⁢0=∑j=1n∂∂⁡xj⁢h⁢x∗⁢αj=gradx⁢h⁢x∗T⁢α=0 .

Mamy

g′′⁢t=∑j,k=1n∂2∂⁡xj⁢∂⁡xk⁢h⁢x∗+t⁢α⁢αj⁢αk

Warunkiem wystarczającym (sufficient condition) minimum jest

g′′⁢0=∑j,k=1∂2∂⁡xj⁢∂⁡xk⁢h⁢x∗⁢αj⁢αk>0⁢,

czyli macierz

∂2∂⁡xj⁢∂⁡xk⁢h⁢x∗j,k=1,…,n

jest dodatnio określona.

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.