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

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

1. Lineaarinen optimointi

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

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

Demo 1: Simplex-menetelmä

Harjoitus 8: Excel - Optimointi

Aki Taanila LINEAARINEN OPTIMOINTI

Luento 4: Lineaarisen tehtävän duaali

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

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!

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

Lineaarinen optimointitehtävä

Talousmatematiikan perusteet

Malliratkaisut Demot

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

Malliratkaisut Demot

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

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

Lineaaristen monitavoiteoptimointitehtävien

Luento 3: Simplex-menetelmä

Malliratkaisut Demo 1

Talousmatematiikan perusteet: Luento 9

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

Malliratkaisut Demot

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

Mat Lineaarinen ohjelmointi

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

Piiri K 1 K 2 K 3 K 4 R R

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

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

TIEA382 Lineaarinen ja diskreetti optimointi

Johdatus verkkoteoriaan luento Netspace

Operatioanalyysi 2011, Harjoitus 3, viikko 39

Talousmatematiikan perusteet

1 Rajoitettu optimointi I

Talousmatematiikan perusteet: Luento 8. Vektoreista ja matriiseista Vektorien peruslaskutoimitukset Lineaarinen riippumattomuus Vektorien sisätulo

Malliratkaisut Demot

Kimppu-suodatus-menetelmä

Harjoitus 5 ( )

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

12. Hessen matriisi. Ääriarvoteoriaa

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

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Mat Investointiteoria Laskuharjoitus 4/2008, Ratkaisut

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

30A01000 Taulukkolaskenta ja analytiikka Luku 8: Lineaarinen optimointi ja sen sovellukset

OPERAATIOANALYYSI ORMS.1020

Malliratkaisut Demot

Mat Lineaarinen ohjelmointi

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

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

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

Lineaarinen optimointitehtävä

Luento 6: Monitavoiteoptimointi

Harjoitus 4: Matlab - Optimization Toolbox

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

Mat Dynaaminen optimointi, mallivastaukset, kierros 5

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Prof. Marko Terviö Assist. Jan Jääskeläinen

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

Harjoitus 5 ( )

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

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

Luento 6: Monitavoitteinen optimointi

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Malliratkaisut Demot 5,

LP-mallit, L8. Herkkyysanalyysi. Varjohinta. Tietokoneohjelmia. Aiheet. Yleistä, LP-malleista. Esimerkki, Giapetto.

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

2.3. Lausekkeen arvo tasoalueessa

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

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

Luento 9: Yhtälörajoitukset optimoinnissa

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

Malliratkaisut Demot 6,

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

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Luento 7: Kokonaislukuoptimointi

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Esimerkki 1 (Rehun sekoitus) 1

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Malliratkaisut Demo 4

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

Demo 1: Branch & Bound

Mat Lineaarinen ohjelmointi

Käy vastaamassa kyselyyn kurssin pedanet-sivulla (TÄRKEÄ ensi vuotta ajatellen) Kurssin suorittaminen ja arviointi: vähintään 50 tehtävää tehtynä

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

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut

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

73125 MATEMAATTINEN OPTIMOINTITEORIA 2

1 Rajoitettu optimointi II - kustannusfunktio, Lagrangen kertoimet varjohintoina

Lineaarinen yhtälöryhmä

Harjoitus 10: Optimointi II (Matlab / Excel)

2 Osittaisderivaattojen sovelluksia

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

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

Lineaarisen ohjelman määritelmä. Joonas Vanninen

Transkriptio:

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

Esimerkki Esim. Yritys tekee kahta elintarviketeollisuuden käyttämää puolivalmistetta, jotka koostuvat raaka-aineista A, B ja C. Raaka-aineiden osuudet kummassakin tuotteessa sekä raaka-aineiden saatavuus nähdään oheisessa taulukossa. Kuinka paljon yrityksen kannattaa valmistaa kumpaakin tuotetta, kun tuotteen 1 tuotto on 2 /kg ja tuotteen 2 tuotto 3 /kg? Tehtävä voidaan muotoilla seuraavasti: A B C Tuote 1 10% 70% 20% max 2x 1 +3x 2 s.e. 0.1x 1 + 0.55x 2 2500 0.7x 1 + 0.4x 2 3000 0.2x 1 + 0.05x 2 800 x 1, x 2 0 Kohdefunktio Rajoitteet Tuote 2 55% 40% 5% Saatavuus 2500 kg 3000 kg 800 kg Kyseessä on lineaarinen optimointitehtävä, jossa päätösmuuttujien x 1, x 2 suhteen lineaarista kohdefunktiota maksimoidaan lineaaristen rajoitteiden puitteissa 2

