12
Kiinalaisen postimiehen ongelma Kimmo Kontio 1.12.2015 Ohjaaja/Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki oikeudet pidätetään. [5]

Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Kiinalaisen postimiehen ongelmaKimmo Kontio

1.12.2015

Ohjaaja/Valvoja: Harri Ehtamo

Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki oikeudet pidätetään.

[5]

Page 2: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Työn sisältö

Lyhyt yleiskatsaus kiinalaisen postimiehen ongelmaan • Termejä

• Historia

• Algoritmien kantavat ideat• Käytännön laskuesimerkki:

Ylläksen latukartta• Postimiehen ongelman muunnelmia• Käytännön esimerkkejä

Page 3: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Graafien termejä

• Kulku: solmujen ja kaarien jatkuva jono• Reitti: kulku, kukin kaari esiintyy korkeintaan

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

e1e4e2

e3

1

23

solmu kaari

Page 4: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Kiinalaisen postimiehen ongelman historia• Euler 1736 ● Hierholzer 1871

Todistus: Graafissa on Eulerin kierros, joss jokainen solmu on parillinen.

● Kwan 1960Optimointitehtävä

[6]

[4]

● Edmonds 1965Ongelman redusointi Graafien sovitukseen

Page 5: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Kwanin algoritmi

Periaate: graafi täydennetään Eulerin graafiksi.

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.

Ehto 2!

1 2

3

4 5

6 7 8 9

10 11 12

1 2

3

4 5

6 7 8 9

10 11 12

1 2

3

4 5

6 7 8 9

10 11 12

Page 6: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Edmondsin algoritmiPeriaate: graafi täydennetään Eulerin graafiksi.

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.

1

1

0.51

1

1

1 1

1

1

1

1

1

1

1 2

1 2

3

4 5

6 7 8 9

10 11 12

1.5

2.5

2.5

3.5

2.5

3.

1.

2.

3.

2.

3.

2. 1.

2.

3.

3

4

6

8

9

11

1

24

10

3

9

5

8

21

14

20

11

19 6

7

18

13

1512 16

17

1 2

3

4 5

6 7 8 9

10 11 12

Page 7: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Edmondsin sovitusalgoritmi

• Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen määrä.

• Ratkaistaan duaalialgoritmilla,jolloin rajoitusyhtälöiden eksponentiaalinenmäärä ei haittaa.

• Jokaisella duaalialgoritmin kierroksella ratkaistaan hyväksyttävän graafin maksimisovite: Edmondsin blossom-algoritmi. Ratkeaa myös lineaarisella ohjelmoinnilla.

[2]

Page 8: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

07.01.16

Esimerkki: Ylläksen ladutyhteen menoon• Malli: graafi G=(V,E), |V|=98,

|E|=135, kokonaismatka 299 km,|V|odd=74.

• Eulerin graafissa |E|=182, kokonais-matka 355 kmMathematican viemälaskenta-aika ~ 3.5 ms.

• Realistinen malli?24 h hiihtoennätykset344 (N 2015) ja 433 km(M 2010).

Hesburger

Velhon kota

Luosujärvi

Tunturijärvi

Ylläsjärvi

Hannukainen

Kahvikeidas

Kesänkij.Kellokas

Hangaskuru

Kotamaja

ÄkäslompoloTahkokuru

Kutujärvi

Peurakaltio

Äkäsmylly

Äkäskero

Pyhäkota

Tammitupa

Aakenuspirtti

Villen kämppä

Ylläs- Lainio

Lainiokrouvi

Iso Ahvenlampi

[8]

Page 9: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Postimiehen ongelman 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.

Page 10: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Käytännönesimerkkejä• 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]

Page 11: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

Mitä tuli tehtyä

• Oma esimerkki yksinkertainen, paino kirjallisuuden tutkimisessa.

• Läpileikkaus postimiehen ongelmaan,joka jää usein kauppamatkustajan ongelmanvarjoon.

• Tutkimuskohteena edelleen ainaajankohtainen. Edmondsinalgoritmin parantelu ja käytännön sovellustenkannalta yleisempi reititysongelma.

Page 12: Kiinalaisen postimiehen ongelma...historia • Euler 1736 ... • Lineaarisen ohjelmoinnin ongelma – kokonaislukurajoituksia ei tarvita. Ns. blossom-yhtälöitä eksponentiaalinen

07.01.16

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/