Luento 9: Newtonin iteraation sovellus: optimointiongelma

Samankaltaiset tiedostot
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Matematiikan tukikurssi

Matematiikan tukikurssi

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

2 Osittaisderivaattojen sovelluksia

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

12. Hessen matriisi. Ääriarvoteoriaa

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Konjugaattigradienttimenetelmä

f(x 1, x 2 ) = x x 1 k 1 k 2 k 1, k 2 x 2 1, 0 1 f(1, 1)h 1 = h = h 2 1, 1 12 f(1, 1)h 1 h 2

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018

Näihin harjoitustehtäviin liittyvä teoria löytyy Adamsista: Ad6, Ad5, 4: 12.8, ; Ad3: 13.8,

Luento 8: Epälineaarinen optimointi

Matematiikka B1 - avoin yliopisto

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Luento 8: Epälineaarinen optimointi

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Matematiikan tukikurssi

1 Rajoittamaton optimointi

Matematiikan tukikurssi

Luento 5: Suurten lineaaristen yhtälöryhmien ratkaiseminen iteratiivisilla menetelmillä

Numeeriset menetelmät

Epälineaaristen yhtälöiden ratkaisumenetelmät

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0

Numeeriset menetelmät

Talousmatematiikan perusteet: Luento 15. Rajoitettu optimointi Lagrangen menetelmä Lagrangen kerroin ja varjohinta

Differentiaali- ja integraalilaskenta 2 (CHEM) MS-A0207 Hakula/Vuojamo Kurssitentti, 12.2, 2018, arvosteluperusteet

Mikäli funktio on koko ajan kasvava/vähenevä jollain välillä, on se tällä välillä monotoninen.

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja

Matematiikan peruskurssi (MATY020) Harjoitus 10 to

Maksimit ja minimit 1/5 Sisältö ESITIEDOT: reaalifunktiot, derivaatta

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

Matematiikka B1 - TUDI

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos. MS-A0203 Differentiaali- ja integraalilaskenta 2, kevät 2016

Johdatus tekoälyn taustalla olevaan matematiikkaan

Mapu 1. Laskuharjoitus 3, Tehtävä 1

Talousmatematiikan perusteet: Luento 6. Derivaatta ja derivaattafunktio Derivointisääntöjä Ääriarvot ja toinen derivaatta

Luento 9: Yhtälörajoitukset optimoinnissa

Talousmatematiikan perusteet: Luento 6. Derivaatta ja derivaattafunktio Derivointisääntöjä Ääriarvot ja toinen derivaatta

Derivaatan sovellukset (ääriarvotehtävät ym.)

Taustatietoja ja perusteita

Talousmatematiikan perusteet: Luento 14. Rajoitettu optimointi Lagrangen menetelmä: yksi yhtälörajoitus Lagrangen menetelmä: monta yhtälörajoitusta

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Vektorilaskenta, tentti

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Epälineaaristen yhtälöiden ratkaisumenetelmät

Matematiikan tukikurssi, kurssikerta 3

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

Matematiikkaa kauppatieteilijöille

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0.

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä?

MS-C1340 Lineaarialgebra ja

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Paikannuksen matematiikka MAT

Ratkaisuehdotukset LH 10 / vko 48

Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1

Demo 1: Simplex-menetelmä

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Ominaisarvot ja ominaisvektorit 140 / 170

Viikon aiheet. Funktion lineaarinen approksimointi

Likimääräisratkaisut ja regularisaatio

Matematiikan tukikurssi: kurssikerta 10

Piiri K 1 K 2 K 3 K 4 R R

Funktioiden approksimointi ja interpolointi

Ratkaisuehdotukset LH 7 / vko 47

Tilavuus puolestaan voidaan esittää funktiona V : (0, ) (0, ) R,

Funktion suurin ja pienin arvo DERIVAATTA,

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS

mlnonlinequ, Epälineaariset yhtälöt

Matemaattinen Analyysi / kertaus

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut

MATEMATIIKAN JAOS NUMEERISET MENETELMÄT

Äänekosken lukio Mab4 Matemaattinen analyysi S2016

Kanta ja Kannan-vaihto

MATP153 Approbatur 1B Harjoitus 6 Maanantai

ominaisvektorit. Nyt 2 3 6

5 Differentiaaliyhtälöryhmät

Pisteessä (1,2,0) osittaisderivaatoilla on arvot 4,1 ja 1. Täten f(1, 2, 0) = 4i + j + k. b) Mihin suuntaan pallo lähtee vierimään kohdasta

Matematiikan tukikurssi

Numeeriset menetelmät TIEA381. Luento 4. Kirsi Valjus. Jyväskylän yliopisto. Luento 4 () Numeeriset menetelmät / 44

Matriisit ja optimointi kauppatieteilijöille

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Pienimmän neliösumman menetelmä

Matematiikan taito 9, RATKAISUT. , jolloin. . Vast. ]0,2] arvot.

Matematiikan tukikurssi

Derivaatta: funktion approksimaatio lineaarikuvauksella.

Matemaattisen analyysin tukikurssi

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 8: Newtonin iteraatio. Taso- ja avaruusintegraalit

1. Etsi seuraavien funktioiden kriittiset pisteet ja tutki niiden laatu: (a.) f(x,y) = 20x 2 +10xy +5y 2 (b.) f(x,y) = 4x 2 2y 2 xy +x+2y +100

Keskeiset tulokset heikko duaalisuus (duaaliaukko, 6.2.1) vahva duaalisuus (6.2.4) satulapisteominaisuus (6.2.5) yhteys KKT ehtoihin (6.2.

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

Numeeriset menetelmät

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) =

Teknillinen tiedekunta, matematiikan jaos Numeeriset menetelmät

MS-A0104 Differentiaali- ja integraalilaskenta 1 (ELEC2) MS-A0106 Differentiaali- ja integraalilaskenta 1 (ENG2)

Transkriptio:

Luento 9: Newtonin iteraation sovellus: optimointiongelma ilman rajoitusehtoja Optimointiongelmassa tehtävänä on löytää annetun reaaliarvoisen jatkuvan funktion f(x 1,x,,x n ) maksimi tai minimi jossain suljetussa joukossa Ω R n Joukkoa kutsutaan suljetuksi jos se sisältää reunansa Käytetty notaatio maksimoitaessa on maxf(x) (1) x Ω ja minimoitaessa minf(x) () x Ω Pistettäα R n kutsutaanf:n aidoksi paikalliseksi maksimiksipisteeksi (vast aidoksi minimipisteeksi) jos f(x) < f(α) (vast jos f(x) > f(α)) kaikilla x α kunhan x on riittävän lähellä α:aa Tällöin f(α) on f:n paikallinen maksimiarvo (vast minimiarvo) Jokin paikallinen ääriarvopiste on usein löydettävissä mutta se ei välttämättä ole ongelman ratkaisu Pitäisi löytää ne kaikki ja niistä valita se joka antaa suurimman (pienimmän) arvon Optimiointiongelmia esiintyy tietenkin käytännössä valtavasti Ensimmäisen ongelman muodostaa se, kuinka f pitäisi valita, jotta se mallintaisi todellista tilannetta riittävän hyvin Toinen ongelma on, kuinka valita joukko Ω Sekä f että Ω vaikuttavat ratkaisualgoritmin valintaan merkittävästi Oletamme seuraavaksi, että f on ainakin kaksi kertaa differentioituva Palautetaan mieleen mitä nämä käsitteet tarkoittavat yhden muuttujan tapauksessa Muistamme, että f:n derivaattojen nollakohdista löytyvät ne pisteet, joissa funktion kuvaaja mahdollisesti saavuttaa paikallisen lakipisteen tai laakson pohjan, ts paikallisen maksimin tai minimin Mikäli Ω = [a, b], niin derivaatan nollakohtien lisäksi piti tarkastaa funktion arvot välin [a, b] reunapisteissä a ja b Näistä valittu suurin ja pienin arvo ratkaisi (1):n ja ():n Tämän algoritmin edellytyksenä tietenkin on, että derivaatan nollakohdat saatiin laskettua Tässä vaiheessa tarvitaan yleensä Newtonin iteraatiota, sillä nollakohtien löytäminen ei yleisesti ole helppoa Useamman muuttujan tapaus ratkaistaan samalla algoritmilla Erityisen ongelman muodostaa kuitenkin tällöin reunapisteiden joukko, joka ei ole enää äärellinen kun n > 1 Siten reunapisteiden yksinkertainen tarkastelu ei enää onnistu suoraviivaisesti vaan voi olla erittäin hankalaa Nimittäin reunan dimensio on n 1 eli lähes yhtäsuuri kuin n heti kun n on vähän suurempi Vain tapauksessa n = voi reunan vielä jotenkin onnistua hallitsemaan Esimerkki 1 Olkoon n = ja Ω origokeskinen yksikkökiekko, ts Ω = {(x 1,x ) : x 1 +x 1} 1

