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

Samankaltaiset tiedostot
Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi

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

Luento 4: Lineaarisen tehtävän duaali

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Mat Lineaarinen ohjelmointi

Malliratkaisut Demot

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

Demo 1: Simplex-menetelmä

Malliratkaisut Demot

Lineaarinen optimointitehtävä

Malliratkaisut Demot

Luento 3: Simplex-menetelmä

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

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

Piiri K 1 K 2 K 3 K 4 R R

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

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Mat Lineaarinen ohjelmointi

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!

Harjoitus 3 ( )

Malliratkaisut Demot 6,

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

Harjoitus 3 ( )

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

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

Harjoitus 6 ( )

Malliratkaisut Demot

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

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

Demo 1: Branch & Bound

3 Simplex-menetelmä. c T x = min! Ax = b (x R n ) (3.1) x 0. Tarvittaessa sarakkeiden järjestystä voidaan vaihtaa, joten voidaan oletetaan, että

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

Malliratkaisut Demot

Harjoitus 6 ( )

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Malliratkaisut Demot

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

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

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

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

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

Harjoitus 1 ( )

Malliratkaisut Demot 5,

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

Lineaarinen optimointitehtävä

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Lineaariset yhtälöryhmät ja matriisit

Harjoitus 1 ( )

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

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

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Harjoitus 5 ( )

Malliratkaisut Demot

Lineaarinen yhtälöryhmä

T : Max-flow / min-cut -ongelmat

Mat Lineaarinen ohjelmointi

5 Lineaariset yhtälöryhmät

2.5. Matriisin avaruudet ja tunnusluvut

Johdatus verkkoteoriaan luento Netspace

Malliratkaisut Demot

Ennakkotehtävän ratkaisu

Vektoreiden virittämä aliavaruus

Ratkaisuehdotukset LH 7 / vko 47

Harjoitus 7: vastausvihjeet

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Kokonaislukuoptimointi

Gaussin ja Jordanin eliminointimenetelmä

Insinöörimatematiikka D

Malliratkaisut Demo 4

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

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

Käänteismatriisin ominaisuuksia

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

Numeeriset menetelmät

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

Harjoitus 5 ( )

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

b 1. b m ) + ( 2b Ax) + (b b)

Luento 7: Kokonaislukuoptimointi

Käänteismatriisi 1 / 14

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

1 Rajoitettu optimointi I

OPERAATIOANALYYSI ORMS.1020

Mat Dynaaminen optimointi, mallivastaukset, kierros 1

Lineaarialgebra ja matriisilaskenta I

v AB q(t) = q(t) v AB p(t) v B V B ṗ(t) = q(t) v AB Φ(t, τ) = e A(t τ). e A = I + A + A2 2! + A3 = exp(a D (t τ)) (I + A N (t τ)), A N = =

Malliratkaisut Demot

Luento 7: Kokonaislukuoptimointi

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

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

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

Insinöörimatematiikka D

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

1 Rajoittamaton optimointi

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

Harjoitus 4 ( )

Transkriptio:

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 redusoitu kustannus voi poiketa nollasta vain jos muuttujan arvo on nolla. Standardimuotoinen tehtävä on epäkäypä jos ja vain jos sen duaali on epäkäypä tai rajoittamaton. Käytännössä kaikki ratkaisualgoritmit, jotka soveltuvat suurten kokonaislukuoptimointitehtävien ratkomiseen ovat polynomiaikaisia. Oikea johtopäätös ja perustelu (.5 p). Väärä johtopäätös mutta perustelu lähes oikein ( p). Oikea johtopäätös mutta puutteellinen perustelu joka kuitenkin on oikeansuuntainen (0.5 p). Väärin. Kaksi virhettä (toinen riittää): Singulaarisuus vastaa sitä että kaksi tai useampi rajoitussuora on samansuuntaiset, mutta degeneraatioon riittää että riittävän monta suora leikkaa kulmapisteessä. Toiseksi kantamatriisin on määritelmän mukaan oltava kääntyvä, jolloin ehto ei tässä mielessä koskaan toteudu. Oikein. Seuraa suoraan täydentyvyysehdosta, jonka mukaan (c j p A j )x j = 0. (c) Väärin. Jos duaali on epäkäypä tai rajoittamaton voi primaali olla myös rajoittamaton. Voidaan lukea taulukosta jossa mahdolliset ja mahdottomat primaali-duaali-parit (seurausta heikosta ja vahvasta duaalisuudesta). (d) Väärin. Käytetään myös eksponentiaaliaikaisia algoritmeja ja toisaalta heuristisia menetelmiä, joille ei voida taata mitään ylärajaa optimin löytämiseen vaadittavalta laskentamäärälle. Tehtävä Viidestä vaihtoehdosta halutaan toteuttaa mahdollisimman monta seuraavien rajoitusten vallitessa: Vaihtoehtoa ei voi toteuttaa ellei vaihtoehtoa tai 3 ole toteutettu. Vähintään mutta enintään vaihtoehdoista -5 toteutetaan. Vaihtoehto 5 voidaan toteuttaa vain jos vaihtoehtoa ei ole toteutettu, paitsi jos vaihtoehdot 3 ja 4 on toteutettu. Formuloi ongelma lineaarisen kokonaislukuoptimoinnin tehtävänä. Olkoon matriisi A R n m, vektorit b R n ja c R m, c 0 sekä päätösvektori x R m. Formuloi (jatkuvana) lineaarisen ohjelmoinnin tehtävänä Vastaus min m c j x j s.e. Ax b. j= Sivu / 8

