Demo 1: Sisä- ja ulkopistemenetelmät

Koko: px
Aloita esitys sivulta:

Download "Demo 1: Sisä- ja ulkopistemenetelmät"

Transkriptio

1 Mat Optimoinnin perusteet Malliratkaisut 11 Ehtamo Demo 1: Sisä- ja ulkopistemenetelmät a) Ratkaise tehtävä min (x 1 2) 4 + (x 1 2x 2 ) 2 s.e. x 2 = x 2 1 käyttäen kvadraattista ulkopuolista sakkofunktiota. Tarkastele miten sakkoparametrin kasvatusnopeus vaikuttaa iteraation suppenemiseen. b) Ratkaise tehtävä min (x 1 2) 4 + (x 1 2x 2 ) 2 käyttäen estefunktiota s.e. x 2 x g(x), missä g(x) 0. Tarkastele esteparametrin vaikutusta iteraation suppenemiseen. Ratkaisu a) Rajoitetun tehtävän ratkaiseminen numeerisesti on usein hankalaa. Yksi menetelmä tällaisen tehtävän ratkaisemiseksi on käyttää sakkofunktiota. Menetelmässä kohdefunktioon f(x) lisätään sakkotermi p(x), joka on lähellä nollaa kun rajoitteet ovat voimassa. Vastaavasti kun rajoitteet eivät ole voimassa, sakkotermin arvo on suuri. Jos tehtävän rajoite on muotoa h(x) = 0, voidaan sakkotermiksi valita esimerkiksi p(x) = µh(x) 2 Kerrointa µ kutsutaan sakkokertoimeksi. Mitä suurempi sakkokertoimen arvo on, sitä paremmin tehtävä vastaa alkuperäistä rajoitettua optimointitehtävää. Nyt kaikki funkion h(x) poikkeamat nollasta aiheuttavat suuren laskun kohdefunktion arvoon. Huomaa. Maksimoitaessa valitaan vastaavasti p(x) = µh(x) 1

2 1.5 1 x x 1 Ratkaistaan tehtävä aluksi sakkoparametrin arvolla µ = 0.1. Tällöin sakkofunktion vaikutus on lähes olematon, ja tehtävän ratkaisuksi saadaan piste (2, 1). Piste on merkitty kuvaan punaisella rastilla. Kerrotaan sakkoparametri 10:llä, käytetään edellistä pistettä alkuarvauksena, ja ratkaistaan tehtävä uudestaan. Nyt sakkotermin vaikutus on suurempi ja tehtävän optimi on lähempänä rajoitussuoraa. Näin jatkamalla saadaan kuvan ympyröillä merkityt pisteet. Iteraatio suppenee rajoitekäyrältä löytyvään pisteeseen, joka on likimain (0, 9; 0, 9). Miksi sakkoparametrille ei anneta heti suurta arvoa? Seuraavaan kuvaan on piirretty kohdefunktion f(x) + p(x) = f(x) + µh(x) vakiokäyriä kun µ = 10. Vakiokäyrät muodostavat kapean laakson. Edellisissä laskuharjoituksissa todettiin, että tämänkaltainen kohdefunktio on monille optimointimenetelmille haastava. Kasvattamalla parametriä hitaasti laakson pitkulaisuus ei haittaa, sillä osatehtävien aloituspisteet saadaan valmiiksi lähelle optimia. 2

3 b) Estefunktiomenetelmä on vastaava kuin sakkofunktiomenetelmä, mutta sitä sovelletaan epäyhtälörajoitteellisiin tehtäviin. Estefunktion tulee olla sellainen, että kun tarkasteltava piste on lähellä rajoitetun alueen reunaa, estefunktion arvo kasvaa reunan suuntaan voimakkaasti. Eräs mahdollinen estefunktio on p(x) = µ/g(x), missä g(x) on rajoitefunktio ja µ on esteparametri x x 1 Valitaan aluksi µ = 100. Piste on merkitty kuvaan punaisella rastilla. Estefunktion vaikutus on suuri, jolloin optimi on kaukana rajoitteen reunasta. Pienennetään kerrointa kymmenesosaan ja ratkaistaan tehtävä uudestaan, jolloin saadaan ympyröillä 3

4 merkityt pisteet. Iteraatio suppenee rajoitusehdon reunalta löytyvään pisteeseen, joka on likimäärin (0, 9; 0, 9). Miksi esteparametriä ei laiteta heti aluksi hyvin pieneksi? Samoin kuin sakkofunktiomenetelmä, liian pienet esteparametrien arvot vaikeuttavat osatehtävien numeerista ratkaisua. Kun esteparametri on hyvin pieni, estefunktion arvo on likimain nolla. Poikkeuksena tähän kuitenkin alueen reunalla estefunktion arvo kasvaa kohti ääretöntä riippumatta parametrin suuruudesta. Jos nousu on liian äkillinen ja jyrkkä, saattaa optimointialgoritmi hypätä estefunktion toiselle puolelle. Seuraavassa kuvassa näemme tehtävän kohdefunktion ja estefunktion arvot x 1 :n funktiona kun muuttuja x 2 on kiinnitetty arvoon 1 ja esteparametrille on annettu arvo µ = 1. Käypä alue on punaisen katkoviivan vasemmalla puolella. Optimi löytyy likimain pisteestä x 1 = 0, 8. Kun sakkoparametriä pienennetään, optimi siirtyy lähemmäksi alueen reunaa. Huomaa. Jos optimointialgoritmi joutuu käyvän alueen ulkopuolelle, saattaa algoritmi päätyä rajoittamattoman tehtävän optimiin. Näin ei kuitenkaan välttämättä käy, jos piste on vain hieman epäkäyvän alueen puolella. Estefunktio saa suuria negatiivisia arvoja reunan toisella puolella, jolloin optimointialgoritmi ohjaa iteraation takaisin käyvän alueen reunalle f(x) 1/g(x) x 1 Demo 2: Optimointi MATLAB -ohjelmistolla Tutustaan MATLAB -ohjelmistoon ja sen Optimization Toolboxin funktiohin. a) Tutustu MATLAB:n muuttujiin. Varmista että osaat tallentaa muuttujaan arvon, lukea muuttujan arvon, ja käyttää muuttujaa lausekkeissa. b) Tee funktio, joka laskee lausekkeen (x 1 2) 2 + (x 2 3) 2. c) Laske b) kohdan funktion minimipiste d) Laske b) kohdan funktion minimipiste rajoitusehdolla x 2 x 2 1 4

