Heuristiset GISoptimointimenetelmät. Harri Antikainen

Samankaltaiset tiedostot
Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely)

Kombinatorinen optimointi

Algoritmit 2. Luento 11 Ti Timo Männikkö

REITTI- JA SIJAINTIALLOKAATIO-ONGELMIEN RATKAISEMINEN GEOINFORMATIIKAN MENETELMIN: ESIMERKKEINÄ MAASTOINVENTOINTIREITIT JA SAIRAALAPALVELUT

Algoritmit 2. Luento 13 Ti Timo Männikkö

Search space traversal using metaheuristics

Algoritmit 2. Luento 12 To Timo Männikkö

Geneettiset algoritmit

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

Algoritmit 2. Luento 12 Ke Timo Männikkö

Mat Lineaarinen ohjelmointi

Harjoitus 6 ( )

Malliratkaisut Demot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Harjoitus 6 ( )

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Algoritmit 1. Luento 10 Ke Timo Männikkö

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

GIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

v 8 v 9 v 5 C v 3 v 4

Määrittelydokumentti

Algoritmit 1. Luento 13 Ti Timo Männikkö

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Johdatus verkkoteoriaan 4. luento

Kysyntäohjautuva joukkoliikenne ja dynaaminen matkansuunnittelu. Lauri Häme

j n j a b a c a d b c c d m j b a c a d a c b d c c j

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

3.4 Peruutus (backtracking)

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto:

Algoritmit 1. Luento 14 Ke Timo Männikkö

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Algoritmit 2. Luento 13 Ti Timo Männikkö

Kiinteistö- ja rakennusalan digitalisaatio: BIM & GIS

TIEA382 Lineaarinen ja diskreetti optimointi

Ohjelmoinnin perusteet Y Python

SIMO-pilotointi Metsähallituksessa. SIMO-seminaari

Tietotekniikan valintakoe

Matematiikan tukikurssi

Kimppu-suodatus-menetelmä

Aki Taanila LINEAARINEN OPTIMOINTI

OPERAATIOTUTKIMUS METSÄTALOUDESSA

13 Lyhimmät painotetut polut

T : Max-flow / min-cut -ongelmat

JOHDATUS TEKOÄLYYN TEEMU ROOS

10. Painotetut graafit

JOHDATUS TEKOÄLYYN TEEMU ROOS

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä

Algoritmit 2. Luento 10 To Timo Männikkö

TAMPEREEN TEKNILLINEN YLIOPISTO

Tietorakenteet ja algoritmit

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Algoritmit 1. Luento 13 Ma Timo Männikkö

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Nollasummapelit ja bayesilaiset pelit

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Mat Lineaarinen ohjelmointi

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

7.4 Sormenjälkitekniikka

P (A)P (B A). P (B) P (A B) = P (A = 0)P (B = 1 A = 0) P (B = 1) P (A = 1)P (B = 1 A = 1) P (B = 1)

Algoritmit 1. Luento 9 Ti Timo Männikkö

MS-C1340 Lineaarialgebra ja

Algoritmit 1. Luento 10 Ke Timo Männikkö

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2009

Optimoinnin mahdollisuudet tilaus- ja toimitusketjujen hallinnassa. Helsinki, Olli Bräysy

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Luento 3: Simplex-menetelmä

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Katkonnanohjaus evoluutiolaskennan keinoin

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Bayesilainen päätöksenteko / Bayesian decision theory

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Luento 9. June 2, Luento 9

Ohjelmoinnin perusteet Y Python

GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit

JOHDATUS TEKOÄLYYN TEEMU ROOS

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

Demo 1: Simplex-menetelmä

Parhaita käytäntöjä käyttöön Benchmarking lähtökohtana, RouteSmart työkaluna

Älykäs datan tuonti kuljetusongelman optimoinnissa. Antoine Kalmbach

Kognitiivinen mallintaminen 1

Optimoinnin sovellukset

REITTIANALYYSI MILA SPECIAL 1 SÖRNÄINEN, KATRI VALAN PUISTO

Firmaliiga Högbacka

Lentotiedustelutietoon perustuva tykistön tulenkäytön optimointi (valmiin työn esittely)

Kokonaislukuoptimointi hissiryhmän ohjauksessa

MS-C2105 Optimoinnin perusteet Malliratkaisut 5

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Transkriptio:

Heuristiset GISoptimointimenetelmät Harri Antikainen 14.2.2017

Luennon sisältö Mitä on GIS-optimointi Esimerkki: kauppamatkustajan ongelma Mitä on heuristiikka Optimointi ja heuristiikka omassa tutkimuksessa Metaheuristiikka Yhteenvetoa 2

Mitä on GIS-optimointi? Parhaan ratkaisun löytäminen johonkin sijainti- tai reititysongelmaan Minimointi tai maksimointi (lyhin, nopein, kattavin,...) Tasapainotilan tai satulapisteen löytäminen Lyhin (tai nopein) kulkureitti Palveluiden tehokas sijoittaminen 3

Optimointi osana tutkimusta Deskriptiivinen Positiivinen Normatiivinen Mitä on? Miksi on? Miten pitäisi olla? Optimointi liittyy normatiiviseen tutkimukseen "Given some axioms, considered as basic rationality axioms which should be fulfilled by any rational decision maker, certain principles for decision making are developed to which, then, a rational decision maker has to adhere if they want to reach the best decision Esim. reitti- ja sijaintioptimoinneissa tyypillisesti oletetaan että rationaalinen toimija haluaa kulkea aina mahdollisimman lyhyen matkan 4

Optimoinnin haastavuus Optimoinnin tehtävänä on siis löytää eri vaihtoehdoista paras Erilaisia ratkaisuvaihtoehtoja voi kuitenkin olla valtavasti Mieti esimerkiksi kuinka paljon itse asiassa on erilaisia reittivaihtoehtoja vaikkapa yliopistolta keskustaan? 5

Kauppamatkustajan ongelma Traveling salesman problem (TSP) Klassinen oppikirjaesimerkki (maantieteellisen) optimoinnin vaikeudesta d AB d AD d BC d BD d AC d DC Jos kauppamatkustaja aloittaa kaupungista A, ja jos kaikki kaupunkien väliset etäisyydet (d) tiedetään, mikä on lyhin reitti, joka käy kaikissa kaupungeissa yhden kerran ja palaa kaupunkiin A? 6

Kauppamatkustajan ongelma Reittivaihtoehtojen lukumäärä: n 1! n = kaupunkien lukumäärä jako 2:lla jos reitin kiertosuunnalla ei ole väliä 2 n Reittivaihtoehtojen lkm 3 1 4 3 5 12 10 181.440 20 60.822.550.204.416.000 50 luokkaa 10 62 100 luokkaa 10 155 1000 luokkaa 10 2564 Vertailukohtia: hiekanjyviä Saharassa: ~ 10 25 vesimolekyylejä maailman merissä: ~ 10 46 tunnetun universumin paino (kg): ~ 10 52 atomien lukumäärä tunnetussa universumissa: ~ 10 82 7

Vaihtoehtojen lukumäärä Combinatorial explosion TSP Vaihtoehtojen lukumäärä kasvaa nopeasti n:n kasvaessa Erityisesti jos kyseessä eksponentiaalisesti tai kertomallisesti kasvava ongelma Tekee optimointiongelmista usein hankalia ratkaista 8 n

Kauppamatkustajan ongelma Eräs tutkituimpia ongelmia optimoinnin alalla Myös suosittu kilpailun aihe: kuinka suuria TSP-ongelmia pystytään ratkaisemaan Eräitä merkkipaaluja: 1998: USA:n 13.509 paikkakuntaa (19 CPU-vuotta) 2001: Saksan 15.112 paikkakuntaa (23 CPU-vuotta) 2004: Ruotsin 24.978 paikkakuntaa (85 CPU-vuotta) 2006: Laser-säteen kulkureitti piirilevyn valmistuksessa, 85.900 polttokohtaa (136 CPU-vuotta) 9

TSP: Käytännön esimerkki Määritä Ruskossa asemapaikkaansa pitävälle jäteautolle lyhin reitti Rinki-ekopisteiden (32 kpl) kautta Tyypillinen esimerkki reaalimaailman TSPongelmasta 10

Jäteauton reitti 32 kohdetta + asemapaikka Ruskossa: 1,3 10 35 reittivaihtoehtoa Jos voitaisiin laskea 1.000 eri reittivaihtoehtoa sekunnissa, kaikkien vaihtoehtojen läpikäynti veisi silti aikaa 4.171.912.051.840.650.846.131.690 vuotta (noin 300.000 miljardia kertaa universumin ikä) 11

Jäteauton reitti Kuitenkin ArcGIS-ohjelma laskee reitin parissa sekunnissa Mahdollista vain heuristiikan ansiosta 12

Optimointiongelmien ratkaisutavat Eksaktit menetelmät Likimääräiset menetelmät Approksimoivat menetelmät Heuristiset menetelmät 13 Rakentava heuristiikka mm. ahne heuristiikka Parantava (korjaava) heuristiikka local search metaheuristiikka

Optimointiongelmien ratkaisutavat Eksaktit menetelmät Likimääräiset menetelmät Approksimoivat menetelmät Heuristiset menetelmät Tavoite Etsitään absoluuttinen optimi Etsitään ratkaisu jonka tiedetään olevan esim. korkeintaan 25% huonompi kuin absoluuttisen optimin Etsitään nopeasti hyvältä vaikuttava ratkaisu ongelmaan Plussat + Paras ratkaisu löydetään varmasti + Pystytään ratkaisemaan merkittävästi suurempia ongelmia kuin eksakteilla menetelmillä + Tiedetään suunnilleen kuinka hyvä ratkaisu on saatu aikaiseksi + Pystytään tarjoamaan ratkaisu lähes mihin tahansa ongelmaan + Menetelmät suhteellisen yksinkertaisia 14 Miinukset Yleensä mahdollista ratkaista vain erittäin pieniä ongelmia Eivät sovellu kaikkiin ongelmiin Menetelmät vaikeita ymmärtää Ei tiedetä kuinka hyvä saatu ratkaisu on suhteessa absoluuttiseen optimiin

Heuristiikan käytön perusteltavuus Luopumalla absoluuttisen optimin tavoittelusta on mahdollista: ratkaista optimointiongelmia huomattavasti nopeammin tehdä ongelmien ratkaiseminen ylipäätään mahdolliseksi Paras ratkaisu (absoluuttinen optimi) Kaikki ratkaisut johonkin ongelmaan (esim. jätekuljetusauton reitit) Huonoin ratkaisu Ratkaisun laatu (esim. reitin pituus) 15 Lähes-optimaaliset (near-optimal) ratkaisut

Arkielämän heuristiikkaa Palautetaan mieleen äskeinen esimerkki yliopistolta Kun tiedetään missä päin keskusta sijaitsee, voidaan reittivaihtoehdot rajata niihin vaihtoehtoihin jotka vievät kohti haluttua kohdetta Vastaavaa periaatetta hyödynnetään myös oikeissa reitinoptimointisovelluksissa, tunnetaan nimellä A* ( Astar ) -heuristiikka 16

Etymologia ja määritelmä (Wikipedia) Heuristinen (engl. heuristic) Peräisin kreikan kielen sanasta heuriskō, löytää Heuristiikka (engl. heuristics): Epäformaali menetelmä ongelmanratkaisuun Käytetään metodina, joka johtaa yleensä varsin nopeasti riittävän lähelle parasta mahdollista lopputulosta Heuristiikkaa ovat esimerkiksi erilaiset nyrkkisäännöt, akateemiset arvaukset, intuitiiviset päätökset sekä niin sanottu "maalaisjärki Kyseessä on valmiiden, etukäteen mietittyjen tai hankittujen ratkaisumallien soveltaminen ongelmanratkaisussa, sekä tietokoneohjelmissa että ihmismielessä 17

Heuristiikan ryhmittelyä Rakentavat Korjaavat (parantavat) Engl. Constructive heuristics Improvement heuristics Toimintaperiaate TSPesimerkki Aloitetaan tyhjästä ratkaisusta, jota laajennetaan vaihe vaiheelta Aloitetaan lähtöpisteestä Lisätään reittiin yksi kaupunki kerrallaan, esim. aina viimeksi lisättyä kaupunkia lähin kaupunki Jatketaan kunnes kaikki kaupungit on lisätty reittiin Aloitetaan kokonaisesta ratkaisusta jota parannetaan Luodaan alkuratkaisu esimerkiksi arpomalla kaupungit satunnaiseen järjestykseen Vaihdetaan esim. kahden kaupungin keskinäistä järjestystä reitissä ja katsotaan, lyhenikö reitti Jatketaan kunnes vaihdot eivät tuo enää parannusta reittiin Usein nämä lähestymistavat voidaan yhdistää, eli luodaan alkuratkaisu konstruktiivisesti, jota sitten parannellaan 18

Ahne heuristiikka (greedy heuristics) Eräs yleisimmin käytetyistä strategioista toteuttaa rakentava (konstruktiivinen) heuristiikka Ahne : Otetaan se askel joka kulloinkin näyttää vievän eniten kohti määränpäätä Esim. 1: Mittaa 1,5 dl jauhoja yhden desin mitalla: Esim. 2: Pakkaa kylmälaukkuun mahdollisimman paljon juomaa. + ahneus on arkielämässäkin monesti toimiva ja luonteva strategia 1 1,65 l 5 0,5 l = 2,5 l 19 toisaalta ahneus ei välttämättä toimi aina

Oma tutkimustyö Sisältää paljon menetelmien kehittämistä ja toteuttamista Tyypillistä geoinformaatikon työtä: geoinformatiikka on menetelmätiede Ohjelmointia ja skriptien tekemistä pääosin 20 Aihepiirejä joihin olen toteuttanut menetelmiä: Reittianalyysit maasto- ja metsäsovelluksissa Sote-palveluiden sijaintikysymykset Sähköautojen latauspisteverkostot Taksikuljetusten yhdistäminen Ilmanlaadun vaikutus astman puhkeamiseen (ympäristöepidemiologia) Vesieliöiden dispersaali (ekologia) Maisemarakenteiden tunnistaminen (geomorfometria)

Esimerkki omasta tutkimuksesta Reitinoptimointimenetelmä yksityismetsien maastoinventointien tehostamiseksi Yhteistyössä Metsäntutkimuslaitoksen (nyk. Luke), Metsäkeskuksen ja Esri Finlandin kanssa vuodesta 2007 lähtien Tärkeimmät tieteelliset julkaisut: Store, R. & Antikainen, H. (2010): Using GIS-based multicriteria evaluation and path optimization for effective forest field inventory. Computers, Environment and Urban Systems 34, pp. 153 161. Etula, H. & Antikainen, H. (2014): Determining an optimum inventory route for an areal object: the case of forest inventory in Finland. Fennia 192, pp. 23 35. 21

Perinteinen vs. uusi metsien inventointi Ennen jokainen metsikkökuvio (=ominaisuuksiltaan yhtenäinen metsäalue) inventoitiin jalkaisin Nyt tieto pystytään keräämään pääosin laserkeilaamalla sekä hyödyntämällä kasvumalleja Maastoinventointia tarvitaan enää tiedon validointiin ja eri syistä epäselvien tilanteiden selvittämiseen 22

Maastoinventointien kohdentaminen Inventointitärkeys Eri asioista koostettu indeksi joka osoittaa kunkin metsikkökuvion inventointitarpeen Auttaa kohdentamaan maastoinventoinnit Ongelma: Korkean inventointitarpeen kohteet voivat sijaita hajanaisesti eri paikoissa Maastotyön resurssit vähentyneet 23 Kartta on näyte Luonnonvarakeskuksen Kuortaneella sijaitsevalta tutkimusalueelta Kuinka voidaan määrittää tehokkaita inventointireittejä?

Inventointireitin optimointi Perinteinen maastoinventointi = TSP Kaikki metsikkökuviot käydään läpi Sen sijaan uudessa maastoinventointikäytännössä: Kaikissa kohteissa ei välttämättä vierailla, vaan kierrettävien kohteiden määrä voi olla mitä tahansa väliltä 0 n Reittiin tulisi valita inventointitärkeydeltään tärkeimmät kohteet, eli reitin tulisi maksimoida kerätty inventointitärkeys Samalla reitin tulisi minimoida kuljettu matka (tai käytetty aika), pysyen annetun aikabudjetin (työaika) sisällä Kyseessä TSP:n erityistapaus, joka tunnetaan kirjallisuudessa nimellä Orienteering Problem (OP), suunnistajan ongelma 24

Orienteering problem (OP) Määrittele reitti, joka käytettävissä olevan ajan (t max ) puitteissa kulkee asemapisteestä p 0 käsin sellaisten kohteiden kautta, joiden yhteenlaskettu hyöty (u) on mahdollisimman suuri p 7 p 8 p 4 p 3 Reitin asemapiste (p 0 ) p 10 p 9 p 6 p 5 p 11 p 12 p 15 p 2 p 0 max(u) p 13 p 16 p 14 p 1 t t max 25 (Kaikkien metsikkökuviopisteiden väliset kulkuetäisyydet tiedetään ennakkoon)

Toteutettu OP-menetelmä Valmista menetelmää ei ollut tarjolla Toteutettiin itse ohjelmoimalla ArcGIS:n päälle Soveltaa kuitenkin ArcGIS:n omaa TSP-laskentaa (Network Analyst) Reitin muodostamisessa hyödynnetään useita heuristiikan tyyppejä: 1) Rakentava heuristiikka 2) Korjaava heuristiikka 3) Täydentäminen Keskeistä iteratiivisuus: ratkaisua haetaan askel askeleelta 26

Vaihe 1: Rakentava heuristiikka Rakennetaan reittiä yksi kohde kerrallaan Kohteiden käyntijärjestys saa muuttua Lisätään reittiin kulloinkin aina se kohde, jonka hyöty/lisämatka -suhde on paras (ahne heuristiikka) Jatketaan kunnes aikabudjetti t max täyttyy Asemapiste Punaisella kohteella korkea hyöty Keltaisella pieni hyöty 27

Vaihe 2: Korjaava heuristiikka Kokeillaan korvata vuorollaan jokainen reittiin kuuluva kohde kullakin reittiin kuulumattomalla kohteella (local search) Toteutetaan vaihto, joka tuo suurimman lisähyödyn reittiin (mikäli tämä ei aiheuta aikabudjetin ylittymistä) Jatketaan kunnes vaihdoilla ei enää saavuteta lisähyötyä Asemapiste Punaisella kohteella korkea hyöty Keltaisella pieni hyöty 28

Vaihe 3: Täydentäminen Kokeillaan lopuksi vielä lisätä vapaana olevat kohteet reittiin yksi kerrallaan Mikäli reittiin mahtuu aikabudjetin puolesta lisäkohteita, lisätään ne, jotka tuovat suurimman lisähyödyn Palataan siis tavallaan rakentavaan heuristiikkaan Asemapiste Punaisella kohteella korkea hyöty Keltaisella pieni hyöty 29

Menetelmän ongelmia Likinäköisyys Reittiin lisätään kussakin kehitysvaiheessa parhaalta vaikuttava kohde Vaihe 2 (parantava heuristiikka) pyrkii jossain määrin korjaamaan tätä Putkinäköisyys Reittiä muodostettaessa arvioidaan vain yhtä kohdetta kerrallaan Lähellä reittiä olevat alhaisenkin hyödyn kohteet näyttäytyvät parempina kuin kaukana reitistä olevat korkean hyödyn klusterit Asemapiste Suurin hyöty olisi voinut olla kerättävissä täältä Punaisella kohteella korkea hyöty Keltaisella pieni hyöty 30

Ahnaan heuristiikan ohjaaminen Lasketaan kohteille aggregoitu etäisyyspainotettu hyötyarvo naapurikohteiden perusteella (kuva B) Inventointireitin rakentuminen voidaan näin suunnata kohti korkean hyödyn klustereita Selostettu tarkemmin artikkelissa 31

Menetelmän testaaminen Laskettiin koeluonteisesti reittejä Kuortaneen tutkimusalueella Asemapisteet (base location, 3 kpl) valittu käsin sopivilta vaikuttavista paikoista tien varrelta Reitin kestolle asetettu tietty maksimiaika 32

Menetelmän testaaminen Ei ollut suoraan sovellettavissa käytäntöön Laskenta kesti liian kauan Ongelmana metsikkökuvioiden sisällä liikkuminen vaikuttaa siihen, mihin kuvioon kannattaa siirtyä seuraavaksi Jatkokehitystä Metsäkeskuksen kanssa 2013-15 Huomioitiin kuvioiden sisällä liikkuminen Testausta käytännön inventointityössä Laskentamäärä ja tarkkuus edelleen ongelmina Nähtiin periaatteessa hyödylliseksi Ei kuitenkaan tässä vaiheessa valmis laajempaan tuotantokäyttöön 33

Tämänhetkistä / alkavaa tutkimusta... Kelan korvaamien taksikuljetusten yhdistettävyys 700.000 Kela-korvattua matkaa TAYS:n alueelta vuodelta 2015 Kuinka paljon säästöjä olisi voitu saavuttaa taksimatkoja yhdistämällä (sallitun aikaikkunan puitteissa)? Kahden matkan yhdistelmiin liittyvä säästö vielä helppo selvittää Yli kahden matkan yhdistelmät vaativat kuitenkin heuristiikkaa Ahneen heuristiikan hyödyntäminen? 34

Metaheuristiikka (metaheuristics) Edustavat uudempaa ja kehittyneempää näkemystä Toimivat korkeamman tason strategioina ohjaamassa optimaalisen ratkaisun hakuprosessia Heuristiikka joka ohjaa toista heuristiikkaa Yleisluontoisia: voidaan käyttää monentyyppisiin ongelmiin Pyrkivät erityisesti välttämään paikalliseen optimiin juuttumista Sallitaan tilapäinen siirtyminen huonompiin ratkaisuihin etsintäprosessin aikana vrt. analogia syvimmän kraatterin pohjan löytämisestä vieraalla planeetalla: 35 Paikallinen optimi Globaali optimi

Metaheuristiikka Miksi on tärkeää sallia huonommatkin ratkaisut (tilapäisesti)? Palautetaan mieleen pulloesimerkki: Jotta laukku saadaan pakattua mahdollisimman täyteen, on iso pullo ensin otettava pois ja korvattava pienellä. 36

Eräitä metaheuristisia menetelmiä Menetelmä Simulated annealing Genetic algorithms Ant colony optimization Tabu search Perusidea Analogia metallin kontrolloidusta jäähdyttämisestä: Etsinnän kuumassa vaiheessa hyväksytään huonojakin ratkaisuja, mutta jäähtymisen edetessä vakiinnutetaan löydetty ratkaisu. Analogia genetiikkaan ja luonnonvalintaan: risteytetään ja mutatoidaan ratkaisuja, ja poimitaan parhaimpia ratkaisuja uusien ratkaisusukupolvien emoiksi. Analogia muurahaisten tapaan etsiä ravintoa toisten muurahaisten jättämien feromonijälkien perusteella: hakuprosessissa etsitään uusia polkuja ja näitä vahvistetaan feromoneilla jos ne osoittautuvat hyviksi. Feromonit voivat kuitenkin myös haihtua välillä jolloin polkuja voi muodostua myös muualle. Viittaa polynesialaiseen tabu-käsitykseen asioista joita ei saa tehdä tai koskea: etsintäprosessin aikana löydetyistä ratkaisuista tehdään joksikin aikaa tabuja jolloin niitä ei käytetä vaan etsitään muita ratkaisuja. 37

Tabu-menetelmä Keksitty 1986, 1990-luvulta lähtien käytetty yleisesti mm. ArcGIS:n TSP-ratkaisu perustuu tähän menetelmään Jäteauto-esimerkki edellä Keskeisenä periaatteena ns. tabu-listan ylläpito Äskettäin löydetyt ratkaisut laitetaan joksikin aikaa hyllylle Näin siksi jotta pystytään hakemaan erityyppisiä ratkaisuja eli irtaantumaan paikallisista minimeistä 38

Esimerkkinä p median -ongelman ratkaisu sijainti-allokointi (location-allocation) Määritä p kappaletta fasiliteetteja ehdokassijaintien joukosta siten että kokonaisetäisyys kysyntäpisteisiin on mahdollisimman pieni Esimerkiksi kauppojen tai sairaaloiden sijoittelu kysyntäpiste ehdokassijainti valittu sijainti p = 3 39

Kokeilua (p median) Etsi Suomen 301 paikkakunnan joukosta 5 paikkakuntaa jotka yhdessä tarjoaisivat parhaan saavutettavuuden koko väestölle Esim. sote-palveluiden sijoittelu ArcGIS:n omalla toiminnolla laskettu ratkaisu (perustuu Teitzin & Bartin (1968) heuristiikkaan): Helsinki, Huittinen, Oulu, Seinäjoki, Varkaus 40

Itse toteutettu tabu-heuristiikka Alkuratkaisu ahnaalla heuristiikalla (esim. paikkakunnat a, b, c, d, e) Paikkakunnat Vapautetaan tabu-listalla ensimmäisenä oleva (vanhin) paikkakunta takaisin valittavissa olevien paikkakuntien joukkoon Vaihdetaan yksi paikkakunta toiseen (esim. e k) Valitaan paras saatavilla oleva ratkaisu, joka voi kuitenkin olla huonompi kuin edelliset ratkaisut. 41 Tabu-lista ( jäähypenkki ) 1. Paikkakunta x 2. Paikkakunta y 3. Paikkakunta e Aspiration criteria: Tabu-listalta voidaan kuitenkin ottaa mukaan kohde jos se mahdollistaa ratkaisun oleellisen paranemisen Onko ratkaisu parantunut viimeisen 10 vaihdon aikana? Ei Lopeta On

