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



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

Mat Lineaarinen ohjelmointi

Luento 4: Lineaarisen tehtävän duaali

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

Mat Lineaarinen ohjelmointi

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

T : Max-flow / min-cut -ongelmat

Malliratkaisut Demot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Demo 1: Branch & Bound

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

Mat Lineaarinen ohjelmointi

Harjoitus 7: vastausvihjeet

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

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi

Harjoitus 3 ( )

Harjoitus 6 ( )

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 ( )

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

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

Harjoitus 6 ( )

Malliratkaisut Demot

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

Malliratkaisut Demot

Johdatus verkkoteoriaan luento Netspace

Optimoinnin sovellukset

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Malliratkaisut Demot 5,

1. Lineaarinen optimointi

Toppila/Kivistö Vastaa kaikkin neljään tehtävään, jotka kukin arvostellaan asteikolla 0-6 pistettä.

Piiri K 1 K 2 K 3 K 4 R R

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

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

Demo 1: Simplex-menetelmä

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

Harjoitus 1 ( )

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

Datatähti 2019 loppu

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

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

Malliratkaisut Demot

Malliratkaisut Demot

Malliratkaisut Demot

1 Rajoitettu optimointi I

Matematiikan peruskurssi 2

Luento 3: Simplex-menetelmä

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

Luento 6: Monitavoitteinen optimointi

LP-mallit, L19. Aiheet. Yleistä, LP-malleista. Esimerkki, Giapetto. Graafisen ratkaisun vaiheet. Optimin olemassaolo

Harjoitus 1 ( )

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

Harjoitus 8: Excel - Optimointi

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

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

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)

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

Malliratkaisut Demot

Luento 5: Peliteoriaa

Kimppu-suodatus-menetelmä

Lineaarinen optimointitehtävä

Demo 1: Lineaarisen tehtävän ratkaiseminen graafisesti ja Solverilla

Luento 7: Kokonaislukuoptimointi

Harjoitus 4: Matlab - Optimization Toolbox

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

Harjoitus 4 ( )

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

Talousmatematiikan perusteet

Luento 6: Monitavoiteoptimointi

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

Kokonaislukuoptiomointi Leikkaustasomenetelmät

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

Malliratkaisut Demot

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

Haitallinen valikoituminen: Kahden tyypin malli

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

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Reiluus. Maxmin-reiluus. Tärkeä näkökohta best effort -tyyppisissä palveluissa. Reiluuden maxmin-määritelmä

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

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

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Johdatus verkkoteoriaan 4. luento

A Lausekkeen 1,1 3 arvo on 1,13 3,3 1,331 B Tilavuus 0,5 m 3 on sama kuin 50 l 500 l l C Luvuista 2 3, 6 7

Luento 5: Peliteoriaa

Malliratkaisut Demo 1

1. Etsi seuraavien funktioiden kriittiset pisteet ja tutki niiden laatu: (a.) f(x,y) = 20x 2 +10xy +5y 2 (b.) f(x,y) = 4x 2 2y 2 xy +x+2y +100

MAB3 - Harjoitustehtävien ratkaisut:

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Ohjelmoinnin perusteet Y Python

Aki Taanila LINEAARINEN OPTIMOINTI

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo Ratkaisut ja pisteytysohjeet

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Ohjelmoinnin perusteet Y Python

