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.
18<br />
2.2 Heuristické metody<br />
V posledních letech se rok od roku neustále zvyšuje výpočetní síla počítačů, což<br />
otevřelo dveře mnoha novým odvětvím. Nový rozmach také nastal ve vývoji a experimentování<br />
s heuristickými metodami řešení složitých optimalizačních problémů. Tyto optimalizační<br />
metody sice nezaručují nalezení globálního řešení úplně přesně, ale poskytují řešení, které se<br />
globálnímu optimu velmi blíží. Výsledné řešení je nalezeno v uspokojivé době a s dostatečnou<br />
přesností. Používají se zejména pro optimalizaci mnohaparametrových funkcí, které nabývají<br />
mnoha extrémů.<br />
2.2.1 Horolezecký algoritmus<br />
Tento algoritmus je zástupcem jednoduchých heuristických metod. V každém kroku<br />
řešení vygeneruje nejbližší okolí v určitém rozsahu a v něm hledá další nejlepší řešení. Nalezené<br />
lepší řešení se použije v následujícím kroku jako základ pro generování nového okolí.<br />
f(x)<br />
I 1<br />
I 6<br />
Obr. 2 Prohledávání okolí HCA algoritmem a uváznutí v lokálním extrému<br />
x<br />
Horolezecký algoritmus má jednu velikou nevýhodu. Jeho prohledávání je totiž závislé<br />
na šířce generování nejbližšího okolí. Pokud nastane případ, kdy v cestě prohledávání stojí<br />
lokální extrém, může se stát, že se zde algoritmus zastaví. Říkáme, že algoritmus uvázne<br />
v lokálním extrému a v tom případě nenajde globální optimum, ale optimum pouze lokální. Vše<br />
je patrné z Obr. 2. Ten zachycuje, jak postupuje algoritmus při hledání optimálního řešení a<br />
uvázne v lokálním extrému v šestém iteračním kroku. Volba šířky generovaného okolí nám<br />
určuje časovou složitost algoritmu. Šířka okolí nemůže být příliš velká, protože by se neúměrně<br />
zvedla časová složitost algoritmu.<br />
Ukončení výpočtu u horolezeckých algoritmů může nastat např. sledováním hodnot<br />
nejlepších řešení. K ukončení dojde tehdy, pokud dva kroky jdoucí po sobě naleznou dvě<br />
naprosto stejné hodnoty. Ukončení lze také provést omezením iteračních kroků.<br />
2.2.2 Genetický algoritmus<br />
Genetické <strong>algoritmy</strong> jsou inspirovány přírodou a Darwinovými zákony přirozeného<br />
výběru. Jedinci dané populace nesou informace zakódované pomocí genetických chromozomů.<br />
Tyto chromozomy je možno dekódovat a určit, jaké vlastnosti má určitý člen populace.<br />
Sledujeme charakteristiky, které jsou důležité pro hodnocení řešeného problému, tedy v případě<br />
řešení optimalizačního problému hodnotu účelové funkce. Jedinci s lepšími charakteristikami<br />
jsou vybíráni do další generační populace a horší jedinci jsou eliminováni.<br />
Genetický algoritmus provede v jedné generaci několik kroků, které mají tři základní,<br />
jasně dané cíle – nejlepší jedince vybrat do další generace, vytvořit z nich pomocí křížení<br />
potencionálně lepší jedince a v poslední řadě udržovat celkovou populaci dostatečně<br />
heterogenní (překonání lokálních extrémů, zefektivnění křížení). Počáteční populace jedinců je<br />
obvykle generována náhodně na předem definovaném prostoru možných řešení.