You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Prost lokacijski problem 89<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
5.3.2.1 Računanje u slučaju e > e 0<br />
Ako je e dovoljno veliko (e > e 0 ) u računanju vrednosti jedinke koristimo listu<br />
indeksa. Za svakog korisnika nalazimo najpovoljnijeg snabdevača, na sledeći<br />
način:<br />
• Za datog korisnika nalazimo odgovarajuću listu indeksa;<br />
• Pretražujemo datu listu do prve pojave y i =1;<br />
• Za snabdevanje tekućeg korisnika je izabran snabdevač sa lokacije i.<br />
Primenom date procedure, pošto je svaka vrsta uređena u neopadajućem<br />
poretku troškova transporta izbrane su najpovoljnije lokacije za snabdevanje<br />
svakog od korisnika. Pošto je broj uspostavljenih lokacija za snabdevanje veliki<br />
(e > e 0 ), potrebno je samo nekoliko koraka za nalaženje prvog elementa koji<br />
zadovoljava y i =1, u listi indeksa, pa je vreme izvršavanja vrednosne funkcije<br />
malo.<br />
Nalaženje niza y i iz genetskog koda date jedinke je vremenske složenosti<br />
O(m). Za svakog od m korisnika, potrebno je prosečno m/e koraka za<br />
pretraživanje liste indkesa, pri nalaženju najpogodnije lokacije za snabdevanje.<br />
Zbog toga je vremenska složenost vrednosne funkcije u ovom slučaju jednaka<br />
⎛<br />
Om+ n⋅<br />
m ⎞<br />
⎜<br />
⎝ e ⎠ .<br />
5.3.2.2 Računanje u slučaju e ≤ e 0<br />
Prethodna procedura daje dobre rezultate samo ako je e veliko, pa je niz y<br />
"gust" (sadrži mnogo elemenata jednakih jedan). U suprotnom, ako je niz y<br />
"redak", prethodna strategija daje loše rezultate, jer je potrebno mnogo više<br />
koraka pri pretraživanju liste indeksa, da bi pronašli element za koji je y i =1.<br />
Zbog toga, u datom slučaju, primenjujemo drugačiju strategiju za nalaženje<br />
najpovoljnijih lokacija za snabdevanje. Pri tome više ne koristimo listu indeksa,<br />
jer to nije celishodno, već formiramo niz o koji sadrži indekse nenultih članova<br />
niza y (odnosno elemente za koje je y i =1). Dakle, o j = i, ako y i = 1 predstavlja j-ti<br />
nenulti element po redosledu pojavljivanja u nizu y. Veličina niza o je mala, jer<br />
je niz y "redak", pa ima malo nenultih elemenata.<br />
Pri nalaženju najpovoljnije lokacije za snabdevanje datog korisnika,<br />
pretražujemo samo niz o. Iako niz o nije uređen u nekom poretku (kao na<br />
primer lista indeksa), pa zahteva pretraživanje po svim članovima niza, on je<br />
male dužine, jer je e malo, što garantuje brzo izvršavanje. Konstrukcija niza o<br />
zahteva O(m) vremena, ali se ona izvršava samo jednom na početku, a koristi<br />
se n puta, pri nalaženju najpovoljnije lokacije snabdevanja za svakog korisnika.<br />
Za pretraživanje niza o je potrebno e koraka, pa je tada ukupna vremenska<br />
složenost date vrednosne funkcije jednaka O(m + n· e).<br />
5.3.2.3 Teorijska ocena složenosti<br />
U ovom odeljku ćemo dati teorijsku ocenu složenosti celokupne funkcije za<br />
računanje vrednosti jedinke.<br />
Teorema 5.1. U opštem slučaju vreme izvršavanja vrednosne funkcije nije<br />
veće od Om ( + n⋅ m)<br />
.<br />
Dokaz: Za e > e 0 primenjujemo prvu strategiju, pa je