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

Samankaltaiset tiedostot
. 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 11: Rajoitusehdot. Ulkopistemenetelmät

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi

Luento 9: Yhtälörajoitukset optimoinnissa

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

Konjugaattigradienttimenetelmä

Taustatietoja ja perusteita

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

Yhden muuttujan funktion minimointi

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

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

12. Hessen matriisi. Ääriarvoteoriaa

Matematiikan tukikurssi

Numeeriset menetelmät

Epälineaaristen yhtälöiden ratkaisumenetelmät

Optimointialgoritmit. Marko M. Mäkelä. Turun yliopisto Matematiikan laitos

Numeeriset menetelmät

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

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Luento 9: Newtonin iteraation sovellus: optimointiongelma

b 1. b m ) + ( 2b Ax) + (b b)

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Harjoitus 4: Matlab - Optimization Toolbox

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

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

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

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

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

1 Perusteita lineaarisista differentiaaliyhtälöistä

Osakesalkun optimointi

Keskipisteen lisääminen 2 k -faktorikokeeseen (ks. Montgomery 9-6)

Numeeriset menetelmät

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

Epälineaaristen yhtälöiden ratkaisumenetelmät

Kun yhtälöä ei voi ratkaista tarkasti (esim yhtälölle x-sinx = 1 ei ole tarkkaa ratkaisua), voidaan sille etsiä likiarvo.

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS

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

KKT: log p i v 1 + v 2 x i = 0, i = 1,...,n.

1 Rajoitettu optimointi I

Numeeriset menetelmät

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain

Luento 3: Simplex-menetelmä

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

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

Este- ja sakkofunktiomenetelmät

Matemaattinen Analyysi / kertaus

2 Osittaisderivaattojen sovelluksia

MS-C1340 Lineaarialgebra ja

Funktioiden approksimointi ja interpolointi

Numeeriset menetelmät

Luento 6: Monitavoitteinen optimointi

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

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

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

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

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

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

Matematiikan peruskurssi (MATY020) Harjoitus 10 to

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

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

Funktion raja-arvo ja jatkuvuus Reaali- ja kompleksifunktiot

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

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

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Matemaattisen analyysin tukikurssi

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

DIFFERENTIAALI- JA INTEGRAALILASKENTA I.1. Ritva Hurri-Syrjänen/Syksy 1999/Luennot 6. FUNKTION JATKUVUUS

Differentiaali- ja integraalilaskenta 1 Ratkaisut 2. viikolle /

(0 desimaalia, 2 merkitsevää numeroa).

Matriisiteoria Harjoitus 1, kevät Olkoon. cos α sin α A(α) = . sin α cos α. Osoita, että A(α + β) = A(α)A(β). Mikä matriisi A(α)A( α) on?

Tehtävä 1. Oletetaan että uv on neliö ja (u, v) = 1. Osoita, että kumpikin luvuista u ja v on. p 2j i. p j i

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

Osittaisdifferentiaaliyhtälöt

Harjoitus 9: Optimointi I (Matlab)

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

Harjoitus 9: Optimointi I (Matlab)

Pienimmän neliösumman menetelmä

a) on lokaali käänteisfunktio, b) ei ole. Piirrä näiden pisteiden ympäristöön asetetun neliöruudukon kuva. VASTAUS:

y = 3x2 y 2 + sin(2x). x = ex y + e y2 y = ex y + 2xye y2

Numeeriset menetelmät

Johdatus tekoälyn taustalla olevaan matematiikkaan

6. Differentiaaliyhtälösysteemien laadullista teoriaa.

13. Ratkaisu. Kirjoitetaan tehtävän DY hieman eri muodossa: = 1 + y x + ( y ) 2 (y )

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

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

Demo 1: Simplex-menetelmä

x = (1 t)x 1 + tx 2 x 1 x 2

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

Numeeriset menetelmät

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

DI matematiikan opettajaksi: Täydennyskurssi, kevät 2010 Luentorunkoa ja harjoituksia viikolle 13: ti klo 13:00-15:30 ja to 1.4.

Derivaatta: funktion approksimaatio lineaarikuvauksella.

Matematiikan peruskurssi 2

Numeeriset menetelmät

[xk r k ] T Q[x k r k ] + u T k Ru k. }.

The Metropolis-Hastings Algorithm

