predavanje6

36
1 Problemi pokrivanja grana Dr Dušan Teodorović

Transcript of predavanje6

Page 1: predavanje6

1

Problemi pokrivanja grana

Dr Dušan Teodorović

Page 2: predavanje6

2

Problem kineskog poštara

• Leonhard Euler (1736): Problem 7 mostova u Konigsberg-u

• Kwan M.K. (1960):Problem kineskog postara:Generisati rutu kojom treba da se kreće poštar, tako da rastojanje koje pređe bude minimalno, pri čemu svaku ulicu treba da obiđe najmanje jedanput

Page 3: predavanje6

3

Problem kineskog poštara• G = (N,A): Koji je najkraći put kojim treba da se

krećemo kroz transportnu mrežu, tako da kroz sve grane mreže prođemo najmanje jedanput i da se na kraju vratimo u čvor iz koga smo krenuli.

• Vozila za pranje ulica, vozila za čišćenje ulica od snega, vozila za sakupljanje smeća u gusto naseljenim ulicama, vozila koja se koriste za popravku i inspekciju komunalne infrastrukture (električna, vodovodna i kanalizaciona instalacija), ili autobusi kojima se u mestima manje gustine naseljenosti prevoze učenici u školu

Page 4: predavanje6

4

Problem kineskog poštara

• Mreže: Orijentisane, neorijentisane, mešovite

• Ograničenja: Vremenska ograničenja, specificirani redosled posećivanja grana

Page 5: predavanje6

5

Problem kineskog poštara

• Neorijentisana mreža: G = (N, A)

• Dužine grana: d(i, j) > 0, (i, j)  A

• Dužine grana d(i, j): dužine, troškovi, vreme putovanja,…

sij – broj prolazaka kroz granu (i, j)

Page 6: predavanje6

6

Problem kineskog poštara

Pronađimo ciklus kojim je moguće proći kroz sve grane mreže G najmanje jedanput i za koji:

Ajisve

ji jids),(

min),(

Page 7: predavanje6

7

Problem kineskog poštara

• Euler –ova tura je ciklus kojim se kroz svaku granu u mreži prolazi tačno jedanput.

• Euler –ov put je put kojim se kroz svaku granu u mreži prolazi tačno jedanput.

• Euler-ova teorema:

Povezana neorijentisana mreža G poseduje Euler‑ovu turu (Euler‑ov put) ako i samo ako mreža G sadrži tačno nula (tačno dva ) čvora neparnog stepena.

Page 8: predavanje6

8

Problem kineskog poštara

a

e f

dc

b

Mreža koja poseduje Euler‑ovu turu

Page 9: predavanje6

9

Problem kineskog poštara

a

e

d

f

j

i

h

g

c

b

Mreža koja poseduje Euler‑ov put

Page 10: predavanje6

10

Problem kineskog poštara

• Primer Euler-ovog puta:

b a e c a d c f d i f e b h e g h j g f j i, , , , , , , , , , , , , , , , , , , , ,

Page 11: predavanje6

11

Problem kineskog poštara

a

d

f

h

g

c

e

b

Mreža koja ne poseduje ni Euler‑ovu turu ni Euler‑ov put

Page 12: predavanje6

12

Problem kineskog poštara

• Čvorovi a, f, g i h su čvorovi neparnog stepena

• U mreži G = (N, A) može da postoji više od jedne Euler-ove ture

• Dužine svih ovih tura su jednake

d i jsve i j A

( , )( , )

Page 13: predavanje6

13

Problem kineskog poštara

• Procedura kojom se rešava naznačeni problem sastoji se u dodavanju veštačkih grana paralelnih postojećim, tako da se originalna mreža G transformiše u neku novu G' = (N, A') u kojoj je moguće napraviti Euler‑ovu turu.

• Veštačke grane se dodaju samo na određenim mestima u mreži G, tako da se čvorovi neparnog stepena mreže G transformišu u čvorove parnog stepena mreže G'.

