31
ANALIZA TRANSPORTNIH ANALIZA TRANSPORTNIH MRE MREŽA ŽA PREDAVANJE V 1

ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

ANALIZA TRANSPORTNIH ANALIZA TRANSPORTNIH MREMREŽAŽA

PREDAVANJE V

1

Page 2: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

Predavanje VPredavanje V

�� Algoritam za pronalaženje drugog Algoritam za pronalaženje drugog najkraćeg puta u mrežinajkraćeg puta u mreži

�� Algoritam za iznalaženje najkraćih puteva Algoritam za iznalaženje najkraćih puteva �� Algoritam za iznalaženje najkraćih puteva Algoritam za iznalaženje najkraćih puteva izmeizmeññu svih parova čvorova u svih parova čvorova

2

Page 3: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

• Pollack (1961): Drugi po redu najkraći put se razlikuje od najkraćeg puta u najmanje jednojgrani.

najkraæi put p

3

s1 2

3

n t

najkraæi put

Page 4: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

� Neka najkraći put p od čvora s do čvora t sadrži ukupno n grana. Ove grane označene su respektivno na prethodnoj slici sa 1, 2, 3, ..., n. ..., n.

� Dužine ovih grana označimo sa d(1), d(2), d(3), ..., d(n).

4

Page 5: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži� Pošto se drugi po redu najkraći put

razlikuje od najkraćeg puta u najmanjejednoj grani, pretpostavimo da je to granabroj 1.

� Pretpostavimo takoñe da je dužina ovegrane beskonačno velika. PrimenomDijkstra-nog algoritma odredimo ponovonajkraći put u razmatranoj mreži. Novi“najkraći” put označimo sa p1 .

5

Page 6: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

"najkraæi put" p1 (d(1) = ∞)

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

Slika 1.Najkraći put odčvoras do čvorat kroz mrežuG = (N, A) u

slučaju kada jed(1) beskonačno velika

s d(1) = ∞t

6

Page 7: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

� U sledećem koraku grani broj 1 “vratimo”originalnu dužinu i pretpostavimo da jedužina grane broj 2 beskonačno velika.

� U ovako modifikovanoj mreži primenimoponovo algoritam Dijkstra-e za iznalaženjenajkraćeg puta. Novi “najkraći put”označimo sa p2 .

7

Page 8: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

s d(2) = ∞t

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

Slika 2. Najkraći put od čvora s do čvora t kroz mrežu G = (N, A) u slučaju kada je d(2) beskonačno velika

s t

"najkraæi put" p2 (d(2) = ∞)

8

Page 9: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

� U sledećim koracima bi se dužine treće,četvrte, ..., n-te grane modifikovale iprimenom algoritma Dijkstra-e bi se utvrdiliprimenom algoritma Dijkstra-e bi se utvrdiliodgovarajući “najkraći putevi” p3, p4, ..., pn.

� Najkraći od puteva p1, p2, p3, ..., pn

predstavlja drugi po redu najkraći put urazmatranoj mreži.

9

Page 10: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

3 52

1

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

s 2

2

2

3

2

4 6

t

10

Primer: Naći najkraći drugi najkraći put ods do t

Page 11: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

3 5

1

2

"najkraæi put" p1 (d(1) = ∞)

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

s2

3

4 6

t2

2

d(1) = ∞

11

Page 12: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

3 5

1

2

"najkraæi put" p2 (d(2) = ∞)

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

s2

3

4 6

t2

2

d(2) = ∞

12

Page 13: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

3 5

1

2

1. 1. AlgoritamAlgoritam zaza pronalaženjepronalaženje drugogdrugognajkraćegnajkraćeg putaputa u u mrežimreži

s2

3

4 6

t2

2

2

najkraæi put pdrugi po redunajkraæi put p1

13

Page 14: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

2. 2. AlgoritamAlgoritam zaza iznalaženjeiznalaženje najkraćihnajkraćihputevaputeva izmedjuizmedju svihsvih parovaparova čvorovačvorova

� Često je neophodno izračunati najkraćeputeve izmeñu svih parova čvorova utransportnoj mreži.

� Ovaj problem moguće je rešiti i uz pomoćalgoritma za iznalaženje najkraćih putevaizmeñu jednog čvora i svih ostalihtransportnih čvorova mreže. Ukoliko u mrežiima n čvorova, neophodno je n puta primenitialgoritam Dijkstra-e, uzimajući svaki put drugičvor za početni čvor.

14

Page 15: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

FloydFloyd--ovov algoritamalgoritam

Floyd-a (1962):Mreža - G = (N,A)Sve čvorove mreže označimo pozitivnim celim brojevima 1, 2, ..., n. celim brojevima 1, 2, ..., n.

