TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010
Käytännön optimointiongelmien ratkaiseminen
Käytännön optimointiongelmien ratkaiseminen Käytännössä tulee kiinnittää huomiota ainakin seuraaviin asioihin 1. Tehtävän mallinnus 2. Optimointitehtävän muotoilu 3. Soveltuvan optimointiohjelmiston valinta 4. Optimointiohjelmiston ja mallinnustyökalun kytkeminen 5. Optimointi ja saadun ratkaisun analysointi Käydään tarkemmin läpi esimerkkitehtävän avulla
Esimerkkisovellus Jätevedenpuhdistamon optimaalinen suunnittelu
Optimointitehtävän muotoilu Optimoinnin tarkoitus tulee olla selvä mitä oikeasti halutaan? Tavoitteiden/objektifunktioiden määrittely Muuttujien valinta ja rajojen asettaminen pyritään rajaamaan kiinnostava alue Rajoitteiden määrittely Optimoinnin ja sovellusalan asiantuntijoiden yhteistyötä
1. Aktiivilieteprosessi Biokemialliset reaktiot käyttävät paljon happea ja alkaliteettia Happea tuotetaan ilmastuskompressoreilla ja alkaliteettia saadaan käsiteltävän jäteveden lisäksi lisäämällä kemikaaleja Ilmastus kuluttaa paljon energiaa ja kemikaalit maksavat Biomassan konsentraatio tulisi pitää mahdollisimman alhaalla (prosessi toimii paremmin)
1. Aktiivilieteprosessi Kolme (ristiriitaista) minimoitavaa objektifunktiota ammoniumtypen määrä vedessä käytetyn alkaliteettikemikaalin määrä ilmastuksen kuluttama energia Kolme päätösmuuttujaa biomassan konsentraatio käytetyn alkaliteettikemikaalin määrä O 2 -konsentraatio reaktorin viimeisessä osassa Rajoite: puhdistetun jäteveden alkaliteetti tulee olla annetuissa rajoissa (ala- ja yläraja)
2. Toiminta-asetusten optimointi Kokonaistavoite on minimoida typen määrä puhdistetussa jätevedessä ja minimoida käyttökustannukset Käyttökustannukset koostuvat 4 eri objektifunktiosta minimoi ilmastuksen tarve aktiivilieteprosessissa minimoi ylimääräisen hiilen lähteen käyttö denitrifikaatiossa minimoi ylimääräisen lietteen tuotto maksimoi biokaasun tuotto yhteensä 5 objektifunktiota
2. Toiminta-asetusten optimointi Viisi ristiriitaista objektifunktiota Neljä päätösmuuttujaa fermentointiin menevän lietteen pumppaus ylimääräisen lietteen pumppaus O 2 -konsentraatio valitussa reaktorin osassa lisä hiilenlähteen käyttö (metanoli) Rajoitteita (ala- ja ylärajat) puhdistetun veden ammonium pitoisuudelle biomassan konsentraatiolle kokonaistypenpoistolle (%)
Soveltuvan optimointiohjelmiston valinta Mitä tehtävän luonteesta tiedetään? Onko gradientteja saatavilla? Onko tehtävä mahdollisesti epäkonveksi? Onko funktioiden arvojen laskeminen (=tehtävän simulointi) aikaa vievää? Useita tavoitteita, onko päätöksentekijä käytettävissä?
Projektissa käytetyt työkalut Käytettiin interaktiivista lähestymistapaa Prosessi mallinnettiin käyttäen GPS-X prosessisimulaattoria GPS-X kytkettiin IND-NIMBUS optimointiohjelmistoon yksitavoitteisessa optimoinnissa käytettiin globaalin optimoinnin menetelmiä Päätöksentekijä oli asiantuntija puhdistamojen suunnittelussa
Optimointiohjelmiston ja mallinnustyökalun kytkeminen Mitä ohjelmistoja on saatavilla? optimointimenetelmien eri toteutukset Mitä tietoa ohjelmistojen välillä pitää kulkea? Mitkä ovat rajapinnat? rajapintojen muokkausmahdollisuus auttaa kaupallisten mallinnustyökalujen kytkeminen usein hankalaa, ei mahdollista vaikuttaa rajapintaan Kokonaisuuden testaaminen kytkemisen jälkeen ennen optimointia esim. yksinkertaisilla tehtävillä
Kytkeminen projektissa Käytössä kaupallinen simulaattori (GPS-X) ja JY:ssä kehitetty optimointityökalu (IND- NIMBUS) Mahdollisuus vaikuttaa ainoastaan optimointiohjelmiston rajapintaan Simulaattorin rajapinnasta ja sen käytöstä tietoa tekniseltä tuelta
Kytkeminen projektissa Simulaattori tekee mallista suoritettavan tiedoston (.exe) Input simulaattorille komentojonotiedosto (.cmd), joka lukee muuttujien arvot tekstitiedostosta komentojonotiedostolle oma formaatti Output simulaattorille tekstitiedosto sisältäen simuloidut arvot
Kytkeminen projektissa Optimoija haluaa laskea funktioiden arvot (objektit ja rajoitteet) tietyillä muuttujien arvoilla muuttujien arvot kirjoitetaan tekstitiedostoon (values.in) simulointi käynnistetään suorittamalla simulointi systeemikutsuna simulaattori lukee muuttujien arvot ja suorittaa simuloinnin tulokset kirjoitetaan tekstitiedostoon (values.out) optimoija lukee simuloidut arvot tiedostosta
Optimointi ja saadun ratkaisun analysointi Sopivien parametrien määrittäminen (mallinnustyökalu, optimointiohjelmisto) Sovellusalan ammattilaisen hyödyntäminen (mm. päätöksentekijänä) Tehtävän käyttäytymisestä oppiminen Optimointia voidaan myös käyttää mallin testaamisessa Analysoi ja varmista saatujen tulosten järkevyys (yhdessä ammattilaisen kanssa)
Päätöksentekoprosessi Voidaan jakaa kahteen osaan oppimisvaihe päätösvaihe Interaktiivisessa monitavoiteoptimoinnissa oppimisvaiheessa tutustutaan tehtävän käyttäytymiseen antamalla eri preferenssejä ja arvioidaan näiden pohjalta tuotettuja ratkaisuja nähdään mitä voidaan saavuttaa, mitkä ovat kiinnostavia alueita PO joukossa päätösvaiheessa haetaan paras kompromissi kiinnostavalta alueelta tarkennetuilla preferensseillä
1. Aktiivilieteprosessi
1. Aktiivilieteprosessi Kaikkiaan laskettiin 11 PO ratkaisua Viisi näistä oli käytännössä relevanttia (eli nitrifiointi toimii) Pienimmän ammoniumnitraatti pitoisuuden ratkaisu käytti liian paljon energiaa ja kemikaaleja antamatta riittävää parannusta veden laatuun Jäljelle jäävät 4 ratkaisua olivat käytännössä yhtä hyviä energian ja kemikaalien kulutuksen suhteen (mikä tahansa voitaisiin valita) Näistä valittiin ratkaisu, jossa biomassan konsentraatio oli pienin parempi prosessin käytettävyys
1. Aktiivilieteprosessi Hakanen, J., Miettinen, K., Sahlstedt, K., Wastewater Treatment: New Insight Provided by Interactive Multiobjective Optimization, Decision Support Systems, To appear
2. Toiminta-asetusten optimointi
2. Toiminta-asetusten optimointi Alussa DM käytti insinööritietoon perustuvia arvoja tavoitteille ( alustava referenssipiste ) DM pystyi tutkimaan käyttökustannusten välisiä riippuvuuksia (4 eri objektifunktiota) Kaikkiaan laskettiin 10 PO ratkaisua Kokeiltiin IND-NIMBUkSen tarjoamia eri (globaaleja) yksitavoiteoptimoijia Paras kompromissi antoi selvästi paremmat arvot kolmelle objektifunktiolle (11, 15 and 45%) ja vain vähän huonommat arvot muille kahdelle (13 and 7%) verrattuna insinööritietoon Selkein parannus saatiin kemikaalien kulutuksessa
2. Toiminta-asetusten optimointi K. Sahlstedt, J. Hakanen & K. Miettinen, Interactive Multiobjective Optimization in Wastewater Treatment Plant Operation and Design, In Proceedings of ECWATECH 2010, IWA Specialist Conference: Water and Wastewater Treatment Plants in Towns and Communities of the XXI Century: Technologies, Design and Operation, Moscow, Russia
MO kirjallisuutta esim. V. Changkong & Y. Haimes, Multiobjective Decision Making: Theory and Methodology, 1983 Y. Sawaragi, H. Nakayama & T. Tanino, Theory of Multiobjective Optimization, 1985 R.E. Steuer, Multiple Criteria Optimization: Theory, Computation and Applications, 1986 K. Miettinen, Nonlinear Multiobjective Optimization, 1999 K. Deb, Multi-Objective Optimization Using Evolutionary Algorithms, 2001
MO kirjallisuutta esim. M. Ehrgott, Multicriteria Optimization, 2005 J. Branke, K. Deb, K. Miettinen & R. Slowinski (eds): Multiobjective Optimization: Interactive and Evolutionary Approaches, 2008 G.P. Rangaiah (editor), Multi-Objective Optimization: Techniques and Applications in Chemical Engineering, 2009 E. Talbi, Metaheuristics: from Design to Implementation, 2009