11.10.2013

Mitä on matemaattinen optimointi?

Matemaattista optimointia voisi osuvimmin kutsua parhaan ratkaisun etsimiseksi tilanteessa, jossa etsimiseen kohdistuu yksi tai useampia rajoitteita. Monet esitykset aiheesta ovat melko teknisiä, joten tässä aihetta lähestytään esimerkkien voimin.

Yhtälömuotoisesti ratkeava (formaali) matemaattinen optimointi

Pörssissä käydään kauppaa tuotteella X. Kutsukaamme sitä vaikka gadgetiksi. Ostajat ja myyjät esittävät pörssiin tarjouksia siitä, kuinka monta gadgetia he haluavat ostaa tai myydä ja mihin hintaan, esimerkiksi ostaja A haluaa ostaa 3 gadgetia yhteishintaan 9 euroa. Lisäksi ostajat ja myyjät kertovat kuinka he ovat valmiita sopeuttamaan määrää, jos hintaa muutetaan. Ostaja A voi esimerkiksi kertoa, että hintaan 10 euroa hän haluaakin ostaa vain 2 gadgetia.

Ideaalitilanteessa pörssi voisi hyväksyä kaikki tarjoukset sellaisenaan. Valitettavasti tämä ei ole mahdollista kahdesta syystä: ensinnäkin markkinahinnan on oltava kaikille sama. Toiseksi kysynnän ja tarjonnan on kohdattava. On siis tarjottava ostajille ja myyjille eri määriä ja hintoja kuin he ovat toivoneet – mutta mitä?

Ensin pörssin on päätettävä mitä se tavoittelee ja muodostettava jokin funktio joka mittaa kuinka hyvin tavoite on saavutettu. Tässä esimerkissä on luontevaa ajatella, että vaikka pörssi ei voikaan tarjota juuri sitä hintaa, jota tarjoaja on toivonut, voi pörssi kuitenkin haluta osua markkinahinnallaan mahdollisimman lähelle sitä. Tavoitteen saavuttamista voisi mitata vaikkapa funktio, joka laskee kullekin tarjoajalle markkinahinnan poikkeaman toivotusta hinnasta sekä summaa nämä poikkeamat yhteen yli tarjoajien. Mitä pienempi summa, sen paremmin pörssi on onnistunut tehtävässään.

Pörssi kohtaa optimoinnissaan kuitenkin rajoitteen: markkinahintaa ei voida valita vapaasti, koska kokonaiskysynnän ja -tarjonnan eli kaupattavien määrien on kohdattava. Gadgetien kokonaiskysyntä kasvaa ja tarjonta laskee niiden hinnan laskiessa, sen mukaisesti mitä tarjoajat ovat ilmoittaneet hintareaktioikseen.  Ja sama luonnollisesti toisin päin kun hinta nousee. Tämä tarkoittaa sitä, että vain jotkut markkinahinnat ovat mahdollisia pörssin lopulliseksi markkinahinnaksi. Olkoot näitä hintoja vaikkapa 2, 4 ja 5 euroa.

Alla olevassa kuviossa havainnollistetaan pörssin optimointiongelmaa. Sen ratkaisu on mahdollisista markkinahinnoista se, joka tuottaa pienimmän tavoitefunktion (poikkeamien summan) arvon. Jos 2 euron markkinahinta tuottaa poikkeamien summaksi 10, 4 euroa tuottaa 8 ja 5 euroa 9, on matemaattisesti optimoitu markkinahinta tuo 4 euroa. Se ei ole täydellinen, koska poikkeamien summa on enemmän kuin nolla, mutta rajoitteet huomioiden se on paras mahdollinen –optimoitu– markkinahinta. 3 euroa tuottaa 4:ää euroa pienemmän hintapoikkeamien summan, mutta se ei kelpaa markkinahinnaksi, koska kysyntä ja tarjonta eivät kohtaisi.

MatemOptKuva1

