Malliratkaisut Demot

Samankaltaiset tiedostot
Harjoitus 1 ( )

Harjoitus 1 ( )

Malliratkaisut Demot

Malliratkaisut Demot

Harjoitus 3 ( )

Harjoitus 3 ( )

Malliratkaisut Demot

Malliratkaisut Demot 6,

Malliratkaisut Demot

Harjoitus 2 ( )

Harjoitus 2 ( )

Malliratkaisut Demot

Harjoitus 6 ( )

Malliratkaisut Demot

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

Luento 4: Lineaarisen tehtävän duaali

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

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

Harjoitus 6 ( )

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

Harjoitus 5 ( )

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

Harjoitus 4 ( )

Harjoitus 5 ( )

Malliratkaisut Demot

13 Lyhimmät painotetut polut

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

Malliratkaisut Demo 1

Malliratkaisut Demot

Matemaattinen optimointi II

Algoritmit 1. Luento 9 Ti Timo Männikkö

Mat Lineaarinen ohjelmointi

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

Malliratkaisut Demot

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

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

Johdatus verkkoteoriaan 4. luento

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 optimointitehtävä

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

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

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

Demo 1: Branch & Bound

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

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

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

Malliratkaisut Demot 5,

Malliratkaisut Demo 4

Demo 1: Simplex-menetelmä

Kimppu-suodatus-menetelmä


Kokonaislukuoptimointi hissiryhmän ohjauksessa

Johdatus graafiteoriaan


T : Max-flow / min-cut -ongelmat

Algoritmit 1. Luento 13 Ti Timo Männikkö

v 8 v 9 v 5 C v 3 v 4

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

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

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

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

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

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

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

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

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

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

Algoritmit 1. Luento 14 Ke Timo Männikkö

Mat Lineaarinen ohjelmointi

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Algoritmit 2. Luento 12 Ke Timo Männikkö

Lyhin kahden solmun välinen polku

Algoritmi on periaatteellisella tasolla seuraava:

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

Algoritmit 1. Luento 13 Ma Timo Männikkö

10. Painotetut graafit

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

Osakesalkun optimointi

Luento 5: Peliteoriaa

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Luento 9: Yhtälörajoitukset optimoinnissa

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

PARITUS KAKSIJAKOISESSA

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Yleinen paikallinen vakautuva synkronointialgoritmi

Mat Lineaarinen ohjelmointi

Johdatus verkkoteoriaan luento Netspace

Harjoitus 4: Matlab - Optimization Toolbox

Harjoitus 8: Excel - Optimointi

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

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

Suunnatun verkon syklittömyyden testaaminen

A TIETORAKENTEET JA ALGORITMIT

Lineaariset Lien ryhmät / Ratkaisut 6 D 381 klo

Kiinalaisen postimiehen ongelma

Malliratkaisut Demo 4

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

Transkriptio:

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 graafi 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 Joensuuhun. Bellmann 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] d[5] 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 Vasemmanpuoleisessa taulukossa on v 4 [k] = v 3 [k] jokaiselle solmulle k (eli kaksi alinta riviä ovat samat), joten voidaan lopettaa. Lyhin reitti Turusta Joensuuhun on d[5] = 4, d[4] = 2, d[2] = 1 eli Turku Tampere Kuopio Joensuu. Reitin pituus on 596 km. b) Tehtävänä on ratkaista Dijkstran algoritmilla nopeimmat reitit Turusta muihin kaupunkeihin sekä nopein reitti Turusta Joensuuhun. Dijkstan algoritmi määritellään 1

kaavoilla 0, i = s v[i] =, muuten v[i] = min {v[i],v[p]+c pi }. Jos arvo v[i] muuttuu niin aseta 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 3 1 1 3 3 2 0 3 2 6 9 2 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] = 1 eli 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 s.t. (i,j) E i (i,l) E c ij x ij x il j (l,j) E x lj = x ij 0, (i,j) E. 1, kun l = k 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, Helsingistä Kuopioon ja Joensuuhun sekä Kuopiosta Joensuuhun. Näin valitsemalla sekä sijoittamalla graafin nuolijoukko E, painot c ij ja aloitussolmu s = 1 yhdessä lopetussolmun k = 5 (1) 2