Transkriptio:

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja Seuraavassa esitetään optimointitehtävien numeerisia ratkaisumenetelmiä, eli optimointialgoritmeja, keittokirjamaisesti. Jos ratkaisumenetelmässä ratkaistaan tehtävän välttämättömiä ehtoja, esim. Lagrangen välttämättömiä ehtoja, jolloin esiintyy vain yhtälörajoituksia, puhumme epäsuorista ratkaisumenetelmistä. Jos taas optimipistettä etsitään suoraan, esim. lasku- tai noususuuntia käyttäen, kyseessä on suora menetelmä. Tällöin voimme käyttää luennoilla 8 ja 9 esitettyä teoriaa, esim. välttämättömiä ja riittäviä ehtoja, menetelmien suppenemistarkasteluissa, jotka tässä sivuutetaan. Monet mutkikkaammat optimointialgoritmit ovat yhdistelmiä yksinkertaisemmista perusalgoritmeista. Esimerkiksi, melkein kaikissa n-ulotteisissa algoritmeissa on osana jonkinlainen 1-ulotteinen haku, jolla määrätään perusmenetelmän optimaalinen askelpituus. 1-ulotteiset optimointialgoritmit Menetelmät, joissa ei käytetä derivaattoja: Esim. tasahaku, puolitusmenetelmä eli dikotoominen haku, kultaisen leikkauksen menetelmä, Fibonaccin menetelmä sekä neliöllinen ja kuutiollinen sovitus. Derivaattoja käyttäviä menetelmiä ovat Newtonin menetelmä ja sen johdannaiset. Puolitusmenetelmä Oletetaan yksinkertaisuuden vuoksi, että f : [a, b ] R on aidosti kvasikonveksi: z, λ, µ [a, b ] ja z (λ, µ) on f(z) < max{f(λ), f(µ)}. Jos edellä on -merkki, sanomme, että f on kvasikonveksi., ks. kuva 1. Funktio f : [a, b ] R on kvasikonkaavi, jos f on kvasikonveksi. Tutkimme seuraavassa numeerisesti aidosti kvasikonveksin funktion minimointia tai aidosti kvasikonkaavin funktion maksimointia. Kun etsitään funktion f minimiä välillä [a, b ], ko. väliä kutsutaan epävarmuusväliksi, se on siis väli, missä f:n minimi x tämän hetkisen tiedon nojalla on. Luku l = b a on epävarmuusvälin pituus. 1

y f x Kuva 1: Kvasikonveksi funktio Aidosti kvasikonveksin funktion kuvaajalla ei ole vaakasuoria pätkiä; kvasikonveksin funktion kuvaajalla voi olla. Lause Olkoon f aidosti kvasikonveksi ja λ, µ [a, b ], λ < µ. Lasketaan f(λ) ja f(µ). Tällöin: (a) f(λ) > f(µ) uusi epävarmuusväli on [λ, b ]. (b) f(λ) f(µ) uusi epävarmuusväli on [a, µ ]. Tod. Ks. kuva 2. 01 f( λ) 01 f( µ ) 01 f( µ ) 01 f( λ) a λ µ b a λ µ b 01 01 01 uusi epävarmuusväli Kuva 2: Epävarmuusvälin kutistuminen Esitetään puolitusmenetelmä numeerisen algoritmin muodossa, jonka voi koodata esimerkiksi Matlabilla. 2

Puolitusmenetelmä: 0. Valitaan δ > 0, ja lopullisen epävarmuusvälin pituus l > 0; molemmat pieniä. Olk. [a, b ] alkuperäinen väli. 1. b a < l, stop. Minimi välillä [a, b ]. Muuten x 1 = a + b a 2 δ 2, 2. f(x 1 ) > f(x 2 ) a = x 1, b = b f(x 1 ) f(x 2 ) a = a, b = x 2. go to 1. x 2 = a + b a 2 + δ 2 Kultaisen leikkauksen menetelmä (golden section method) Kultaisen leikkauksen suhde on: a/(a + b) = b/a = α α 2 + α 1 = 0 α 0.618 Valitaan iteroinnilla k: λ k = a k + (1 α)(b k a k ) µ k = a k + α(b k a k ), missä [a k, b k ] on k:s väli, ja λ k ja µ k uudet laskentapisteet. a k λ k µ k b k a k+1 λ k+1 µ k+1 b k+1 f( ) > λ k f( µ k ) f( λ k ) 01< f( µ k ) a k+1 λ k+1 µ k+1 b k+1 Kuva 3: Kultaisen leikkauksen menetelmä Pätee: b k+1 a k+1 = α(b k a k ). Siis: kun k = 1 lasketaan f(λ 1 ), f(µ 1 ), ja kun k > 1 lasketaan vain 1 arvo: joko f(λ k ) tai f(µ k ), sillä on joko λ k+1 = µ k tai µ k+1 = λ k. 3

