TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010
Yleistä https://korppi.jyu.fi/kotka/r.jsp?course=96762
Sisältö Johdanto yksitavoitteiseen optimointiin Monitavoiteoptimoinnin käsitteitä Menetelmätyypit Monitavoiteoptimoinnin ohjelmistoja Käytännön sovellusesimerkkejä
Lyhyt johdanto yksitavoitteiseen optimointiin
Mitä on optimointi? Tieteellinen lähestymistapa päätöksentekoon Prof. Saul I. Gass Parhaan ratkaisun etsiminen annetuissa olosuhteissa Mahdollistaa parhaan ratkaisun systemaattisen etsimisen (vrt. kokeilu/arvaus)
Esimerkkejä käytännön optimoinnista Prosessisuunnittelu Prosessioptimointi Optimaalinen muodon suunnittelu Portfolio-optimointi Reitin optimointi logistiikassa Toimitusketjun hallinta (supply chain management) yms.
Optimointitehtävä Objektifunktio (kohde-, kustannus-,...) = mittaa ratkaisun hyvyyttä Muuttujat (päätös-, suunnittelu-,...) = arvot muuttavat ratkaisua Rajoitteet (yhtälö-, epäyhtälö) = määräävät sallitut ratkaisut Sallittu alue = kaikki rajoitteet toteutuvat Parametrit = arvot eivät muutu optimoinnissa (vrt. muuttujat)
Matemaattinen muotoilu Sallittu alue Huom. optimointitehtävien optimiratkaisut ovat samat
Esimerkki1: sekoitusongelma Jalostamo valmistaa 3 bensiinilaatua sekoittamalla 3 eri raakaöljylaatua. Kutakin raakaöljylaatua voidaan hankkia enintään 5000 barrelia pvässä. Oletetaan oktaaniarvojen ja lyijypitoisuuden käyttäytyvän sekoituksessa lineaarisesti. Jalostuskustannukset ovat 4$ barrelia kohden ja jalostamon kapasiteetti on 14000 barrelia pvässä. Bensiinin menekkiä voidaan kasvattaa mainoskampanjan avulla (menekki kasvaa 10 barrelia pvässä jokaista markkinointiin käytettyä dollaria kohden). Määrää eri bensiinilaatujen tuotantomäärät, eri raakaöljyjen sekoitussuhteet ja mainosbudjetti siten, että päivittäinen tuotto on mahdollisimman suuri.
Sekoitusongelma
Muuttujat: Sekoitusongelma
Sekoitusongelma
Sekoitusongelma
Sekoitusongelma
Esimerkki2: vesikiertojen optimointi
Vesikiertojen optimointi Paperinvalmistusprosessi käyttää paljon vettä Vettä voi kierrättää eri puolilla prosessia, kunhan se pysyy riittävän puhtaana Puhdas vesi maksaa Tavoitteena minimoida prosessiin tarvittava puhdas vesi Miten muotoilla optimointitehtävä?
Vesikiertojen optimointi Objektifunktio: minimoi puhtaan veden kulutus Rajoitteet: vesi riittävän puhdasta energia- ja materiaalitaseet ovat voimassa eri yksikköoperaatioiden välillä (vaatii prosessimallin) Ei voida (yleensä) esittää eksplisiittisesti, vaatii esim. prosessisimulointiohjelmiston käyttöä
Erilaisia optimointitehtäviä Lineaarinen = kaikki funktiot lineaarisia Epälineaarinen = ainakin yksi funktio epälineaarinen Jatkuva = muuttujat reaaliarvoisia Diskreetti = muuttujilla vain äärellinen (tai numeroituva) määrä mahdollisia arvoja Stokastinen = tehtävä sisältää epävarmuuksia Monitavoitteinen = monta objektifunktiota
Erilaisia optimointitehtäviä Rajoittamaton = kaikki muuttujien arvot sallittuja Laatikkorajoitteet = muuttujilla ala- ja ylärajat Lineaariset rajoitteet = sallittu alue konveksi monitahokas Epälineaariset rajoitteet = sallittu alue voi olla mitä tahansa
Lokaali vs. globaali optimi 2 1.5 1 0.5 0-0.5 lokaalit minimit -1-1.5 globaali minimi -5-4 -3-2 -1 0 minimoi sin(x 2 +x)+cos(3x) -5 x 2
Lokaali vs. globaali optimi 2 1 0-1 0 2-4 -2 0 2 4-4 -2 Vain kaksi muuttujaa
Optimaalisuus Milloin tiedetään onko tarkasteltava piste optimaalinen? Optimaalisuusehdot Välttämätön optimaalisuusehto = ehdot, jotka optimipisteen täytyy toteuttaa (ei takaa optimaalisuutta) Riittävä optimaalisuusehto = ehdot, joiden täyttyessä piste on optimaalinen 1. asteen ehdot (1. derivaattoja) ja 2. asteen ehdot (2. derivaattoja)
Rajoittamaton tehtävä Välttämätön: Olkoon f differentioituva pisteessä.. Jos on lokaali minimipiste, niin Riittävä: Olk. f kahdesti differentioituva pisteessä.. Jos ja Hessen matriisi on positiivisesti definiitti, niin on aito lokaali minimipiste. Huom. Matriisin alkio h ij =
Info: Matriisin definiittisyys Symmetrinen n x n -matriisi H on positiivisesti semidefiniitti, jos kaikilla Symmetrinen n x n -matriisi H on positiivisesti definiitti, jos kaikilla
Esim. optimaalisuusehdoista 2 1.5 toteuttaa vain välttämättömät ehdot 1 0.5 0-0.5-1 -1.5 toteuttaa sekä välttämättömät että riittävät ehdot -5-4 -3-2 -1 0 minimoi sin(x 2 +x)+cos(3x)
Rajoittamaton tehtävä Adopted from Prof. L.T. Biegler (Carnegie Mellon University)
Epäyhtälörajoitteet Adopted from Prof. L.T. Biegler (Carnegie Mellon University)
Epäyhtälö- ja yhtälörajoitteet Adopted from Prof. L.T. Biegler (Carnegie Mellon University)
Optimaalisuusehdot: välttämättömät
Optimaalisuusehdot: riittävät
Optimointitehtävän ratkaiseminen Etsitään muuttujille optimaaliset arvot Analyyttisesti ratkeavat tehtävät 2 min x, kun x 3 x * = 3 Yleensä analyyttinen ratkaiseminen mahdotonta Ratkaistava numeerisesti approksimaatio * x
Numeerinen ratkaiseminen Mallinnus tehtävästä matemaattinen malli Numeeriset menetelmät matemaattiselle mallille numeerinen esitys Optimointimenetelmä ratkaistaan tehtävä hyödyntäen numeerista esitystä ELI mallinnus simulointi optimointi
Mallinnus ja simulointi Tekesin teknologiaohjelma vuosina 2005-2009 Tavoite: tukea mallinnus- ja simulointialan kehitystä Suomessa sekä edistää alan työkalujen ja menetelmien käyttöönottoa teollisuuden piirissä 36 tutkimushanketta ja 100 yritysprojektia http://www.tekes.fi/masi/
Optimointimenetelmä Algoritmi: matemaattinen kuvaus Menetelmä: mukana numeeriset menetelmät Ohjelmisto: tietokoneohjelmaksi toteutettu menetelmä
Lokaalin optimoinnin menetelmät Löytävät (lähimmän) lokaalin optimin Nopeita Voivat hyödyntää derivaattoja Matemaattinen konvergenssi Esimerkiksi Suorahakumenetelmät Gradienttipohjaiset menetelmät
Globaalin optimoinnin menetelmät Tavoitteena päästä mahd. lähelle globaalia optimia Ei matemaattista konvergenssia Hitaita, vaativat paljon funktion evaluointeja Heuristisia, sisältävät yleensä satunnaisuutta Tunnetuimpia evoluutiopohjaiset menetelmät perustuvat yhden ratkaisupisteen sijasta kokonaisen ratkaisupopulaation parantamiseen
Hybridimenetelmät Yhdistelmiä lokaaleista ja globaaleista menetelmistä Yhdistetään molempien hyvät puolet karkeasti globaalilla menetelmällä, tarkennetaan lokaalilla menetelmällä Haaste: miten menetelmät pitäisi yhdistää? esim. milloin vaihdetaan globaalista lokaaliin? (nopeus vs. tarkkuus)
Optimointiohjelmiston valinta Ohjelmistoja saatavilla paljon (ilmaisiakin) Decision Tree for Optimization Software, http://plato.asu.edu/guide.html NEOS Optimization Software Guide, http://wiki.mcs.anl.gov/neos/index.php/ Optimization_Software_Guide
Tehtävän muokkaaminen Eri optimointiohjelmistot käsittelevät eri muotoisia tehtäviä esim. min/max, epäyhtälö-/yhtälörajoitteet, lineaariset/epälineaariset rajoitteet, jne. Optimointitehtävän muotoilua voi muuttaa yksinkertaisilla operaatioilla maksimointi minimointi
Tehtävän muokkaaminen yhtälörajoite epäyhtälörajoite epäyhtälörajoite yhtälörajoite epäyhtälön suunta muuttujien rajat
Optimointialustoja AMPL, http://www.ampl.com/ GAMS, http://www.gams.com/ MPL, http://www.maximalsoftware.com/ AIMMS, http://www.aimms.com/ Matlab, http://www.mathworks.com/products/matlab
Esim. Matlab Ratkaistaan aiemmin esitelty bensiinin jalostukseen liittyvä optimointitehtävä Matlabilla Matlabissa valmiina Optimization toolbox Käytetään sieltä linprog optimointimenetelmää, koska tehtävä on lineaarinen
Sekoitusongelma
Sekoitusongelma
Sekoitusongelma
Kirjallisuutta esim. P.E. Gill et al., Practical Optimization, 1981 M.S. Bazaraa et al., Nonlinear Programming: Theory and Algorithms, 1993 J. Nocedal, Numerical Optimization, 1999 K. Miettinen, Epälineaarinen optimointi, 2003 J. Haataja, Optimointitehtävien ratkaiseminen, 2004 (saatavilla sähköisesti http://www.csc.fi/csc/julkaisut/oppaat/index_ html)