5 Ratkaisu Matlab on numeerinen laskentaohjelmisto. Yksi keskeisimpiä eroja muihin vastaaviin ohjelmistoihin on se, että kaikki muuttujat ovat matriiseja. Peruslaskutoimitukset, kuten kertolasku, toimivat matriisien normaalien kertolaskusääntöjen mukaan. Vektorit ovat yksisarakkeisia matriiseja, ja skalaarit 1 1 matriiseja. Matlabin komentoja voi kirjoittaa joko suoraan Matlabin komentokehotteeseen tai erillisiin tiedostoihin. Matlab-tiedostot ovat nimeltään m-tiedostoja (m-files) ja ne tunnistaa tiedostopäätteestä.m. Tiedoston voi luoda tai sitä voi muokata kirjoittamalla komentokehotteeseen edit tiedosto.m, joka avaa erillisen muokkausikkunan. Tiedostoja voi ajaa painamalla muokkausikkunassa F5, jolloin tiedoston rivit ajetaan järjestyksessä aivan kuin ne olisi yksitellen kirjoitettu suoraan komentokehotteeseen. a) Matlabissa voit tallentaa muuttujaan arvon =-merkillä. Esimerkiksi, jos haluat tallentaa muuttujaan a arvon 5, kirjoita a = 5. Arvo voi olla myös matemattinen lauseke, esimerkiksi 3+4, pi*2 tai sin(4+sqrt(6)). Sijoituksen jälkeen Matlab näyttää juuri tallennetun muuttujan arvon. Jos et halua, että Matlab näyttää sijoituksen tuloksen, vaan on hiljaa, lisää komennon perään puolipiste (;). Voit tarkistaa minkä tahansa muuttujan arvon kirjoittamalla sen komentokehotteeseen ja painamalla enter. Muuttujia voidaan käyttää myös lausekkeissa aivan kuin mitä tahansa numeroa. Esimerkki: Tallennetaan ensiksi muuttujaan a arvo 5, ja sen jälkeen lasketaan muuttujalle b arvo 3*a+5. Tämä tapahtuu komentamalla: a=5; b=3 a+5 Matriisit ja vektorit merkitään hakasulkeilla. Merkintä alkaa [, jonka jälkeen tulee ensimmäisen rivin alkiot eroteltuna joko pilkuilla tai välilyönneillä. Tämän jälkeen luodaan uusi rivi puolipisteellä. Loppuun tulee ]. Esimerkiksi matriisit ja vektorit A = [ Syötetään Matlabiin komennoilla: ] [ 5 b = 6 ] c = [ 7 8 ] A = [ 1, 2 ; 3, 4 ] ; b = [ 5 ; 6 ] ; c = [ 7, 8 ] ; Huomaa. Matlab käyttää oletuksena peruslaskutoimituksissa matriisilaskutoimituksia. Jos haluat suorittaa matriisille tai vektorille jonkin laskutoimituksen alkioittain, lisää piste laskutoimituksen eteen. Esimerkiksi: a.*b tai a.^2. Matriisit ja vektorit voi transponoida heittomerkillä ( ), esimerkiksi a. Voit viitata matriisin alkioihin lisäämällä sulut ja haluamasi indeksit. Matriisin A rivin 3 ja sarakkeen 2 alkioon viitataan A(3,2). b) Matlab osaa kasan valmiita funktioita, joista esimerkkinä tavalliset sin(), cos(), log() ja exp(). Tietoa kustakin funktiosta ja sen käyttötavasta saat komennolla help funktionnimi. Voit myös luoda omia funktioita. Tätä varten luo uusi m-tiedosto, jolla on sama nimi kuin luotavalla funktiolla. Esimerkiksi funktiota laske varten sinun täytyy luoda tiedosto laske.m. Tiedosto täytyy aloittaa funktiomääritteellä 5

6 function y = laske(x), missä x on funktion parametri ja y on palautusarvo. Näitä muuttujanimiä käytetään kuitenkin vain kyseisessä m-tiedostossa. Voit kirjoittaa funktion toteutuksen function-rivin jälkeen. Kun funktion suoritus loppuu, palautettaan palautusarvomuuttujan arvo. Funktio f(x) = (x 1 2) 2 + (x 2 3) 2 voidaan määrittää seuraavasti: f u n c t i o n y = f ( x ) y = ( x ( 1 ) 2)ˆ2 + ( x ( 2 ) 3) ˆ 2 ; c) Matlabissa on valmiina laajat optimointikirjastot. Esittelemme tässä 2 funktiota, joista ensin rajoittamattomiin tehtäviin tarkoitettu fminunc. fminunc vaatii vähintään 2 parametriä, joista ensimmäinen on optimoitava funktio, ja toinen alkuarvaus. Funktiot annetaan parametrinä kirjoittamalla ja tämän jälkeen funktion nimi. Lasketaan nyt b) -kohdassa määritellyn funktion minimikohta käyttäen alkuarvauksena pistettä x 0 = [0, 0]: x_opt = fminunc [ 0 ; 0 ] ) Tämä palauttaa optimipisteen ja tallentaa sen muuttujaan x_opt. Rajoitteellista optimointia varten Matlabissa on olemassa erillinen fminconfunktio. Funktiolle voidaan antaa parametreinä monia erilaisia rajoitteita, ja tarkan järjestyksen voi tarkistaa komennolla help fmincon. Ainoastaan kaksi ensimmäistä parametriä, kohdefunktio ja alkuarvaus, ovat pakollisia, mutta näiden lisäksi voidaan antaa seuraavia parametrejä: Lineaariset epäyhtälörajoitteet (Ax b), lineaariset yhtälörajoitteet (Ax = b), ylä- ja alarajat (LB x UB) ja epälineaarinen rajoite (nonlcon). Epälineaarista rajoitetta lukuunottamatta rajoitteet annetaan funktiolle kerroinmatriisien -ja vektroreiden A, b jne. muodossa. Epälineaarisia rajoitteita varten täytyy luoda uusi funktio. Funktiolla tulee olla kaksi paluuarvoa: C ja Ceq. C tulee olla käyvällä alueella negatiivinen ja Ceq nolla. Jos rajoitteita on useampia, tulee paluuarvojen olla vektoreita, jonka alkiot vastaavat kutakin rajoitetta. Esimerkiksi rajoitetta x 2 x 2 1 varten luodaan seuraava funktio (tiedostoon rajoite.m): f u n c t i o n [ C, Ceq ] = rajoite ( x ) Ceq = [ ] ; C = x ( 1 ) ˆ2 x ( 2 ) ; Nyt voimme laskea kohdefunktion minimin komennolla fmincon [ 0 ; 0 ], [ ], [ ], [ ], [ ], [ ], [ ) ; Koska lineaarisia rajoitteita ei ole, ne tulee merkitä tyhjinää matriiseina ja vektoreina ([]). 6

