Edellä on tarkasteltu luettelointimenetelmiä, jotka ainakin periaatteessa

Koko: px
Aloita esitys sivulta:

Download "Edellä on tarkasteltu luettelointimenetelmiä, jotka ainakin periaatteessa"

Transkriptio

1 75 9. Lokaali haku Edellä on tarkasteltu luettelointimenetelmiä, jotka ainakin periaatteessa (jos laskenta-aikaa vain riittää) voivat löytää kaikkein parhaimman ratkaisun eli globaalin optimin. Toisenlainen lähtökohta on menetelmissä, joissa aina tutkitaan olemassa olevan käyvän ratkaisun lähiympäristössä olevia ratkaisuja ja etsitään niiden joukosta parempaa, jonne sitten siirrytään. Näin ei useinkaan löydetä, edes periaatteessa, globaalia optimia, mutta voidaan kuitenkin päätyä riittävän hyvään ratkaisuun. Tarkastellaan optimointiprobleemaa muodossa max z = f(x), x S X, missä X on ratkaisuavaruus ja S probleeman käypä joukko, joka oletetaan nyt äärelliseksi. Tässä X voi olla yleisempi kombinatorisen n optimoinnin tehtävän ratkaisuavaruus kuin. Toisin sanoen, tehtävän muotoilua MI(N)LP:ksi ei välttämättä edellytetä.

