ANALIZA TRANSPORTNIH MRE ŽA - Saobraćajni fakultet · mnogougao ” KORAK 1:Konstruisati...

Preview:

Citation preview

ANALIZA TRANSPORTNIH ANALIZA TRANSPORTNIH MREMREŽŽAA

PREDAVANJE VIII

Predavanje VIIPredavanje VII

� Christofides-ov heuristički algoritam zakonstrukciju rute trgovačkog putnika

� Clarke-Wright-ov algoritam “ušteda” zakonstrukciju rute TP

� Algoritam “ubacivanja u konveksan mnogougao”

� Problem m trgovačkih putnika

1. 1. ChristofidesChristofides--ovov heuristiheurističčkiki algoritamalgoritam zazakonstrukcijukonstrukciju ruterute TPTP

KORAK 1: Pronaći najkraće pripadajućedrvo koje spaja n čvorova. Označiti ovo

najkraće pripadajuće drvo sa A.

3

KORAK 2: Neka je k od n čvorova drveta Aneparnog stepena (k je uvek paran broj). Izvršiti sparivanje po 2 od ovih kčvorova tako da ukupna dužina grana koje

spajaju ove čvorove bude najmanja. Ovih k čvorova sa odgovarajućim granama dobijenimsparivanjem sačinjavaju mrežu koju ćemooznačiti sa B. Nacrtati mrežu C kojapredstavlja uniju mreže B i mreže A.

4

1. 1. ChristofidesChristofides--ovov heuristiheurističčkiki algoritamalgoritam zazakonstrukcijukonstrukciju ruterute TPTP

KORAK 3: Mreža C ne sadrži čvorove neparnogstepena. Nacrtati Euler-ovu turu u mreži C. Ova Euler-ova tura je približno rešenje za problem trgovačkog putnika.KORAK 4: Proveriti koji su sve čvorovi posećeniviše od jednog puta i poboljšati rutu trgovačkogputnika dobijenu posleg trećeg korakauzimanjem u obzir nejednakosti:

d a b d a c d c b( ‚ ) ( , ) ( , )≤ +5

1. 1. ChristofidesChristofides--ovov heuristiheurističčkiki algoritamalgoritam zazakonstrukcijukonstrukciju ruterute TPTP

6

Primer: Odrediti rutu TP primenom Primer: Odrediti rutu TP primenom ChristofidesChristofides--ovovogog algoritalgoritmama

6

23

4

5

1

−−

−−

−−

3641543220

3628584130

4128322222

5458322236

3241222214

2030223614

7

6

2 3

4

5

1

−−

−−

−−

3641543220

3628584130

4128322222

5458322236

3241222214

2030223614

Korak 1. Odreñivanje najkraćeg pripadajućeg drveta

Primer: Odrediti rutu TP primenom Primer: Odrediti rutu TP primenom ChristofidesChristofides--ovovogog algoritalgoritmama

8

6

2 3

4

5

1

Korak II. Čvorovi neparnog stepena su 1,3,5,6

Korak III.Moguća sparivanja:

(1,3) i (5,6): 36+36 =72(1,5) i (3,6): 30+53 =84(1,6) i (3,5): 20+58 = 78

min {72,84,78} = 72

Primer: Odrediti rutu TP primenom Primer: Odrediti rutu TP primenom ChristofidesChristofides--ovovogog algoritalgoritmama

9

6

2 3

4

5

1

Korak 1VRuta (1,2,3,1,4,5,6,1)

Korak VPoboljšanje rute

d(6,2) ≤ d(1,2) + d(1,6)32 ≤ 14+ 2032 ≤ 34 ušteda 2

Primer: Odrediti rutu TP primenom Primer: Odrediti rutu TP primenom ChristofidesChristofides--ovovogog algoritalgoritmama

10

Poboljšanje ruted(4,2) ≤ d(1,2) + d(1,4)22 ≤ 14+2222 ≤ 36 ušteda 14

d(4,3) ≤ d(3,1) + d(1,4)32 ≤ 22+3632 ≤ 58 ušteda 26

d(6,3) ≤ d(1,3) + d(1,6)54 ≤ 36 + 20 ušteda 2

max{2,14,26,2} = 26 umesto (1,4) i (1,3) ubacujemo (3,4).

6

2 3

4

5

1

