12.07.2015 Views

Horolezecký algoritmus

Horolezecký algoritmus

Horolezecký algoritmus

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OPTIMALIZACEv simulačním modelování


Probíraná témata• Optimalizace, proč ?• Základní pojmy• Metody optimalizace – malý početvariant, velký počet variant• Evoluční algoritmy


Definice optimalizace‣ Optimalizovat - maximalizovat nebominimalizovat určité kritérium v závislosti nadaných parametrech (např. počet obslužnýchlinek, řád fronty, atd.).‣ Optimalizace - vyhledávání nejlepší možnévarianty nějakého řízeného děje, rozhodnutínebo postupu.


Základní pojmy‣ Vstupy/Faktory (vstupní proměnné) - k‣ Úroveň faktoru - q‣ Výstupy/Odezvy (výstupní proměnné)‣ Kriteriální funkce‣ Celkový počet variant (CPV)CPV = qk


1. Kvalitativní faktory‣ Řád frontyFIFO, LIFO, SIRO, …‣ Typ rozděleníExponenciální, normální, rovnoměrné, …‣ Pravidla pro pohyb entitRozdělení dle procent, dle typu entity, …


2. Kvantitativní faktorya) Diskrétní‣ počet obslužných zařízení,‣ kapacita fronty,‣ počet příchozích požadavků za čas.jednotku.b) Spojité‣ průměrná délka obsluhy,‣ intervaly mezi příchody,‣ doba bezporuchového provozu.


OptimalizaceNalezení extrémní hodnoty zkoumaných veličin – strukturynezávislých proměnných, která extremalizuje zkoumanoukriteriální (optimalizační) funkci.x op=arg min,maxf(x)x∈DPOSTUP OPTIMALIZACE1. reálny optimalizační problém matematický model2. stanovení kriteriální funkce3. aplikácia vhodnej optimalizačnej metódy - algoritmu


Jaké metody využít ?STANDARDNÍ GRADIENTNÍ METODY(předpoklad funkce má derivaci)NEGRADIENTNÍ METODY(př. simplexová, lineární programování)PROBLÉMNalezení globálního extrému funkce s mnoha extrémy


Proč optimalizace pomocí simulace?‣ výskyt náhodných veličin u definice vstupnýchproměnných – obtížnost použití analytickéhovýpočtu,‣ nejsou známé vlastnosti závislosti kriteriálnícharakteristiky na hodnotách proměnných, sekterými se experimentuje


Optimalizace pomocí simulaceNEEXISTUJE přesně definované jednoznačnéoptimální řešení, přijímaná varianta je nejlepší surčitou pravděpodobností (1- α)VÝSLEDKY OPTIMALIZACE jsou jenpravděpodobnostní veličiny protože jako vstupyjsou použity většinou pouze předpokládanéeventuálně odhadnuté náklady


„Optimum“ pro malý počet variant‣ malý počet variant = málo vstupních faktorů,každý z nich má jen několik různých úrovní,‣ lze provést simulační běhy pro každou variantuzvlášť,‣ dle zkoumaných proměnných srovnat výsledkya navrhnout optimální variantu.


„Optimum“ pro velký počet variant‣ velký počet variant = mnoho faktorů nebomnoho úrovní u jednotlivých faktorů,‣ použití klasických deterministickýchoptimalizačních metod metod založenýchna technikách úplného prohledávání nenímožné použít pro extrémně složité situace,nelze prozkoumat všechny varianty.


„Optimum“ pro velký počet variantRedukce prostoru přípustných řešení‣ redukce počtu faktorů (rozdělení na důležité améně důležité – data mining, GUHA)‣ redukce počtu úrovní faktorů (vyřazení)nepravděpodobných kombinací‣ transformace spojitých faktorů na diskrétní


Metody optimalizace‣ Metoda Monte Carlo‣ Metoda Friedmana a Savageho‣ Evoluční algoritmy (Hill Climb, SimulatedAnnealing, Genetické algoritmy)


