Mat-2.148 Dynaaminen optimointi, mallivastaukset, kierros 9 1. 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än Lagrangen funktio määritellään Lagrangen kertoimien λ k avulla: L = g N (x N ) + N 1 k=1 { gk (x k, u k ) λ k+1 [ xk+1 f k (x k, u k ) ]}. 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 (1) L u k = 0, k = 1,..., N 1 (2) L λ k = 0, k = 2,..., N (3) Tässä on yhteensä 3N 3 yhtälöä yhtä monelle tuntemattomalle Yhtälö (1) antaa Yhtälöstä (2) saadaan x 2,..., x N, u 1,..., u N 1,..., λ 2,..., λ N. g k + λ k+1 f k λ k = 0 λ k = g k + λ k+1 f k, k = 2,..., N. (4) g k u k + λ k+1 f k u k = 0, k = 1,..., N 1. (5) 1
Kolmas ehto toteaa yksinkertaisesti, että tilayhtälöiden tulee toteutua ekstremaalilla. Nyt voidaan määritellä tehtävän Hamiltonin funktio H k (x k, u k, λ k+1 ) g k (x k, u k ) + λ k+1 f k (x k, u k ), (6) jolloin välttämättömät ehdot muuttuvat muotoon x k+1 = f k (x k, u k ), k = 1,..., N 1 (7) λ k = H k(x k, u k, λ k+1 ), k = 2,..., N (8) 0 = H k(x k, u k, λ k+1 ) u k, 1 = 2,..., N 1. (9) Jos ohjaukset olisivatkin rajoitettuja, voitaisiin todistaa diskreetti versio Pontryaginin minimiperiaatteesta. Tämä korvaisi ehdon (5). Ratkaistaan seuraavaksi 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 N 1 [ ] x T 2 k+1 Q k+1 x k+1 + u T k R k u k. Erityisesti on oltava k=0 λ N = 1 [ ] x T 2 x N Q N x N = QN x N. N Tilasäätäjäongelman Hamiltonin funktio on 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 k x k + B k u k ] Ohjaus on rajoittamaton, joten optimaalinen ohjaus saadaan ratkaistua yhtälöstä H k u k = Bk T Q k+1 A k x k + Bk T Q k+1 B k u k + R k u k + Bk T λ k+1 = Bk T Q k+1 (A k x k + B k u k ) + R k u k + Bk T λ k+1 = B T k Q k+1 x k+1 + R k u k + B T k λ k+1 = 0, 2
optimiohjaus on Liittotilayhtälöstä saadaan u k = R 1 k BT k [Q k+1 x k+1 + λ k+1 ]. λ k = H k = A T k Q k+1 A k x k + A T k Q k+1 B 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 λ k = (K k Q k )x k, (10) jollakin matriiseilla K k. Silloin optimiohjaus on muotoa ja sijoittamalla tilayhtälöihin saadaan u k = R 1 k BT k K k+1 x k+1 (11) josta seuraa x k+1 = A k x k B k R 1 k BT k K k+1 x k+1, (12) Λ k x k+1 [ I + B k R 1 k BT k K k+1 ] xk+1 = A k x k. (13) Vastaavasti liittotilayhtälöistä saadaan joten λ k = A T k K k+1 x k+1, (14) (K k Q k )x k = A T k K k+1 x k+1. (15) Jos nyt matriisi Λ k on säännöllinen niin Λ 1 k on olemassa, ja voidaan kirjoittaa: x k+1 = Λ 1 k A kx k. (16) Sijoittamalla tämä yhtälöön (15) saadaan [ ] Kk Q k xk = [ A T k K k+1 Λ 1 k A k] xk. (17) Koska yhtälön (17) tulee toteutua kaikilla x k, niin on oltava K k = Q k + A T k K k+1 Λ 1 k A k. (18) 3
Lisäksi, koska λ N = Q N x N niin silloin K N = 2Q N. (19) 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. (20) Tällöin jokaisella ajan hetkellä ohjauksen laskemiseksi joudutaan ratkaisemaan lineaarinen yhtälöryhmä. Lainataan seuraava matriisien inversiolemma: Lemma 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+1 B k )] 1 Bk T K k+1 = I B k [ Rk + B T k K k+1 B k ] 1B 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 P k [ R k + B T k K k+1 B k ] 1B T k (21) ja nyt ratkaisu voidaan kirjoittaa x k+1 = (I B k P k K k+1 )A k x k [ ] u 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+1 B k ] 1B T k. 4
2. Seurantatehtävä ulkoisella (deterministisellä) häiriöllä ẋ(t) = A(t)x(t) + B(t)u(t) + z(t) ja tehtävä on minimoida nöllinen kustannus min J = 1 2 [x(t f) r(t f )] T F [x(t f ) r(t f )] + 1 tf 2 + [x(t) r(t)] T Q(t)[x(t) r(t)] + u T (t)r(t)u(t) dt, t 0 missä F ja Q(t) symmetrisiä pos.semideniittejä, R symmetrinen pos.deniitti, z(t) on annettu ulkoinen häiriö ja r(t) on referenssitilatrajektori, jota tulisi noudattaa. Määritellään Hamiltonin funktio H (x, u, p, t) = 1 2 x r 2 Q + u 2 R + p T (Ax + Bu + z), missä on käytetty lyhennysmerkintää y V = y T V y. Ohjausten u ollessa rajoittamattomia täytyy optimiratkaisulle päteä Liittotilayhtälöistä H u = Ru BT p = 0 u (t) = R 1 (t)b T (t)p(t). ṗ(t) = H x = Q[x r] AT p ṗ(t) = Q(t)x(t) A T (t)p(t) + Q(t)r(t), reunaehdoilla p(t f ) = F [x(t f ) r(t f )]. Oletetaan, että liittotila on muotoa p(t) = K(t)x(t) + S(t), joillain matriiseilla K(t) ja S(t). Silloin: ṗ(t) = K(t)x(t) + K(t)ẋ(t) + Ṡ(t). Yhdistämällä saadut yhtälöt + tilayhtälö saadaan Qx+Qr A T [Kx+S] = Kx+KAx KBR 1 B T [Kx+S]+Kz +Ṡ. 5
Kokoamalla termejä saadaan [ Q A T K K KA + KBR 1 B T K ] x + [ A T S + Qr + KBR 1 B T S Kz Ṡ] = 0. Tämä yhtälö on voimassa kaikilla x(t), r(t) ja z(t) kun K = KA A T K Q + KBR 1 B T K Ṡ = [A T KBR 1 B T ]S + Qr Kz Näistä ensimmäinen on sama Riccatin yhtälö kuin tilasäätäjän tapauksessa, ja toinen yhtälö kertoo ulkoisen tekijän sekä referenssin aiheuttaman korjauksen liittotiloihin. 3. Optimikulutustehtävä T max e rt U(C(t)) dt 0 missä pääoman muutoksen yhtälö on K(t) = ik(t) C(t), K(0) = K 0. Pääoman tuottavuus on i ja hyötyfunktiolle U(.) pätee lim U C =, U CC < 0. C 0 Tällöin optimikulutukselle pätee C(t) > 0. Esimerkiksi kaikki funktiot muotoa U(C) = C 1/n, n > 1 ovat tällaisia. Oletetaan lisäksi rajoitus K(T ) 0. Määritellään tehtävän nykyarvo- Hamilton ja nykyarvoliittotila: Ĥ e rt H p e rt p ja koska niin Lisäksi H = e rt g(x, u) + p T f(x, u) Ĥ = g(x, u) + p T f(x, u). ṗ(t) = H x = d [ e rt p(t) ] dt 6
re rt p(t) + e rt p(t) = e rt Ĥ x p(t) = r p(t) Ĥ (nykyarvoliittotilan yhtälö). (22) x Optimiohjaus maksimoi sekä Hamiltonin funktion että nykyarvo-hamiltonin: argmax u Ĥ (x, u, p) = argmax u H (x, u, p) =: u. Tässä tehtävässä josta seuraa Yhtälöstä (22) seuraa Ĥ = U(C) + p(ik C), Ĥ C = U C(C) p = 0 p(t) = U C [C(t)]. p(t) = r p(t) Ĥ K = r p(t) i p(t) = (r i) p(t) p(t) = p 0 e (r i)t = U C [C(t)]. Riippuen siitä, onko K(T ) = 0 vai K(T ) > 0 voidaan löytää kaksi erityyppistä ratkaisua. Tapaus K(T ) > 0: Transversaalisuusehdoista seuraa p(t ) = 0, joten p 0. Silloin on oltava U C [C(t)] = 0, t [0, T ]. Tällaisen ratkaisun olemassaolo edellyttää kahta asiaa: (a) Hyötyfunktiolla on stationaaripiste C, jossa U C ( C) = 0. (b) Alkupääoma K 0 on tarpeeksi suuri, jotta koko tarkasteluperiodin ajan voidaan kuluttaa nopeudella C. Sijoittamalla vakiokulutus tilayhtälöön saadaan: K = ik C K(t) = K 0 e it C 7 t 0 e i(t τ) dτ
K(T ) = K 0 e it + C [ ] 1 e it > 0 i on oltava K 0 > C [ ] 1 e it. i Tämä vastaa tilannetta, jossa kulutus on vakio, pääoman marginaaliarvo on nolla, ja ylimääräinen pääoma ei tuo lisähyötyä. 25 20 Tapaus i < r Pääoma Kulutus 25 20 Tapaus i > r Pääoma Kulutus 15 15 10 10 5 5 0 0 2 4 6 8 10 0 0 2 4 6 8 10 Kuva 1: Optimaalinen kulutusstrategia, kun U(C) = C. Ensimmäisessä kuvassa laskettu ratkaisu kun i < r ja jälkimmäisessä kun i > r. Tapaus K(T ) = 0: Jos edellisen tapauksen a)kohta ei päde, niin ainoa mahdollinen optimiratkaisu saadaan ehdosta K(T ) = 0. Silloin U C > 0 kaikilla C, koska derivaatta on positiivinen ainakin jossakin nollan ympäristössä, eikä se voi vaihtaa merkkiään. U C > 0 p 0 > 0 p(t) > 0, t [0, T ]. Nykyarvoliittotila p tulkitaan pääoman marginaaliarvoksi, joka on aina positiivinen. Silloin pääoman lisääminen kullakin ajan hetkellä kasvattaa kokonaishyötyä. Jos i < r, niin pääoman marginaalihyöty on kasvava. Silloin kulutusta kannattaa painottaa ajanjakson alkupuolelle, koska muuten diskonttaustekijä syö alussa pääoman turhaan pois. 8
Jos taas i > r, niin pääoman marginaalihyöty on vähenevä. Silloin kulutus kannattaa painottaa ajanjakson loppupuolelle. 4. Koneen jälleenmyyntiarvon yhtälö ẋ(t) = d(t) + g(t)u(t), missä 0 u(t) U on ennaltaehkäisevä korjaus. Pyritään maksimoimaan kokonaishyötyä max J = e rt x(t ) + T 0 e rt[ πx(t) u(t) ] dt, missä loppuaika T ja lopputila T ovat vapaita. Kun kone on toiminnassa niin siitä saadaan tulovirta πx(t) ja lopuksi se myydään pois hinnalla x(t ). Hamiltonin funktio H = e rt (πx u) + p( d + gu) on mm. lineaarinen ohjauksen suhteen. Liittotilayhtälöstä saadaan ṗ(t) = πe rt, p(t ) = e rt, käyttämällä vapaan lopputilan transversaalisuusehtoja (Kirk s.200) Näistä ratkaisemalla saadaan p(t ) = h (x(t ), T ). x p(t) = π r e rt + e rt (1 π r ). Ohjaus on rajoitettu, joten tarvitaan Pontryaginin minimiperiaatetta. Koska Hamiltonin funktio oli lineaarinen ohjauksen suhteen voidaan tarkastella kytkentäfunktion σ (ohjaustermin kerroin Hamiltonin funktiossa) merkkiä ja päätellä ohjaus suoraan siitä: σ(t) = e rt + pg = e rt + g [ π r e rt + e rt (1 π r )] = e rt[ g ( π r (π r 1)er(t T )) 1 ]. 9
Olkoon nyt g(t) on ei-kasvava ja π/r > 1. Silloin jos σ(t) 0 jollakin välillä [t 0, t 1 ] niin vastaavasti olisi oltava ja g(t) = g (t) = 1 π/r (π/r 1)e r(t T ), t [t 0, t 1 ] (π/r 1)et+1 (e t + π/r(e e t )) > 0, t [t 0, t 2 1 ], mikä on ristiriita, jolloin on osoitettu ettei singulaarivälejä voi olla olemassa. Kytkentäfunktio siis korkeintaan vaihtaa merkkiään ajan hetkillä t s 1, t s 2,.... Optimiohjaus on { U, σ(t) < 0, u (t) = 0, σ(t) > 0. Optimaalinen myyntihetki T saadaan loppuehdosta (Kirk s.200) H (x (T ), u (T ), p (T ), T ) + h t (x (T ), T ) = 0. 5. Minimointitehtävä rajoitteilla min T 0 [ x 2 + ax + bu + cu 2] dt, c > 0 ẋ = u x(0) = x 0 ja T kiinteä mutta x(t ) vapaa. Hamiltonin funktio on: H = x 2 + ax + bu + cu 2 + pu. Koska ohjaukselle ei ollut rajoitteita, niin välttämätön ehto optimiohjaukselle on H u = 0 b + 2cu + p = 0 u = 1 (b + p). 2c 10
Liittotilayhtälöt ovat ṗ = H x = 2x a ja sijoittamalla tilayhtälöihin optimiohjaus saadaan josta seuraa ẋ = 1 (b + p), 2c ẍ = 1 2cṗ = 1 (2x + a) 2c ẍ 1 c x = a 2c. Tämän yhtälön ratkaisu on muotoa x(t) = c 1 e t/ c + c 2 e t/ c a 2. Vakiot määräytyvät alkuehdosta ja tranversaalisuusehdosta. Koska lopputila on vapaa, niin p(t ) = 0. Silloin 0 = 2cẋ(T ) b c 1 e T/ c c 2 e T/ c = b 2 c ja alkuehdosta x(0) = x 0 seuraa c 1 + c 2 a 2 = x 0. Yhdistämällä nämä saadaan ratkaistua vakiot c c 1 = e T/ (x 0 + a/2) b/(2 c) 2cosh(T/ c) c 2 = (x 0 + a 2 )[ e T/ c 1 2cosh(T/ ] b + c) 4 c cosh(t/ c). Toteuttaako saatu ratkaisu riittävät optimaalisuusehdot? Luennolla (tai Kamien-Schwartz, s.133-135) esitetyt riittävät ehdot sisäpisteminimille = 0), kun h(x(t f), t f ) = 0 ja x(t f ) vapaa, ovat: ( H u (a) f(x, u, t) konveksi funktio (x, u):n suhteen; (b) g(x, u, t) konveksi funktio (x, u):n suhteen; 11
(c) f(x, u, t) on lineaarinen (x, u):n suhteen tai muuten p (t) 0, kaikilla t. Tässä tehtävässä f on lineaarinen, siis konveksi. Tästä seuraavat ehdot (a) ja (c). Vastaavasti g xx = 2 > 0, g uu = 2c > 0 joten myös g on konveksi sekä tilan että ohjauksen suhteen ja ehto (b) toteutuu. Siis riittävät ehdot toteutuvat ratkaistu u on minimoiva ohjaus. 12