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.

Paralelna GA implementacija 69<br />

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

Ukoliko bi razmena jedinki bila suviše česta, vrlo brzo bi potpopulacije<br />

sadržale više kopija jednih istih jedinki, tada bi efekti paralelizacije bili<br />

zanemarljivi i rezultati dobijeni paralelnim izvršavanjem bi bili slični<br />

sekvencijalnom izvršavanju GA na samo jednom procesu (procesoru). Pri<br />

suviše retkoj razmeni jedinki, genetski algoritmi koji se izvršavaju na<br />

pojedinačnim procesima su praktično nezavisni, što daje nešto bolje rezultate<br />

nego pri suviše čestoj razmeni jedinki, ali su performanse paralelizacije i dalje<br />

relativno loše. Uz dobro izabranu učestanost razmene jedinki, postiže se dobar<br />

kompromis između sledećih komponenti pretrage paralelnog GA: istraživanja<br />

(exploration) i iskorišćenja (exploitation). To doprinosi punom korišćenju<br />

prednosti paralelizacije, koje se ogledaju u boljem kvalitetu rešenja, uz<br />

istovremeno kraće vreme izvršavanja, u odnosu na sekvencijalni GA.<br />

Podaci grupisani u podstrukturi za razmenu jedinki su:<br />

• Pokazivači na funkcije za slanje i prijem jedinki;<br />

• Pomoćni nizovi za prijem i slanje celobrojnih i realnih vrednosti, kao i broj<br />

članova datih nizova. Funkcijski pokazivači se šalju preko celobrojnih rednih<br />

brojeva izabrane funkcije u odnosu na zadati poredak;<br />

• Koliko jedinki šalje osnovni proces odjednom na izračunavanje ostalim<br />

procesima. Pošto se taj broj razlikuje na početku slanja i kasnije, memorišu<br />

se tri vrednosti (koristi se samo u centralizovanom modelu);<br />

• Učestanost razmene jedinki između susednih potpopulacija, odnosno, broj<br />

generacija genetskog algoritma između dve razmene (distribuirani model);<br />

• Pokazivači na funkcije za izbor jedinke koja se šalje susedima, odnosno,<br />

jedinki koje se izbacuju iz populacije (distribuirani model);<br />

• Broj učesnika, redom, na turnirima gde se biraju jedinke za slanje susedima<br />

odnosno izbacivanje iz populacije, ako se vrši turnirski izbor jedinki<br />

(distribuirani model).<br />

3.2.<strong>1.3</strong> Prosleđivanje rešenja<br />

Podstruktura za prosleđivanje rešenja u distribuiranom modelu služi za<br />

prikupljanje konačnih rešenja od suseda potomaka, i prosleđivanje konačnog<br />

rešenja za dati proces susedu roditelju. Pri tome se rešenje lokalnog GA koji se<br />

izvršavao na tekućem procesu, dopunjuje rezultatima dobijenim od suseda<br />

potomaka, i na taj način se formira rešenje koje se prosleđuje dalje susedu<br />

roditelju.<br />

Za funkcionisanje ovog segmenta paralelnog GA neophodni su sledeći<br />

podaci:<br />

• Pokazivači na funkcije za inicijalizaciju, slanje i prijem konačnog rešenja GA<br />

u distribuiranom modelu;<br />

• Memorijski prostor gde se smeštaju konačna rešenja suseda potomaka.<br />

3.2.1.4 Kriterijum završetka paralelnog GA<br />

Jedan od važnih aspekata paralelnog GA je i kriterijum za završetak<br />

izvršavanja. Pošto se u distribuiranom modelu na svakom procesu izvršava<br />

lokalni GA, postoje dva kriterijuma završetka: globalni i lokalni.<br />

U slučaju lokalnog kriterijuma završetka, dati proces prekida izvršavanje<br />

lokalnog GA, svim susedima šalje poruku o tome, ali i dalje nastavlja<br />

komunikaciju sa susednim procesima (prijem i prosleđivanje njihovih poruka).<br />

Pri tome se prikupljaju i memorišu konačna rešenja od suseda potomaka. Po

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

Saved successfully!

Ooh no, something went wrong!