5..0 Päätösmuuttuja x i = jos vaihtoehto i valitaan, muulloin 0. M on suuri luku ja y binäärinen indikaattorimuuttuja tai-ehdolle. (0.5 p) 5 max x i (0.5 p) i= s.e. x x + x 3 (0.5 p) 5 (0.5 p) i= x 5 x + My(0.5 p) x 3 + x 4 M( y)(0.5 p) x i, y {0, } Tehtävän voi ratkaista kahdella tavalla josta arvostellaan formulaatio ( p) ja sen selitys ( p). Havaitaan että x i on pienin luku z j jolle pätee x i z i ja x i z i. Tällöin tehtävän min s.e. m c j z j j= Ax b x j z j, j =,..., n x j z j, j =,..., n optimissa z j = x j, kun c j 0 j, sillä formulaatiossa kannattaa aina pienentää muuttujan arvoa mikäli sillä on ylijäämää. Tehtävän voi myös formuloida jakamalla muuttujat positiiviseen ja negatiiviseen osaan: x j = x + j x j, x+ j, x j 0. Tällöin tehtävän min s.e. m c j (x + j + x j ) j= x + j, x j Ax b x j = x + j x j j =,..., n 0, j =,..., n optimissa x + j + x j = x j, sillä tasan toinen muuttujista x + j ja x j poikkaa nollasta kun c j 0 j, koska jälleen kannattaa aina ylijäämän pienentäminen. Tehtävä 3 Tarkastellaan tehtävää min 3x + 0x + 6x 3 s.e. con: 5x + x + 3x 3 = 8 con: 3x + x = 3 x, x, x 3 0. () Sivu / 8

5..0 Muodosta tehtävän Simplex-taulukko, kun kannassa ovat muuttujat x ja x 3. Mitä Simplex-taulukosta löytyy? Anna taulukon osille geometrinen tulkinta. (c) Ratkaise tehtävä Simplex-algoritmilla alkaen muodostamastasi taulukosta. (d) Muodosta tehtävän duaali ja piirrä Simplex-algoritmin kulku duaaliavaruuteen. Vastaus Tehtävä on valmiiksi standardimuodossa ja tehdään muutama alkeisrivioperaatio Simplex-taulukon luomiseksi. Vähennetään puolittain con con:stä, jolloin saadaan x + 3x 3 = 5 3 x + x 3 = 5 3. Asettamalla x = 0 (ei kantamuuttuja) voidaan tehtävästä min 3x + 0x + 6x 3 s.e. 3x + x = 3 3 x + x 3 = 5 3 x, x, x 3 0. (c) (d) lukea kantamuuttujien arvot ja kohdefunktion arvoksi laskea 3 0+6 5 3 = 40. Vähentämällä kohdefunktiosta 0 kertaa rajoite ja ja 6 kertaa rajoite saadaan kohdefunktion riville 3 3 0 3 6 =. Simplex-taulukoksi saadaan siis 40 0 0 x = 3 3 0 (.5p) x 3 = 5 3 3 0 Taulukosta löytyy -(kohdefunktion arvo) Redusoidut kustannukset (.5p) Kantamuuttujien arvot Kantasuunnat Kantasuunnat kertovat mihin suuntaan siirrytään jotta yhtälörajoitteet toteutuvat kun ei-kantamuuttuja tuodaan kantaan (0.5 p). Redusoidut kustannukset kertovat kuinka paljon kohdefunktion arvon muuttuu jos kyseiseen kantasuuntaan liikutan siten että kyseinen muuttuja kasvaa yhden yksikön (0.5 p). Ratkaisu ei ole optimaalinen sillä muuttujan x redusoitu kustannus on negatiivinen. Otetaan se kantaan, jolloin muuttuja x poistuu kannasta kun askelpituus on. Seuraavaksi taulukoksi saadaan 9 0 7 0 x = 3 0 x 3 = 0 9 Taulukko on optimaalinen sillä kaikki redusoidut kustannukset ovat positiivisia. Optimissa x = (, 0, ) ja optimaalinen kustannus on 9. (.5 p) Tehtävän duaali on max 8p + 3p s.e. 5p + 3p 3 p + p 0 3p 6 (0.5 p) Sivu 3 / 8