• Broj čvorova neparnog stepena u neorijentisanoj mreži je uvek paran .

Page 14: predavanje6

14

Problem kineskog poštara

a

d + f

h +

g +

c

e +

b

j

Mreza koja ima četiri čvora neparnog stepena

Page 15: predavanje6

15

Problem kineskog poštara

• Primer:• Grana (b, f) povezuje čvorove b i f• Grana (b, f) se broji kada se racuna stepen

čvora b• Grana (b, f) se broji kada se racuna stepen

čvora f• Svaka grana je incidentna sa dva čvora• Suma stepeni svih čvorova je paran broj

Page 16: predavanje6

16

Problem kineskog poštara

S - suma stepeni svih čvorova

P - suma stepeni svih čvorova parnog stepena

N - suma stepeni svih čvorova neparnog stepena

N = S –P

N je paran broj

Page 17: predavanje6

17

Problem kineskog poštara

ai – stepen čvora i je cvor neparnog stepena

ai = 2mi – 1

k – ukupan broj čvorova neparnog stepena

N a m m kii

k

ii

k

ii

k

1 1 1

2 1 2

k m Nii

k

2

1

Page 18: predavanje6

18

Problem kineskog poštara• Edmonds i Johnson (1973), Christofides‑a

(1973):Korak 1: Pronaci sve čvorove

neparnog stepena u mreži G = (N, A). Neka ih ima

ukupno k (k je paran broj). Korak 2: Pronaci k/2 parova ovih

čvorova takvih da je ukupna dužina grana izmedju ovih

cvorova minimalna.

Page 19: predavanje6

19

Problem kineskog poštaraKorak 3: Za svaki od k/2 parova čvorova dodati veštačke grane paralelne postojećim na najkraćem putu između dva čvora. Novi graf G' = (N, A') ne sadrži čvorove neparnog stepena.

Korak 4: Pronaći Euler‑ovu turu u mreži G' = (N, A'). Ova Euler‑ova ture predstavlja rešenje problema kineskog poštara u originalnoj mreži G = (N, A). Dužina ove optimalne ture jednaka je zbiru dužina svih grana mreže G = (N, A) i dužina k/2 najkraćih puteva između uočenih k/2 parova čvorova koji su u originalnoj mreži bili čvorovi neparnog stepena.

Page 20: predavanje6

20

Primer: Rešiti problem kineskog poštara u slučaju da ruta počinje i završava se u čvoru a

Page 21: predavanje6

21

Problem kineskog poštara

a

7

g

b c

d

f

e

5

a

4

9

g

b c

d

f

e

a

6

8

g

b c

d

f

e

Tri moguća sparivanja

Page 22: predavanje6

22

Problem kineskog poštaraPostoje 4 čvora (d, e, f i g).

Postoje tri moguća sparivanja čvorova neparnog stepena: d‑e i f‑g, d‑g i f‑e i d‑f i e‑g.

Najmanja ukupna dužina veštačkih grana iznosi 12 i rezultat je sparivanja d‑e i f‑g.

Dodajemo jednu veštačku granu paralelno grani (d, e) i jednu veštačku granu paralelno grani (f, g). Grane (d, e) i (f, g) se prolaze dva puta.

Page 23: predavanje6

23

Problem kineskog poštara

Ukupna dužina ove ture je 113 od čega 101 otpada na dužine grana mreže, dok je dužina veštačkih grana jednaka 12, što znači da se kroz grane (d, e) i (f, g) prolazi dva puta.

Page 24: predavanje6

24

Problem kineskog poštara

Larson i Odoni (1981):

Vršenje sparivanja bez pomoći računara u znatnoj meri je olakšano činjenicom da u sparivanju koje ima minimalnu ukupnu dužinu puteva između čvorova neparnog stepena ne postoje dva najkraća puta koja u svom sastavu imaju jednu zajedničku granu.

Page 25: predavanje6

25

Iznalaženje sparivanja najmanje dužine s

d(i, j)

t

i

