Malliratkaisut Demot

Samankaltaiset tiedostot
Harjoitus 4 ( )

Harjoitus 3 ( )

Harjoitus 3 ( )

Malliratkaisut Demot

Malliratkaisut Demot

Harjoitus 1 ( )

Harjoitus 1 ( )

Johdatus graafiteoriaan

Malliratkaisut Demot

Harjoitus 6 ( )

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

Malliratkaisut Demot

Harjoitus 5 ( )

Malliratkaisut Demot

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

Demo 1: Branch & Bound

Malliratkaisut Demot 6,

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Malliratkaisut Demot

Malliratkaisut Demot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Malliratkaisut Demo 4

v 8 v 9 v 5 C v 3 v 4

Harjoitus 5 ( )

Kokonaislukuoptimointi

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

Optimoinnin sovellukset

13 Lyhimmät painotetut polut

Harjoitus 6 ( )

10. Painotetut graafit

Harjoitus 2 ( )

Malliratkaisut Demo 4

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 1. Luento 13 Ma Timo Männikkö

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl.

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

Demo 1: Simplex-menetelmä

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

10. Painotetut graafit

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 2. Demot Timo Männikkö

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

Algoritmit 1. Luento 13 Ti Timo Männikkö

PARITUS KAKSIJAKOISESSA

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

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

Malliratkaisut Demot

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

Algoritmi on periaatteellisella tasolla seuraava:

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

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

Esimerkkejä kokonaislukuoptimointiongelmista

T : Max-flow / min-cut -ongelmat

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

Harjoitus 2 ( )

Johdatus graafiteoriaan

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

Malliratkaisut Demot

Search space traversal using metaheuristics

Graafin virittävä puu 1 / 20

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

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

Malliratkaisut Demo 1

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

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

Lineaarinen optimointitehtävä

Algoritmit 2. Luento 12 Ke Timo Männikkö

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

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

Kokonaislukuoptimointi hissiryhmän ohjauksessa

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

Totaalisesti unimodulaariset matriisit voidaan osoittaa olevan rakennettavissa oleellisesti verkkomalleihin liittyvistä matriiseista

Malliratkaisut Demot 5,

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

(a) Kyllä. Jokainen lähtöjoukon alkio kuvautuu täsmälleen yhteen maalijoukon alkioon.

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

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

A TIETORAKENTEET JA ALGORITMIT

Kimppu-suodatus-menetelmä

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

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

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

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin

Mat Investointiteoria Laskuharjoitus 4/2008, Ratkaisut

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

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Puzzle-SM Loppukilpailu Oulu

Algoritmit 1. Luento 14 Ke Timo Männikkö

Markov-ketjut pitkällä aikavälillä

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Johdatus graafiteoriaan

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

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

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

ORMS2020 Päätöksenteko epävarmuuden vallitessa Syksy 2010 Harjoitus 3

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

Transkriptio:

Malliratkaisut Demot 4 3.4.017 Tehtävä 1 Tarkastellaan harjoituksen 1 nopeimman reitin ongelmaa ja etsitään sille lyhin virittävä puu käyttämällä kahta eri algoritmia. a) (Primin algoritmi) Lähtemällä solmusta 1 lyhimpään virittävään puuhun saadaan kaaret (1,), (,3), (3,4) ja (4,), jotka vastaavat reittiä 1 3 4. Kyseisen reitin pituus on 6 h. b) (Kruskalin algoritmi) Lyhimpään virittävään puuhun saadaan nyt kaaret (, 3), (4,), (3,4) ja (1,) ja reitti on sama kuin a)-kohdassa. Yllä saatu virittävä puu on piirretty kuvaan 1 graafin päälle paksunnetuilla viivoilla. 1 4 1 4 1 3 4 1 Turku Tampere 3 Hämeenlinna 4 Imatra Jyväskylä Kuva 1: Tehtävän 1 virittävä puu Tampereen ja Hämeenlinnan välinen ajomatka saa hidastua h ilman muutosta lyhimmässä virittävässä puussa. Jos matka hidastuu 3 h, niin saadaan useita virittäviä puita johtuen siitä että kolmella kaarella on sama paino. Kuvassa on esitetty yksi vaihtoehto virittävästä puusta tässä tapauksessa. 1 4 4 4 1 3 4 1 Turku Tampere 3 Hämeenlinna 4 Imatra Jyväskylä Kuva : Tehtävän 1 virittävä puu, kun matka hidastuu 3h 1