2 76 Oleellista on nyt sopia, mitä ovat tietyn ratkaisun x lähellä olevat muut ratkaisut. Lähellä x:ää olevat "naapurit" ajatellaan saaduksi ratkaisusta x sopivalla siirrolla. Se, mitkä siirrot katsotaan sopiviksi, määrittelee avaruuden X lähistörakenteen. Oletamme, että nämä siirrot on sovittu. (Huomataan, että "kokonaislukumaailmassa" läheisyyden ilmaiseminen voi olla vaikeampaa, n kuin esimerkiksi :ssä tai muussa metrisessä avaruudessa, jossa on käytössä luonnollinen etäisyyden käsite.) Olkoon M kaikkien siirtojen m joukko. Ratkaisua x muutetaan siirrolla m siten, että tulos x = x m on uusi "häiritty" ratkaisu. Siirto m on käypä (sallittu), jos x m on käypä, muuten siirto on epäkäypä. Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto: N(x) = {x' X x = x m, m M }. Käypä lähistö saadaan tekemällä vain sallittuja, käypiä siirtoja, jolloin saadaan siis N(x) S. (Tässä on käytetty suomenkielistä sanaa "lähistö" termin "ympäristö" sijaan, koska jälkimmäisellä on oma merkityksensä topologiassa. Englanninkielisissä esityksissä molemmissa esiintyy termi "neighborhood".)

3 77 Lähistön koko on sen alkioiden lukumäärä. Se kertoo siis, kuinka monta erilaista siirtoa x:lle voidaan tehdä ("nollasiirto", eli että ei tehdä mitään siirtoa, luetaan tässä myös siirroksi). Kaikille lähistöjä käyttäville menetelmille on onnistumisen kannalta oleellista, minkälainen lähistörakenne on valittu. Jos lähistöt ovat liian suuria (ääritapauksessa koko ratkaisuavaruus X voi olla lähistönä), niin menetelmän jokainen iteraatio voi olla samaa luokkaa laskentatyöltään kuin alkuperäinen probleema. Jos lähistö on taas liian suppea, niin menetelmät etenevät hyvin hitaasti. Tehtävä Muodosta pisteen x = [ ] T B 5 lähistö, jos siirtona on a) yhden komponentin (bitin) muuttaminen nollasta ykköseksi tai päinvastoin. b) kahden komponentin vaihto keskenään (esim. 1. ja 5. x' = [ ] T ).

4 78 Lokaali haku (Local Search, Neighborhood Search) on menetelmä, jossa jokaisessa iteroinnissa uusi iterointipiste valitaan nykyisen lähistöstä. Valintaan voidaan käyttää evaluointifunktiota E, jonka maksimiarvon mukaan uusi piste poimitaan. Algoritmi on silloin seuraava, kun aloituspisteenä on jokin käypä ratkaisu x 0 : 1. k:=1, x k :=x 0, x * : = x x k+1 :=argmax{e(x) x N(x k )}. 3. k:=k Jos E(x k )>E(x * ), niin tee päivitys x * : = x k. 5. Onko lopetusehto voimassa? Jos on, x * on paras ratkaisu. Jos ei, niin jatka kohdasta 2. Merkintä argmax{e(x) x N(x k )} tarkoittaa sitä ratkaisua x, joka antaa funktiolle E suurimman arvon lähistössä N(x k ).

5 79 Evaluointifunktio ja lopetusehto jäävät tässä yleisellä tasolla määrittelemättä. Yleensä evaluointifunktio on maksimointitehtävässä kohdefunktio f sellaisenaan ja minimointitehtävässä -f tai positiivisen funktion tapauksessa myös 1/f. Osa sellaisista rajoitusehdoista, jotka on vaikea ilmaista lähistöjen käypyydellä, voidaan ottaa huomioon evaluointifunktiossa esim. sakkotermien avulla. Jos evaluointifunktiona käytetään pelkästään kohdefunktiota f, kyseessä on jyrkimmän nousun (steepest ascent) menetelmä. (Minimoinnissa: jyrkin vietto, steepest descent.) Sanotaan myös, että algoritmi on ahne (greedy), koska joka kerta valitaan eniten kohdefunktiota parantava vaihtoehto lähistöstä. (On sukua derivoituvien funktioiden gradienttimenetelmälle, mutta globaalin haun merkitys menetelmänä on diskreetissä optimoinnissa suurempi, kuin gradienttimenetelmän epälineaarisessa optimoinnissa.) Lokaalin haun suurimpia ongelmia on, että se jää usein kiinni lokaaliin optimiin.

6 80 Esimerkki: Kaupparatsuongelman (TSP) ratkaisumenetelmä 2-opt Menetelmässä verrataan olemassa olevaa ratkaisua x sellaisiin lähellä oleviin ratkaisuihin, jotka saadaan vaihtamalla kaksi reitin jaksoa toisiin kahteen jaksoon, muuten reitti säilyy samana. Siirto on siis tämä vaihto, ja lähistö koostuu näin saaduista reiteistä. Kaupunkien lukumäärä olkoon n, käytävä läpi kaikki kaupungit täsmälleen kerran. Aloitus kaupungista 1, johon sitten lopuksi palataan. Reitti on jono kaupunkeja i 1, i 2,, i n, missä i 1 = 1 ja jono kertoo järjestyksen, jossa kaikki kaupungit käydään läpi. Reitin jaksot ovat i i, i i,, i i, i i n 1 n n 1 Oletetaan, että tilanne on symmetrinen, eli jakson suunnalla ei ole väliä ja jokaisen jakson kustannus on sama molempiin suuntiin. Kustannukset saadaan symmetrisestä kustannusmatriisista W, koko n n.

7 81 Koska vaihdettavia jaksoja on täsmälleen kaksi, ne eivät voi olla peräkkäin. (Jos poistetaan peräkkäiset kaksi jaksoa, jää keskimmäinen kaupunki eristetyksi, jolloin se pitää yhdistää johonkin muuhun, mikä taas pakottaa poistamaan kolmannenkin jakson jostakin kohtaa) Edelleen todetaan, että jos tietyt kaksi jaksoa (a,b) ja (c,d) on poistettu, niin reitti on korjattava tasan kahdella uudella jaksolla käymättä missään kaupungissa useammin kuin kerran. Silloin uusiksi jaksoiksi reittiin on otettava (a,c) ja (b,d), muita mahdollisuuksia ei ole, kuten kuvasta voidaan päätellä. Joten vaihto on yksiselitteinen, kun poistettavat jaksot on päätetty. Algoritmi lähtee jaksosta i 1 i 2, käy läpi kaikki muut (paitsi vieressä olevia i 2 i 3 ja in i1 ) ja kokeilee kannattaako vaihtaa.

8 82 Vaihto on kannattava, mikäli kustannusten pudotus W(a,b)+W(c,d)- (W(a,c)+W(b,d)) on positiivinen. Jakson i 1 i 2 vaihtokaveriksi otetaan se (jos löytyy), joka antaa suurimman positiivisen pudotuksen. Näin käydään läpi kaikki mahdollisuudet muutella reittiä kahden vaihdolla. Lopetetaan, kun ei enää löydy kannattavaa vaihtoa. Silloin on löydetty (ainakin) lokaalisti optimaalinen reitti. Se ei ole välttämättä globaali optimi, mutta on käytännössä todettu usein melko hyväksi. Etuna on laskennan nopeus ja menetelmän yksinkertaisuus. d a b c Menetelmä on erityistapaus k-opt menetelmästä eli Lin-Kernighanalgoritmista. (S. Lin, B.W. Kernighan: An Effective Heuristic Algorithm for the Traveling Salesman Problem, Operations Research 21 (1973), )

9 83 Lokaalin haun taipumuksena yleisesti on algoritmin juuttuminen lokaaliin optimiin. Tämän estämiseksi voidaan käyttää erilaisia keinoja, joilla ratkaisu voi päästä "karkuun" lokaalista "kuopasta". Eräs idea tähän on löydettävissä fysikaalisen analogian kautta metallien lämpökäsittelystä. Kun sulaa hehkuvaa metallia jäähdytetään sopivan hitaasti (annealing), sen kiderakenne päätyy minimienergiatilaan. Jos taas jäähdytys on äkkinäistä (rapid quenching), rakenne voi jäädä lokaaliin optimitilaan ja tuloksena on hauraampi materiaali. Tätä matkivat matemaattiset optimointialgoritmit tunnetaan nimellä simuloitu mellotus (simulated annealing, simulated cooling, simuloitu hehkutus, simuloitu jäähdytys, termodynaaminen algoritmi). Ne kuuluvat stokastisten lokaalisten hakualgoritmien luokkaan.

10 84 Periaate on lyhyesti seuraava: Olemassa olevan iterointipisteen lähistöstä valitaan satunnaisesti vertailupiste. Jos se parantaa kohdefunktion arvoa, se otetaan uudeksi iterointipisteeksi. Ellei, se voidaan silti hyväksyä uudeksi iterointipisteeksi todennäköisyydellä P(T, d) = e -d/t, missä d on kohdefunktion huononnus pisteestä toiseen siirryttäessä ja T on ohjausparametri ("lämpötila"). Siis paljon nykyistä huonompi ratkaisu voi tulla kysymykseen vain hyvin pienellä todennäköisyydellä. Todennäköisyysfunktion muoto on peräisin Boltzmannin jakaumasta. Ohjausparametriä T muutetaan vakionopeudella r pienemmäksi (lämpötilan lasku, r = cooling rate). Alussa lämpötila T on suuri, jolloin todennäköisyys huononnusten hyväksymiseen on suurehko. Iteroinnin edetessä lämpötila T laskee ja huononnusta aiheuttavien ratkaisujen hyväksymisen todennäköisyys lähenee nollaa.

11 85 Olkoot aloituslämpötila T, jäähdytyskerroin r (0,1), lopetussääntö ja aloitusratkaisu x 0 annettu. Lisäksi tarvitaan iterointiluku L, joka ilmaisee, kuinka monta iterointipistettä samassa lämpötilassa satunnaisesti haetaan, ennen kuin lämpötilaa lasketaan. Koska kyseessä on satunnaistettu lokaali haku, tarvitaan myös pisteen x lähistö N(x). Tällöin algoritmin eräs toteutus on seuraava: 1. j:= 1, k:=1, x k :=x 0, x * : = x Jos lopetussääntö on voimassa, lopeta, x * on paras löydetty ratkaisu. Ellei, jatka kohdasta Jos j=l+1, jatka kohdasta 9. Ellei, jatka kohdasta Valitse satunnaisesti piste y N(x k ) ja laske kohdefunktion arvomuutos d = f(y)-f(x k ).

12 86 5. Jos d>0, jatka kohdasta 7. Jos d 0, generoi välille [0,1] tasaisesti jakautuneista satunnaisluvuista arvo p ja jatka kohdasta 6 6. Jos p e -d/t, jatka kohdasta 7. Ellei, aseta j:=j+1 ja jatka kohdasta Aseta x k+1 :=y ja k:=k Jos f(x k ) > f(x * ), aseta x * := x k, j:=1 ja jatka kohdasta 9. Ellei, aseta j:=j+1 ja jatka kohdasta Aseta T=rT, j=1 ja jatka kohdasta 2.

13 Bellmanin dynaaminen optimointi Jos ongelma voidaan esittää monivaiheisena peräkkäisten probleemoiden jonona, siihen voidaan soveltaa Richard Bellmanin 1950-luvulla esittämää Dynaamista optimointia (Dynamic Programming). Se perustuu Bellmanin optimaalisuusperiaatteeseen, jonka voi sanallisesti ilmaista eri tavoilla: Optimiratkaisussa on edettävä esillä olevasta vaiheesta optimaalisesti loppuun, riippumatta siitä, mitä aikaisemmissa vaiheissa tehtiin. Optimiratkaisussa jokaista vaihetta edeltävät vaiheet on suoritettu alusta lukien optimaalisesti. Optimiradan jokainen loppuosa (vastaavasti alkuosa) on myös itse optimaalinen.

14 88 Periaate on luonnollinen ja sinällään itsestään selvä. Sen systemaattinen hyväksikäyttö tarjoaa mahdollisuuden tietyn tyyppisissä kokonaislukuoptimointitehtävissä käypien ratkaisujen implisiittiseen läpikäyntiin, ja on siinä mielessä sukua branch-and-bound menetelmille. Ongelma on siis voitava esittää rakentuvaksi peräkkäisistä vaiheista (stage). Kussakin vaiheessa systeemi voi olla erilaisissa tiloissa (state).

15 89 Esimerkki 1 Tarkastellaan minimikustannusvirtausprobleemaa, jossa on 11 solmua. Solmut on ryhmitelty viiteen vaiheeseen: aloitus (vaihe 1) = solmu 1, vaihe 2 = solmut 2, 3, 4, vaihe 3 = solmut 5, 6, 7, 8, vaihe 4 = 9, 10 ja lopetus (vaihe 5) = solmu 11. Verkossa voi liikkua vain solmusta seuraavan vaiheen solmuihin (ei välttämättä kaikkiin). Verkon insidenssimatriisi ja kustannusvektori ovat: A = c = [ ]. (Piirrä verkko, vaiheet vasemmalta oikealle, saman vaiheen solmut allekkain.)

16 90 Tehtävänä on kulkea solmusta 1 solmuun 11 lyhintä reittiä (kustannukset ovat solmujen välisiä välimatkoja; virtaus on 1, jos kaarta pitkin kuljetaan, solmu 1 on lähdesolmu, josta virtaus 1 lähtee ja solmu 11 kohdesolmu, johon se saapuu). Ratkaisu voidaan hakea dynaamisella optimoinnilla seuraavasti. Lähdetään solmusta 1 liikkeelle, ja edetään vaihe kerrallaan eteenpäin. Jokaiseen solmuun i liitetään etenemisen kuluessa lukupari (j,k). Siinä j kertoo solmun, josta solmuun i alusta lähtien optimaalista reittiä tultiin ja k vastaavan reitin minimipituuden. Silloin muodostuu järjestyksessä seuraava vaiheittainen data: aloitus vaihe 2 (2,3,4) vaihe 3 (5,6,7,8) vaihe 4 (9,10) lopetus [ 0] [9 24]

17 91 Viimeisestä datasta nähdään, että optimireitin pituus on 24. Optimireitti löytyy taaksepäin siirtymällä: Siis optimireitti on Menetelmä oli siis rekursio eteenpäin. Vastaava laskenta voitaisiin tehdä aloittamalla solmusta 11, rekursio taaksepäin. Tässä esimerkissä eri vaiheissa tarvittavat osaoptimointitehtävät olivat hyvin yksinkertaisia täydellisellä läpikäynnillä (muutamasta vaihtoehdosta) ratkaistavia. Esimerkiksi vaiheessa 4 todettiin solmuun 9 päästävän solmusta 5,6,7 tai 8, joista 6 antoi lyhimmän tien; oleellista oli, että solmussa 6 oli käytettävissä tieto, mikä siihen on lyhin reitti alusta.

18 92 Muotoillaan seuraavaksi dynaamisen optimoinnin menetelmä yleisemmin: Probleema ("systeemi") olkoon jaettavissa eri vaiheisiin k = 1,, K. Kussakin vaiheessa k systeemi on jossakin tilassa y k. Mahdollisten tilojen joukko vaiheessa k on Y k. Kussakin vaiheessa k on valittava päätösmuuttuja xk X joukosta X k. k käyvästä Tehty päätös antaa systeemin seuraavan tilan siirtoyhtälöstä 1 yk = tk( yk 1, xk). Siirtofunktio t k on käännettävissä: y = k 1 tk ( yk, xk). Kohdefunktio saa vaiheesta k yhteenlaskettavan osuuden fk( yk 1, xk). Kumulatiivinen kohdefunktion optimiarvo on Fk( y k), kun ensimmäiset k vaihetta on edetty tilaan y k.

19 93 Kun vaiheesta toiseen siirrytään eteenpäin, kohdefunktio saa arvon F ( y, x ) = F ( y ) + f ( y, x ) k k k k 1 k 1 k k 1 k (rekursio eteenpäin). Silloin kumulatiiviselle optimiarvolle saadaan (jos kohdefunktiota maksimoidaan) rekursiokaava F ( y ) = F ( y, x ) = max F ( y, x ). k k k k k x k k k k Xk Lopullinen optimiratkaisun arvo on silloin z = F ( y ) = F ( y, x ). K K K K K Optimitilat saadaan taaksepäin siirtymällä ratkaisemalla kaavasta 1 y = k 1 tk ( yk, xk) peräkkäin yk 1, yk 2,, y2, y1 ja vastaavat yllä olevassa rekursiokaavassa maksimin antavat x k. Silloin optimiratkaisun päätösmuuttujat ovat x1, x2,, xk.

20 94 Jos kohdefunktiota minimoidaan, yllä olevassa rekursiokaavassa maksimointi vaihdetaan minimointiin. Yllä olevasta voidaan esittää ilmeisin muutoksin versio, jossa käytetään rekursiota taaksepäin. Siinä lopullinen ratkaisu sitten löydetään eteenpäin siirtymällä. Todettakoon myös, ettei menetelmä ota kantaa siihen, miten rekursiokaavassa esiintyvä optimointiprobleema ratkaistaan. Dynaamisen optimoinnin huonona puolena on tarvittavan laskenta-ajan ja muistitilan nopea kasvu.

21 Esimerkki 2 max z = 6x + 2 x + x 1 3 3x + 4x + 2x x x x 2 x i 3 Z Kyseessä on siis epälineaarisen kokonaislukuoptimoinnin tehtävä. Koska kohdefunktio ja rajoitusehto ovat yhteenlaskuun nähden separoituvia, probleema voidaan ajatella kolmesta vaiheesta koostuvaksi, kutakin vaihetta i vastaa muuttuja x i. Jos rajoitusepäyhtälö 3x1+ 4x2 + 2x3 12 ajatellaan resurssiepäyhtälönä, systeemin "tilaksi" y k saadaan luontevasti se resurssimäärä, joka vaiheessa k ja sitä ennen on kulutettu. Siirtoyhtälö on näin ollen yk = yk 1 + akxk, missä a, a, a ] = [3,4,2]. [ ] 1 2 3

