OPTIMALIZACE. (přehled metod)

Podobné dokumenty
Numerické metody a programování. Lekce 8

Základní spádové metody

Úvod do optimalizace Matematické metody pro ITS (11MAMY)

Hledání extrémů funkcí

Numerické metody 6. května FJFI ČVUT v Praze

Numerická matematika 1

Newtonova metoda. 23. října 2012

Úvod do optimalizace, metody hladké optimalizace

Princip gradientních optimalizačních metod

Hledání kořenů rovnic jedné reálné proměnné metoda sečen Michal Čihák 23. října 2012

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

DRN: Kořeny funkce numericky

Numerické metody a programování. Lekce 7

Lineární klasifikátory

Numerické metody optimalizace - úvod

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

3. Přednáška: Line search

Klasifikace a rozpoznávání. Lineární klasifikátory

Nelineární optimalizace a numerické metody (MI NON)

Princip řešení soustavy rovnic

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

Trénování sítě pomocí učení s učitelem

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

ÚPRAVA METODY FLEXIBILNÍHO SIMPLEXU PRO ŘEŠENÍ PROBLÉMŮ GLOBÁLNÍ OPTIMALIZACE Miroslav Provazník

Kombinatorická minimalizace

1 Funkce dvou a tří proměnných

10 Funkce více proměnných

Numerické řešení variačních úloh v Excelu

Nelineární rovnice. Numerické metody 6. května FJFI ČVUT v Praze

Důvodů proč se zabývat numerickou matematikou je více. Ze základní školy si odnášíme znalost, že číslo

Nalezněte hladiny následujících funkcí. Pro které hodnoty C R jsou hladiny neprázdné

Markov Chain Monte Carlo. Jan Kracík.

Kapitola 4: Průběh funkce 1/11

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB

Diferenciál funkce dvou proměnných. Má-li funkce f = f(x, y) spojité parciální derivace v bodě a, pak lineární formu (funkci)

Prohledávání do šířky = algoritmus vlny

ANALÝZA A KLASIFIKACE DAT

1. července 2010

= 2x + y, = 2y + x 3. 2x + y = 0, x + 2y = 3,

Kapitola 4: Průběh funkce 1/11

Definice globální minimum (absolutní minimum) v bodě A D f, jestliže X D f

Co je obsahem numerických metod?

Numerické řešení nelineárních rovnic

METODA PŮLENÍ INTERVALU (METODA BISEKCE) METODA PROSTÉ ITERACE NEWTONOVA METODA

Státnicová otázka 6, okruh 1

4EK213 Lineární modely. 10. Celočíselné programování

Globální matice konstrukce

Soustavy nelineárních rovnic pomocí systému Maple. Newtonova metoda.

Iterační metody řešení soustav lineárních rovnic. 27. prosince 2011

Funkce v ıce promˇ enn ych Extr emy Pˇredn aˇska p at a 12.bˇrezna 2018

Čebyševovy aproximace

Typy příkladů na písemnou část zkoušky 2NU a vzorová řešení (doc. Martišek 2017)

Rozvoj tepla v betonových konstrukcích

Kapitola 5. SLAR - gradientní metody

ITERAČNÍ METODY OPTIMALIZACE. Bc. Martin Kočica


ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Multirobotická kooperativní inspekce

4EK213 LINEÁRNÍ MODELY

Průvodce studiem. do bodu B se snažíme najít nejkratší cestu. Ve firmách je snaha minimalizovat

Jak se matematika poučila v biologii

Vlastní (charakteristická) čísla a vlastní (charakteristické) Pro zadanou čtvercovou matici A budeme řešit maticovou

AVDAT Nelineární regresní model

Globální extrémy. c ÚM FSI VUT v Brně. 10. ledna 2008

Kapitola 10: Diferenciální rovnice 1/14

MATEMATIKA III. Olga Majlingová. Učební text pro prezenční studium. Předběžná verze

Popis zobrazení pomocí fuzzy logiky

Faster Gradient Descent Methods

Numerické řešení diferenciálních rovnic

Numerická stabilita algoritmů

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Základy algoritmizace

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

MATEMATIKA II - vybrané úlohy ze zkoušek (2015)

Algoritmy pro spojitou optimalizaci

ODR metody Runge-Kutta

stránkách přednášejícího.

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

13. Lineární programování

Odhad stavu matematického modelu křižovatek

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))