7 Tehtävä 1: Funktion minimikohdan etsiminen a) Etsi funktion (x 1 2) 4 + (x 1 2x 2 ) 2 minimi. b) Etsi a) kohdan funktion minimi rajoitusehdoilla x 1 + 2x 2 3 3x 1 + 4x 2 1 c) Etsi a) kohdan funktion minimi rajoitusehdolla x 1 x Ratkaisu a) Kirjoitetaan kohdefunktiolle oma m-tiedosto (kohde.m): f u n c t i o n y = kohde ( x ) y = ( x ( 1 ) 2)ˆ4 + ( x ( 1 ) 2 x ( 2 ) ) ˆ 2 ; Tämän jälkeen käytetään rajoittamattoman tehtävän ratkaisemiseen tarkoitettua fminunc-funktiota: x_opt = fminunc [ 0 ; 0 ] ) Alkuarvauksena on käytetty pistettä x 0 = (0, 0). b) Tehtävä on rajoitettu tehtävä, ja se kannattaa ratkaista Matlabin fminconfunktiolla. Funktio haluaa lineaariset rajoitteet muodossa Ax b, joten selvitetään, mitkä ovat tämän tehtävän vastaavat matriisit A ja b. Matriisi A saadaan suoraan eri muuttujien kertoimista ja vektori b epäyhtälöiden oikealta puolelta: A = [ ] [ 3, b = 1 Matlabiin nämä voidaan syöttää komennoilla: ] A = [ 1, 2 ; 3, 4 ] ; b = [ 3 ; 1 ] ; Nyt voimme ratkaista optimin komennolla x_opt = fmincon [ 0 ; 0 ], A, b ) c) Rajoite on epälineaarinen, joten sitä varten täytyy luoda uusi m-tiedosto (rajoite2.m) f u n c t i o n [ C, Ceq ] = rajoite2 ( x ) Ceq = [ ] ; C = x ( 1 ) + x ( 2 ) ˆ2 + 4 ; Tämän jälkeen optimi löytyy komennolla 7

8 x_opt=fmincon [ 0 ; 0 ], [ ], [ ], [ ], [ ], [ ], [ ) Tehtävä 2: Kuvaajien piirtäminen Piirrä funktion e (n 3n2 ) 4 x 2 kuvaaja välillä [ 2, 2]. Ratkaise funktion maksimi, ja merkitse maksimi kuvaajaan. Ratkaisu Kirjoitetaan ensiksi funktiolle oma m-tiedosto (fun.m): f u n c t i o n y = fun ( n ) y = exp( (n 3 n. ˆ 2 ). ˆ 4 ) n. ˆ 2 ; Huomaa. Funktio on nyt kirjoitettu käyttäen piste-operaattoreita. Tämä on tehty sen vuoksi, että funktio halutaan evaluoida useassa pisteessä yhtäaikaa. Nyt voidaan eri pisteet antaa funktiolle vektorina ja funktio palauttaa saman kokoisen vektorin, jonka arvot vastaavat funktion arvoja syötevektorin pisteissä. Seuraavaksi piirretään funktion kuvaaja. Matlabissa kuvaajien piirtämistä varten täytyy piirrettävien pisteiden arvot laskea etukäteen. Kun kuvaaja halutaan pirtää muuttujan n arvoilla [ 2, 2], täytyy ensiksi määrittää vektori, jossa on kaikki halutut arvot. Matlabissa tälläinen vektori luodaan komenolla n = 2 : 0. 1 : 2 ; Kaksoispisteellä erotetaan vektorin aloituspiste, diskretointiväli ja lopetuspiste. Nyt voimme vielä laskea funktion arvot kussakin näistä pisteistä komennolla y = fun ( n ) ; Kuvan piirtäminen tapahtuu plot-komennolla. Parametreinä se vaatii piirrettävien pisteiden x- ja y-koordinaatit. Piirretään funktion kuvaaja komennolla p l o t ( n, y ) Voit antaa kuvaajalle myös lisämääreitä y-koordinaattivektorin jälkeen lisäämällä merkkijono-parametrin. Esimerkiksi komento p l o t ( n, y, ' kx : ' ) piirtää kuvaajan mustalla (k) katkoviivalla (:) ja merkitsee datapisteet rasteilla (x). Voit käyttää myös muita värejä (esim. r = punainen, b = sininen, g = vihreä, jne), viivatyyppejä (esim. - = yhtenäinen viiva, -. = viiva-pisteviiva, jne) ja merkkejä (esim. o = ympryrä,. = piste, jne.). Merkitään kuvaajaan vielä optimipiste. Aluksi meidän täytyy selvittää, mikä piste on kyseessä. Tämä selviää komennolla 8

9 x_opt = fminunc ( x ) fun ( x ), 4) Kohdefunktio täytyy antaa nyt hieman eri tavalla sillä haluamme löytää funktion maksimin. jälkeen sulut ja muuttujannimi, minkä jälkeen voit kirjoittaa kohdefunktion lausekkeen. Nyt kohdefunktioksi valitaan -fun(x), eli kohdefunktiomme evaluoituna pisteessä x ja miinusmerkki funktion edessä muutta arvot negatiivisiksi. Näin minimointialgoritmi löytää varsinaisen kohdefunktion maksimin. Toinen parametri (4) on käytetty alkuarvaus. Lasketaan vielä kohdefunktion arvo tässä pisteessä: y_opt = fun(x_opt);. Tämän jälkeen piste voidaan piirtää kuvaajaan komennoilla hold on ; p l o t ( x_opt, y_opt, ' ro ' ) Komento hold on tarvitaan, koska oletuksena Matlab pyyhkii edellisen kuvan pois kun seuraava plot-komento annetaan. Komento hold on jättää vanhat kuvat piirtoikkunaan. Asetuksen saa palautettua takaisin komennolla hold off. Tehtävä 3: Iteratiiviset menetelmät Kirjoita Matlab-funktio, joka ratkaisee funktion minimikohdan käyttäen Newtonin menetelmää. Minimointi tehdään vain yhden muuttujan suhteen. Voit käyttää testaamiseen jotain yksinkertaista funktiota, jonka optimi tunnetaan tarkasti. Esimerkiksi funktiota f(x) = cos x, käyttäen aloituspisteenä x 0 = 1. Ratkaisu Newtonin iteraatio perustuu funktion derivaatan nollakohdan etsimiseen sovittamalla derivaattaan suora, joka tangeeraa derivaatan kuvaajaa sen hetkisessä iteraatiopisteessä. Menetelmä aloitetaan valitsemalla jokin aloituspiste x 0, jonka jälkeen seuraavat pisteet lasketaan kaavalla x k + 1 = x k f (x k ) f (x k ). Matlabia varten voimme kirjoittaa aluksi funktion, joka laskee seuraavan iteraatiopisteen, kun sille annetaan parametrinä iteraatiopiste x k. Kirjoitetaan funktio tiedostoon newton.m: f u n c t i o n x2 = newton ( x ) x2 = x df ( x ) /ddf ( x ) ; Tässä df ja ddf ovat laskettavan funktion derivaatta ja toinen derivaatta. Näitä varten täytyy luonnollisesti luoda omat m-tiedostot. Esimerkkifunktiona käytetään nyt f(x) = cos(x). Tämän deriaatta on f (x) = sin(x) ja toinen derivaatta f (x) = cos(x). Kirjoitetaan vastaavat m-tiedostot: df.m: 9