Metoda Monte CarloNumerické řešení pomocí několikrát opakovanýchnáhodných pokusů.Postup při velkém počtu variant1. Vygeneruj variantu2. Proveď několik simulačních běhů3. Srovnej výsledky - pokud jsou lepší než předešlé,ulož nové a označ variantu jako nejvhodnější4. Postup opakuj dokud nebyl prozkoumán požadovanýpočet variant nebo dokud nebyla dosažena přijatelnáúroveň výsledků


Metoda Friedmana a SavagePřevod problému vícerozměrné optimalizace na posloupnostjednorozměrných optimalizací.Postup při velkém počtu variant1. Všechny proměnné x 2 … x N se zafixují na zvolenýchhodnotách2. Nezafixovaná proměnná x 1 se mění po intervalechzvolené délky, dokud není nalezeno optimální řešení3. Poté je x 1 zafixována, mění se x 2 a hledá se lepšířešení4. Opakuje tak dlouho, až je nalezen bod, z něhožpostup o krok zvolené délky v libovolném směruvede k vzrůstu hodnoty kriteriální charakteristiky.


Metoda Friedmana a Savage – volba krokuObecný postup – nejprve se zvolí poměrně hrubý krok,který se dále zjemňuje.Problémy nastávají, pokud závislost, která svazuje hodnotycharakteristiky Y s hodnotami proměnných x 1, x 2, …, x N,má více lokálních extrémů.


Evoluční algoritmy‣ druhá polovina 20. století - stochastické nelineárníoptimalizační metody‣ řeší případy kde selhávají standardní deterministickégradientové metody optimalizace založené natechnikách úplného prohledávání‣ použití u řešení problémů s mnoha lokálními maximy alokálními minimy‣ tam, kde není potřeba přesné optimální řešení, aspokojíme se s kvalitním suboptimálním řešením


Evoluční optimalizační algoritmyProstředek moderní numerické matematiky pro hledání řešenísložitých optimalizačních problémů, kdyje potřeba najít globálníextrém obklopený množstvím lokálních extrémů.PRINCIPdiskretizace spojitého problému a hledání suboptimálního řešení,blízkého řešení optimálnímu


Typy evolučních algoritmů‣ HILL CLIMB (horolezecký <strong>algoritmus</strong>)‣ SIMULATED ANNEALING(simulované žíhání)


Horolezecké algoritmy‣ Slepý <strong>algoritmus</strong>, tzv. random solution‣ <strong>Horolezecký</strong> <strong>algoritmus</strong> - Hill Climb• obecný• s učením• zakázané hledání – tzv. tabu search


Slepý <strong>algoritmus</strong>‣ základní stochastický <strong>algoritmus</strong>, který opakovaněgeneruje náhodná řešení z oblasti D a pamatuje si jejpouze tehdy, když toto bylo lepší než to, které jižbylo zaznamenáno v předchozí historii algoritmu,‣ neobsahuje žádnou strategii konstrukce řešení nazákladě předchozích řešení,‣ zaznamenává se to řešení, které v průběhu aktivaceprocedury poskytuje zatím nejnižší (nejvyšší)funkční hodnotu


Slepý <strong>algoritmus</strong> - řešení


<strong>Horolezecký</strong> <strong>algoritmus</strong> – nevýhoda‣ uvíznutí v lokálním extrému (optimu) kriteriální funkce, tzv. zacykleníz(x)ve skutečnosti chcizískat x optx 0 x 1 x 2x 3x optSousední body xmohou být N(x)={x+1,x-1}Hill-climb x 0→ x 1→ x 2dokudz(x 0)


<strong>Horolezecký</strong> <strong>algoritmus</strong> - řešení


<strong>Horolezecký</strong> <strong>algoritmus</strong> - řešení


<strong>Horolezecký</strong> <strong>algoritmus</strong> – Tabu search‣ eliminace možnosti zacyklení algoritmu modifikacíkonstrukce okolí U(α) standardního horolezeckéhoalgoritmu‣ <strong>algoritmus</strong> obsahuje tzv. krátkodobou paměť, kde sezaznamenávají předchozí inverzní transformace, kterýmibylo získáno současné lokální optimální řešení. Tytotransformace jsou při tvorbě nového okolí zakázány.


