Kiinalaisen postimiehen ongelma Kimmo Kontio 1.12.2015 Ohjaaja/Valvoja: Harri Ehtamo [5] Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki oikeudet pidätetään. Työn sisältö Lyhyt yleiskatsaus kiinalaisen postimiehen ongelmaan • Termejä • Historia • Algoritmien kantavat ideat • Käytännön laskuesimerkki: Ylläksen latukartta • Postimiesongelman muunnelmia • Käytännön esimerkkejä Graafien termejä kaari solmu 3 e3 2 • Kulku: solmujen ja kaarien jatkuva jono e e e • Reitti: kulku, kukin kaari esiintyy korkeintaan 1 kerran • Polku: reitti, kukin solmu esiintyy korkeintaan kerran • Kierros: suljettu kulku • Piiri: suljettu polku • Yksinkertainen kierros: jokainen kaari enintään kerran • Eulerin kierros: jokainen kaari täsmälleen kerran • Kiinalaisen postimiehen kierros: jokainen kaari vähintään kerran 2 1 4 Kiinalaisen postimiehen ongelman historia • Euler 1736 ● [6] ● Kwan 1960 Optimointitehtävä [4] Hierholzer 1871 Todistus: Graafissa on Eulerin kierros, joss jokainen solmu on parillinen. ● Edmonds 1965 Ongelman redusointi Graafien sovitukseen Kwanin algoritmi Periaate: graafi täydennetään Eulerin graafiksi. 3 1 2 4 5 6 7 8 9 10 11 12 3 Optimaalinen postimiehen kierros: 1) Kukin alkuperäinen kaari on kahdennettu korkeintaan kerran. 2) Jokaisen piirin kahdentamattomien kaarien summa on vähintään puolet piirin koko pituudesta. 1 2 4 5 Ehto 2! 6 7 10 11 8 9 12 3 1 2 4 5 6 7 8 9 10 11 12 3 Edmondsin algoritmi 1 Periaate: graafi täydennetään Eulerin graafiksi. 6 1 0.5 2 1 1 1 1 5 1 1 7 1 4 1 1 8 9 1 1 1 10 1 11 12 2 11 2.5 1) Muodostetaan parittomista solmuista täydellinen graafi, jossa solmujen etäisyydet ovat niiden väliset minimietäisyydet. 2) Kevein täydellinen sovitus antaa kahdennettavat kaaret. 3. 3.5 3 1.5 3. 2.5 2. 2.5 2. 2. 1. 3. 1. 4 9 8 3. 2. 6 3 1 23 1 21 6 4 9 10 20 1314 10 2 7 4 5 19 8 11 15 12 11 8 5 7 6 18 9 17 16 12 Edmondsin sovitusalgoritmi • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossomyhtälöitä eksponentiaalinen määrä. • Ratkaistaan duaalialgoritmilla, jolloin rajoitusyhtälöiden eksponentiaalinen määrä ei haittaa. • Jokaisella duaalialgoritmin kierroksella ratkaistaan hyväksyttävän graafin maksimisovite: Edmondsin blossom-algoritmi. Ratkeaa myös lineaarisella ohjelmoinnilla. [2] Esimerkki: Ylläksen ladut yhteen menoon • Malli: graafi G=(V,E), |V|=98, [8] Äkäskero |E|=134, kokonaismatka 416 km, Äkäsmylly |V|odd=72. Aakenuspirtti Peurakaltio Pyhäkota • Eulerin graafissa |E|=180, kokonaisKutujärvi matka 471 km Kotamaja Tammitupa Mathematican viemä Hangaskuru Tahkokuru laskenta-aika ~ 3.5 ms. Äkäslompolo Kesänkij. Villen kämppä Kellokas Velhon kota • Realistinen malli? Ylläs- Lainio Kahvikeidas TunturijärviHesburger 24 h hiihtoennätykset Hannukainen Lainiokrouvi Luosujärvi 344 (N 2015) ja 433 km Ylläsjärvi Iso Ahvenlampi (M 2010). 24.11.15 Postimiesongelman muunnelmia • Yksin Kramberger [3] listaa 16 variaatiota. • Latukarttaesimerkillä jatkettuna voidaan malliksi ottaa MM k-PCWMCPP: min-max priority constrained windy mixed k-CPP. Suomeksi: Minimoi k:n reitin maksimipituus s.e. kaikki kaaret kuljetaan. Osa reunoista voi olla yksisuuntaisia ja kaksisuuntaisten reunojen painot erilaiset eri suuntiin. Reitillä on lisäksi solmuja, joiden kautta halutaan kulkea mahdollisimman aikaisin. • Yleisesti vaikeita ongelmia, jotka eivät ratkea suoraan Edmondsin algoritmilla. Käytännön esimerkkejä • Alkuperäisessä hengessä kaikki reititysongelmat, joissa olennaista kulku pitkin kaarta (ARP): lumen auraus, sähkölinjojen tarkastus, postin jakelu • Valmistustekniikka: leikkuualgoritmit, VLSI-piirien optimointi • Tietotekniikka: käyttöliittymien analysointi • Biologia: DNA-kartoitus [7] [1] Mitä tuli tehtyä • Oma esimerkki yksinkertainen, paino kirjallisuuden tutkimisessa. • Läpileikkaus postimiehen ongelmaan, joka jää usein kauppamatkustajan ongelman varjoon. • Tutkimuskohteena edelleen aina ajankohtainen. Edmondsin algoritmin parantelu ja käytännön sovellusten kannalta yleisempi reititysongelma. Viitteet [1] Cgtrader, 2011. DNA. Viitattu 23.11.2015. URL https://www.cgtrader.com/3d-models/science-medical/medical/dna-strand--3 [2] Edmonds, J., Johnson, E., 1973. Matching, Euler tours and the Chinese postman. Mathematical Programming 5 (1), 88124. URL http://dx.doi.org/10.1007/BF01580113 [3] Kramberger, T., Zerovnik, J., 2007. Priority constrained chinese postman problem. Logistics & Sustainable Transport 1 (1). URL http://jlst.fl.uni-mb.si/index.php/journal/article/view/5 [4] Kwan, M.-k., 1962. Graphic programming using odd or even points. Chinese Mathematics 1. URL http://web.eecs.umich.edu/~pettie/matching/Kwan-Guan-chinese-postman-english.pdf [5] Lee, C. C. D., Jun. 2012. Postman route. Viitattu 18.9.2014. URL https://www.youtube.com/watch?v=b3g2Hb6gjK0 [6] McCormick, Apr. 2013. From Monograph to Multigraph: the Distributed Book | Tim McCormick. Viitattu 18.9.2014. URL http://tjm.org/2013/01/04/from-monograph-to-multigraph-the-distributed-book/ 24.11.15
© Copyright 2024