44
ANALIZA TRANSPORTNIH MREŽA PREDAVANJE IV

analiza mreza

Embed Size (px)

DESCRIPTION

analiza mrreza saobracaj

Citation preview

ANALIZA TRANSPORTNIH MREŽA

PREDAVANJE IV

PREDAVANJE IV

� Optimalni putevi u transportnim mrežama

� Generički algoritam za iznalazenje najkraćih puteva od jednog čvora do svih ostalih čvorova u mreži mreži

� Algoritam Dijkstra-e

1. OPTIMALNI PUTEVI U TRANSPORTNIM

MREŽAMA

�Optimalni put: Najkraći put, najduži put,najbrži put, put sa najvećim kapacitetom,najjeftiniji put, najpouzdaniji put.

�Grane u mreži su okarakterisane“dužinom”.

�Pod “dužinom” grane može da sepodrazumeva dužina, vreme putovanja,transportni troškovi, pouzdanost itd.

�Najčešće se podrazumeva da su “dužine”svih grana u mreži determinističke

veličine.

1. OPTIMALNI PUTEVI U TRANSPORTNIM

MREŽAMA

�U slučajevima kada su “dužine” granaslučajne promenjive, susrećemo se saproblemom iznalaženja optimalnog puta ustohastičkoj mreži.

�U nekim situacijama put kojim treba dase krećemo kroz mrežu treba odrediti naosnovu dva ili više kriterijuma

