You are on page 1of 9

PROBLEM TRGOVAČKOG PUTNIKA

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.

Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika


Sve algoritme kojima se rešavaju problemi kombinatorne optimizacije možemo u osnovi
podeliti na egzaktne i heurističke.

Heuristički algoritam podrazumeva pronalaženje metoda koji će da u okviru “prihvatljivog”


vremena rada računara proizvede “dobro” rešenje blisko optimalnom. Heuristički algoritmi se
primenjuju za rešavanje problema u slučajevima kada bi, zbog dimenzija problema, egzaktni
algoritam doveo do eksponencijalnog vremena rada računara. U određenim situacijama troškovi
korišćenja egzaktnog algoritma znatno veći od potencijalnih koristi od iznalaženja optimalnog
rešenja.

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).

Kvalitet generisanih rešenja i vreme rada računara predstavljaju dva dominantna


kriterijuma na osnovu kojih se vrednuju svi heuristički algoritmi.

Heuristicki algoritmi zasnovani na slučajnom izboru


• Korak 1: Proizvoljno odabrati početni čvor rute.
• Korak 2:Na slučajan način odabrati sledeći čvor i uključiti ga u rutu.
• Korak 3: Ponavljti korak 2 sve dok se svi čvorovi ne uključe u rutu. Spojiti prvi i
poslednji čvor rute.

Proždrljivi (Greedy) heuristički algoritmi


Ovi algoritmi biraju u svakom koraku odgovarajuću promenljivu i odgovarajuću vrednost
tako da maksimalno moguće u okviru tog koraka povećaju (u problemima maksimizacije),

1
odnosno smanje (u problemima minimizacije) trenutnu vrednost definisane kriterijumske
funkcije.

Algoritam “najbližeg suseda” za konstrukciju rute trgovačkog putnika


• KORAK 1: Proizvoljno odabrati početni čvor rute.
• KORAK 2: Pronaći čvor najbliži poslednjem čvoru uključenom u rutu. Ovaj najbliži
čvor uključiti u rutu.
• KORAK 3: Ponavljti korak 2 sve dok se svi čvorovi ne uključe u rutu. Spojiti prvi i
poslednji čvor rute.

Algoritam “ubacivanja” za konstrukciju rute trgovačkog putnika


• KORAK 1: Konstruisati podgraf koji se sastoji samo od čvora i.
• KORAK 2: Naći čvor k za koji je veličina cik najmanja (cik predstavlja rastojanje
između čvora i i čvora k). Drugim rečima, pronaći čvor k najbliži čvoru i. Formirati
delimičnu rutu trgovačkog putnika. Ova ruta glasi (i, k, i).
• KORAK 3: Pronaći čvor k koji nije uključen u delimičnu rutu trgovačkog putnika koji
je najbliži delimičnoj ruti.
• KORAK 4: Pronaći granu (i, j) koja je deo delimične rute za koju je najmanja vrednost
veličine c ik + c kj - c ij. Ubaciti čvor k izmedju čvorova i i j.
• KORAK 5:Završiti sa algoritmom kada su svi čvorovi uključeni u rutu. U slučaju da
postoji još čvorova koji nisu uključeni u rutu trgovačkog putnika vratiti se na korak 3.

CHRISTOFIDES‑OV HEURISTIČKI ALGORITAM ZA KONSTRUKCIJU


RUTE TRGOVAČKOG PUTNIKA
• KORAK 1: Pronaći najkraće razapinjuće drvo koje spaja n čvorova. Označiti ovo
najkraće razapinjuće drvo sa A.
• KORAK 2: Neka je k od n čvorova drveta A neparnog 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 dobijenim
sparivanjem sačinjavaju mrežu koju ćemo označiti sa B. Nacrtati mrežu C koja
predstavlja uniju mreže B i mreže A.
• KORAK 3: Mreža C ne sadrži čvorove neparnog stepena. 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ćeni više od jednog puta i poboljšati rutu
trgovačkog putnika dobijenu posleg trećeg koraka uzimanjem u obzir nejednakosti:
d(a‚b)  d(a,c) + d(c,b)

Clarke-Wright-ov algoritam “ušteda” za konstrukciju rute TP


• 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.
• KORAK 3: Pri razmatranju uštede s(i, j) odgovarajuću granu (i, j) uključiti u
delimičnu rutu, ukoliko: (a) ni tačka i ni tačka j nisu bile uključene ni u jednu

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.

Algoritam “ubacivanja u konveksan mnogougao


Osnovna ideja algoritma sastoji se u konstrukciji konveksnog mnogougla (delimična ruta
trgovačkog putnika) čija temena predstavljaju neke od čvorova koji treba da budu posećeni. U
sledećem koraku vrši se proširivanje delimične rute.

Algoritam za konstrukciju konveksnog mnogougla