Transkriptio:

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita. Tehtävä 1 Mitä seuraavat käsitteet tarkoittavat? Monitahokas (polyhedron). (1 p) Täydentyvyysehdot (complementary slackness conditions). (1 p) (c) Simplex-algoritmin eksponentiaaliaikaisuus. (1 p) Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi. (d) (e) Varjohinta (shadow price) kertoo kohdefunktion muutoksen kun sitä vastaavan muuttujan kerrointa kohdefunktiossa muutetaan yksi yksikkö. (1.5 p) Verkkotehtävän käypä puuratkaisu (feasible tree solution) voi olla degeneroitunut. (1.5 p) Vastaukset (c) (d) (e) Monitahokas on joukko, joka voidaan esittää äärellisellä määrällä lineaarisia epäyhtälörajoituksia. Täydentyvyysehdot ovat joukko optimaalisuusehtoja primaali- ja duaaliavaruuden käyville pisteille. Simplex-algoritmin eksponentiaaliaikaisuudella tarkoitetaan sitä, että kun algoritmi käy läpi käyvän alueen kulmapisteitä, voi näiden kulmapisteiden määrä kasvaa eksponentiaalisesti tehtävän dimension tai rajoitteiden määrän kasvaessa, jolloin pahin mahdollinen ratkaisuaikakin kasvaa eksponentiaalisesti. Väärin. Varjohintoja on yhtä monta kuin rajoituksia, jolloin muuttujiin ei mielekkäästi voi liittää varjohintaa. Oikein. Jos puussa on yksikin kaari jossa kulkee nollavirtaus, voi sen korvata millä hyvänsä muulla kannan ulkopuolisella kaarella jonka lisääminen ei muodosta puuhun kiertokulkua. Tehtävä 2 Yritys voi investoida 100 tuhatta euroa kahdessa vaiheessa projektiin, jonka onnistumistodennäköisyys on p, tai obligaatioihin varmalla 7 % korolla. Jos yritys investoi projektiin ensimmäisessä vaiheessa saa se sijoitukselleen 500 % tuoton projektin onnistuessa mutta häviää kaiken projektin epäonnistuessa. Toisessa vaiheessa projektin onnistuminen on selvinnyt ja sijoitukselle saa 10 % tuoton jos projekti on onnistunut, muulloin projektiin ei voi investoida ja pääomalle tulee nollatuotto. Yrityksen riskirajoitukset määräävät että ensimmäisessä vaiheessa projektiin ei saa investoida yli 3 kertaa enempää kuin toisessa vaiheessa. Yritys pyrkii maksimoimaan odotusarvoisen tuottonsa ja on päätynyt seuraavaan optimointimalliin: Olkoon x 1 ja x 2 investoinnit vaiheessa 1 ja 2 ja x 3 investointi obligaatioihin. Tällöin maksimaalisen odotusarvon tuottaa strategia joka on ratkaisu ongelmalle max p (6x 1 + 1.1x 2 ) + (1 p) x 2 + 1.07x 3 s.e. x 1 + x 2 + x 3 = 100 Budjetti x 1 3x 2 x 1, x 2, x 3 0. Riskirajoitus Sivu 1 / 6