22 96 Vaihe 1 y0 = 0, y1 = y0 + a1x1 = 3x1, X 1 = {0,1, 2}, Y 1 = {0,3,6} y x F( y, x ) = F( y ) + f ( y, x ) F( y ) = F( y, x ) x Vaihe 2 y2 = y1+ a2x2 = y1+ 4x2, X 2 = {1, 2,3}, Y 2 = {4,7,8,10,11,12} x y y = y + 4 x F ( y, x ) = F( y ) + f ( y, x ) F ( y ) = F ( y, x ) x = = = = = = 8 8 3

23 97 Vaihe 3 y3 = y2 + a3x3 = y2 + 2x3, X 3 = {0,1, 2}, Y 3 = {4,6,7,8,9,10,11,12} x y y = y + 2 x F ( y, x ) = F ( y ) + f ( y, x ) F ( y ) = F ( y, x ) x = = = = = = = = = = = = = 12 Viimeisestä taulukosta sarakkeelta 5 nähdään siis, että optimiarvo on 16. Vastaavalta riviltä nähdään, että x3 = 2, y3 = 11, y2 = 7. Siirtymällä taaksepäin vaiheen 2 taulukkoon kohtaan y 2 = 7 nähdään, että x2 = 1, y1 = 3. Tästä jälleen taaksepäin ensimmäiseen taulukkoon, josta nähdään kun y 1 = 3, niin x 1 = 1. Optimiratkaisu on siis x1= 1, x2 = 1, x3= 2 ja z:n maksimiarvo z = 16.

Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto:

Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto: 24 10. Lokaali haku Optimoinnissa heuristisilla menetelmillä tarkoitetaan algoritmeja, jotka osassa tapauksista antavat tehtävälle hyvän tai lähes optimaalisen ratkaisun, mutta joiden toimivuutta ei voida

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Luetteloivat ja heuristiset menetelmät Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Sisältö Branch and Bound sekä sen variaatiot (Branch and Cut, Lemken menetelmä) Optimointiin

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

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