5..0 Algoritmin kulku saadaan täydentyvyysehdoista: aloituspisteessä aktiivisena duaalin. ja 3. rajoitus, optimissa taas. ja 3. rajoitus (0.5 p). Oheiseen kuvaan on piirretty algoritmin kulku (0.5 p). p p + p = 0 3p = 6 Aloituspiste 5p + 3p = 3 Duaalikäypä alue Optimi p Tehtävä 4 Jatketaan tehtävän 3 lineaarisen ohjelman () tarkastelua. Taulukossa on tehtävän herkkyysanalyysiraportti. Vastaa raportin avulla (ratkaisematta tehtävää uudelleen) seuraaviin kysymyksiin: (c) (d) Vastaus Kuinka paljon muuttujan x kustannus saa muuttua ennen kuin se tulee kantaan? Entä muuttujan x 3 kustannus? Kumpi on kannattavampaa: (i) vähentää rajoitteen con oikeaa puolta yksikköä jos siitä joutuu maksamaan 3 yksikköä vai (ii) lisätä rajoitteen con oikeaa puolta yksikköä jos kustannuksista tällöin saa vähentää 6 yksikköä? Tehtävään lisätään epänegatiivinen muuttuja x 4 ja sitä vastaava yksikkökustannus c 4 = ja rajoitusmatriisin sarake A 4 = (7, 6). Muuttuuko optimaalinen kanta? Oletetaan että tehtävään lisätään epäyhtälörajoite, jonka seurauksena optimaalinen kanta muuttuu. Miten voidaan alkuperäisen tehtävän optimaalista Simplex-taulukkoa hyödyntää duaalisimplex-algoritmin alustamisessa? Muuttujan x kerroin saa vaihdella välillä [3, ] (obj coef range) ennen kuin se tulee kantaan. Kun kustannus on alle kolmen tulee muuttuja kantaan. Muuttuja x 3 on kannassa kun kustannus on välillä [ 5.5, ], eli muuttuja poistuu kannasta jos kustannus on alle -5.5. (toinen oikein p, molemmat oikein.5 p) Sivu 4 / 8

5..0 con varjokustannus (marginal) on p = ja con varjokustannus on p =. Näin ollen vaihtoehdon (i) kustannusvaikutus on p ( ) + 3 = (muutos pysyy sallituissa rajoissa). Vaihtoehdolle (ii) muutos ylittää suurimman sallitun eli kanta vaihtuu kohdalla 4.8, mutta varjokustannuksen avulla saadaan alaraja hyödylle, eli p (4.8 3) 6 = 4.. Näin ollen vaihtoehto (ii) on parempi sillä se antaa pienemmän kustannuksen (olettaen että se johtaa käypään ratkaisuun, mikä tässä tapauksessa pitää paikkansa). (.5 p) (c) Uuden muuttujan lisääminen ei vaikuta käypyyteen mutta vaikuttaa optimaalisuuteen = duaalikäypyyteen, jolloin käytetään kaavaa p T A 4 c 4 7 + ( 6) = 8, eli duaalikäypyys ei säily ja ratkaisu ei ole enää optimaalinen. (.5 p) (d) Optimaaliseen Simplex-taulukkoon tarvitsee vain täydentää rivi uutta rajoitetta ja sarake uutta ylijäämämuuttujaa varten, jotta saadaan duaalikäypä aloitusratkaisu, sillä duaalikäypyys säilyy, vaikka primaalikäypyys menetetään. (.5 p) Tehtävä 5 Tarkasteellaan kuvan kapasiteettirajoituksetonta verkkotehtävää, missä jokaisen kaaren viereen on merkitty kaarikustannus ja kaksoisnuolilla on merkitty lähteiden ja nielujen kapasiteetit. Katkoviivalla on verkkoon merkitty virityspuu. Muodosta ongelmasta standardimuotoinen lineaarisen ohjelmoinnin tehtävä. Ratkaise tehtävä verkkosimplexillä alkaen merkitystä virityspuusta. 0 3 0 3 5 3 8 0 6 4 6 4 7 5 Vastaus Kuva : Verkkotehtävä Tehtävän voi ratkaista kahdella tavalla, joista ensimmäinen lienee yksinkertaisempi: olkoon f ij 0 kaaren (i, j) virtaus, jolloin solmujen divergenssiehtojen Sivu 5 / 8