Yleinen lineaarinen optimointitehtävä Yleisesti n:n päätösmuuttujan x = x 1,, x n T lineaarinen optimointitehtävä on muotoa: max/min c T x siten, että a T j x b j, j M 1 a T j x b j, j M 2 a T j x = b j, j M 3 x i 0, i N 1 x i 0, i N 2 Pystyvektori c: päätösmuuttujien kertoimet kohdefunktiossa Pystyvektori a j : päätösmuuttujien kertoimet j. rajoitteessa Päätösmuuttujia x i, joiden merkkiä ei ole rajoitettu (eli i N 1, i N 2 ), kutsutaan vapaiksi muuttujiksi Päätösmuuttujavektoria x, joka toteuttaa kaikki rajoitteet, kutsutaan käyväksi ratkaisuksi. Käypää ratkaisua x*, joka optimoi (maksimoi tai minimoi) kohdefunktion, kutsutaan optimiratkaisuksi 3

Graafinen ratkaisu Kahden muuttujan lineaarinen optimointitehtävä voidaan ratkaista graafisesti, esim. max 2x 1 + 3x 2 s.e. 0.1x 1 + 0.55x 2 2500 x 2 4545 0.18x 1 0.7x 1 + 0.4x 2 3000 x 2 7500 1.75x 1 0.2x 1 + 0.05x 2 800 x 2 16000 4x 1 Rajoitteet määrittävät käyvän alueen Kohdefunktion tasa-arvosuorat: c = 2x 1 + 3x 2, c R; esim. 6000 = 2x 1 + 3x 2 x 2 = 2000 2x 1 3 Liu utetaan tasa-arvosuoraa kohdefunktion kasvusuunnassa [2,3] käyvän alueen rajoissa Käypä alue Tasa-arvosuora 6000 = 2x 1 + 3x 2 Tasa-arvosuora 16377 = 2x 1 + 3x 2 Kohdefunktion maksimoiva piste löytyy käyvän alueen kulmapisteestä: x*= 1884, 4203 T, c T x =[2,3] 1884, 4203 T = 16377 4

Presemo-kysymys Päättele kuvan avulla LP-tehtävän ratkaisu. max 8x 1 + 3x 2 s.e. 0.1x 1 + 0.55x 2 2500 0.7x 1 + 0.4x 2 3000 0.2x 1 + 0.05x 2 800 1. x*= 1884, 4203 T 2. x*= 3778, 889 T 3. x*= 4000, 0 T 19.2.2018 5

Lineaarisen optimointitehtävän ratkaisu Lineaarisella optimointitehtävällä on aina joko 0, 1 tai ääretön määrä optimiratkaisuja Optimiratkaisuja on 0, jos 1. Käypä alue on tyhjä tai 2. Tehtävä on rajoittamaton (max c T x tai min c T x ) Ratkaisuja on ääretön määrä, jos tasa-arvosuora on käyvän alueen reunan suuntainen kohdefunktion paranemissuunnassa Jos ratkaisu on olemassa, sellainen löytyy aina käyvän alueen kulmapisteestä myös silloin, kun ratkaisuja on ääretön määrä 6

Lineaarisen optimointitehtävän ratkaisu Tulos voidaan yleistää n-ulotteiseen avaruuteen: Jos lineaarisella optimointitehtävällä on olemassa optimiratkaisu, löytyy sellainen aina käyvän alueen kulmapisteestä. Optimiratkaisu x* voitaisiin siis löytää laskemalla kohdefunktion arvo kaikissa käyvän alueen kulmapisteissä ja valitsemalla näistä paras. Kulmapisteiden määrä kasvaa kuitenkin nopeasti päätösmuuttujien ja rajoitteiden määrän funktiona Lisäksi kulmapisteiden määrittäminen n-ulotteisessa avaruudessa ei ole triviaalia: kulmapiste on aina rajoitteiden leikkauspiste, mutta kaikki rajoitteiden leikkauspisteet eivät ole kulmapisteitä 7