Nyt Ω:n reuna on origokeskinen yksikköympyrä eli {(x 1,x ) : x 1 +x = 1} Funktion arvojen tarkastelu Ω:n reunalla voi vielä onnistua Esimerkiksi jos f(x 1,x ) = x 1 + x niin maksimipiste (ihan vain f:n kuvaajan perusteella) on ( 1 1, ) ja f:n maksimiarvo Ω:ssa on tällöin f( 1 1, ) = Ei siis ole tavatonta, että alueen reunalta löytyy f:n ääriarvopisteitä Koska tämä ei ole varsinaisesti optimoinnin kurssi, niin keskitymme opimointiongelmaan ilman rajoitusehtoja, ts Ω = R n Tällöin Ω:lla ei ole reunaa, mikä on siis huomattava helpotus (Esimerkiksi ns lineaarinen ohjelmointi on algoritmi jonka avulla voidaan ratkaista eräs erittäin tärkeä luokka optimointiongelmia pelkästään reunaa tutkimalla) Siten f:n lokaalit ääriarvopisteet löytyvät f:n gradientin nollakohdista joita kutsutaan f:n kriittisiksi pisteiksi Funktion f gradientti on f(x 1,,x n ) = joka oletusten perusteella on siis funktio f : R n R n Nyt samalla perusteella kuin yhden muuttujan tapauksessa, paikalliset ääriarvopisteet löytyvät kriittisistä pisteistä f x 1 f x n, Perustellaan tämä f:n 1 asteen Taylorin polynomia T 1 (x+ x) = f(x)+ f(x) T x (3) tarkastelemalla (Virhe on tällöin O( x ), joten T 1 kertoo kuinka f käyttäytyy pisteen x lähellä) Jos kehityskeskus x ei ole kriittinen piste, T 1 kasvaa esimerkiksi suuntaan f(x) siirryttäessä, sillä jos x = t f(x) kun t > 0, niin f(x) T x = t f(x) > 0 Tämä on f:n niin sanottu nopeimman kasvun suunta pisteessä x Vastaavasti T 1 pienenee nopeiten suuntaan f(x) siirryttäessä Muihin suuntiin siirryttäessä kasvu- tai pienenemisnopeus on näiden välissä Siten ääriarvopiste on aina välttämättä kriittinen piste Kriittiset pisteet löytääksemme joudumme siis tarkastelemaan epälineaarista yhtälöryhmää f(x 1,,x n ) = 0 Kaikkien ratkaisujen löytäminen ei yleisesti ottaen ole mikään helppo tehtävä Merkitään x = [ x 1 x k ] T Tällöin Newtonin iteraatio saa muodon x k+1 = x k H(x k ) 1 f(x k ), (4)