5..0 ja kohdefunktion seurauksena formulaatio on min 3f + f 3 + f 36 + f 4 + 4f 74 + f 5 + f 54 + 3f 85 + f 68 + f 76 s.e. f 4 + f f 3 = (Solmu ) f 3 f 5 f = (Solmu ) f 3 f 3 f 36 = (Solmu 3) f 54 + f 74 f 4 = 6 (Solmu 4) f 5 + f 85 f 54 = (Solmu 5) f 36 + f 76 f 68 = 0 (Solmu 6) f 87 f 76 f 74 5 (Solmu 7) f 68 f 87 f 85 = 0 (Solmu 8) f ij 0 (i, j) (0.5 p) Koska kaikki rajoitteet ovat lineaarisia yhtälöitä, kohdefunktio lineaarinen ja muuttujat epänegatiivisa on tehtävä standardimuodossa. Toisessa tavassa määritellään virtausmuuttujat vektorissa f = (f 3, f, f 3, f 36, f 4, f 74, f 5, f 54, f 85, f 68, f 87, f 76 ) ja niitä vastaavat kaarikustannukset vektorissa c=(0,3,0,,,4,,,3,,0,) ja lähteet/nielut vekotrissa b = (,,, 6,, 0, 5, 0). Divergenssimatriisin alkio a ij kertoo että onko solmu i kaaren j alku (a ij = ), loppu (a ij = ), vai ei kumpikaan (a ij = 0). Matriisi on A = i\j 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 Tällöin tehtävä on standardimuodossa min c T f s.e. Af = b f 0. Ratkaisemalla puun virrat saadaan nollasta poikkeaviksi virroiksi f 3 =, f 5 =, f 4 =, f 76 = 0, f 74 = 5, f 85 = 0 ja f 54 = 3. Lasketaan redusoidut kustannukset kaavalla c ij = c kl c kl, (k,l) F (k,l) B missä F ja B sisältävät ne eteenpäin/taaksepäin osoittavat kaaret syklissä, joka muodostuu kun kantaan kuulumaton kaari (i, j) lisätään puuratkaisuun (syklin suunta määräytyy kaaren (i, j) mukaan).. Sivu 6 / 8

5..0 Kaaren (, ) redusoitu kustannus on c = 3 = (sillä muodostuu sykli jossa solmut,,4 ja 5), joka on negatiivinen eli suoritetaan kannanvaihto siten että kaari (, ) tulee kantaan. Kasvatetaan virtaa syklissä kunnes ensimmäinen syklin kaari saa nollavirran. Tässä tapauksessa se on kaari (, 5), joten virtaa voidaan kasvattaa syklissä kaaren (, ) suuntaisesti enintään yksikön verran ennen kuin ratkaisusta tulisi epäkäypä. Teemme siis kannanvaihdon jossa kaari (, ) tulee kantaan kaaren (, 5) tilalle. Nyt kaaren (, 3) redusoitu kustannus on 0 + 0 + 3 > 0 (ei oteta kantaan). Kaaren (3, 6) redusoitu kustannus on +4+ 3 0 > 0 (ei oteta kantaan). Kaaren (6, 8) redusoitu kustannus on + 3 + 4 + > 0 (ei oteta kantaan). Kaaren (8, 7) redusoitu kustannus on 0 + 4 3 < 0, joten tuomme sen kantaan, ja havaitsemme että poistuva kaari on (8, 5). Huomaatkaa että tämä on degeneroitunut kannanvaihto sillä poistuvan kaaren virtaus oli nolla. Nyt voidaan tarkistaa että kaikki redusoidut kustannukset ovat epänegatiivisia eli virtaus on optimaalinen. Sivu 7 / 8

5..0 Taulukko : Herkkyysanalyysiraportti. No. Row name St Activity Slack Lower bound Activity Obj coef Obj value at Limiting Marginal Upper bound range range break point variable ------ ------------ -- ------------- ------------- ------------- ------------- ------------- ------------- ------------ con NS 8.00000. 8.00000 5.00000 -Inf 3.00000 x[3].00000 8.00000 +Inf +Inf +Inf con NS 3.00000. 3.00000. -Inf 6.00000 x[].00000 3.00000 4.80000 +Inf 0.80000 x[3] 3 objective BS 9.00000-9.00000 -Inf 40.00000 -.00000. x[]. +Inf 9.00000 +Inf +Inf No. Column name St Activity Obj coef Lower bound Activity Obj coef Obj value at Limiting Marginal Upper bound range range break point variable ------ ------------ -- ------------- ------------- ------------- ------------- ------------- ------------- ------------ x[3] BS.00000 6.00000..66667-5.50000 -.50000 x[]. +Inf.00000 +Inf +Inf x[] NL. 0.00000. -4.50000 3.00000 -.50000 x[3] 7.00000 +Inf 3.00000 +Inf 40.00000 x[] 3 x[] BS.00000 3.00000..00000 -Inf -Inf. +Inf -Inf 34.00000 40.00000 x[] Sivu 8 / 8