Reitinoptimointiongelma, sen variantit ja ratkaisumenetelmät. FT Tuukka Puranen TIEA382 7.3.2012

Samankaltaiset tiedostot
Älykäs datan tuonti kuljetusongelman optimoinnissa. Antoine Kalmbach

Algoritmit 2. Luento 11 Ti Timo Männikkö

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

Optimoinnin sovellukset

1. Lineaarinen optimointi

Algoritmit 1. Luento 14 Ke Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Search space traversal using metaheuristics

Logistiikan optimointi- ja ohjausjärjestelmä TCS-Opti

Kimppu-suodatus-menetelmä

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

KÄYTTÖTAPAUS- KUVAUKSET

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

Malliratkaisut Demot

TTY Porin laitoksen optimointipalvelut yrityksille

Kombinatorinen optimointi

Demo 1: Simplex-menetelmä

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

Toimitusketjun hallinnan uudet kehityssuunnat. Mikko Kärkkäinen Tammiseminaari 2015

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat

Toiminnanohjaus ja reittien optimointi LogiAppsilla. Jukka Toivanen Tuotekehityspäällikkö

Tuotannon jatkuva optimointi muutostilanteissa

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

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

Harjoitus 4: Matlab - Optimization Toolbox

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Malliratkaisut Demot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö

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

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

Talousmatematiikan perusteet

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

TIEA382 Lineaarinen ja diskreetti optimointi

Geneettiset algoritmit

Matemaattinen optimointi I -kurssin johdantoluento Prof. Marko M. Mäkelä Turun yliopisto Matematiikan ja tilastotieteen laitos

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

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Esi ja perusopetuksen oppilaiden koulukuljetukset

Harjoitus 3 ( )

Lectio Praecursoria

HELSINGIN KAUPUNKI HANKINNAN KOHTEEN KUVAUS 1(9) SOSIAALIVIRASTO Tarjouspyyntö nro 1/2011 Liite

Kysymys 1. Mistä tiedän verkkokaupasta ostaessani, toimiiko paketinohjauspalvelu juuri kyseisen

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Puutavaralogistiikan T&K-tarpeet

Mat Lineaarinen ohjelmointi

Tehtävälista digitaalisten palvelujen kehittäjälle. Helsingin kaupunki - Digitaalinen Helsinki -ohjelma 2017

Tutkimuksesta logistiikka-alan kärkituotteeksi (TCS-Opti) Kehityspäällikkö Teemu Nuortio Ecomond Oy 2006

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

v 8 v 9 v 5 C v 3 v 4

Reitityksen ja realiaikatiedon virheelliset tilanteet

HELLO. EZ3600 Aloitusopas. TMR Tracker -ruokinnanhallintaohjelma. D3699-FI Rev E Tammikuu 14. Ft. Atkinson, Wisconsin USA

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Harjoitus 6 ( )

C.C. McGeoch, Toward an experimental method for algorithm simulation. algorithm simulation = algoritmin testaus, experimental algorithmics

Esrin logistiikkaratkaisut. Logistiikan optimointi paikkatiedon avulla

Optimization of Duties in Railway Traffic (valmiin työn esittely)

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

Lineaarisen ohjelman määritelmä. Joonas Vanninen

Laskennallinen älykkyys. Computational Intelligence

Parempaa äänenvaimennusta simuloinnilla ja optimoinnilla

7.4. Eulerin graafit 1 / 22

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

Harjoitus 3 ( )

Malliratkaisut Demot

Harjoitus 6 ( )

13 Lyhimmät painotetut polut

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

ActionTrack-sovellus

Malliratkaisut Demot

SCIFEST-loppuraportointi korttia. Sara Kagan, Suvi Rönnqvist

LP-mallit, L19. Aiheet. Yleistä, LP-malleista. Esimerkki, Giapetto. Graafisen ratkaisun vaiheet. Optimin olemassaolo

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

FyKe-Mopin opettajanohje

KYSYMYKSET JA VASTAUKSET TARJOUSPYYNTÖ - RUOKAKULJETUKSET HÄMEENLINNAN YDINKESKUS- TAN ALUE,

Operatioanalyysi 2011, Harjoitus 3, viikko 39

OPERAATIOANALYYSI ORMS.1020

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa

Sijainnin merkitys Itellassa GIS. Jakelun kehittämisen ajankohtaispäivä

Yksityisautoilijoille ABAX AJOPÄIVÄKIRJA

PAIKKATIETOJEN KÄYTTÖ HSY:N VESIHUOLLON OPERATIIVISESSA JA STRATEGISESSA TOIMINNASSA

Koulukuljetukset Tammelan kunta - 1(5) PROCOMP SOLUTIONS OY Tammelan kunta, koulukuljetukset

JOUKAHAinen kohti joustavampaa kapasiteetinhallintaa

