Luento 2: Optimointitehtävän graafinen ratkaiseminen. LP-malli. LP-malli Esimerkki. Maalitehdas 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ä. Maalitehdas maksimoi kokonaistuottoaan. raaka-aine (tonni)/maali (tonni) ulkomaali sisämaali päivittäinen saatavuus raaka-aine M1 6 4 24 raaka-aine M2 1 2 6 tuotto (1000 e/tonni) 5 4 Muuttujat: x 1 = valmistettu ulkomaali tonnia/päivä x 2 = valmistettu sisämaali tonnia/päivä Kohdefunktio: maksimoi päivittäinen kokonaistuotto maksimoidaan funktiota z = 5x 1 + 4x 2 Rajoitukset. Ensin raaka-ainerajoitukset: M1: 6x 1 + 4x 2 24 M2: x 1 + 2x 2 6 Kysyntärajoitukset: { x 2 x 1 + 1 x 2 2 1
Ei-negatiivisuusrajoitukset (nonnegativity constraints): Maalitehtaan optimointimalli. x 1, x 2 0 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). Graafinen ratkaisu Kuva 1: Optimointitehtävän käypien pisteiden joukko. Kuvassa 1 on esitetty maalitehtaan optimointimallin käypien pisteiden joukko. Käypään joukkoon kuuluvat ne pisteet, joissa kaikki rajoitusehdot toteutuvat. 2
Kohdefunktion z gradientti z := [ z/ x 1, z/ x 2 ] T = [5, 4] T on kohtisuorassa suoraa z = 5x 1 +4x 2 = vakio vastaan ja ilmaisee funktion z noususuunnan. Katso kuva 2. Kuva 2: Optimointitehtävän graafinen ratkaisu Kuvasta 2 nähdään, että optimiratkaisu on pisteessä C, eli rajoitussuorien (1) ja (2) leikkauspisteessä. { { 6x1 + 4x 2 = 24 (1) x1 = 3 tn z = 21000 e x 1 + 2x 2 = 6 (2) = 1.5 tn Kun kohdefunktiota maksimoidaan haetaan vakiokäyrälle z = vakio maksimiarvo käyvällä alueella kulkemalla gradientin suuntaan. Kuvassa 3 kohdefunktiota z = x 1 + 4x 2 minimoidaan, jolloin z:aa pienennetään z:n suuntaan. Muista myös, että x 2 min z := x 1 + 4x 2 max -z := x 1 4x 2 3
Kuva 3: Optimiratkaisu silloin, kun kohdefunktiota z minimoidaan. Slack-, ylijäämä- ja rajoittamattomat muuttujat Slack-muuttuja, tai alijäämämuuttuja (slack-variable) Lisätään tyyppiä ( ) olevaan rajoitukseen. Ajatellaan, että tuotantoyksikkö (activity) 1 tuottaa ulkomaalia määrän x 1 ja tuotantoyksikkö 2 sisämaalia määrän x 2, ja 6x 1 + 4x 2 24. Tällöin resurssia jää käyttämättä slack-muuttujan s 1 verran: 6x 1 + 4x 2 + s 1 = 24, s 1 0. Ylijäämämuuttuja (surplus-variable) Lisätään tyyppiä ( ) olevaan rajoitukseen. Tehtävässä voisi lisäksi esiintyä päivittäinen minimituotantorajoitus x 1 + x 2 2. 4
Tällöin tuotantotasolla x 1, x 2 minimituotantomäärä ylitetään ylijäämämuuttujan s 2 ilmoittamalla määrällä x 1 + x 2 s 2 = 2, s 2 0. Rajoittamaton muuttuja (unrestricted variable) Jokainen muuttuja x R voidaan esittää kahden ei-negatiivisen luvun erotuksena, esitys ei ole yksikäsitteinen: Esimerkiksi, x R x = x + x, x +, x 0. 5 = x + x, x + = 0, x = 5; 5 = x + x, x + = 5, x = 0. Graafinen herkkyysanalyysi Esimerkki. Kuinka paljon kohdefunktion z kertoimet voivat muuttua ilman, että ratkaisu muuttuu? z = c 1 x 1 + c 2 x 2 c 2 /c 1 on gradientin kulmakerroin, ja c 1 /c 2 on suoran z = vakio kulmakerroin. Kuvan 4 mukaan ratkaisu ei muutu, jos suoran z = vakio kulmakerroin pysyy rajoitussuorien (1) ja (2) kulmakertoimien välissä, eli jos 4 6 c 2 c 1 2 1, c 1 0 tai 1 2 c 1 c 2 6 4, c 2 0 Esimerkki. Mikä on resurssiyksikön arvo optimiratkaisussa? Eli, kuinka paljon esimerkiksi 1 tonnin muutos resurssin päivittäisessä saatavuudessa muuttaa optimiarvoa? Merkitään M1 = 6x 1 + 4x 2. Katso kuva 5. 5
D = (2, 2), G = (6, 0) y 1 = z M1 = z : n muutos D G M1:n muutos D G z = z(d) z(g) = 5 2 + 4 2 (5 6 + 4 0) = 12000 e M1 = M1(D) M1(G) = 20 36 = 16 tn y 1 = 12000 e 16 tn = 3000 e 4 tn = 750 e tn 1 tonnin muutos M1:ssä, alueella 20 M1 36, aiheuttaa z:n optimiarvoon muutoksen 750 e. Ko. alueen määritelmässä on oleellista, että tehtävän ratkaisu pysyy pisteessä C, eli suorien (1) ja (2) leikkauspisteessä vaikka raakaaineen M1 arvo muuttuu. Kuva 4: Ekstreemipiste C säilyy optimina, kun z:n kulmakerroin pysyy pisteessä C leikkaavien rajoitussuorien kulmakertoimien välissä 6
Kuva 5: Kun raaka-aineen M1 saatavuus vaihtelee välillä 20 tn - 36 tn, liukuu optimiratkaisu C pitkin janaa DG. Mikäli M1:n saatavuus ei ole ko. välillä, piste C (rajoitussuorien (1) ja (2) leikkauspiste) ei kuulu käypään joukkoon. Resurssin M2 = x 1 + 2x 2 yhden yksikön arvoksi optimipisteessä C saadaan samaan tapaan: y 2 = z M2 = z(h) z(b) M2(H) M2(B) = 500 e tn Tämä on voimassa alueella 4 M2 20/3, ks. kuva 6. Sen sijaan y 3,..., y 6 = 0, mikä tarkoittaa, että rajoitukset (3) (6) eivät ole aktiivisia. Esimerkiksi rajoitussuoran 3 oikea puoli voi vaihdella välillä [ 3, ], vaikuttamatta kohdefunktion z 2 arvoon. Muista. Kertoimia y i kutsutaan ko. tehtävän duaalimuuttujiksi. Myöhemmin osoitetaan lisäksi, että y i on rajoitusehtoa i vastaava Lagrangen kerroin. 7
Kuva 6: Kun resurssi 2 vaihtelee välillä M 2, liukuu optimiratkaisu C pitkin janaa HB. 8