Luento 6: Monitavoiteoptimointi Monitavoiteoptimointitehtävässä on useita optimoitavia kohdefunktioita eli ns kriteereitä: f 1,, f m Esimerkiksi opiskelija haluaa oppia mahdollisimman hyvin ja paljon mahdollisimman lyhyessä ajassa ja saada samalla sivuansioista mahdollisimman paljon rahaa siten, että vapaa-aikaakin jäisi mahdollisimman paljon Optisessa teollisuudessa kameran linssi halutaan tehdä mahdollisimman laadukkaaksi ja edulliseksi Siltainsinööri haluaa rakentaa sillan kestäväksi, halvaksi ja maisemaan sopivaksi Yhteistä kaikille edellä mainituille ongelmille on se, että niissä on useita tavoitteita, jotka tulisi saavuttaa yhtäaikaisesti ja mahdollisimman hyvin Esimerkki Portfolion eli arvopaperijoukon optimoinnissa: f 1 := tuoton odotusarvo; maksimoidaan f 2 := tuoton varianssi; minimoidaan Lisäksi voisi olla muitakin kriteereitä, esimerkiksi: f 3 := sijoitusajanjakson osingot; maksimoidaan Esimerkki Vesistön optimaalisessa (vuotuisessa) säännöstelyssä kriteereinä voivat olla: f 1 := vesivoiman vuotuinen tuotto; maksimoidaan f 2 := vuotuiset säännöstelykustannukset; minimoidaan f 3 := veneily- ja muu virkistyskäyttö (päivää/vuosi); maksimoidaan f 4 := kalojen kutualueet (hehtaaria); maksimoidaan Tehtävässä esimerkiksi valtio tai kunta voisi olla päätöksentekijä eo kriteerein Voisi myös olla, että kutakin kriteeriä vastaa ao intressiryhmä, esim kriteeriä f 3 veneilijät ja mökkeilijät, jolloin kyseessä on neljän päätöksentekijän monitavoiteoptimointitehtävä Tehtävä 1 Kirjoitetaan monitavoitetehtätävä muotoon max{f 1 (x),, f m (x)} se x X R n, missä X on käypien päätösvaihtoehtojen joukko Huomaa Yleensä ei ole olemassa x X, joka maksimoisi kaikki funktiot f 1,, f m samanaikaisesti Minkälainen optimiratkaisu edellä olevalle tehtävälle olisi mielekäs? Tätä tutkimme seuraavassa Olkoon aluksi n = 2, m = 2 Alla olevat määritelmät on helppo yleistää tapaukseen n, m 2 1
Kuva 1: Käyvän alueen Pareto-optimaaliset pisteet Olkoon x X ja merkitään z := [z 1, z 2 ] T = [f 1 (x), f 2 (x)] T Joukon X kuvajoukko F := {(f 1 (x), f 2 (x)) x X} on piirretty kuvaan 1 Otetaan z-kärkisen kartion,, jonka sivut ovat koordinaattiakselien suuntaiset, ja joukon F leikkaus Näissä pisteissä, paitsi z:ssa, f 1 :n ja f 2 :n arvot ovat joko aidosti parempia, tai toinen aidosti parempi ja toinen vähintään yhtä hyvä, kuin z:ssa, ellei z P, jolloin ko alue sisältää vain pisteen z Oletamme aluksi, että joukko F on konveksi, eli F sisältää kaikkien pisteidensä z F, z F välisen janan, eli joukon L = { z z = αz + (1 α)z ; α [0, 1]} Konveksisuutta käsitellään lähemmin luennolla 12 Lisäksi oletamme, että joukon F reunapisteiden joukko eli reuna kuuluu joukkoon F Siis jos z = [f 1 (x), f 2 (x)] T F, z / P, voidaan f 1 :n ja f 2 :n arvoja aina parantaa, ja toista aidosti, siirtymällä johonkin joukon F pisteeseen Jos sen sijaan siirrytään pisteestä z P johonkin toiseen F :n pisteeseen, niin aina ainakin toisen komponentin arvo aidosti huononee F :n pisteitä z P kutsutaan tehtävän Pareto-optimaalisiksi- tai Paretotehokkaiksi pisteiksi, tai vain Pareto-pisteiksi Vastaavat x:t, eli x:t, joille [f 1 (x), f 2 (x)] T P, ovat Pareto-optimaalisia vaihtoehtoja Huomaa Ajatellaan tehtävää, missä F on kuten kuvassa 2 Pareto-pisteiden joukko on P, kun funktioita f 1 ja f 2 maksimoidaan, ja P silloin, kun niitä minimoidaan Määritelmä Olkoon X R n ja f := [f 1,, f m ] T Piste x X on Paretooptimaalinen, jos ei ole olemassa x X se f i (x ) f i (x), 1 i m, ja 2
Kuva 2: Pareto-pisteet P maksimointitehtävässä ja Pareto-pisteet P minimointitehtävässä ainakin yksi epäyhtälö on aito Kriteerivektori z F on Pareto-optimaalinen, eli z P, jos z = [f 1 (x),, f m (x)] T jollakin x X, ja x on Paretooptimaalinen Määritelmä Monitavoiteoptimointitehtävän ratkaisun muodostavat tehtävän Pareto-optimaaliset vaihtoehdot x X Määritellään vielä Pareto-optimaalisuuden rinnalle ns heikko Pareto-optimaalisuus Määritelmä Piste x X on heikosti Pareto-optimaalinen, jos ei ole olemassa toista pistettä x X se f i (x ) f i (x), 1 i m Kriteerivektori z F on heikosti Pareto-optimaalinen, jos sitä vastaava käyvän joukon piste x X on heikosti Pareto-optimaalinen Kuvassa 3 on esimerkki heikosti Pareto-optimaalisten kriteerivektoreiden joukosta Huomaa, että Pareto-optimaalisten kriteerivektoreiden joukko P on heikosti Pareto-optimaalisten pisteiden osajoukko Pareto-pisteiden laskeminen Muista: w = [w 1, w 2 ] T on suoran w 1 z 1 + w 2 z 2 = vakio gradientti ja ilmaisee funktion w T z kasvusuunnan, kuva 4 Painokertoimia w 1, w 2 > 0, w 1 + w 2 = 1, vastaava Pareto-piste saadaan ratkaisemalla tehtävä 2 Huomaa Jos w 1 tai w 2 = 0 ja tehtävän ratkaisu yksikäsitteinen, kyseessä on myös Pareto-piste 3
Kuva 3: Heikosti Pareto-optimaalisten pisteiden joukko Kuva 4: Konveksin joukon F Pareto-pisteet Reunimmaiset pisteet saadaan painokertoimien (w 1, w 2 ) arvoilla (1,0) ja (0,1) 4
Tehtävä 2 max se w T z z F Edellä oletettiin, että F :n pinta on konveksi Yleisesti pätee: Jos z 0 on tehtävän 2 ratkaisu ja w 1, w 2 > 0, niin z 0 on Pareto-piste Katso myös kuva 5 Tutkitaan nyt monitavoitetehtävää muodossa max m w i f i (x) i=1 se x X R n, missä w i 0, m i=1 w i = 1, ovat annettuja painokertoimia Menetelmän yleisyyttä ei heikennä se, että painot on normeerattu siten, että niiden summa on yksi Tehtävä ratkaistaan sopivalla yhden funktion optimoinnin menetelmällä Seuraavat lauseet ovat voimassa Lause Olkoon x X tehtävän ratkaisu Tällöin x on heikosti Paretooptimaalinen Lause Olkoon x tehtävän ratkaisu siten, että w i > 0, 1 i m Tällöin x on Pareto-optimaalinen Todistus Vastaoletus: oletetaan, että x ei ole Pareto-optimaalinen Tällöin on olemassa x X siten, että f i (x ) f i (x), 1 i m, ja ainakin yksi epäyhtälöistä on aito Koska kaikilla i pätee w i > 0, niin w i f i (x ) w i f i (x), 1 i m, ja jokin epäyhtälöistä on aito Tällöin m i=1 w if i (x ) > m i=1 w if i (x), mikä on ristiriidassa sen kanssa, että x on painokerrointehtävän ratkaisu Siis x on Pareto-optimaalinen Lause Tehtävän ratkaisu on Pareto-optimaalinen, jos se on yksikäsitteinen Lause Olkoon F konveksi joukko, joka sisältää reunansa Jos x X on Pareto-optimaalinen, niin tällöin on olemassa painokerroinvektori w, w i 0, 1 i m; m i=1 w i = 1, siten, että x on tehtävän ratkaisu Tavallisesti matemaatikko ratkaisee monitavoitetehtävän vuorovaikutteisesti päätöksentekijän kanssa Tällöin seuraavat lähestymistavat ovat yleisesti käytössä: 5
Kuva 5: Ei-konveksin joukon Pareto-pinta P 1 P 2 P 3 Joukon P 2 pisteitä ei voida löytää millään painokertoimilla (a) Päätöksentekijä valitsee painokertoimet Esimerkiksi jos kriteeri f 1 on kaksi kertaa tärkeämpi kuin f 2, niin kahden kriteerin tehtävä on: max 2f 1 + f 2, tai max 2 3 f 1 + 1 3 f 2 (b) Matemaatikko laskee koko P :n, josta päätöksentekijä valitsee mieluisimman vaihtoehdon Tavoiteoptimointi Tavoiteoptimoinnissa (Goal programming) pyritään etsimään ratkaisu, joka täyttää tietyt tavoitteet Mikäli kaikkia tavoitteita ei pystytä täyttämään, minimoidaan poikkeamaa tavoitteista Joukko tavoitteita tavoitteelle i: s + i s i 0 Muuttuja kuvaa paljonko tavoitteesta i jäädään 0 Muuttuja kuvaa paljonko tavoite i ylitetään s i :t ovat ns poikkeamamuuttujia Painokertoimet kertovat tavoitteiden keskinäisen tärkeyden Tavoitteita voidaan ylittää ja alittaa, esimerkiksi sopivan optimoitavan funktion määrää- 6
mällä tavalla Tavoitetehtävä on muotoa: tavoite 1: c T 1 x b 1 c T 1 x + s + 1 s 1 = b 1 tavoite i: c T i x b i c T i x + s + i s i = b i tavoite j: c T j x = b j c T j x + s + j s j = b j tavoite m: c T mx = b m c T mx + s + m s m = b m missä x S, S on käypien vaihtoehtojen joukko; s + i, s i 0 Minimoidaan poikkeamia tavoitteista tai poikkeamien painotettua summaa, jolloin saadaan tavoiteoptimoinnin tehtävä: missä w + i, w i Erikoistapaus: min m (w + i s+ i + w i s i ) i=1 se eo yhtälörajoitukset voimassa, x S; s + i, s i 0 0, ovat painokertoimia tavoite 1: z 1 = c T 1 x = b 1 tavoite 2: z 2 = c T 2 x = b 2 missä z F ja F on kuvassa 5 oleva joukko Tavoitepiste b = [b 1, b 2 ] T on ns utopiapiste, jota ei voi saavuttaa Tällöin voidaan valita esimerkiksi sellainen piste z 0 F, että z 0 on minimietäisyydellä pisteestä b jonkin sopivan normin suhteen; so z 0 ratkaisee tehtävän z b min z F w + i s+ i + w i s i voidaan tulkita erääksi tällaiseksi normiksi 7
Esimerkki Euklidinen minimietäisyys : d = min z b := min (z1 b 1 ) 2 + (z 2 b 2 ) 2 z F z F 8