Simplex-algoritmi George Dantzig kehitti v. 1947 nulotteisen lineaarisen optimointitehtävän ratkaisemiseen tehokkaan Simplex-algoritmin Simplexin perusperiaate: Aloita jostakin käyvän alueen kulmapisteestä Etene kulmapisteestä toiseen alueen reunaa pitkin kohdefunktion paranemissuunnan mukaisesti Kun kohdefunktiota parantavia suuntia ei enää löydy, olet optimiratkaisussa. Tämän tarkemmin Simplexiä ei tällä kurssilla käsitellä 8

Lineaarisen optimointitehtävän ratkaisu Excel Solverilla Esim. Yritys tekee kolmea elintarviketeollisuuden käyttämää puolivalmistetta, jotka koostuvat raaka-aineista A, B ja C. Raaka-aineiden osuudet tuotteissa sekä raakaaineiden saatavuus nähdään oheisessa taulukossa. Markkina-asemansa takia yrityksen tulee valmistaa tuotetta 2 vähintään yhtä paljon kuin tuotetta 1. Kuinka paljon yrityksen kannattaa valmistaa kumpaakin tuotetta, kun tuotteen 1 tuotto on 2 /kg, tuotteen 2 tuotto 3 /kg ja tuotteen 3 tuotto 4 /kg? Tehtävä voidaan muotoilla seuraavasti: A B C Tuote 1 10% 70% 20% max 2x 1 +3x 2 + 4x 3 s.e. 0.1x 1 + 0.55x 2 + 0.8x 3 2500 0.7x 1 + 0.4x 2 + 0.1x 3 3000 0.2x 1 + 0.05x 2 + 0.1x 3 800 x 1 + x 2 0 x 1, x 2, x 3 0 Kohdefunktio Rajoitteet Tuote 2 55% 40% 5% Tuote 3 80% 10% 10% Saatavuus 2500 kg 3000 kg 800 kg 9

Lineaarisen optimointitehtävän ratkaisu Excel Solverilla 10

Lineaarisen optimointititehtävän ratkaisu Excel Solverilla Syötettyäsi tehtävän Exceliin valitse yläpalkista Data Solver (tai Ratkaisin / Problemlösaren) Kohdefunktio Syötä Solveriin kohdefunktio, päätösmuuttujat ja rajoitteet Päätösmuuttujat Lisää Valitse algoritmiksi Simplex LP (ratkeaa tosin tavallisesti muillakin) Rajoitteet Muuta Poista Muista tarkistaa, onko min/max valittu oikein! Algoritmi Kun olet valmis, paina Solve / Ratkaise / Lös

Lineaarisen optimointitehtävän ratkaisu Excel Solverilla Solver kertoo, jos käypä alue on tyhjä tai tehtävä rajoittamaton Muussa tapauksessa Solver kertoo löytäneensä ratkaisun Voit halutessasi tulostaa raportteja koskien tuloksia, tulosten herkkyyttä ja rajoitteita 12

Lineaarisen optimointitehtävän ratkaisu Excel Solverilla Ratkaisu: Tuotteen 1 määrä x 1 = 2638 kg Tuotteen 2 määrä x 2 = 2638 kg Tuotteen 3 määrä x 3 = 982 kg Tuotto = 17 117 13

Aktiiviset ja epäaktiiviset rajoitteet Ensimmäisessä esimerkissä raakaaineiden A ja B saatavuutta koskevat rajoitukset toteutuvat optimiratkaisussa yhtälöllä, eli ovat aktiivisia A: 0.1x 1 + 0.55x 2 = 2500 B: 0.7x 1 + 0.4x 2 = 3000 Raaka-ainetta C koskeva rajoitus toteutuu (aidolla) epäyhtälöllä, eli on epäaktiivinen C: 0.2x 1 + 0.05x 2 < 800 14

Aktiiviset ja epäaktiiviset rajoitteet Myös toisessa esimerkissä raaka-aineiden A ja B saatavuutta koskevat rajoitukset ovat aktiivisia, kun taas raaka-ainetta C koskeva rajoitus on epäaktiivinen: A: 0.1x 1 + 0.55x 2 + 0.8x 3 = 2500 B: 0.7x 1 + 0.4x 2 + 0.1x 3 = 3000 C: 0.2x 1 + 0.05x 2 + 0.1x 3 < 800 Markkina-asemarajoite toteutuu yhtälöllä, eli on aktiivinen x 1 = x 2 15

