You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Sekvencijalna GA implementacija 59<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
2.5.1.6 Neregularan završetak izvršavanja<br />
Osim gore navedenih kriterijuma moguće je i da se izvršavanje GA završi na<br />
neki neregularan način, kada je ispunjen neki od sledećih uslova:<br />
• Neke od izabranih funkcija nisu međusobno kompatibilne;<br />
• Utvrđeno je da neka od kontrolisanih promenljivih u datom momentu ima<br />
vrednost izvan dozvoljenog opsega;<br />
• Sve jedinke u populaciji su nekorektne, a nije definisano njihovo uključivanje<br />
i korišćenje u GA.<br />
U slučaju neregularnog prekida izvršavanja GA, štampa se izveštaj o razlogu<br />
prekida, a najbolje dobijeno rešenje se štampa samo u onim slučajevima kada<br />
to ima smisla.<br />
2.5.2 Promena parametara tokom izvršavanja<br />
U ovoj implementaciji je dozvoljeno da nivo ukrštanja, odnosno mutacije,<br />
može da:<br />
• bude konstantan tokom izvršavanja GA;<br />
• se menja statički tokom generacija GA po unapred zadatoj formuli;<br />
• se menja dinamički za svaku generaciju genetskog algoritma posebno, u<br />
zavisnosti od zadatih karakteristika populacije u datoj generaciji.<br />
U dosta primena GA za rešavanje praktičnih NP-kompletnih problema,<br />
testiranjem se ne mogu uočiti razlike između datih pristupa, pa se primenjuje<br />
konstantan nivo ukrštanja ili mutacije tokom generacija GA, zato što je on<br />
najjednostavniji. Takođe je najlakše praktično odrediti, na osnovu<br />
eksperimenata, optimalan nivo datih genetskih operatora, ako je on na<br />
konstantnom nivou. Dati proces bi se dodatno otežao ukoliko nivo nije<br />
konstantan, već se menja tokom generacija.<br />
Nasuprot tome, u nekim slučajevima se može odmah primetiti razlika u<br />
kvalitetu dobijenog rešenja i performansama GA, pri poređenju konstantnog i<br />
promenljivog nivoa datog genetskog operatora. Tada ima smisla<br />
eksperimentalno određivanje načina promene i ostalih karakteristika datog<br />
operatora, jer je dobitak značajan i možda se takav pristup može primeniti i na<br />
rešavanje nekih sličnih problema.<br />
Od načina statičke promene nivoa mutacije (ukrštanja) načešće se koristi<br />
eksponencijalna promena tokom generacija. Jedino što se u nekim primenama<br />
bolje pokazao eksponencijalni porast, a u drugim eksponencijalno opadanje<br />
nivoa mutacije.<br />
Za korišćenje dinamičke promene nivoa mutacije, u praksi je pokazala dobre<br />
rezultate funkcija koja izračunava sličnost jedinki u populaciji, definisana u<br />
prethodnom odeljku. Nivo mutacije u svakoj generaciji je jednak datoj sličnosti<br />
jedinki u populaciji koja je pomnožena konstantnim koeficijentom zadatim<br />
unapred iz konfiguracione datoteke. Napomenimo da ovakav pristup ne daje<br />
rezultate, ukoliko se primeni na operator ukrštanja, već se kod njega mora<br />
primeniti drugačije definisana dinamička promena tokom generacija.<br />
Promena ostalih parametara ne utiče toliko na performanse GA, pa nije<br />
eksplicitno predviđeno da se oni mogu menjati tokom generacija. Međutim,<br />
ukoliko bi to bilo potrebno, lako bi se mogla realizovati takva mogućnost.