• KORAK 1: Čvorove koje treba da poseti trgovački putnik posmatrati u okviru
Dekartovog koordinatnog sistema. Odabrati čvor kome odgovara najmanja vrednost x
- koordinate. Ovaj čvor uključiti u konveksan mnogougao i označiti ga sa h1 .
• KORAK 2: Spojiti dužinama čvor h1 sa svim ostalim čvorovima. Od uglova koji se
dobijaju na ovaj način odabrati najveći ugao.
• KORAK 3: Odabrati jedan od čvorova koji određuje najveći ugao, označiti ga sa h2 i
uključiti ga u konveksan mnogougao.
• KORAK 4: Koristeći duž koja spaja čvorove h1 i h2 kao krak, konstruisati drugi krak
odgovarajućih uglova spajanjem čvora h2 sa preostalim čvorovima. Izabrati najveći
ugao, odgovarajući čvor označiti sa h3 i uključiti ga u konveksan mnogougao.
• KORAK 5: Ponavljati korak 4 onoliko puta koliko je to potrebno, određujući najveći
ugao između duži koja spaja čvorove hi-1 i hi sa dužima koje spajaju čvor hi sa
preostalim čvorovima.
• KORAK 6: Konveksan mnogougao je određen kada je sledeći kandidat za uključenje
u konveksan mnogougao-čvor h1 .

Algoritam “ubacivanja u konveksan mnogougao”


• KORAK 1: Konstruisati konveksan mnogougao. Ovaj mnogougao određuje početnu
delimičnu rutu trgovačkog putnika
• KORAK 2: Odrediti čvor k koji nije uključen u delimičnu rutu i granu (i, j) uključenu
u rutu, tako da veličina {𝑑(𝑖, 𝑘) + 𝑑(𝑘, 𝑗)} / d(i,j) bude najmanja moguća.
• KORAK 3: Uključiti čvor k u delimičnu rutu između čvorova i i j .
• KORAK 4: Ponavljati korake 2 i 3 dok se ne dobije ruta trgovačkog putnika.

Problem m trgovačkih putnika


Razmotrimo slučaj kada m trgovačkih putnika treba da poseti n čvorova, pri čemu svaka od m
ruta počinje i završava u istom čvoru. Označimo ovaj čvor sa B. Neophodno je pronaći m ruta
najmanje ukupne dužine koje nemaju zajedničkih grana, koje “pokrivaju” sve čvorove koje treba
obići i koje sve započinju i završavaju se u čvoru B.

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.

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


slučajevima kada su “dužine” grana slučajne promenjive, susrećemo se sa problemom
iznalaženja optimalnog puta u stohastičkoj mreži.

GENERIČKI ALGORITAM ZA IZNALAZENJE NAJKRAĆIH PUTEVA OD JEDNOG


ČVORA DO SVIH OSTALIH ČVOROVA U MREŽI
Mreža: G = (N, A). Odredimo najkraće puteve od početnog čvora (čvor 1) do svih ostalih
čvorova mreže. Svakoj grani (i, j) pridružena je odgovarajuća dužina d(i, j). Svakom čvoru je
pridružena oznaka koja predstavlja dužinu najkraćeg poznatog puta od čvora 1 do čvora i.

ALGORITAM DIJKSTRA-E

U Dijkstra-inom algoritmu se iz liste kandidata V u svakoj iteraciji uklanja čvor i kome


odgovara najmanja vrednost dužine najkraćeg poznatog puta (iz liste V se uklanja čvor i za koji
je ispunjena sledeća relacija:𝑑𝑖 = 𝑚𝑖𝑛 𝑑𝑗

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


A - čvor za koji ćemo istraživati najkraće puteve do svih ostalih čvorova u mreži.

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.

• dai - dužina najkraćeg puta od čvora a do čvora i, otkrivena do trenutka u kome


posmatramo transportnu mrežu,
• qi - čvor koji se nalazi ispred čvora i na najkraćem putu od čvora a do čvora i koji je
otkriven do trenutka u kome posmatramo transportnu mrežu (čvor-prethodnik čvoru i)

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

• Rastojanje od bilo kog čvora do njega samog jednako je nuli.


• Rastojanje je beskonačno veliko ukoliko čvorovi nisu međusobno povezani granom.

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.

Ukoliko je i čvor i u zatvorenom stanju pređimo na ispitivanje sledećeg čvora. Ukoliko je


čvor i u otvorenom stanju, njegovu prvu oznaku dai dobićemo na osnovu relacije:
𝑑𝑎𝑖 = 𝑚𝑖𝑛{𝑑𝑎𝑖, 𝑑𝑎𝑐 + 𝑑(𝑐, 𝑖)}

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).

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


Drugi po redu najkraći put se razlikuje od najkraćeg puta u najmanje jednoj grani.

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ž

Algoritam za iznalaženje najkraćih puteva izmedju svih parova čvorova