Primer: Odrediti rutu TP primenom Primer: Odrediti rutu TP primenom ChristofidesChristofides--ovovogog algoritalgoritmama

6

2 3

4

5

1

Primer: Odrediti rutu TP primenom Primer: Odrediti rutu TP primenom ChristofidesChristofides--ovovogog algoritalgoritmama

2. 2. ClarkeClarke--WrightWright--ovov algoritamalgoritam ““uušštedateda”” zazakonstrukcijukonstrukciju ruterute TPTP

i j

B

d(B, i) d(

B, j

)

i j

B

d(B, i) d(B

, j)

d(i, j)

(a) (b)

12

(a) Trgovački putnik kreće iz baze (čvor B) posećuje čvor i, vraća se u bazu, posećuje čvor j i ponovo se vraća u bazu. U ovom slučaju ukupnorastojanje koje prevali trgovački putnik jednako je(pretpostavlja se da je d(i, j) = d(j, i), za (i, j)):

( ) ( ) 2 2d B i d B j, ,+

2. 2. ClarkeClarke--WrightWright--ovov algoritamalgoritam ““uušštedateda”” zazakonstrukcijukonstrukciju ruterute TPTP

(b) Poboljšana strategija kretanja trgovačkogputnika. Ukupno rastojanje koje prevalitrgovački putnik je jednako:

14

( ) ( ) ( ) d B i d i j d B j, , ,+ +

2. 2. ClarkeClarke--WrightWright--ovov algoritamalgoritam ““uušštedateda”” zazakonstrukcijukonstrukciju ruterute TPTP

� Ušteda s(i, j) koju ostvaruje trgovački putnikkada čvorove i i j spoji u jednu rutu je jednaka:

odnosno:

� Jasno je da što je veća veličina s(i, j), da jeutoliko bolje spojiti čvorove i i j u jednu rutu.

15

( ) ( ) ( ) ( ) ( ) ( )( ) s i j d B i d B j d B i d i j d B j, , , , , ,= + − + +2 2

( ) ( ) ( ) ( )jidjBdiBdjis ,,,, −+=

2. 2. ClarkeClarke--WrightWright--ovov algoritamalgoritam ““uušštedateda”” zazakonstrukcijukonstrukciju ruterute TPTP

KORAK 1:Izračunati uštede:

s(i, j) = d(B, i) + d(B, j) - d(i, j) za svaki par (i, j) čvorova koje treba opslužiti.

KORAK 2:Izvršiti rangiranje svih ušteda i poređati ih po veličini. Napraviti listu ušteda

koja započinje sa najvećom uštedom.

16

2. 2. ClarkeClarke--WrightWright--ovov algoritamalgoritam ““uušštedateda”” zazakonstrukcijukonstrukciju ruterute TPTP

KORAK 3: Pri razmatranju uštede s(i, j) odgovarajuću granu (i, j) uključiti u delimičnurutu, ukoliko:

(a) ni tačka i ni tačka j nisu bile uključene ni u jednu delimičnu rutu(b) je jedna od tačaka i ili j većuključena u neku postojeću delimičnu rutu i

ukoliko ta tačka nije unutrašnja tačka u ruti(tačka je unutrašnja u ruti ukoliko nijesusedna početnoj tački B)

17

2. 2. ClarkeClarke--WrightWright--ovov algoritamalgoritam ““uušštedateda”” zazakonstrukcijukonstrukciju ruterute TPTP

(c) su obe tačke i i j uključene u dve različitedelimične rute i nijedna od tih tačaka nijeunutrašnja u tim rutama (obe su spoljne) u komslučaju je moguće spojiti delimične rute u jednu.

KORAK 4: Kada je lista “ušteda” potrošena do kraja završiti sa algoritmom.

18

2. 2. ClarkeClarke--WrightWright--ovov algoritamalgoritam ““uušštedateda”” zazakonstrukcijukonstrukciju ruterute TPTP

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom

ClarkeClarke--WrightWright--ovov algoritalgoritmama““uušštedateda””

1

5

7

6

4

2

3

19

1 2 3 4 5 6 7

1 0 75 135 165 135 180 90

2 75 0 90 105 135 210 150

3 135 90 0 150 210 300 210

4 165 105 150 0 135 210 210

5 135 135 210 135 0 90 105

6 180 210 300 210 90 0 120

7 90 150 210 210 105 120 0

Grana (i, j) Ušteda Grana (i, j) Ušteda Grana (i, j) Ušteda

