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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
17<br />
2 TEORETICKÉ ZÁKLADY<br />
V dnešní době se k řešení optimalizačních úloh používá mnoho různých metod a<br />
postupů. Vhodnost použití dané metody či algoritmu ovlivňuje mnoho faktorů, jako např. oblast<br />
použití, požadovaná přesnost nalezeného řešení, implementační a časová složitost a mnoho<br />
dalších. Jak tomu obvykle bývá, většina metod má svoje výhody i nevýhody. Výběr vhodné<br />
metody závisí zejména na složitosti dané problematiky, požadované přesnosti získaného řešení,<br />
ale také zde hraje nemalou roli otázka časových výpočetních nároků.<br />
O metodách řešení optimalizačních problémů již bylo napsáno velmi mnoho, proto se<br />
v této kapitole zmíním jen okrajově o metodách, které souvisí s problémem řešeným v této<br />
práci. Místo toho se budu věnovat praktické realizaci a testování dosaženého řešení.<br />
2.1 Optimalizační problém<br />
Je charakterizován především účelovou funkcí, omezujícími podmínkami a požadavkem<br />
minimalizace nebo maximalizace, dále mohou být stanoveny ještě další speciální podmínky,<br />
např. nalezené parametry řešení musí být celočíselného typu.<br />
Účelová funkce charakterizuje daný problém a většinou obsahuje více parametrů, které<br />
chceme optimalizovat. Úkolem je nalézt její optimum, tj. nalézt minimální nebo maximální<br />
hodnotu této funkce.<br />
Omezující podmínky udávají, v jakém rozsahu se mohou dané parametry pohybovat.<br />
Bývají většinou zadány jako přídavné rovnice, nebo rozpětí hodnot, kterých může daný<br />
parametr nabývat.<br />
Požadavek minima nebo maxima určuje, jaký extrém hledáme na účelové funkci.<br />
Hledáme-li minimum, je třeba nalézt globální minimum účelové funkce v rozsazích, které určují<br />
omezující podmínky pro jednotlivé parametry. Pokud hledáme maximum, je tomu naopak.<br />
Heuristické metody a <strong>algoritmy</strong> hledání optima pracují obvykle s diskrétní reprezentací<br />
účelové funkce. To znamená, že je nejdříve potřeba takovou funkci převést do tvaru vhodného<br />
ke zpracování heuristickými metodami; tento proces nazýváme vzorkování. Ta převede funkci<br />
ze spojitého tvaru do tvaru diskrétního. Obvykle se vzorkuje jenom ta část funkce, která nás<br />
zajímá (tedy část ohraničená omezujícími podmínkami) a ta se rozdělí na 2 n bitů. To umožní<br />
algoritmům převést optimalizační problém na bitové řetězce, se kterými obvykle heuristické<br />
metody pracují. Vzorkování má ovšem jednu velkou nevýhodu. Dost často se může stát, že se<br />
hledané optimum při vzorkování spojité funkce „ztratí“, pokud neleží přímo v bodě, ve kterém<br />
se provede diskrétní konverze. Proto většinou nemohou heuristické metody nalézt hledané<br />
optimum úplně přesně, ale s přesností pouze omezenou. Čím užší bude kódovací interval a čím<br />
více kódujících bitů použijeme, tím větší přesnosti bude možno dosáhnout při hledání optima.<br />
f(x)<br />
kódovací interval<br />
.....................<br />
..........<br />
x<br />
Obr. 1 Provedení vzorkování u spojité funkce mezi hranicemi omezujících podmínek