Često je neophodno izračunati najkraće puteve između svih parova čvorova u transportnoj
mreži. Ovaj problem moguće je rešiti i uz pomoć algoritma za iznalaženje najkraćih puteva
između jednog čvora i svih ostalih transportnih čvorova mreže. Ukoliko u mreži ima n čvorova,
neophodno je n puta primeniti algoritam Dijkstra-e, uzimajući svaki put drugi čvor za početni
čvor.

PROBLEM RUTIRANJA VOZILA


Često je neophodno da saobraćajna sredstva posete određeni broj čvorova u transportnoj
mreži ili da prođu tačno određenim granama u transportnoj mreži. Primeri: Skupljanje smeća,
Čišćenje i pranje ulica, Razvoženje novina, Raznošenje poštanskih paketa, Raspoređivanje
aviona ili autobusa na mrežu linija, Raspoređivanje posada aviona i vozača autobusa na određene
poslove.

Za rešavanje različitih varijanti problema rutiranja saobraćajnih sredstava ili problema


planiranja posada primenjuju se različite tehnike kao što su‚ na primer: dinamičko
programiranje ili metoda grananja i ograničavanja. Takođe je veliki broj problema ovog tipa
rešavan primenom heurističkih algoritama.

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

Standardni problem rutiranja


Standardni problem rutiranja: Projektovati skup ruta vozila najmanje ukupne dužine. Opslugu
u određenim čvorovima potrebno je obaviti u unapred definisanim momentima vremena ili u
okviru zadatih vremenskih intervala. U mreži postoji više baza saobraćajnih sredstava. Opslugu
vrše saobraćajna sredstva različitih kapaciteta. U mreži se javljaju stohastički zahtevi za
opslugom.

Clarke-Wright-ov algoritam ušteda


• 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.
• KORAK 3: Pri razmatranju uštede s(i, j) odgovarajuću granu (i, j) uključiti u
delimičnu rutu, ukoliko se pri tome ne krše zadata ograničenja i 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 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.

Heuristički algoritam “čišćenja”


U slučaju primene ovog algoritma treba raditi sa polarnim koordinatama, pri čemu bazu treba
tretirati kao koordinatni početak. (Ovo podrazumeva da su nam prethodno poznate Dekartove
koordinate čvorova)

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.

Zoniranje-rutiranje primenom algoritma “čišćenja”


Pristup je pogodan za rešavanje problema rutiranja velikih dimenzija. Krećući se u smeru
kretanja kazaljke na satu treba samo proveriti odnos kumulativne potražnje i kapaciteta
saobraćajnog sredstva koje vrši opslugu. Na ovaj način se posmatrani region deli na zone, a

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.

Problem rutiranja u slučaju postojanja više baza


Najčešće se problem rutiranja saobraćajnih sredstava na mreži u slučaju postojanja više baza
rešava u dva koraka. U prvom koraku se pojedine baze pridružuju pojedinim grupama tačaka
koje se opslužuju. U drugom koraku se rešava problem rutiranja saobraćajnih sredstava za
pojedine baze i njima odgovarajuće grupe tačaka, uz pomoć ranije izloženih metoda.

Za svaki čvor i izračunava se veličina ai koja se definiše na sledeći način:

𝑑1(𝑖)
𝑎𝑖 =
𝑑2(𝑖)

gde su d(1)(i) i d(2)(i) rastojanja od čvora i do najbliže i sledeće najbliže baze.

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)

Tačku a pridružujemo bazi gde će se ovim pridruživanjem izazvati najmanje povećanje


dužine rute koja polazi iz ove baze. Kada su na ovaj način sve tačke pridružene pojedinim
bazama, za vršenje rutiranja primenjuju se algoritmi razvijeni za slučaj jednog depoa.

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]).

Mreža G=(N,A): Skup tokova se naziva vektorom tokova.

Uij - kapacitet posmatrane grane (i,j)

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 )

Zakon o održanju tokova umreži

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).

Problemodređivanja vektora tokova kome odgovaraju minimalni troškovi


Mesta proizvodnje predstavljaju izvorne čvorove(si>0). Mesta potrošnje do kojih treba
dopremiti gotove proizvode predstavljaju ciljne čvorove (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).

Mnogi problemi (problem najkraćeg puta, problem raspoređivanja, transportni zadatak,


problem maksimalnog toka u mreži) sa kojima se srećemo u okviru problematike transportnih
mreža mogu da budu modelirani kao problem određivanja vektora tokova kome odgovaraju
minimalni troškovi.

Maksimalna vrednost toka


Ukupan tok od čvora s ka čvoru t moguće je usmeriti duž različitih puteva kroz transportnu
mrežu. Maksimalna vrednost toka od čvora s kačvoru t ne može da bude veća od kapaciteta
preseka transportne mreže. Bitno je istaći da ovo mora da bude ispunjeno za sve moguće preseke
mreže. Vrednost maksimalnog toka kroz mrežu koja ima jedan izvor i jedan cilj jednaka je
najmanjoj vrednosti kapaciteta svih mogućih preseka mreže.

You might also like