Yritys haluaa sinun toteuttavan herkkyyanalyysin parametrisella ohjelmoinnilla todennäköisydelle p: Muodosta tehtävälle Simplex-taulukko haluamallasi kannalla. (2 p) Sovella parametrista ohjelmointia todennäköisyyden 0 p 1 suhteen. (3 p) (c) Määritä optimaalinen kohdefunktion arvo p:n funktiona. (1 p) Vastaukset Tehtävä on standardimuodossa min 6px 1 + ( 1 + 0.1p)x 2 1.07x 3 s.e. x 1 + x 2 + x 3 = 100 x 1 3x 2 + x = 0 x 1, x 2, x 3, x 0. Valitaan aloituskantaan x 3 ja x, jolloin saadan taulukoksi 107 (1.07 6p) (0.07 + 0.1p) 0 0 x 3 = 100 1 1 1 0 x = 0 1 3 0 1 Taulukko on optimaalinen jos 1.07 6p 0 p 1.07/6 0.1783 ja 0.07 + 0.1p 0 p 0.07/0.1 = 0.7, eli kun 0 p 1.07/6 (todennäköisyydet positiivisia). Muulloin muuttujan x 1 redusoitu kustannus on negatiivinen ja se tulee kantaan ja muuttuja x poistuu kannasta. Optimaalinen askelpituus on nolla. 107 0 17.9p + 3.28 0 6p 1.07 x 3 = 100 0 1 1 x 1 = 0 1 3 0 1 Taulukko on optimaalinen jos p 1.07/6 0.1783 ja 17.9 + 3.28p 0 p 3.28/17.9 0.1832, eli kun 1.07/6 p 3.28/17.9. Muulloin muuttujan x 2 redusoitu kustannus on negatiivinen ja se tulee kantaan ja muuttuja x 3 poistuu kannasta. Optimaalinen askelpituus on 25. (c) 25 + 7.5p 0 0.75p 0.82 1.525p 0.25 1 x 2 = 25 0 1 1 3 1 x 1 = 75 1 0 Tämä taulukko on optimaalinen kun p 0.82/.75 0.1832 ja p 0.25/1.525 0.1639 eli kun p 0.82/.75. Nyt kaikki p:n arvot on katettu. Kohdefunktion f arvo määräytyy kaavalla { 107, 0 p 16/895 0.1832 f(p) = 25 + 7.5p, 16/895 < p 1 Tehtävä 3 Kuntoilija suunnittelee ruoka-aineita aterioihinsa siten, että hän saa tietyn määrän kutakin ravinnetta mahdollisimman halvalla. Oheisessa taulukossa on ruoka-aineiden ravinnepitoisuudet (g/kg) ja hinnat (EUR/kg) sekä ravinteiden tavoitemäärät (g). Sivu 2 / 6

(c) Vihannekset Liha Vilja Tavoitemäärä Hinta 3 6 2 Proteiini 100 00 50 100 Hiilihydraatti 300 200 600 200 Muodosta ongelmasta lineaarisen ohjelmoinnin tehtävä ja sen duaali. Selitä yksityiskohtaisesti miten saamasi duaalitehtävä voidaan tulkita ravinnemyyjän hinnoitteluongelmana? (luennolla nk. Dieetti-ongelma) Ratkaise duaalitehtävä graafisesti ja laske duaalin ratkaisun perusteella primaalin ratkaisu. Vastaukset Olkoon x 1, x 2, x 3 ostettujen vihannesten, lihan ja viljan määrät (kg). Tällöin ongelma on min 3x 1 + 6x 2 + 2x 3 s.e. 100x 1 + 00x 2 + 50x 3 = 100 ja sen duaali on 300x 1 + 200x 2 + 600x 3 = 200 x 1, x 2, x 3 0, max 100p 1 + 200p 2 s.e. 100p 1 + 300p 2 3 00p 1 + 200p 2 6 50p 1 + 600p 2 2. Ravinnemyyjä määrittää proteiinin ja hiilihydraatin optimaaliset hinnat p 1 ja p 2 (EUR/g) tietäen että asiakas tarvitsee 100 g proteiinia ja 200 g hiilihydraattia. Hän maksimoi tuottonsa 100p 1 + 200p 2, mutta jotta asiakas ei ostaisi ravinteita vihannesten, lihan ja viljan muodossa pitää hänen varmistua siitä että ruoka-aineiden sisältämät ravinteet eivät ole edullisempia kuin ravinteina ostettuna. Esimerkiksi vihanneskilon sisältämä proteiinin ja hiilidydraattien kilohinta ravinnemyyjältä ostettuna on 100p 1 + 200p 2, mikä ei saa ylittää vihannesten kilohintaa, joka on 3. (c) Oheisen kuvaajan perusteella optimissa duaalin 2. ja 3. rajoitus aktiivisia, joten yhtälöpari 00p 1 + 200p 2 = 6 ja 50p 1 + 600p 2 = 2 antaa optimaalisen ratkaisun, joka on p 1 = 8/575 ja p 2 = 1/60 (EUR/g). Täydentyvyysehtojen perusteella primaalin ratkaisussa x 1 ei voi olla kannassa, sillä sitä vastaava rajoitus ei ole aktiivinen, joten primaalin ratkaisu saadaan yhtälöparista 00x 2 +50x 3 = 100 ja 200x 2 +600x 3 = 200, eli x 1 = 0, x 2 = 5/23 ja x 3 = 6/23. Sivu 3 / 6

p 2 00p 1 + 200p 2 = 6 d = (100, 200) 100p 1 + 300p 2 = 3 50p 1 + 600p 2 = 2 Duaalikäypä alue p 1 Tehtävä Oheiseen kapasiteettirajoitettuun kuljetusverkkoon (ks. kuva 1) halutaan mahdollisimman suuri virtaus solmusta s solmuun t. Verkkoon on merkitty kapasiteettien lisäksi yksi käypä virtaus. Vastaus Muodosta ongelmasta yleinen kapasiteettirajoitettu verkkovirtaustehtävä. Esitä maksimivirtaustehtävälle yksi iteraatio Ford-Fulkersonin-algoritmilla, jossa täydentävä polku etsitään nimikealgoritmilla, lähtien merkitystä virtauksesta. Terminoituuko algoritmi yhden iteraation jälkeen? s 1/7 1 1/1 3 2/ 3/8 / 2/ 2 2/2 Kuva 1: Maksimivirtaustehtävä. Lisätään verkkoon kaari (t, s) jonka kustannus on 1 ja kapasiteetti on. Tällöin tehtävä on min f ts s.e. f ts + f s1 + f s2 = 0 missä u ij on kaaren (i, j) kapasiteetti. f s1 f 12 f 13 f 1 = 0 f s2 + f 12 f 23 f 2 = 0 f 13 + f 23 + f 3 f 3t = 0 f 1 + f 2 f 3 f t = 0 f 3t + f t f ts = 0 0 f ij u ij, t Sivu / 6

Etsitään täydentävää polkua nimikealgoritmilla: 1. I = {s}, poistetaan s, tutkitaan (s, 1) lisätään 1 ja (s, 2) ei toimenpiteitä. 2. I = {1}, poistetaan 1, tutkitaan (1, 3) ei toimenpiteitä, (1, 2) lisätään 2 ja (1, ) lisätään. 3. I = {2, }, poistetaan, tutkitaan (, 3) lisätään 3, (, t) lisätään t.. I = {2, 3, t}. Koska t I, algoritmi päättyy. Täydentävä polku on (s, 1,, t). Pusketaan nimigealgoritmin löytämää polkua pitkin virtaa suurin mahdollinen määrä eli 2 yksikköä, jollon tilanne on oheisen kuvaajan mukainen. 1/1 1 3 3/7 3/8 2/ s / 2 2/2 2/2 / Ford-Fulkersonin algoritimi terminoituu jos täydentävää polkua ei löydy tai löytyy täydentävä polku jota pitkin voidaan kasvattaa rajatta virtausta. Etsitään täydentävää polkua jälleen nimikealgoritmilla: 1. I = {s}, poistetaan s, tutkitaan (s, 1) lisätään 1 ja (s, 2) ei toimenpiteitä. 2. I = {1}, poistetaan 1, tutkitaan (1, 3) ei toimenpiteitä, (1, 2) lisätään 2 ja (1, ) ei toimenpiteitä. 3. I = {2}, poistetaan 2, tutkitaan (2, 3) lisätään 3, (2, ) ei toimenpiteitä.. I = {3}, poistetaan 3, tutkitaan (, 3) lisätään, (3, t) lisätään t. 5. I = {, t}. Koska t I, algoritmi päättyy. Täydentävä polku on (s, 1, 2, 3, t). Koska täydentävä polku löytyy ja tätä polkua pitkin voidaan työntää vain rajallinen määrä virtausta, ei algoritmi terminoidu. t Tehtävä 5 Tarkastellaan kokonaislukutehtävää min x n+1 s.e. 2x 1 + 2x 2 +..., 2x n + x n+1 = n x i {0, 1} i = 1,..., n + 1. Näytä että mikä hyvänsä Branch&Bound-menetelmä, joka käyttää LP-relaksaatiota tehtävän alarajan laskemiseen ja jakaa osatehtävät asettamalla murtolukuarvoiset muuttujat joko arvoon 1 tai 0 vaatii eksponentiaalisen määrän osatehtäviä, kun n on pariton. Vastaus Olkoon n = 2k + 1 ja oletetaan että tehtävän LP-relaksaation ratkaisu on aina käypä kantaratkaisu. Ensimmäisen LP-relaksaatio antaa x n+1 = 0 ja tasan yksi jäljellä olevista muuttujista on 1 2 (tämä siksi että 2 n i=1 x i = 2k + 1, joten kaikki Sivu 5 / 6

x i, i = 1,..., n eivät voi olla 0 tai 1). Olkoon siis että muuttuja x 1 = 1 2. Tällöin asetetaan että joko x 1 = 0 tai x 1 = 1, joita vastaavat seuraavat rajoitukset ja 2x 2 +... + 2x n + x n+1 = 2k + 1 2x 2 +... + 2x n + x n+1 = 2k 1. Koska kummallakin lisärajoituksilla saadaan LP-relaksaation optimikustannukseksi jälleen x n+1 = 0, ja tilanne on vastaava kuin alussa, voidaan todistusta jatkaa induktiivisesti. Tämä tarkoitttaa sitä että jokaisen muuttujan kohdalla on tehtävä jaettava kahteen osaan, joten ainakin 2 k LP-relaksaatiota on ratkaistava ennen kuin alkuperäisen tehtävän optimi löytyy. Näin ollen Branch & Bound tarvitsee eksponentiaalisen määrän aikaa tehtävän ratkaisemiseen. Sivu 6 / 6