Lisätiedot

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 Ke Timo Männikkö Algoritmit 2 Luento 12 Ke 26.4.2017 Timo Männikkö Luento 12 Rajoitehaku Kauppamatkustajan ongelma Lyhin virittävä puu Paikallinen etsintä Vaihtoalgoritmit Geneettiset algoritmit Simuloitu jäähdytys Algoritmit

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

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen Jos sallittuja kokonaislukuratkaisuja ei ole kovin paljon, ne voidaan käydä kaikki läpi yksitellen Käytännössä tämä ei kuitenkaan ole yleensä mahdollista

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto) 811 Tietorakenteet (kevät 9) Harjoitus 11, ratkaisuja (Topi Musto) 1. Bellmanin-Fordin algoritmin alustusvaiheen jälkeen aloitussolmussa on arvo ja muissa solmuissa on arvo ääretön. Kunkin solmun arvo

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

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Merkintöjä := vasen puoli määritellään oikean puolen lausekkeella s.e. ehdolla; siten että (engl. subject to, s.t.) vasemman puolen

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

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

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

8. Ensimmäisen käyvän kantaratkaisun haku

8. Ensimmäisen käyvän kantaratkaisun haku 38 8. Ensimmäisen käyvän kantaratkaisun haku Edellä kuvattu simplex-algoritmi tarvitsee alkuratkaisuksi käyvän kantaratkaisun eli käyvän joukon kärkipisteen. Sellaisen voi konstruoida seuraavilla tavoilla:

Lisätiedot

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

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

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen 4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen Käypä kantaratkaisu löytyy helposti, esimerkiksi tapauksessa Ax b, b 0 x 0 jolloin sen määräävät puutemuuttujat. Tällöin simplex-menetelmän alustus

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

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 5 2.2.28 Tehtävä a) Tehtävä voidaan sieventää muotoon max 5x + 9x 2 + x 3 s. t. 2x + x 2 + x 3 x 3 x 2 3 x 3 3 x, x 2, x 3 Tämä on tehtävän kanoninen muoto, n = 3 ja m =. b) Otetaan

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

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

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

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Duaalisuus kokonaislukuoptimoinnissa Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Sisältö Duaalisuus binäärisissä optimointitehtävissä Lagrangen duaalisuus Lagrangen

Lisätiedot

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely)

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Jari Hast xx.12.2013 Ohjaaja: Harri Ehtamo Valvoja: Hari Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Yhden muuttujan funktion minimointi

Yhden muuttujan funktion minimointi Yhden muuttujan funktion minimointi Aloitetaan yhden muuttujan tapauksesta Tarpeellinen myös useamman muuttujan tapauksessa Tehtävä on muotoa min kun f(x) x S R 1 Sallittu alue on muotoa S = [a, b] tai

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

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Merkintöjä := vasen puoli määritellään oikean puolen lausekkeella s.e. ehdolla; siten että (engl. subject to, s.t.) on voimassa

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

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

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

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla Talousmatematiikan perusteet: Luento 12 Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla Esimerkki Esim. Yritys tekee kahta elintarviketeollisuuden käyttämää puolivalmistetta,

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

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

