Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Merkintöjä := vasen puoli määritellään oikean puolen lausekkeella s.e. ehdolla; siten että (engl. subject to, s.t.) on voimassa jokaisella on olemassa ei ole olemassa A T matriisin A transpoosi Optimointimallin muodostaminen Esimerkki: Päätöksenteko-ongelma: Sinulla on viiden viikon työsopimus Jyväskylässä ja asut Helsingissä. Lennät Jyväskylään maanantaina ja palaat Helsinkiin keskiviikkona. Lentolippuvaihtoehtoja: Meno-paluu lippu 100 E; jos meno- ja paluupäivän väliin jää viikonloppu 20 % :n alennus; pelkkä menolippu (paluulippu) 70 E. Kuinka ostaa liput? Optimointimallissa määritellään tehtävän (1) päätösvaihtoehdot (2) rajoitukset (3) kohdefunktio vaihtoehtojen arvioimiseksi Päätösvaihtoehdot: a) 5 meno-paluu lippua Helsinki-Jyväskylä-Helsinki b) 1 Helsinki-Jyväskylä; 4 Jyväskylä-Helsinki-Jyväskylä yli viikonlopun 1; Jyväskylä-Helsinki c) 1 Helsinki-Jyväskylä-Helsinki (1. maanantai, 5. keskiviikko); 4 Jyväskylä- Helsinki-Jyväskylä yli viikonlopun Rajoitukset: joka viikko pitää lähteä Helsingistä maanantaina ja palata keskiviikkona. 1
Kohdefunktio: vaihtoehdon kustannus. Paras vaihtoehto pienin kustannus vaihtoehto a: kustannus = 5 100 E = 500 E vaihtoehto b: kustannus = 70 E + 4 0,8 100 E + 70 E = 460 E vaihtoehto c: kustannus = 5 (0,8 100 E) = 400 E Vaihtoehto c on siis optimaalinen vaihtoehto ja 400 E on tätä vastaava optimikustannus. Optimointimalli muodostuu päätösvaihtoehtojen eli op-timointimuuttujien joukosta, näitä koskevista rajoituksista ja kohdefunktiosta. Mallin ratkaisu antaa sen päätösmuuttujan arvon, joka optimoi (maksimoi tai minimoi) kohdefunktion arvon ja toteuttaa rajoitukset. Optimointitehtävänä on ratkaista optimointimalli, siis maksimoida (tai minimoida) kohdefunktion arvo, kun vaihtoehto on käypä (so. toteuttaa rajoitukset). Esimerkki: Optimaalinen suunnittelu (optimal design): L pituisesta rautalangasta on väännettävä suorakaide, jonka pinta-ala on suurin mahdollinen. (1) optimointimuuttujat (päätösvaihtoehdot): x := leveys y := korkeus (2) rajoitukset: 2(x + y) = L x,y 0 (3) kohdefunktio: f(x,y) := xy x y Optimointimalli: maksimoi xy ehdolla 2(x + y) = L (yhtälörajoitus) x, y 0 (epäyhtälörajoitus) Kirjoitetaan muotoon max x,y f(x,y) := xy s.e. 2(x + y) = L x,y 0 Tehtävän ratkaisu: x = y = L/4. 2
Optimointitehtävien luokittelu Lue http://www.sal.tkk.fi/opinnot/mat-2.2105/taustatietoa.html Lineaarinen tehtävä (ks. Mat-2.3140 Lineaarinen ohjelmointi) Kohdefunktio ja rajoitukset lineaarisia min s.e. c T x = n i=1 c ix i Ax = b x 0 missä x i :t ovat optimointimuuttujia, x :=. c 1 c n b 1 x i 0 i); c :=., b :=. b m x 1 x n, ja x 0 (merkintä tarkoittaa, että ja m n matriisi A ovat vakioita. Epälineaarinen tehtävä (ks. Mat-2.3139 Optimointioppi) Kohdefunktio ja rajoitukset epälineaarisia min f(x) st. g i (x) 0, i = 1,...,m h i (x) = 0, i = 1,...,l x X missä X R n sisältää muotoa a i x i b i i olevia rajoituksia ja f, g i ja h i mahdollisesti epälineaarisia funktioita R n R. Epälineaarisen tehtävän erikoistapauksena on konveksi optimointitehtävä, jossa f ja g i :t ovat konvekseja ja h i :t lineaarisia. Monitavoitetehtävä (ks. Mat-2.4153 Monitavoiteoptimointi) Monta kohdefunktiota Esimerkki: Portfolion eli arvopaperien i = 1,...,n optimointi. Olkoon c i satunnaismuuttuja, joka kuvaa arvopaperin i tuottoa per sijoitettu rahayksikkö 3
ko. aikavälillä. Olkoon E(c i ) sen odotusarvo, ja E(c) T := [E(c 1 ),...,E(c n )]. Olkoon V satunnaisvektori c:n kovarianssimatriisi. Nyt voidaan maksimoida hyödyn odotusarvoa f 1 (x) := E(c) T x; tai minimoida pelkästään c i :den varianssista aiheutuvaa riskiä f 2 (x) := x T Vx; tai voidaan samanaikaisesti yrittää sekä maksimoida hyötyä, että minimoida riskiä, jolloin saadaan monitavoitetehtävä. Portfolion optimointia käsitellään myöhemmin myös tällä kurssilla. Verkkotehtävä (ks. Mat-2.4143 Verkko-optimointi) Tyypillisesti tehtävä on samaa muotoa kuin lineaarinen tehtävä. Lisäksi on mukana yleensä kokonaislukumuuttujia, esim. on-off muuttujat 0, 1. Esimerkki: Määrättävä kahden kaupungin välinen lyhin tie olemassaolevaan tieverkostoon. Kokonaislukutehtävä (ks. Mat-2.4146 Kokonaislukuoptimointi) x i Z, jollain i, missä Z on kokonaislukujen joukko. Dynaaminen tehtävä (ks. Mat-2.3148 Dynaaminen optimointi) Esimerkki: Määrää L pituisen köyden x(s) rajoittama maksimipinta-ala s.e. köyden päät ovat pisteissä a ja b, x(a) = x(b) = 0. Tämä on Tyyrian prinsessa Didon ongelma. Kerrotaan, että prinsessa ratkaisi ongelman ja sai eräältä heimopäälliköltä Pohjois-Afrikan rannikolta maapalstan, jolla oli ko. maksimipinta-alaominaisuus. Näin syntyi muinainen Karthago eli nykyinen Tunisia. Optimointitehtävät ratkaistaan numeerisesti iteroimalla x k+1 = f(x k,x k 1,...). Historiallisista syistä tiettyjä numeerisia ratkaisumenetelmiä kutsutaan ohjelmoinniksi. Lineaarisella ohjelmoinnilla tarkoitettiin alunperin lineaarisen optimoinnin simplex-menetelmää. Nykyään lineaarinen ohjelmointi ja lineaarinen optimointi ovat synonyymeja. Dynaamisella ohjelmoinnilla tarkoitetaan dynaamisen optimointitehtävän ratkaisemista rekursiolla siten, että jokaisessa vaiheessa ns. Bellmannin optimaalisuusperiaate toteutuu. Optimointimallin muodostaminen tapahtuu OR-asiantuntijan ja asiakkaan välisenä vuorovaikutteisena prosessina (OR := Operations Research = Operaatiotutkimus). 4
Mallinrakennuksen vaiheet: (1) Tehtävän määrittely (2) Mallin muodostaminen (3) Mallin ratkaiseminen (4) Validointi (5) Ratkaisun käyttöönotto Vaiheet (1), (2) ja (5) muodostavat mallinrakennuksen ns. art -osan. Tällainen osaaminen tulee yleensä vain kokemuksen myötä. Vaiheet (3) ja (4) vaativat melko suoraviivaista science osaamista, jota opitaan mm. tällä kurssilla. 5