Nic v životě nemusí být jen a jen takhle a ne jinak.
-- Saroyan |
|||||||||||||||
■ Diskuzní fórum
■ Pískoviště ■ Poslední změny ■ Registrace ■ Etický kodex ■ Nápověda ■ Administrace ■ Hlášení chyb
© 1999-2008 HEAT JSPWiki v2.4.104
|
![]() Knihovna genetických algoritmů
Příbuzné pojmy
Tato stránka je věnována popisu použití optimalizační knihovny, implementující generické algoritmy. Nejprve stáhněte dva soubory:
Založte nový soubor .nb. Jako první je potřeba natáhnout knihovnu do paměti Mathematického jádra (kernelu). To provedete dvěma řádky. Get["geneticoperators.m"]; Get["genetic-new.m"]; Pokud vidíme chybové hlášky Get::noopen: Cannot open geneticoperators.m... Dopíšeme přímo konkrétní cesty k souborům. (předchozí uvedené příkazy fungují pouze pokud jste soubory nakopírovali do aktuálního pracovního adresáře) Např. Get["c:\geneticoperators.m"]; Get["c:\genetic-new.m"]; Správný chod algoritmu se řídí následujícími parametry. Jejich změnou je možné ovlivnit rychlost konvergence. pocetJedincu = 55; $RecursionLimit = 1024; pravdepodobnostMutace = 0.02; pravdepodobnostKrizeni = 0.96; pouzitGrayCode = True; pouzitRuletu = True; debugMode = False; Dále je nutné nadefinovat optimalizační proměnné. Definice je dána formou vektoru proměnných, kdy každý prvek má 4 složky.
VektorPromennych = {{x, 0, 5, 16}, {y, 0, 5, 16}}; Počet optimalizačních proměnných není omezen, mějme však na paměti, že čím více proměnných máme, tím větší výpočetní výkon potřebujeme. Nicméně vektor optimalizačních proměnných může vypadat i takto. VektorPromennych = {{x1, 0, 5, 8},{x2, 0, 5, 8},{x3, 0, 5, 8},{x4, 0, 5, 8}, {y1, -500, 500, 16},{y2, 0, 500, 16},{y3, 100, 500, 16},{z,-5,5,12}} A konečně definujeme i samotnou účelovou funkci. Fitness[{x_,y_}]:=Sin[(x-2.5)^2]+Cos[(y-2.5)]^2;
Může být samozřejmě i více proměnných. Fitness[{x1_,x2_,x3_,x4_,y1_}]:=Module[{}, ... ]; V prvním kroku nagenerujeme populaci náhodnými jedinci. ClearAll[Populace]; Populace = Inicializace[pocetJedincu]; Tímto příkazem se spouští iterativní proces evolučního hledání nových řešení. Parametr určuje počet iterací po jejich vykonání skončí. Funkci je možno po skončení opět spustit, a celý proces optimalizace dále pokračuje. OptimalizacniSmycka[200]; Tato knihovna byla vytvořena v rámci příspěvku "Optimalizace sálavého pole v souvislosti s úsporami při radiačním vytápění interiérů".
Cesta: Úvodní strana ****
Otevřená oborová encyklopedie elektrotepelné techniky, © 2005 N. Burbaki
Přílohy
Více informací...
Přihlášení
Tato strana (revision-12) byla změněna
22:44 20.11.2007
uživatelem xkrumpha.
|