Fibonaccin menetelmä Kuten kultaisen leikkauksen menetelmässä, 1. kerralla lasketaan 2 funktion arvoa, mutta seuraavilla kerroilla tarvitsee laskea vain 1 uusi funktion arvo. Menetelmä perustuu ns. Fibonaccin lukujen ominaisuuksiin, jotka määritellään rekursiivisesti: F n+1 = F n + F n 1 ; n = 1, 2,... F 0 = F 1 = 1 Ensimmäiset F-luvut ovat siis: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,... Iteroinnoilla k valitaan: λ k = a k + F n k 1 F n k+1 (b k a k ) µ k = a k + F n k F n k+1 (b k a k ) b k+1 a k+1 = F n k F n k+1 (b k a k ) Lisäksi joko λ k+1 = µ k tai µ k+1 = λ k. Toisin kuin kultaisen leikkauksen menetelmässä, f:n arvon laskujen lukumäärä n pitää kiinnittää etukäteen. Jos esim. halutaan tarkkuus l, pitää n valita s.e. (b 1 a 1 )/F n < l. Newtonin menetelmä Pisteestä x k tiedetään f(x k ), f (x k ), f (x k ). f:n kvadraattinen approksimaatio on q(x) := f(x k ) + f (x k )(x x k ) + 1 2 f (x k )(x x k ) 2 Saadaan estimaatti x k+1, f(x):n minimille: 0 = q (x k+1 ) = f (x k ) + f (x k )(x k+1 x k ) x k+1 = x k f (x k ) f (x k ) 4

q (x) f (x) g ( x k ) g (x) x k+1 x k x k+1 x k Kuva 4: Funktion minimointi Newtonin menetelmällä; funktion 0-kohdan etsintä Newtonin menetelmällä. Muista: Newtonin menetelmä yhtälön g(x) = 0, esimerkiksi g = f, ratkaisemiseksi; ks. kuvan 4 oikea puoli. Kuvasta 4: g(x k ) x k x k+1 = g (x k ) x k+1 = x k g(x k) g (x k ) Newtonin iterointi differenssiapproksimaatiolla Eo. iterointikaavoissa voidaan käyttää erilaisia differenssiarvioita: Sekanttimenetelmä f (x) f(x + h) f(x) =, h > 0 ja pieni h f (x) g(x + h) g(x) = ; g := f (x) h f (x) f(x + h) + f(x h) 2f(x) = h 2 Sekanttimenetelmässä iteraatiossa k+1 Newtonin menetelmän [f (x k )] 1 korvataan arviolla, joka lasketaan x k :n ja x k 1 :n avulla; ks. myös n-ulotteinen sekanttimenetelmä myöhemmin: [ ] f (x k ) f 1 (x k 1 ) x k+1 = x k f (x k ) x k x }{{ k 1 } =f (x k ) 1 5

n-ulotteiset derivaattoja käyttävät menetelmät Jos f : R n R, ns. suorat haut ovat yleisesti muotoa: 0. Valitse alkupiste x 1, ja k = 1 1. Generoi laskusuunta d k ; noususuunta, kun maksimoidaan Laske askelpituus α k x k+1 = x k + α k d k 2. Lopputesti: esim. x k+1 x k < ɛ. Jos jatketaan k k +1; go to 1. Muista. d laskusuunta, f(x) T d < 0, f(x+λd) < f(x) λ (0, δ), jollakin δ > 0 f vähenee ko. suunnassa. d noususuunta, f(x) T d > 0, f(x+λd) > f(x) λ (0, δ), jollakin δ > 0 f kasvaa ko. suuntaan. Optimaalinen askelpituus saadaan, kun lasketaan ao. tehtävän ratkaisu α k : min f(x k + αd k ), α L missä L = {α α 0} tai {α a α b} tai joku muu sopiva joukko. Huom. θ(α) := f(x k + αd k ) θ (α) = f(x k + αd k ) T d, ja θ (α) = 0, jos minimi α L:n sisäpisteessä. Gradienttimenetelmä (steepest descent method) x k+1 = x k α k f(x k ) ja α k on optimaalinen askelpituus. Muista luennon 8 lopusta, että suunta d k = f(x k ) on lokaalissa mielessä jyrkimmän laskun suunta. Siis: 0. Valitaan ɛ > 0, x 1, k = 1 1. g k := f(x k ), α k ratkaisee tehtävän min α 0 f(x k αg k ) x k+1 = x k α k g k 2. g k+1 < ɛ stop; muuten k k + 1, go to 1. 6

Huom. Kun f:ää maksimoidaan, valitaan d k :ksi noususuunta f(x k ). Tällöin gradienttimenetelmästä käytetään nimeä steepest ascent method. Newtonin menetelmä Funktion f : R n R kvadraattinen approksimaatio on: q(x) := f(x k ) + f(x k ) T (x x k ) + 1 2 (x x k) T H(x k )(x x k ) q:n minimin välttämätön ehto: 0 = q(x k ) = f(x k ) + H(x k )(x x k ) x k+1 = x k H(x k ) 1 f(x k ) Lause Jos f(x) = 0, f kahdesti jatkuvasti differentioituva, ja H(x) positiivisesti definiitti H(x) 1 eräässä x:n ympäristössä, ja menetelmä on tällöin hyvin määritelty. Lisäksi x k x 0, k, ja c > 0 s.e. x k+1 x < c x k x 2, kun k on riittävän suuri. Tällöin sanotaan, että menetelmän konvergenssimäärä, iteraatiota kohti, on vähintään 2 (order two rate of convergence). Sekanttimenetelmät Newtonin menetelmässä suunta d k valitaan s.e. d k = H(x k ) 1 f(x k ) ja viivahakua ei yleensä suoriteta: x k+1 = x k + d k. Sekanttimenetelmä, eli kvasi-newton-menetelmä, eli Broydenin menetelmä sopii erityisesti tilanteisiin, joissa f:n Hessen matriisi, tai sen käänteismatriisi, on vaikea tai raskas laskea. Sekanttimenetelmässä H(x k ) 1 :lle muodostetaan arvio B k pelkkien gradienttien avulla. Muista ns. 1-ulotteinen sekanttimenetelmä aiemmin. Nyt valitaan d k = B k f(x k ), missä B k on symmetrinen ja positiivisesti definiitti d k laskusuunta, so. f(x k ) T d k = f(x k ) T B k f(x k ) < 0. Lisäksi B k :n tulee toteuttaa ns. sekanttiehto: B 1 k (x k x k 1 ) = f(x k ) f(x k 1 ) Sekanttimenetelmässä on lisäksi viivahaku suuntaan d k. 7

Yleisimmin käytetyt sekanttimenetelmät ovat DFP- ja BFGS-menetelmät, jotka kuuluvat ns. Broydenin perheeseen. (DFP = Davidon-Fletcher-Powell; BFGS = Broyden-Fletcher-Goldfarb-Shanno) Esim. Davidon-Fletcher-Powell-menetelmä. Valitaan B 1 = I ja B k+1 = B k + y T k y k B k s T k s k B k, k = 1, 2,... y kt s k s kt B k s k y k := x k+1 x k, s k := f(x k+1 ) f(x k ) Konjugaattigradienttimenetelmä (Fletcher-Reevesin menetelmä) Olkoon H R n n positiivisesti definiitti. Vektorit d 1,..., d n ovat H-konjugaatteja, jos d i T H d j = 0, i j. H positiivisesti definiitti, d 1,..., d n lineaarisesti riippumattomia. Minimoitaessa 2. asteen funktiota f(x) = 1 2 xt H x k + c T x menetelmällä x k+1 = x k + α k d k, missä d k :t ovat H-konjugaatteja minimi löytyy viimeistään n:nnellä askeleella riippumatta aloituspisteestä x 1. Fletcher-Reevesin menetelmässä valitaan suunnat d k seuraavasti: d 1 := f(x 1 ) (= H x 1 c, jos f yo. muotoa) d k := f(x k ) + β k d k 1 β k := f(x k) 2, k = 2, 3,..., n f(x k 1 ) 2 Jos jatketaan (esim. numeerinen viivahaku ei koskaan ole tarkka minimin laskeminen voi viedä yli n askelta; tai jos minimoidaan ei-kvadraattista funktiota eo. menetelmällä), aloitetaan alusta, ja valitaan d n+1 := f(x n+1 ), jne... Myös DFP-menetelmä tuottaa (minimoitaessa eo. 2. asteen funktiota) H- konjugaatteja suuntia. 8