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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Sekvencijalna GA implementacija 39<br />

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

novih, prvi put primenjenih, metoda. Svi elementi su ukomponovani u jednu<br />

celinu i maksimalno je olakšano programiranje pri rešavanju novih NPkompletnih<br />

problema, uz očuvanje efikasnosti cele implementacije. Pošto<br />

genetski algoritam sadrži veliki broj parametara koji su bitni za izvršavanje, kao i<br />

veći broj varijanti genetskih operatora, njihovo izbor i zadavanje je izvršeno na<br />

vrlo fleksibilan način. Pri rešavanju problema opisanih u ovom <strong>rad</strong>u, dobijeni su<br />

veoma dobri rezultati, u nekim slučajevima čak bolji od svih dosadašnjih<br />

primenjivanih metoda.<br />

Neke važne karakteristike GANP implementacije su:<br />

• Formiranje strukture koja sadrži sve informacije o GA, zajedničke za svaki<br />

problem koji se rešava;<br />

• Formiranje strukture koja sadrži informacije specifične za problem koji se<br />

rešava;<br />

• Izbor raznih varijanti operatora selekcije, ukrštanja i mutacije, kao i izbor<br />

funkcije prilagođenosti i kriterijuma za kraj izvršavanja GA se vrši pomoću<br />

konfiguracione datoteke. Pošto su korišćeni funkcijski pokazivači, očuvana<br />

je brzina izvršavanja, uz mogućnost variranja raznih operatora promenom u<br />

konfiguracionoj datoteci, bez ponovnog prevođenja programa.<br />

• Fleksibilan način čitanja podataka iz konfiguracione datoteke;<br />

• Mogućnost nadog<strong>rad</strong>nje nekim specifičnijim potrebama (meta GA, paralelni<br />

GA, itd).<br />

• Korišćenje generatora slučajnih brojeva datog u izvornom kodu, što<br />

doprinosi nezavisnosti koda od platforme na kojoj se izvršava, mogućnost<br />

determinisanog testiranja programa i jednake rezultate izvršavanja na svim<br />

platformama;<br />

• Laka dopuna funkcijama koje zavise od prirode problema.<br />

Svi podaci specifični za GANP implementaciju su grupisani u jednu<br />

strukturu C programskog jezika. Ona je podeljena po načinu korišćenja na<br />

podstrukture koje su zadužene za sledeće elemente GA:<br />

• Populacija sastavljena od jedinki;<br />

• Funkcija prilagođenosti;<br />

• Politika zamene generacija;<br />

• Selekcija;<br />

• Ukrštanje;<br />

• Mutacija;<br />

• Zajedničke funkcije;<br />

• Keširanje GA;<br />

• Kriterijum završetka.<br />

U ovom odeljku je dat samo pregled promenljivih u odgovarajućoj<br />

podstrukturi, a pregled funkcija, koje mogu biti dodeljene odgovarajućem<br />

funkcijskom pokazivaču, se može videti u narednom odeljku. Detaljne<br />

pojedinačne informacije o parametrima, koje sadrže tip i opseg odgovarajućeg<br />

numeričkog parametra, se mogu videti u dodatku B.

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

Saved successfully!

Ooh no, something went wrong!