(višekriterijumski problem odreñivanja

1. OPTIMALNI PUTEVI U TRANSPORTNIM

MREŽAMA

(višekriterijumski problem odreñivanjanajboljeg puta u mreži).

� Iznalaženje najkraćeg puta izmeñu dva specificirana čvora.

� Iznalaženje najkraćih puteva izmeñu jednogčvora i svih ostalih čvorova u mreži.

1. OPTIMALNI PUTEVI U TRANSPORTNIM

MREŽAMA

čvora i svih ostalih čvorova u mreži.

� Iznalaženje k najkraćih puteva izmeñu jednogčvora i svih ostalih čvorova u mreži.

� Iznalaženje najkraćih puteva izmeñu svihparova čvorova u mreži.

� Iznalaženje k najkraćih puteva izmeñu svihparova čvorova u mreži.

� Iznalaženje najkraćeg puta izmeñu dva

1. OPTIMALNI PUTEVI U TRANSPORTNIM

MREŽAMA

� Iznalaženje najkraćeg puta izmeñu dvačvora koji mora da prodje kroz neke odunapred specificiranih čvorova.

� Iznalaženje najkraćeg puta izmeñu dvačvora koji mora da proñe kroz neke odunapred specificiranih grana.

2. GENERIČKI ALGORITAM ZAIZNALAZENJE NAJKRAĆIH PUTEVA ODJEDNOG ČVORA DO SVIH OSTALIHČVOROVA U MREŽI

� Mreža: G = (N, A).

� Odredimo najkraće puteve od početnog čvora (čvor1) do svih ostalih čvorova mreže. Odredimo najkraće puteve od početnog čvora (čvor1) do svih ostalih čvorova mreže.

� Svakoj grani (i, j) pridružena je odgovarajućadužina d(i, j).

� Svakom čvoru je pridružena oznaka kojapredstavlja dužinu najkraćeg poznatog puta odčvora 1 do čvora i.

2. GENERIČKI ALGORITAM ZAIZNALAZENJE NAJKRAĆIH PUTEVA ODJEDNOG ČVORA DO SVIH OSTALIHČVOROVA U MREŽI

1

2

in

n-1

d(1,2)

Sika 1. Mreža u kojoj treba utvrditi najkraće puteve od čvora 1 do svih ostalih

čvorova

j

1

3

in

d(13)

d(i,j)

� U okviru generičkog algoritma koji je predložio Bertsekas (1998) se tzv. lista čvorova-kandidata V i vrednosti vektora

(d d d ){ }1=V

2. GENERIČKI ALGORITAM ZAIZNALAZENJE NAJKRAĆIH PUTEVA ODJEDNOG ČVORA DO SVIH OSTALIHČVOROVA U MREŽI

(d11, d12, .... d1n )

neprestano modifikuju. Na početku procesa iznalaženja najkracih puteva je:

d11 = 0 d1i = ∞ 1≠∀i

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

� Odstraniti čvor i iz skupa čvorova-kandidata V.

� Za svaku gran koja izlazi iz čvora i i za kojuvaži da je

Aji ∈),( koja važi da jedij > dji + d(i,j), modifikovati vrednost veličine dij nasledeći način:

dij := dji + d(i,j)

� Uključiti čvor j u skup čvorova-kanditata V uslučaju da ovaj čvor još uvek nije uključen u skup V

2 6

5

ZADATAK: Utvrditi najkraće puteve od čvora 1 do svih ostalih čvorova

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

4

1

3

7

5

8

5

8

Početni korak:

V={1}d = 0

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

d11= 0d 12= d 13 = d 14 =∞ Vektor dužina najkraćih puteva glasi:{d 11, d 12, d 13, d 14}= {0, ∞, ∞, ∞}

2 6

5

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

4

1

3

7

5

8

5

8

Iteracija 1:

Iz skupa čvorova-kandidata V isključujemo čvor 1. Iz čvora 1 izlaze grane (1,2), (1,3) i (1,4). Za ove grane je

2. GENERIČKI ALGORITAM ZA IZNALAZENJE

NAJKRAĆIH PUTEVA OD JEDNOG ČVORA DO

SVIH OSTALIH ČVOROVA U MREŽI

čvora 1 izlaze grane (1,2), (1,3) i (1,4). Za ove grane je ispunjeno:

660)2,1(12 =+=+>=∞ dd

770)3,1(13 =+=+>=∞ dd

880)4,1(14 =+=+>=∞ dd

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

• Vrednosti veličina d2, d3, i d4 treba da budupromenjene. Nove vrednosti ovih veličina su:

660)2,1(: 12 =+=+= ddd

• Čvorove 2, 3 i 4 uključujemo u skup V, s obziromda do sada nisu bili uključeni u ovaj skup. Skup V

sada glasi: V={2, 3, 4}. Vektor duzina najkraćihputeva glasi: {0, 6, 7, 8}

770)3,1(: 13 =+=+= ddd

880)4,1(: 14 =+=+= ddd

2 6

5

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

4

1

3

7

5

8

5

8

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

Iteracija 2:

Iz skupa čvorova-kandidata V isključujemo čvor 2. Iz čvora 2 izlazi grana (2,4). Za ovu granu je ispunjeno:

1156)4,2(8 24 =+=+<= dd granu je ispunjeno:

Vrednost veličine d4 ne treba da bude promenjena. Skup V glasi: V={3, 4}. Vektor duzina najkraćih puteva glasi: {0, 6, 7, 8}.

2 6

5

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

4

1

3

7

8

5

8

Iteracija 3:

Iz skupa čvorova-kandidata V isključujemo čvor 3. Iz čvora 3 izlazi grana (3,4). Za ovu granu je ispunjeno:

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

1257)4,3(8 34 =+=+<= dd

granu je ispunjeno:

Vrednost veličine d4 ne treba da bude promenjena. Skup V glasi: V={4}. Vektor duzina najkraćih puteva glasi: {0, 6, 7, 8}.

2 6

5

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

4

1

3

7

8

5

8

Iteracija 4:

Iz skupa čvorova-kandidata V isključujemo čvor 4. Iz čvora 4 izlazi grana (4,1). Za ovu

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

čvor 4. Iz čvora 4 izlazi grana (4,1). Za ovu granu je ispunjeno:

Vrednost veličine d1 ne treba da bude promenjena. Skup V je postao prazan skup. Vektor duzina najkraćih puteva glasi: {0, 6, 7, 8}.

19811)1,4(0 41 =+=+<= dd

1

2 6

5

8

2. GENERIČKI ALGORITAM ZA IZNALAZENJENAJKRAĆIH PUTEVA OD JEDNOG ČVORA DOSVIH OSTALIH ČVOROVA U MREŽI

4

3

7

5

8

Slika 3. Najkraći putevi od čvora 1 do svih ostalih čvorova na mreži

3. ALGORITAM DIJKSTRA-E

� Algoritam Dijkstra-e (1959) predstavlja specijalni slučaj generičkog algoritma.

� U Dijkstra-inom algoritmu se iz liste landidata V

u svakoj iteraciji uklanja čvor i kome odgovarau svakoj iteraciji uklanja čvor i kome odgovaranajmanja vrednost dužine najkraćeg poznatogputa (iz liste V se uklanja čvor i za koji jeispunjena sledeća relacija:

dd jVj

i min∈

=

� U algoritmu se pretpostavlja da su dužine svihgrana d(i, j) u mreži G = (N, A) nenegativne.

� a - čvor za koji ćemo istraživati najkraće puteve dosvih ostalih čvorova u mreži.

3. ALGORITAM DIJKSTRA-E

� Svaki čvor u mreži može tokom procesa iznalaženjanajkraćih puteva u mreži da se nalazi u 2 mogućastanja i to u tzv. otvorenom stanju ukoliko je čvoroznačen privremenim oznakama ili uzatvorenom, ukoliko je označen stalnimoznakama.

3. ALGORITAM DIJKSTRA-E

� Algoritam Dijkstra-e se primenjuje kako na mreže sa simetričnim, tako i na mreže sa nesimetričnim rastojanjima (rastojanje izmeñu čvora i i čvora j je nesimetično ukoliko je d(i, j) ≠ d(j, i)).nesimetično ukoliko je d(i, j) ≠ d(j, i)).

� Svaki čvor i u mreži označava se sa dve oznake: (dai , qi).

3. ALGORITAM DIJKSTRA-E

dai - dužina najkraćeg puta od čvora a dočvora i, otkrivena do trenutka u komeposmatramo transportnu mrežu,

q - čvor koji se nalazi ispred čvora i naqi - čvor koji se nalazi ispred čvora i nanajkraćem putu od čvora a do čvora i koji jeotkriven do trenutka u kome posmatramotransportnu mrežu (čvor-prethodnik čvoru i)

3. ALGORITAM DIJKSTRA-E

� Početna rastojanja izmeñu bilo koja dva čvora umreži definišu se na sledeći način:

� Rastojanje od bilo kog čvora do njega samog� Rastojanje od bilo kog čvora do njega samogjednako je nuli.

� Rastojanje je beskonačno veliko ukolikočvorovi nisu meñusobno povezani granom.

3. ALGORITAM DIJKSTRA-E

� Ukoliko su čvorovi meñusobno povezani granom, rastojanje izmeñu njih jednako je dužini grane.

� U slučaju kada su dva čvora meñusobno povezana � U slučaju kada su dva čvora meñusobno povezana većim brojem grana, rastojanje izmeñu njih jednako je dužini najkraće grane koja ih povezuje.

3. ALGORITAM DIJKSTRA-E

� Označimo sa c poslednji čvor za koga smo uprocesu nalaženja najkraćih puteva utvrdili da senalazi u zatvorenom stanju.

� Simbolom + označimo čvor-prethodnik čvora a.

Proces započinjemo od čvora a.

daa = 0q = +

3. ALGORITAM DIJKSTRA-E

qa = +dai = ∞, i≠a

qi = -c = a

� Da bi neke od privremenih oznaka transformisali

u stalne ispitajmo sve grane (c, i) koje izlaze izposlednjeg čvora koji je u zatvorenom stanju (čvorc).

3. ALGORITAM DIJKSTRA-E

� Ukoliko je i čvor i u zatvorenom stanju preñimo naispitivanje sledećeg čvora. Ukoliko je čvor i uotvorenom stanju, njegovu prvu oznaku dai

dobićemo na osnovu relacije:

{ } d d d d c iai ai ac= +min , ( , )

� Uporedimo veličine dai svih čvorova koji se nalaze u otvorenom stanju.

� Izaberimo čvor sa najmanjom vrednošću veličine dai. Neka je to neki čvor j.

3. ALGORITAM DIJKSTRA-E

ai

� Čvor j prelazi iz otvorenog u zatvoreno stanje, s obzirom da ne postoji put od a do j kraći od daj.

� Put preko bilo kog drugog čvora bio bi duži.

� Ispitajmo dužine svih grana (i, j) koje vode odčvorova koji se nalaze u zatvorenom stanju do čvoraj sve dok ne utvrdimo da je ispunjena relacija:

d d i j daj ai− =( , )

3. ALGORITAM DIJKSTRA-E

� Neka je ova relacija ispunjena za neki čvor t. Ovoznači da je čvor t, čvor prethodnik čvoru j nanajkraćem putu koji vodi od čvora a do čvora j.Znači da možemo napisati da je qj = t.

� Čvor j se nalazi u zatvorenom stanju. Ukoliko se svičvorovi u mreži nalaze u zatvorenom stanju, tadasmo završili sa postupkom za iznalaženje najkraćihputeva.

3. ALGORITAM DIJKSTRA-E

� Ukoliko postoje još neki čvorovi koji se nalaze uotvorenom stanju, tada se vraćamo na korak 2(ispitujemo sve grane (c, i) koje izlaze iz poslednjegčvora koji je u zatvorenom stanju).

a

4

4 9

2

2 2

510

2

9

86

7

b f

e

h j

c

3. ALGORITAM DIJKSTRA-E

a 2

3

36 6

8

86

67

e

g i k

d

c

Slika 4. Mreža u kojoj treba odrediti najkraće puteveod čvora a do svih ostalih čvorova

4

4 9

2

2

510

2

9

7

b f

h j

(∞, −) (∞, −)

(∞, −) (∞, −)

3. ALGORITAM DIJKSTRA-E

a4 9

2 2

3

36 6

8

86

67

e

g i k

l

d

c

(∞, −) (∞, −) (∞, −)

(∞, −)

(∞, −) (∞, −)(0, +)′ (∞, −)

Slika 5. Izgled mreže posle završenog prvog koraka

� Prvi prolaz:

I: Čvor od koga počinjemo je čvor 1, daa = 0, q = +

3. ALGORITAM DIJKSTRA-E

II: dab = min {æ, 0+4 } = 4dad = min {æ, 0+6 } = 6

III : min { 4,6, æ, æ, æ, æ, æ, æ }=4 čvor b prelazi u zatvoreno stanje

IV: qb = ? dab – l(a,b) = daa 4-4= 0 qb= a

3. ALGORITAM DIJKSTRA-E

4

4 9

25

10

2

9

7

b f

h j

(4, a)¢ (∞, −)

(∞, −) (∞, −)

Slika 6. Izgled mreže posle završenog prvog prolaza

a4 9

2 2

3

36 6

8

86

67

e

g i k

l

d

c

(∞, −) (∞, −) (∞, −)

(6, −)

(∞, −) (∞, −)(0, +)′ (∞, −)

Drugi prolaz:

II: daf = min {æ, 4+9 } = 13dac = min {æ, 4+2 } = 6

3. ALGORITAM DIJKSTRA-E

III: min { 6, 6, 13, æ, æ, æ, æ, æ } = 6 čvor c

prelazi u zatvoreno stanje

IV: qc = ? dac – l(b,c) = dab 6-2 = 4 qc =b

4

4 9

2

2

510

2

9

7

b f

h j

(13, −)

(∞, −) (∞, −)

(4, a)¢

3. ALGORITAM DIJKSTRA-E

a 2 2

3

36 6

8

86

67

e

g i k

l

d

c

(∞, −) (∞, −) (∞, −)

(6, −)

(6, b)¢ (∞, −) (∞, −)(0, +)′

Slika 7. Izgled mreže posle završenog drugog prolaza

Treći prolaz:

II: dae = min {æ, 6+2} = 8dad = min {6, 6+3 } = 6

3. ALGORITAM DIJKSTRA-E

III: min { 6, 8, 13, æ, æ, æ, æ, æ } = 6 čvor d

prelazi u zatvoreno stanje

IV: qd = ? dad – l(a,d) = daa 6-6 = 0 qd =a

dad – l(c,d) = dac 6-3 ≠ 6

a

4

4 9

2

2 2

510

2

9

86

7

b f

e

h j

lc

(13, −)

(∞, −) (∞, −)

(4, a)¢

3. ALGORITAM DIJKSTRA-E

a 2 2

3

36 6

8

86

67

e

g i k

l

d

c

(∞, −) (∞, −) (∞, −)

(6, a)¢

(8, −) (∞, −)(6, b)¢(0, +)′

Slika 7. Izgled mreže posle završenog trećeg prolaza

a

4 2

2

510

2

9b f

e

h j

lc

(4, a) (13, b)

(23, f) (28, h)

3. ALGORITAM DIJKSTRA-EPut od a do l:

a-b-f-h-j-l

Dužina puta je 30

a 2

6

8

67

e

g i k

l

d

c

(14, d) (21, g) (27, i)

(6, a)

(6, b) (8, c)(0, +) (30, j)

Slika 8. Najkraći putevi od čvora a do svih ostalih čvorova