<strong>Horolezecký</strong> <strong>algoritmus</strong> – Tabu searchzakázanýseznam


<strong>Horolezecký</strong> <strong>algoritmus</strong> – Tabu search‣ velikost zakázaného seznamumalá velikost - po určitém počtu kroků může dojítk zacyklenívelká velikost -přeskočení určité oblasti a vynechánínalezených lokálních minim, mezi kterýmimůže být i minimum globální.


Simulované žíhání - Simulated annealing‣ počátek 80. let - Kirkpatrick, Gelatt, Vecchi, Černý‣ randomizovaný <strong>algoritmus</strong> prohledávající lokální okolí aktuálního stavu.‣ základ ve fyzice, analogie mezi žíháním tuhých těles a optimalizačnímproblémemFyzikální interpretacePři postupném žíhání se těleso nejdřív zahřeje na vysokou teplotu apostupným pomalým snižováním teploty se odstraňují jeho vnitřní defekty.Tím se jeho atomům umožní překonávat lokální energetické hladiny, a tak sedostat do rovnovážných poloh. Postupné snižování teploty má za následek, žese rovnovážné polohy atomů fixují, takže při konečné teplotě žíhání(podstatně nižší než byla počáteční) jsou všechny atomy v rovnovážnýchpolohách a těleso neobsahuje žádné vnitřní defekty ani pnutí.Matematická interpretaceSousedé jsou zkoumáni v náhodném pořadí a aby byl stav přijat, musí buďpředstavovat zlepšení, nebo musí projít speciálním náhodným testem (tzv.Meropolisovo kritérium), který určí, bude-li akceptován stav zhoršujícíaktuální řešení.


Simulované žíhání - výhodaz(x)najde globálníoptimumx 0 x 1x 2x 4x 5x 6x 7x 8x 9x 10x 12x 13xx 11možnost tzv.“přelezení“ lokálních extrémů, využitím přijetízhoršujících stavů vprůběhu řešení problému


Simulované žíhání - příklad


Optimalizace podlepovacího úsekukonfekční dílnyPROBLÉMNízká výrobní kapacita podlepovacího stroje „starý“ - cca 650 kssak/den (požadovaná výrobní kapacita dílny cca 750 ks sak/den )RĚŠENÍVarianta A - dovybavení stávajícího strojového parku novým fixačnímzařízením s nižší výrobní kapacitou tak, aby byla splněnápodmínka minimální požadované produkce (cca 750ks/den).Varianta B - obnovení strojového parku zakoupením nového fixačníholisu tak, aby byla splněná podmínka minimální požadovanéprodukce a zároveň byly maximálně využity finančníprostředky získané prodejem stávajícího fixačního zařízení.


Navrhované typy strojů a jejich parametry


ŘešeníKROK 1 – tvorba simulačního modelu podlepovacího úseku


ŘešeníKROK 2 – stanovení kriteriální funkce, která minimalizuje odchylku vyprodukovanéhomnožství kusů daných simulovanou variantou od plánované kapacity výrobymin (rozdíl) = abs[(produkce1 + produkce2 + produkce3 + produkce_stary) – plan]KROK 3 – stanovení optimální kombinace jednotlivých typů fixačních lisů aplikacíoptimalizačních algoritmů (Simulated Annealing, Random Solution, Hill Climb vmodulu OPTIMIZER)


ŘešeníKROK 4 – stanovení optimální kombinace jednotlivých typů fixačních strojů s ohledemna zajištění nejefektivnější návratnosti investic, vliv parametrů podlepení –teplota, čas (faktor produktivity strojů + faktor návratnosti investic)


Zhodnocení efektivnosti práce jednotlivýchoptimalizačních algoritmů‣ potvrzení efektivnosti aplikace algoritmu simulovanéhožíhání oproti Slepému algoritmu (rozdíl v rychlostivýpočtu asi 55 %),‣ zacyklení horolezeckého algoritmu.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!