Harjoitus 1 (17.3.2015)



Samankaltaiset tiedostot
Malliratkaisut Demot

Harjoitus 1 ( )

Malliratkaisut Demot

Harjoitus 3 ( )

Harjoitus 3 ( )

Malliratkaisut Demot

Malliratkaisut Demot

Harjoitus 2 ( )

Harjoitus 2 ( )

Harjoitus 5 ( )

Malliratkaisut Demot

Harjoitus 6 ( )

Harjoitus 5 ( )

Malliratkaisut Demot 6,

Malliratkaisut Demot

Harjoitus 4 ( )

Harjoitus 6 ( )

Matemaattinen optimointi II

Malliratkaisut Demot

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

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

Luento 4: Lineaarisen tehtävän duaali

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

FORD ST _ST_Range_V2_ MY.indd FC1-FC3 27/06/ :24:01

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

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

Malliratkaisut Demot

13 Lyhimmät painotetut polut

Johdatus verkkoteoriaan 4. luento

Lineaarinen optimointitehtävä

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Mat Lineaarinen ohjelmointi

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

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

Algoritmit 1. Luento 8 Ke Timo Männikkö

v 8 v 9 v 5 C v 3 v 4

Malliratkaisut Demo 1

Malliratkaisut Demot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Johdatus graafiteoriaan

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

Malliratkaisut Demot

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Mat Lineaarinen ohjelmointi

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

Harjoitus 4: Matlab - Optimization Toolbox


Kimppu-suodatus-menetelmä

Algoritmit 1. Luento 13 Ti Timo Männikkö

Malliratkaisut Demo 4

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

T : Max-flow / min-cut -ongelmat

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Algoritmit 2. Luento 11 Ti Timo Männikkö

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!

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia


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

OPERAATIOANALYYSI ORMS.1020

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

Harjoitus 8: Excel - Optimointi

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita.

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Algoritmit 1. Luento 14 Ke Timo Männikkö

Trimmitysongelman LP-relaksaation ratkaiseminen sarakkeita generoivalla algoritmilla ja brute-force-menetelmällä

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmi on periaatteellisella tasolla seuraava:

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

Demo 1: Simplex-menetelmä

Malliratkaisut Demot 5,

Osakesalkun optimointi

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

1 Johdanto LP tehtävän luonteen tarkastelua Johdanto herkkyysanalyysiin Optimiarvon funktio ja marginaalihinta

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

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

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

Algoritmit 2. Luento 12 Ke Timo Männikkö

Demo 1: Branch & Bound

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

A TIETORAKENTEET JA ALGORITMIT

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

Mat Lineaarinen ohjelmointi

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

Luento 5: Peliteoriaa

Liite 2: Verkot ja todennäköisyyslaskenta

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

10. Painotetut graafit

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Talousmatematiikan perusteet

Lineaariset Lien ryhmät / Ratkaisut 6 D 381 klo

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

Lyhin kahden solmun välinen polku

Ennakkotehtävän ratkaisu

Kiinalaisen postimiehen ongelma

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

Harjoitus 7: vastausvihjeet

Transkriptio:

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 Ford-algoritmilla lyhimmät reitit Turusta muihin kaupunkeihin sekä lyhin reitti Turusta Jyväskylään. Bellman Ford-algoritmi määritellään kaavoilla 0, k = s v 0 [k] =, muulloin v t [k] = min {v t 1 [i]+c ik (i,k) E} = v t 1 [l]+c lk, d[k] l, missä k = 1,2,3,4,5. Algoritmin perusteella saadaan taulukot t v t [1] v t [2] v t [3] v t [4] v t [5] t d[1] d[2] d[3] d[4] [d5] 0 0 1 0 163 169 1 1 1 2 0 163 169 460 605 2 1 1 2 3 3 0 163 169 460 596 3 1 1 2 4 4 0 163 169 460 596 4 1 1 2 4 t = 2 : Turku-Tampere-Kuopio: 460 Turku-Helsinki-Kuopio:559 Turku-Tampere-Joensuu: 617 Turku-Helsinki-Joensuu: 605 t = 3 : Turku-Tampere-Kuopio-Joensuu: 596 Vasemmassa taulukossa ei enää tapahdu muutosta sarakkeessa v t [5], kun verrataan kahta alinta riviä. Lyhin reitti Turusta Joensuuhun on d[5] = 4, d[4] = 2,d[2] = 1 eli Turku Tampere Kuopio Joensuu. Reitin pituus on 596 km. 1

