Kokonaislukuoptimointimallinnus projektiportfolion valinnasa Mat-2.4142 Optimointiopin seminaari kevät 2011 Lähteet: Brown & Dell & Newman: Optimizing Military Capital Planning Pachamanova: Introducing Integer Modeling with Excel Solver
Kokonaislukuoptimoinnin historiaa Yhdysvaltain armeija edelläkävijöitä lineaarisen ohjelmoinnin kehittämisessä toisen maailmansodan jälkeen Tarve suunnitella valtavan budjetin tehokas käyttö Eroja armeijan ja siviilimaailman välillä: Armeijalla ei veroja, poistoja, taseita, tuottolaskelmia jne. Toisaalta erittäin pitkä suunnitteluhorisontti ja paljon erikoisia sääntöjä Kuitenkin erittäin paljon yhteneväisyyksiä ja siten opittavaa malleista: verosuojan yms. lisääminen on vain tekninen toimenpide
Lineaarisuudesta Lineaarisuus helpottaa optimointitehtävän ratkaisemista ja takaa globaalin optimiratkaisun löytymisen useimmissa tapauksissa (esimerkiksi Simplex-menetelmällä) Excelin Solver on kätevä apuväline, sillä se sisältää Simplextoiminnon: kaikki tämän esitelmän esimerkit on ratkaistu sitä käyttäen Normaalissa Excelin käytössä hyödylliset IF-funktiot eivät toimi Simplex-menetelmän kanssa Muuttujien keskenään kertomista tulisi myös välttää (tulee vastaan ainakin synergialaskuissa), sillä useimmissa tapauksissa on olemassa lineaarinen keino toimittaa sama asia
Lähtökohta: Knapsack-ongelma a viittaa yksittäisen vaihtoehdon indeksiin
Lähtökohta: Knapsack-ongelma Olet ostamassa aseita kotisi turvaksi ja pohdiskelet, mitkä pyssyt valitsisit, kun budjettirajoitteesi on 3000 dollaria Hinta (k$) Hyöty VALINTA Aseet RK-62 1,5 1,3 0 AK-47 0,7 1,0 1 M-16 1,4 1,4 0 M-231 FPW 1,8 1,9 1 Valituksi tulee yksi AK-47 ja yksi M-231 TOTAL 2,5 2,9 Budjettirajoite 3,0 Budjettia ei saa ylittää Haluat maksimoida hyödyn eli vaikkapa pelotevaikutuksen
Määrän lisääminen Valinnasta aiheutuva kiinteä hyöty Kunkin lisäyksikön tuoma muuttuva hyöty Kiinteä kustannus Muuttuva (yksikkö)kustannus
Määrän lisääminen Armeijan asebudjetti on 500 tuhatta dollaria, mitkä aseet sen kannattaa hankkia? Kiinteä hinta (k$) Yksikköhinta (k$) Kiinteä hyöty Yksikköhyöty VALINTA MÄÄRÄ Aseet RK-62 15,0 1,5 1,3 0,05 1 1 AK-47 10,0 0,7 1,0 0,03 1 605 M-16 20,0 1,4 1,4 0,04 1 1 M-231 FPW 25,0 1,8 1,9 0,07 1 2 TOTAL 70 430 5,6 18,38 Kokonaishyöty 23,98 Kokonaiskustannus 500 Kokonaisbudjetti 500 Nyt sekä hyödyt että kustannukset koostuvat kiinteästä ja muuttuvasta osasta Koska kiinteä hyöty on niin edullista, jokaista asetta ostetaan
Määrän rajoittaminen Jos valitaan vaihtoehto a, on tilattava vähintään minimierän suuruinen määrä
Määrän rajoittaminen Aseiden toimittajat kykenevät myymään tulevana vuonna vain seuraavan suuruisia eriä Kiinteä hinta (k$) Yksikköhinta (k$) Kiinteä hyöty Yksikköhyöty Minimierä Maksimierä VALINTA MÄÄRÄ Alaraja Yläraja Aseet RK-62 15,0 1,5 1,3 0,05 100 400 0 0 0 0 AK-47 10,0 0,7 1,0 0,03 100 200 1 200 100 200 M-16 20,0 1,4 1,4 0,04 50 300 0 0 0 0 M-231 FPW 25,0 1,8 1,9 0,07 150 500 1 180 150 500 TOTAL 35 464 2,9 18,6 Kokonaishyöty 21,5 Kokonaiskustannus 499 Kokonaisbudjetti 500 Käytännön toteutus Nyt ratkaisu ottaa Excelin Solveria eräkoot huomion varten: VALINTA*minimierä
Erilliset budjetit Budjettiin c kohdistettu hinta
Ajoneuvokustannukset 4490 Ajoneuvobudjetti 4500 Erilliset budjetit Havainnollisuuden vuoksi kukin erä kohdistetaan vain yhteen budjettiin Kiinteä hinta (k$) Yksikköhinta (k$) Kiinteä hyöty Yksikköhyöty Minimierä Maksimierä VALINTA MÄÄRÄ Aseet RK-62 15,0 1,5 1,3 0,05 100 400 0 0 AK-47 10,0 0,7 1,0 0,03 100 200 1 200 M-16 20,0 1,4 1,4 0,04 50 300 0 0 M-231 FPW 25,0 1,8 1,9 0,07 150 500 1 180 Ajoneuvot 0 0 Humvee 25,0 50,0 55 4 15 40 1 15 M1 Abrams 120,0 250,0 35 22 7 20 1 8 KrAZ 20,0 45,0 50 5 20 35 1 35 T-72 110,0 225,0 33 20 10 25 0 0 TOTAL 200 4789 142,9 429,6 Kokonaiskustannus 4989 Kokonaishyöty 572,5 Kokonaisbudjetti 5000 Asekustannukset 499 Asebudjetti 500 Erilliset budjetit aseille ja ajoneuvoille Kun kukin kustannus allokoidaan vain yhteen budjettiin, kyseessä on käytännössä kaksi erillistä tehtävää
Päätösten väliset riippuvuudet Päätökset ovat usein toisistaan tavalla tai toisella riippuvia Joitain yleisiä riippuvuuksia: valitse enintään, täsmälleen tai vähintään k vaihtoehtoa tästä ryhmästä vaihtoehto x pitää valita, jotta voisit toteuttaa jonkin ryhmän A valinnoista jos valitset jonkin vaihtoehdon ryhmästä A, tulee valita vähintään yksi vaihtoehto ryhmästä B Esimerkiksi: aseisiin tulee ostaa ammuksia, vieläpä oikeanlaisia
Päätösten väliset riippuvuudet Aseisiin on hankittava ammuksia oikea määrä oikeaa laatua Venäjä myy KrAZeja vain T-72-asiakkaille Kaksi eri toimittajaa, erilaiset hyöty- ja kustannusprofiilit VALINTA MÄÄRÄ 7.62? Määrä 5.56? Määrä Aseet 1 137 1 193 RK-62 0 0 0 0 AK-47 1 137 1 137 M-16 0 0 0 0 M-231 FPW 1 193 1 193 Ammukset 0 0 2 137 2 193 7.62 A 1 137 1 137 7.62 B 0 0 0 0 5.56 NATO 1 193 1 193 Ajoneuvot 0 0 Humvee 1 15 M1 Abrams 0 0 KrAZ 1 29 T-72 1 10 Asetetaan KrAZin valinta pienemmäksi tai yhtäsuureksi kuin T-72:n valinta A B Vaaditaan, että: - jos valitaan ase, valitaan siihen ammuksia (B A) - ammuslaatikkoja on tilattava yhtä monta kuin aseita Valintamuuttuja kerrottu kahdella, jotta asetettu rajoitus toimii, vaikka molemmat 7.62-kaliiberiset valittaisiin
Synergiat päätösten välillä
Synergiat päätösten välillä Ajoneuvojen hankintaan liittyy poliittisia hyötyjä ja haittoja Suurvallat suosivat omien vaihtoehtojensa yhdistämistä eivätkä pidä siitä, jos ostaa molemmilta BOTH on lineaariseen malliin lisätty liikkuva muuttuja, joka täyttää edellisellä kalvolla olevat ehdot Ajoneuvot 1 Humvee 2 M1 Abrams 3 KrAZ 4 T-72 Synergiat (kiinteitä) BOTH Toteutuneet synergiat (kiinteitä) 1 2 3 4 BOTH? a a' S(a) S(a') S(a)+S(a')-1 75 1 2 3 4 1 100-50 -50 0 1 2 0 0-1 1 0 0 0 2-50 -50 0 1 3 0 1 0 2 0 0 3 75 0 1 4 0 1 0 3 75 4 0 2 3 0 1 0 4 0 2 4 0 1 0 1 3 4 1 1 1 Synergioiden takia ostetaan enää KrAZeja ja T-72:ia
Monijaksoinen päätöshorisontti Tänä vuonna käytössä = ensi vuonna käytössä + tämän vuoden poistot Vuonna y käyttöön otettujen yksiköiden määrä vuonna y+1
Monijaksoinen päätöshorisontti Kiinteä hinta (k$) Yksikköhinta (k$) Kiinteä hyöty / tilaus Yksikköhyöty / käyttökausi Minimierä / kausi Maksimierä / kausi Käyttöikä Ajoneuvot KrAZ 20,0 45,0 15 8 5 15 15 T-72 50,0 225,0 33 25 3 10 25 Kokonaishyöty 2394 Vuosi 2010 2015 2020 2025 2030 2035 2040 Vuosibudjetti 1000 1000 750 750 500 500 500 Kokonaiskustannus 970 970 725 695 470 470 470 Vuosibudjetti ei saa ylittyä Ajoneuvot poistetaan rivistä käyttöiän päätyttyä KrAZ VALINTA 1 1 0 1 1 1 1 MÄÄRÄ 5 5 0 15 10 10 10 MIN 5 5 0 5 5 5 5 MAX 15 15 0 15 15 15 15 Yksikköjä käytössä 5 10 10 20 25 35 30 Hyöty 55 95 80 175 215 295 255 Kustannus 245 245 0 695 470 470 470 Modifikaatio: joka vuosi päätetään erikseen, ostetaanko vai ei T-72 VALINTA 1 1 1 0 0 0 0 MÄÄRÄ 3 3 3 0 0 0 0 MIN 3 3 3 0 0 0 0 MAX 10 10 10 0 0 0 0 Yksikköjä käytössä 3 6 9 9 9 6 3 Hyöty 108 183 258 225 225 150 75 Kustannus 725 725 725 Esitelmä 0 2 - Koponen 0 0 0
Kumulatiivinen budjetti
Kumulatiivinen budjetti Kiinteä hinta (k$) Yksikköhinta (k$) Kiinteä hyöty / tilaus Yksikköhyöty / käyttökausi Minimierä / kausi Maksimierä / kausi Käyttöikä Ajoneuvot KrAZ 20,0 45,0 15 8 5 15 15 T-72 50,0 225,0 33 25 3 10 25 Kokonaishyöty 2494 Vuosi 2010 2015 2020 2025 2030 2035 2040 Kumulatiivinen budjetti 1000 2000 2750 3500 4000 4500 5000 Vuosibudjetti 1000 1000 750 750 500 500 500 Kumulatiivinen kustannus 950 1675 2625 3275 3970 4485 5000 Kokonaiskustannus 950 725 950 650 695 515 515 Kumulatiivinen budjetti ei saa ylittyä Budjetti tulee käytettyä paremmin KrAZ VALINTA 0 0 0 1 1 1 1 MÄÄRÄ 0 0 0 14 15 11 11 MIN 0 0 0 5 5 5 5 MAX 0 0 0 15 15 15 15 Yksikköjä käytössä 0 0 0 14 29 40 37 Hyöty 0 0 0 127 247 335 311 Kustannus 0 0 0 650 695 515 515 T-72 VALINTA 1 1 1 0 0 0 0 MÄÄRÄ 4 3 4 0 0 0 0 MIN 3 3 3 0 0 0 0 MAX 10 10 10 0 0 0 0 Yksikköjä käytössä 4 7 11 11 11 7 4 Hyöty 133 208 308 Esitelmä 2752 - Koponen 275 175 100 Kustannus 950 725 950 0 0 0 0
Joustava budjetti Oikeassa maailmassa pieni, hyvin perusteltu budjetinylitys käy järkeen, jos täällä saavutettava hyöty on suuri Tätä varten voidaan määritellä haittatermi, joka rankaisee budjetista poikkeamisen Mikäli malli on ei-lineaarinen jo valmiiksi, voi haittatermin määritellä esimerkiksi poikkeaman neliön avulla Myös haittatermistä voidaan tehdä kumulatiivinen
Kiinteä hinta (k$) Joustava budjetti Yksikköhinta (k$) Kiinteä hyöty / tilaus Yksikköhyöty / käyttökausi Minimierä / kausi Maksimierä / kausi Käyttöikä Ajoneuvot KrAZ 20,0 45,0 15 8 5 15 15 T-72 50,0 225,0 33 25 3 10 25 Kokonaishyöty 2323 Vuosi 2010 2015 2020 2025 2030 2035 2040 Vuosibudjetti 1000 1000 750 750 500 500 500 Kokonaiskustannus 1015 1015 725 725 515 515 515 Erotus budjettiin 15 15-25 -25 15 15 15 - Erotus budjettiin -15-15 25 25-15 -15-15 ABS(Ero budjettiin) 15 15 25 25 15 15 15 Sakkotermin kerroin 1 (tässä irrelevantti, koska lähemmäs budjettia ei voi päästä) Sakko 15 15 25 25 15 15 15 Malli sakottaa myös alituksista KrAZ VALINTA 1 1 0 0 1 1 1 MÄÄRÄ 6 6 0 0 11 11 11 MIN 5 5 0 0 5 5 5 MAX 15 15 0 0 15 15 15 Yksikköjä käytössä 6 12 12 6 11 22 33 Hyöty 63 111 96 48 103 191 279 Kustannus 290 290 0 0 515 515 515 Sallii budjetin ylitykset, mikäli saavutettu hyöty voittaa sakkotermin Nämä rivit ovat itseisarvon lineaarista toteutusta varten T-72 VALINTA 1 1 1 1 0 0 0 MÄÄRÄ 3 3 3 3 0 0 0 MIN 3 3 3 3 0 0 0 MAX 10 10 10 10 0 0 0 Yksikköjä käytössä 3 6 9 12 12 9 6 Hyöty 108 183 258 333 300 225 150 Kustannus 725 725 725 725 0 0 0
Päätösten aikariippuvuudet Valittavat projektit voivat riippua toisistaan ajallisesti, esim.: Projekti B1 (alkaa vuonna y ja loppuu vuonna y ) voidaan toteuttaa vain silloin, kun projekti A (y y) on käynnissä Tässä VALINTAmuuttuja ei ole vuosittainen, vaan kertoo, valitaanko jokin projekti ylipäänsä Rajoitusehdot y y y y sekä VALINTA a VALINTA a Projekti B2 (y y ) voidaan toteuttaa projektin A alkamisen jälkeen Rajoitusehdot y y sekä VALINTA a VALINTA a Projekti B3 (y y ) voidaan toteuttaa vain tasan projektin A loppuessa Rajoitusehdot y = y sekä VALINTA a VALINTA a Jos mikä tahansa ryhmän Ω projekteista mahdollistaa projektin a toteuttamisen, jälkimmäinen ehto on: VALINTA a VALINTA a a Ω
Päätösten aikariippuvuudet Ehdot edellisellä kalvolla 2011 2012 2013 2014 2015 2016 2017 2018 A B1 A B2 A B3 y y
Muita sovelluksia Systeemin osien muutoksia tilasta toiseen voidaan kuvata binäärimuuttujalla, joka muistuttaa tilansiirtomatriisin solua Päivitetyn suunnitelman eroa vanhaan voidaan rajoittaa, tämä pienentää suurista muutoksista aiheutuvaa haittaa Koska suunnitteluhorisontin loppupuoli on vähintäänkin epävarma, lopputilan määrittäminen etukäteen johtaa erilaisiin ongelmiin horisontin lopussa ( end effects ). Voidaan osittain kiertää pidentämällä suunnitteluhorisonttia huomattavasti raportoitavaa loppua pidemmälle Hyötyjen (ja haittojen) diskonttaaminen nopeuttaa mallin laskemista ja painottaa aiempia, varmempia tapahtumia. Tuottaa parempia lyhyen aikavälin suunnitelmia, kun kaukaisen tulevaisuuden epävarmoilla hyödyillä on vain pieni painoarvo
Kotitehtävä: Ilma- ja merisodankäynnin hankinnat Kuvat: Wikipedia
Tehtävä 1: Hävittäjähankinnat Keskikokoinen länsimainen valtio pohtii, millaisia hävittäjiä ostaisi viiden miljardin US-dollarin budjetillaan Liitteenä olevasta Excel-taulukosta löytyy kunkin hävittäjän sekä ohjusvaihtoehtojen ominaisuudet: Kiinteä hinta: Järjestelmän valinnasta aiheutuva kiinteä kustannus (tilauskulut & huolto-organisaation perustaminen) Yksikköhinta: Yhden yksikön (lentokone/ohjus) hinta Kiinteä hyöty: Hankitun asejärjestelmän pelotevaikutus Yksikköhyöty: Kunkin asejärjestelmän yksikön tuoma lisäpelote (myös ensimmäisellä hankitulla yksiköllä) Minimi- ja maksimierät: Asejärjestelmää on tilattava vähintään tietty määrä ja toisaalta myyvät valtiot rajoittavat toimitusmääriä
Tehtävä 1: Hävittäjähankinnat Yhteen hävittäjään on hankittava tasan 4 kappaletta siihen sopivia ohjuksia (lisäohjuksista ei ole hyötyä ja jos ohjuksia on vähemmän, hävittäjän hyöty putoaa dramaattisesti) Amerikkalaisiin hävittäjiin (a=1,2) sopii vain AIM-ohjukset ja venäläisiin (a=3,4) vain Vympelin ohjukset Lisäksi, jos hankkii kahta eri hävittäjää samalta suurvallalta, tämä pitää valtiotasi liittolaisenaan (USA vahvemmin kuin Venäjä, kts. taulukko) Jos hankit hävittäjiä molemmilta suurvalloilta, maailmanpoliittinen asemasi heikkenee huomattavasti (kts. taulukko) Vinkki: käytä synergioita määrittäessäsi synergiakalvojen kaavoja näin mallisi pysyy lineaarisena (tämä vaatii BOTH-muuttujan määrittämistä Solverin muuttujaksi) Synergiat (kiinteitä) 1 2 3 4 1 500-200 -200 2-200 -200 3 350 4
Tehtävä 1: Hävittäjähankinnat Kohta a: Kuinka monta (ja mitä) hävittäjää ja ohjusta on optimaalista ostaa? Mikä on tällöin hyötyfunktion arvo? Kohta b: Entä ilman synergioita? (Tässä kannattaa yksinkertaisesti korvata synergiataulukon luvut nollilla ja ajaa optimointimalli uudelleen) Mallin tulee olla lineaarinen ja se tulee ratkaista lineaarisella menetelmällä (esim. Solverin Simplex LP -algoritmilla) Excelissä on korostettu solut, jotka täyttämällä malli on havainnollisimmin ratkaistavissa Exceliä ei ole pakko käyttää Palautus sähköpostilla henri.koponen@gmail.com, liitä mukaan myös käyttämäsi tiedosto (Excel, Matlab tms ).
Tehtävä 2: Merisodankäynnin hankinnat Valtiosi haluaa ostaa myös laivoja ja sukellusveneitä. Tiukan karsinnan jälkeen on päädytty yhteen hävittäjä- ja yhteen sukellusvenetyyppiin Excelistä löytyy kummankin sodankäynnin välineen tiedot: Kiinteä hinta on nyt tilauskohtainen hinta (tilauskulut) Yksikköhinta on edelleen yhden yksikön hankintakustannus, käyttökustannuksia ei huomioida Tilauksella on kiinteä, tilausvuonna realisoituva hyöty: muut maat näkevät, kun päivität armeijasi kalustoa Yksikköhyöty aiheutuu kustakin käytössä olevasta yksiköstä kausittain siihen asti, että yksikkö poistetaan käytöstä Minimi- ja maksimierät ovat kausikohtaisia Asejärjestelmillä on käyttöikä, jonka jälkeen ne poistetaan käytöstä (esimerkiksi vuonna 2010 hankittu sukellusvene ei ole enää käytössä vuonna 2050)
Tehtävä 2: Merisodankäynnin hankinnat Kohta a: Miten hankinnat jaksottuvat, kun vuosibudjetit eivät saa ylittyä? Kohta b: Miten hankinnat jaksottuvat, jos budjetti on kumulatiivinen (eli edellisiltä vuosilta jääneet varat voi käyttää tulevien vuosien hankinnoissa)? Mallin tulee olla lineaarinen ja se tulee ratkaista lineaarisella menetelmällä (esim. Solverin Simplex LP -algoritmilla) Excelissä on korostettu solut, jotka täyttämällä malli on havainnollisimmin ratkaistavissa Exceliä ei ole pakko käyttää Palautus sähköpostilla henri.koponen@gmail.com, liitä mukaan myös käyttämäsi tiedosto (Excel, Matlab tms ).