. 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

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä JYVÄSKYLÄN YLIOPISTO 4. Luennon sisältö Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä kevät 2012 TIEA382 Lineaarinen ja diskreetti optimointi Lineaarinen optimointitehtävä Minimointitehtävä

Lisätiedot

Geneettiset algoritmit

Geneettiset algoritmit Geneettiset algoritmit Evoluution piirteitä laskennassa Optimoinnin perusteet - Kevät 2002 / 1 Sisältö Geneettisten algoritmien sovelluskenttä Peruskäsitteitä Esimerkkejä funktion ääriarvon etsintä vangin

Lisätiedot

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi. 5..0 Tehtävä Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi. (c) (d) Arvostelu Kanta on degeneroitunut jos ja vain jos sitä vastaava kantamatriisi on singulaarinen. Optimissa muuttujan

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

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Luento 6: Monitavoiteoptimointi

Luento 6: Monitavoiteoptimointi Luento 6: Monitavoiteoptimointi Monitavoiteoptimointitehtävässä on useita optimoitavia kohdefunktioita eli ns kriteereitä: f 1,, f m Esimerkiksi opiskelija haluaa oppia mahdollisimman hyvin ja paljon mahdollisimman

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.34 Lineaarinen ohjelmointi 9..7 Luento Kokonaislukuoptimoinnin algoritmeja (kirja.-.) Lineaarinen ohjelmointi - Syksy 7 / Luentorunko Gomoryn leikkaava taso Branch & Bound Branch & Cut Muita menetelmiä

Lisätiedot

Luento 4: Lineaarisen tehtävän duaali

Luento 4: Lineaarisen tehtävän duaali Luento 4: Lineaarisen tehtävän duaali Käsittelemme seuraavaksi lineaarisen optimoinnin duaaliteoriaa. Kuten luennossa 2 esitettiin, kohdefunktion optimiarvon herkkyys z, kun rajoitusyhtälön i, 1 i m, oikea

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 5 10.4.2017 Tehtävä 1 x 2 7 0,7 9,8 6 5 4 x 1 x 2 7 x 1 x 2 1 3 2 x 1 0 4,3 x 1 9 1 0,0 x 2 0 9,0 1 2 3 4 5 6 7 8 9 x 1 Kuva 1: Tehtävän 1 sallittu joukko S Optimointitehtävän sallittu

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