missä H(x) on f:n Hessen matriisi H(x) = x 1 x n x 1 x 1 x n x 1 x x n x x n (5) Tämä on siis miellettävä vektorimuutujan reaaliarvoisen funktion f toiseksi derivaataksi Newtonin (4) iteraatio suppenee kohti jotain f:n nollakohtaa, eli f:n kriittistä pistettä, edellyttäen että alkuarvaus on riittävän hyvä Oletetaan, että yksi nollakohta x on näin löytynyt Kuinka päätellä onko kriittinen piste paikallinen ääriarvo (minimi-tai maksimipiste) vaiko ei kumpikaan eli niin sanottu satulapiste? Voimme edetä samoin, kuin yhden muuttujan tapauksessa, eli tarkastella f:n toista derivaattaa, eli H:ta pisteessä x seuraavasti Nyt oletusten perusteella H on symmetrinen matriisi Tällöin f:n toisen asteen Taylorin polynomi saa muodon (johdetaan kuten 1 asteen tapaus, joka käsiteltiin Newtonin iteraation yhteydessä) T (x+ x) = f(x)+ f(x) T x+ x T H(x) x, (6) kun kehityskeskus on x Koska tällöin f(x) = 0, saamme T (x+ x) = f(x)+ x T H(x) x Sopivien differentioituvuusoletusten pätiessä, f:n käytöksen x:n lähellä määrää riittävän hyvin T (Virhe on tällöin O( x 3 ) pisteen x lähellä) Siten T :n avulla pystymme päättelemään onko x ääriarvopiste vai ei Lineaarialgebrasta toivottavasti muistamme, että symmetrinen matriisi voidaan esittää ominaisarvohajotelmansa avulla siten, että H(x) = QDQ T, missä Q on ortogonaalinen matriisi, jonka sarakkeet ovat H(x):n ominaisvektoreita ja D on diagonaalimatriisi, jonka diagonaalilla on H(x):n ominaisarvot d j, j = 1,,n Tämän avulla, nähdäksemme kuinka T käyttäytyy kriittisen pisteen x lähellä, kannattaa tehdä muuttujan vaihto Nimittäin T (x+ x) = f(x)+ y T D y, (7) jos asetamme uudeksi muuttujaksi y = Q T x Nyt jos merkitään y = (y 1,,y n ), niin n y T D y = d j yj j=1 Tämän etu on siinä, että sitä on helppo tutkia 3