Optimalizace úvěrových nabídek. EmbedIT Tomáš Hanžl

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Optimalizace. Numerické metody. Ústav matematiky. 23. ledna 2006

PLOCHA POTENCIÁLNÍ ENERGIE

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Numerické řešení rovnice f(x) = 0

Zakládání ve Scia Engineer

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Pokročilé metody učení neuronových sítí. Tomáš Řehořek

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW)

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

MATLAB a numerické metody

Matematika pro informatiky

Dijkstrův algoritmus

Datové struktury 2: Rozptylovací tabulky

Transkript:

OPTIMALIZACE (přehled metod)

Typy optimalizačních úloh Optimalizace bez omezení Nederivační metody Derivační metody Optimalizace s omezeními Lineární programování Nelineární programování Globální optimalizace

Optimalizace bez omezení (unconstraint) Nederivační (ad hoc) metody Jednoduché metody Nelder-Meadova (simplexová) metoda Derivační metody První derivace Metoda největšího spádu + další spádové metody Druhá derivace Newton-Raphsonova metoda Quasi-Newtonova metoda

Jednoduché metody Nejstarší z optimalizačních metod. Některé nejsou podloženy matematickou teorií, ostatní mají velmi jednoduchý princip. Konkrétně: Systematické prohledávání Náhodnostní metoda Metoda alternujících proměnných

Jednoduché metody - systematické prohledávání Anglicky označována grid search. Princip: Rozdělí vícerozměrný prostor, nad kterým je funkce definována na části pomocí vícerozměrné mřížky. Vypočítá pro každou část funkční hodnoty. Projde všechny funkční hodnoty a nalezne nejmenší z nich. V některých implementacích této metody analogickým způsobem prohledá okolí minima, nalezeného v předchozím kroku atd.

Jednoduché metody - systematické prohledávání Zhodnocení: Výhody: Spolehlivá metoda. Dnes se využívá pro hledání globálních extrémů případně pro nalezení všech extrémů v určité oblasti. Nevýhody: Složitost θ(p 1.P 2.....P N ), kde P i je počet dílů mřížky pro i-tou proměnnou a N je rozměr prostoru, nad kterým je studovaná funkce definována.

Jednoduché metody - metoda alternujících proměnných Anglicky označována alternating variables method. Princip: V iteraci k (k = 1, 2,..., N*) se mění (je optimalizována) pouze proměnná x k, ostatní proměnné jsou ponechány. Poznámka: Proměnná x k je optimalizována např. tak, že jsou vypočítány hodnoty x k = x k +δx a x k = x k -δx, poté hodnoty f(x 1,..., x k,..., x N ) a f(x 1,..., x k,..., x N ), a pak je pro další iteraci za x k použito nejvhodnější z x k a x k. Po proběhnutí iterací 1... N, když jsou všechny hodnoty optimalizovány, se celý cyklus opakuje znovu (až do splnění podmínek minima). * N je dimenze prostoru, nad kterým je funkce definována.

Jednoduché metody - metoda alternujících proměnných II Zhodnocení: Výhody: Jednoduchá implementace. Rozumná složitost. Nevýhody: V některých případech je tato metoda velmi neefektivní. Postup optimalizace je v těchto případech charakterizován oscilačním průběhem. Navíc je znám problém, pro který metoda chybně konverguje k sedlovému bodu.

Jednoduché metody - metoda alternujících proměnných III

Nelder-Meadova metoda - obecně Nazývá se také simplexová metoda. Základní myšlenka: N-rozměrným prostorem se pohybuje jistý objekt ( améba ), který se může natahovat nebo zkracovat v různých směrech. Několik typů takových transformací má zajistit, aby se objekt posouval směrem do údolí a po dosažení dna údolí se plazil co nejkratší cestou k lokálnímu minimu.

Nelder-Meadova metoda - obecně II Simplex: V N-rozměrném prostoru je améba definována jako simplex s N+1 vrcholy s neprázdným obsahem, tj. jde o konvexní obal tvořený N+1 body. Příklady simplexů: R: R 2 : R 3 :

Nelder-Meadova metoda - transformace Reflexe: Bod p i, který má největší funkční hodnotu se přemístí (odzrcadlí) na druhou stranu simplexu, tj. k bodu p i se přičte dvojnásobek rozdílu mezi p i a průměrem p n j i j ostatních bodů ( ).

