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

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

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

Harjoitus 8: Excel - Optimointi

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

Demo 1: Simplex-menetelmä

1. Lineaarinen optimointi

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

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

Aki Taanila LINEAARINEN OPTIMOINTI

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

Malliratkaisut Demot

Luento 4: Lineaarisen tehtävän duaali

Lineaaristen monitavoiteoptimointitehtävien

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!

Malliratkaisut Demot

Lineaarinen optimointitehtävä

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

Malliratkaisut Demot

Talousmatematiikan perusteet

Luento 3: Simplex-menetelmä

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

TIEA382 Lineaarinen ja diskreetti optimointi

Malliratkaisut Demo 1

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

Harjoitus 5 ( )

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

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

Piiri K 1 K 2 K 3 K 4 R R

Malliratkaisut Demot

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

Talousmatematiikan perusteet

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Mat Lineaarinen ohjelmointi

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

Lineaarinen optimointitehtävä

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

1 Rajoitettu optimointi I

Talousmatematiikan perusteet: Luento 9

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

Harjoitus 5 ( )

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

OPERAATIOANALYYSI ORMS.1020

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

Malliratkaisut Demot

Malliratkaisut Demo 4

Operatioanalyysi 2011, Harjoitus 3, viikko 39

Johdatus verkkoteoriaan luento Netspace

Harjoitus 4: Matlab - Optimization Toolbox

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

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

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Mat Lineaarinen ohjelmointi

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

12. Hessen matriisi. Ääriarvoteoriaa

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

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

Luento 6: Monitavoitteinen optimointi

Luento 7: Kokonaislukuoptimointi

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Kimppu-suodatus-menetelmä

Luento 6: Monitavoiteoptimointi

Mat Investointiteoria Laskuharjoitus 4/2008, Ratkaisut

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

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

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

Demo 1: Branch & Bound

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

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

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Luento 9: Yhtälörajoitukset optimoinnissa

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

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

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

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

Harjoitus 6 ( )

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

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

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

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

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

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

Luento 7: Kokonaislukuoptimointi

Harjoitus 10: Optimointi II (Matlab / Excel)

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

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

Malliratkaisut Demot

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

Malliratkaisut Demo 4

2.3. Lausekkeen arvo tasoalueessa

Esimerkki 1 (Rehun sekoitus) 1

Malliratkaisut Demot 5,

Mat Lineaarinen ohjelmointi

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

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Lineaarinen yhtälöryhmä

Demo 1: Excelin Solver -liitännäinen

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö.

Harjoitus 3 ( )

Transkriptio:

Talousmatematiikan perusteet: Luento 11 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

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 kasvusuunnassa Jos ratkaisu on olemassa, sellainen löytyy aina käyvän alueen kulmapisteestä myös silloin, kun ratkaisuja on ääretön määrä 5

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ä 6

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

Lineaarisen optimointitehtävän ratkaiseminen Excel Solverilla Esim. Yritys valmistaa puolivalmistetuotteita 1 ja 2, joiden jälleenmyyntihinnat ovat 10 /kg ja 15 /kg. Tuotteita tehdään raaka-aineista D, E ja F kahta eri prosessia hyödyntäen: Prosessi 1 Prosessi 2 D 3 2 E 3 6 F 1 4 Tuote 1 2 7 Tuote 2 4 5 Kustannus 54 72 Raaka-aineiden saatavuus on 2500 kg (D), 3000 kg (E) ja 1000 kg (F). Miten raakaainevarannot kannattaa jakaa tuotantoprosessien kesken, jotta tuotto maksimoituisi? 8

Lineaarisen optimointitehtävän ratkaiseminen Excel Solverilla Käytetään seuraavia päätösmuuttujia: x 11 : Prosessilla 1 valmistettu määrä tuotetta 1 (kg) x 12 : Prosessilla 2 valmistettu määrä tuotetta 1 (kg) x 21 : Prosessilla 1 valmistettu määrä tuotetta 2 (kg) x 22 : Prosessilla 2 valmistettu määrä tuotetta 2 (kg) Näiden tulee toteuttaa prosessisuhteet: x 11 = x 21 2 4 x 12 = x 22 7 5 (Prosessista 1 valmistuu tuotteita 1 ja 2 suhteessa 2:4) (Prosessista 2 valmistuu tuotteita 1 ja 2 suhteessa 7:5) 9