(5,6) 225 (4,6) 135 (2,6) 45

(4,5) 165 (2,3) 120 (4,7) 45

(3,4) 150 (5,7) 120 (2,7) 15

(6,7) 150 (2,5) 75 (3,6) 15

(2,4) 135 (3,5) 60 (3,7) 15

20

KORAK 1: Izračunati i rangirati uštede (Baza je čvor 1)s(i, j) = d(1, i) + d(1, j) - d(i, j)s(2,3)=d(1,2)+d(1,3)-d(2,3)=120s(2,4)=d(1,2)+d(1,4)-d(2,4)= 135......

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom

ClarkeClarke--WrightWright--ovov algoritalgoritmama““uušštedateda””

21

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom

ClarkeClarke--WrightWright--ovov algoritalgoritmama““uušštedateda””

-(2,5)

-(5,7)

-(3,5) .....

(1, 2, 3, 4, 5, 6, 7, 1)(2,3)

I 4 i 6 su uključeni(4,6)

Čvor 4 je unutrašnji(2,4)

(1, 3, 4, 5, 6, 7, 1)(6,7)

(1, 3, 4, 5, 6, 1)(3,4)

(1, 4, 5, 6, 1)(4,5)

(1, 5, 6, 1)(5,6)

Delimična rutaPar čvorova

1

5

7

6

4

2

3

22

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom

ClarkeClarke--WrightWright--ovov algoritalgoritmama““uušštedateda””

� Osnovna ideja algoritma sastoji se u konstrukcijikonveksnog mnogougla (delimična rutatrgovačkog putnika) čija temena predstavljaju nekeod čvorova koji treba da budu posećeni.

� U sledećem koraku vrši se proširivanje delimičnerute.

23

3. 3. AlgoritamAlgoritam ““ubacivanjaubacivanja u u konveksankonveksanmnogougaomnogougao””

AlgoritamAlgoritam zaza konstrukcijukonstrukciju konveksnogkonveksnog mnogouglamnogougla

KORAK 1: Čvorove koje treba da posetitrgovački putnik posmatrati u okviruDekartovog koordinatnog sistema. Odabratičvor kome odgovara najmanja vrednostx-koordinate. Ovaj čvor uključiti u konveksanmnogougao i označiti ga sa h1.

24

KORAK 2: Spojiti dužinama čvor h1 sa svimostalim čvorovima. Od uglova koji se dobijajuna ovaj način odabrati najveći ugao.

KORAK 3: Odabrati jedan od čvorova kojiodređuje najveći ugao, označiti ga sa h2 i uključiti ga u konveksan mnogougao.

AlgoritamAlgoritam zaza konstrukcijukonstrukciju konveksnogkonveksnog mnogouglamnogougla

KORAK 4: Koristeći duž koja spaja čvoroveh1 i h2 kao krak, konstruisati drugi krakodgovarajućih uglova spajanjem čvora h2 sapreostalim čvorovima. Izabrati najveći ugao,

odgovarajući čvor označiti sa h3 i uključitiga u konveksan mnogougao.

26

AlgoritamAlgoritam zaza konstrukcijukonstrukciju konveksnogkonveksnog

mnogouglamnogougla

KORAK 5: Ponavljati korak 4 onoliko puta kolikoje to potrebno, određujući najveći ugao između duži koja spaja čvorove hi-1 i hi sa dužima kojespajaju čvor hi sa preostalim čvorovima.

KORAK 6: Konveksan mnogougao je određen kada je sledeći kandidat za uključenje u konveksanmnogougao-čvor h1.

27

AlgoritamAlgoritam zaza konstrukcijukonstrukciju konveksnogkonveksnog mnogouglamnogougla

28

3. 3. AlgoritamAlgoritam ““ubacivanjaubacivanja u u konveksankonveksan

mnogougaomnogougao””

KORAK 1:Konstruisati konveksanmnogougao. Ovaj mnogougaoodređuje početnu delimičnu rututrgovačkog putnika.

KORAK 2: Odrediti čvor k koji nijeuključen u delimičnu rutu i granu (i, j) uključenu u rutu, tako da veličina

bude najmanja moguća.29

( ) ( )( )

d i k d k j

d i j

, ,

,

+

KORAK 3: Uključiti čvor k u delimičnu rutuizmeđu čvorova i i j .

