Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
122 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
Tabela A.3 Paralelni aspekti PGANP<br />
Zaglavlje Programski kod Opis<br />
ARH.H ARH.C Paralelna arhitektura koja se primenjuje.<br />
CHOICE.H CHOICE.C Izbor jedinki za slanje ili izbacivanje kod<br />
distribuiranog PGA.<br />
CPGA.H CPGA.C Funkcije vezane za centralizovani model PGA.<br />
DPGA.H DPGA.C Funkcije primenjene u distribuiranom modelu<br />
PGA.<br />
PARAL.H PARAL.C Paralelna struktura i ostali podaci vezani za<br />
paralelizaciju.<br />
PLCONST.H - Konstante specifične za PGANP.<br />
PLFINISH.H PLFINISH.C Globalni i lokalni kriterijumi završetka PGA.<br />
PLFUN.H - Zbirno predstavljena sva zaglavlja.<br />
PLPARAMS.H PLAPRAMS.C Inicijalizacija, učitavanje i konfigurisanje<br />
paralelnih aspekata GA.<br />
RECITM.H RECITM.C Prijem jedinke.<br />
RECSOL.H RECSOL.C Prijem vrednosti jedinke (centralizovani model)<br />
odnosno prijem rešenja od suseda (distribuirani<br />
model).<br />
SENDITM.H SENDITM.C Slanje jedinke.<br />
SENDSOL.H SENDSOL.C Slanje vrednosti jedinke (centralizovani model)<br />
odnosno slanje rešenja susedu (distribuirani<br />
model).<br />
STRCOMM.H STRCOMM.C Slanje i prijem GA i paralelne strukture pri<br />
inicijalizaciji.<br />
- MAIN.C Glavna procedura (konzolna aplikacija).<br />
- VMAIN.C Glavna procedura (grafičko okruženje).<br />
Arhiva problem.ZIP u ovom slučaju osim već opisanih datoteka za<br />
sekvencijalno izvršavanje, sadrži i novu datoteku PRPARAL.C (zaglavlje joj je<br />
PRPARAL.H), koja realizuje paralelne aspekte PGANP zavisne od prirode<br />
problema.<br />
Pošto je procedura za prevođenje izvornog koda prilično komplikovanija,<br />
biće izložena vrlo detaljno za VISUAL C++ 4.0 prevodilac. Ona se sastoji od više<br />
koraka:<br />
• Formirati odgovarajući projekat za verziju konzolne aplikacije ili grafičkog<br />
okruženja. To se može učiniti iz menija File => New => Project Workspace<br />
=> Application (odnosno Console Application);<br />
• Uneti sve .C datoteke iz direktorijuma OSNOVA_DIR i problem_DIR. Iz<br />
direktorijuma PARAL_DIR uneti prvo datoteku vmain.c (grafičko okruženje)<br />
odnosno cmain.c (konzolna aplikacija), a zatim sve ostale datoteke sa<br />
izvornim kodom. Odgovarajući meni je Insert => Files into Project. Takođe<br />
uneti WMPI datoteke vwmpi.lib, vwmpi.rc i vshell.lib (grafičko okruženje) ili<br />
cvwmpi.lib i vwmpi.rc (konzolna aplikacija);<br />
• Direktorijume WMPI_DIR\include, OSNOVA_DIR, PARAL_DIR i<br />
problem_DIR je potrebno dodati listi direktorijuma sa sistemskim zaglavljima<br />
(INCLUDE_PATH) pomoću Build => Settings => C/C++ => Preprocessor =><br />
Additional incl. dir.;<br />
• U okviru projekta postaviti globalnu definiciju VISC na sledeći način Build =><br />
Settings => C/C++ => General => Preprocessor definitions;