b) Tehtävänä on ratkaista Dijkstran algoritmilla nopeimmat reitit Turusta muihin kaupunkeihin sekä nopein reitti Turusta Jyväskylään. Dijkstran algoritmi määritellään kaavoilla 0, i = s v[i] =, muuten v[i] = min {v[i],v[p]+c pi }, d[i] p. Algoritmin perusteella saadaan taulukot p v[1] v[2] v[3] v[4] v[5] p d[1] d[2] d[3] d[4] d[5] 0 1 0 3 2 1 1 1 3 0 3 2 6 9 2 1 1 3 3 2 0 3 2 6 9 3 1 1 3 3 4 0 3 2 6 8 4 1 1 3 4 5 0 3 2 6 8 5 1 1 3 4 Nopein reitti Turusta Joensuuhun ond[5] = 4, d[4] = 3, d[3] = 1eli Turku Helsinki Kuopio Joensuu. Tämän reitin kesto on 8 h. Tehtävä 2 Muotoillaan edellisen tehtävän nopeimman reitin ongelma Turusta (solmu 1) Joensuuhun (solmu 5) lineaariseksi optimointitehtäväksi, joka on muotoa min c ij x ij s.t. (i,j) E (i,l) E x il (l,j) E x ij 0, (i,j) E. 1, kun l = k x lj = 1, kun l = s 0, muulloin Ajosuunnat määräytyvät taulukon yläkolmion mukaan. Toisin sanoen Turusta ajetaan Tampereelle ja Helsinkiin, Tampereelta Helsinkiin, Kuopioon ja Joensuuhun, jne. Näin valitsemalla sijoittaen graafin nuolijoukko E, painot c ij sekä aloitussolmu s = 1 ja lopetussolmu k = 5 optimointitehtävään (1), saadaan optimointitehtävä (1) min 3x 12 +2x 13 +2x 23 +4x 24 +6x 25 +4x 34 +7x 35 +2x 45 s.t. x 12 x 13 = 1 x 12 x 23 x 24 x 25 = 0 x 13 +x 23 x 34 x 35 = 0 x 24 +x 34 x 45 = 0 x 25 +x 35 +x 45 = 1 x 12,x 13,x 23,x 24,x 25,x 34,x 35,x 45 0. (2) 2

Tehtävän (1) duaali on max v k v s s.t. v j v i c ij, (i,j) E, joka sijoittamalla s, k ja E saadaan muotoon max v 5 v 1 s.t. v 2 v 1 3 v 3 v 1 2 v 3 v 2 2 v 4 v 2 4 v 5 v 2 6 v 4 v 3 4 v 5 v 3 7 v 5 v 4 2. Duaalin muodostuksessa minimointitehtävä muuttuu maksimointitehtäväksi, primäärin yhtälörajoitusten vuoksi duaalimuuttujat ovat rajoittamattomia, primääritehtävän päätösmuuttujien positiivisuusehdosta seuraa epäyhtälörajoitukset. Duaalissa voidaan valita v 1 = 0, jolloin saadaan max v 5 s.t. v 2 3 v 3 2 v 3 v 2 2 v 4 v 2 4 v 5 v 2 6 v 4 v 3 4 v 5 v 3 7 v 5 v 4 2 v i rajoittamaton. (3) Ratkaistaan duaalitehtävä (3) CPLEXillä, jolloin vastaukseksi tulee v 1 = 0, v 2 = 3, v 3 = 2, v 4 = 6jav 5 = 8. CPLEXantaamyösduaalitehtävänduaalin, eliprimaalitehtävän (2) ratkaisun. Primaalitehtävän ratkaisuksi saamme x 13 = x 34 = x 45 = 1, ja kohdefunktion arvoksi 8 joka on myös duaalitehtävän optimaalinen kohdefunktion arvo. Kyseessä on reitti Turku Tampere Hämeenlinna Imatra Jyväskylä ja sen pituus on 8 h. 3

