Algoritmy pro spojitou optimalizaci Vladimír Bičík Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze 10.6.2010 Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 1 / 11
Úvod Spojitá optimalizace Obecná minimalizace funkce v prostoru reálných parametrů Mnoho přístupů, dlouhodobě zkoumáno Jádro práce Nastudování řady různých algoritmů Přepsání do jednotného rozhraní Čerpáno z různých zdrojů (např. FORTRAN77, C++, Java) Sjednocený popis algoritmů, zaměření na vstupní parametry JavaDoc dokumentace a odkazy k původním publikacím Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 2 / 11
Aplikační prostředí JCool Projekt vzniknuvší jako výsledek diplomové práce M. Hvizdoše Testování a porovnávání optimalizačních metod Obsahovalo několik základních funkcí a 3 optimalizační metody Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 3 / 11
Implementované optimalizační metody Numerické optimalizační metody Gradientní metody Liší se v použití Hessovy matice: 1 Conjugate Gradient: nepoužívá vůbec 2 Levenberg Marquardt: používá a dále upravuje 3 quasi Newton: nepoužívá přímo, aproximuje 4 Orthogonal search optimalizace po dimenzích 5 Powell s method vylepšení, skládá směry Covariance Matrix Adaptation Evolution Strategy Vzorkování normálního rozdělení vektoru více proměnných Matice kovariance popisuje závislosti proměnných Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 4 / 11
Implementované optimalizační metody Optimalizační metody inspirované přírodou Mravenčí algoritmy Přímo simulující chování mravenců (CACO, API) Rozšíření původního mravenčího algoritmu o diskretizaci (AACA) Rozšíření původního mravenčího algoritmu o pravděpodobnostní vzorkování (ACO*, DACO) Genetické algoritmy Diferenciální evoluce (DE, SADE) Pravděpodobnostní vektor pro vzorkování populace (PBIL) Simulace hejna hledajícího potravu (PSO) Kombinace algoritmů (HGAPSO) Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 5 / 11
Implementované testovací funkce Sada testovacích funkcí Unimodální a multimodální funkce Vícedimenzionální funkce, mnoho z nich parametrizovatelných Zpravidla implementován předpis pro analytický gradient a Hessovu matici Dokumentované hodnoty globálních minim, včetně jejich pozic Obrázek: Některé implementované testovací funkce. Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 6 / 11
Provedené experimenty Metodologie Způsob testování 100 opakování, limit 2000 iterací Všechny parametry v plném rozsahu Pozorována úspěšnost řešení a počet iterací 100% 60 Average rate of success 80% 60% 40% 20% Average number of iterations 50 40 30 20 10 0% 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Parameter range Parameter range AC BE BO BR EA GP GR HI LA L3 L5 MA MI RN RA RO SH SB SW DJ TR WH ZA AC BE BO BR EA GP GR HI LA L3 L5 MA MI RN RA RO SH SB SW DJ TR WH ZA Obrázek: PBIL, pravděpodobnost mutace, krok 0,05 Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 7 / 11
Provedené experimenty Doporučené parametry implementovaných optimalizačních metod Výsledky experimentů Doporučené hodnoty parametrů metod Různá nastevení pro různé typy funkcí 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% API AACA ACO* DACO PSO PSO-FI PSO-C DE SADE PBIL HGAPSO AC BE BO BR EA GP GR HI LA L3 L5 MA MI RN RA RO SH SB SW DJ TR WH ZA Obrázek: Porovnání původních a doporučených parametrů Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 8 / 11
Provedené experimenty Vzájemné porovnání implementovaných optimalizačních metod I Zhodnocení konvergence Porovnání napříč numerickými, přírodou inspirovanými i všemi dohromady Doporučené použití metod Naznačení pokračování v meta-optimalizaci Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 9 / 11
Provedené experimenty Vzájemné porovnání implementovaných optimalizačních metod II Numerické metody Mnohem přesnější Efektivnější Chybí jim globální konvergence Možno použít i k zjištění typu funkce Metody inspirované přírodou Nepřesnější, ale zvládnou i těžké funkce Vyžadují více iterací, časově náročnější Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 10 / 11
Shrnutí Přínosy práce Implementace a popis 7 numerických a 10 přírodou inspirovaných optimalizačních algoritmů Sada 32 testovacích funkcí pokrývající širokou škálu různých problémů Popis chování algoritmů v závislosti na hodnotách parametrů Sady doporučených parametrů metod s ohledem na meta-optimalizaci Porovnání efektivnosti metod, doporučení jejich použití Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci 10.6.2010 11 / 11