1 Perusteita lineaarisista differentiaaliyhtälöistä Johdetaan lineaarisen aikavariantin systeemin ẋ(t) = A(t)x(t) + B(t)u(t), x(t 0 ) = x 0 yleinen ratkaisu. Tarkastellaan ensin homogeenistä yhtälöä. Lause 1.1. Alkuarvotehtävällä on olemassa yksikäsitteinen ratkaisu x(t) jokaisella x 0. Tod: Sivuutetaan. ẋ(t) = A(t)x(t), x(t 0 ) = x 0 (1) Lause 1.2. Olkoot vektorit e 1,...,e n kanonisia ortonormeerattuja kantavektoreita. Tehtävän ẋ i (t) = A(t)x i (t), x i (t 0 ) = e i ratkaisut x i (t) voidaan kooda ns. fundamentaalimatriisiksi ] Φ(t, t 0 ) = x 1 (t)... x n (t). Kaikilla ajan hetkillä t fundamentaalimatriisin Φ(t, t 0 ) sarakkeet ovat lineaarisesti riippumattomia. Tehtävän (1) ratkaisu voidaan kirjoittaa x(t) = Φ(t, t 0 )x 0. Tod: Olkoot τ kiinteä mutta mielivaltainen ajanhetki, ja c 1,...,c n mielivaltaisia kertoimia siten, että c 1 x 1 (τ) +... + c n x n (τ) = 0. Asetetaan Silloin pätee y(t) = c 1 x 1 (t) +... + c n x n (t). y(τ) = 0, ẏ(t) = A(t)y(t). Eräs ratkaisu tälle on y(t) 0. Koska ratkaisu oli yksikäsitteinen, on tämä myös ainoa ratkaisu. Silloin on oltava y(t 0 ) = c 1 e 1 +... + c n e n = 0, ja siten kaikki kertoimet c 1 =... = c n = 0. Näin ollen fundamentaaliratkaisut x i (t) ovat lineaarisesti riippumattomia kaikilla t. Fundamentaalimatriisille Φ(t, t 0 ) pätee (kierroksen 1 kotitehtävä) Φ(t, t 0 ) = A(t)Φ(t, t 0 ), Φ(t 0, t 0 ) = I, joten asettamalla saadaan x(t) = Φ(t, t 0 )x 0 ẋ(t) = Φ(t, t 0 )x 0 = A(t)Φ(t, t 0 )x 0 = A(t)x(t). 1
Huomaa, että joten x(t) = Φ(t, τ)x(τ) = Φ(t, τ)φ(τ, t 0 )x 0, t, τ, t 0, Φ(t, t 0 ) = Φ(t, τ)φ(τ, t 0 ) Φ(t, τ) = Φ(t, t 0 )Φ(τ, t 0 ) 1, koska fundamentaalimatriisi oli edellä osoitettu kääntyväksi. Todistetaan, että yleisen alkuarvotehtävän ẋ(t) = A(t)x(t) + B(t)u(t), x(t 0 ) = x 0 ratkaisu voidaan kirjoittaa muodossa Suoraan derivoimalla saadaan x(t) = Φ(t, t 0 )x 0 + t ẋ(t) = d dt Φ(t, t 0)x 0 + Φ(t, t)b(t)u(t) + t 0 Φ(t, τ)b(τ)u(τ) ds. t t t 0 d Φ(t, τ)b(τ)u(τ) dτ dt = A(t)Φ(t, t 0 )x 0 + B(t)u(t) + A(t)Φ(t, τ)b(τ)u(τ) dτ t 0 t ] = A(t) Φ(t, t 0 )x 0 + Φ(t, τ)b(τ)u(τ) dτ + B(t)u(t) t 0 = A(t)x(t) + B(t)u(t) ja koska myös alkuehto totetuu, on väite todistettu. Esim. Ratkaistavana ẋ(t) = ax(t) + bu(t) s.e. x(0) = x 0. Nyt Φ saadaan tehtävän ẋ = ax, x(t 0 ) = 1 ratkaisuna, eli Φ(t, t 0 ) = e a(t t 0). Saadaan siis x(t) = x 0 e at + b t 0 ea(t τ) u(τ)dτ. 2
2 Perusteita epälineaarisesta ohjelmoinnista 2.1 Välttämättömät ehdot optimointitehtävälle Rajoittamattoman optimointitehtävän min g(x) x R n välttämätön optimaalisuusehto lokaalille optimille on g(x) = 0. Ehto on riittävä lokaalille x optimille, kun Hessen matriisi 2 g(x) on positiivisesti definiitti. Ehto on riittävä globaalille x 2 optimille silloin, kun f on konveksi funktio. Rajoitettu tehtävä: min g(x) s.e. f(x) = 0 ja h(x) 0, missä f(x) R m 1 ja h(x) R m 2. Tehtävän Lagrangen funktio on L(x, µ, λ) = g(x) + λ T f(x) + µ T h(x), missä Lagrangen kertoimet λ R m 1 ja µ R m 2. Tehtävän välttämätön optimaalisuusehto lokaalille optimille on L(x, µ, λ) x = 0 ja µ T h(x) = 0, µ 0. Lisäksi optimin on oltava käypä. Ehto on välttämätön kun rajoitteet ovat riittävän säännöllisiä. Rajoitteilta siis vaaditaan lisäominaisuuksia, kuten se, että sekä kaikkien rajoitteiden gradientit ovat optimissa lineaarisesti rippumattomia. Ehto on riittävä, kun L:n Hessen matriisi (x:n suhteen) on positiivisesti definiitti optimissa. 2.2 Diskreettiaikaisen tehtävän välttämättömät ehdot Johdetaan ensiksi välttämättömät ehdot diskreettiaikaiselle optimisäätötehtävälle. Tilayhtälö on x k+1 = f k (x k, u k ), k = 1,...,N 1 alkuehdolla x 1 = x 0 1, ja tavoite on maksimoida kohdefunktio J(u) = g N (x N ) + N 1 k=1 g k (x k, u k ). Tehtävä voidaan ajatella epälineaarisena optimointitehtävänä, jossa optimoidaan tilamuuttujien ja ohjausmuuttujien suhteen ja tilayhtälöt ovat yhtälörajoitteita. Tehtävän Lagrangen funktio määritellään Lagrangen kertoimien λ k avulla: L(x, λ) = g N (x N ) + N 1 k=1 { gk (x k, u k ) λ k+1 xk+1 f k (x k, u k ) ]}. 3
Mikäli tehtävän ohjaukset u k ovat rajoittamattomia, niin välttämättömät ehdot ekstremaalille ovat L = 0, k = 2,...,N (2) L u k = 0, k = 1,...,N 1 (3) Lisäksi vaaditaan tilayhtälöiden (eli yhtälörajoitteiden) toteutuminen. Tilayhtälöt huomioiden saadaan yhteensä 3N 3 yhtälöä yhtä monelle tuntemattomalle x 2,...,x N, u 1,..., u N 1,...,λ 2,...,λ N. (4) Yhtälö (2) antaa eli Yhtälöstä (3) saadaan g k + λ k+1 f k λ k = 0 λ k = g k + λ k+1 f k, k = 2,...,N. (5) g k u k + λ k+1 f k u k = 0, k = 1,..., N 1. (6) Eliminoimalla λ k+1 yhtälöstä (5) ja sijoittamalla se yhtälöön (6) saadaan differenssiyhtälö x k :lle ja u k :lle optimissa. Tätä yhtälöä kutsutaan joskus Eulerin ehdoksi. Kyseinen välttämätön ehto vastaa jatkuvan ajan systeemien Eulerin yhtälöä, siitä nimitys. Välttämättömät ehdot voidaan kirjoittaa myös käyttäen Hamiltonin funktiota H k (x k, u k, λ k+1 ) g k (x k, u k ) + λ k+1 f k (x k, u k ), (7) jolloin välttämättömät ehdot muuttuvat muotoon x k+1 = f k (x k, u k ), k = 1,...,N 1 (8) λ k = H k(x k, u k, λ k+1 ), k = 2,..., N (9) 0 = H k(x k, u k, λ k+1 ) u k, 1 = 2,..., N 1. (10) Jos ohjaukset olisivatkin rajoitettuja, voitaisiin todistaa diskreetti versio Pontryaginin minimiperiaatteesta. Tämä korvaisi ehdon (6). Esim. diskreetin ajan tilasäätäjäongelma Tilayhtälö: x k+1 = A k x k + B k u k, k = 0,..., N 1 alkuehdolla x 0 = x 0 ja lopputila vapaa, ts. g N 0. Kohdefunktionaali on min J = 1 2 N 1 k=0 x T k+1 Q k+1 x k+1 + u T k R ku k ]. 4
Erityisesti on oltava Tilasäätäjäongelman Hamiltonin funktio on λ N = 1 ] x T 2 x N Q N x N = QN x N. N H k (x k, u k, λ k+1 ) = 1 2 x T k+1 Q k+1 x k+1 + u T k R k u k ] + λ T k+1 A k x k + B k u k ] = 1 ] (Ak x k + B k u k ) T Q k+1 (A k x k + B k u k ) + u T k R k u k 2 +λ T k+1 A kx k + B k u k ] Ohjaus on rajoittamaton, joten optimaalinen ohjaus saadaan ratkaistua yhtälöstä H k u k = B T k Q k+1a k x k + B T k Q k+1b k u k + R k u k + B T k λ k+1 = B T k Q k+1(a k x k + B k u k ) + R k u k + B T k λ k+1 = B T k Q k+1 x k+1 + R k u k + B T k λ k+1 = 0, eli optimiohjaus on Liittotilayhtälöstä saadaan u k = R 1 k BT k Q k+1x k+1 + λ k+1 ]. λ k = H k = A T k Q k+1a k x k + A T k Q k+1b k u k + A T k λ k+1 ] = A T k Qk+1 (A k x k + B k u k ) + λ k+1 = A T k Qk+1 x k+1 + λ k+1 ]. Tehdään oletus, jonka mukaan liittotila on muotoa jollakin matriiseilla K k. Silloin optimiohjaus on muotoa ja sijoittamalla tilayhtälöihin saadaan josta seuraa Vastaavasti liittotilayhtälöistä saadaan λ k = (K k Q k )x k, (11) u k = R 1 k BT k K k+1x k+1 (12) x k+1 = A k x k B k R 1 k BT k K k+1x k+1, (13) Λ k x k+1 I + B k R 1 k BT k K k+1] xk+1 = A k x k. (14) λ k = A T k K k+1x k+1, (15) joten (K k Q k )x k = A T k K k+1 x k+1. (16) 5
Jos nyt matriisi Λ k on säännöllinen niin Λ 1 k on olemassa, ja voidaan kirjoittaa: x k+1 = Λ 1 k A kx k. (17) Sijoittamalla tämä yhtälöön (16) saadaan Kk Q k ] xk = A T k K k+1λ 1 k A k] xk. (18) Koska yhtälön (18) tulee toteutua kaikilla x k, niin on oltava Lisäksi, koska λ N = Q N x N niin silloin K k = Q k + A T k K k+1λ 1 k A k. (19) K N = 2Q N. (20) Tästä rekursiosta voidaan ratkaista K k :t. Nyt ollaan saatu takaisinkytketty optimiohjaus u k = R 1 k BT k K k+1λ 1 k A kx k. (21) Tällöin jokaisella ajan hetkellä ohjauksen laskemiseksi joudutaan ratkaisemaan lineaarinen yhtälöryhmä. Lainataan seuraava matriisien inversiolemma: Lemma 2.1. Olkoot I n yksikkömatriisi kokoa n n, S ja T matriiseja kokoa n r ja r n. Silloin: (I n + ST T ) 1 = I n S(I r + T T S) 1 T T, jos käänteismatriisit ovat olemassa. Todistus. Laskemalla (I + ST T )(I S(I + T T S) 1 T T ) =... = I. Sijoittamalla lemmaan S = B k ja T T = R 1 k BT k K k+1 saadaan Λ 1 k = I B k (I r + R 1 k BT k K k+1 B k ) 1 R 1 k BT k K k+1 = I B k Rk (I r + R 1 k BT k K k+1b k )] 1 B T k K k+1 = I B k Rk + B T k K k+1b k ] 1 B T k K k+1. Nyt riittää ratkaista r r yhtälöryhmä. Jos ohjausvektorin dimensio r on pienempi kuin tilavektorin dimensio n, niin säästyy laskenta-aikaa. Merkitään ja nyt ratkaisu voidaan kirjoittaa P k R k + B T k K k+1b k ] 1 B T k (22) x k+1 u k = (I B k P k K )A k x k = R 1 k BT k K ] k+1 I Bk P k K k+1 Ak x k K k = Q k + A T k K ] k+1 I Bk P k K k+1 Ak, K N = 2Q N P k = R k + B T k K k+1b k ] 1 B T k. 6
3 Tilayhtälöiden numeerinen ratkaiseminen Alkuarvotehtävässä halutaan ratkaista lopputila x(t f ) siten, että tilayhtälöt ẋ = f(x,u, t) toteutuvat, kun alkutila x 0 ja ohjaus u on annettu Tilayhtälöiden numeerinen integrointi voidaan suorittaa joko yksi- tai moniaskelmenetelmillä Yksiaskelmenetelmissä tilayhtälöt integroidaan askeleen h i = t i+1 t i yli alkutilasta x i x(t i ) x i+1 = x i + ti+1 t i ẋdt = x i + ti+1 Integraalin määrittämiseksi askel h i jaetaan k:hon osaan t i f(x,u, t)dt τ j = t i + h i ρ j, 0 ρ 1... ρ k 1 Välivaiheiden jälkeen saadaan joukko yksiaskelmenetelmiä, joita kutsutaan k-vaiheisiksi Runge-Kutta menetelmiksi ja joiden globaali virhe O(h p ). Määritellään f i f(x(t i ),u(t i ), t i ) sekä u i+1 u(t i + h i /2). Eulerin menetelmä (eksplisiittinen, k = 1, p = 1) x i+1 = x i + h i f i Hermite-Simpson menetelmä (implisiittinen, k = 3, p = 4) x i+1 = 1 2 (x i + x i+1 ) + h i 8 (f i f i+1 ) ( f i+1 = f x i+1,u i+1, t i + h ) i 2 x i+1 = x i + h i 6 (f i + 4f i+1 + f i+1 ) Puolisuunnikasmenetelmä (implisiittinen, k = 2, p = 2) x i+1 = x i + h i 2 (f i + f i+1 ) Klassinen Runge-Kutta menetelmä (eksplisiittinen, k = 4, p = 4) k 1 = h i f(x i,u i, t i ) ( k 2 = h i f x i + 1 2 k 1,u i+1, t i + h ) i 2 ( k 3 = h i f x i + 1 2 k 2,u i+1, t i + h ) i 2 k 4 = h i f(x i + k 3,u i+1, t i+1 ) x i+1 = x i + 1 6 (k 1 + 2k 2 + 2k 3 + k 4 ) 7
Eksplisittisten menetelmien etu on, että x i+1 saadaan laskettua suoraan x i :n sekä ohjausten funktiona Eksplisiittiset menetelmät voivat olla toisaalta epästabiileja Differentiaaliyhtälön ẋ = 1000x Eulerin diskretointi x k+1 = x k 1000hx k x k = (1 1000h) k x 0 Jotta numeerinen ratkaisu konvergoisi tarkkaan ratkaisuun x(t) = e 1000t x 0 0, vaaditaan 1 1000h < 1, eli h 1/500 Implisiittisissä menetelmissä riippuvuus x i+1 :stä on usein epälineaarinen Esimerkiksi implisiittisessä Eulerin menetelmässä vaaditaan epälineaarisen yhtälön ratkaisemista ζ i x i+1 x i + h i f(x i+1,u i+1, t i+1 ) = 0 Yhtälön ratkaisemiseksi vaadittavia iteraatioita kutsutaan korjausiteraatioiksi, kun taas alkuyrite tuotetaan ns. ennustusaskeleella Implisiittiset menetelmät ovat stabiileja Em. differentiaaliyhtälölle implisiittinen Eulerin diskretointi x k+1 = x k 1000hx k+1 x k = (1 + 1000h) k x 0, joten menetelmä on stabiili (x 0 kaikilla h > 0) 1 h = 1/650 0.8 Implisiittinen Euler 0.6 0.4 Tarkka ratkaisu 0.2 0 0.2 0.4 Eksplisiittinen Euler 0.6 0 0.0025 0.005 0.0075 0.01 8
Moniaskelmenetelmien yleinen muoto k 1 x i+k = α j x i+j + h j=0 k β j f i+j missä α j ja β j ovat tunnettuja vakioita. Jos β k = 0, menetelmä on eksplisiittinen, muuten implisiittinen. Adamsin menetelmissä tilayhtälöitä f(t) approksimoidaan interpolanteilla pisteissä {(x q (t i ), f q (t i )) i = l k + 1,..., l; q = 1,..., n} Lisävaatimuksia yksiaskelmenetelmiin nähden Moniaskelmenetelmä vaatii tietoa k 1 edeltävästä pisteestä, joten menetelmä täytyy alustaa esim. jollain yksiaskelmenetelmällä Moniaskelmenetelmässä oletetaan, että askelpituus h on vakio: tarkkuus? j=0 9
4 Johdanto kollokaatiomenetelmiin 4.1 Funktionaaliyhtälöiden ratkaiseminen Olk. y : A R n, A R m, merkitään y:n argumenttia t:llä y(t). Ratkaistavana on funktionaaliyhtälö F(y) = 0, missä y kuuluu funktioavaruuteen Y 1 ja F(y) funktioavaruuteen Y 2. Esim. 1. Kun halutaan ratkaista differentiaaliyhtälösysteemi ẋ = f(x, t) kaikilla t t 1, t 2 ], niin F(x)(t) = ẋ(t) f(x, t). Esim. 2. Ratkaistaan arvofunktiota kiinnitetyillä ohjauksilla V (x) Bellmanin yhtälössä. Tällöin F(V )(x) = V (x) g(x, u)+αv (f(x, u))]. Tämä on osaongelma Bellmanin yhtälön numeerisessa ratkaisemisessa ns. politiikkaiteraatiolla. Muodostetaan y:lle approksimaatio kantafunktioiden φ i : A R n, i = 1,..., k, avulla: ỹ(t) = c i φ i (t). Tavoitteena on löytää sellainen ỹ, joka ratkaisee yhtälön F(y) = 0 mahdollisimman tarkasti. Siis haetaan parametreja c i. Arviodaan sovituksen hyvyyttä käyttämällä kriteerinä residuaalifunktiota R(t; c) = F(ỹ)(t), missä c = (c 1,...,c k ). Kollokaatiomenetelmässä haetaan c siten että R(t; c) = 0 toteutuu mahdollisimman hyvin (ellei tarkasti) valituissa kollokaatiopisteissä t 1,...,t p. Kollokaatiomenetelmää käytettäyessä tulee 1. valita sopivat kantafunktiot, 2. kollokaatiopisteet ja 3. menetelmä c:n ratkaisemiseksi. 1. Kantafunktioiden valinta: Kantafunktioiden on oltava riittävän joustavia tehtävän tarpeisiin. Funktiomuodon oltava mieluiten sellainen, että tulokset ovat hyviä pienellä määrällä kantafunktioita. Kun approksimoitava muuttuja on yksidimensioinen, niin usein hyvä valinta on nk. Chebyshevin polynomit. 2. Kollokaatiopisteiden valinta: Yksidimensioisessa tapauksessa ns. Chebyshevin kollokaatiopisteet ovat usein hyvä valinta. 3. Menetelmä parametrien ratkaisemiseksi: Kun kollokaatiopisteitä on sama määrä kuin kantafunktioita, voidaan kertoimet c ratkaista kollokaatioehdoista syntyvästä yhtälöryhmästä. Kun kantafunktioita on vähemmän kuin kollokaatiopisteitä, voidaan c ratkaista esim. pienimmän neliösumman menetelmällä. 4.2 Tilamuuttujan approksimointi polynomeilla Approksimoidaan tilayhtälöiden ẋ = f(x, t) ratkaisua välillä t 1, t 2 ] astetta p olevalla polynomilla (kantafunktiot polynomeja) x(t) = c 0 + c 1 (t t 1 ) + c 2 (t t 1 ) 2 + + c k (t t 1 ) p, missä c i R n ja n on x(t):n dimensio. Residuaalifuntio on siis R(τ; c) = d x (τ) f x(τ), τ]. dt 10
Vaaditaan, että R(τ j ; c) = 0 toteuttuu kollokaatiopisteissä τ j (t 1, t 2 ), j = 1,...,k (kollokaatioehdot). Lisäksi vaaditaan, että x(t i ) x i = 0. Lobatton menetelmissä välin pääte- ja sisäpisteet kollokaatiopisteitä Gaussin menetelmissä vain sisäpisteet kollokaatiopisteitä Radaun menetelmissä vain toinen päätepiste on kollokaatiopiste Runge-Kutta menetelmistä puolisuunnikasmenetelmä ja Hermite-Simpson ovat Lobatton menetelmiä Puolisuunnikas: p = 2, kollokaatio alku- ja loppupisteessä Hermite-Simpson: p = 3, kollokaatio alku-, keski- ja loppupisteessä 11