Näemme, että x on paikallinen minimi jos d j > 0 kaikille j = 1,,n Jos tämä pätee, matriisin H(x) sanotaan olevan positiividefiniitti Vastaavasti x on paikallinen maksimi jos d j < 0 kaikille j = 1,,n Jos osa ominaisarvoista on negatiivisia ja osa positiivisia, on kyseessä satulapiste (Tällöin tietyissä suunnissa on kasvua ja tietyissä suunnissa vähenemistä) Hessen matriisitesti ei kerro mitään tapauksesta jossa H(x):llä on vain saman merkkisiä ominaisarvoja niin, että osa= 0 Käytännön optimointiongelmat voivat olla suuria, ts n saattaa olla jopa suuruusluokkaa 10 5 tai enemmän Tällöin Newtonin iteraatio (4) ei välttämättä ole houkutteleva vaihtoehto kriittisten pisteiden etsimiseksi sillä työmäärä jo yhdenkin askeleen laskemiseksi voi olla kohtuuton Tämä johtuu siis siitä, että H(x k ) 1 :llä operoiminen (eli H(x k ):n LU-hajotelman laskeminen) vie liikaa aikaa Yksi vaihtoehto tässä kohtaan on käyttää samoja ideoita kuin yksinkertaistetun Newtonin iteraation yhteydessä Tällöin H(x k ) korvataan jollain matriisilla M(x k ), jonka käänteismatriisilla on helpompi operoida Tällaiset ideat johtavat ns kvasi-newtonin menetelmiin kriittisten pisteiden löytämiseksi Toinen selkeästi yksinkertaisempi vaihtoehto on käyttää niin sanottuja laskeutumismenetelmiä eli jättää Newtonin iteraatio (4) kokonaan väliin Tällöin askeleet ovat edullisia, mutta niitä voi joutua ottamaan runsaasti Laskeutumismenetelmien kuvaamiseksi tarkastellaan nyt minimointiongelmaa (Huomaa, että maksimointiongelma muuttuu minimointiongelmaksi, kun tarkastelet f:ää f:n sijaan) Helpoin tapa välttää moniulotteinen Newtonin menetelmä on vaatia vain, että askellus pisteestä x k seuraavaan pisteeseen x k+1 tapahtuu aina siten, että f(x k+1 ) < f(x k ) (8) pätee Tämä saavutetaan esimerkiksi muuntamalla tehtävä yksiulotteiseksi minimointitehtäväksi, niin että valitaan laskeutumissuunta d k siten, että f pienenee kun x k :stä siirrytään suuntaan d k Jos tämä pätee, tarkastellaan yhden muuttujan funktiota ψ(t) = f(x k +td k ), jossa t > 0 valitaan siten, että ψ minimoituu Tämän ratkaisemiseksi tarvitsee vain löytää ψ:n derivaatan nollakohdat Siihen tässä tapauksessa riittää käyttää vain yksiulotteista Newtonin menetelmää Se on edullista Kuinka sitten valita d k? Jos kullakin askeleella valitaan d k = f(x k ), niin saadaan ns nopeimman laskeutumisen menetelmä Nimittäin kyseiseen suuntaan f pienenee nopeiten kunhan vain f(x k ) 0 Tämä nähtiin (3):stä (Jos f(x k ) = 0 niin olet jo kriittisessä pisteessä) Iteraatio pysäytetään, kun f(x k ) < ǫ, missä ǫ > 0 on jokin ennalta asetettu toleranssi Tällöin siis k askeleen jälkeen f(x k ) 0 4

Laskeutumismenetelmiä voidaan käyttää myös lineaarisen yhtälöryhmän Ax = b, b R n, (9) iteratiiviseen ratkaisemiseen, kun A R n n on symmetrinen positiividefiniitti matriisi (Siis A T = A ja kaikki A:n ominaisarvot ovat positiivisia) Idea perustuu siihen, että (9):n rinnalla tarkastellaan kvadraattista funktiota f(x) = 1 xt Ax b t x (10) Tekemällä muuttujan vaihdos A = QDQ T, missä D on diagonaalimatriisi ja Q on ortogonaalinen, on helppo nähdä että f on alhaalta rajoitettu, ts f(x) > C jollain C R kaikilla x Siten f:n absoluuttinen minimi löytyy kriittisistä pisteistä Niitä on vain yksi, sillä f(x) = 0 jos ja vain jos x = A 1 b (Harj teht) Siispä (9):n ratkaisemisen sijaan minimoidaankin funktiota (10) käyttämällä laskeutumismenetelmiä f:n minimipisteen löytämiseksi Suoraviivainen lasku antaa ψ(t) = f(x k +td k ) = f(x k )+td T k f(x k)+ 1 t d T k Ad k (11) Nyt d k on laskeutumissuunta kunhan vain d T k f(x k) < 0 Tämän ehdon toteutuessa, laskemalla (11):n derivaatan nollakohdan t:n suhteen, saamme Tällöin siis askellamme siten, että t = dt k f(x k) d T k Ad k x k+1 = x k dt k f(x k) d T k Ad d k (1) k Luonnollinen valinta laskeutumissuunnaksi d k on tietenkin nopeimman laskeutumisen menetelmä Yllättäen kokonaisuuden kannalta se ei ole paras vaihtoehto Paras vaihtoehto kullakin askeleella on valita ns konjugaattisuunta, joka johtaa konjugaattigradienttimenetelmään (9):n iteratiiviseksi ratkaisemiseksi Konjugaattigradienttimenetelmä ei kuitenkaan kuulu tämän kurssin vaatimuksiin vaikka menetelmän idea onkin kuvatun kaltainen 5