predavanje6
-
Upload
api-3709359 -
Category
Documents
-
view
447 -
download
3
Transcript of predavanje6
1
Problemi pokrivanja grana
Dr Dušan Teodorović
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
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
4
Problem kineskog poštara
• Mreže: Orijentisane, neorijentisane, mešovite
• Ograničenja: Vremenska ograničenja, specificirani redosled posećivanja grana
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)
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),(
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.
8
Problem kineskog poštara
a
e f
dc
b
Mreža koja poseduje Euler‑ovu turu
9
Problem kineskog poštara
a
e
d
f
j
i
h
g
c
b
Mreža koja poseduje Euler‑ov put
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, , , , , , , , , , , , , , , , , , , , ,
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
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
( , )( , )
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 .
14
Problem kineskog poštara
a
d + f
h +
g +
c
e +
b
j
Mreza koja ima četiri čvora neparnog stepena
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
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
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
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.
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.
20
Primer: Rešiti problem kineskog poštara u slučaju da ruta počinje i završava se u čvoru a
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
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.
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.
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.
25
Iznalaženje sparivanja najmanje dužine s
d(i, j)
t
i
j
r
q
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.
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.
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.
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
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.
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
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
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
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
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
36
Problem kineskog poštara na orijentisanim mrežama
• Rešenje problema kineskog poštara na orijentisanoj mreži
bcdefgfefcdabcabab ,,,,,,,,,,,,,,,,,