Varjohinnat Optimiratkaisussa kullekin rajoitteelle voidaan laskea varjohinta, joka kertoo kuinka paljon kohdefunktio parantuisi, jos rajoitteen side-ehtoa kasvatettaisiin yhdellä yksiköllä eli kuinka paljon päätöksentekijä olisi enintään valmis maksamaan side-ehdon kasvattamisesta yhdellä yksiköllä Esim. Kuinka paljon edellisen kalvon esimerkissä yrityksen tuotto kasvaisi, jos se saisi lisäkilon Raaka-ainetta A? Raaka-ainetta B? Raaka-ainetta C? Entä kuinka paljon yrityksen tuotto kasvaisi, jos se voisi valmistaa tuotetta 2 yhden kilon vähemmän kuin tuotetta 1 (eli markkina-asemarajoitetta löyhennettäisiin)? 16

Varjohinnat Varjohintoja voi tarkastella Solverin Sensitivityraportista (Herkkyys / Känslighet) kohdasta Shadow price Epäaktiivisen rajoituksen varjohinta on aina 0 Ei ole järkeä maksaa lisäresurssista, kun olemassa olevia resurssejakaan ei ole käytetty Aktiivisen rajoituksen varjohinta poikkeaa nollasta Esim. Jos raaka-ainetta A saadaan kilo lisää, tuotto kasvaa 4.8 ; jos viisi kiloa, tuotto kasvaa 23.9 Jos raaka-ainetta B saadaan kilo lisää, tuotto kasvaa 1.7 ; jos viisi kiloa, tuotto kasvaa 8.6 Jos tuotetta 2 voidaan tuottaa yksi kilo vähemmän kuin tuotetta 1, tuotto kasvaa 0.32 ; jos viisi kiloa vähemmän, tuotto kasvaa 1.6 17

Varjohinnan merkki Edellisen kalvon maksimointitehtävässä Edellä raaka-aineiden A ja B saatavuusrajoituksia koskevat varjohinnat olivat positiiviset (=maksimoitava tuotto kasvaa, kun side-ehto kasvaa) side-ehtoa kannattaa kasvattaa Markkina-asemarajoitusta koskeva varjohinta oli negatiivinen (=maksimoitava tuotto vähenee, kun side-ehto kasvaa) side-ehtoa kannattaa pienentää Minimointitehtävässä tulkinta on päinvastainen Positiivinen varjohinta = minimoitava kustannus kasvaa, kun side-ehto kasvaa side-ehtoa kannattaa pienentää Negatiivinen varjohinta = minimoitava kustannus pienenee, kun side-ehto kasvaa side-ehtoa kannattaa kasvattaa 19.2.2018 18

Varjohinnat Jos jotakin rajoitetta löyhennetään kylliksi, ratkaisu saattaa siirtyä toiseen kulmapisteeseen (eli eri rajoitteiden leikkauspisteeseen) Ensimmäisessä esimerkissä: Jos raaka-aineen B saatavuus 3000 kg 3001 kg, tuotto kasvaa 16376.81 16379.13 Raaka-aineen B varjohinta = 2.32 Jos B:tä saadaan 3000 kg:n sijasta 3100 kg, tuotto kasvaa 232 Mutta jos raaka-ainetta B saadaankin 4000 kg kiloa, optimiratkaisu siirtyy eri suoraparin leikkauspisteeseen Tuotto kasvaa 16376.81 18000.00 eli 1623.19 1000 2.32 Tällöin varjohinta ei enää kerro kohdefunktion optimiarvon todellisesta muutoksesta 19

Yhteenveto Lineaarisen optimointitehtävän kohdefunktio ja rajoitteet ovat lineaariset Jos lineaarisella optimointitehtävällä on rajoitettu optimiratkaisu, sellainen löytyy käyvän alueen kulmapisteestä Ratkaisua ei ole, jos käypä alue on tyhjä tai tehtävä on rajoittamaton Kaksiulotteisen tehtävän voi helposti ratkaista graafisesti Useampiulotteisille tehtäville ratkaisu löytyy nopeasti Excel Solverin avulla Rajoitteen varjohinta kertoo, kuinka paljon kohdefunktion arvo muuttuu jos rajoitteen side-ehto kasvaa yhdellä yksiköllä 20