Uvedimo u razmatranje tzv. početnumatricu dužina najkraćih puteva D0 ipočetnu matricu čvorova-prethodnika Q0.

15

Page 16: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

- dužina najkraćeg puta od čvora i do čvora jkoji je otkriven u k-tom prolazu kroz algoritam

- čvor prethodnik čvoru j na najkraćem putu

d i jk

q k

FloydFloyd--ovov algoritamalgoritam

- čvor prethodnik čvoru j na najkraćem putuod čvora i koji je takodje otkriven u k-tomprolazu.

16

q ijk

Page 17: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

� Elementi matrice D0 definisani su na sledećinačin:

Ako izmeñu čvora i i čvora j postoji grana, dužinanajkraćeg puta izmeñu ovih čvorova jednaka je

FloydFloyd--ovov algoritamalgoritam

najkraćeg puta izmeñu ovih čvorova jednaka jedužini d(i, j) grane (i, j) koja ih spaja.

17

Page 18: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

� Ako izmeñu čvora i i čvora j postoji višegrana, dužina najkraćeg puta mora da budejednaka dužini najkraće grane, tj.:

FloydFloyd--ovov algoritamalgoritam

gde je m broj grana izmeñu čvora i i čvora j.

18

{ } d d i j d i j d i jij m0

1 2= min ( , ), ( , ),..., ( , )

Page 19: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

� Jasno je da je:= 0 za i = j

� U ostalim slučajevima kada izmeñu čvora i i čvoraj ne postoji grana, u početku nemamo informaciju

d i j0

FloydFloyd--ovov algoritamalgoritam

j ne postoji grana, u početku nemamo informacijuo dužini najkraćeg puta izmedju ova dva čvora, teih tretiramo kao da su beskonačno udaljenijedan od drugog.

� Na početku smatramo da je za svaki par čvorovačvor-prethodnik čvoru j na najkraćem putu kojivodi od čvora i do čvora j, upravo čvor i.

19

Page 20: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

FloydFloyd--ovov algoritamalgoritam

KORAK 1: Neka je k = 1KORAK 2: Elemente matrice dužinanajkraćih puteva otkrivenihzavršno sa k-timprolazom kroz algoritam D , izračunavamoprolazom kroz algoritam Dk, izračunavamopomoću relacije:

20

{ } d d d dijk

ijk

ikk

kjk= +− − −min ,1 1 1

Page 21: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

KORAK 3: Elementi matrice Qk

čvorova-prethodnika otktivenih završno sa k-tim prolazom kroz algoritam iizračunavaju se kao:

za q d dk k k≠ − −1 1,

FloydFloyd--ovov algoritamalgoritam

KORAK 4: Ako je k = n završiti sa algoritmom. Ako je k < n, povećati k za 1, tj. staviti da je

k = k+1 i vratiti se na korak 2.21

za

u ostalim sluèajevimaq

q d d

qijk kj

kijk

ijk

ijk=

− −

1 1

1

,

,

Page 22: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

1

1

8

32

2

FloydFloyd--ovov algoritamalgoritam

5

56

7

53

3

4

4

22

Page 23: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

PočetnaPočetna matricamatrica DD00

1 2 3 4 51

2

0 8 3 5

8 0 2 5

∞∞

FloydFloyd--ovov algoritamalgoritam

18

32

2

2

3

4

5

8 0 2 5

1 0 3 4

6 0 7

5 0

0D =∞

∞∞ ∞

∞ ∞ ∞

23

1

5

56

7

53

3

4

4

Page 24: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

PočetnaPočetna matricamatrica QQ00

1 2 3 4 51

2

1 1 1 1

2 2 2 2

−−

FloydFloyd--ovov algoritamalgoritam

18

32

2

2

3

4

5

2 2 2 2

3 3 3 3

4 4 4 4

5 5 5 5

0Q =−

−−

24

1

5

56

7

53

3

4

4

Page 25: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

� Prvi korak.

� k = 1.

FloydFloyd--ovov algoritamalgoritam

{ } { } 880,8min,min 02,1

01,1

02,1

12,1 =+=+= dddd

{ } { } 380,3min,min 03,1

01,1

03,1

13,1 =+=+= dddd

25

{ } { } 550,5min,min 04,1

01,1

04,1

14,1 =+=+= dddd

{ } { } ∞=∞+∞=+= 0,min,min 05,1

01,1

05,1

15,1 dddd

{ } { } 808,8min,min 01,1

01,2

01,2

11,2 =+=+= dddd

{ } { } 238,2min,min 03,1

01,2

03,2

13,2 =+=+= dddd

{ } { } 1358,min,min 04,1

01,2

04,2

14,2 =+∞=+= dddd

{ } { } 58,5min,min 05,1

