01.12.2014 Views

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

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.

38<br />

Funkce<br />

Popis<br />

SetBinActVec(*BinArr)<br />

Nastavení nejlepšího interního chromozmu v DLL na určité hodnoty<br />

Parametr Popis Možné hodnoty<br />

Parametry - Matice typu double<br />

jednorozměrné<br />

*BinArr<br />

- Rozměr matice musí být (1 x nParam ∙ nBitParam)<br />

double pole<br />

4.3.5 Funkce pro podporu XML<br />

Tyto funkce zajišťují obsluhu požadavků uživatele na uložení či načtení nastavení z/do<br />

XML souboru. SaveXML je možné volat kdykoliv v průběhu výpočtu, uloží právě aktuální<br />

hodnoty (aktuální v DLL). LoadXML je možné použít dvěma způsoby. Buď je možno volat tuto<br />

funkci kdekoliv v průběhu výpočtu, nebo ji použít jako inicializaci hodnot pro odstartování<br />

nového výpočtu. V případě, že ji použijeme pro inicializaci, je třeba nejdříve zavolat tzv. slepý<br />

start, tj. zavolat funkci InitModel(Method,0,0,'',0,0,[],0,0,0). Method je číslo metody, kterou<br />

hodláme pokračovat po načtení hodnot z XML {0, 1, 2, 3}, což odpovídá metodám {HC1, HC2,<br />

HC12, GA}. Slepá inicializace je nutná, protože je potřeba spustit konstruktory objektů.<br />

Alokace paměti pro dynamická pole se provede až ve funkci LoadXML.<br />

Funkce<br />

Popis<br />

Parametry<br />

ret = SaveXML(filename)<br />

Uloží parametry interních struktur DLL do XML souboru<br />

Parametr Popis Možné hodnoty<br />

filename<br />

Jméno XML souboru (včetně cesty), do kterého chceme uložit<br />

parametry („d:\\test.xml“)<br />

pole znaků<br />

ret Návratová hodnota, zda se zápis XML podařil či ne (no,yes) int {0,1}<br />

Funkce<br />

Popis<br />

Parametry<br />

ret = LoadXML(filename,StartMode)<br />

Načte parametry z XML souboru a reincializuje interní struktury podle těchto parametrů<br />

Parametr Popis Možné hodnoty<br />

filename<br />

Jméno XML souboru (včetně cesty), ze kterého chceme načíst<br />

parametry („d:\\test.xml“)<br />

pole znaků<br />

StartMode<br />

- Určuje způsob pokračování výpočtu (restart,continue)<br />

restart – reinicializuje výpočet od začátku<br />

continue – načte hodnoty z XML a pokračuje od těchto hodnot<br />

int {0,1}<br />

ret<br />

Návratová hodnota, zda se XML podařilo otevřít a načíst všechny<br />

položky (no,yes)<br />

int {0,1}<br />

Funkce<br />

Popis<br />

ExportParams(*aStruct)<br />

Export parametrů do systému Matlab po načtení hodnot z XML<br />

Parametr Popis Možné hodnoty<br />

- Struktura typu OptParams<br />

Parametry 1<br />

struktura<br />

*aStruct - Struktura musí být dopředu naalokována!<br />

OptParams<br />

- Do této struktury se uloží načtené parametry<br />

1 Jedná se o strukturu se všemi uloženými parametry, detailní popis je v kapitole 4.3.7<br />

4.3.6 Funkce pro podporu distribuovaných výpočtů<br />

Do knihovny DLL byla přidána podpora pro distribuované výpočty. V takovém případě<br />

se z ní stává klientská aplikace, tudíž musí obsahovat podporu i pro tento druh činnosti. Snažil<br />

jsem se maximálně zjednodušit ovládání na straně klientské aplikace, veškeré ovládání klienta<br />

spočívá pouze ve dvou funkcích. Funkce AddClient jej připojí do právě probíhajícího<br />

distribuovaného výpočtu. Ovládání veškeré činnosti potom probíhá na straně serverové<br />

aplikace, klient potom pracuje zcela autonomně a nezávisle. Aby však mohla serverová aplikace

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

Saved successfully!

Ooh no, something went wrong!