kanssa optimointitehtävään (1), saadaan optimointitehtävä 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 (2) 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. Tehtävän (2) duaali on joka saadaan muotoon max v k v s s.t. v j v i c ij, (i,j) E, 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 v i R, i = 1,2,3,4,5 sijoittamalla s, k ja E. 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. Du- 3

aalissa 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 R, i = 1,2,3,4,5. (3) Ratkaistaan duaalitehtävä (3) CPLEXillä, jolloin vastaukseksi tulee v 1 = 0, v 2 = 3, v 3 = 2, v 4 = 6 ja v 5 = 8. CPLEX antaa myös duaalitehtävän duaalin, eli primaalitehtävän (2) ratkaisun. Primalitehtävän ratkaisuksi saadaan x 13 = x 34 = x 45 = 1. Kohdefunktion arvo on 8, joka on myös duaalitehtävän optimaalinen kohdefunktion arvo. Kyseessä on reitti Turku Helsinki Kuopio Joensuu ja sen pituus on 8 h. Tehtävä 3 Lasketaan Floyd Warshall-algoritmilla Tehtävän 1 aineistoa käyttäen nopeimmat reitit kaupunkien välille ja selvitetään jälleen lyhin reitti Turusta Joensuuhun. 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 kaavalla v t [k,l] = min {v t 1 [k,l], v t 1 [k,t]+v t 1 [t,l]}. Mikäli v t [k,l] < v t 1 [k,l], niin aseta d[k,l] d[t,l]. Seuraavissa taulukoissa on listattu lyhimpien reittien pituudet v t [k,l] kunkin kierroksen t jälkeen. Edellisestä kierroksesta muuttuneet arvot on rengastettu. 4

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 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 3 5 4 5 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 3 5 4 5 Nopein reitti Turusta Joensuuhun on nytkin 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 pituus on 8 h. Tehtävä 4 Tulostimen ostohinta on 100 euroa. Käyttökustannukset vuosina 1 5 ovat 50, 100,, 200 ja 300 euroa. Olkoon solmu i päätöstilanne vuoden i alussa. Piirretään graafi, jossa on solmut 1, 2, 3, 4, 5 ja 6. Nuolten painoiksi asetetaan c i,i+1 = 100+50 = c i,i+2 = 100+50+100 = 250 c i,i+3 = 100+50+100+ = 400 c i,i+4 = 100+50+100++200 = 600 c i,i+5 = 100+50+100++200+300 = 900. Tehtävänä on etsiä lyhin reitti solmusta 1 solmuun 6. 600 600 250 250 250 250 1 2 3 4 5 6 400 400 400 900 Kuva 2: Tehtävän 4 graafi 6

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 7 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. Algoritmi 1.17 määritellään kaavoilla v[s] 0 v[p] = min i d[p] l. Algoritmia käyttäen saadaan: v[i] v[1] = 0 {v[i]+c ip (i,p) E} = v[l]+c lp v[2] = d[2] = 1 v[3] = min {250,+} = 250 d[3] = 1 v[4] = min {400,250+,+250} = 400 d[4] = 1,2 tai 3 v[5] = min {600,+400,250+250,400+} = 500 d[5] = 3 v[6] = min {900,+600,250+400,400+250,500+} = 650 d[6] = 3,4 tai 5 Ossi Opiskelijan kannattaa ostaa uusi tulostin jollain seuraavista tavoista ensimmäisen, toisen ja neljännen vuoden alussa ensimmäisen ja kolmannen vuoden alussa ensimmäisen, kolmannen ja neljännen vuoden alussa ensimmäisen, kolmannen ja viidennen vuoden alussa ensimmäisen ja neljännen vuoden alussa d[i] 7