j n j a b a c a d b c c d m j b a c a d a c b d c c j

j n j a b a c a d b c c d m j b a c a d a c b d c c j TEKNILLINEN KORKEAKOULU Tietoliikenne- ja tietoverkkotekniikan laitos S-38.115 Liikenneteorian perusteet, Kevät 2008 Demonstraatiot Luento 12 29.2.2008 D12/1 Tarkastellaan verkkoa, jossa on solmua ja linkkiä.

Lisätiedot

Demo 1: Branch & Bound

Demo 1: Branch & Bound MS-C05 Optimoinnin perusteet Malliratkaisut 7 Ehtamo Demo : Branch & Bound Ratkaise lineaarinen kokonaislukuoptimointitehtävä käyttämällä Branch & Boundalgoritmia. max x + x s.e. x + 4x 9 5x + x 9 x Z

Lisätiedot

Luento 7: Kokonaislukuoptimointi

Luento 7: Kokonaislukuoptimointi Luento 7: Kokonaislukuoptimointi Lineaarisessa optimointitehtävässä (LP) kaikki muuttujat ovat jatkuvia. Kokonaislukuoptimoinnin (ILP = Integer LP) tehtävässä kaikilla muuttujilla on kokonaislukurajoitus

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 1 12.3.2018 Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 297 4 2 4 163 3 454 6 179 2 136 2 169 2 390 4 3 436 7 5 Kuva 1: Tehtävän 1

Lisätiedot

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen Paikkatietomarkkinat, Helsinki 3.11.2009 Tero Heinonen Sisältö Kuvioton metsäsuunnittelu Optimointi leimikon suunnittelumenetelmänä Verrataan optimointi lähestymistapaa diffuusiomenetelmään Muuttuvat käsittely-yksiköt

Lisätiedot

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

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0 Optimaalisuusehdot Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0 i = 1,..., m j = 1,..., l missä f : R n R, g i : R n R kaikilla i = 1,..., m, ja h j : R n R kaikilla j = 1,..., l

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

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

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

Sekalukuoptimointi. Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, Tietojenkäsittelytieteen laitos Helsingin Yliopisto

Sekalukuoptimointi. Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, Tietojenkäsittelytieteen laitos Helsingin Yliopisto Sekalukuoptimointi Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, 2000-10-11 Tietojenkäsittelytieteen laitos Helsingin Yliopisto 1 Tiivistelmä Seminaarin aihe käsittelee globaalin optimoinnin erästä

Lisätiedot

3.4 Peruutus (backtracking)

3.4 Peruutus (backtracking) 3.4 Peruutus (backtracking) Tarkastellaan kahta esimerkkiongelmaa: Kahdeksan kuningattaren ongelma: sijoitettava 8 8 ruudun pelilaudalle 8 nappulaa siten, että millekään vaaka-, pysty- tai viistoriville

Lisätiedot

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

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16 MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio. Antti Rasila Matematiikan ja systeemianalyysin laitos

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

Luento 6: Monitavoitteinen optimointi

Luento 6: Monitavoitteinen optimointi Luento 6: Monitavoitteinen optimointi Monitavoitteisessa optimointitehtävässä on useita optimoitavia kohdefunktioita eli ns kriteereitä: f,,f m Esimerkki ortfolion eli arvopaperijoukon optimoinnissa: f

Lisätiedot

Diskreettiaikainen dynaaminen optimointi

Diskreettiaikainen dynaaminen optimointi Diskreettiaikainen dynaaminen optimointi Usean kauden tapaus 2 kauden yleistys Ääretön loppuaika Optimaalinen pysäytys Optimointiopin seminaari - Syksy 2000 / Ongelma t 0 x 0 t- t T x t- + x t + x T u

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

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

MS-C2105 Optimoinnin perusteet Malliratkaisut 4 MS-C2105 Optimoinnin perusteet Malliratkaisut 4 Ehtamo Duaalin muodostamisen muistisäännöt Duaalin muodostamisessa voidaan käyttää muistisääntötaulukkoa, jota voidaan lukea vasemmalta oikealle tai oikealta

Lisätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 2. Luento 14 Ke Timo Männikkö Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien

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

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

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla Talousmatematiikan perusteet: Luento 11 Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla Esimerkki Esim. Yritys tekee kahta elintarviketeollisuuden käyttämää puolivalmistetta,

Lisätiedot

Luento 7: Kokonaislukuoptimointi