Tehtävä 3 Lasketaan Floyd Warshall-algoritmilla tehtävän 1 nopeimmat reitit kaikkien kaupunkien välille. Jos kaupunkien välillä on yhteys, niin v 0 [k,l] c kl d[k,l] k. Jos taas kaupunkien välillä ei ole yhteyttä, niin 0, k = l v 0 [k,l], muulloin. Floyd Warshall-algoritmi määritellään kaavoilla v t [k,l] = min {v t 1 [k,l], v t 1 [k,t]+v t 1 [t,l]} d[k,l] d[t,l]. Seuraavissa taulukoissa on listattu lyhyimpien reittien pituudet v t [k,l] kunkin kierroksen t jälkeen. Edellisestä kierroksesta muuttuneet arvot on rengastettu. Vaiheessa t = 0 saadaan v 0 [k,l] l = 1 l = 2 l = 3 l = 4 l = 5 d[k,l] l = 1 l = 2 l = 3 l = 4 l = 5 k = 1 0 3 2 k = 1 1 1 k = 4 4 4 0 2 k = 4 4 4 4 k = 5 6 7 2 0 k = 5 5 5 5 Vaiheessa t = 1 saadaan v 1 [k,l] l = 1 l = 2 l = 3 l = 4 l = 5 d[k,l] l = 1 l = 2 l = 3 l = 4 l = 5 k = 1 0 3 2 k = 1 1 1 k = 4 4 4 0 2 k = 4 4 4 4 k = 5 6 7 2 0 k = 5 5 5 5 Vaiheessa t = 2 saadaan: esim. v 2 [1,4] = min{,3 + 4} = 7 ja v 2 [1,5] = min{,3 + 6} = 9. Päivitetään edeltäjätaulukkoon 2 vastaaville paikoille (d[1, 4] ja d[1, 5]). 4

v 2 [k,l] l = 1 l = 2 l = 3 l = 4 l = 5 d[k,l] l = 1 l = 2 l = 3 l = 4 l = 5 k = 1 0 3 2 7 9 k = 1 1 1 2 2 k = 4 7 4 4 0 2 k = 4 2 4 4 4 k = 5 9 6 7 2 0 k = 5 2 5 5 5 Vaiheessa t = 3 saadaan v 3 [k,l] l = 1 l = 2 l = 3 l = 4 l = 5 d[k,l] l = 1 l = 2 l = 3 l = 4 l = 5 k = 1 0 3 2 6 9 k = 1 1 1 3 2 k = 4 6 4 4 0 2 k = 4 3 4 4 4 k = 5 9 6 7 2 0 k = 5 2 5 5 5 Vaiheessa t = 4 saadaan v 4 [k,l] l = 1 l = 2 l = 3 l = 4 l = 5 d[k,l] l = 1 l = 2 l = 3 l = 4 l = 5 k = 1 0 3 2 6 8 k = 1 1 1 3 4 k = 3 2 2 0 4 6 k = 3 3 3 3 4 k = 4 6 4 4 0 2 k = 4 3 4 4 4 k = 5 8 6 6 2 0 k = 5 4 5 4 5 Vaiheessa t = 5 saadaan v 5 [k,l] l = 1 l = 2 l = 3 l = 4 l = 5 d[k,l] l = 1 l = 2 l = 3 l = 4 l = 5 k = 1 0 3 2 6 8 k = 1 1 1 3 4 k = 3 2 2 0 4 6 k = 3 3 3 3 4 k = 4 6 4 4 0 2 k = 4 3 4 4 4 k = 5 8 6 6 2 0 k = 5 4 5 4 5 Nopein reitti Turusta Joensuuhun onnytkin d[1,5] = 4, d[1,4] = 3, d[1,3] = 1. Reittiä voidaan merkitä myös 1 3 4 5. Kyseinen reitti on Turku Helsinki Kuopio Joensuu, ja sen kesto on 8 h. Tehtävä 4 Tulostimen ostohinta on 100 euroa. Käyttökustannukset vuosina 1 5 ovat 100, 150, 200, 250 ja 300 euroa. Olkoon solmu i päätöstilanne vuoden i alussa. Piirretään graafi, jossa 5