01,2

05,2

15,2 =∞+=+= dddd

Page 26: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

FloydFloyd--ovov algoritamalgoritam{ } { } ∞=∞+∞∞=+= ,min,min 0

1,10

1,30

1,31

1,3 dddd

{ } { } 18,1min,min 02,1

01,3

02,3

12,3 =+∞=+= dddd

{ } { } 35,3min,min 04,1

01,3

04,3

14,3 =+∞=+= dddd

{ } { } 4,4min,min 05,1

01,3

05,3

15,3 =∞+∞=+= dddd

{ } { } 606,6min,min 01,1

01,4

01,4

11,4 =+=+= dddd

26

{ } { } 606,6min,min 1,11,41,41,4 =+=+= dddd

{ } { } 1486,min,min 02,1

01,4

02,4

12,4 =+∞=+= dddd

{ } { } 936,min,min 03,1

01,4

03,4

13,4 =+∞=+= dddd

{ } { } 76,7min,min 05,1

01,4

05,4

15,4 =∞+=+= dddd

{ } { } ∞=+∞∞=+= 0,min,min 01,1

01,5

01,5

11,5 dddd

{ } { } 58,5min,min 02,1

01,5

02,5

12,5 =+∞=+= dddd

{ } { } ∞=+∞∞=+= 3,min,min 03,1

01,5

03,5

13,5 dddd

{ } { } ∞=+∞∞=+= 5,min,min 04,1

01,5

04,5

14,5 dddd

Page 27: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

MatricaMatrica DD11

1 2 3 4 51 0 8 3 5 ∞

FloydFloyd--ov algoritamov algoritam

1

2

3

4

5

0 8 3 5

8 0 2 5

1 0 3 4

6 0 7

5 0

1D =

∞ ∞ ∞

13

14 9

27

Page 28: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

MatricaMatrica QQ11

1 2 3 4 51 1 1 1 1−

FloydFloyd--ovov algoritamalgoritam

za

u ostalim sluèajevimaq

q d d

qijk kj

kijk

ijk

ijk=

− −

1 1

1

,

,

1

2

3

4

5

1 1 1 1

2 2 2

3 3 3 3

4 4

5 5 5 5

1Q =

−−

−−

1

1 1

28

Page 29: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

=

05

709146

4301

513208

5380

5

4

3

2

1

54321

2

18713

9

13

D

FloydFloyd--ovov algoritamalgoritam

1 2 3 4 51

2

3

4

5

1 1 1

2 2 1 2

3 3 3

4 1 1 4

5

2Q =

−−

−−

2

2

2 2 2 055 18713

29

5 5 −

2 2 2

1 2 3 4 51

2

3

4

5

0 3 5

8 0 2 5

9 1 0 3 4

6 9 0 7

13 5 7 0

3D =

4 7

5

10

10

1 2 3 4 51

2

3

4

5

1 1

2 2 2

2 3 3 3

4 1 4

2 5 2

3Q =

−−

−−

3 3

3

3

3

Page 30: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

1 2 3 4 51

2

3

4

0 4 3 5 7

8 0 2 5 5

9 1 0 3 4

6 10 9 0 74D =

FloydFloyd--ovov algoritamalgoritam

1 2 3 4 51

2

3

4

3 1 1 3

2 2 3 2

2 3 3 3

4 3 1 44Q =

−−

−−

4

5

6 10 9 0 7

13 5 7 10 0

30

4

5

4 3 1 4

2 5 2 3

−−

1 2 3 4 51

2

3

4

5

0 4 3 5 7

8 0 2 5 5

9 1 0 3 4

6 10 9 0 7

13 5 7 10 0

5D =

1 2 3 4 51

2

3

4

5

3 1 1 3

2 2 3 2

2 3 3 3

4 3 1 4

2 5 2 3

5Q =

−−

−−

Page 31: ANALIZA TRANSPORTNIH MREMREŽŽAA...Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani, pretpostavimo da je to grana broj1. Pretpostavimo takoñe

� Matrice D5 i Q5 daju nam potpunu informaciju odužinama najkraćih puteva izmedju svih parovačvorova transportne mreže, kao i o čvorovima kojiulaze u sastav ovih puteva. Tako je, na primer, dužinanajkraćeg puta od čvora 5 do čvora 4 jednaka 10 (5,4).

FloydFloyd--ovov algoritamalgoritam

31

1 2 3 4 51

2

3

4

5

0 4 3 5 7

8 0 2 5 5

9 1 0 3 4

6 10 9 0 7

13 5 7 10 0

5D =

1 2 3 4 51

2

3

4

5

3 1 1 3

2 2 3 2

2 3 3 3

4 3 1 4

2 5 2 3

5Q =

−−

−−