Tehtävä Olkoon 1, jos esine i otetaan mukaan x i = 0, muulloin. Tällöin harjoitusten 3 tehtävä 1 voidaan muotoilla selkäreppuongelmaksi seuraavasti: max 40x 1 +1x +0x 3 +10x 4 s.t. 4x 1 +x +3x 3 +x 4 7 x 1,x,x 3,x 4 {0,1}. Laskemalla hyötysuhteet kaavasta h i = c i a i saadaan h 1 = 40 4 = 10 h = 1 = 71 h 3 = 0 3 = 6 3 h 4 = 10 1 = 10. Valitaan sitten mukaan yksitellen esineitä parhaan hyötysuhteen mukaan, jolloin saadaan taulukko esine paino paino 7 hyöty x 1 4 kyllä 40 x 4 kyllä 0 x 7 kyllä 6 x 3 10 ei (8) Esinettä x 3 ei voida enää ottaa mukaan, koska painorajoitus ylittyy. Ratkaisuna on valita esineet x 1, x ja x 4, jolloin saatava hyöty on 6. Jos vaaditaan, että hyödyn on oltava vähintään 70, niin alkuperäisen tehtävän painorajoitus ei enää voi olla voimassa ja optimointitehtävällä ei ole sallittuja ratkaisuja. Jos taas ainoana rajoitteena on että hyödyn on oltava vähintään 70, niin alkuperäinen hyötyä maksimoiva kohdefunktio kasvaisi mahdollisimman suureksi ja tämä tarkoittaa sitä että kaikki tavarat otettaisiin mukaan. Optimointitehtävästä saa mielenkiintoisemman esimerkiksi siten, että hyödyn maksimoinnin sijaan minimoidaan mukaan otettavien esineiden kokonaispainoa. Kun optimointitehtävän kohdefunktiota ja rajoitteita muutetaan yllä kuvatulla tavalla, niin päädytään optimointitehtävään min 4x 1 +x +3x 3 +x 4 s.t. 40x 1 +1x +0x 3 +10x 4 70.

Valitaan aluksi mukaan kaikki esineet, jolloin hyöty on 8 ja paino 10. Sen jälkeen Pudotetaan pois esineitä hyötysuhteen mukaan siten, että ensin pudotetaan esine, jolla on heikoin hyötysuhde. esine hyöty hyöty 70 x 3 6 ei x 70 kyllä Ylläolevasta taulukosta nähdään että vaikka esineellä x 3 on huonoin hyötysuhde sitä ei voida pudottaa, koska rajoite ei tällöin enää toteudu. Jos taas pudotetaan esine x, jolla on toiseksi heikoin hyötysuhde, niin saadaan sallittu ratkaisu. Ratkaisuna on siis valita esineet x 1, x 3 ja x 4, joiden yhteispaino on 8. Tehtävä 3 Muodostetaan ensin maksimivirtausongelma, jossa mahdollisten parien lukumäärä vastaa virtauksen suuruutta. Merkitään miehiä numeroilla,...,6 ja naisia numeroilla 7,...,11. Tapio Lauri Aapo Heikki Vesa Päivi Virpi Laura Sanna Jonna 3 4 6 7 8 9 10 11 Tapio Päivi Lauri Virpi 1 Aapo Laura 1 Heikki Sanna Vesa Jonna Kuva 3: Tehtävän 3 maksimivirtausongelman graafi Piirretään graafi, jossa aloitussolmua merkitään numerolla 1. Aloitussolmusta lähtee nuolet kutakin miestä vastaavaan solmuun. Kunkin miehen solmusta taas lähtee nuolet niiden naisten solmuihin, joiden kanssa kyseiset miehet voivat muodostaa parin. Jokaisen naisen solmusta lähtee lopuksi nuoli lopetussolmuun, jota on merkitty numerolla 1. Koska parit ovat samanarvoisia, asetetaan jokaisen nuolen painoksi c ij = 1. Lisäksi koska kukin 3

