Harjoitus 8: Excel - Optimointi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1
Harjoituksen aiheita Lineaarisen optimointimallin muodostaminen ja ratkaiseminen Excelin Solver-työkaluun tutustuminen Optimointitehtävän graafinen tarkastelu: Rajoitusehdot, kohdefunktion gradientti, herkkyysanalyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt 2
Linear Programming (LP)-malli Esimerkki - Maalifirma Maalifirma Sateenkaari valmistaa ulko- ja sisämaalia raaka-aineista M1 ja M2. Sisämaalin maksimikysyntä on 2 tonnia/päivä. Sisämaalin kysyntä on lisäksi korkeintaan 1 tonni/päivä suurempi kuin ulkomaalin kysyntä. Maalifirma pyrkii maksimoimaan kokonaistuottoaan. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 3
Ongelman asettelu raaka-aine(tonni)/maali(tonni) ulkomaali sisämaali saatavuus/päivä raaka-aine M1 6 4 24 raaka-aine M2 1 2 6 tuotto(ke/tonni) 5 4 Sisämaalin maksimikysyntä on 2 tonnia/päivä, ja sisämaalin kysyntä on korkeintaan 1 tonni/päivä suurempi kuin ulkomaalin kysyntä. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 4
Päätösmuuttujat: x 1 = valmistettu ulkomaali tonnia/päivä x 2 = valmistettu sisämaali tonnia/päivä Kohdefunktio: Ulkomaalista saatava tuotto = 5 ke/tonni Sisämaalista saatava tuotto = 4 ke/tonni Maksimoi päivittäinen kokonaistuotto maksimoidaan funktiota z = 5x 1 + 4x 2 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 5
Rajoitukset: Raaka-ainerajoitukset: Rajoitus raaka-aineelle M1: 6x 1 + 4x 2 24 Rajoitus raaka-aineelle M2: x 1 + 2x 2 6 Kysyntärajoitukset: Kysyntöjen riippuvuus maalien välillä: x 2 x 1 + 1 Sisämaalin maksimikysyntä: x 2 2 Ei-negatiivisuusrajoitukset (nonnegativity constraints): x 1, x 2 0 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 6
Sateenkaaren optimointimalli: max z = 5x 1 + 4x 2 st. 6x 1 + 4x 2 24 (1) x 1 + 2x 2 6 (2) x 1 + x 2 1 (3) x 2 2 (4) x 1, x 2 0 Kyseessä on lineaarinen optimointitehtävä, eli lineaarisen ohjelmoinnin tehtävä, eli LP-tehtävä (LP = Linear Programming). Kohdefunktio ja rajoitukset riippuvat lineaarisesti päätösmuuttujista. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 7
Sateenkaaren optimointinmallin graafinen ratkaisu 7 6 5 x 2 4 (1) (3) 3 (2) 2 E D (4) 1 F käypä joukko C A B 0 0 1 2 3 4 5 6 7 x 1 Kuva 1: Sateenkaaren optimointimallin käypien pisteiden joukko. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 8
Kuvassa 1 on esitetty Sateenkaaren optimointimallin käypien pisteiden joukko. Käypään joukkoon kuuluvat ne pisteet, joissa kaikki rajoitusehdot toteutuvat. Kohdefunktion z gradientti z = ( z/ x 1, z/ x 2 ) = (5,4) on kohtisuorassa suoraa z = 5x 1 + 4x 2 = vakio vastaan ja ilmaisee käyrän z = vakio noususuunnan. Katso kuva 2. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 9
5 z = 5x 1 + 4x 2 =21 4 (5, 4) 3 z = 15 x 2 z = 10 2 E D optimi C 1 F A 0 0 1 2 3 4 5 x 1 B Kuva 2: Sateenkaaren optimointimallin kohdefunktion gradientti (5,4) ja optimipiste. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 10
Kuvasta 2 nähdään, että optimiratkaisu on pisteessä C, eli rajoitussuorien (1) ja (2) leikkauspisteessä. 6x 1 + 4x 2 = 24 (1) x 1 = 3(tn) z = 21(ke) x 1 + 2x 2 = 6 (2) = 1.5(tn) x 2 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 11
Kohdefunktion minimin löytäminen gradientin avulla Kun kohdefunktiota maksimoidaan kuljetaan siis gradientin suuntaan. Kuvassa 3 kohdefunktiota z = x 1 + 4x 2 minimoidaan, jolloin kuljetaan z:n suuntaan. On voimassa: min z = x 1 + 4x 2 max -z = x 1 4x 2 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 12
5 4 3 z x 2 x 1 4x 2 2 käypä joukko z = + =16 1 optimi 1 2 3 4 5 6 x 1 Kuva 3: Optimiratkaisu silloin, kun kohdefunktiota z minimoidaan. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 13
Graafinen herkkyysanalyysi (1) Kuinka paljon kohdefunktion z kertoimet voivat muuttua ilman, että ratkaisu muuttuu? 5 4.5 z = 5x 1 + 4x 2 4 6x 1 +4x 2 =24 3.5 3 x 1 +2x 2 =6 x 2 2.5 2 1.5 E D C optimi 1 F 0.5 A 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 x 1 B Kuva 4: z = c 1 x 1 + c 2 x 2 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 14
c 2 /c 1 on gradientin kulmakerroin, ja c 1 /c 2 on suoran z = vakio kulmakerroin. Kuvan 5 mukaan ratkaisu ei muutu, jos suoran z = vakio kulmakerroin pysyy rajoitussuorien (1) ja (2) kulmakertoimien välissä, eli jos 4 6 c 2 2 c 1 1, c 1 0 tai 1 2 c 1 c 2 6 4, c 2 0 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 15
x 1 +2x 2 =6 Harjoitus 8: Excel - Optimointi 5 4.5 z = 5x 1 + 4x 2 4 6x 1 +4x 2 =24 3.5 3 x 2 2.5 2 E D optimi 1.5 C 1 F 0.5 A 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 x 1 B Kuva 5: Kulmapiste C säilyy optimina, kun z:n kulmakerroin pysyy pisteessä C leikkaavien rajoitussuorien kulmakertoimien välissä. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 16
(2) Mikä on resurssiyksikön arvo optimiratkaisussa? 5 4.5 4 M1 = 36(tonnia) 3.5 3 M1 = 24 x 2 2.5 2 E M1 = 20 D optimi 1.5 C 1 F 0.5 A 0 0 1 2 3 4 5 6 x 1 B G Kuva 6: Resurssiyksikön arvo optimiratkaisussa Mat-2.2107 Sovelletun matematiikan tietokonetyöt 17
D = (2, 2), G = (6, 0) y 1 = z M1 = z : nmuutos D G M1 : nmuutos D G z = z(d) - z(g) = 5 2 + 4 2 - (5 6+ 4 0) = -12 (ke) M1 = M1(D) - M1(G) = 20-36 = -16 (tn) y 1 = 12 ke 16 tonnia = 3 ke 4 tonnia = 750 e tonni M1:sta 1 tonnin muutos M1:ssä, alueella 20 M1 36, aiheuttaa z:n optimiarvoon muutoksen 750e. Mikäli M1:n saatavuus ei ole ko. välillä, piste C (rajoitussuorien (1) ja (2) leikkauspiste) ei kuulu käypään joukkoon. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 18
5 4.5 4 M1 = 36(tonnia) 3.5 3 M1 = 24 x 2 2.5 M1 = 20 2 E D optimi 1.5 C 1 F 0.5 A 0 0 1 2 3 4 5 6 x 1 B G Kuva 7: Kun raaka-aineen M1 saatavuus vaihtelee välillä 20tn-36tn, liukuu optimiratkaisu C pitkin janaa DG. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 19
Excelin Solver-työkalu 1/3 Excelin Solverin avulla voi ratkaista pieniä lineaarisia ja epälineaarisia optimointitehtäviä. Optimoitava malli muodostetaan käyttäen hyväksi taulukkolaskentaohjelmiston ominaisuuksia, kuten kaavojen kopiointia ja aritmeettisia operaattoreita. Esimerkiksi rajoitettaessa usean muuttujan summaa, summalauseke sijoitetaan taulukkoon ja rajoitetaan rajoitusehdolla summan sisältävän solun arvoa. Mallia muodostettaessa kannattaa pyrkiä mahdollisimman selkeään ja helposti muunneltavissa olevaan taulukkopohjaan. Solverin saa käyttöön Tools/Add-Ins...-valikosta valitsemalla Solver Add-in -kohdan. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 20
Excelin Solver-työkalu 2/3 Set Target Cell: Kohdefunktiosolu Equal To: Halutaanko kohdefunktiota maksimoida, minimoida vai asettaa tiettyyn arvoon ( Value of ) By Changing Cells: Päätösmuuttujasolujen alue Mat-2.2107 Sovelletun matematiikan tietokonetyöt 21
Excelin Solver-työkalu 3/3 Rajoitusehtoja lisätään Subject to Constraints-kohdan Add-nappulalla. Rajoitusehdot kirjoitetaan avautuvaan lomakkeeseen siten, että vasemmalle puolelle määritellään alue ja oikealla puolella voi olla joko vastaavan kokoinen alue, yksittäinen solu, lukuarvo tai lauseke. Keskeltä valitaan vertailuoperaattori ja voidaan myös asettaa kokonaislukurajoitus päätösmuuttujasoluille ( int ), jolloin oikealle puolelle ei kirjoiteta mitään. Optimointitehtävän ratkaisun etsiminen käynnistyy painamalla Solve-nappulaa. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 22
Kysymyksiä 1. Lineraarisessa optimointitehtävässä kohdefunktiot ja rajoitukset ovat lineaarisia. Mitä tarkoitetaan lineaarisuudella? 2. Onko tehtävänantopaperin 1. optimointitehtävä lineaarinen? Perustele. 3. Millä nimellä kutsutaan aluetta, jossa kaikki rajoitusehdot toteutuvat? 4. Mitä kohdefunktion gradientti ilmaisee? 5. Miten epäyhtälörajoitus voidaan muuttaa yhtälörajoitukseksi? 6. Mitä herkkyysanalyysillä voidaan tutkia? Mat-2.2107 Sovelletun matematiikan tietokonetyöt 23