on solmut 1, 2, 3, 4, 5 ja 6. Nuolten painoiksi asetetaan c i,i+1 = 100+100 = 200 c i,i+2 = 100+100+150 = 350 c i,i+3 = 100+100+150+200 = 550 c i,i+4 = 100+100+150+200+250 = 800 c i,i+5 = 100+100+150+200+250+300 = 1100. Tehtävänä on etsiä lyhin reitti solmusta 1 solmuun 6. min 200(x 12 +x 23 +x 34 +x 45 +x 56 ) +350(x 13 +x 24 +x 35 +x 46 ) +550(x 14 +x 25 +x 36 ) +800(x 15 +x 26 ) +1100x 16 s.t. x 12 x 13 x 14 x 15 x 16 = 1 x 12 x 23 x 24 x 25 x 26 = 0 x 13 +x 23 x 34 x 35 x 36 = 0 x 14 +x 24 +x 34 x 45 x 46 = 0 x 15 +x 25 +x 35 +x 45 x 56 = 0 x 16 +x 26 +x 36 +x 46 +x 56 = 1 x ij 0. (4) Tehtävä 5 Edellinen tehtävä voidaan ratkaista mm. Bellman-Fordin, Floyd-Warshallin tai Dijkstran algoritmilla. Kyseessä on syklitön suunnattu verkko, joten algoritmi 1.17 (lyhimmät tiet syklittömässä verkossa) on myös mahdollinen ja vaihtoehdoista myös tehokkain. Vertailun vuoksi alla on listattu niiden taulukoiden koot joiden laskemisen kunkin luentomonisteen algoritmin suoritus vaatii. 1.8 (Bellman Ford) Yksi kokoa 6 6 oleva taulukko ja edeltäjätaulukko. 1.11 (Floyd Warshall) 7 kappaletta kokoa 6 6 olevia taulukoita ja edeltäjätaulukot. 1.14 (Dijkstra) Yksi kokoa 7 6 oleva taulukko ja edeltäjätaulukko. 1.17 (Lyhimmät tiet syklittömässä verkossa) Yksi kokoa 2 6 oleva taulukko sisältäen edeltäjätaulukon. 6

Algoritmi 1.17 määritellään kaavoilla v[i] v[s] 0 v[p] = min i d[p] l. Algoritmia käyttäen saadaan v[1] = 0 {v[i]+c ip (i,p) E} = v[l]+c ip v[2] = 200 d[2] = 1 v[3] = min {350,200+200} = 350 d[3] = 1 v[4] = min {550,350+200,200+350} = 550 d[4] = 1,2 tai 3 v[5] = min {800,200+550,350+350,550+200} = 700 d[5] = 3 v[6] = min {1100,200+800,350+550,550+350,700+200} = 900 d[6] = 3,4 tai 5 Matti Matikka ostaa tulostimen opintojen alkaessa. Lisäksi hänen kannattaa ostaa uusi tulostin joko kolmannen tai neljännen opiskeluvuoden alussa. Koska d[6] = 3, 4 tai 5, niin kustannuksia minimoidessaan Matti voi ostaa uuden tulostimen myös 5. vuoden alussa, mikäli hän oli ostanut uuden tulostimen 3. vuoden alussa (d[5] = 3). d[i] 7