Lineaarisen optimointitehtävän ratkaiseminen Excel Solverilla Määritellään lisäksi apumuuttujat x D1, x D2, x E1, x E2, x F1, x F2 Esim. x D1 : Prosessissa 1 käytetty raaka-aineen D määrä Saatavuusehdoista saadaan rajoitteet: x D1 + x D2 = 3 x 2 11 + 2 x 7 12 2500 (Prosessissa 1 raaka-ainetta D käytetään 3/2 yksikköä ja prosessissa 2 2/7 yksikköä yhtä tuotteen 1 yksikköä kohden) x E1 + x E2 = 3 x 2 11 + 6 x 7 12 3000 (Prosessissa 1 raaka-ainetta E käytetään 3/2 yksikköä ja prosessissa 2 6/7 yksikköä yhtä tuotteen 1 yksikköä kohden) x F1 + x F2 = 1 x 2 11 + 4 x 7 11 1000 (Prosessissa 1 raaka-ainetta F käytetään 1/2 yksikköä ja prosessissa 2 4/7 yksikköä yhtä tuotteen 1 yksikköä kohden) Vastaavia ehtoja ei tarvitse muodostaa tuotteelle 2, koska sen valmistusmäärät toteutuvat samoilla raaka-aineresursseilla kuin tuotteen 1 prosessisuhderajoitteiden määrittämällä tavalla. Yksikkötuotantokustannus c ij prosessilla j valmistetulle tuotteelle i: c 11 = c 21 = 54 6 = 9, c 12 = c 22 = 72 12 = 6 10

Lineaarisen optimointitehtävän ratkaisu Excel Solverilla Näin saadaan lineaarinen optimointitehtävä max 10 9 x 11 + 10 6 x 12 + 15 9 x 21 + (15 6)x 22 s.e. x 11 = x 21 2 4 x 12 7 = x 22 5 3 2 x 11 + 2 7 x 12 2500 3 2 x 11 + 6 7 x 12 3000 1 2 x 11 + 4 7 x 11 1000 x ij 0 i, j 11

Lineaarisen optimointitehtävän ratkaisu Excel Solverilla 12

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

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 14

Lineaarisen optimointitehtävän ratkaisu Excel Solverilla Ratkaisu: x 11 = 1600 kg x 12 = 350 kg x 21 = 3200 kg x 22 = 250 kg Tuotto = 24 450 Ratkaisun perusteella voidaan laskea apumuuttujien x D1,, x F2 arvot, eli miten eri raaka-aineet jakautuvat eri prosesseihin Esim. raaka-aineen D määrä prosessissa 1: x D1 = 3 2 x 11 = 2400 15

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 16

Aktiiviset ja epäaktiiviset rajoitteet Toisessa esimerkissä raakaaineiden D ja F saatavuutta koskevat rajoitukset toteutuvat optimiratkaisussa yhtälöllä, eli ovat aktiivisia D: 3 2 x 11 + 2 7 x 12 = 2500 F: 1 2 x 11 + 4 7 x 12 = 1000 Raaka-ainetta E koskeva rajoitus toteutuu (aidolla) epäyhtälöllä, eli on epäaktiivinen E: 3 2 x 11 + 6 7 x 12 = 2700 < 3000 17

Varjohinnat Optimiratkaisussa kullekin rajoitteelle voidaan laskea varjohinta, joka kertoo kuinka paljon kohdefunktio parantuisi, jos rajoitteen side-ehtoa löyhennettäisiin yhdellä yksiköllä eli kuinka paljon päätöksentekijä olisi enintään valmis maksamaan sideehdon löyhentämisestä yhdellä yksiköllä Esim. Kuinka paljon edellisen kalvon esimerkissä yrityksen tuotto kasvaisi, jos se saisi lisäkilon Raaka-ainetta D? Raaka-ainetta E? Raaka-ainetta F? 18

Varjohinnat Varjohintoja voi tarkastella Solverin Sensitivityraportista (Herkkyys / Känslighet) kohdasta Lagrange-multiplier (-kerroin/-multiplikator) 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 on positiivinen (minimointitehtävässä negatiivinen) Esim. Jos raaka-ainetta D saadaan kilo lisää, tuotto kasvaa 3.1 ; jos viisi kiloa, tuotto kasvaa 15.5 Jos raaka-ainetta F saadaan kilo lisää, tuotto kasvaa 16.70 ; jos viisi kiloa, tuotto kasvaa 83.50 19

Varjohinnat Jos jotakin rajoitetta löyhennetään kylliksi, ratkaisu saattaa siirtyä toiseen kulmapisteeseen (eli eri rajoitteiden leikkauspisteeseen) Esim. 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 20

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 muuttuu yhdellä yksiköllä 21