vysoké uÄenà technické v brnÄ evoluÄnà algoritmy - matlab gate toolbox
vysoké uÄenà technické v brnÄ evoluÄnà algoritmy - matlab gate toolbox
vysoké uÄenà technické v brnÄ evoluÄnà algoritmy - matlab gate toolbox
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
adekvátní velikost populace jedinců. Průběh optimalizace by tak byl velmi pomalý a vyžadoval<br />
by výpočet za použití mnoha klientů.<br />
4.5.5 Klientská část<br />
Je tvořena GATE-DLL <strong>toolbox</strong>em, ve kterém je na začátku výpočtu volána funkce<br />
DLLinitXML s parametrem master XML souboru, založeným serverovou aplikací. Poté je<br />
možné zavolat funkci DLLAddClient. Ta připojí klienta do master XML. Následně probíhá<br />
klasický výpočetní cyklus genetického algoritmu, který má jako ukončovací podmínku volání<br />
funkce DLLClientStatus.<br />
Příklad typického GATE-DLL klient Matlab kódu:<br />
[GA res] = DLLXMLinit('GA','d:\server.xml','restart');<br />
if(res)<br />
DLLAddClient;<br />
GA = DLLfitness(GA);<br />
GA.nGener = GA.nGener + 1;<br />
while(~DLLClientStatus)<br />
GA = DLLselect(GA,'tournament',10);<br />
GA = DLLcross(GA,'pcross',[0.3 30]);<br />
GA = DLLmutationHC(GA,'HC12',10,'rand',15);<br />
GA = DLLfitness(GA);<br />
GA.nGener = GA.nGener + 1;<br />
if(mod(GA.nGener,100) == 0)<br />
DLLviewProgress(GA,'small');<br />
end<br />
end<br />
DLLviewProgress(GA,'full');<br />
else<br />
fprintf('Chyba pri nacitani XML souboru.\n');<br />
end<br />
GA = DLLfreeModel(GA);<br />
clear GA res;<br />
51