Tietorakenteet ja algoritmit - syksy

Algoritmit 1. Luento 1 Ti Timo Männikkö

Movit. Driver app kuljettajan opas

Pipfrog AS Tilausten hallinta

Malliratkaisut Demot

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Harjoitus 8: Excel - Optimointi

Tekoälykokeiluprojekti. Henkilökohtaisen kalenterin optimointi tekoälyllä Skycode Oy (ent. Suomen Mediatoimisto Oy)

Johdatus verkkoteoriaan 4. luento

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Aki Taanila LINEAARINEN OPTIMOINTI

PARITUS KAKSIJAKOISESSA

Transkriptio:

Reitinoptimointiongelma, sen variantit ja ratkaisumenetelmät FT Tuukka Puranen TIEA382 7.3.2012

Tavoitteet Tunnistaa alueita, jossa reitinoptimointia voidaan hyödyntää Hahmottaa reitinoptimoinnin keskeiset päätösmuuttujat, rajoitteet ja tavoitteet Tietää millä periaatteilla reitinoptimointiongelmia ratkaistaan Heuristiikat Metaheuristiikat Ymmärtää miten reitinoptimointimalleja voidaan tarkentaa ja miksi Tietää yleisesti laitoksen VRP-tutkimuksesta

Kauppamatkustajan ongelma (TSP)

Reitinoptimointiongelma (VRP)

Reitinoptimointitehtävä Lähtö autoilla keskusvarastolta, käy kaikissa pisteissä ajallaan Matkustusnopeus 1 yksikkö / 1cm Muutaman pisteen kohdalla takaraja annettu Pysähtyminen vie 1 yksikön per piste Kuhunkin autoon mahtuu 10 yksikköä Kunkin pisteen kapasiteettitarve annettu kartalla Tavoite: mahdollisimman vähän autoja (reittejä), mahdollisimman lyhyet reitit

Sillä välin tosimaailmassa Postinjakelu Öljy- ja kemikaalikuljetukset laivoilla Päivittäistavarat Kuriiripalvelut Koulukuljetukset Jätteiden keruu Teiden auraus Kotisairaanhoito Vanhusten ruokakuljetukset (Credit: Hämeen ammatti-instituutti)

Käsin suunnittelun rajat

Käsin suunnittelun rajat 12:00-12:30 18:00-19:00 12:15-12:45 19:00-19:30

VRP formaalisti Kuljetaanko i:stä j:hin k:lla? Ajoneuvot Kaikkialla käytävä kerran Kuljetustarve i:hin (delta) Kaikki autot lähtevät varikolta Ja saapuvat varikolle Hinta i:stä j:hin (psi) Pisteet Auton kapasiteetti (phi) Ja jatkavat matkaa siitä mihin ovat saapuneet Jokaisella pisteellä on Juokseva järjestysnumero Jotka alkavat varikolta nollasta

Ratkaisumenetelmät TSP NP-täydellinen Lineaarioptimointi

Ratkaisumenetelmät x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o x x x x x x x x x x x x x x o o o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o o x x x x x x x x x x x x x x x x o x x x x x x x x x x x x x o o o o x x x x x x x x x x x x x x x x x x x x o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o x x x x x x x x x x x x x x x x x x o o o o x x x x x x o o x o o o x x x x x x x x x x x x x x x x x x x x o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o o o o o o o o o x x x x x x x x o o o x x x x x x x x x x x x x x x x o o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o x x x x x x x x x x x x x x x x x x x x x x x o o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x o o x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x (Credit: Wikipedia)

Heuristiikat Eksplisiittisen päätösmuuttujien käsittelyn sijaan operoidaan verkkoesityksen avulla Helpompi hahmottaa ja suunnitella menetelmiä Muutetaan pieni osa päätösmuuttujista kerralla Heuristiikat luonteeltaan epätarkkoja eli eivät takaa mitään Kaksi (reititys)heuristiikkojen perustyyppiä Rakennusheuristiikat Parannusheuristiikat

Rakennusheuristiikoista Tavoitteena luoda alkuratkaisu, joka toteuttaa kaikki ehdot (rajoitteet) Kaikki pisteet jollain reitillä Kapasiteettia ei ylitetä, jne. Ei aina mahdollista (ja myös NP-täydellinen) Idea: otetaan piste kaukaa ja tehdään siitä reitti. Lisätään lähellä olevia yksitellen tälle reitille niin monta kuin mahtuu Demo

Parannusheuristiikoista Alkuratkaisussa on usein parantamisen varaa Parannusheuristiikat etsivät pienillä muutoksilla saatavia ratkaisuja jotka olisivat parempia kuin tämänhetkinen (local search) Idea: Otetaan piste reitiltä ja siirretään se toiselle reitille jos ratkaisu näin paranee Käydään läpi kaikki pisteet Toistetaan kunnes parempia ratkaisuja ei löydy Hill climbing täydellisessä pimeydessä Demo