10 iteraatiota ilman parannusta Miten oma tabu-heuristiikka suoriutui? Laskettiin ensiksi alkuratkaisu ahnaalla heuristiikalla, tulos: 1) Hämeenlinna, 2) Kärsämäki, 3) Helsinki, 4) Varkaus, 5) Seinäjoki (tämän ratkaisun indeksi = 100) Iteraatio # Tabu-lista (max 3 paikkakuntaa) Pois ratkaisusta Tilalle Ratkaisun muodostavat paikkakunnat Ratkaisun indeksi 1 - Kärsämäki Oulu Hämeenlinna, Oulu, Helsinki, Varkaus, Seinäjoki 92,4 2 Kärsämäki Hämeenlinna Huittinen Huittinen, Oulu, Helsinki, Varkaus, Seinäjoki 89,1 3 Kärsämäki, Hämeenlinna Helsinki Vantaa Huittinen, Oulu, Vantaa, Varkaus, Seinäjoki 89,3 4 Kärsämäki, Hämeenlinna, Helsinki Varkaus Kuopio Huittinen, Oulu, Vantaa, Kuopio, Seinäjoki 89,4 5 Hämeenlinna, Helsinki, Varkaus Seinäjoki Lapua Huittinen, Oulu, Vantaa, Kuopio, Lapua 89,8 6 Helsinki, Varkaus, Seinäjoki Lapua Laihia Huittinen, Oulu, Vantaa, Kuopio, Laihia 89,9 7 Varkaus, Seinäjoki, Lapua Laihia Isokyrö Huittinen, Oulu, Vantaa, Kuopio, Isokyrö 89,9 8 Seinäjoki, Lapua, Laihia Kuopio Varkaus Huittinen, Oulu, Vantaa, Varkaus, Isokyrö 89,7 9 Lapua, Laihia, Kuopio Isokyrö Seinäjoki Huittinen, Oulu, Vantaa, Varkaus, Seinäjoki 89,3 10 Laihia, Kuopio, Isokyrö Vantaa Helsinki Huittinen, Oulu, Helsinki, Varkaus, Seinäjoki 89,1 11 Kuopio, Isokyrö, Vantaa Huittinen Urjala Urjala, Oulu, Helsinki, Varkaus, Seinäjoki 89,3 12 Isokyrö, Vantaa, Huittinen Urjala Humppila Humppila, Oulu, Helsinki, Varkaus, Seinäjoki 89,5 42 Paras löydetty ratkaisu: Huittinen, Oulu, Helsinki, Varkaus, Seinäjoki

Miten oma tabu-heuristiikka suoriutui? Kaikkiaan 19.913.628.735 erilaista viiden paikkakunnan sijaintivaihtoehtoa, joista ratkaisu löytyi jo kolmen iteraation jälkeen (alkuratkaisu + 2 parannus-iteraatiota)! Toteutunut laskenta-aika tosin melko pitkä, 45 minuuttia Toteutus tehty Python-kielellä, ei yhtä nopea kuin oikeilla ohjelmointikielillä tehdyt ohjelmat Vaikka tuli sama tulos kuin ArcGIS:n omalla toiminnolla, ei voida kuitenkaan tietää, oliko ratkaisu oikeasti optimaalisin 43

Päätelmiä Heuristiikka on suhteellisen helppoa toteuttaa Tarvitaan vain yksinkertaista logiikkaa ja erilaisten yhdistelmien kokeilua Ei tarvita matematiikkaa ja yhtälöiden ratkaisua Samalla kuitenkin huomattava että... Lopputulos riippuu menetelmän parametreista ja voi vaihdella paljonkin Ei tiedetä kuinka hyvä saatu lopputulos on oikeasti suhteessa todelliseen optimiin Miten huomioit epävarmuuden raporteissa / tutkimuksissa? 44

Yhteenvetoa heuristiikasta Hyödyt Mahdollista löytää ratkaisu optimointiongelmaan olennaisesti nopeammin (tai löytää ylipäätään!) kuin eksaktilla tai approksimoivalla menetelmällä Menetelmät suht helppoja ymmärtää ja toteuttaa Iteratiivinen ratkaisutapa: laskentaongelma hallittavissa Ongelmat Todellisen optimin löytymisestä ei mitään takeita Paikallisen optimin ongelma, varsinkin perinteisessä heuristiikassa Ei tietoa kuinka kauas todellisesta optimista jäätiin 45 Tulos voi vaihdella parametreista riippuen Tosin esim. ArcGIS:ssa heuristiikan parametrit on toteutettu siten että samalla datalla tulee aina sama lopputulos: tämä voi antaa kuitenkin harhaanjohtavan kuvan lopputuloksen stabiiliudesta