KORAK 4: Ponavljati korake 2 i 3 dok se nedobije ruta trgovačkog putnika.

30

3. 3. AlgoritamAlgoritam ““ubacivanjaubacivanja u u konveksankonveksan

mnogougaomnogougao””

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom algoritmaalgoritma““ubacivanjaubacivanja u u konveksankonveksan mnogougaomnogougao””

1

5

7

6

4

2

3

31

1 2 3 4 5 6 7

1 0 75 135 165 135 180 90

2 75 0 90 105 135 210 150

3 135 90 0 150 210 300 210

4 165 105 150 0 135 210 210

5 135 135 210 135 0 90 105

6 180 210 300 210 90 0 120

7 90 150 210 210 105 120 0

Korak Korak II. . KonveksanKonveksan petougaopetougao ((popoččetnaetna delimidelimiččnana rutaruta))

1

5

7

6

4

2

3

32

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom algoritmaalgoritma““ubacivanjaubacivanja u u konveksankonveksan mnogougaomnogougao””

Trojka čvorova (i, k, j)

( ) ( )( )

d i k d k j

d i j

, ,

,

+

Trojka čvorova (i, k, j)

( ) ( )( )

d i k d k j

d i j

, ,

,

+

(1, 2, 3) 1.22 (1, 5, 3) 2.55

(3, 2, 4) 1.30 (3, 5, 4) 2.30

(4, 2, 6) 1.50 (4, 5, 6) 1.07

(6, 2, 7) 3.00 (6, 5, 7) 1.62

(7, 2, 1) 2.50 (7, 5, 1) 2.66

33

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom algoritmaalgoritma““ubacivanjaubacivanja u u konveksankonveksan mnogougaomnogougao””

DelimiDelimiččnana rutaruta trgovatrgovaččkogkog putnikaputnika (1,(1, 3,3, 4,4, 5,5, 6,6, 7,7, 1)1)

1

7

6

4

2

3

5

34

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom algoritmaalgoritma““ubacivanjaubacivanja u u konveksankonveksan mnogougaomnogougao””

Trojka čvorova (i, k, j)

( ) ( )( )

d i k d k j

d i j

, ,

,

+

Trojka čvorova (i, k, j)

( ) ( )( )

d i k d k j

d i j

, ,

,

+

(1, 2, 3) 1.22 (5, 2, 6) 3.83

(3, 2, 4) 1.30 (6, 2, 7) 3.00

(4, 2, 5) 1.77 (7, 2, 1) 2.50

35

1

7

6

4

2

3

5

Primer:Primer: Odrediti rutu TP primenom Odrediti rutu TP primenom algoritmaalgoritma““ubacivanjaubacivanja u u konveksankonveksan mnogougaomnogougao””

4. 4. Problem Problem mm trgovatrgovaččkihkih putnikaputnika

� Razmotrimo slučaj kada m trgovačkih putnika trebada poseti n tačaka, pri čemu svaka od m ruta počinjei završava u istoj tački. Označimo ovu tačku sa B.

� Neophodno je pronaći m ruta najmanje ukupnedužine koje nemaju zajedničkih grana, koje“pokrivaju” sve tačke koje treba obići i koje svezapočinju i završavaju u tački B.

36

� Neka su takođe rastojanja izmeñu tačaka-kopijai tačaka iz skupa od n tačaka jednakarastojanjima između originalne tačke B i pojedinih tačaka iz skupa od n tačaka koje trebaobići, tj. neka je

gde je a neki od čvorova koji treba da buduposećeni.

( ) ( ) ( ) ( ) d B a d B a d B a d B am1 2, , ... , ,= = = =

37

4. 4. Problem Problem mm trgovatrgovaččkihkih putnikaputnika

� Neka su rastojanja izmedju pojedinih tačaka-kopijabeskonačno velika

� Problem možemo sada da tretiramo kao klasičanproblem trgovačkog putnika, tj. kao problem u kome jedan trgovački putnik treba da obidje (m+n) tačaka tačno jedanput. Pri rešavanju ovog zadatkanikada posle nekog čvora Bi neće doći neki čvor Bjs obzirom da je

( ) d B B i j mi j, , , ,...,=∞ ∀ =1 2

( ) d B B i j mi j, , , ,...,=∞ ∀ =1 238

4. 4. Problem Problem mm trgovatrgovaččkihkih putnikaputnika

Recommended