Parannusheuristiikkojen rajat Lokaalin haun siirrot (edellä ns. relocate -siirto reitiltä toiselle) päätyvät hyvin usein lokaaliin optimiin Tilanne jossa ei ole enää näkyvissä siirtoja jotka parantaisivat Vuorenhuippu pimeässä Ei ole kuitenkaan takeita siitä että ollaan löydetty paras (tai edes hyvä) ratkaisu Usein ei olla (vaikka demosta voisi näin päätellä ) Miten parannettaisiin tuloksia?

Metaheuristiikat Heuristiikkoja parantamaan on kehitetty heuristiikkojen heuristiikkoja (meta-) Tavoitteena on päästä pois lokaalista optimista (tai välttää niitä) Metaheuristiikka ohjaa lokaalin haun heuristiikkojen toimintaa esim. Säätämällä mikä siirto hyväksytään Valitsemalla millaisia siirtoja käytetään Muuttamalla tavoitefunktiota sopivasti Muuttamalla ratkaisua riittävän paljon

Variable Neighborhood Search Lokaalin haun operaattoreita on useita ja ne tekevät eri siirtoja (relocate, exchange, 2-opt, 3-opt, ) Kukin operaattori näkee eri vuoriston Idea: käytetään jotain toista operaattoria aina kun nykyinen jää jumiin lokaaliin optimiin Usean naapuruston haku Naapurusto = hakuoperaattorin läpi käymien vaihtoehtojen joukko Demo

Tabu Search Uusien operaattoreiden tuonti mukaan lisää laskenta-aikaa Entä kun mikään operaattori ei löydä parantavaa siirtoa? Ei voida taata että ratkaisu on paras (tai edes hyvä, joskin parempi kuin millään yksittäisellä siirrolla) Idea: Valitaan vähiten huonontava Miten estetään päätyminen heti takaisin samaan lokaaliin optimiin? Lista siirroista joita ei saa tehdä (tabu)

Muita Metaheuristiikkoja myös esim. ohjattu lokaali haku, simuloitu jäähdytys, iteroitu lokaali haku, Evoluutiolaskenta Memeettiset algoritmit (risteytys + lokaali haku) Risteytys vaikeaa monimutkaisissa tilanteissa Tehokkaimmat yhdistävät useita elementtejä Lisäksi: mm. purkumenetelmiä, rajoitteiden rikkomista Käytännössä: saavutetaan jo hyviä tuloksia

Sillä välin tosimaailmassa (taas) Logistiikkatoimija kuljettaa päivittäistavaraa useasta varastosta pieniin liikkeisiin kaupunkialueella Joistain liikkeistä täytyy poimia paluukuljetuksina esimerkiksi tyhjiä pulloja Logistiikkatoimijalla on autoja ja kuljettajia Autot ovat kahdella varikolla kaupungin laidoilla Kuljetuksiin käytetään kolmenkokoisia autoja että toiminta olisi joustavaa Joitain tuotteita varten tarvitaan kylmäsäiliö Joihinkin autoihin voidaan liittää tarvittaessa perävaunu joka nostaa kilometrikustannusta

Sillä välin tosimaailmassa (taas) Joidenkin asiakkaiden luokse ei pääse isoimmilla autoilla kujien kapeuden vuoksi Osa kuljettajista ei saa ajaa suurimpia autoja tai ottaa perävaunua Työpäivän aikana on pidettävä kaksi taukoa 15 ja 30 minuutin ja työpäivä voi kestää enimmillään 9 tuntia Osaa tavaroista saa kuljettaa vain rajoitetun ajan Joitain tuotteita ei voi pakata yhtä aikaa samaan säiliöön Tuotteiden tulisi saapua perille annettuun määräaikaan mennessä Tehtävänä on valita kuka ajaa mitäkin autoa ja perävaunua ja milloin sekä mikä auto huolehtii mistäkin toimituksesta ja missä järjestyksessä Uusia tilauksia voi saapua jakelun ollessa käynnissä Tavoitteena on minimoida kustannukset logistiikkatoimijalle

Reitinoptimointimuunnelmia VRP aikaikkunoilla (VRPTW) Avoin VRP (OVRP) Monen varikon VRP (MDVRP) Periodinen VRP (PVRP) VRP paluukuljetuksilla (VRPB) Monimuotoisen kaluston reititys (HVRP) Nouto- ja toimitusongelma (PDP) Dynaaminen VRP (DVRP) VRP stokastisilla vaatimuksilla (VRPSD) VRP osastoilla (VRPC)