Luento 7: Kokonaislukuoptimointi Luento 7: Kokonaislukuoptimointi Lineaarisessa optimointitehtävässä (LP) kaikki muuttujat ovat jatkuvia. Kokonaislukuoptimoinnin (ILP = Integer LP) tehtävässä kaikilla muuttujilla on kokonaislukurajoitus

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

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on 13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu

Lisätiedot

Search space traversal using metaheuristics

Search space traversal using metaheuristics Search space traversal using metaheuristics Mika Juuti 11.06.2012 Ohjaaja: Ville Mattila Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki

Lisätiedot

Luento 2: Optimointitehtävän graafinen ratkaiseminen. LP-malli.

Luento 2: Optimointitehtävän graafinen ratkaiseminen. LP-malli. Luento 2: Optimointitehtävän graafinen ratkaiseminen. LP-malli. LP-malli Esimerkki. Maalitehdas valmistaa ulko- ja sisämaalia raaka-aineista M1 ja M2. Sisämaalin maksimikysyntä on 2 tonnia/päivä. Sisämaalin

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

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

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi. Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi. Konveksisuus Muista x + αd, α 0, on pisteestä x R n alkava puolisuora, joka on vektorin d suuntainen. Samoin

Lisätiedot

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I. Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.

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

Harjoitus 1 (17.3.2015)

Harjoitus 1 (17.3.2015) Harjoitus 1 (17.3.2015) Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 = Turku 2 = Tampere 3 = Helsinki 4 = Kuopio 5 = Joensuu. a) Tehtävänä on ratkaista Bellman

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

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

4. Kokonaislukutehtävän ja LP:n yhteyksiä

4. Kokonaislukutehtävän ja LP:n yhteyksiä 8 4. Kokonaislukutehtävän ja LP:n yhteyksiä Minkowskin esityslauseen avulla voidaan osoittaa, että jos P on rationaalinen monitahokas ja S sen sisällä olevien kokonaislukupisteiden joukko, niin co(s) on

Lisätiedot

Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun

Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun Jälki- ja herkkyysanalyysi Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun 1 Hinnat ja varjohinnat Objektifunktio c T x = Kerroin c j ilmoittaa, paljonko

Lisätiedot

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

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n IV. TASAINEN SUPPENEMINEN IV.. Funktiojonon tasainen suppeneminen Olkoon A R joukko ja f n : A R funktio, n =, 2, 3,..., jolloin jokaisella x A muodostuu lukujono f x, f 2 x,.... Jos tämä jono suppenee

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

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

73125 MATEMAATTINEN OPTIMOINTITEORIA 2

73125 MATEMAATTINEN OPTIMOINTITEORIA 2 73125 MATEMAATTINEN OPTIMOINTITEORIA 2 Risto Silvennoinen Tampereen teknillinen yliopisto, kevät 2004 1. Peruskäsitteet Optimointiteoria on sovelletun matematiikan osa-alue, jossa tutkitaan funktioiden

Lisätiedot

Mat-2.148 Dynaaminen optimointi, mallivastaukset, kierros 5

Mat-2.148 Dynaaminen optimointi, mallivastaukset, kierros 5 Mat-2.148 Dynaaminen optimointi, mallivastaukset, kierros 5 1. Kotitehtävä. 2. Lasketaan aluksi korkoa korolle. Jos korkoprosentti on r, ja korko maksetaan n kertaa vuodessa t vuoden ajan, niin kokonaisvuosikorko

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 Optimaalisuus: objektiavaruus f 2 min Z = f(s) Parhaat arvot alhaalla ja vasemmalla

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

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

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

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio. MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio. Riikka Korte Matematiikan ja systeemianalyysin laitos 1 Aalto-yliopisto

Lisätiedot

Kokonaislukuoptimointi

Kokonaislukuoptimointi Kokonaislukuoptimointi Algebrallisen geometrian sovelluksia Sisältö Taustaa algebrallisesta geometriasta Gröbnerin kanta Buchbergerin algoritmi Kokonaislukuoptimointi Käypyysongelma Algoritmi ratkaisun

Lisätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

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

Kokonaislukuoptimointi

Kokonaislukuoptimointi Kokonaislukuoptimointi Optimointitehtävät, joissa muuttujat tai osa niistä voivat saada vain kokonaislukuarvoja Puhdas kokonaislukuoptimointitehtävä: Kaikki muuttujat kokonaislukuja Sekoitettu kokonaislukuoptimointitehtävä:

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 Evoluutiopohjainen monitavoiteoptimointi MCDM ja EMO Monitavoiteoptimointi kuuluu

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot