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

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

Harjoitus 4: Matlab - Optimization Toolbox

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

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

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

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

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

Harjoitus 9: Optimointi I (Matlab)

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

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

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

Epälineaaristen pienimmän neliösumman tehtävien ratkaiseminen numeerisilla optimointimenetelmillä

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Harjoitus 9: Optimointi I (Matlab)

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

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

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

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

Taustatietoja ja perusteita

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

Osakesalkun optimointi

Luento 9: Newtonin iteraation sovellus: optimointiongelma

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

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi

1 Rajoittamaton optimointi

Ratkaisuehdotukset LH 7 / vko 47

Demo 1: Simplex-menetelmä

Demo 1: Sisä- ja ulkopistemenetelmät

2 Osittaisderivaattojen sovelluksia

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

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

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

12. Hessen matriisi. Ääriarvoteoriaa

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Malliratkaisut Demot 6,

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

Luento 9: Yhtälörajoitukset optimoinnissa

1 Rajoitettu optimointi I

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

Matematiikan peruskurssi (MATY020) Harjoitus 10 to

mlnonlinequ, Epälineaariset yhtälöt

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Harjoitus 8: Excel - Optimointi

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

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

Kimppu-suodatus-menetelmä

1 Rajoitettu optimointi III - epäyhtälörajoitteet, teoriaa

Paikannuksen matematiikka MAT

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

Malliratkaisut Demot

MS-C1340 Lineaarialgebra ja

Malliratkaisut Demot

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Piiri K 1 K 2 K 3 K 4 R R

JYVÄSKYLÄN YLIOPISTO. 3. Luennon sisältö

Gradient Sampling-Algoritmi

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Kohdeyleisö: toisen vuoden teekkari

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS

Epälineaaristen yhtälöiden ratkaisumenetelmät

Este- ja sakkofunktiomenetelmät

Numeeriset menetelmät

Sovellettu todennäköisyyslaskenta B

Matematiikan perusteet taloustieteilijöille II Harjoituksia kevät ja B = Olkoon A = a) A + B b) AB c) BA d) A 2 e) A T f) A T B g) 3A

Pienimmän neliösumman menetelmä

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

2. Teoriaharjoitukset

Numeeriset menetelmät

ja B = 2 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A (e) A =

Havaitsevan tähtitieteen peruskurssi I. Datan käsittely. Jyri Lehtinen. kevät Helsingin yliopisto, Fysiikan laitos

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

MS-C1340 Lineaarialgebra ja

ja B = 2 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A (e)

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

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

Kirjallisuuskatsaus sisäpistemenetelmiin ja niiden soveltamiseen eri optimointiluokille (valmiin työn esittely)

Lineaarinen optimointitehtävä

Vektorianalyysi II (MAT21020), syksy 2018

Luento 6: Monitavoitteinen optimointi

Luento 3: Simplex-menetelmä

Harjoitus 9: Excel - Tilastollinen analyysi

Harjoitus 3 ( )

Kokonaislukuoptiomointi Leikkaustasomenetelmät

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

Malliratkaisut Demot

Konjugaattigradienttimenetelmä

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

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Malliratkaisut Demot

x = ( θ θ ia y = ( ) x.

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

Matematiikka B1 - avoin yliopisto

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.

Johdatus verkkoteoriaan luento Netspace

Matematiikan tukikurssi

Vastepintamenetelmä. Kuusinen/Heliövaara 1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Numeeriset menetelmät

Transkriptio:

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2.139 Optimointioppi Kimmo Berg 9. harjoitus - ratkaisut 1. a) Viivahakutehtävä pisteessä x suuntaan d on missä min f(x + λd), λ f(x + λd) = (x + λd) t H(x + λd)/2 + c t (x + λd) = (d t Hd)λ 2 /2 + (x t Hd + c t d)λ + vakio. Asettamalla derivaatta λ:n suhteen nollaksi saadaan minimi (huom f(x + λd) on konveksi): df(x + λd) = (d t Hd)λ + d t Hx + c t d = 0, dλ mistä tulee ratkaisuksi λ = (x t H + c t )d/(d t Hd) = f(x) t d/(d t Hd). b) Sekanttiehto matriisille D j+1 on D k+1 (x k+1 x k ) = f(x k+1 ) f(x k ). Laskemalla gradientit nähdään, että f(x k+1 ) f(x k ) = Hx k+1 + c Hx k c = H(x k+1 x k ). Tehtävässä H oletettiin positiividefiniitiksi, joten sekanttiyhtälö voidaan H:lle kirjoittaa muotoon x k+1 x k = H 1 [ f(x k+1 ) f(x k )]. 2. Malli: y = f(x, a) + ǫ, missä y on havaittu riippuva suure, x on riippumattomat muuttujat (vektori), a on estimoitavat parametrit (vektori), ja ǫ on satunnaiskomponentti (virhetermi). Mittausten y i, x i (i = 1,..., n) avulla voidaan annetuille parametreille laskea virheet ǫ i = y i f(x i, a). Nyt voidaan muodostaa epälineaarinen pienimmän neliösumman tehtävä: min a n ǫ 2 i = n [y i f(x i, a)] 2. a) Nyt x = x, a = (,, ) ja f = + x + x 2, n n min ǫ 2 i = (y i ( + x i + x 2 i ))2 = y [1.x.x 2 ] a Tehtävä saatiin siis muotoon min x A x b 2, missä A = ja b = y. 1 2 1 x 1.. x 2 1. 1 x n x 2 n, x =

Ratkaisu tälle tehtävälle saadaan yhtälöstä A A x = A b, josta tiettyjen oletusten vallitessa saadaan x = (A A) 1 A b (ks. laskuharjoitustehtävä 5/1). Sijoitetaan b = (2 2 12 27 60 90) ja A = 1 0 0 1 1 1 1 2 4 1 3 9 1 4 16 1 5 25 = x = 2.929 1.293 4.036. b) min i ǫ i = i y i ( + x i + x 2 i) Muunnetaan LP-ongelmaksi: min 6 ǫ i s.e. y i ( + x i + x 2 i ) ǫ i, i = 1,...,6 y i ( + x i + x 2 i) ǫ i, i = 1,...,6 ǫ i 0, i = 1,...,6,, rajoittamattomia, tai min 6 ǫ i + ǫ + i s.e. y i ( + x i + x 2 i ) + ǫ i ǫ + i = 0, i = 1,..., 6 ǫ i, ǫ+ i 0, i = 1,..., 6,, rajoittamattomia. Ratkaise tehtävät Excelin Solverilla (ks. excel-tiedosto kurssin webbisivulta; tehtävällä on kaksi ratkaisua: (2,0.6,-3.8) tai (2,3.4333,-4.3667)). c) min {max 1 i 6 { y i ( + x i + x 2 i) }}. Muunnetaan LP-ongelmaksi: min u s.e. y i ( + x i + x 2 i ) u, i = 1,...,6 y i ( + x i + x 2 i) u, i = 1,...,6, u 0,, rajoittamattomia 4.75 Ratkaisuksi saadaan = 0.5. 4 3. a) Tarkoitus on siis ratkoa optimointitehtävä min 7 ( x1 + y i x 2 + yi 2 x ) 2 3 b i, missä x j muuttujia, b i ja y i annettu data. Ratkaisu saadaan edellisen tehtävän malliin matriisilaskulla tai Matlabin lsqlin funktion avulla. 2

b) Ratkaistaan epälineaarinen tehtävä m ( ) min yi x 1 t i x 2 e x 3t i 2, missä x j muuttujia, y i ja t i annettu data. Ratkaisua voi hakea Matlabin lsqnonlin funktion avulla joko Levenberg-Marquardt tai Gauss-Newton menetelmällä. Tehtävä suppenee ainakin kahteen eri lokaaliin minimiin aloituspisteestä riippuen. Ks. kuva. 6 Urheilijan näytteet ja soviteet 5 4 konsentraatio y 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 aika t 4. Matlab luokittelee Optimization Toolboxissa funktiot minimointiin, yhtälönratkaisuun (fsolve) ja pienimmän neliösumman (PNS) tehtäviin. Minimointialgoritmeja löytyy rajoittamattomaan optimointiin (fminunc, joka käyttää gradientteja, ja fminsearch, joka käyttää konveksin tehtävän simplex algoritmia), lineaarisiin (LP) tehtäviin (linprog), kvadraattisiin (QP) tehtäviin (quadprog) ja rajoitettuun optimointiin (fmincon). Tehtävän luonne määrää pitkälti mitä funktiota kannattaa optimoinnissa käyttää. Funktioihin syötettävät argumentit ovat funktioriippuvaisia; yhteisiä argumentteja ovat vain kohdefunktio, alkuarvaus ja options. Huomattavaa on että funktiot palauttavat löydetyn pisteen lisäksi muuta optimoinnin kannalta mielenkiintoista tietoa, kunhan ne vain osaa poimia. Esimerkiksi [x,fval,exitflag,output,lambda,grad,hessian]=fmincon(...) palauttaa löydetyn pisteen kohdefunktion arvon (fval), gradientin (grad), Hessen matriisin (hessian), Lagrangen kertoimet (lambda) ja tietoa optimoinnista (output; iteraatioiden lukumäärän, funktion evaluontien lukumäärän, käytetyn algoritmin yms.). Tietoa iteroinnista saadaan lisäksi määrittelemällä output-funktio (plottauksia iteroinnin kuluessa ja muuta rekvisiittaa). Tällöin pitää options:iin kertoa 3

output-funktion nimi options=optimset( OutputFcn, omaoutput ) ja kirjoittaa kyseinen funktio function stop=omaoutput(x,optimvalues,state) %x on iter.piste,optimvalues.fval on funktion arvo x:ssä, %ks.myös.searchdirection,.iteration,.gradient,.lambda, yms. stop=[];%jos true, niin algoritmi pysähtyy, muutoin jatketaan optimointia switch state case init %setup for plots and guis case interrupt %check conditions to see whether optimization should quit case iter %make updates to plot or guis as needed case done %cleanup of plots, guis, or final plot otherwise Optimointifunktioon syötettävä options määrää mm. käytettävän algoritmin ja sen parametrit. Esim. options=optimset( Display, iter, MaxIter,100, MaxFunEvals,1000); näyttää tietoja optimoinnin kuluessa, rajoittaa iteraatioiden määrän sataan ja funktion evaluoinnit tuhanteen. Matlab evaluoi gradientin differenssiapproksimaation avulla. Jos taas gradientit halutaan laskea tarkasti, tulee gradientit (ja mahdollisesti Hessen matriisi) laskea kohdefunktiossa, eli esim. function [f,g,h]=funktio(x) f=... if nargout > 1 %jos funktion kutsuja pyytää kahta argumenttia g=... if nargout >2 %jos tarvitaan kolme argumenttia H=... Tämän lisäksi optimointifunktiolle tulee kertoa että gradientit olisi tarjolla, options=optimset( GradObj, on ). Samalla tavalla voidaan toimia epälineaaristen rajoitusehtojen kohdalla, function [c,ceq,gc,gceq]=funktio(x) ja options=optimset( GradConstr, on ). Vakiona Matlab käyttää rajoittamattomassa tehtävässä kvasi-newton menetelmää BFGS päivityksellä ja rajoitetussa tehtävässä toistettua kvadraattista ohjelmointia (SQP). Kvasi-Newton päivitystä voidaan kuitenkin muuttaa DFP:ksi tai jyrkimmän laskusuunnan menetelmäksi, options=optimset( HessUpdate, dfp ) (tai steepdesc ). Viivahaun menetelmiä ovat joko kuutiollinen (vakio kun gradientit tarkkoja) 4

tai neliöllis-kuutiollinen (vakio kun gradientit evaluoidaan), options=optimset( LineSearchType, cubicpoly ) (tai quadcubic ). 5. ip=konjgrad( f2a, df2a,[2;2]); figure x1=-1:0.05:2; x2=x1; vv=[-1.2-1 -0.5 0 1 3 5]; plotcon( ff2a,x1,x2,vv,ip ); 5