Monimuotoisen kaluston reititys Kalustossa eri tyyppisiä ajoneuvoja Hinta Kapasiteetti Saatavuus (aikaikkunat) Yhteensopivuus (esim. satamat) Ratkaiseminen vaatii käytännössä mm. uusia siirto-operaattoreita Onko esimerkiksi halvempaa pilkkoa reitti kahdelle pienelle autolle? Tavallisessa VRP:ssä vähemmän reittejä parempi

Nouto- ja toimitusongelma Jokainen tehtävä koostuu kahdesta osasta Nouto Toimitus VRP (ja MDVRP) ovat erikoistapauksia PDP:stä Voidaan yhdistää muiden ominaisuuksien kanssa Aikaikkunat, kapasiteetti, kaluston määrä ja tyyppi Käytännön ongelmat ovat mm. öljyn kuljetusta, koulukyytejä, lähettipalveluja,

PDP 3 4 4 5 2 3 5 0 6 8 8 7 1 2 1 7 6

VRPC Autoissa osastot (esim. kylmäsäiliö) Varmistettava että voidaan todellisuudessakin lastata suunnitelmien mukaan Yksi kapasiteettimitta ei riitä Käytännössä: uusia päätösmuuttujia mihin osastoon lastataan Uusia siirto-operaattoreita Sovelluskohteita Jätehuolto Kemikaalikuljetukset Päivittäistavarat

Optimointi tieverkossa Asiakaspisteet lisätään osoitteiden tai koordinaattien perusteella tieverkkoon Lyhimmän polun laskenta (Dijkstran algoritmi) Kaikista kaikkiin (rinnakkaistuu kauniisti) Ikäviä ominaispiirteitä Etäisyydet epäsymmetriset Liikenneruuhkat Sillat, kapeat tiet, ym. VRP-ratkaisijalle syötteenä etäisyysmatriisi Demo

Tutkimus Kehitetään optimointisovellusta käytännön reititysongelmien ratkaisemiseen Toteutusintensiivinen Monta varianttia kerralla Mallit Menetelmät Rinnakkaislaskenta Automaatio Tällä hetkellä 7 henkilöä

Lähestymistapa Nelson Lab Case X Case Y Käytäntö NFleet Toteutus Rich VRPs Tutkimus MDPDP CVRP VRPTW PDPTW Teoria Laivaliikenne Tavarantoimitus Postinjakelu Koulukuljetukset Käytäntö

Hyperheuristiikat Monta eri ongelmavarianttia Osin eri lokaalin haun operaattorit Eri parametrit Mahdollisesti eri metaheuristiikat Mutta käyttäjä ei tiedä optimointimenetelmistä mitään Idea: kerätään tilastotietoa siitä mikä toimii milloinkin Tilastollinen päättely kun kohdataan uusi ongelma

Automaattinen mallinnus Monta eri ongelmavarianttia Osin eri rajoitteet Osin eri tavoitteet Osin eri päätösmuuttujat Käyttäjällä data, mutta tietää matemaattisesta mallinnuksesta vielä vähemmän kuin menetelmistä Idea: optimointimallin päättely asiakkaan datasta (puoli-) automaattisesti Tilastollinen luokittelu, graafien similaarisuusmitat

Mapper Mockup Map data sources to the selected domain model erp_vehicle license_plate vehicle_type designated_driver erp_order id date address due_datetime erp_delivery id order_id product_id amount weight X X X nf_vehicle id top_speed capacity nf_order id timewindow address capacity_req (Credit: tohtorikoulutettava Jussi Rasku)

Siirtäminen käytäntöön Testataan ratkaisemalla oikean maailman optimointiongelmia Tällä hetkellä sovittujen pilottien loppukäyttäjinä mm. Keski-Suomen Sairaanhoitopiirin ensihoidon ohjaus (ambulanssit) Keski-Savon henkilökuljetus (koulubussit) Puolustusvoimien huolto (kuorma-autot)

Opinnäyte- ja projektiaiheita Tieverkkodata Tietietokannan toteutus Karttakomponentin toteutus Satunnaisten tieverkkojen luonti Menetelmät Automaattisen mallipäättelyn prototyypit Rinnakkaislaskenta Menetelmien rinnakkaistuksen prototyypit Työkalut Massa-ajojärjestelmän jatkokehitys

Kysymyksiä? Keskustelua, kommentteja Muita demoja? Myös myöhemmin tuukka.puranen@jyu.fi Ag C323.1

Yhteenveto Reitinoptimointiongelma tulee vastaan monessa paikassa Tavoitteena on minimoida tarvittava kalusto (resurssit) ja kuljettu matka Ongelmia ratkaistaan käytännössä metaheuristiikoilla Reitinoptimointiongelmasta useita variantteja jotka vastaavat eri tosielämän vaatimuksiin Laitoksella tehtävän tutkimuksen tavoitteena on hallita laaja kirjo variantteja kerralla