10 f u n c t i o n y = df ( x ) y = s i n ( x ) ; ddf.m: f u n c t i o n y = ddf ( x ) y = cos ( x ) ; Nyt voimme ratkaista optimin Newtonin menetelmällä. Asetetaan alkuarvaus x=4. Seuraavaksi lasketaan uusi piste käyttäen newton -funktiota: x = newton(x). Iteraatiota toistetaan, kunnes piste ei enää muutu merkittävästi. Alkuarvauksesta riippuen iteraation pitäisi päätyä funktion lokaaliin minimiin x = 0. Menetelmä kannattaa myös kirjoittaa kokonaisuudessaan yhdeksi funktioksi, joka ottaa parametrinään alkupisteen ja iteroi Newton-iteraatioita tarvittavan määrän. Tälläinen funktio on esimerkiksi: f u n c t i o n x_opt = newtonoptimoi ( x0 ) tol = ; %haluttu tarkkuus max_n = 1000; %suurin s a l l i t t u maara i t e r a a t i o i t a n = 0 ; %a l u s t e t a a n laskurimuuttuja x = x0 ; x_edellinen = 10000; while ( abs ( x x_edellinen ) > tol && n < max_n ) % t o i s t e t a a n, kunnes p i s t e i d e n valimatka % on t a r p e e k s i p i e n i t a i maksimi % i t e r a a t i o m a a r a saavutetaan x_edellinen = x ; %t a l l e n n e t a a n e d e l l i n e n arvo x = newton ( x ) %l a s k e t a a n uusi arvo n = n+1; %p a i v i t e t a a n l a s k u r i end x_opt = x Nyt voimme hakea optimin seuraavalla komennolla. Alkuarvauksena on käytetty arvoa x = 4. newtonoptimoi ( 4 ) 10

11 Tehtävä 4: Hakumenetelmät Kirjoita Matlab-funktio, joka ratkaisee (1-ulotteisen) funktion minimikohdan käyttäen puolitusmenetelmää. Voit testata algoritmia jälleen yksinkertaisella funktiolla, kuten f(x) = cos(x). Tarkasteltava väli kannattaa valita testivaiheessa niin, että iteraatio ei suppene välittömästi, esimerkiksi [ 2, 1]. Ratkaisu Hakumenetelmissä määritellään aluksi jokin väli, joka sitten jaetaan kahteen tai kolmeen osaan. Funktion arvoista välin ja eri osien päätepisteissä riippuen valitaan välille uudet päätepisteet. Tätä toistetaan, kunnes väli on riittävän kapea, ja optimin paikka tiedetään halutulla tarkkuudella. Puolitusmenetelmässä väli jaetaan kahteen osaan. Funktion arvo lasketaan välin päätepisteissä ja puolivälin molemmin puolin. Merkitään välin päätepisteitä a ja b, ja puoliväliä pisteellä c = a+b 2. Pisteet, joissa funktion arvo lasketaan puolivälin molemmin puolin ovat c ε ja c + ε. Tässä ε on jokin pieni luku. Nyt jos funktion arvo on suurempi pisteessä c ε kuin pisteessä c + ε, tiedetään että funktion minimi on välillä [c + ε, b]. Vastaavasti toisinpäin. Kirjoitetaan puolitushaku seuraavalla tavalla: f u n c t i o n x_opt = puolitushaku ( a, b ) tol = ; % haluttu tarkkuus ep = ; % p u o l i v a l i n molemmin puolin % l a s k e t t a v a e t a i s y y s ( e p s i l o n ) fa = puolituskohde ( a ) ; % f u n k t i o n arvot p a a t e p i s t e i s s a fb = puolituskohde ( b ) ; % kaytetaan kohdefunktiona % f u n k t i o t a puolituskohde L = b a ; % v a l i n pituus while ( L > tol ) % t o i s t e t a a n kunnes tarkkuus on r i i t t a v a c = ( a+b ) / 2 ; % p u o l i v a l i fc_ala = puolituskohde ( c ep ) ;%fun. arvo ennen p u o l i v a l i a fc_yla = puolituskohde ( c+ep ) ;%fun. arvo p u o l i v a l i n j a l k. i f ( fc_yla > fc_ala ) %j o s f u n k t i o saa suuremman arvon p u o l i v a l i n j a l k e e n b = c+ep ; e l s e a = c ep ; end L = b a ; disp ( [ a, b ] ) % naytetaan i t e r a a t i o p i s t e end x_opt = ( a+b ) / 2 ; Nyt voimme hakea funktion minimin kirjoittamalla funktiolle oman m-tiedoston (puolituskohde.m) ja ajamalla puolitushaku-funktion halutuilla välin päätepisteillä: 11

12 puolitushaku ( 2,1) Edellisen tehtävän kohdefunktio voidaan kirjoittaa m-tiedostoon puolituskohde.m: f u n c t i o n y = puolituskohde ( x ) y = cos ( x ) Tällä funktiolla iteraation pitäisi supeta pisteeseen x = 0. Tehtävä 5: Gradienttimenetelmä Kirjoita MATLAB-funktio, joka annetun (n-ulotteisen) funktion minimikohdan käyttäen gradienttimenetelmää. Voit käyttää viivahakuna esimerkiksi tehtävässä 3 kirjoittamaasi algoritmia tai MATLABin valmiita optimointifunktioita. Ratkaise algoritmillasi funktion minimikohta. x 2 + y e x+y Ratkaisu Kirjoitetaan aluksi haluttu kohdefunktio Matlab-tiedostoon (kohde3.m): f u n c t i o n y = kohde3 ( x ) y = x ( 1 ) ˆ2 + x ( 2 ) ˆ exp( x ( 1 )+x ( 2 ) ) ; Gradienttimenetelmässä tarvitaan lisäksi funktion gradientti (kohde3grad.m): f u n c t i o n g = kohde3grad ( x ) g = [ 2 x ( 1 ) 100 exp( x ( 1 )+x ( 2 ) ) ; +x ( 2 ) ) ] ; 4 yˆ exp( x ( 1 ) Huomaa. Gradientti on nyt vektori, joten gradienttifunktion palautusarvo g on myös vektori. Gradienttimenetelmä laskee ensin kussakin iteraatiopisteessä funktion gradientin, ja tekee tässä suunnassa ns viivahaun: min f(x + αd), α missä d = f(x) on hakusuunta, ja α on kerroin, joka kertoo kuinka pitkälle hakusuunnassa mennään. Viivahaussa optimoidaan nimenomaan kerrointa α, joten se on yksiulotteinen optimointitehtävä. Gradienttimenetelmä voidaan ohjelmoida esimerkiksi seuraavasti. Luodaan funktio gradoptimoi, joka laskee funktion kohde3 minimin: 12

13 f u n c t i o n x_opt = gradoptimoi ( x0 ) tol = ; % l o p e t u s e h t o muutos = 1 ; % muuttuja, joka kertoo % i t e r a a t i o i d e n v a l i s e n muutoksen x = x0 ; %a l u s t e t a a n i t e r a a t i o m u u t t u j a while ( muutos > tol ) grad = kohde3grad ( x ) ; %g r a d i e n t t i i t e r a a t i o p i s t e e s s a d = grad ; %hakusuunta d on g r a d i e n t t i a_opt = fminunc ( a ) kohde3 ( x+a d ), 1) ; %viivahaku x = x + a_opt d ; %p a i v i t e t a a n uusi i t e r a a t i o p i s t e muutos = norm ( a_opt d ) ; %l a s k e t a a n s i i r r y t t y matka end x_opt = x ; Huomaa. fminunc ja fmincon -funktioille annettaville kohde- ja rajoitefunktioille ei tarvitse välttämättä luoda omia m-tiedostoja, vaan ne voidaan antaa @-merkin jälkeen sulkujen sisään tulee laskettavan funktion parametrit, ja tämän jälkeen laskettavan funktion lauseke. Esimerkiksi 2*x vastaa funktiota f(x) = 2x. Huomaa. Tässä esitetyllä gradienttimenetelmällä optimin saavuttaminen voi joskus olla hyvin vaikeaa, sillä kohdefunktion tasa-arvokäyrät voivat muodostaa pitkulaisen laakson. Gradienttimenetelmä jää tällöin sahaamaan edestakaisin laakson pohjalle, eikä pääse järkevässä ajassa riittävän lähelle optimia. 13

