Mat-2.48 Dynaaminen optimointi Mitri Kitti/Ilkka Leppänen Mallivastaukset, kierros 3. Johdetaan lineaarisen aikainvariantin seurantatehtävän yleinen ratkaisu neliöllisellä kustannuksella. Systeemi: x k+ = Ax k + Bu k. Kustannusfunktio: J = 2 xt N Hx N + 2 N k= { [xk r k ] T Q[x k r k ] + u T k Ru k. }. Tässä siis r k :t ovat referenssejä, joita tulisi noudatella. Lisäksi ohjaukset aiheuttavat positiivisen kustannuksen. Jotta tehtävä olisi mielekäs, ovat H, Q ja R symmetrisiä pos.def neliömatriiseja. Optimaalisen kustannuksen ajan hetkellä k tilasta x k loppuun saakka antaa dynaamisen ohjelmoinnin cost-to-go -funktio J k (x k). Johdetaan J :n lauseke. Lopussa: J N (x N) = 2 xt N Hx N 2 xt N P Nx N, eli määritellään P N H N. Vastaavasti askeleella N : JN (x { N ) = min [xn r N ] T Q[x N r N ] + u T u N 2 N Ru N } + [Ax N + Bu N ] T P N [Ax N + Bu N ]. }{{} =2 JN (x N) Derivoimalla u N :n suhteen ja asettamalla nollaksi saadaan lauseke optimaaliselle ohjaukselle u N = [R + BT P N B] B T P N Ax N F N x N. Koska R ja P N = H olivat pos.def. matriiseja, niin ovat myöskin B T P N B sekä R + B T P N B. Näin ollen käänteismatriisi on aina olemassa, ja lauseke on hyvin määritelty. Tässä F N on optimaalisen feedback-ohjauksen vahvistusmatriisi. Sijoittamalla optimiohjaus JN :n lausekkeeseen ja järjestelemällä termejä saadaan missä J N (x N ) = 2 xt N P N x N + q T N x N + S N, P N Q + F T N RF N + [A + BF N ] T P N [A + BF N ] q T N r T N Q S N 2 rt N Qr N. Tekemällä täysin vastaava pyöritys askeleella N 2 saadaan: u N 2 = [R + B T P N B] [B T P N Ax N 2 + B T q N ] F N 2 x N 2 + G N 2.
Ohjaukseen ilmestyy nyt ylimääräinen termi G k, jota siis ei ollut lineaarisen regulaattoritehtävän tapauksessa (r k =, k). Lisäksi on oltava G N =. Sijoittamalla ohjaus ja järjestelemällä termejä saadaan J N 2 : missä J N 2(x N 2 ) = 2 xt N 2P N 2 x N 2 + q T N 2x N 2 + S N 2, P N 2 Q + F T N 2 RF N 2 + [A + BF N 2 ] T P N [A + BF N 2 ] q T N 2 S N 2 r T N 2Q + G T N 2RF N 2 +[G T N 2B T P N + q T N ][A + BF N 2 ] 2 rt N 2 Qr N 2 + 2 GT N 2 [R + BT P N B]G N 2 +q T N BG N 2 + S N. Nyt voitaisiin induktiolla todistaa, että optimaalinen ohjaus hetkellä k on muotoa missä F k u (x k ) = F k x k + G k, = [R + B T P k+ B] B T P k+ A P k = Q + F T k RF k + [A + BF k ] T P k+ [A + BF k ] G k = [R + B T P k+ B] B T q k+ qk T = rk T Q + GT k RF k + [G T k BT P k+ + qk+ T ][A + BF k] loppuehdoilla P N = H, G N = ja qn T = rt N Q. Jos nyt r k =, k niin palaudutaan luennollakin esitettyyn lineaariseen regulaattoritehtävän ratkaisuun (missä vahvistusmatriisi F k = K k ). 2. Systeemille ẋ (t) = x 2 (t) ẋ 2 (t) = x (t) + x 2 (t) + u(t) etsittävä optimiohjaus u (t) s.e. kustannusfunktionaali J = 2 T minimoituu. Ohjauksille on voimassa rajoitusehto [ q x 2 (t) + q 2x 2 2 (t) + u2 (t) ] dt, q, q 2 > u(t), t [, T]. Hamilton-Jacobi-Bellman -yhtälö = Jt T (x(t), t) + min{g(x(t), u(t), t) + Jx (x(t), t)[a(x(t), u(t), t)]} () u(t) voidaan vastaavasti kirjoittaa muodossa = J t (x(t), t) + min u(t) H (x(t), u(t), J x, t)
missä H (x(t), u(t), J x T, t) g(x(t), u(t), t) + Jx (x(t), t)[a(x(t), u(t), t)] on Hamiltonin funktio. Annetulle tehtävälle Hamiltonin funktio on muotoa H (x, u, J x, t) = 2 q x 2 + 2 q 2x 2 2 + 2 u2 + J x x 2 + J x 2 [ x + x 2 + u]. Tämän minimit u:n suhteen löytyvät joko H :n nollakohdista tai rajoitusvälin u päätepisteistä: u H u = u + J x 2 = = u = Jx 2. Toinen osittaisderivaatta on positiivinen, joten kyseessä on minimi. Sidotun ääriarvon löytämiseksi riittää tarkastella H :n niitä termejä, joissa esiintyy u: i) Kun J x 2 <, niin H = 2 u2 + J x 2 u +... minimoituu, kun u =. ii) Kun J x 2 >, niin H = 2 u2 + J x 2 u +... minimoituu, kun u =. iii) Kun J x 2 [, ], niin u = J x 2 on käypä ohjaus ja siten minimoi Hamiltonin funktion. Näistä voidaan kirjoittaa Hamiltonin funktion minimoiva optimiohjaus:, jos J u x 2 > (t) = Jx 2, jos Jx 2. +, jos Jx 2 < Sijoittamalla tämä yhtälöön () saadaan osittaisdifferentiaaliyhtälö cost-to-go -funktiolle J (x(t), t), jota voitaisiin yrittää ratkaista. 3. Alussa säästöjä S, pääoman muutoksen yhtälö ẋ(t) = αx(t) r(t) missä α > on korko ja r(t) on ohjausmuuttujana toimiva kulutusnopeus. Luonnollinen rajoitusehto on nyt r(t), t [, T]. Kuluttamisesta koetaan hyöty U(r(t)) = r(t), joka diskontataan nykyarvoksi diskonttaustekijällä β > α/2, jolloin kokonaishyödyn nykyarvo on J = T e βt U(r(t)) dt. Tavoite on maksimoida J kun lopussa kaikki pääoma on käytetty.
a) Muodostetaan HJB-yhtälö. Tehtävän Hamiltonin funktio on H (x(t), r(t), t) = e βt r(t) + J T x (x(t), t) [ αx(t) r(t) ]. Kirjoittamalla osittaisderivaatta r:n suhteen ja asettamalla nollaksi saadaan yhtälö josta saadaan maksimi H r = e βt 2 r (t) J x (x(t), t) =, r (t) = e 2βt 4 [ J x (x(t), t)] 2, sillä toinen osittaisderivaatta on negatiivinen. Nyt voidaan kirjoittaa HJB-yhtälö: = Jt (x(t), t) + e 2βt 2Jx (x(t), t) + αj x e (x(t), t)x(t) 4J x 2βt (x(t), t) eli vastaavasti J t (x(t), t) + e 2βt 4Jx(x(t), t) + αj x (x(t), t)x(t) =. b) Yritetään ratkaisua muodossa J (x(t), t) = A x(t)f(t), missä A > ja f(t) on jokin derivoituva funktio: J t (x(t), t) = A x(t)f (t), Jx Af(t) (x(t), t) = 2 x(t). Sijoittamalla HJB-yhtälöön saadaan yhtälö [ Af (t) + e 2βt 2Af(t) + 2 αaf(t)] x(t) =. Tämä toteutuu kaikilla t [, T] vain jos f(t) toteuttaa tavallisen differentiaaliyhtälön Af (t) + e 2βt 2Af(t) + αaf(t) =. 2 Kertomalla puolittain e αt :lla ja järjestelmällä termejä yhtälö voidaan kirjoittaa muotoon Integroimalla puolittain saadaan αe αt f 2 + 2e αt ff }{{} =. A 2e(α 2β)t d dt (eαt f 2 ) e αt f 2 = A 2 () e(α 2β)t + C. Jos nyt oikea puoli on positiivinen, löydetään ratkaisut f(t) = ± A 2 () e 2βt + Ce αt.
Näistä vain positiivinen merkki on mahdollinen, koska muuten olisi J. On saatu kandidaatti cost-to-go -funktiolle J (x(t), t) = A x(t) A 2 () e 2βt + Ce αt. Integroimisvakio C tulee valita niin, että HJB-yhtälön reunaehto J (x(t), T)) = toteutuu. Näin ollen saadaan ehto vakiolle C: C = A 2 (α 2β) e(α 2β)T. Sijoittamalla cost-to-go -funktion lausekkeeseen saadaan J (x(t), t)) = x(t) e 2βt e α(t t) 2βT. Juurilausekkeessa oleva eksponenttilauseke on aina ei-negatiivinen kun t [, T] (harjoitustehtävä). Funktio on siis hyvin määritelty ja se toteuttaa HJB-yhtälön reunaehdon. Sijoittamalla J :n lauseke aiemmin laskettuun optimiohjauksen lausekkeeseen saadaan optimaalinen feedback-ohjaus r (t) = e (2β α)(t T)x(t). Sijoittamalla tilayhtälöön saadaan optimitrajektorille differentiaaliyhtälö ẋ(t) = ( α e (2β α)(t T) ) x(t). Separoimalla yhtälö ja integroimalla puolittain päästään muotoon eli x(t) S dx x = t log x S = αt () t ( α e (2β α)(t T) ) dt dt e (2β α)(t T). Integraalitaulukoista löytyy kaava dt a + be = ( kt log(a + be kt ) ), kt ak jota käyttämällä ja sieventämällä päästään lopputulokseen x(t) = Se 2(α β)t e(2β α)(t T) e (2β α)t.
Kuva : Tehtävän 3 optimaaliset kulutustrajektorit eri diskonttauskertoimen β arvoilla kun T =, S = ja α =.95. Todetaan, että x(t) = eli myös loppuehto toteutuu. Tämä on luonnollista, koska mikäli lopussa olisi käyttämätöntä pääomaa, ei kokonaishyöty voi olla paras mahdollinen. Kuvassa on esitetty trajektorit eri β:n arvoilla, kun T =, S = ja α =.95. 4. a) Muunnoksesta V (x, t) = e rt J(x, t) saadaan J(x, t) = e rt V (x, t) ja edelleen J t (x, t) = e rt V t (x, t) re rt V (x, t) ja J x (x, t) = e rt V x (x, t). Sijoittamalla nämä tavalliseen HJB-yhtälöön saadaan: e rt [rv t V ] = min u [e rt g + e rt V x f]. Jakamalla tämä yhtälö puolittain termillä e rt muodostuu HJB-yhtälö nykyarvolle: rv t V = min u [g + V x f]. b) Koska tehtävän aikahorisontti on ääretön on luontevaa hakea sellaista V :tä joka riippuu vain tilasta. Nyt käytetään yritettä V (x, t) = Ax 2. HJB-yhtälön oikealla puolella on minimoitavana x 2 +u 2 +2Ax(x+u). Tämän minimi löytyy derivaatan nollakohdasta, eli u = Ax. Sijoittamalla tämä takaisin HJB-yhtälöön saadaan x 2 + A 2 x 2 + 2Ax 2 ( A)x 2 = rax 2. Asettamalla vasemman ja oikean puolen x 2 :n kertoimet yhtäsuuriksi saadaan toisen asteen yhtälö + (2 + r) A 2 =. Ratkaisu on A = + r/2 ± ( + r/2) 2 +. Näistä juurista positiivinen tuottaa pienemmän arvon V :lle, joten ratkaisu vastaa kyseistä juurta.