Professional Documents
Culture Documents
ATM Kolokvijum 2
ATM Kolokvijum 2
Problem trgovačkog putnika – kojim redosledom treba da obiđe oređene tačke (čvorove) tako
da svaku tačku obiđe tačno jedanput, a da se po obilasku svih tački vrati u početnu tačku i pritom
pređe najmanje rastojanje.
Neka trgovački putnik treba da obiđe n gradova. Kada zeli da napusti početni čvor trgovački
put se susreće sa dilemom u koji od (n-1) gradova da se uputi. U sledećem koraku trgovački
putnik treba da se odluči za jedan od preostalih (n-2) gradova, i td. Ukupan broj različitih ruta
koje može da generiše trgovački putnik je jednak (n-1)!/2
Sa problemom trgovačkog putnika susrećemo se pri vršenju distribucije, sakupljanja ili neke
druge opsluge na transportnoj mreži. Pod trgovačkim putnikom mogu da se podrazumevaju
avioni, brodovi, kamioni, autobusi, posade itd.
Neka je, na primer, broj čvorova u odrđenoj mreži jednak n. Broj čvorova n je najčešći
reprezentant dimenzija razmatranog problema. Pretpostavimo da je ukupan broj elementarnih
operacija E, koje je potrebno obaviti prilikom primene određenog algoritma jednak: E=
4n^4 + 5n^3 +2n +7 Za veće vrednosti n najveći uticaj na ukupan broj elementarnih operacija
ima n^4 . “Računarska složenost algoritma” je proporcionalna n 4 , odnosno “da je algoritam
O(n^4 )” (čita se kao “o od n na četvrti”). Uz pretpostavku da svaka elementarna operacija
zahteva jednu jedinicu vremena možemo da kažemo da algoritam zahteva O(n^4 ) vremena. Pod
“lošim” algoritmima podrazumevaju se eksponencijalni (ne-polinomijalni) algoritmi
(algoritmi koji zahtevaju O(3^n ) ili O(n!) vremena).
1
odnosno smanje (u problemima minimizacije) trenutnu vrednost definisane kriterijumske
funkcije.
2
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
nije susedna početnoj tački B); (c) su obe tačke i i j uključene u dve različite delimične
rute i nijedna od tih tačaka nije unutrašnja u tim rutama (obe su spoljne) u kom sluč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.
3
OPTIMALNI PUTEVI U TRANSPORTNIM MREZAMA
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 se podrazumeva dužina, vreme putovanja, transportni troškovi, pouzdanost itd.
ALGORITAM DIJKSTRA-E
Svaki čvor u mreži može tokom procesa iznalaženja najkraćih puteva u mreži da se nalazi u 2
moguća stanja i to u tzv. otvorenom stanju ukoliko je čvor označen privremenim oznakama ili u
zatvorenom, ukoliko je označen stalnim oznakama.Dijkstrijin algoritam se primenjuje kako na
mreze sa simetricnim, tako i na mreze sa nesimetricnim rastojanjima.
Početna rastojanja između bilo koja dva čvora u mreži definišu se na sledeći način:
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 većim brojem grana, rastojanje između
njih jednako je dužini najkraće grane koja ih povezuje. Označimo sa c poslednji čvor za koga
smo u procesu nalaženja najkraćih puteva utvrdili da se nalazi u zatvorenom stanju. Simbolom +
označimo čvor-prethodnik čvora a.
4
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. Čvor j prelazi iz otvorenog u
zatvoreno stanje, s obzirom da ne postoji put od a do j kraći od daj. spitajmo dužine svih grana (i,
j) koje vode od čvorova koji se nalaze u zatvorenom stanju do čvora j sve dok ne utvrdimo da je
ispunjena relacija: daj −dij = dai
Neka je ova relacija ispunjena za neki čvor t. Ovo znači da je čvor t, čvor prethodnik čvoru j
na najkrać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, tada
smo završili sa postupkom za iznalaženje najkraćih puteva. Ukoliko postoje još neki čvorovi koji
se nalaze u otvorenom stanju, tada se vraćamo na korak 2 (ispitujemo sve grane (c, i) koje izlaze
iz poslednjeg čvora koji je u zatvorenom stanju).
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. Dužine ovih grana označimo sa d(1), d(2), d(3),
..., d(n). Pošto se drugi po redu najkraći put razlikuje od najkraćeg puta u najmanje jednoj grani,
pretpostavimo da je to grana broj 1. Pretpostavimo takođe da je dužina ove grane beskonačno
velika. Primenom Dijkstra-nog algoritma odredimo ponovo najkraći put u razmatranoj mreži.
Novi “najkraći” put označimo sa p1 . U sledećem koraku grani broj 1 “vratimo” originalnu
dužinu i pretpostavimo da je dužina grane broj 2 beskonačno velika. U ovako modifikovanoj
mreži primenimo ponovo algoritam Dijkstra-e za iznalaženje najkraćeg puta. Novi “najkraći put”
označimo sa p2 . U sledećim koracima bi se dužine treće, četvrte, ..., n-te grane modifikovale i
primenom algoritma Dijkstra-e bi se utvrdili odgovarajući “najkraći putevi” p3 , p4 , ..., pn .
Najkraći od puteva p1 , p2 , p3 , ..., pn predstavlja drugi po redu najkraći put u razmatranoj mrež
5
Klasifikacija problema rutiranja
1. Vreme opsluge u odeđenom čvoru ili na određenoj grani
a. Momenti vršenja opsluge objavljeni su unapred (problem reda vožnje),
b. Opsluga u pojedinim čvorovima mora da bude obavljena u okviru određenih
vremenskih intervala (kombinovani problem rutiranja i reda vožnje),
c. Ne postoje posebni zahtevi u pogledu vršenja opsluge u pojedinim čvorovima
(problemi rutiranja saobraćajnih sredstava);
2. Broj baza saobraćajnih sredstava na mreži
a. Na mreži postoji samo jedna baza
b. Na mreži postoji više baza
3. Veličina flote (voznog parka) saobraćajnih sredstava
a. U floti postoji samo jedno saobraćajno sredstvo
b. U floti postoji više saobraćajnih sredstava
4. Vrste saobraćajnih sredstava u floti
a. Sva saobraćajna sredstva u floti su istog tipa
b. U floti postoji više tipova saobraćajnih sredstava
5. Karakter zahteva za opslugom
a. U mreži se javljaju deterministički zahtevi za opslugom
b. U mreži se javljaju stohastički zahtevi za opslugom
6. Mesta javljanja zahteva za opslugom
a. Zahtevi za opslugom javljaju se u čvorovima mreže
b. Zahtevi za opslugom javljaju se na granama mreže
c. Zahtevi za opslugom javljaju se i u čvorovima i na granama mreže
7. Tip transportne mreže
a. Orijentisana transportna mreža
b. Neorijentisana transportna mreža
c. Mešovita transportna mreža
8. Ograničenja kapaciteta saobraćajnih sredstava
a. Sva saobraćajna sredstva imaju ista propisana ograničenja kapaciteta
b. Postoje razlike između pojedinih saobraćajnih sredstava u pogledu propisanih
ograničenja
c. Ne postoje propisana ograničenja u pogledu kapaciteta saobraćajnih sredstava
9. Maksimalno dozvoljena dužina rute saobraćajnih sredstava
a. Sva saobraćajna sredstva u floti imaju jednaku maksimalno dozvoljenu dužinu
rute
b. Pojedina saobraćajna sredstva imaju različite maksimalno dozvoljene dužine
ruta
c. Ne postoje ograničenja u pogledu maksimalno dozvoljene dužine rute
saobraćajnih sredstava u floti
10. Troškovi
a. Promenjivi i Fiksni
11. Operacije koje se obavljaju
a. Prikupljanje
b. Razvoženje
c. Prikupljanje i razvoženje (utovar i istovar robe ili ukrcavanje i iskrcavanje
putnika)
6
12. Kriterijumska funkcija na osnovu koje se vrši optimizacija na mreži
a. Minimiziranje troškova vršenja rutiranja
b. Minimiziranje sume fiksnih i varijabilnih troškova
c. Minimiziranje potrebnog broja saobraćajnih sredstava za obavljanje određenog
transportnog rada
Bazu treba spojiti sa proizvoljno odabranom tačkom. Ovu tačku nazovimo prvom tačkom.
Sve ostale tačke treba spojiti sa bazom i zatim ih poređati po rastućim uglovima koje zaklapaju
duži koje povezuju tačke sa bazom sa duži koja spaja bazu sa prvom tačkom. Ruta započinje
prvom tačkom, a zatim se ruti pridružuju tačke poređane po rastućim uglovima, pri čemu se vodi
računa o poštovanju zadatih ograničenja.
Kada neka tačka ne može da bude uključena u rutu, jer bi se time prekršila određena
ograničenja, tada ta tačka postaje prva tačka na novoj ruti, itd. Proces se završava kada su sve
tačke uključene u određene rute.
7
potom se problem rutiranja rešava u okviru svake zone posebno. Prva zona započinje prvom
tačkom, a zatim se zoni pridružuju čvorovi poređani po rastućim uglovima, pri čemu se vodi
računa o poštovanju zadatih ograničenja. Kada neki čvor ne može da bude uključen u zonu, jer bi
time prekršila određena ograničenja, tada taj čvor postaje prva tačka nove zone itd. Zoniranje se
završava kada su sve tačke uključene u određene zone.
Rutiranje-zoniranje
Kreirati gigantsku rutu koja prolazi kroz depo i čvorove koji zahtevaju opslugu. Prilikom
kreiranja gigantske rute ne treba voditi računa o operativnim ograničenjima (kapacitet vozila,
maksimalno dozvoljena dužina rute, …). Ruta je dopustiva ukoliko je ukupna potražnja duž rute
manja ili jednaka kapacitetu vozila.
𝑑1(𝑖)
𝑎𝑖 =
𝑑2(𝑖)
U razmatranje se potom uvodi broj x za koji važi 0<=x<=1. Vrednost x se proizvoljno bira i
potom se ova vrednost poredi sa veličinama ai . Ukoliko je ai <= x tada se tačka i pridružuje
najbližoj bazi (nju će opsluživati saobraćajna sredstva iz njoj najbliže baze). Ukoliko je ai >x,
tada se tačka i ostavlja za kasnije razmatranje.
Kada su sve tačke za koje je ai <=x pridružene odgovarajućim bazama tada se ponovo
razmatraju tačke za koje je ai > x. Tačke za koje je ai >x se pridružuju bazama na sledeći način.
Neka su neke dve tačke b i c pridružene nekoj bazi Bp . Ukoliko tačku a želimo da ubacimo u
rutu između tačke b i tačke c, odnosno da je pridružimo bazi Bp povećaćemo dužinu rute koja
počinje iz baze Bp za: dbc (a) = d(b, a) + d(a, c) - d(b, c)
PREDAVANJE 10
Tokovi na mrezama
Pod intenzitetom toka xij grane(i , j) se podrazumeva količina (robe, broj vozila, broj putnika )
koja prolazi kroz neku tačku na posmatranoj grani u jedinici vremena. Intenzitet toka se izražava
realnim brojem.U nekim slučajevima tok je bezdimenziona veličina, dok je u nekim drugim
8
slučajevima neophodno voditi računa i o odgovarajućim dimenzijama (broj[vozila/h], broj
[putnika/h], broj aviona[aviona/h]).
U najvećem broju slučajeva fizičke karakteristike grane određuju njen kapacitet. Tako je, na
primer,broj saobraćajnih traka svakako najznačajniji factor koji određuje kapacitet određene
saobraćajnice.
Tok na grani (i,j) mora uvek da zadovolji ograničenje vezano za kapacitet. Drugim
rečima,uvek mora da je ispunjena sledeća nejednakost: lij xij uij gde je lij najmanja moguća
vrednost toka na grani (i,j) (često je lij = 0 )
Označimo sa si razliku između sume tokova koji izlaze i sume tokova koji ulaze učvor i, tj:
𝑆𝑖 = ∑ 𝑋𝑖𝑗 − ∑ 𝑋𝑗𝑖
U slučaju kada je si > 0 , čvor i predstavlja izvorni čvor. U suprotnom slučaju kada je si <0,
cvor i je ciljni cvor. U slučaju tranzitnih tokova suma tokova koji ulaze u tranzitni čvor mora biti
jednaka sumi tokova koji izlaze iz tranzitnog čvora(si =0).
xij - količina gotovih proizvoda koju treba poslati od čvora proizvodnje i ka čvoru potrosnje j.
cij - jedinični troškovi transporta od čvora i dočvora j (dimenzije ovih troškova su izražene u
broju novčanih jedinica po jedinici količine koja se prevozi).