. 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

. 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 TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-.39 Optimointioppi Kimmo Berg 8. harjoitus - ratkaisut. a)huomataan ensinnäkin että kummankin jonon raja-arvo r on nolla. Oletetaan lisäksi että

Lisätiedot

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Luento 11: Rajoitusehdot. Ulkopistemenetelmät Luento 11: Rajoitusehdot. Ulkopistemenetelmät ja sisäpistemenetelmät Lagrangen välttämättömien ehtojen ratkaiseminen Newtonin menetelmällä Jos tehtävässä on vain yhtälörajoituksia, voidaan minimipistekandidaatteja

Lisätiedot

Harjoitus 4: Matlab - Optimization Toolbox

Harjoitus 4: Matlab - Optimization Toolbox Harjoitus 4: Matlab - Optimization Toolbox Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Optimointimallin muodostaminen

Lisätiedot

Harjoitus 9: Optimointi I (Matlab)

Harjoitus 9: Optimointi I (Matlab) Harjoitus 9: Optimointi I (Matlab) MS-C2107 Sovelletun matematiikan tietokonetyöt MS-C2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Optimointimallin muodostaminen Optimointitehtävien

Lisätiedot

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

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Harjoitus 9: Optimointi I (Matlab)

Harjoitus 9: Optimointi I (Matlab) Harjoitus 9: Optimointi I (Matlab) SCI-C0200 Fysiikan ja matematiikan menetelmien studio SCI-C0200 Fysiikan ja matematiikan menetelmien studio 1 Harjoituksen aiheita Optimointimallin muodostaminen Optimointitehtävien

Lisätiedot

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. Laskuharjoitus 1A Mallit Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. 1. tehtävä %% 1. % (i) % Vektorit luodaan

Lisätiedot

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

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016

Lisätiedot

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006 Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten

Lisätiedot

Kimppu-suodatus-menetelmä

Kimppu-suodatus-menetelmä Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.

Lisätiedot

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

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja Seuraavassa esitetään optimointitehtävien numeerisia ratkaisumenetelmiä, eli optimointialgoritmeja, keittokirjamaisesti.

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44 MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko Tehtävä (L): Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske

Lisätiedot

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016 Osakesalkun optimointi Anni Halkola Turun yliopisto 2016 Artikkeli Gleb Beliakov & Adil Bagirov (2006) Non-smooth optimization methods for computation of the Conditional Value-at-risk and portfolio optimization.

Lisätiedot

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37 Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37 Tehtävä 1: Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske

Lisätiedot

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

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu Talousmatematiikan perusteet: Luento 13 Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu Viime luennolla Aloimme tarkastella yleisiä, usean muuttujan funktioita

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

mlnonlinequ, Epälineaariset yhtälöt

mlnonlinequ, Epälineaariset yhtälöt Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos -e mlnonlinequ, Epälineaariset yhtälöt 1. Historiallisesti mielenkiintoinen yhtälö on x 3 2x 5 = 0, jota Wallis-niminen matemaatikko käsitteli,

Lisätiedot

plot(f(x), x=-5..5, y=-10..10)

plot(f(x), x=-5..5, y=-10..10) [] Jokaisen suoritettavan rivin loppuun ; [] Desimaalierotin Maplessa on piste. [] Kommentteja koodin sekaan voi laittaa # -merkin avulla. Esim. #kommentti tähän [] Edelliseen tulokseen voi viitata merkillä

Lisätiedot

Harjoitus 7 -- Ratkaisut

Harjoitus 7 -- Ratkaisut Harjoitus 7 -- Ratkaisut 1 Solve osaa ratkaista polynomiyhtälöitä, ainakin astelukuun 4 asti. Erikoistapauksissa korkeammankin asteen yhtälöt ratkeavat. Clear a, b, c, d, e, x ; Solve a x 3 b x 2 c 0,

Lisätiedot

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

Kun yhtälöä ei voi ratkaista tarkasti (esim yhtälölle x-sinx = 1 ei ole tarkkaa ratkaisua), voidaan sille etsiä likiarvo. Kun yhtälöä ei voi ratkaista tarkasti (esim yhtälölle x-sinx = 1 ei ole tarkkaa ratkaisua), voidaan sille etsiä likiarvo. Iterointi on menetelmä, missä jollakin likiarvolla voidaan määrittää jokin toinen,

Lisätiedot

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä osittaisderivaatoista: y 1... J F =.

Lisätiedot

Matriiseista. Emmi Koljonen

Matriiseista. Emmi Koljonen Matriiseista Emmi Koljonen 3. lokakuuta 22 Usein meillä on monta systeemiä kuvaavaa muuttujaa ja voimme kirjoittaa niiden välille riippuvaisuuksia, esim. piirin silmukoihin voidaan soveltaa silmukkavirtayhtälöitä.

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 10 1 Funktion monotonisuus Derivoituva funktio f on aidosti kasvava, jos sen derivaatta on positiivinen eli jos f (x) > 0. Funktio on aidosti vähenevä jos sen derivaatta

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 Väliarvolause Oletetaan, että funktio f on jatkuva jollain reaalilukuvälillä [a, b] ja derivoituva avoimella välillä (a, b). Funktion muutos tällä välillä on luonnollisesti

Lisätiedot

Mapu 1. Laskuharjoitus 3, Tehtävä 1

Mapu 1. Laskuharjoitus 3, Tehtävä 1 Mapu. Laskuharjoitus 3, Tehtävä Lineaarisessa approksimaatiossa funktion arvoa lähtöpisteen x 0 ympäristössä arvioidaan liikkumalla lähtöpisteeseen sovitetun tangentin kulmakertoimen mukaisesti: f(x 0

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 1 23.1.2017 1. Päätösmuuttujiksi voidaan valita x 1 : tehtyjen peruspöytin lukumäärä x 2 : tehtyjen luxuspöytien lukumäärä. Optimointitehtäväksi tulee max 200x 1 + 350x 2 s. t. 5x

Lisätiedot

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

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016 Antti Rasila

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 3.2.27 Tehtävä. Valmisohjelmistolla voidaan ratkaista tehtävä min c T x s. t. Ax b x, missä x, c ja b R n ja A R m n. Muunnetaan tehtävä max x + 2x 2 + 3x 3 + x s. t. x + 3x 2 + 2x

Lisätiedot

Piiri K 1 K 2 K 3 K 4 R R

Piiri K 1 K 2 K 3 K 4 R R Lineaarinen optimointi vastaus, harj 1, Syksy 2016. 1. Teollisuuslaitos valmistaa piirejä R 1 ja R 2, joissa on neljää eri komponenttia seuraavat määrät: Piiri K 1 K 2 K 3 K 4 R 1 3 1 2 2 R 2 4 2 3 0 Päivittäistä

Lisätiedot

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

Derivaatan sovellukset (ääriarvotehtävät ym.) Derivaatan sovellukset (ääriarvotehtävät ym.) Tehtävät: 1. Tutki derivaatan avulla funktion f kulkua. a) f(x) = x 4x b) f(x) = x + 6x + 11 c) f(x) = x4 4 x3 + 4 d) f(x) = x 3 6x + 1x + 3. Määritä rationaalifunktion

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Luento 9: Newtonin iteraation sovellus: optimointiongelma

