Upload
slavica12199
View
260
Download
2
Embed Size (px)
DESCRIPTION
analiza mrreza saobracaj
Citation preview
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.
� 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