Upload
lyngoc
View
226
Download
0
Embed Size (px)
Citation preview
Yleistä
• Tietotekniikan syventävä kurssi, 5 op
• Pakollinen laskennallisten tieteiden FM-opinnoissa (ent. simulointi ja optimointi)
• https://korppi.jyu.fi/kotka/r.jsp?course=134562
• Kurssin kotisivu http://users.jyu.fi/~jhaka/opt/
Esittäytyminen - kysymykset
• Kuka olet?
• Mitä opiskelet?
• Missä vaiheessa opintosi ovat?
• Mitä tiedät optimoinnista?
• Mitä odotat kurssilta – tavoitteesi?
Osaamistavoitteet • Kyky tunnistaa erityyppisiä optimointitehtäviä • Oppia ymmärtämään epälineaaristen optimointitehtävien
ratkaisemisen perusteet • Tunnistaa optimaalisuusehdot rajoittamattomille ja
rajoitetuille optimointitehtäville ja osata soveltaa niitä ratkaisun optimaalisuuden tarkistamiseksi
• Ymmärtää optimointimenetelmän valinnan ja toteutuksen perusteet
• Osata etsiä ja soveltaa optimointiohjelmistoja epälinaaristen optimointitehtävien ratkaisemisessa
• Ymmärtää konveksin ja epäkonveksin optimointitehtävän ratkaisemisen erot
• Tunnistaa monitavoiteoptimointitehtävän ratkaisemisen perusteet
Sisältö
• Optimoinnin peruskäsitteet ja termit
• Erilaisten optimointitehtävien tunnistaminen
• Rajoittamaton optimointi
• Optimointi rajoitteiden kanssa
• Lokaali vs. globaali optimi
• Monitavoiteoptimointi
• Optimointiohjelmistot
• Käytännön sovellukset
Opetusmuodot
• Ei perinteisiä luentoja, joilla ope puhuu edessä • Asiaan tutustutaan etukäteen ja luennolla
käydään asiaa läpi, varsinkin ongelmakohtia – Tukee paremmin oppimista, vaatii läsnäoloa
• Muutama pienempi / yksi isompi harjoitustyö – Tarkennetaan opittuja asioita
• Lisäksi – Luennon aikana tehtäviä harjoituksia – Kotona tehtäviä harjoituksia (’perinteiset demot’) – Vierailuluento (oppimispäiväkirja)
Kurssin vaativuus
• 5 op → 130 h työtä
• Kontaktiopetus 42 h
– luennot 7 x 4h = 28 h
– demot 7 x 2 h = 14 h
• Itse opiskelu 130 – 42 = 88 h
– materiaaliin tutustuminen
– demotehtävien tekeminen
– harjoitustyö
Esimerkki käytännön optimointitehtävän ratkaisemisesta
Case jätevedenpuhdistamon optimaalinen suunnittelu
Jätevedenpuhdistus
• Jätevedenpuhdistuslaitosten (Wastewater treatment plant, WWTP ) matemaattinen mallinnus alkoi yleistyä 1990-luvulla
• Mallinnus keskittyi pääasiassa aktiivilieteprosessiin (activated sludge process, ASP), joka on maailmanlaajuisesti yleisin puhdistustapa – käsiteltävä jätevesi johdetaan ilmastettuun bioreaktoriin,
jossa viljellään biomassaa – jätevesi puhdistetaan eli siitä poistetaan orgaanista hiiltä,
typpeä ja fosforia bioreaktorissa – reaktorin jälkeen biomassaa sisältävä jätevesi johdetaan
selkeyttimeen, jossa biomassa poistuu painovoiman vaikutuksesta ja se johdetaan takaisin reaktoriin
– puhdistettu jätevesi johdetaan lisäkäsittelyyn tai poistetaan laitoksesta
Jätevedenpuhdistamon suunnittelu
• Nykyään puhdistamon suunnittelussa on useita haasteita – toiminnalliset vaatimukset kiristyvät koko ajan
(erityisesti typen ja fosforin poistovaatimukset) – taloudellinen tehokkuus korostuu (tehtaan koon sekä
käytettävän energian ja kemikaalien minimointi) – toiminnallista luotettavuutta tulee korostaa
• Vaaditaan entistä monipuolisempia jätevedenkäsittely prosesseja
→ Useita ristiriitaisia tavoitteita!
PROSIM-projekti
• Pöyry Oy:n vetämä projekti Tekesin Mallinnus ja simulointi –ohjelmassa
• Tarkoituksena mallintaa muutamia suomalaisia puhdistamoja
– tuloksena simulointimallit, joita voidaan käyttää suunnittelun ja optimoinnin tukena
• Lisäksi selvittää kuinka monitavoiteoptimointi voisi hyödyttää suunnittelua (JY mukana)
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
Tehtävän mallinnus
• Vaatii yhteistyötä sovellusalan ammattilaisen kanssa
• Tehtävän esittäminen matemaattisesti → todellisuuden approksimointi
• Mallin numeerinen esitys käyttäen simulaattoria tai muuta mallinnustyökalua → mahdollistaa numeerisen simuloinnin kiinnitetyillä muuttujien arvoilla
• Erittäin tärkeää luotettavien tulosten saamiseksi!
Tehtävän mallinnus projektissa
• Tehtävän mallinnuksesta vastasi puhdistamo-jen suunnittelun asiantuntija Pöyryllä
– kokemusta simuloinnista muttei monitavoite-optimoinnista
• Mallinnukseen käytettiin kaupallista prosessisimulaattoria (GPS-X)
• Kaksi tapausta: yksinkertainen ja monimutkaisempi
1. Aktiivilieteprosessi
• Nitrifioiva aktiivilieteprosessi
• Prosessissa ammonium vety (ammonium nitrogen) hapettuu nitraatiksi (nitrate nitrogen) biokemiallisessa reaktiossa
• Tarkasteltava jätevesi vastaa tyypillistä suomalaista mekaanisesti ja kemiallisesti esikäsiteltyä kunnallista jätevettä
• 1 simulaatio vie n. 5 sekuntia
2. Toiminta-asetusten optimointi
• Malli kuvaa modernia puhdistamoa (kemiallinen ja biokemiallinen puhdistus) – esikäsittely (hiekan poisto, kiinteän aineen erotus) – typen poisto (nitrifioiva ASP) – lietteen käyminen (hiilen lähde denitrifikaatioon) – lietteen anaerobinen mädätys (biokaasua sähkön
tai lämmön tuottoon) – ylijäämäliete ja lietteen käsittelyn hylky
kierrätetään sekoittamalla tulevaan jäteveteen
• 1 simulaatio vie n. 11 sekuntia
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ä
Jätevedenpuhdistamon suunnittelu
• Perinteisesti WWTP on suunniteltu – vertaamalla muutamia prosessivaihtoehtoja
käyttäen simulointia ja insinööritietämystä – tai käyttäen yksitavoitteista optimointia, missä
kokonaiskustannukset on minimoitu muuttamalla kaikki tavoitteet rahaksi
• Heikkoudet – ensimmäinen tapa ei ole systemaattinen – toinen piilottaa tavoitteiden keskinäiset
riippuvuudet ja sisältää epävarmuuksia • Ainoastaan 2 artikkelia, joissa monitavoite-
optimointia käytetty; ei interaktiivisia lähestymistapoja
Optimointitehtävän muotoilu projektissa
• Optimointitehtävät muotoiltiin yhteistyössä Pöyryn asiantuntijan kanssa
• Molemmille tapauksille selvät tavoitteet
• Muuttujien vaihteluvälejä säädettiin projektin kuluessa
– realistisempi alue, tehostaa optimointia
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ä – O2-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 – O2-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ä?
Simulaatiopohjainen optimointi
• Suljettu (Black-box) – ensin simuloidaan, sitten optimoidaan – optimoija kutsuu simulaattoria, aina steady-state
ratkaisu (kaikki rajoitteet toteutuvat) – aikaavievä, ei vaadi juurikaan tietoa optimoitavasta
mallista
• Avoin – samanaikainen simulointi ja optimointi – hyödynnetään tietoa optimoitavasta prosessista – steady-state (kaikki rajoitteet toteutuvat) vasta
optimaalisen ratkaisun löytyessä
Optimoinnin haasteet
Puhdistamon suunnittelutehtävän ominaisuuksia • simulaatiopohjainen (usein black-box) • ei gradientteja saatavilla • laskennallisesti vaativa (simulointi vie aikaa) • sisältää jatkuvia muuttujia ja epälineaarisia
funktioita • tulee ottaa huomioon useita näkökulmia
(monitavoitteinen) • vaatii insinööritietämystä (päätöksentekijä) → Tarvitaan tehokkaita optimointityökaluja
päätöksenteon tueksi
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
IND-NIMBUS • http://ind-nimbus.it.jyu.fi/
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
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)
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, 51, 328-337, 2011
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
• J. Hakanen, K. Sahlstedt & K. Miettinen, Wastewater Treatment Plant Design and Operation under Multiple Conflicting Criteria, Submitted to Environmental Modelling & Software
Opiskeltava materiaali ke 12.9. luennolle
• Optimoinnin peruskäsitteet
• Matemaattinen perusta
• Minimointi yhden muuttujan suhteen
• Luentomoniste sivut 1-16
• Optimointitehtävien ratkaiseminen (Juha Haataja, CSC) sivut 13-35
http://www.csc.fi/csc/julkaisut/oppaat/index_html