Luento 9: Newtonin iteraation sovellus: optimointiongelma 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

Lisätiedot

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min! Lineaarinen optimointi Harjoitus 6-7, 016. 1. Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän c T x = min! (T) Ax b x 0 duaalitehtävän duaali on tehtävä (T). Ratkaisu. (P) c T x = min! Ax b x

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:

Lisätiedot

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

Epälineaaristen pienimmän neliösumman tehtävien ratkaiseminen numeerisilla optimointimenetelmillä Aalto-yliopisto Perustieteiden korkeakoulu Teknillisen fysiikan ja matematiikan tutkinto-ohjelma Epälineaaristen pienimmän neliösumman tehtävien ratkaiseminen numeerisilla optimointimenetelmillä kandidaatintyö

Lisätiedot

Malliratkaisut Demo 4

Malliratkaisut Demo 4 Malliratkaisut Demo 4 1. tehtävä a) f(x) = 2x + 21. Funktio on lineaarinen, joten se on unimodaalinen sekä maksimoinnin että imoinnin suhteen. Funktio on konveksi ja konkaavi. b) f(x) = x (pienin kokonaisluku

Lisätiedot

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS 1. Suorakaiteen muotoisen lämmönvaraajan korkeus on K, leveys L ja syvyys S yksikköä. Konvektiosta ja säteilystä johtuvat lämpöhäviöt ovat verrannollisia lämmönvaraajan lämpötilan T ja ympäristön lämpötilan

Lisätiedot

12. Hessen matriisi. Ääriarvoteoriaa

12. Hessen matriisi. Ääriarvoteoriaa 179 12. Hessen matriisi. Ääriarvoteoriaa Tarkastelemme tässä luvussa useamman muuttujan (eli vektorimuuttujan) n reaaliarvoisia unktioita : R R. Edellisessä luvussa todettiin, että riittävän säännöllisellä

Lisätiedot

n. asteen polynomilla on enintään n nollakohtaa ja enintään n - 1 ääriarvokohtaa.

n. asteen polynomilla on enintään n nollakohtaa ja enintään n - 1 ääriarvokohtaa. MAA 12 kertaus Funktion kuvaaja n. asteen polynomilla on enintään n nollakohtaa ja enintään n - 1 ääriarvokohtaa. Funktion nollakohta on piste, jossa f () = 0, eli kuvaaja leikkaa -akselin. Kuvaajan avulla

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kertausluento 2. välikokeeseen Toisessa välikokeessa on syytä osata ainakin seuraavat asiat:. Potenssisarjojen suppenemissäde, suppenemisväli ja suppenemisjoukko. 2. Derivaatan

Lisätiedot

Malliratkaisut Demo 1

Malliratkaisut Demo 1 Malliratkaisut Demo 1 1. Merkitään x = kuinka monta viikkoa odotetaan ennen kuin perunat nostetaan. Nyt maksimoitavaksi kohdefunktioksi tulee f(x) = (60 5x)(300 + 50x). Funktio f on alaspäin aukeava paraaeli,

Lisätiedot

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

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 TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-39 Optimointioppi Kimmo Berg 6 harjoitus - ratkaisut min x + x x + x = () x f = 4x, h = x 4x + v = { { x + v = 4x + v = x = v/ x = v/4 () v/ v/4

Lisätiedot

4 Yleinen potenssifunktio ja polynomifunktio

4 Yleinen potenssifunktio ja polynomifunktio 4 Yleinen potenssifunktio ja polynomifunktio ENNAKKOTEHTÄVÄT 1. a) Tutkitaan yhtälöiden ratkaisuja piirtämällä funktioiden f(x) = x, f(x) = x 3, f(x) = x 4 ja f(x) = x 5 kuvaajat. Näin nähdään, monessako

Lisätiedot

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori 0 = (0,..., 0). Reaalisten m n-matriisien joukkoa merkitään

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 6 24.4.2017 Tehtävä 1 Määritelmän (ks. luentomonisteen s. 107) mukaan yleisen muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on min θ(u,v)

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

Harjoitus 8: Excel - Optimointi

Harjoitus 8: Excel - Optimointi Harjoitus 8: Excel - Optimointi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Lineaarisen optimointimallin muodostaminen

Lisätiedot

Luento 9: Yhtälörajoitukset optimoinnissa

Luento 9: Yhtälörajoitukset optimoinnissa Luento 9: Yhtälörajoitukset optimoinnissa Lagrangen kerroin Oletetaan aluksi, että f, g : R R. Merkitään (x 1, x ) := (x, y) ja johdetaan Lagrangen kerroin λ tehtävälle min f(x, y) s.t. g(x, y) = 0 Olkoon

Lisätiedot

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

1 Kertaus. Lineaarinen optimointitehtävä on muotoa: 1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n

Lisätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 3 (31.3.2015) Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40 Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40 Alkuviikolla harjoitustehtäviä lasketaan harjoitustilaisuudessa. Loppuviikolla näiden harjoitustehtävien tulee olla ratkaistuina harjoituksiin

Lisätiedot

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

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä

Lisätiedot

Malliratkaisut Demo 4

Malliratkaisut Demo 4 Malliratkaisut Demo 4 1. tehtävä a) () = 2+1. Funktio on lineaarinen, joten se on unimodaalinen sekä maksimoinnin että minimoinnin suhteen. Funktio on konveksi ja konkaavi. b) () = (suurin kokonaisluku

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (21.4.2015) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s. t. g(x) 0 h(x) = 0 x X olevan optimointitehtävän Lagrangen duaali on missä max θ(u, v) s. t.

Lisätiedot

Este- ja sakkofunktiomenetelmät

Este- ja sakkofunktiomenetelmät Este- ja sakkofunktiomenetelmät Keijo Ruotsalainen Mathematics Division Luennon kulku Este- ja sisäpistemenetelmät LP-ongelmat ja logaritminen estefunktio Polun seuranta Newtonin menetelmällä Sakkofunktiomenetelmistä

Lisätiedot

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011 PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9..0 Kokeessa saa vastata enintään kymmeneen tehtävään.. Sievennä a) 9 x x 6x + 9, b) 5 9 009 a a, c) log 7 + lne 7. Muovailuvahasta tehty säännöllinen tetraedri muovataan

