Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Paralelna GA implementacija 67<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
suseda, pa je ubrzanje bilo blisko linearnom. Detaljnije informacije o osnovi date<br />
PGA implementacije se mogu naći i u [Grg89].<br />
Nešto drugačija PGA implementacija je izložena u <strong>rad</strong>u [Fog91]. Ona je<br />
korišćena za rešavanje problema kontrole u realnom vremenu uz pomoć<br />
višeprocesorskog transpjuterskog sistema. Prvi procesor izvršava GA na<br />
populaciji od 250 jedinki, uz pomoć ostalih procesora u izračunavanju vrednosti<br />
jedinki. Pomoć se sastoji u tome da prvi procesor šalje genetske kodove jedinki<br />
ostalim procesorima, a oni izračunavaju njihove vrednosti i prosleđuju ih nazad<br />
prvom procesoru. Pošto je u datom problemu računanje vrednosne funkcije<br />
vremenski vrlo zahtevno, dati prisatup je bio pogodan i postignuti su<br />
zadovoljavajući rezultati. Postignuto je skoro linearno ubrzanje pri paralelnom<br />
<strong>rad</strong>u do 20 procesora, međutim, ubrzanje pri <strong>rad</strong>u većeg broja procesora brzo<br />
opada.<br />
Levine je za rešavanje problema podele skupa (Set Partitioning Problem -<br />
SPP) primenio oba globalna modela paralelizacije GA:<br />
• Distribuirani model je primenjen u implementaciji opisanoj u [Lvi93a] i<br />
[Lvi93b]. Dati PGA je zasnovan na relativno nezavisnim potpopulacijama,<br />
gde svaka od njih izvršava stacionarni GA, i one povremeno razmenjuju<br />
svoje najbolje jedinke. Odabir jedinke, koja će biti izbačena iz populacije da<br />
bi se na njeno mesto kopirala najbolja jedinka susedne populacije, vrši se<br />
turnirskom selekcijom. Dati pristup, gde se izbacuje najlošija jedinka na<br />
turniru sa nekoliko slučajno izabranih jedinki, se u praksi pokazao boljim od<br />
stalnog izbacivanja najlošije jedinke u populaciji. To se može objasniti<br />
činjenicom da, u prvom slučaju, i najlošija jedinka u populaciji ima neke<br />
šanse za izbor u narednu generaciju pa time doprinosi raznovrsnosti<br />
genetskog materijala. Izvršavanje je obavljeno na paralelnom računaru IBM<br />
SP1 sa 128 procesora, i dobijeni su vrlo dobri rezultati. Pri tome su rešene<br />
neke SPP instance veće dimenzije, sa nekoliko desetina hiljada celobrojnih<br />
promenljivih, koje su se pojavljivale u praksi.<br />
• PGAPack paralelna biblioteka za razvoj paralelnih genetskih algoritama<br />
koristi i mogućnost postojanja jedinstvene globalne populacije, a poslovi<br />
izračunavanja vrednosnih funkcija se dele među procesorima odnosno<br />
procesima. Za paralelizaciju je korišćen model prosleđivanja poruka pa je,<br />
osim izvršavanja na specijalizovanom paralelnom računaru, ostavljena i<br />
mogućnost korišćenja mreže <strong>rad</strong>nih stanica. PGAPack biblioteka je<br />
dostupna preko Interneta [Lvi95a], uz detaljno uputstvo dato u [Lvi95b]. Ova<br />
implementacija je takođe iskorišćena za rešavanje problema podele skupa,<br />
a rezultati su izloženi u <strong>rad</strong>u [Lvi96].<br />
Detaljniji pregled osnovnih karakteristika distribuiranog modela paralelizacije<br />
GA, kao i uporedna analaiza sa ostalim modelima se može naći u [Bld95].<br />
Postoji još i veliki broj drugih PGA implementacija, koje zbog obima ovog<br />
<strong>rad</strong>a, ne mogu sve biti detaljnije opisane, a navodimo literaturu gde se mogu<br />
pronaći detaljniji opisi: [Col91], [Shr91] i [Sho93].<br />
3.2 Zajednički deo<br />
MPI standard podržava paralelne konstrukcije relativno visokog nivoa, uz<br />
istovremeno očuvanje efikasnosti same implementacije. Time je omogućeno da<br />
programski kod ove paralelne implementacije bude relativno kratak a da<br />
ubrzanje bude blisko optimalnom.