j

r

q

Page 26: predavanje6

26

Problem kineskog poštara na orijentisanim mrezama

Beltrami and Bodin (1974)

Euler-ova teorema:

Povezana orijentisana mreža poseduje Euler‑ovu turu ako i samo ako je ulazni stepen svakog čvora jednak izlaznom stepenu tog čvora.

Page 27: predavanje6

27

Problem kineskog postara na orijentisanim mrezama

“Polaritet” čvora predstavlja razliku ulaznog i izlaznog stepena čvora.

Čvorove nj kod kojih je ulazni veći od izlaznog stepena čvora nazovimo čvorovima sa zalihama. Polaritet ovih čvorova označimo sa sj.

Čvorovima sa potražnjom nazovimo čvorove mk kod kojih je izlazni stepen veći od ulaznog stepena čvora. Polaritet ovih čvorova označimo sa dk.

Page 28: predavanje6

28

Algoritam za rešavanje problema kineskog poštara na orijentisanim

mrežama KORAK 1: Pronaći sve čvorove sa zalihama nj i sve čvorove sa potražnjom mk.

KORAK 2: Pronaći dužine najkraćih puteva djk od svih čvorova nj ka svim čvorovima mk.

Page 29: predavanje6

29

KORAK 3: Rešiti zadatak linearnog programiranja da bi pronašli optimalno sparivanje čvorova sa zalihama sa čvorovima sa potražnjom. Ovaj zadatak linearnog programiranja glasi:Minimizirati

pri ograničenjima:

xjk  >=0

kzadx

jzasx

xdZ

kj

kj

jk

kj

j kkjkj

Page 30: predavanje6

30

Problem kineskog postara na orijentisanim mrezama

KORAK 4: Za svako xjk > 0 dobijeno kao rešenje zadatka linearnog programiranja dodati xjk veštačkih puteva paralelnih

najkraćem putu od nj do mk. Nova mreža G' koja se na ovaj način dobija ima polaritet svih čvorova jednak nuli.

KORAK 5: Pronaći Euler‑ovu turu u mreži G'. Ova tura predstavlja rešenje problema kineskog poštara na orijentisanoj mreži.

Page 31: predavanje6

31

Primer:Problem kineskog poštara na orijentisanim mrežama

4

35

48

78

2

76

5 3

a

g

b

c

d

f

e

Page 32: predavanje6

32

Problem kineskog poštara na orijentisanim mrežama

Polaritet čvorova

Čvor i

Ulazni stepen

Izlazni stepen

Polaritet čvora

Skup kome čvor pripada

a 1 3 -2 D

b 2 1 1 S

c 2 2 0  

d 2 1 1 S

e 1 2 -1 D

f 3 2 1 S

g 1 1 0  

Page 33: predavanje6

33

Problem kineskog poštara na orijentisanim mrežama

fdbS ,,

D a e ,

x xb a b e, , 1

x xd a d e, , 1

x xf a f e, , 1

x x xb a d a f a, , , 2

Page 34: predavanje6

34

Problem kineskog poštara na orijentisanim mrežama

• Rešenje:

• Dodati veštački najkraći put od čvora b do čvora a, od čvora d do čvora a i od čvora f do čvora e.

1 ,,, efedeb xxx

x x x x x xb a b e d a d e f a f e, , , , , ,; ; ; ; ; 0 0 0 0 0 0

x x x x x xb a b e d a d e f a f e, , , , , ,; ; ; ; ; 1 0 1 0 0 1

Page 35: predavanje6

35

Problem kineskog poštara na orijentisanim mrežama

4

5

488

78

2 2

76

55

5

3 3

a

g

b

c

d

f

e

3

Rešenje problema kineskog poštara na orijentisanoj mreži

Page 36: predavanje6

36

Problem kineskog poštara na orijentisanim mrežama

• Rešenje problema kineskog poštara na orijentisanoj mreži

bcdefgfefcdabcabab ,,,,,,,,,,,,,,,,,