Lisätiedot

2 Osittaisderivaattojen sovelluksia

2 Osittaisderivaattojen sovelluksia 2 Osittaisderivaattojen sovelluksia 2.1 Ääriarvot Yhden muuttujan funktiolla f(x) on lokaali maksimiarvo (lokaali minimiarvo) pisteessä a, jos f(x) f(a) (f(x) f(a)) kaikilla x:n arvoilla riittävän lähellä

Lisätiedot

Harjoitus 10: Mathematica

Harjoitus 10: Mathematica Harjoitus 10: Mathematica Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Mathematica-ohjelmistoon Mathematican

Lisätiedot

Numeerinen analyysi Harjoitus 3 / Kevät 2017

Numeerinen analyysi Harjoitus 3 / Kevät 2017 Numeerinen analyysi Harjoitus 3 / Kevät 2017 Palautus viimeistään perjantaina 17.3. Tehtävä 1: Tarkastellaan funktion f(x) = x evaluoimista välillä x [2.0, 2.3]. Muodosta interpoloiva polynomi p 3 (x),

Lisätiedot

Matemaattisen analyysin tukikurssi

Matemaattisen analyysin tukikurssi Matemaattisen analyysin tukikurssi 10. Kurssikerta Petrus Mikkola 22.11.2016 Tämän kerran asiat Globaali ääriarvo Konveksisuus Käännepiste L Hôpitalin sääntö Newtonin menetelmä Derivaatta ja monotonisuus

Lisätiedot

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori = (,..., ). Reaalisten m n-matriisien joukkoa merkitään

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0,

Lisätiedot

Demo 1: Excelin Solver -liitännäinen

Demo 1: Excelin Solver -liitännäinen MS-C2105 Optimoinnin perusteet Malliratkaisut 1 Ehtamo Demo 1: Excelin Solver -liitännäinen Ratkaise tehtävä käyttäen Excelin Solveria. max 3x 1 + x 2 s.e. 2x 1 + 5x 2 8 4x 1 + 2x 2 5 x 1, x 2 0 Ratkaisu

Lisätiedot

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

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 8: Newtonin iteraatio. Taso- ja avaruusintegraalit MS-A25/MS-A26 ifferentiaali- ja integraalilaskenta 2 Luento 8: Newtonin iteraatio. Taso- ja avaruusintegraalit Jarmo Malinen Matematiikan ja systeemianalyysin laitos 1 Aalto-yliopisto Kevät 216 1 Perustuu

Lisätiedot

FUNKTION KUVAAJAN PIIRTÄMINEN

FUNKTION KUVAAJAN PIIRTÄMINEN FUNKTION KUVAAJAN PIIRTÄMINEN Saat kuvapohjan painamalla @-näppäintä tai Insert/Graph/X-Y-POT. Kuvapohjassa on kuusi paikanvaraaja: vaaka-akselin keskellä muuttuja ja päissä minimi- ja maksimiarvot pystyakselin

Lisätiedot

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

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0. Ääriarvon laatu Jatkuvasti derivoituvan funktion f lokaali ääriarvokohta (x 0, y 0 ) on aina kriittinen piste (ts. f x (x, y) = f y (x, y) = 0, kun x = x 0 ja y = y 0 ), mutta kriittinen piste ei ole aina

Lisätiedot

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

Kirjallisuuskatsaus sisäpistemenetelmiin ja niiden soveltamiseen eri optimointiluokille (valmiin työn esittely) Kirjallisuuskatsaus sisäpistemenetelmiin ja niiden soveltamiseen eri optimointiluokille (valmiin työn esittely) Ilari Vähä-Pietilä 28.04.2014 Ohjaaja: TkT Kimmo Berg Valvoja: Prof. Harri Ehtamo Työn saa

Lisätiedot

Reaalilukuvälit, leikkaus ja unioni (1/2)

Reaalilukuvälit, leikkaus ja unioni (1/2) Luvut Luonnolliset luvut N = {0, 1, 2, 3,... } Kokonaisluvut Z = {..., 2, 1, 0, 1, 2,... } Rationaaliluvut (jaksolliset desimaaliluvut) Q = {m/n m, n Z, n 0} Irrationaaliluvut eli jaksottomat desimaaliluvut

Lisätiedot

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

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35 Numeeriset menetelmät TIEA381 Luento 8 Kirsi Valjus Jyväskylän yliopisto Luento 8 () Numeeriset menetelmät 11.4.2013 1 / 35 Luennon 8 sisältö Interpolointi ja approksimointi Funktion approksimointi Tasainen

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Funktion kuperuussuunnat Derivoituva funktio f (x) on pisteessä x aidosti konveksi, jos sen toinen derivaatta on positiivinen f (x) > 0. Vastaavasti f (x) on aidosti

Lisätiedot

Matematiikan tukikurssi: kurssikerta 12

Matematiikan tukikurssi: kurssikerta 12 Matematiikan tukikurssi: kurssikerta 2 Tenttiin valmentavia harjoituksia Huomio. Tähän tulee lisää ratkaisuja sitä mukaan kun ehin niitä kirjoittaa. Kurssilla käyään läpi tehtävistä niin monta kuin mahollista.

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 Korkeamman asteen derivaatat Tutkitaan nyt funktiota f, jonka kaikki derivaatat on olemassa. Kuten tunnettua, funktion toista derivaattaa pisteessä x merkitään f (x).

Lisätiedot

MAA9.2 2014 Jussi Tyni Lue ohjeet huolellisesti! Tee pisteytysruudukko konseptin yläkertaan. Muista kirjoittaa nimesi. Kysymyspaperin saa pitää.

MAA9.2 2014 Jussi Tyni Lue ohjeet huolellisesti! Tee pisteytysruudukko konseptin yläkertaan. Muista kirjoittaa nimesi. Kysymyspaperin saa pitää. MAA9. 014 Jussi Tyni Lue ohjeet huolellisesti! Tee pisteytysruudukko konseptin yläkertaan. Muista kirjoittaa nimesi. Kysymyspaperin saa pitää. A-OSIO: Ei saa käyttää laskinta. MAOL saa olla esillä. Maksimissaan

Lisätiedot

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä

Lisätiedot

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

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä? BM20A5840 - Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2017 1. Tunnemme vektorit a = [ 1 2 3 ] ja b = [ 2 1 2 ]. Laske (i) kummankin vektorin pituus (eli itseisarvo, eli normi); (ii) vektorien

Lisätiedot

1 Rajoittamaton optimointi

1 Rajoittamaton optimointi Taloustieteen matemaattiset menetelmät 7 materiaali 5 Rajoittamaton optimointi Yhden muuttujan tapaus f R! R Muistutetaan mieleen maksimin määritelmä. Funktiolla f on maksimi pisteessä x jos kaikille y

Lisätiedot

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

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010 TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 Yleistä https://korppi.jyu.fi/kotka/r.jsp?course=96762 Sisältö Johdanto yksitavoitteiseen

Lisätiedot

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

