08.03.2015 Views

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

102 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />

čije su grane uspostavljene, i preko kojih se mogu transportovati artikli. Na<br />

datom redukovanom podgrafu G‘ se za svaki artikal k∈C primenjuje algoritam<br />

za nalaženje najkraćeg puta, i na taj način se rekonstruišu elementi x k ij .<br />

Za nalaženje najkraćeg puta u grafu je primenjen Dijkstra-in algoritam, prvi<br />

put opisan u [Dij59], a može se naći u skoro svim knjigama iz oblasti algoritama.<br />

Koristeći neke posebne strukture podataka (primer jedne od njih je detaljno<br />

opisan u [Fre84]), postoje modifikovane implementacije Dijkstra-inog i Bellmanovog<br />

algoritma ([Blm58]) koje nešto brže rešavaju problem nalaženja najkraćeg<br />

puta u grafu. Međutim, nijedna od tih modifikacija nije apsolutno najbolja, već je<br />

svaka od njih pogodna za neku posebnu klasu instanci. Opisi nekoliko ovakvih<br />

metoda su dati u [Joh77], [Gll88] i [GolA93], a njihova uporedna analiza i<br />

rezultati izvršavanja na raznim tipovima grafova se mogu videti u <strong>rad</strong>u [Che93].<br />

U tom <strong>rad</strong>u možemo uočiti da su razlike u vremenima izvršavanja značajne<br />

tek za instance vrlo velike dimenzije (grafovi sa nekoliko hiljada čvorova), što<br />

višestruko prevazilazi dimenzije UNDP instanci koje su rešavane u ovom <strong>rad</strong>u.<br />

Zbog toga je u ovom <strong>rad</strong>u, pri rešavanju UNDP problema, primenjivana<br />

osnovna varijanta Dijkstra-inog algoritma, a u budućnosti je moguće<br />

unapređenje korišćenjem neke od modifikacija.<br />

Teorema 6.1. U opštem slučaju vreme izvršavanja vrednosne funkcije nije<br />

veće od O(|A| + |C| ⋅ |N| 2 ).<br />

Dokaz: Za dobijanje niza y ij iz genetskog koda je potrebno |A| koraka. Posle<br />

toga je potrebno još |C| puta primeniti Dijkstra-in algoritam za nalaženje<br />

najkraćeg puta, koji je vremenske složenosti O(|N| 2 ), pa je ukupno vreme<br />

izvršavanja najviše O(|A| + |C| ⋅ |N| 2 )<br />

♦<br />

6.3.2 Genetski operatori<br />

6.3.2.1 Selekcija<br />

Kao i u primeni na prethodni problem (SPLP) zbirno su najbolji rezultati<br />

dobijeni korišćenjem selekcije bazirane na rangu. Takođe su primenjeni i isti<br />

parametri datog selekcionog operatora (linearno smanjivanje rangova od nivoa<br />

2.5 za najbolju do 0.712 za najlošiju jedinku sa korakom 0.012). Međutim, za<br />

razliku od prethodnog problema, vrlo su male razlike pri izvršavanju u odnosu<br />

na rezultate turnirske selekcije. Čak je turnirska selekcija dala bolje rezultate na<br />

nekim UNDP instancama, ali su ukupni rezultati korišćenjem selekcije bazirane<br />

na rangu zbirno ipak nešto bolji.<br />

6.3.2.2 Ukrštanje i mutacija<br />

Operator uniformnog ukrštanja je i u ovom slučaju pokazao najbolje<br />

performanse pri izvršavanju, mada su i dalje male razlike u odnosu na druge<br />

načine ukrštanja. Zadržan je nivo ukrštanja p cross = 0.85 i verovatnoće razmene<br />

bitova p unif = 0.3 .<br />

Primenjena je i dalje prosta mutacija implementirana korišćenjem Gausove<br />

(normalne) raspodele, ali je nivo mutacije malo izmenjen i dat je pomoću<br />

formule:<br />

1<br />

p mut =<br />

(6.6)<br />

2 ⋅ A<br />

Kao i u prethodnom slučaju dobar izbor nivoa mutacije značajno utiče na<br />

performanse celog genetskog algoritma.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!