Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Sekvencijalna GA implementacija 57<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
operiše nad celom populacijom, umesto nad pojedinačnim jedinkama. Tada se<br />
računa ukupan broj gena koje treba mutirati u celoj populaciji, zatim se na<br />
slučajan način biraju globalne pozicije mutiranih gena, na osnovu kojih se<br />
izračunavaju redni brojevi jedinki i lokalne pozicije mutiranih gena. Pošto je u<br />
tom slučaju uslov N pop * N bits * p mut ≥ 5 gotovo uvek ispunjen, ovakav pristup je<br />
generalno primenjiv.<br />
2.5 Ostale funkcije<br />
Osim kodiranja, politike zamene generacija i genetskih operatora, postoje još<br />
neki aspekti koji mogu uticati na performanse genetskog algoritma ili doprineti<br />
na neki drugi način. To su: kriterijum završetka izvršavanja GA, štampanje<br />
izveštaja u toku i na kraju izvršavanja GA, parametri GA, keširanje GA i<br />
generator slučajnih brojeva dat u izvornom kodu. Keširanje GA kao tehnika za<br />
poboljšavanje vremena izvršavanja GA biće detaljno opisano u poglavlju 4, dok<br />
su ostale funkcije opisane u ovom odeljku.<br />
2.5.1 Kriterijumi završetka izvršavanja GA<br />
GANP implementacija sadrži nekoliko kriterijuma završetka izvršavanja GA,<br />
koji se mogu i proizvoljno kombinovati:<br />
• Dostignut je maksimalan broj generacija N gener ;<br />
• Najbolja jedinka je ponovljena N rep puta;<br />
• Sličnost jedinki u generaciji je veća od zadate granice;<br />
• Dokazana je optimalnost najbolje jedinke, ukoliko je funkcija za dokazivanje<br />
optimalnosti moguća i realizovana u delu koji zavisi od prirode samog<br />
problema;<br />
• Najbolja jedinka je dostigla optimalno rešenje, ukoliko je ono unapred<br />
poznato;<br />
• Izvršavanje genetskog algoritma je prekinuto od strane korisnika.<br />
Ukoliko je ispunjen izabrani kriterijum za završetak, izvršavanje genetskog<br />
algoritma se regularno prekida i štampa se odgovarajući izveštaj, koji sadrži<br />
najbolje dobijeno rešenje datog problema (najbolja jedinka u poslednjoj<br />
generaciji).<br />
2.5.1.1 Maksimalan broj generacija<br />
Ovo je najprostiji kriterijum za završetak izvršavanja genetskog algoritma, jer<br />
se GA prekida kada broj generacija dostigne N gener koji je unapred zadat. Pošto<br />
je predviđeno da izvršavanje GA bude završeno u nekom konačnom (realno<br />
dostižnom) vremenu. Ovaj kriterijum se koristi skoro u svakoj primeni GA, ređe<br />
samostalno, najčešće u kombinaciji sa drugim kriterijumima.<br />
Parametar N gener treba da obezbedi dovoljan broj generacija za izvršavanje<br />
GA tako da rešenje bude kvalitetno, a da vreme izvršavanja ne bude<br />
nepotrebno dugo. Najnepovoljnija mogućnost je ako genetski algoritam<br />
dostigne optimalno rešenje, ali zbog lošeg izbora parametra N gener koji ima<br />
suviše veliku vrednost, nepotrebno nastavi sa <strong>rad</strong>om i izvrši još nekoliko stotina<br />
ili hiljada generacija. U tom slučaju nije dobro ni ishitreno smanjiti broj N gener jer<br />
se može dobiti rešenje lošeg kvaliteta pri izvršavanju na nekoj drugoj instanci<br />
datog problema, slične dimenzije, ali različitih karakteristika. Obično nije lako<br />
unapred odrediti pogodnu vrednost za N gener pogotovo u slučaju kada se dati