Talousmatematiikan perusteet: Luento 14. Rajoitettu optimointi Lagrangen menetelmä: yksi yhtälörajoitus Lagrangen menetelmä: monta yhtälörajoitusta Talousmatematiikan perusteet: Luento 14 Rajoitettu optimointi Lagrangen menetelmä: yksi yhtälörajoitus Lagrangen menetelmä: monta yhtälörajoitusta Viime luennolla Tarkastelimme usean muuttujan funktioiden

Lisätiedot

Luento 3: Simplex-menetelmä

Luento 3: Simplex-menetelmä Luento 3: Simplex-menetelmä Kuten graafinen tarkastelu osoittaa, LP-tehtävän ratkaisu on aina käyvän alueen kulmapisteessä, eli ekstreemipisteessä (extreme point). Simplex-menetelmässä ekstreemipisteitä,

Lisätiedot

Pienimmän neliösumman menetelmä

Pienimmän neliösumman menetelmä Pienimmän neliösumman menetelmä Keijo Ruotsalainen Division of Mathematics Funktion sovitus Datapisteet (x 1,...,x n ) Annettu data y i = f(x i )+η i, missä f(x) on tuntematon funktio ja η i mittaukseen

Lisätiedot

Konjugaattigradienttimenetelmä

Konjugaattigradienttimenetelmä Konjugaattigradienttimenetelmä Keijo Ruotsalainen Division of Mathematics Konjugaattigradienttimenetelmä Oletukset Matriisi A on symmetrinen: A T = A Positiivisesti definiitti: x T Ax > 0 kaikille x 0

Lisätiedot

Differentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle /

Differentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle / MS-A8 Differentiaali- ja integraalilaskenta, V/7 Differentiaali- ja integraalilaskenta Ratkaisut 5. viikolle / 9..5. Integroimismenetelmät Tehtävä : Laske osittaisintegroinnin avulla a) π x sin(x) dx,

Lisätiedot

Matematiikan peruskurssi 2

Matematiikan peruskurssi 2 Matematiikan peruskurssi Tentti, 9..06 Tentin kesto: h. Sallitut apuvälineet: kaavakokoelma ja laskin, joka ei kykene graaseen/symboliseen laskentaan Vastaa seuraavista viidestä tehtävästä neljään. Saat

Lisätiedot

1. Lineaarinen optimointi

1. Lineaarinen optimointi 0 1. Lineaarinen optimointi 1. Lineaarinen optimointi 1.1 Johdatteleva esimerkki Esimerkki 1.1.1 Giapetto s Woodcarving inc. valmistaa kahdenlaisia puuleluja: sotilaita ja junia. Sotilaan myyntihinta on

Lisätiedot

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

Näihin harjoitustehtäviin liittyvä teoria löytyy Adamsista: Ad6, Ad5, 4: 12.8, ; Ad3: 13.8, TKK, Matematiikan laitos Gripenberg/Harhanen Mat-1.432 Matematiikan peruskurssi K2 Harjoitus 4, (A=alku-, L=loppuviikko, T= taulutehtävä, P= palautettava tehtävä, W= verkkotehtävä ) 12 16.2.2007, viikko

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-2.34 Lineaarinen ohjelmointi..27 Luento 5 Simplexin implementaatioita (kirja 3.2-3.5) Lineaarinen ohjelmointi - Syksy 27 / Luentorunko (/2) Simplexin implementaatiot Naiivi Revised Full tableau Syklisyys

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 6 To 22.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 6 To 22.9.2011 p. 1/38 p. 1/38 Ominaisarvotehtävät Monet sovellukset johtavat ominaisarvotehtäviin Yksi

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 3 7.3.07 Tehtävä Olkoon tilamuuttujat Tällöin saadaan rekursioyhtälö f n (x n ) = max yn {0,} ynwn xn f 0 ( ) = 0. x n = vaiheessa n jäljellä oleva paino, n =,...,N, esine n pakataan

Lisätiedot

jakokulmassa x 4 x 8 x 3x

jakokulmassa x 4 x 8 x 3x Laudatur MAA ratkaisut kertausarjoituksiin. Polynomifunktion nollakodat 6 + 7. Suoritetaan jakolasku jakokulmassa 5 4 + + 4 8 6 6 5 4 + 0 + 0 + 0 + 0+ 6 5 ± 5 5 4 ± 4 4 ± 4 4 ± 4 8 8 ± 8 6 6 + ± 6 Vastaus:

Lisätiedot

(0 desimaalia, 2 merkitsevää numeroa).

(0 desimaalia, 2 merkitsevää numeroa). NUMEERISET MENETELMÄT DEMOVASTAUKSET SYKSY 20.. (a) Absoluuttinen virhe: ε x x ˆx /7 0.4 /7 4/00 /700 0.004286. Suhteellinen virhe: ρ x x ˆx x /700 /7 /00 0.00 0.%. (b) Kahden desimaalin tarkkuus x ˆx

Lisätiedot

Epälineaaristen yhtälöiden ratkaisumenetelmät

Epälineaaristen yhtälöiden ratkaisumenetelmät Epälineaaristen yhtälöiden ratkaisumenetelmät Keijo Ruotsalainen Division of Mathematics Perusoletus Lause 3.1 Olkoon f : [a, b] R jatkuva funktio siten, että f(a)f(b) < 0. Tällöin funktiolla on ainakin

Lisätiedot

KAAVAT. Sisällysluettelo

KAAVAT. Sisällysluettelo Excel 2013 Kaavat Sisällysluettelo KAAVAT KAAVAT... 1 Kaavan tekeminen... 2 Kaavan tekeminen osoittamalla... 2 Kaavan kopioiminen... 3 Kaavan kirjoittaminen... 3 Summa-funktion lisääminen... 4 Suorat eli

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

BM20A1501 Numeeriset menetelmät 1 - AIMO

BM20A1501 Numeeriset menetelmät 1 - AIMO 6. marraskuuta 2014 Opetusjärjestelyt Luennot + Harjoitukset pe 7.11.2014 10-14 2310, 14-17 7337 la 8.11.2014 9-12 2310, 12-16 7337 pe 14.11.2014 10-14 2310, 14-17 6216 la 15.11.2014 9-12 2310, 12-16 7337

Lisätiedot

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 4: Derivaatta

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 4: Derivaatta MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 4: Derivaatta Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos 21.9.2016 Pekka Alestalo, Jarmo

Lisätiedot

Matlab- ja Maple- ohjelmointi

Matlab- ja Maple- ohjelmointi Perusasioita 2. helmikuuta 2005 Matlab- ja Maple- ohjelmointi Yleistä losoaa ja erityisesti Numsym05-kurssin tarpeita palvellee parhaiten, jos esitän asian rinnakkain Maple:n ja Matlab:n kannalta. Ohjelmien

Lisätiedot

MATP153 Approbatur 1B Harjoitus 6 Maanantai

MATP153 Approbatur 1B Harjoitus 6 Maanantai . (Teht. s. 93.) Määrää raja-arvo MATP53 Approbatur B Harjoitus 6 Maanantai 7..5 cos x x. Ratkaisu. Suora sijoitus antaa epämääräisen muodon (ei auta). Laventamalla päädytään muotoon ja päästään käyttämään

Lisätiedot