Esimerkki on luonnollisesti yksinkertaistettu, mutta siitä löytyvät matemaattisen optimoinnin keskeiset komponentit: olennaista siinä on ensin hahmottaa mitä liiketoiminnallista tavoitetta optimoidaan. Esimerkkimme tapauksessa tämä oli mahdollisimman lähelle toivottuja hintoja osuva markkinahinta. Seuraava vaihe on muodostaa funktio, joka mittaa tavoitteen saavuttamista – pörssin tapauksessa tämä oli hintapoikkeamien summa yli tarjoajien. Lopuksi hahmotetaan rajoitteet ja valitaan rajoitteiden sallimista arvoista se, joka tuottaa parhaan tavoitefunktion arvon. Pörssiä rajoitti vaatimus kysynnän ja tarjonnan kohtaamisesta. Tämä jätti jäljelle vain kolme mahdollista markkinahintaa, joista 4 euroa tuotti pienimmät poikkeamat toivotuista hinnoista.

Algoritmeihin perustuva matemaattinen optimointi

Kaikki optimointiongelmat eivät ratkea edellä kuvatulla reseptillä. Edellisen ongelman ytimestä löytyy viime kädessä yhtälö, jonka kone voi ratkaista – tyyliin jos x+2 on 5, niin mikä on x. Aina ongelma ei ole rakenteeltaan tälläinen, tai ongelman tavoitefunktio olisi toivottoman monimutkainen muodostaa. Tälläisissa tilanteissa optimointiongelma ratkeaa usein rakentamalla jotakin maanläheistä etsintää suorittava algoritmi.

Esimerkkinä voisi toimia omakotitalon lämmityksen optimointi: jos talo voi olla kerrallaan 3 tuntia ilman lämmitystä tietyssä ulkolämpötilassa, niin miten nuo 3 tunnin aikajaksot tulisi vuorokauteen sijoittaa, kun sähkön pörssihinnan kehitys tunneittain pystytään ennustamaan? Kuinka monta ja mihin kohtaan vuorokautta niitä tulee? Entä kahden ja yhden tunnin jaksoja? Entä miten kannattaa reagoida, kun ulkolämpötila vaihtelee? Osa algoritmin logiikkaa voisi olla vaikkapa se, että ainakaan kalleimpien tuntien aikana ei kannata lämmittää ja halvin tunti kannattaa aina hyödyntää.

Louhian matemaattisen optimoinnin palvelut

Louhialla on syvällistä sekä käytännöllistä että teoreettista osaamista matemaattisesta optimoinnista. Tarjoomaan kuuluvat sekä formaali matemaattinen optimointi että algoritmeihin perustuva optimointi silloin, kun ongelman monimutkaisuus ei salli yhtälömuotoisten keinojen käyttöä.

Louhian palvelut kattavat optimointijärjestelmien määrittelun, konsultoinnin ja rakentamisen. Monen optimointihankkeen akilleen kantapää eli optimoinnin toiminnan raportointi onnistuu myös Louhian Business Intelligence -osaamisen kautta – näin optimointi on läpinäkyvää ja ymmärrettävää eikä vain käsittämättömiä lukuja tuottava black box.

On myös mahdollista yhdistellä tarpeen mukaan analytiikkaa ja matemaattista optimointia Louhian tarjoomasta. Voidaan esimerkiksi muodostaa ennakoivan analytiikan keinoin ennuste siitä, mitä todennäköisimmin tulee tapahtumaan ja perustaa matemaattinen optimointi tämän tiedon pohjalle. Tällöin kysyttäisiin ”Mikä on paras reaktioni siihen, mitä todennäköisesti tulee tapahtumaan?” eikä ”Mikä on paras reaktioni siihen, minkä jo tiedän menneessä tapahtuneen?” Näin voidaan menetellä myös silloin, kun optimoinnin pohjaksi tarvittavia tietoja ei vielä ole saatavilla sillä hetkellä, kun liiketoiminnallinen optimointipäätös pitäisi jo tehdä.

Ota rohkeasti yhteyttä Louhian osaajiin ja katsotaan yhdessä kuinka voimme auttaa yritystäsi matemaattisessa optimoinnissa!

MatemOptKuva2MatemOptKuva3

Share
Contact Person

Blog writer

Antti Ollikainen

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!