Nelder-Meadova metoda - transformace II Reflexe a prodloužení: Totéž jako v předchozím případě, až na to, že simplex je prodloužen v novém směru (tj. přičítá se více než dvojnásobek rozdílu mezi nejhorším bodem a průměrem ostatních).

Nelder-Meadova metoda - transformace III Kontrakce: Nejhorší bod se přiblíží k průměru ostatních. To je vhodné v případě, kdy má améba projít úzkým údolím.

Nelder-Meadova metoda - ukončení výpočtu Metoda končí, pokud: Není dosaženo výrazného snížení hodnoty studované funkce simplex se v některém cyklu prakticky nezmění

Nelder-Meadova metoda - zhodnocení Výhody: Jednoduchá implementace Rychlý výpočet 1 iterace Rychlá konvergence v oblastech daleko od minima Nevýhody: Pomalá konvergence v oblasteh poblíž minima Může nastat situace, že výpočet skončí v lokálním minimu

Nelder-Meadova metoda - příklad aplikace

OPTIMALIZACE BEZ OMEZENÍ Derivační metody: První derivace (metoda největšího spádu) Druhá derivace

Metody využívající první derivaci účelové funkce metoda největšího spádu, spádové metody

Metoda největšího spádu -obecně Anglicky označována steepest descent method. Princip: Vydat se směrem, ve kterém studovaná funkce nejrychleji klesá. Tedy ve směru - f(x), kde x je bod, ve kterém se výpočet právě nachází.

Metoda největšího spádu -obecně II Algoritmus: zvolíme výchozí bod x (0) k-tá iterace: bod x (k+1) vypočítáme z bodu x (k) pomocí vztahu: x (k+1) = x (k) - α.g (k), kde: -g (k) zjednodušený zápis - f(x (k) ), α určuje směr přesunu z bodu x (k) koeficient, popisující délku daného přesunu

Metoda největšího spádu - volba α v metodě největšího spádu Metoda největšího spádu volí pro každý krok stejnou hodnotu α. Konkrétně velmi malou hodnotu α. Poznámka: Hodnoty α musí být dostatečně, aby metoda konvergovala.

Metoda největšího spádu zhodnocení Výhody: Implementačně jednoduché Nízká prostorová složitost Nevýhody: Velmi pomalá konvergence (speciálně v oblastech malého spádu => nízkých hodnot gradientu). Chyby, způsobené zaokrouhlením. Mohou vést i k tomu, že se výpočet vůbec nedostane rozumně blízko k minimu. Ale při (ideální) přesné aritmetice metoda konverguje vždy k nějakému lokálnímu minimu.

Spádové metody - obecně Jsou založeny na stejném principu jako metoda největšího spádu: x (k+1) = x (k) + α.s (k), kde: s (k) je směr přesunu z bodu x (k), α nejčastěji jako směr volíme -g (k) koeficient, popisující délku daného přesunu Využívají sofistikovanější metody k určení koeficientu α. Hodnota koeficientu α je různá pro každou iteraci.

Spádové metody - obecně II Podmínka pro ideální hodnotu (α*) koeficientu α: funkce φ(α) = f(x(α)) má v α* minimum Poznámka: Jedná se o nejmenší hodnotu α, v níž má φ(α) minimum. Navíc samozřejmě platí α > 0. ξ f x 2 1,5 1 0,5 0 α* 0 0,5 1 1,5 2 Tuto podmínku nelze využít k volbě koeficientu α. Potřebujeme totiž určit hodnotu α pro danou iteraci v konečném a pokud možno velmi malém počtu kroků. α

Příklad Řešte minimum funkce 2x 2 + 2y 2 + 2xy 4x 6y Pomocí metody největšího spádu Funkce je daná analyticky Gradient g=(4x+2y-4; 4y+2x-6) Volím α = 0,25 Volím počáteční bod x 1 =(1;1)

Postup iterací: α

2 (2 x 2 +2 y 2 +2 x y-4 x-6 y) 1.8 1.6 1.4 1.2 y 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x

ÚKOL: Vytvořte v MATLABu program pro výpočet minima libovolné dvourozměrné funkce metodou největšího spádu. Z praktického hlediska použijte numerickou aproximaci gradientu účelové funkce. Program otestujte na funkci: 1. 2x 2 + 2y 2 + 2xy 4x 6y 2. 100(x-y 2 ) 2 + (1 x) 2 (Rosenbrock s function)