mies voi muodostaa parin vain yhden naisen kanssa, asetetaan nuolten kapasiteetiksi u ij = 1. Koska maksimivirtausongelmassa kuhunkin solmuun tuleva virtaus on yhtä suuri kuin lähtevä virtaus (aloitus- ja lopetussolmua lukuun ottamatta), saadaan optimointitehtävä, joka on muotoa max s.t. j (i,j) E j (k,j) E c ij x ij (1) x kj i (i,k) E x ik = 0, k =,3,...,11, () 0 x ij u ij = 1, (i,j) E, (3) missä E on kuvassa 3 esitetyn maksimivirtausongelman graafin nuolijoukko. Tapio Päivi Lauri Virpi 1 Aapo Laura 1 Heikki Sanna Vesa Jonna 1, Kuva 4: Tehtävän 3 minimikustannusvirtausongelman graafi Muutetaan tehtävä minimikustannusvirtausongelmaksi (ohje luentomonisteen sivulla 61) merkitsemällä edellä piirrettyjen nuolten painoiksi 0 ja lisäämällä lopetussolmusta 1 aloitussolmuun 1 menevä nuoli, jonka paino on c 1,1 = 1 ja kapasiteetti u 1,1 =. Tällöin kohdefunktioksi saadaan min x 1,1 = max x 1,1. Maksimoinnin edestä voidaan jättää miinusmerkki pois koska se ei muuta tehtävän optimaalisen ratkaisun muuttujia x ij. Lisäksi rajoite () asetetaan myös aloitus- ja lopetussolmulle (k = 1 ja k = 1), koska nuolen (1, 1) lisäämisestä johtuen ne ovat nyt kautta- 4

kulkusolmuja. Lisättyä nuolta varten tulee myös rajoite x 1,1 0. Näin saatu optimointitehtävä on minimikustannusvirtausongelma, joka on samaa muotoa kuin luentomonisteen sivulla 4 esitetty. Tehtävä 4 Merkitään x ij = ravustajalta i ravintolaan j lähetetty määrä rapuja. Verkosto-ongelmasta saadaan optimointitehtävä min 7x 11 +7x 1 +8x 1 +8x +x 31 +x 3 s.t. x 11 +x 1 300 x 1 +x 300 x 31 +x 3 300 0.7x 11 +0.8x 1 +0.6x 31 30 0.6x 1 +0.8x +0.7x 3 7 x ij 0, jonka ratkaisu CPLEXillä on x 11 = 300 (elävänä perille 10) x 1 = 0 x 1 = 17 (elävänä perille 140) x = 81. (elävänä perille 6) x 31 = 0 x 3 = 300 (elävänä perille 10). Koska 10 + 140 = 30 ja 6 + 10 = 7, niin kumpikin ravintola sai tarvitsemansa määrän rapuja. Kokille tulevat kustannukset ovat 60 euroa. Jos vaaditaan, että toimitettavien rapujen määrät ovat kokonaislukuja (CPLEX: general), toisin sanoen x ij N, niin tehtävän ratkaisuksi saadaan x 11 = 6 (elävänä perille 179.) x 1 = 0 x 1 = 1 (elävänä perille 169.6) x = 83 (elävänä perille 66.4) x 31 = (elävänä perille 1.) x 3 = 98 (elävänä perille 08.6).

Nyt 179.+169.6+1. = 30 ja 66.4+08.6 = 7, joten rapuja on jälleen toimitettu oikea määrä (tarkalleen ottaen tässä pitäsi ottaa huomioon että elävinä toimitettujen rapujen määrät ovat kokonaislukuja). Kokille tulevat kustannukset ovat 6 euroa. Tehtävä Otetaan käyttöön binääriset kokonaislukumuuttujat 1, jos rehua i valmistetaan (eli x i > 0) y i = 0, jos rehua i ei valmisteta (eli x i = 0), missä i = 1,...,8 ja jatkuvat muuttujat x i = lajikkeen i valmistusmäärä missä i = 1,...,8. Muotoillaan sitten tuotannolle asetetut vaatimukset rajoitteiksi. a) Kutakin lajiketta i ei joko valmisteta tai sitten valmistetaan vähintään määrä l i ja enintään määrä u j. Tarvittava ehto on l i y i x i u i y i, i = 1,...,8. b) Jos samanaikaisesti saa valmistaa korkeintaan kuutta eri lajiketta, niin kirjoitetaan ehto y 1 +y +y 3 +y 4 +y +y 6 +y 7 +y 8 6. c) Jos valmistetaan lajiketta 1 tai lajiketta tai molempia, niin tulee valmistaa myös lajikkeita 3 ja 4. Tätä vastaava ehto on joko y 1 +y y 3 y 1 +y y 4 tai y 1 y 3 y 1 y 4 y y 3 y y 4. d) Jos ei valmisteta lajiketta eikä lajiketta 6, niin myöskään lajikkeita 7 ja 8 ei valmisteta. Tällöin tarvitaan ehtoa y +y 6 y 7 y +y 6 y 8. 6