Kiinalaisen postimiehen ongelma

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