1 Kurssin käytännön järjestelyt Luennot (12 kpl) tiistaisin klo 9 12 luokassa Y313 Luennoitsija TkT Mitri Kitti Vastaanotto luentojen yhteydessä email: mitri.kitti@hse.fi Luentomoniste kurssin verkkosivuilla Laskuharjoitukset torstaisin 8.30 10 luokassa Y307 Laskuharjoitusassistentti tekn. yo. Ilkka Leppänen email: ileppane@cc.hut.fi Ensimmäinen laskuharjoitus torstaina 24.1. Harjoitustehtävät kurssin verkkosivuilla 1.1 Kurssimateriaali Kirk, D.E., Optimal Control Theory, An Introduction, Dover Publications, Inc., 2004. Amazon.com: $17,79. Kamien, M.L & Schwartz, N.L, Dynamic Optimization The Calculus of Variations and Optimal Control in Economics and Management, 2nd Edition, North Holland, 1991. Amazon.com: $130,00. Osia, jaetaan opetusmonisteissa Betts, J. T., Practical Methods for Optimal Control Using Nonlinear Programming, Society for Industrial and Applied Mathematics, Philadelphia, 2001. Amazon.com: $61.00. Osia, jaetaan opetusmonisteissa Bertsekas, D. P., Dynamic Programming and Optimal Control, Vol. II, Athena Scientific, Massachusettes, 1995. Osia, jaetaan opetusmonisteissa 1.2 Kurssin suorittaminen ja ohjelma Kurssi suoritetaan tentillä. Kotitehtäviä jaetaan viikottain, joista saadut pisteet huomioidaan tenteissä seuraavaan luennointikertaan saakka. 1. Historiaa, dynaamisen optimointitehtävän määrittely, tilaesitys 2. Optimiohjaustehtäviä, dynaaminen ohjelmointi 3. Diskreetin ja jatkuvan ajan tilasäätäjät, H-J-B-yhtälö 4. Variaatiolaskennan perusteet 5. Variaatiotehtävän transversaalisuusehdot 1
6. Rajoitetut variaatiotehtävät 7. Äärettömän aikavälin variaatiotehtävät 8. Ohjaustehtävä variaatioperiaatteella 9. Minimiperiaate, minimiaikatehtävät 10. Minimiponnistustehtävät, singulaariset ratkaisut 11. Vaihetasoanalyysi, diskontattu kohdefunktionaali 12. Optimisäätötehtävien numeeriset ratkaisumenetelmät 1.3 Kurssin tavoite Oppia ohjaamaan dynaamisia systeemeitä optimaalisesti jonkin annetun kriteerin suhteen. Tyypillisesti dynaamisen systeemin mallina käytetään 1. kertaluokan differentiaaliyhtälösysteemiä. Esimerkkejä: 1. Etsi lentokoneen ohjaus siten, että se lentää minimiajassa annetusta alkutilasta annettuun lopputilaan. 2. Pääomaa voidaan joko kuluttaa, mikä tuottaa hyötyä, tai laittaa kasvamaan korkoa. Etsi optimaalinen kulutus-säästöstrategia. 3. Biologinen malli: etsi optimaalinen kalastusstrategia, kun kokonaispopulaation koolle oletetaan jonkinlainen dynamiikka. 2 Dynaamiset optimointimallit: historiaa Tyrian prinsessa Didon maanmittausongelma, Karthago b max a S x(t)dt ds = b a 1 + ẋ2 (t)dt = L, x(a) = x(b) = 0. Brachistochrone-ongelma: millaista rataa x(t) pitkin kappale putoaa pisteestä A pisteeseen B lyhimmässä ajassa? Siis, etsi x(t), joka minimoi integraalin 0 dt = S ds v = b a [2gx(τ)] 1 2 [1 + ẋ(τ)] 1 2 dτ. }{{}}{{} 1 ds v Johann Bernoulli formuloi ongelman vuonna 1696; ratkaisun esittivät puoli vuotta myöhemmin Jacob Bernoulli, Leibnitz, Isaac Newton ja l Hospital. Leonhard Euler (1744): variaatiolaskenta, Eulerin yhtälö; välttämätön ehto variaatiotehtävän ratkaisulle. 1800-luku: klassinen Lagrangen mekaniikka ja Hamiltonin periaate. 2
Hamiltonin periaate: kappale kulkee pisteestä A pisteeseen B siten, että integraali tb t A L(x, ẋ)dt minimoituu, missä Lagrangen funktio L(x, ẋ) on kappaleen kineettisen ja potentiaalienergian välinen erotus. Esim. jouselle L(x, ẋ) = 1 2 mẋ2 1 2 kx2. Lagrangen liikeyhtälö on edellä olevan tehtävän Eulerin yhtälö, mikä puolestaan on edellä olevan tehtävän Newtonin liikeyhtälö. 1950-luku: dynaaminen optimointi, optimiohjaustehtävä variaatiotehtävän yleistys. Etsi ohjaus u(t), joka toteuttaa annetut rajoitukset ja minimoi annetun integraalin (kohdefunktio) L. S. Pontryagin: välttämättömät ehdot optimiohjaustehtävälle reuna-arvotehtävän muodossa. R. E. Bellman: dynaaminen ohjelmointi. Toinen tapa ratkoa erityisesti diskretoituja dynaamisia optimointitehtäviä; ns. optimaalisuusperiaatteen laskennallista soveltamista. 1960 : yleistys laajojen järjestelmien optimointiin ja erilaisiin pelitehtäviin: sotilas- ja siviili-ilmailun sovellukset, taloussovellukset, tietoverkkojen reititysongelmat yms. 2.1 Dynaamisten ongelmien luokittelu Sen mukaan, montako kriteeriä ja päätöksentekijää (pelaajia, ohjaajia, optimoijia, säätäjiä) Päättäjät Kriteerit Optimiohjaus, dynaaminen optimointi 1 (ohjaus u) 1 Nollasummainen differentiaalipeli 2 (ohjaus u 1, u 2 ) 2; J 1 = J 2 Monitavoitteinen optimointi 1 (ohjaus u) useita Dynaamisia joukkuetehtäviä useita (u 1,...,u n ) 1 Ei-nollasummainen differentiaalipeli useita useita Huomaa, että päättäjänä, päätösmuuttujana tai ohjausmuuttujana voi olla useita ohjauskomponentteja; u(t) R m. Muita jakoja: stokastiset deterministiset, jatkuvan ajan diskreetin ajan tehtävät 3
2.2 DOT:n muodostaminen, systeemin tilaesitys Sivut ss. 4 8 pääosin lähteen [Kirk, Ch. 1] pohjalta Tilaesitys on ryhmä (yleensä 1. kertaluokan) differentiaali- tai differenssiyhtälöitä tilamuuttujille x i (t) ja ulkoisille ohjausmuuttujille u j (t). Vapaa muuttuja on usein aika, voi olla myös esim. paikka. Diskreettiaikaisille systeemeille tullaan aikaa merkitään alaindeksillä, siis tila on x k, missä k indeksoi ajanhetkeä. Määritelmä. Vektori x = [x 1 x n ] T on systeemin tila, jos jokaisella tarkasteluvälin hetkellä t 1 pätee, että kun tunnetaan x(t 1 ), niin ohjaus u(t), t t 1 määrää tilan kaikkina tulevina ajanhetkinä t t 1. Toisin sanoen tila pitää sisällään kaiken tulevaisuuden kannalta tarpeellisen informaation systeemin historiasta, riippumatta ohjauksesta, jolla siihen on tultu. Huom! Tilaesitys ei ole yksikäsitteinen. Toisin sanoen on olemassa monta tapaa kuvata systeemiä tilaesityksellä. Yleensä tilalle saadaan esitys ẋ 1 (t) = f 1 (x 1 (t),...,x n (t), u 1 (t),...,u m (t), t). ẋ n (t) = f n (x 1 (t),...,x n (t), u 1 (t),...,u m (t), t) Systeemin tila x(t) = [x 1 x n ] T, ohjaus u(t) = [u 1 u m ] T. Vektorimuodossa ẋ(t) = f(x(t),u(t), t). Usein tilaesitykseen liitetään ulkopuolista tarkkailijaa tai mittaussuureita kuvaavat ulostuloyhtälöt y j (t) = c j (x 1 (t),..., x n (t), u 1 (t),...,u m (t), t), j = 1,...,p, jotka määräävät sen, miten havaittu ulostulo riippuu systeemin tilasta x ja ohjauksesta u. Vektorimuodossa y(t) = c(x(t), u(t), t). Yleisesti dynaaminen systeemi S: { ẋ(t) = f(x(t),u(t), t), x(t0 ) = x S : 0 y(t) = c(x(t),u(t), t), x(t) on n-ulotteinen tilavektori, systeemin alkutila x 0 annettu y(t) on p-ulotteinen ulostulovektori u(t) on m-ulotteinen ohjausvektori Tällä kurssilla optimointitehtävissä oletetaan tila yleensä täydellisesti tunnetuksi: y(t) = x(t), t. 2.3 Esimerkki 1 Kitkattomasti liikkuvaa autoa, m = 1, ohjataan kaasupolkimella, kiihdyttävä voima α(t) 0, ja jarrupolkimella, hidastava voima β(t) 0, t. 4
Etäisyys alkupisteestä d. Valitaan tilamuuttujiksi paikka d ja nopeus v. Ohjaukset α(t) ja β(t). d(t) = v(t) v(t) = α(t) + β(t) [ ] [ ] [ ] [ ] d(t) α(t) 0 1 0 0 x(t) =, u(t) = ẋ(t) = x(t) + u(t) v(t) β(t) 0 0 1 1 }{{}}{{} A B 2.4 Esimerkki 2 Auto lähtee pysähtyneenä pisteestä O ja pysähtyy pisteeseen e: [ ] [ ] 0 e x( ) =, x(t 0 f ) = 0 Auto ei peruuta, kiihtyvyydet rajoitetut 0 x 1 (t) e 0 x 2 (t) 0 u 1 (t) M 1 M 2 u 2 (t) 0 Polttoainetta rajoitettu määrä G 2.5 Tilaesityksen edut [k 1 u 1 (t) + k 2 x 2 (t)] dt G Tilaesitys on vakiintunut tapa kuvata dynaamisia systeemeitä Esitystapa on matemaattisesti käyttökelpoinen Usein tilavektorin komponenteilla on fysikaalinen (todellinen) tulkinta Tilaesityksen avulla voidaan tutkia systeemin ominaisuuksia Ohjattavuus Tarkkailtavuus Stabiilisuus 2.6 Systeemien luokittelu Epälineaarinen a) aikavariantti ja b) -invariantti systeemi a) ẋ(t) = f(x(t),u(t), t) b) ẋ(t) = f(x(t),u(t)) 5
Lineaarisen aikavariantin systeemin ẋ(t) = A(t)x(t) + B(t)u(t) tilayhtälön ratkaisu (ohjauksen u(t) vaste) on x(t) = ϕ(t, )x( ) + t ϕ(t, τ)b(τ)u(τ)dτ, missä ϕ(t, ) on systeemin tilansiirtomatriisi (kuvaa nollaohjauksella tilan muutosta hetkestä hetkeen t). Aikainvariantissa tapauksessa A ja B vakioita. ϕ(t, ) = ϕ(t ) = e A(t ), missä e At I + At + 1 2! A2 t 2 + Tilansiirtomatriisin ominaisuuksia: ϕ(t, t) = I ϕ(t 2, t 1 )ϕ(t 1, ) = ϕ(t 2, ) ϕ 1 (t 2, t 1 ) = ϕ(t 1, t 2 ) d d) = A(t)ϕ(t, ) Tilansiirtomatriisin määrittämiseksi on monia keinoja. Eräs tapa aikainvariantissa tapauksessa on määrittää eksponenttisarja numeerisesti. 2.7 Ohjaukset Ohjausfunktio u(t) on yleensä määritelty ja rajoitettu: u(t) U, missä U on esim. paloittain jatkuvien funktioiden joukko ja u(t) Ω, missä Ω kuvaa rajoitusjoukkoa U sisältää siis ne ohjaukset, joilla systeemiyhtälö on mielekäs ja Ω antaa toteutettavissa olevat ohjaukset Sallitut ohjaukset: u(t) Ω U Maalijoukko G, mihin tila halutaan ohjata, siis (x(t f ), t f ) G R n+1, kun t f on loppuaika Käypien ohjausten joukko (G;x 0 ) on niiden ohjausfunktioiden u(t) : [, t f ] R n, u(t) Ω U joukko, joilla maalijoukko G on saavutettavissa tilasta x 0 2.8 Ohjattavuus Käypien ohjausten määrittämiseen liittyvä käsite. Tarkastellaan systeemiä alkutilassa x 0 = x( ), ja t. ẋ(t) = f(x(t),u(t), t) Määritelmä. Jos on olemassa äärellinen t 1 ja ohjaus u(t), t [, t 1 ], joka siirtää tilan x 0 origoon hetkeen t 1 mennessä, niin tila x 0 on ohjattava hetkellä. Jos kaikki x 0 :t ovat ohjattavia, niin systeemi on täydellisesti ohjattava. 6
Huom! Jos systeemi ei ole ohjattava, on optimiratkaisun etsiminen turhaa! Lause. Lineaarinen aikainvariantti n-ulotteinen systeemi ẋ(t) = Ax(t) + Bu(t) on täydellisesti ohjattava jos ja vain jos n mn- ohjattavuusmatriisin E [ B AB A 2 B... A n 1 B ] rangi on n eli matriisissa E on n lineaarisesti riippumatonta riviä. 2.9 Tarkkailtavuus Tarkastellaan systeemiä alkutilassa x 0 = x( ), ja t. ẋ(t) = f(x(t),u(t), t) y(t) = c (x(t),u(t), t) Määritelmä. Jos systeemin alkutila x 0 voidaan määrittää tarkkailemalla systeemin ulostuloa y(t) aikavälillä [, t 1 ], tilan x 0 sanotaan olevan tarkkailtava hetkellä. Jos kaikki alkutilat x 0 ovat tarkkailtavia kaikille, systeemi on täydellisesti tarkkailtava. Lause. Lineaarinen aikainvariantti systeemi ẋ(t) = Ax(t) + Bu(t) y(t) = Cx(t) on täydellisesti tarkkailtava jos ja vain jos n qn -tarkkailtavuusmatriisin G [ C T A T C T (A T ) 2 C T... (A T ) n 1 C T] rangi on n eli matriisissa G on n lineaarisesti riippumatonta riviä. 2.10 Esimerkki 2 Tutkiaan edellisen autoesimerkin ohjattavuutta [ ] [ ] [ ] 0 1 0 0 1 1 A =, B =, AB =, E = 0 0 1 1 0 0 [ ] 0 0 1 1 1 1 0 0 E:n rangi on 2, joten systeemi on täydellisesti ohjattava. Jos vain kaasu käytössä, niin [ ] [ ] [ ] [ ] 0 1 0 0 1 0 0 0 1 0 A =, B =, AB =, E = 0 0 1 0 0 0 1 0 0 0 E:n rangi on 2, joten systeemi on täydellisesti ohjattava myös pelkällä kaasulla. 7
3 Dynaamisen optimointitehtävän määrittely Optimointikriteeri Dynaamisessa optimoinnissa kriteeri on funktionaali eli funktio funktiosta, joka kuvaa funktion reaaliluvuille: J : C 1 (a, b) R Tarkastellaan vain kriteereitä, joilla on additiivisuusominaisuus Esim. kriteerillä J(u(t)) = 1 R t1 u(t)dt Olkoon annettu systeemi S: Tavoitejoukko G : (x(t f ), t f ) G Ohjausrajoitukset u(t) Ω U J(u (t0,t 1 )) = J(u (t0,t)) + J(u (t,t1 )) t (, t 1 ) ei ole tätä ominaisuutta ẋ(t) = f(x(t),u(t), t), x( ) = x 0 Tavoitejoukko + ohjausrajoitukset käypien ohjausten joukko Kohdefunktionaali J(u(t)) Etsi sellainen ohjaus u (t), jolla J(u (t)) J(u(t)), u(t), u (t) on tällöin optimiohjaus Yleinen tehtävä min J ẋ(t) = f(x(t),u(t), t) x( ) = x 0, u(t) Ω U, missä J = h(x(t f ), t f ) + t f g(x(t),u(t), t)dt. Siis annetulla u(t) Ω U x(t) = x(u(t); t) tilayhtälöstä, sijoita x(u(t); t) J:hin, jolloin saat J = J(u(t)); eli J voidaan käsittää funktionaalina J : Ω U R 3.1 Optimiohjaustehtäviä [Kirk, Ch. 2] 1. Minimiaikatehtävä: ohjaa systeemi minimiajassa lopputilaan J = t f = 2. Lopputilakustannus: minimoi esim. lopputilan poikkeama annetusta tilasta J = [x(t) r(t)] T [x(t) r(t)] = x(t f ) r(t f ) 2 3. Minimiponnistustehtävä: minimoidaan esim. polttoaineenkulutusta J = dt u T (t)ru(t)dt = u(t) 2 R 8
4. Seurantatehtävä: halutaan systeemin tilan seuraavan annettua referenssirataa r(t) mahdollisimman tarkasti J = x(t) r(t) 2 Q(t) dt, missä Q(t) on symmetrinen, positiivisesti semidefiniitti n n- matriisi, eli x T (t)q(t)x(t) 0, x(t). Q(t):n valinta perustuu kunkin tilakomponentin oletettuun tärkeyteen. Jos ohjausta ei ole rajoitettu (esim. u i (t) 1), niin ohjauksen arvot voidaan pitää rajoitettuna ottamalla ohjaus mukaan kustannukseen. Myös maali r(t f ) voidaan ottaa mukaan samaan kustannukseen J = x(t f ) r(t f ) 2 H + [ ] x(t) r(t) 2 Q(t) + u(t) 2 R(t) dt H on symmetrinen positiivisesti semidefiniitti n n-matriisi R(t) on symmetrinen positiivisesti definiitti m m-matriisi t [, t f ]. Q(t) on symmetrinen positiivisesti semidefiniitti n n-matriisi t [, t f ] 5. Tilasäätäjä: kun r(t) = 0 t saadaan ns. tilasäätäjä- eli regulaattoritehtävä, jolla halutaan stabiloida systeemi origoon. Tilasäätäjissä ei painomatriiseilla H, Q(t) ja R(t) yleensä ole fysikaalista (tai taloudellista) merkitystä. Ne ovat viritysparametreja 6. Optimaalinen suunnittelu. Esim. rakennettava L:n korkuinen pylväs, joka kantaa jonkin kuorman ja minimoi käytetyn rakennusmateriaalin (tilavuuden) 7. Optimaalinen taloudenpito 3.2 Esimerkki Olkoon alkupääoma K( ) = K 0 [ ] ja pääoman tuottavuus F(K(t)) [ /aikayksikkö]. Pääoman tuotto voidaan ohjata joko kulutukseen C(t) tai pääoman kasvattamiseen (investointi) K(t). Paljonko kannattaa kuluttaa ja paljonko käyttää investointeihin? Olkoon kulutuksesta saatu hyöty U(C(t)): Koko elämänilo: J = t f U(C(t))dt Systeemi: K(t) = F(K(t)) C(t), nyt siis C(t) on ohjaus ja K(t) on tila Lopputilarajoitus: K(t f ) 0 Mikä on siis optimaalinen kulutusfunkio C (t)? 9
4 Dynaaminen ohjelmointi Lähteet [Kirk, Ch. 3] ja [Bertsekas, Ch. 1] Ohjausfunktio voidaan esittää aikafunktiona u(x( ), t) avoin ohjaus, avoimen silmukan ohjaus Parametrimuodossa, kun parametrina systeemin tila u(x, t) Säätölaki (control law) Takaisinkytketty ohjaus (feedback control) Suljetun silmukan ohjaus (closed loop control) Politiikka (policy) Ohjausstrategia Optimiohjaustehtävässä avoin ohjausratkaisu pätee vain yhdelle alkutilalle, kun taas säätölaki antaa ratkaisun kaikille alkutiloille 4.1 Optimaalisuusperiaate Tarkastellaan monivaiheista päätösprosessia b c J bce J ab J be a e Kustannukset J ae = J ab + J be. Optimaalisuusperiaate. Jos a b e on optimaalinen polku a:sta e:hen, niin b e on optimaalinen polku b:stä e:hen. Todistus. Tehdään vastaoletus: olkoon b c e optimaalinen polku b:stä e:hen. Tällöin J bce < J be, ja J ab + J bce < J ab + J be = J ae. Tällöin J abce olisi parempi kuin J ae, mikä johtaa ristiriitaan Bellmanin periaate. Optimiohjauksella on sellainen ominaisuus, että riippumatta alkutilasta ja ohjauksesta, jolla tilaan on tultu, tulevien ohjausten arvojen on oltava optimaalisia tähän tilaan nähden (ja riippumattomia aiemmista ohjauksista) Dynaaminen ohjelmointi on optimaalisuusperiaatteen laskennallista soveltamista 10
J bc c c J * cf b J bd d d J * df f J be e e J * Optimaalisuusperiaatteella Jbf = min{j bcf, J bdf, J bef } = min{j bc + Jcf, J bd + Jdf, J be + Jef} 4.2 Esimerkki Liikenneverkko: etsi kustannukset minimoiva reitti a:sta h:hon ef a 8 d 3 e 8 h 5 5 2 2 b 9 c 3 f 3 g J fh = J fg + J gh = 3 + 2 = 5 Jeh = min{j eh, J ef + Jfh } = min{8, 2 + 5} = 7 Jdh = min{j de + Jeh } = 3 + 7 = 10 J ch = min{j cd + J dh, J cf + J fh} = min{5 + 10, 3 + 5} = 8... 4.3 Dynaamisen ohjelmoinnin (DP) algoritmi Tehtävä Rekursio: N 1 min h(x N) + g k (x k, u k ) s.e. x k+1 = f k (x k, u k ) u k U k (x k ), k=0,...,n 1 k=0 J k (x) = min [g k (x, u) + J k+1 (f k (x, u))], k = 0,..., N 1 ja J N (x) = h(x). u U k (x) optimaaliset cost-to-go funktiot J k ratkaistaan lopusta alkuun DP tuottaa optimaalisen takaisin kytketyn ohjauksen Dimensionaalisuuden kirous (the curse of dimensionality): tilojen määrä kasvaa eksponentiaalisesti kun tilamuuttujia lisätään 11
4.4 Diskontatut stationaariset tehtävät Optimointitehtävä: N 1 min h(x N) + α k g(x k, u k ) s.e. x k+1 = f(x k, u k ) u k U(x k ), k=0,...,n 1 Diskonttauskerroin α (0, 1) k=0 Tämä tehtäväluokka on yleinen taloussovelluksissa Muunnoksella V k = J N k /α N k saadaan DP rekursio muotoon V k+1 = min u U(x) [g(x, u) + αv k(f(x, u))]. V k (x) on optimaalinen kustannus, kun aloitetaan tilasta x ja jäljellä on k vaihetta. Tätä funktiota kutsutaan joskus arvofunktioksi (value function) rekursion perusteella huomataan että kun ratkaisu on laskettu k-vaiheiselle tehtävälle, niin (k + 1)-vaiheisen tehtävän ratkaisu saadaan yhdellä iteraatiolla ilman että koko DP algoritmia tarvitsee suorittaa alusta rekursio tuottaa ohjauslain {µ 0,..., µ N 1 }, missä µ k (x) on ohjauslaki vaiheessa k 4.5 Äärettömän aikahorisontin diskontatut tehtävät Tarkastellaan stationaarista diskontattua tehtävää min α k g(x k, u k ) s.e. x k+1 = f(x k, u k ) u k U(x k ) k=0 Oletus: g(x, u) < M kaikilla x X=tila-avaruus ja u U(x) kun x X Merkintä: (TJ)(x) = min [g(x, u) + αj(f(x, u))], u U(x) missä J : X R. Kuvaus T muuttaa funktion J uudeksi funktioksi kuten yksi askel DP algoritmiä; J k+1 = TJ k Kuvauksen T ominaisuuksia: 1) monotonisuus J(x) J (x) x X (TJ)(x) (TJ )(x) x X 2) vakion kutistaminen, r(x) = ρ x X, T(J + r)(x) = (TJ)(x) + αρ T on kontraktio, eli max x X (TJ)(x) (TJ )(x) α max x X J(x) J(x ) iteraatio J k+1 = TJ k (kiintopiste-iteraatio/arvoiteraatio engl. value iteration) suppenee nopeudella α (rajoitettujen funktioiden luokassa) kiintopistetehtävän J = T J yksikäsitteiseen ratkaisuun Bellmanin yhtälö optimaaliselle arvofunktiolle J = TJ, eli J (x) = min [g(x, u) + αj (f(x, u))] u U(x) lisäksi tehtävällä on stationaarinen optimiohjaus eli µ k = µ 12
5 Lineaarisneliölliset tehtävät ja Hamilton-Jacobi-Bellmanin yhtälö 5.1 Dynaamisen optimointitehtävän diskretointi Dynaamisen systeemin tilaesitys voi olla diskreettiaikainen. Tällöin se on ryhmä 1. kertaluokan differenssiyhtälöitä tilamuuttujille x i (t) ja ohjausmuuttujille u i (t) Lineaarinen aikavariantti systeemi x(k + 1) = A(k)x(k) + B(k)u(k), k = 0, 1,..., N 1, missä x(k) R n ja u(k) R m, k Laskuharjoituksissa esitetään yo. systeemin yleinen ratkaisu Olkoon annettu dynaaminen optimointitehtävä min J(u(t)), u(t) U J(u(t)) = h(x(t f )) + 0 g(x(t), u(t))dt (1) ẋ(t) = f(x(t),u(t)) (2) x(0) = x 0 Eulerin diskretointi x(t + t) x(t) (2) f(x(t),u(t)) t x(t + t) = x(t) + f(x(t),u(t)) t Tarkastellaan systeemiä diskreetteinä ajanhetkinä t = 0, t,...,(n 1) t, eli t k = k t, k = 0, 1,..., N 1 Nyt t f = N t. Edelleen x(k + 1) = x(k) + f(x(k),u(k)) t f D (x(k),u(k)), k = 0,...,N 1 (3) Saatiin dynaamisen systeemin differenssiyhtälöesitys (1) J = h(x(n t)) + t 0 g dt + k=0 N t (N 1) t g dt N 1 J h(x(n t)) + t g(x(k),u(k)) (4) J = h(x(n)) + N 1 k=0 g D (x(k),u(k)) (5) Saatiin diskreettiaikainen DOT: minimoi (5) siten, että (3) toteutuu. Voi olla myös tila- ja ohjausrajoituksia sekä lopputilarajoitus 13
Muuttujana esim. u k U k, k. Tällöin kaikilla alkutiloilla x 0 optimaalinen kustannus J (x 0 ) = J 0 (x 0 ), missä J 0 määritellään seuraavan rekursioalgoritmin viimeisestä vaiheesta JN (x(n)) = h(x(n)) { Jk(x(k)) = min gd (x(k),u(k)) + Jk+1(f D (x(k),u(k))) }, u k U k k = N 1,..., 0. Optimaalinen feedback-ohjaus u (x(k), k) saadaan minimoimalla oikea puoli kaikille x(k) 5.2 Väliluku: derivointi matriisiesitysmuodossa Sivut ss. 14 14 pääosin lähteen [Kirk, Appendix 1] pohjalta 1. Olkoon f(x) skalaariarvoinen funktio ja x = [x 1... x n ] T. f:n gradientti on pystyvektori f(x) x 2. Kun f on monidimensioinen, f(x) = [f 1 (x) f m (x)] T, derivoidaan rivi kerrallaan f(x) x f 1 (x) f(x) x 1. f(x) x n f 1 (x) x n x 1..... f m(x) x 1 a) f(x) = Ax, f(x) = AI = A, f(x) = x xt c f(x) x f m(x) x n b) f(x) = x T Ax neliömuoto, f(x) skalaari. Tulon derivoimissäännön mukaan f(x) x = vakio {}}{ x xt Ax + = Ax + x xt = Ax + A T x. = c x vakio {}}{ A T x vakio {}}{ x T Ax Jos A on symmetrinen, niin A = A T, jolloin f(x) x = 2Ax. 14
5.3 Diskreetin ajan tilasäätäjä Tarkastellaan lineaarista systeemiä x(k + 1) = Ax(k) + Bu(k), k = 0, 1,..., N 1 Etsi u (k), k = 0, 1,..., N 1, joka minimioi neliöllisen kustannuksen J = 1 2 xt (N)Hx(N) + 1 2 N 1 k=0 [ x T (k)q(k)x(k) + u T (k)r(k)u(k) ], missä H(k) ja Q(k) symmetrisiä, positiivisesti semidefiniittejä R(k) symmetrinen, positiivisesti definiitti Oletetaan, että A, B, Q ja R vakiomatriiseja. Dynaamisen ohjelmoinnin periaatteella: 1. k = N: 2. k = N 1: J (x(n), N) = 1 2 xt (N)Hx(N) = 1 2 xt (N)P(N)x(N), missä siis P(N) H J(x(N 1), N 1) = 1 2 xt (N 1)Qx(N 1) + 1 2 ut (N 1)Ru(N 1) + J (x(n), N) }{{} 1 2 xt (N)P(N)x(N) Sijoitetaan tilayhtälöön x(n) = Ax(N 1) + Bu(N 1) J (x(n 1),N 1) { 1 2 xt (N 1)Qx(N 1) + 1 2 ut (N 1)Ru(N 1) min u(n 1) + 1 } 2 [Ax(N 1) + Bu(N 1)]T P(N)[Ax(N 1) + Bu(N 1)] }{{} 1 2 [xt A T PAx+x T A T PBu+u T B T PAx+u T B T PBu] Haetaan minimi u(n 1):n suhteen J(x(N 1),N 1) = 1 [2Ru(N 1)] + u(n 1) 2 1 2 [BT P(N)Ax(N 1) + B T P(N)Ax(N 1) + 2B T P(N)Bu(N 1)] = 0. Tästä saadaan [ R + B T P(N)B ] u(n 1) = B T P(N)Ax(N 1). 15
Ratkaistaan u(n 1):n suhteen: u (N 1) = [ R + B T P(N)B ] 1 B T P(N)Ax(N 1) K(N 1)x(N 1) edellyttäen, että R + B T P(N)B on ei-singulaarinen Oletusten mukaan R on positiivisesti definiitti ja P(N) = H positiivisesti semidefiniitti, joten B T P(N)B on positiivisesti semidefiniitti Näin ollen R + B T P(N)B on ei-singulaarinen Ääriarvo on minimi, koska toinen derivaatta 2 J(x(N 1), N 1) u 2 (N 1) = R + B T P(N)B on positiivisesti definiitti Sijoitetaan u (N 1) J(x(N 1), N 1):een J (x(n 1), N 1) = 1 2 xt (N 1){[A BK(N 1)] T P(N)[A BK(N 1)] + K T (N 1)RK(N 1) + Q}x(N 1) 1 2 xt (N 1)P(N 1)x(N 1) 3. Induktiolla voidaan todistaa, että jaksolle N K pätee u N K K(N K)x(N K) J (N K) 1 2 xt (N K)P(N K)x(N K), missä K(N K) = [R + B T P(N K + 1)B] 1 B T P(N K + 1)A P(N K) = Q + K T (N K)RK(N K) + [A BK(N K)] T P(N K + 1)[A BK(N K)] Optimaalinen tilasäätäjä on siis lineaarinen takaisinkytkentälaki Ratkaisu tuottaa samalla sekä optimiohjauksen u (k), k = 0,...,N 1 että optimikustannuksen J (x 0 ) = 1 2 xt 0 P(0)x 0 Jos systeemi on aikainvariantti, täydellisesti ohjattava, H = 0 ja R sekä Q ovat vakiomatriiseja, niin takaisinkytkentämatriisi (vahvistus) lähestyy vakioarvoa, kun optimointivälin pituus N kasvaa: K(N K) K, kun N Toivottava ominaisuus, koska vakiovahvistus on helppo toteuttaa 16
5.4 Hamilton-Jacobi-Bellmanin yhtälö Vastaa diskreetin ajan rekursioyhtälöä. Tehtävä muotoa: ẋ(t) = f(x(t),u(t), t) J = h(x(t f ), t f ) + g(x(τ),u(τ), τ)dτ Tarkastellaan tehtävää alkutilasta x(t) ja -hetkestä t loppuhetkeen t f : J(x(t), t, u(τ) }{{} t τ t f ) = h(x(t f ), t f ) + t g(x(τ),u(τ), τ)dτ. Merkitään optimikustannusta seuraavasti: { } J (x(t), t) = min g(x(τ),u(τ), τ)dτ + h(x(t f ), t f ). u(τ) t t τ t f Jaetaan aikaväli kahteen osaan: J (x(t), t) = min u(τ) t τ t f { t+ t Optimaalisuusperiaatteen mukaan: { t+ t J (x(t), t) = g dτ + min u(τ) t τ t+ t t t g dτ + t+ t } g dτ + h(x(t f ), t f ). J (x(t + t), t + t) }{{} Optimikustannus tilasta x(t + t) ajanjakson t + t t t f yli Kehitetään J (x(t + t), t + t) Taylorin sarjana pisteen (x(t), t) ympäristössä { t+ t [ ] J J (x(t), t) = min g dτ + J (x(t), t) + (x(t), t) t + u(τ) t t t τ t+ t [ ] } J T (x(t), t) [x(t + t) x(t)] + o( t), x }{{} Korkeamman kertaluvun termeille pätee lim t 0 o( t) t = 0 Korkeamman termit Vähennetään J (x(t), t) puolittain, jaetaan t:llä ja annetaan t 0 Nähdään, että t+ t t x(t + t) x(t) t g dτ g(x(t),u(t), t) t ẋ(t) = f(x(t),u(t), t), 17 } kertaluvun.
mistä saadaan edelleen 0 = min u(t) { g(x(t),u(t), t) + J t (x(t), t) +Jx T (x(t), t)[f(x(t),u(t), t)] }. }{{} Ei riipu u(t):sta, voidaan ottaa ulos Saadaan siis epälineaarinen Hamilton-Jacobi-Bellmanin osittaisdifferentiaaliyhtälö { Jt (x(t), t) = min g(x(t),u(t), t) + J T x (x(t), t)[f(x(t),u(t), t)] } u(t) Reunaehto J (x(t f ), t f ) = h(x(t f ), t f ) Soveltamisperiaate: 1. Ratkaise u [x(t), J x(x(t), t)] 2. Sijoita u ( ) H-J-B:hen ja ratkaise ody J = J (x(t), t). 3. Tuloksena takaisinkytketty ratkaisu u = u (x(t), t). 5.5 Yhteys Hamiltonin funktioon Määritellään Hamiltonin funktio H H (x(t),u(t), Jx T, t) g(x(t),u(t), t) + Jx (x(t), t)[f(x(t),u(t), t)], H (x(t),u (x(t), Jx, t), Jx, t) = min H (x(t),u(t), J x, t). u(t) Näillä määritelmillä H-J-B voidaan kirjoittaa muodossa 0 = J t (x(t), t) + H (x(t),u (x(t), J x, t), J x, t). Variaatiolaskennassa minimiperiaatteen yhteydessä (vrt. myöhemmin) määritellään liittotila p(t) 5.6 Esimerkki p(t) = J x(x (t), t), ṗ(t) = H x (x (t),u (t), t) Olkoon systeemin tilayhtälö ja kohdefunktio muotoa ẋ(t) = x(t) + u(t) J = 1 4 x2 (T) + Ratkaistaan H-J-B:llä. Hamiltonin funktio T 0 1 4 u2 (t)dt, H (x(t), u(t), Jx, t) = 1 4 u2 (t) + Jx [x(t) + u(t)] 0 = J t + min u(t) H (x(t), u(t), J x, t) 18
Minimoiva u(t): H u = 0 1 2 u(t) + J x (x(t), t) = 0 u (t) = 2Jx (x(t), t) Ratkaisu on minimi, sillä 2 H u 2 = 1 2 > 0. Sijoitetaan u (t) H-J-B:hen 0 = J t + 1 4 [ 2J x ]2 + [J x ] x(t) 2 [J x ]2 = J t [J x] 2 + [J x] x(t). Yrite J (x(t), t) = 1 2 K(t)x2 (t) Loppuehto J (x(t), T) = 1 4 x2 (T), mistä saadaan K(T) = 1 2 Nyt J x = K(t)x(t), J t = 1 2 K(t)x 2 (t). Sijoitetaan H-J-B:hen, jolloin Voidaan ratkaista separoimalla: Optimiohjaus on siis muotoa 0 = 1 2 K(t)x 2 (t) K 2 (t)x 2 (t) + K(t)x 2 (t) K(t) = 2K(t) + 2K 2 (t), K(T) = 1 2. K(t) = (T t) e e (T t) + e (T t). u (x(t), t) = 2J x(x(t), t) = 2K(t)x(t). Kun T, niin K(t) 1 ja kontrolloitu systeemi on stabiili. 5.7 Jatkuvan ajan tilasäätäjä ẋ(t) = x(t) 2x(t) = x(t) Olkoot systeemiyhtälö ja minimoitava kriteeri muotoa ẋ(t) = A(t)x(t) + B(t)u(t) J = 1 2 xt (t f )Hx(t f ) + 1 2 [ x T (t)q(t)x(t) + u T (t)r(t)u(t) ] dt, missä ja t f ovat kiinteitä sekä H ja Q(t) ovat symmetrisiä, positiivisesti semidefiniittejä matriiseja sekä R(t) on symmetrinen, positiivisesti definiitti matriisi 19
Hamilton-Jacobi-Bellmanin yhtälö: H (x(t),u(t), Jx, t) =1 2 xt (t)q(t)x(t) + 1 2 ut (t)r(t)u(t) + Jx T (x(t), t) [A(t)x(t) + B(t)u(t)] H :n minimoiva u(t) saadaan ehdosta H u = 0: R(t)u(t) + B T (t)jx (x(t), t) = 0 H uu = R(t) on positiivisesti definiitti, joten kyseessä on H :n globaalisti minimoiva u(t) u (t) = R 1 (t)b T (t)jx (x(t), t). Sijoitetaan H-J-B:hen, jolloin 0 = Jt + 1 2 xt Qx 1 2 J x T BR 1 B T Jx + J x T Ax. (6) Reunaehto J (x(t f ), t f ) = 1 2 xt (t f )Hx(t f ). Kokeillaan ratkaisuyritettä J (x(t), t) = 1 2 xt (t)k(t)x(t), missä K(t) symmetrinen, positiivisesti definiitti matriisi ja K(t f ) = H Nyt J t = 1 2 xt (t) K(t)x(t) ja J x = K(t)x(t) Sijoitetaan kaavaan (6), jolloin 0 = 1 2 xt Kx + 1 2 xt Qx 1 2 xt KBR 1 B T Kx + x T KAx }{{} 1 2 xt [KA+A T K]x Eli 0 = 1 [ ] K 2 xt + Q KBR 1 B T K + KA + A T K x. Jos siis { 0 = K(t) + Q(t) K(t)B(t)R 1 (t)b T (t)k(t) + K(t)A(t) + A T (t)k(t) K(t f ) = H, (7) niin yo. yhtälö toteutuu x(t) Yhtälöä (7) kutsutaan ns. Riccatin matriisi-differentiaaliyhtälöksi ja sillä on em. ehdoilla yksikäsitteinen symmetrinen ratkaisu kyseisellä välillä Kun K(t) on saatu määritettyä, saadaan optimaaliseksi säätölaiksi u (t) = R 1 (t)b T (t)k(t)x(t). 20
5.8 Huomioita H-J-B-yhtälöstä Oletettiin, että loppuaika t f on kiinnitetty. Tulokset pätevät kuitenkin myös vapaalle loppuajalle. H-J-B on optimaalisen ratkaisun välttämätön ja riittävä ehto (edellä olevassa tarkastelussa ei paneuduttu riittävyyteen). H-J-B:n ratkaiseminen on yleisesti ottaen hankalaa. Yleensä H-J-B joudutaan ratkaisemaan numeerisesti. Dynaaminen ohjelmointi antaa optimaalisuusehdon diskretoidulle approksimaatiolle tarkan ratkaisun. H-J-B:n numeerinen ratkaiseminen antaa tarkalle optimaalisuusehdolle approksimatiivisen ratkaisun. 21
6 Variaatiolaskennan perusteet Sivut ss. 22 26 pääosin lähteen [Kirk, Ch. 4, ss. 107 127] pohjalta Variaatiolaskenta keskittyy lokaaliin analyysiin eli funktion lokaalin minimin vastineisiin funktionaaleilla. Määritelmä. Jos ε > 0 s.e. f( ) f(t) t [ ε, + ε], niin f:llä on lokaali minimi :ssa Välttämätön ehto. Jos f:llä on lokaali minimi :ssa, f C 2 (, ), niin f ( ) = 0. Riittävät ehdot. Jos f C 2 (, ), f ( ) = 0 ja f ( ) > 0, niin f:llä on lokaali minimi :ssa. 6.1 Funktionaalin variaatio Olkoon X mielivaltainen normeerattu funktioavaruus, ts. X on vektoriavaruus, jonka elementit ovat funktioita x X. x:n normi, x, toteuttaa ehdot 1. x 0 ja x = 0 jos ja vain jos x(t) = 0, t [, t f ]. 2. αx = α x kaikille reaaliluvuille α. 3. x + y x + y. Esimerkki. Jos x C[, t f ] eli välillä t t f jatkuvien funktioiden joukko, niin normi voisi olla x = max t t f x(t). Kahden funktion läheisyyttä voidaan mitata normilla x y. Kun x = y, niin x y = 0 Määritelmä. Funktionaali J on kuvaus X R, joka kuvaa (mahdollisesti vektoriarvoisen) funktion x X reaalilukujen joukkoon. Määritelmä. Funktionaalin J inkrementti (lisäys) on missä x, δx C 1 [, t f ]. J(x, δx) J(x + δx) J(x) J, Määritelmä. Funktionaali J on lineaarinen, jos ja vain jos se on Homogeeninen: J(αx) = αj(x), α R, x X Additiivinen: J(x + y) = J(x) + J(y), x,y X Määritelmä. Jos funktionaalin inkrementti J voidaan lausua δx:n suhteen lineaarisen funktionaalin δj(x, δx) avulla seuraavasti J(x, δx) = δj(x, δx) + g(x, δx) δx, missä lim δx 0 {g(x, δx)} = 0, niin J:n sanotaan olevan differentioituva ja δj:tä kutsutaan J:n variaatioksi funktiolla x. 22
Huomaa analogia funktioiden kanssa: f(t) df f differentiaali = variaatio differenssi = inkrementti df f t t Toisin sanoen variaatio δj on lineaarinen approksimaatio kahden toisistaan poikkeavan funktion x ja x + δx tuottavien funktionaalin arvojen erolle. Jos δx pieni, variaation pitäisi olla hyvä approksimaatio inkrementille. Määritelmä. Funktionaalilla J : X R on lokaali ääriarvo funktiolla x, jos ε > 0 s.e. x X, joille x x < ε, J:n inkrementillä on sama etumerkki. 1. Jos J = J(x) J(x ) 0, niin J(x ) on lokaali minimi 2. Jos J = J(x) J(x ) 0, niin J(x ) on lokaali maksimi Funktiota x kutsutaan ekstremaaliksi ja J(x ) on ekstreemi. Lause. Olkoon J(x) differentioituva funktionaali J : X R (x X on yleisesti vektoriarvoinen funktio). Oletetaan, että x:llä ei ole rajoituksia X:ssä. Jos x on ekstremaali, niin J:n variaatio x :llä on nolla, δj(x, δx) = 0 kaikille sallituille x+δx, x X. Todistus. (Kirk s. 121) Vastaoletuksella, olkoon x ekstremaali ja δj 0. Inkrementti J = δj(x, δx) + g(x, δx) δx, missä g(x, δx) 0, kun δx 0 ja δj on lineaarinen. Toisin sanoen on olemassa pieni alue, δx < ε, missä δj:n etumerkki määrää J:n etumerkin. Oletetaan, että δj(x, αδx) < 0, α > 0. Tarkastelemalla +αδx ja αδx vertailufunktioita nähdään, että (homogeenisuudesta johtuen) { δj(x, αδx) = αδj(x, δx) < 0 δj(x, αδx) = αδj(x, δx) > 0 eli δj:n etumerkki saadaan vaihtumaan ristiriita (δj:n etumerkin piti säilyä, jos kyseessä on ekstremaali). Näin ollen, jos x on ekstremaali, pitää olla voimassa δj(x, δx) = 0, kaikille δx. 6.2 Variaatiolaskennan perustehtävä Olkoon g(x(t), ẋ(t), t) skalaarifunktio, jolla on jatkuvat 1. ja 2. derivaatat kunkin argumentin suhteen. 23
Tehtävä: määrää välillä t t f jatkuvasti differentioituvien funktioiden joukosta se, jolle pätee x( ) = x 0 ja x(t f ) = x f, ja jolla funktionaali J(x) = t f g(x, ẋ, t)dt on lokaali ekstreemi. Ratkaisu. Tarkastellaan J:n inkrementtiä ratkaisukäyrällä x. Mikä on ehto variaation häviämiselle? J(x, δx) = J(x + δx) J(x) = g(x(t) + δx(t), ẋ(t) + δẋ(t), t)dt Kehitetään g Taylorin sarjaksi x(t):n ja ẋ(t):n ympäristössä. g(x(t) + δx(t), ẋ(t) + δẋ(t), t) = g(x(t), ẋ(t), t) + [ ] (x(t), ẋ(t), t) ẋ δẋ(t) + o(δx(t), δẋ(t)) }{{} 0, kun δx, δẋ 0 g(x(t), ẋ(t), t)dt [ (x(t), ẋ(t), t) x ] δx(t) + Kootaan J:n lausekkeesta ne termit, jotka ovat lineaarisia δx(t):n ja δẋ(t):n suhteen {[ ] [ ] } δj(x, δx) = (x(t), ẋ(t), t) δx(t) + (x(t), ẋ(t), t) δẋ(t) dt. x ẋ Osittaisintegroidaan jälkimmäinen termi [ ] (x(t), ẋ(t), t) ẋ }{{} u δẋ(t)dt = }{{} v = 0, koska δx( ) = δx(t f ) = 0 (sallittujen ohjausten pitää kulkea annettujen päätepisteiden ja t f kautta) {}}{ t f [ ] (x(t), ẋ(t), t) δx(t) ẋ }{{}}{{} v u [ ] d (x(t), ẋ(t), t) δx(t)dt. dt ẋ }{{}}{{} v u Kootaan yhteen ja sovelletaan välttämätöntä ehtoa ekstremaalille { δj(x, δx) = 0 = x (x (t), ẋ (t), t) [ ]} d dt ẋ (x (t), ẋ (t), t) δx(t)dt. Välitulos. Olkoon h(t) jatkuva funktio välillä [, t f ]. Jos t f h(t)δx(t)dt = 0, δx(t) C[, t f ] ja joilla δx( ) = δx(t f ) = 0, niin h(t) = 0, t [, t f ] (Kirk s. 126). Sovelletaan perustehtävään, jolloin nähdään, että välttämätön ehto ekstreemille on { } = 0, eli x (x (t), ẋ (t), t) d [ ] dt ẋ (x (t), ẋ (t), t) = 0, t [, t f ] reunaehdoilla x( ) = x t0 ja x(t f ) = x tf 24
Euler-Lagrangen yhtälö on tyypillisesti epälineaarinen, aikavariantti, hankalasti ratkaistavissa oleva toisen asteen differentiaaliyhtälö. Euler-Lagrangen yhtälö muodostaa kahden pisteen reuna-arvotehtävän x(t):lle (vrt. H-J-B:n yhtälö on osittaisdifferentiaaliyhtälö). Euler-Lagrangen yhtälö on välttämätön ehto ekstremaalille, ei riittävä. Ekstermaalin laatu tarkistettava eri keinoin. 6.3 Esimerkki Varasto-tuotanto (Kamien-Schwartz s. 22 24): Tilauskoko B toimitettava viimeistään hetkellä T. Varastointikustannukset aikayksikössä tuotetta kohden C 2. Tuotantokustannus on tuotantonopeuden neliö kerrottuna C 1 :llä. x(t) = varaston koko hetkellä t x(0) = 0, alussa ei varastoa ẋ(t) 0, vain tuotantoa ẋ(t) = tuotantonopeus x(t) = B, lopussa tilauskoko varastossa Kustannus: J = T 0 g [{}}{] C1 ẋ 2 (t) + C }{{} 2 x(t) dt }{{} tuotantokustannus varastointikustannus Euler-Lagrange: g(x(t), ẋ(t), t) = g(x(t), ẋ(t)) = C 1 ẋ 2 (t) + C 2 x(t) g x d dt g ẋ = 0, g x = C 2, gẋ = 2C 1 ẋ, d dt g ẋ = 2C 1 ẍ C 2 2C 1 ẍ = 0 ẍ = C 2 2C 1. Integroidaan kahdesti, saadaan kandidaatti ekstremaalille. x (t) = C 2 4C 1 t 2 + K 1 t + K 2, missä K 1 ja K 2 ovat integrointivakioita, joiden valinnan määrää reunaehdot x(0) = 0 K 2 = 0 ja Optimivaraston koko 0 t T: x(t) = B C 2 4C 1 T 2 + K 1 T = B K 1 = B T C 2 4C 1 T. x (t) = C 2 t(t T) + Bt 4C 1 T Tarkistetaan rajoitus ẋ (t) 0, edellä ẍ(t) > 0 ẋ(t) kasvava 25
Halutaan yleisiä lainalaisuuksia, ei numeroita: Eulerin yhtälö 2C 1 ẍ(t) = C 2. Koska C 1 ẋ 2 (t) on kokonaistuotantokustannus hetkellä t, niin 2C 1 ẋ on hetkittäinen marginaalinen tuotantokustannus. Näin ollen 2C 1 ẍ on hetkittäisen marginaalisen tuotantokustannuksen kasvunopeus. Toisin sanoen optimia voidaan kuvata näin: optimipolitiikassa on tasapainotettava joka hetki yksikkövarastokustannus C 2 ja hetkittäisen marginaalisen tuotantokustannuksen kasvunopeus 2C 1 ẍ. Sama tulos toisin: integroidaan Euler-Lagrange pienen ajan t yli 2C 1 ẋ(t + t) }{{} Yhden yksikön marginaalinen tuotantokustannus hetkellä t + t t+ t 2C t 1 ẍ(t)dt = t+ t C t 2 dt 2C 1 [ẋ(t + t) ẋ(t)] = C 2 t = 2C 1 ẋ(t) }{{} Yhden yksikön marginaalinen tuotantokustannus hetkellä t + C 2 t }{{} Varastokustannus ajan t yli On sama, tuotetaanko yksikkö nyt ja varastoidaan se vai tuotetaanko myöhemmin. Toisin sanoen optimiradalla tuotannon viivyttäminen ei vähennä kustannuksia! 26
6.4 Variaatiolaskennan oletusten rajoitukset Sivut ss. 27 31 lähteiden [Kirk, ss. 130 143] ja [KS, Ch. 5] pohjalta Lähtökohta oli: jos J:llä on ekstremaali x (t), niin J:n variaatio δj(x (t), δx(t)) x (t):tä pitkin on nolla. 1. Välttämätön ehto. Lause: Jos δj = 0 x (t) on minimi, ei päde. 2. Ehto antaa vain kandidaatteja optimille, joista joku voi olla optimi. 3. Eulerin yhtälössä edellytetään ẍ(t):n olemassaolo. Tämä ei välttämättä toteudu optimiohjaustehtävissä. syy : g x d dt g d ẋ = 0, dt g ẋ = gẋx ẋ + gẋẋ ẍ + gẋt 6.5 Eulerin yhtälön ratkaisuiden erikoistapauksia Yleisesti ottaen Eulerin yhtälön ratkaiseminen on hankalaa. Jos g(x(t), ẋ(t), t):ssä jokin argumentti ei ole eksplisiittisesti mukana, yksinkertaistuu ratkaiseminen huomattavasti (ks. KS, Ch. 5). Esimerkki. Eulerin yhtälö voidaan kirjoittaa muodossa d dt [g ẋg ẋ] = g x ẋ + gẋẍ + g t ẍgẋ ẋ d [ dt g ẋ = g t + ẋ g x d ] dt g ẋ = g t. }{{} =0 ekstremaalilla Jos nyt g t = 0, niin yo. yhteydestä nähdään, että d dt [g ẋ gẋ] = 0. Esimerkki. g(x(t), ẋ(t), t) lineaarinen ẋ:een suhteen g(x, ẋ, t) = A(x, t) + B(x, t)ẋ A x (x, t) + B x (x, t)ẋ d B(x, t) = 0 dt A x (x, t) + B x (x, t)ẋ B x (x, t)ẋ B t (x, t) = 0 A x (x, t) = B t (x, t) Kyseessä ei siis olekaan enää differentiaaliyhtälö vaan implisiittinen algebrallinen yhtälö x:lle. Jos sen ratkaisu toteuttaa reunaehdot, se voi olla optimiratkaisu. Kysessä oleva yhtälö voi olla identiteetti A x B t. Tällöin integraalin arvo riippuu vain päätepiste-ehdoista niiden välisestä radasta riippumatta. Tällöin integrandi on jonkin funktion kokonaisaikaderivaatta: P t A, P x B, P tx A x B t. Olkoon g(x, ẋ, t) = A + Bẋ = P t + P x ẋ = d P(x, t). Tällöin dt t d f P(x, t)dt = dt P(x, t) = P(x(t f ), t f ) P(x( ), ). Jos g(x, ẋ, t) = g(x, ẋ, t) + d P(x, t), niin g:n Eulerin yhtälö on sama kuin g:n. dt Näin ollen kaksi integrandia voi johtaa samaan Eulerin yhtälöön ja samoihin ekstremaaleihin, kun integrandin arvo on em. kokonaisderivaatta. 27
6.6 Esimerkki Etsitään ekstremaalia kohdefunktionaalille ẋ(t)dt, x( ) = x 0, x(t f ) = x f. Nyt g(x, ẋ, t) = ẋ(t), joten Eulerin yhtälö g x d dt g ẋ = 0 0 = 0 pätee aina. Integraali ẋ(t)dt = x f x 0, eli jokaiselle differentioituvalle funktiolle päätepisteet määräävät kustannuksen, eikä integraalin arvo riipu x(t):stä. 6.7 Esimerkki Tuotannonoptimointitehtävä lineaariselle tuotantokustannukselle min T reunaehdoilla x(0) = 0 ja x(t) = B. 0 [C 1 ẋ(t) + C 2 x(t)] dt, Tehtävä on lineaarinen ẋ(t):n suhteen. g x = C 2, gẋ = C 1, d dt g ẋ = 0. Eulerin yhtälö: C 2 = 0, ei ole olemassa optimaalista tuotantotapaa, jos C 2 0. Jos C 2 = 0, niin kaikki tuotantotavat johtavat samaan optimikustannukseen T 0 C 1 ẋ(t)dt = C 1 B. Jos C 2 0, niin kannattaa viivyttää tuotantoa viime hetkeen asti ja tehdä silloin kaikki, jolloin ei kerry varastokuluja. Ratkaisu on siis muotoa x(t) = 0, 0 < t T, x(t) = B. Tämä ei käy Eulerin yhtälön ratkaisuksi, koska kyseinen ohjelma ei ole jatkuva funktio. 6.8 Yleisempiä variaatiotehtäviä: vapaa loppuarvo Edellä päätepisteet olivat kiinteät x(t) x(t) x f x 0 x 0 Aikaisemmin t f t Nyt t f t 28
Nyt J(x) = t f g(x(t), ẋ(t), t)dt;, t f kiinteät, x( ) kiinteä, x(t f ) vapaa Kohdefunktionaalin variaatio t f [ ] δj(x, δx) = (x(t), ẋ(t), t) δx(t) ẋ {[ ] + (x(t), ẋ(t), t) d [ x dt ẋ ]} (x(t), ẋ(t), t) } {{ } ekstremaalilla=0 1. Ekstremaalilla pitää olla δj(x, δx) = 0. δx(t)dt. (8) 2. Tarkastellaan tehtävää ekstremaalikäyrän x (t) määrittelemällä kiinteällä loppuarvolla x(t f ) = x (t f ). Tällä kiinteän päätepisteen tehtävällä ratkaisu on x (t) ja sillä tulee olla voimassa Eulerin yhtälö. Siis vapaan loppuarvon ekstremaalilla on myös voimassa Eulerin yhtälö. Näin ollen kaavan (8) ensimmäisen termin tulee olla nolla: [ ] ẋ (x (t f ), ẋ (t f ), t f ) δx(t f ) }{{} mielivalt. [ ẋ (x ( ), ẋ ( ), ) Välttämättömät ehdot vapaan loppuarvon tehtävälle ovat { Eulerin yhtälö ] δx( ) = 0. }{{} =0 ẋ (x (t f ), ẋ (t f ), t f ) = 0 6.9 Vapaa loppuarvo ja -aika Sallittuja trajektoreita: päätepiste-ehto x(t) x 0 t Nyt J(x) = t f g(x(t), ẋ(t), t)dt; kiinteä, t f vapaa, x( ) kiinteä, x(t f ) vapaa. Kohdefunktionaalin variaatio {[ ] δj(x, δx) = x (x (t), ẋ (t), t) δx(t) + [ ] } ẋ (x (t), ẋ (t), t) δẋ(t) dt + [g(x (t), ẋ (t), t)] δt f [ ] = [g(x (t f ), ẋ (t f ), t f )]δt f + ẋ (x (t f ), ẋ (t f ), t f ) δx(t f ) {[ ] + x (x (t), ẋ (t), t) d [ ]} dt ẋ (x (t), ẋ (t), t) δx(t)dt = 0. }{{} ekstremaalilla=0 29
Ongelmana on δx(t f ), koska se riippuu sekä δx:stä, että δt f :stä. x(t) x f δx(t f ) x x * δx f x 0 tf t+ f δt f t Määritellään δx f. = x(tf + δt f ) x (t f ) δx(t f ). = x(t f ) x (t f ) Käytetään lineaarista ekstrapolaatiota x (t f ):stä eteenpäin. Kun käyrät lähellä toisiaan, niiden kulmakertoimet eivät poikkea paljon t f :ssä ẋ(t f ) ẋ (t f ). Siis δx f δx(t f ) + ẋ(t f )δt f δx(t f ) + ẋ (t f )δt f δx(t f ) = δx f ẋ (t f )δt f. Sijoitetaan tämä kohdefunktionaalin variaation kaavaan [ ] { δj(x,δx) = ẋ (x (t f ), ẋ (t f ), t f ) δx f + g(x (t f ), ẋ (t f ), t f ) [ ] } ẋ (x (t f ), ẋ (t f ), t f ) ẋ (t f ) δt f {[ ] + x (x (t), ẋ (t), t) d [ ]} dt ẋ (x (t), ẋ (t), t) δx(t)dt = 0. }{{} ekstremaalilla=0 Tästä voidaan päätellä päätepiste-ehdot (transversaalisuusehdot). 1. x(t f ) vapaa ja t f kiinteä: δt f = 0 ja δx f mielivaltainen ẋ (x (t f ), ẋ (t f ), t f ) = 0. 2. x(t f ) kiinteä ja t f vapaa: δt f mielivaltainen ja δx f = 0 [ ] g(x (t f ), ẋ (t f ), t f ) ẋ (x (t f ), ẋ (t f ), t f ) ẋ (t f ) = 0. 3. t f ja x(t f ) vapaat: δt f ja δx f mielivaltaisia ja riippumattomia ẋ (x (t f ), ẋ (t f ), t f ) = 0, g(x (t f ), ẋ (t f ), t f ) = 0. 30
6.10 Päätepiste käyrällä Nyt δx f ja δt f eivät ole riippumattomia. Sallitut loppuarvot sijaitsevat käyrällä x(t f ) = θ(t f ). δt f :n ja δx f :n välinen riippuvuus: δx f. = dθ dt (t f)δt f. Sijoitetaan tämä sivun 30 kaavaan ja kerätään termit, jolloin {[ ][ ] } dθ ẋ (x (t f ), ẋ (t f ), t f ) dt (t f) ẋ (t f ) + g(x (t f ), ẋ (t f ), t f ) δt f = 0, }{{} =0 koska δt f on mielivaltainen. 6.11 Esimerkki Etsi lyhin rata origosta annetulle θ(t) = 5t + 15. Radan pituus [ J(x) = dl = dt 2 + dx 2] 1 tf 2 [ = 1 + ẋ 2 (t) ]1 2 dt; L reunaehdot = 0, x(0) = 0 annettu, t f ja x(t f ) vapaat, mutta x(t f ):n sijaittava eo. suoralla. Eulerin yhtälö: [ ] d ẋ (t) = dt [1 + ẋ 2 (t)] 1 2 ẍ (t) [ 1 + ẋ 2 (t) ]1 2 }{{} 0 ẋ (t) 1 2 2ẋ (t)ẍ (t) [ 1 + ẋ 2 ]3 2 }{{} 0 = 0 ẍ (t) = 0. Ratkaisu on siis muotoa x (t) = c 1 t + c 2. Alkutilaehdosta x (0) = 0 seuraa, että c 2 = 0. c 1 määräytyy transversaalisuusehdosta ẋ (t f ) [1+ẋ 2 (t f )] 1 2 [ 5 ẋ (t f )] + [1 + ẋ 2 (t f )] 1 2 = 0 ẋ (t f ) [ 5 ẋ (t f ) ] + 1 + ẋ 2 (t f ) = 0 5ẋ (t f ) + 1 = 0. Edelleen ẋ (t f ) = c 1, joten c 1 = 1 5. Leikkauskohdan t f määrää θ(t):n yhtälö x (t f ) = θ(t f ), 1 5 t f = 5t f + 15 t f = 75 26. Ekstremaali on kohtisuorassa maalisuoraa vastaan. 31
6.12 Weierstrass-Erdmannin taite-ehdot [Kirk, ss. 154 161] Nyt ei vaadita ratkaisujen olevan sileitä (jatkuvia ja jatkuvasti derivoituvia), vaan vain paloittain sileitä. Toisin sanoen x(t):llä on äärellinen määrä kulmia (derivaatan epäjatkuvuuskohtia). Oletetaan, että kulma on pisteessä t 1 : x(t) x δx 1 x f x 0 x * t t+δt 1 1 1 f t t Etsitään funktionaalin J(x) = t f g(x(t), ẋ(t), t)dt ekstremaaleja. Oletetaan, että g:n ensimmäiset ja toiset osittaisderivaatat kunkin argumentin suhteen ovat jatkuvia, ja että, t f, x( ) ja x(t f ) ovat annetut. Lausutaan funktionaali summana J(x) = t1 g(x(t), ẋ(t), t)dt + Tarvitaan lauseke yleiselle variaatiolle t 1 g(x(t), ẋ(t), t)dt J 1 (x) + J 2 (x). δj(x, δx) = δj 1 (x, δx) + δj 2 (x, δx). Kulmapisteiden koordinaatit ovat vapaita; sivun 30 kaavasta [ ] { δj(x,δx) = ẋ (x (t 1 ), ẋ (t 1 ), t 1 ) δx 1 + g(x (t 1 ), ẋ (t 1 ), t 1 ) [ } ẋ (x (t 1 ), ẋ (t 1 ), t 1 ]ẋ ) (t 1 ) δt 1 t1 {[ ] + x (x (t), ẋ (t), t) d [ ]} dt ẋ (x (t), ẋ (t), t) δx(t)dt }{{} ekstremaalilla=0 [ ] { ẋ (x (t + 1 ), ẋ (t + 1 ), t + 1 ) δx 1 g(x (t + 1 ), ẋ (t + 1 ), t + 1 ) [ } ẋ (x (t + 1 ), ẋ (t + 1 ), t+ 1 ]ẋ ) (t +1 ) δt 1 {[ ] + t 1 x (x (t), ẋ (t), t) d [ ]} dt ẋ (x (t), ẋ (t), t) δx(t)dt = 0. }{{} ekstremaalilla=0 32
Koska kertoimet δx 1 ja δt 1 ovat mielivaltaisia, välttämättömät ehdot ekstremaalille saadaan asettamalla niiden kertoimet nolliksi ja ẋ (x (t 1 ), ẋ (t 1 ), t 1 ) = ẋ (x (t + 1 ), ẋ (t + 1 ), t+ 1 ), [ ] g(x (t 1 ), ẋ (t 1 ), t 1 ) ẋ (x (t 1 ), ẋ (t 1 ), t 1 ) ẋ (t 1 ) [ ] = g(x (t + 1 ), ẋ (t + 1 ), t+ 1 ) ẋ (x (t + 1 ), ẋ (t + 1 ), t+ 1 ) ẋ (t + 1 ). Toisin sanoen gẋ:n ja g gẋẋ:n on oltava jatkuvia taitekohdassa. 6.13 Esimerkki Etsi seuraavalle funktionaalille minimoiva ekstermaali 1. Eulerin yhtälöllä: min 2 0 [ẋ2 (t) 1 ] 2 dt, x(0) = 0, x(2) = 0. }{{} g(x(t),ẋ(t),t) Muodostetaan Eulerin yhtälö ja ratkaistaan se: (x(t), ẋ(t), t) = 0 x ẋ (x(t), ẋ(t), t) = 2 2ẋ(t) [ ẋ 2 (t) 1 ] [ ] d (x(t), ẋ(t), t) = 0 4ẋ 3 (t) 4ẋ(t) = c 1 ẋ(t) = c 2. dt ẋ Ratkaisu on siis muotoa x (t) = c 2 t + c 3. Reunaehdot x(0) = 0, x(2) = 0 x (t) 0, ẋ (t) = 0 J (x) = 2 0 [ 1]2 dt = 2. Tämä ratkaisu on lokaali maksimi! Tarkistus: otetaan mielivaltainen funktio h(t), jolle ḣ(t) < 1, ḣ2 (t) < 1, h(0) = h(2) = 0. Nyt 2 0 [ḣ(t) 1]2 dt < 2. Kyseessä on lokaali maksimi. Siis ei löydetä minimiä, kun x(t) C 1. 2. Sallitaan kulmat. Ratkaisu koostuu edelleen suorista (Eulerin yhtälö). Taite-ehdot: 4ẋ (t 1 )(ẋ 2 (t 1 ) 1) = 4ẋ (t + 1 )(ẋ 2 (t + 1 ) 1) [ẋ (t 1 ) 1] 2 = [ẋ (t + 1 ) 1] 2 Ylempi yhtälö toteutuu, kun ẋ (t 1 ) = 1, 0, 1 ja ẋ (t + 1 ) = 1, 0, 1 33
Alempi yhtälö toteutuu, kun ẋ (t 1 ) = 1, 1 ja ẋ (t + 1 ) = 1, 1 Mahdollisissa ratkaisuissa joko tai Kokeillaan ratkaisua ẋ (t 1 ) = 1 ja ẋ (t + 1 ) = 1 ẋ (t 1 ) = 1 ja ẋ (t + 1 ) = 1 { x (t) = t, t t 1 = 1 x (t) = t + 2, t t 1 = 1 J (x) = 1 0 [12 1] 2 dt + 2 1 [( 1)2 1] 2 dt = 0 globaali minimi. 6.14 Yhteenveto Kaikissa tapauksissa variaatiotehtävän ekstremaalin välttämättömiksi ehdoiksi saatiin 1. Eulerin yhtälö 2. Tarpeelliset transversaalisuusehdot 3. Kun sallitaan kulman, Weierstrass-Erdmannin taite-ehdot 6.15 Eulerin yhtälö tilavektorilla [Kirk, ss. 143 148] Olkoon kohdefunktionaali muotoa J(x) = J(x 1, x 2,...,x n ), x i (t) riippumattomia funktioita g(x(t),ẋ(t), t) = g(x 1 (t),...,x n (t), ẋ 1 (t),...,ẋ n (t), t). Edellä esitetyt tulokset voidaan johtaa analogisesti: Kullakin x i (t) oma variaatio δx i Kokonaisinkrementti kuten edellä ja lineaariset termit määräävät kohdefunktionaalin variaation Valitaan δx i 0 ja muut δx j = 0. Sovelletaan skalaaritapauksen tuloksia. Eulerin yhtälö on voimassa joka funktiota kohden (x (t),ẋ (t), t) d [ ] (x (t),ẋ(t), t) = 0, i x i dt ẋ i Vektorimuodossa gradienttina x (x (t),ẋ (t), t) d dt [ ] ẋ (x (t),ẋ (t), t) = 0. Variaatio vastaavasti vapaan loppuarvon ja -ajan tehtävälle: [ ] T { δj(x,δx) = ẋ (x (t f ),ẋ (t f ), t f ) δx f + g(x (t f ),ẋ (t f ), t f ) [ ] T ẋ (x (t f ),ẋ (t f ), t f ) ẋ (t f )} δt f = 0. 34
6.16 Ekstremaalit rajoitusten vallitessa Yhtälörajoitus. Tarkastellaan tapausta, missä x on n + m-ulotteinen vektorifunktio, mitä sitoo t n yhtälörajoitusta f i (x(t), t) = 0, i = 1, 2,..., n. Vain m komponenttia x:stä on vapaasti valittavissa. Eräs ratkaisutapa on muuttujien eliminointi: ratkaistaan f i (x(t), t) n:lle muuttujalle jäljellä olevien m:n muuttujan funktiona ja eliminoidaan J:stä x(t):n ja ẋ(t):n n riippuvaa komponenttia. Tämä ei ole usein käyttökelpoinen lähestymistapa (mahdotonta). Toinen tapa on Lagrangen kerroinmenettely. Funktionaali J(x) = g(x(t),ẋ(t), t)dt; x( ),x(t f ),, t f kiinnitetty, sekä n kappaletta rajoitusyhtälöitä f i (x(t), t) = 0. Oletetaan n kappaletta kerroinfunktioita [p 1 (t),...,p n (t)] T p(t) (aikariippuvuus!). Muodostetaan laajennettu funktionaali J a (x,p) = { g(x(t),ẋ(t), t) + p T (t)[f(x(t), t)] } dt. Kun rajoitusyhtälöt toteutuvat eli f(x(t), t) = 0, niin J a = J p(t). J a :n variaatio {[ [ ]] T f δj a (x, δx,p, δp) = x (x(t),ẋ(t), t) + pt (t) (x(t), t) δx(t) x [ ] T + (x(t),ẋ(t), t) δẋ(t) + [ f T (x(t), t) ] } δp(t) dt ẋ {[ [ ] T f = x (x(t),ẋ(t), t) + pt (t) (x(t), t) x d [ ]] T (x(t),ẋ(t), t) δx(t) + [ f T (x(t), t) ] } δp(t) dt. dt ẋ }{{} =0 ekstremaalilla Ekstremaalilla δj a (x,p) = 0 ja f(x (t), t) = 0 δp(t):n kerroin on nolla, p(t) voidaan valita vapaasti. Valitaan p:t siten, että n kpl δx(t):n kertoimista on nollia välillä [, t f ]. Loput δx(t):n m komponenttia ovat riippumattomia, joten niiden kertoimien on oltava nollia δx(t) kerroinvektorin on oltava nolla. 35
Merkitään g a (x(t),ẋ(t),p(t), t) g(x(t),ẋ(t), t) + p T (t)[f(x(t), t)]. Välttämättömät ehdot ekstremaalille x (t) ovat a x (x (t),ẋ (t), t) d [ ] a dt ẋ (x (t),ẋ (t),p (t), t) = 0, f(x (t), t) = 0. Saadaan siis n + m differentiaaliyhtälöä ja n algebrallista yhtälöä. Isoperimetrinen rajoitus on integraalirajoitus. Tehtävä on muotoa min g(x(t), ẋ(t), t)dt z(t f ) e(x(t), ẋ(t), t) = c, reunaehdoilla x( ) = x 0, x(t f ) = x f ja c on vakio. Otetaan käyttöön Lagrangen kerroin p(t). Ekvivalentti tehtävä: min mielivaltaisella skalaarilla p(t). Merkitään Eulerin yhtälö {g(x(t), ẋ(t), t) + p(t) [e(x(t), ẋ(t), t) ż(t)]}dt g a (x(t), ẋ(t), t) = g(x(t), ẋ(t), t) + p(t) [e(x(t), ẋ(t), t) ż(t)]. a x (x (t), ẋ (t), t) d [ ] a dt ẋ (x (t), ẋ (t), t) = 0, a z (x (t), ẋ (t), t) d [ ] a dt ż (x (t), ẋ (t), t) = 0. p(t):n arvosta riippuvia ekstremaaleja x (t, p(t)). Jos nyt löytyy sellainen p(t), että z (t f ) = c, niin se on ratkaisu. 6.17 Esimerkki: kaivosprobleema Luonnonvaraa on kokonaismäärä B Hyödyntämisnopeus x(t) Tuottovirta myynnistä p(x(t)) Tehtävä: T max e rt p(x(t))dt, 0 T 0 x(t)dt = B. Määritellään uusi muuttuja z(t) t x(t)dt, kumulatiivinen saalis. Ekvivalentti 0 tehtävä on muotoa T { z(0) = 0 ż(t) = x(t), max e rt p(ż(t))dt, 0 z(t) = B 36
6.18 Differentiaaliyhtälörajoitus Muotoillaan välttämättömät optimaalisuusehdot funktionaalin ekstremaalille x. J(x) = g(x(t),ẋ(t), t)dt x on nyt (n + m) 1 vektorifunktio, jonka on toteutettava n differentiaaliyhtälörajoitetta f i (x(t),ẋ(t), t) = 0, i = 1, 2,..., n. Rajoitukset kuvaavat optimiohjaustehtävissä systeemiyhtälöitä, jolloin vapaaksi jäävät m komponenttia edustavat ohjausfunktioita; siis [ z x =, u] missä z on n 1 tilavektori ja u on m 1 ohjausvektori. Voidaan käyttää eliminointia, jos se on mahdollista. Muutoin edetään Lagrangen kerrointekniikalla. Olkoon laajennettu funktionaali muotoa J a (x,p) = { g(x(t),ẋ(t), t) + p T (t)[f(x(t),ẋ(t), t)] } dt. Kun rajoitusehdot toteutuvat, niin J a = J kaikille p(t). J a :n variaatio {[ T δj a (x, δx,p, δp) = x (x(t),ẋ(t), t) + pt (t) [ [ T f + (x(t),ẋ(t), t) + pt ẋ + [ f T (x(t),ẋ(t), t) ] } δp(t) dt {[ [ T f = x (x(t),ẋ(t), t) + pt (t) d [ T dt ẋ (x(t),ẋ(t), t) + pt (t) + [ f T (x(t),ẋ(t), t) ] } δp(t) dt. }{{} =0 ekstremaalilla [ ]] f (x(t),ẋ(t), t) δx(t) x ]] (x(t),ẋ(t), t) ẋ δẋ(t) (x(t),ẋ(t), t) x [ f (x(t),ẋ(t), t) ẋ ] ]]] δx(t) Ekstremaalilla δj a (x,p) = 0 ja f(x (t),ẋ (t), t) = 0 δp(t):n kerroin on nolla. Rajoitusehtojen toteutuessa p:t voidaan valita vapaasti. 37
Valitaan ne siten, että n kpl δx(t):n kertoimista on nollia välillä [, t f ]. Loput δx(t):n m komponenttia ovat riippumattomia, joten niiden kertoimien on oltava nollia δx(t) kerroinvektorin on oltava nolla. Merkitään g a (x(t),ẋ(t),p(t), t) g(x(t),ẋ(t), t) + p T (t)[f(x(t),ẋ(t), t)]. Välttämättömät ehdot ekstremaalille x (t) ovat a x (x (t),ẋ (t), t) d [ ] a dt ẋ (x (t),ẋ (t),p (t), t) = 0, f(x (t),ẋ (t), t) = 0. Saadaan siis 2n + m differentiaaliyhtälöä. 6.19 Jäykät probleemat Jos rajoitetussa variaatiotehtävässä rajoitukset itsessään määräävät ratkaisun, puhutaan jäykästä (rigid) tehtävästä. Esimerkki. J(x) = g(x 1 (t), x 2 (t), ẋ 1 (t), ẋ 2 (t), t)dt; x 1 (t) + x 2 (t) = 0. Rajoitus vaatii, että x 1 (t) x 2 (t) 0 t. Tällöin ei Eulerin yhtälö toteudu, koska sallittuja variaatioita ei ole. Otetaan käyttöön uusi Lagrangen kerroin p 0 : J(x) = p 0 Eulerin yhtälö on nyt muotoa g(x(t),ẋ(t), t)dt; f(x(t),ẋ(t), t) = 0. a x (x(t),ẋ(t), t) a (x(t),ẋ(t), t) = 0, ẋ missä g a (x(t),ẋ(t), t) = p 0 g(x(t),ẋ(t), t) + p T (t)[f(x(t),ẋ(t), t)]. Jos 1. p 0 = 0, on systeemi jäykkä. 2. p 0 > 0, systeemi ei ole jäykkä. 38