VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
|
|
- Iva Křížová
- před 6 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION ÚSTAV RADIOELEKTRONIKY DEPARTMENT OF RADIO ELECTRONICS TOOLBOX PRO VÍCEKRITERIÁLNÍ OPTIMALIZAČNÍ PROBLÉMY TOOLBOX FOR MULTI-OBJECTIVE OPTIMIZATION DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE AUTHOR Bc. Martin Marek VEDOUCÍ PRÁCE SUPERVISOR Ing. Petr Kadlec, Ph.D. BRNO 2016
2 Diplomová práce magisterský navazující studijní obor Elektronika a sdělovací technika Ústav radioelektroniky Student: Bc. Martin Marek ID: Ročník: 2 Akademický rok: 2015/16 NÁZEV TÉMATU: Toolbox pro vícekriteriální optimalizační problémy POKYNY PRO VYPRACOVÁNÍ: Seznamte se se základními principy vícekriteriálních optimalizačních metod. Proveďte literární rešerši nově vzniklých algoritmů a popište činnost nejefektivnějších algoritmů. V programovém prostředí Matlab implementujte vhodné algoritmy užívané pro vícekriteriální optimalizaci. V MATLABU vytvořte toolbox, který bude spouštět jednotlivé metody. V toolboxu implementujte známé metriky a testovací funkce pro možnost automatizovaného porovnávání jednotlivých metod. DOPORUČENÁ LITERATURA: [1] DEB, K. Multi-Objective Optimization using Evolutionary Algorithms. Chichester: Wiley, [2] DEB, K., PRATAP, A., AGARWAL, S., MEYARIVAN, T. A fast end elitist multiobjective genetic algorithm: NSGA-II. IEEE Transaction on Evolutionary Computation. 2002, Vol. 6, No. 2, p Termín zadání: Termín odevzdání: Vedoucí práce: Ing. Petr Kadlec, Ph.D. Konzultant diplomové práce: doc. Ing. Tomáš Kratochvíl, Ph.D., předseda oborové rady UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb. Fakulta elektrotechniky a komunikačních technologií, Vysoké učení technické v Brně / Technická 3058/10 / / Brno
3 ABSTRAKT Tato práce se zabývá problematikou více-kriteriálních optimalizací. Je vysvětleno, která řešení jsou optimální při použití více konfliktních kriteriálních funkcí a jak tato optimální řešení (Paretovo čelo) v množině možných řešení vyhledat. Poté jsou popsány principy algoritmů NSGA-II, MOPSO a GDE3. V následujících kapitolách jsou představeny testovací metriky a problémy. Na závěr práce jsou tyto tři algoritmy porovnány na základě několika metrik. KLÍČOVÁ SLOVA Evoluční algoritmus, GDE3, kriteriální funkce, MOPSO, NSGA-II, omezující podmínky, Paretovo čelo, testovací metriky, testovací problémy, více-kriteriální optimalizace. ABSTRACT This paper deals with multi-objective optimization problems (MOOP). It is explained, what solutions in multi-objetive search space are optimal and how are optimal (nondominated) solutions found in the set of feasible solutions. Afterwards, principles of NSGA-II, MOPSO and GDE3 algorithms are described. In the following chapters, benchmark metrics and problems are introduced. In the last part of this paper, all the three algorithms are compared based on several benchmark metrics. KEYWORDS Benchmark metrics, benchmark problems, Constraints, Evolutionary algorithm, fitness function, GDE3, MOPSO, Multi-objective optimization, NSGA-II, Pareto-optimal set. MAREK, Martin Toolbox pro vícekriteriální optimalizační problémy: diplomová práce. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav radioelektroniky, s. Vedoucí práce byl Ing. Petr Kadlec, Ph.D.
4 PROHLÁŠENÍ Prohlašuji, že svou diplomovou práci na téma Toolbox pro vícekriteriální optimalizační problémy jsem vypracoval samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořením této diplomové práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a/nebo majetkových a jsem si plně vědom následků porušení ustanovení S 11 a následujících autorského zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb. Brno (podpis autora)
5 PODĚKOVÁNÍ Děkuji vedoucímu práce Ing. Petru Kadlecovi, Ph.D. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé diplomové práce. Brno (podpis autora)
6 Faculty of Electrical Engineering and Communication Brno University of Technology Technicka 12, CZ Brno, Czechia Výzkum popsaný v této diplomové práci byl realizovaný v laboratořích podpořených projektem Centrum senzorických, informačních a komunikačních systémů (SIX); registrační číslo CZ.1.05/2.1.00/ , operačního programu Výzkum a vývoj pro inovace.
7 OBSAH 1 Úvod 12 2 Problémy klasických optimalizačních algoritmů 13 3 Více-kriteriální optimalizace Cíle více-kriteriální optimalizace Hledání nedominovaných řešení Metoda 1: Pomalá a naivní Metoda 2: Postupná aktualizace Metoda 3: Kungova metoda Úrovně nedominovaných množin řešení Rychlé rozdělení populace do úrovní nedominovaných množin řešení (fast non-sominated sorting) Zajištění diverzity množiny nedominovaných řešení ε-dominance Shluková vzdálenost Hledání nejbližších sousedních řešení Elitist Non-Dominated Sorting Genetic Algorithm (NSGA-II) Číselná reprezentace Princip genetického algoritmu Selekce (selection) Soutěžní selekce (tournament selection) Křížení (crossover) Více-bodové křížení Mutace (mutation) Elitismus Popis algoritmu NSGA-II Více-kriteriální Particle Swarm Optimization (MOPSO) Jedno-kriteriální PSO Okrajová podmínka Více-kriteriální PSO MOPSO algoritmus Výběr lídra Výběr řešení v externím archivu
8 7.2.4 Ošetření omezujících podmínek Generalized Differential Evolution Third Version (GDE3) Diferenciální evoluce Third Version of Generalized Differential Evolution Ošetření omezujících podmínek Testovací metriky Chybovost ER (Error Ratio) Generační vzdálenost GD (Generational Distance) Spacing Sp Spread Δ Maximum Spread D Hypervolume HV Testovací problémy Schafferova studie Fonsecova a Flemingova studie Kursaweho studie Poloniho studie ZDT ZDT ZDT ZDT ZDT DTLZ DTLZ Výsledky Srovnání algoritmů pro hledání množin nedominovaných řešení Nastavení algoritmů Parametry P C a P M algoritmu NSGA-II Parametry C 1 a C 2 algoritmu MOPSO Parametr W algoritmu MOPSO Parametry P C a F algoritmu GDE Srovnání optimalizačních algoritmů Generační vzdálenost Spread Hypervolume
9 Výpočetní čas Rozptyl hodnot generačních vzdáleností u vybraných simulací Závěr 75 Literatura 77 Seznam symbolů, veličin a zkratek 79
10 SEZNAM OBRÁZKŮ 2.1 Postup při objevování optimálního řešení u klasických optimalizačních metod. [3] Vztah dominance v dvou-kriteriálním prostoru [4] Dominovaná řešení z množiny řešení [4] Barevně odlišené nedominované úrovně na příkladu vetknutého nosníku z prostředí MATLAB Rozdělení dvou-kriteriálního prostoru na hyperkrychle podle koncepce ε-dominance [5] Znázornění vzdálenosti řešení od sousedních řešení Metoda ENNS v dvou-kriteriálním prostoru [6] Metoda ENNS v tří-kriteriálním prostoru [6] Binární řetězec konzervy o výšce 10cm a průměru 8cm [8] Vývojový diagram genetického algoritmu. [3] Šestero klání probíhá mezi šesti náhodně vybranými dvojicemi šesti různých jedinců. Jedinci ohraničeni rámečkem jsou členové listiny vítězů [8] Křížení dvou řešení [8] Mutace čtvrtého bitu řešení. Na konzrevách je znázorněna změna metriky řešení [8] Výběr právě N řešení z populace R g pro populaci P g+1 [10] Čtyři různé typy hraničních podmínek. x a v označují pozici a rychlost částice před zásahem hraniční podmínky a x a v označují pozici a rychlost částice po zásahu hraniční podmínky [13] Pseudokód hlavního MOPSO algoritmu [4] Výpočet hypervolume v dvou-kriteriálním prostoru Schafferova studie Fonsecova a Flemingova studie Kursaweho studie Poloniho studie ZDT ZDT ZDT ZDT ZDT DTLZ DTLZ Závislost GD na P M pro různé P C pro problém FON
11 11.2 Závislost GD na P M pro různé P C pro problém ZDT Závislost GD na P M pro různé P C pro problém ZDT Závislost GD na C 2 pro různé C 1 pro problém FON Závislost GD na C 2 pro různé C 1 pro problém ZDT Závislost GD na C 2 pro různé C 1 pro problém ZDT Závislost GD na W to pro různé W from pro problém FON Závislost GD na W to pro různé W from pro problém ZDT Závislost GD na W to pro různé W from pro problém ZDT Závislost GD na F pro různé P C pro problém FON Závislost GD na F pro různé P C pro problém ZDT Závislost GD na F pro různé P C pro problém ZDT Percentilové grafy pro testovací problém FON Percentilové grafy pro testovací problém ZDT Percentilové grafy pro testovací problém ZDT Percentilové grafy pro testovací problém DTLZ
12 SEZNAM TABULEK 11.1 Časová náročnost metod pro hledání množin nedominovaných řešení (s) Generační vzdálenost (-) Spread (-) hypervolume (-) Výpočetní čas (s)
13 1 ÚVOD Optimalizace je proces hledání a porovnávání vhodných řešení, s cílem nalézt co možná nejlepší řešení. Řešení jsou nazývány dobrými nebo špatnými na základě porovnání chování výsledného systému s představami uživatele. Odchylku od tohoto chování vyčísluje tzv. kriteriální funkce (fitness function). Hodnota kriteriální funkce je vypočtena na základě stavových proměnných optimalizovaného systému (decision variable space). Proces optimalizace poté lze chápat jako hledání minim nebo maxim kriteriálních funkcí. Většina algoritmů je uzpůsobena k hledání minim a tak problém vyžadující maximalizaci kriteriální funkce může být převeden na problém vyžadující minimalizaci kriteriální funkce vynásobením příslušné kriteriální funkce číslem -1. Pokud optimalizační problém obsahuje pouze jednu kriteriální funkci, nazýváme jej jedno-kriteriální optimalizační proces. Pokud ale problém zahrnuje více než jednu kriteriální funkci, pak mluvíme o více-kriteriální optimalizaci (multi-objective optimization problem - MOOP). Mnoho prací v oblasti optimalizace se zabývá jedno-kriteriální optimalizací, avšak v reálném světě do problému obvykle zasahuje více než jedno kritérium. Tato kritéria jsou navíc často protichůdná. Z toho vyplývá, že neexistuje jedno jediné řešení, které by bylo zcela ideální. Výsledkem je tedy množina kompromisních řešení (trade-off solutions). Problémy často nejsou definovány pouze formulací kriteriálních funkcí, ale jsou ovlivněny také tzv. omezujícími podmínkami (constraints). Potom řešení, které poruší omezující podmínky, přestože může jít z hlediska kriteriálních funkcí o ideální řešení, nesmí být výsledkem operace. Obecně lze optimalizační úlohu popsat vztahem [1]: minimalizuj: f m (x), m = 1, 2,...M, (1.1a) s ohledem na: x s, min x s x s, max, s = 1, 2,...S, (1.1b) c k (x) 0, k = 1, 2,...K, (1.1c) kde f m označuje m-tou kriteriální funkci, M je počet kriteriálních funkcí, x s je stá stavová proměnná, S je počet stavových proměnných, c k (x) je k-tá omezující podmínka a K je počet omezujících podmínek. 12
14 2 PROBLÉMY KLASICKÝCH OPTIMALIZAČ- NÍCH ALGORITMŮ Mnoho klasických optimalizačních metod (Newtonova metoda, Metoda zlatého řezu, Metoda váženého součtu atd.) dokáže najít pouze jedno řešení během jedné simulace, čímž se stávají nevhodné pro více-kriteriální optimalizační problémy. Obvykle používají neměnné pochody při hledání optimálního řešení. Taková optimalizace začne v náhodně zvoleném nebo uživatelem zvoleném bodě a poté na základě předem specifikovaného pravidla určí směr vyhledávání. V tomto směru pokračuje vyhledávání nejlepšího řešení. Takto nalezené řešení se stává novým řešením a celá procedura je opakována. Takový postup je znázorněn na Obr Tyto algoritmy se pak liší především ve způsobu určování směru vyhledávání. Tyto klasické metody se často rozdělují na komparativní metody a gradientní metody [2] Prostor vhodných řešení Optimum Směr hledání Počáteční odhad Omezující podmínky Obr. 2.1: Postup při objevování optimálního řešení u klasických optimalizačních metod. [3] Komparativní metody nevyžadují výpočet nebo odhad derivace kriteriální funkce. Jejich princip spočívá ve vyčíslení kriteriální funkce v určitých bodech a jejich porovnání s hodnotami z předchozího kroku. Iterace pokračuje, dokud dochází ke snižování hodnoty kriteriální funkce. Příkladem je Fibonacciho metoda nebo Metoda zlatého řezu. 13
15 Gradientní metody využívají derivaci prvního (někdy i druhého) řádu k určení směru vyhledávání. Gradientní metody rychle konvergují k optimálnímu řešení, avšak v případě nespojitého nebo nederivovatelného optimalizačního problému nejsou efektivní. Příkladem je Newtonova metoda nebo metoda Regula-falsi. Mnohé reálné problémy obsahují nespojité a komplexní proměnné a optimálních řešení bývá více než jedno. Tato řešení jsou často pouze lokálně optimální a jsou tedy nežádoucí a mají horší hodnoty kriteriálních funkcí. Pokud řešíme takový problém klasickými metodami a algoritmus se dostane při prohledávání do oblasti tohoto řešení, konverguje metoda právě k lokálnímu opitmu a tím poskytne nevhodný výsledek. Mnohdy je v praktických aplikacích nemožné volit stavové proměnné ze spojitých intervalů. Často jsou omezeny na určité diskrétní hodnoty např. v důsledku cenových nákladů. Příkladem mohou být elektronické součástky vyráběny pouze v určitých řadách, a tedy jejich nominální hodnoty jsou diskrétní stavovou proměnnou. Při takovém požadavku je možné provést optimalizaci s běžnými spojitými proměnnými a následně vyhledat nejbližší možné diskrétní hodnoty. Tento přístup však dovoluje optimalizovat s nevhodnými hodnotami a tedy optimalizační proces stráví mnoho času zbytečným zkoumání nevhodných řešení (infeasible solutions, viz kapitola 3). Další čas zabere pozdější vybírání nejbližších diskrétních hodnot, což rovněž proces zdržuje a nakonec se může stát, že daná kombinace nejbližších možných diskrétních hodnot nenabídne řešení s požadovanou kvalitou. Všechny tyto nedostatky mohou být eliminovány optimalizační metodou, která pracuje s diskrétními stavovými proměnnými. V komplexních problémech reálného světa optimalizační proces často vyžaduje použití simulačních procesů zahrnující početně náročné metody (Metoda konečných prvků, Metoda momentů apod.) k výpočtu kriteriální funkce (fitness function) a omezujících podmínek (constraints). Kvůli početní náročnosti je vhodné použít k takovým optimalizacím paralelní početní systémy. Jelikož většina klasických metod využívá přístup bod-po-bodu, kde během jedné iterace dojde ke zlepšení pouze jednoho řešení, nemohou být výhody paralelních systémů plně zužitkovány. Shrnutí hlavních nevýhod klasických algoritmů: Konvergence k optimálnímu řešení závisí na zvoleném počátečním řešení. Většina algoritmů je náchylná ke konvergenci k lokálně optimálním řešením. Algoritmus navržený k efektivnímu řešení jedné problematiky nemusí být efektivní při řešení jiného optimalizačního problému. Algoritmy bývají neefektivní pří řešení diskrétních problémů. Algoritmy nemohou být efektivně paralelně zpracovávány. 14
16 Z předchozích odstavců je tedy zřejmé, že klasické metody bez výrazných úprav nejsou schopny řešit většinu praktických optimalizačních problémů. Na druhou stranu například evoluční algoritmy (EA) mohou některé z výše uvedených problémů odstranit nebo potlačit a proto často nahrazují, i přes jejich složitost, klasické metody. 15
17 3 VÍCE-KRITERIÁLNÍ OPTIMALIZACE Optimalizační problémy s více kriteriálními funkcemi jsou tedy v přírodě nejčastější. Jelikož kriteriální funkce jsou často protichůdné, výsledkem takové optimalizace by mělo být vícero řešení. Výsledná řešení musí rovněž splňovat omezující podmínky. Řešení, které nesplňuje tyto podmínky je nevhodné řešení (infeasible solution). Řešení, které naopak splňuje všechny omezující podmínky je vhodné řešení (feasible solution). Z toho vyplývá, že ne všechny kombinace stavových proměnných (spadající mezi minimální a maximální hranici dané stavové proměnné) vedou na vhodná řešení. Ne všechna vhodná řešení (feasible solutions) jsou zároveň optimální. Vhodná řešení jsou dále rozdělena na nedominovaná(non-dominated set) a dominovaná (dominated set). Ideální řešení, tedy řešení, která jsou v něčem výjimečná, jsou Pareto-optimální řešení. Více-kriteriální optimalizační proces je tedy jinými slovy hledání paretooptimálních řešení. Sada pareto-optimálních řešení je nazývána Paretovým čelem (pareto-optimal front). Paretovo čelo vyjadřuje kompromis mezi všemi zvolenými kritérii daného problému. Je-li třeba určit, které z dvou řešení je lepší, je nutné se podívat na všechny kriteriální funkce najednou. Pokud je první řešení ve všech hodnotách kriteriálních funkcí lepší, pak toto řešení dominuje řešení druhé. V případě, že je ve všech hodnotách kriteriálních funkcí horší, pak je řešení dominováno. Pokud je ale v několika kriteriálních funkcích horší, avšak alespoň v jedné lepší, pak se nedá jednoznačně určit, které z daných řešení je lepší - obě řešení jsou stejně důležitá. Pro nedominovaný soubor platí tyto dvě podmínky: 1. jakékoliv řešení z nedominovaného souboru nemůže dominovat jiné řešení z tohoto souboru, 2. každé řešení, které nepatří do nedominovaného souboru je dominováno alespoň jedním Pareto-optimálním řešením. Na Obr. 3.1 je zobrazena množina řešení dvou-kriteriálního problému. Řešení označené plným kruhem je lepší z hlediska obou kritérií. Prázdné kruhy označují řešení dominovaná. V Obr. 3.2 vidíme plnými kruhy označena ta řešení, která nejsou jinými dominována. Souboru takových řešení se říká nedominovaná množina. Všechna ostatní řešení (prázdné kruhy) mají hodnoty kriteriálních funkcí stejné nebo horší než některé z nedominovaných řešení. 16
18 f 2 f 2 dominovaná řešení nedominované řešení f 1 dominovaná řešení nedominovaná řešení f 1 Obr. 3.1: Vztah dominance v dvoukriteriálním prostoru [4]. Obr. 3.2: Dominovaná řešení z množiny řešení [4]. 3.1 Cíle více-kriteriální optimalizace Jak již bylo řečeno, soubor řešení může být rozdělen na 2 skupiny: optimální a neoptimální řešení. Pokud optimalizační problém obsahuje více kritérií, které jsou navzájem konfliktní, potom Pareto-optimálních řešení je více než jedno. Bez dalších informací o tom, které z kritérií je důležitější, jsou všechna tato řešení stejně podstatná. Cíle více-kriteriální optimalizace jsou tedy následující: 1. Najít řešení co nejvíce blízké Paretovu čelu. 2. Najít řešení co nejvíce rozdílné z hlediska jednotlivých kritérií. První cíl je jednoznačný a stejný jako při jedno-kriteriální optimalizaci. Druhý cíl je specifický pro více-kriteriální optimalizační proces. Řešení tedy nejen že musejí být Pareto-optimální, ale také musejí být rozložena rovnoměrně po celém Paretově čele. Jinými slovy, musejí mít mezi sebou co možná největší euklidovskou vzdálenost. Pokud jsou obě podmínky naplněny, pak lze říci, že byl vyhledán dobrý soubor možných optimálních řešení. 17
19 4 HLEDÁNÍ NEDOMINOVANÝCH ŘEŠENÍ Protože ve většině optimalizačních algoritmech je potřeba hledat množinu nedominovaných řešení v každé iteraci, je nutné umět tato řešení hledat výpočetně co nejefektivněji. Hledání nedominovaných řešení může být podobné hledání minima mezi reálnými čísly. Pro hledání, resp. seřazení reálných čísel existuje řada algoritmů, z nichž některé jsou efektivnější a některé méně. Pro hledání nedominovaných řešení existuje dnes rovněž mnoho metod. V následujících podkapitolách budou popsány tři různé algoritmy podle [3]. První metoda je nejjednodušší, avšak nejméně efektivní. Další dvě metody jsou řádově rychlejší než první metoda, ale také složitější. 4.1 Metoda 1: Pomalá a naivní V této metodě se všechna řešení porovnávají každé s každým. U každého řešení x i je zjišťováno, jestli není dominováno některým jiným řešením. Pokud se najde alespoň jedno takové řešení, pak řešení x i nemůže patřit do množiny nedominovaných řešení. Pokud žádné řešení, které by dominovalo řešení x i, není nalezeno, řešení x i je nedominované. Tento postup se opakuje pro každé řešení z množiny řešení P o velikosti N. Takto je popsán algoritmus krok za krokem: Krok 1: Čítač řešení i = 1 a je vytvořena prázdná množina nedominovaných řešení P. Krok 2: Pro řešení x j z množiny řešení P ( x i x j ) je zjištěno, zda dominuje řešení x i. Pokud řešení x j dominuje řešení x i, pokračuje se Krokem 4. Krok 3: Pokud j N, pak j = j + 1 a dalším krokem je Krok 2. Pokud další řešení v množině P neexistuje, pak řešení x i nebylo žádným jiným řešením dominováno, a tedy řešení x i patří do setu P (P = P { x i }). Krok 4: i = i + 1. Pokud i N, následuje Krok 2. Tato metoda vyžaduje maximálně O(MN 2 ) porovnávání. M je počet kriteriálních funkcí. 4.2 Metoda 2: Postupná aktualizace Tato metoda je v principu podobná metodě z kapitoly 4.1. Je však zrychlena tím, že všechna řešení jsou porovnávána pouze s částečně naplněným setem pro dominaci P. Na počátku je do P vloženo první řešení z množiny P. Poté jsou všechna 18
20 řešení x i z množiny P (počínaje druhým řešením) porovnána se všemi členy setu P. Pokud řešení x i dominuje některému členu P, tento člen je z P odstraněn. Takto jsou nevhodní členové ze setu P odstraňováni. Naopak pokud je řešení x i dominováno některým z členů P, je toto řešení ignorováno. Pokud není řešení x i žádným členem P dominováno, je řešení x i přidáno do setu P. Takto se množina nedominovaných řešení P rozrůstá. Když jsou prověřena všechna řešení z množiny P, je proces ukončen a členové setu P jsou výsledným nedominovaným setem množiny P. Takto je popsán algoritmus krok za krokem: Krok 1: Inicializace P. Do P je vloženo první řešení z množiny P. (P = {1}). Je nastaveno i = 2. Krok 2: Nastavení j = 1. Krok 3: Řešení x i z množiny P se porovná s řešením x j z množiny P. Krok 4: Pokud řešení x i dominuje řešení x j, pak je řešení x j odstraněno z P. Existují-li další řešení v množině P, j = j + 1 a následuje Krok 3. Pokud řešení x j dominuje řešení x i, pak je rešení x i ignorováno, i = i + 1 a následuje Krok 2. Jestliže se řešení navzájem nedominují, pokračuje se Krokem 5. Krok 5: Řešení x i je vloženo do množiny P. Pokud i < N, pak i = i + 1 a pokračuje se Krokem 2. Pokud i = N, hledání je u konce a set P je označen nedominovaná množina. Tato metoda vyžaduje v nejhorším případě opět O(MN 2 ) porovnávání. V praxi je však počet porovnávání o mnoho menší, protože mnoho řešení je dominováno některým řešením z množiny P. 4.3 Metoda 3: Kungova metoda V této metodě jsou všechna řešení nejdříve seřazena sestupně podle hodnoty první kriteriální funkce. Poté jsou řešení rekursivně rozdělovány na dvě subpopulace: top (T ) a bottom (B). Polovina T je tedy lepší z hlediska první kriteriální funkce než polovina B. Subpopulace B je tedy porovnána z hlediska dominance se subpopulací T. Řešení ze subpopulace B, která nejsou dominována žádným řešením ze subpopulace T, jsou spolu s subpopulací T zkombinována do smíšené populace M. Mísení a zkoumání dominance začíná v nejvnitřnější rekurzi (obě subpopulace B a T obsahují jen jedno řešení) a dále probíhají v postupném vynořování. Takto je popsán algoritmus v krocích: Krok 1: Řešení z množiny P jsou seřazena sestupně podle hodnoty první kriteriální funkce 19
21 Krok 2: Volání funkce Front(P ). Pokud P obsahuje pouze jedno řešení ( P = 1), pak výstupem funkce Front(P ) je rovněž P. Pokud P obsahuje více než jedno řešení, potom je P rozděleno na dvě subpopulace T a B. Každé řešení ze subpopulace B, které není dominováno žádným řešením z množiny T, je vloženo do smíšené populace M a tato množina řešení je pak výstupem funkce Front(P ). Po vynoření z poslední rekurze funkce Front(P ) je populace M množinou nedominovaných řešení. Na představu je tato metoda velmi obtížná, ale podle H.T. Kunga a jeho kolektivu je toto početně nejefektivnější metoda. Její náročnost stanovili [3] na O(NlogN M 2 ) pro M 4 a O(NlogN) pro M = 2 a M = Úrovně nedominovaných množin řešení V anglické literatuře je tento proces označován jako non-dominated sorting of population. Evoluční algoritmy často rozdělují řešení pouze na nedominovaná a dominovaná. Existují však i algoritmy (například dále popsaný NSGA-II), které vyžadují roztřídění celé populace na nedominované úrovně (non-domination levels). Nejlepší nedominovaná řešení jsou nazývána nedominovaná řešení první úrovně. K nalezení nedominovaných řešení další úrovně jsou obvykle nedominovaná řešení první úrovně dočasně zanedbána a z takto vzniklé množiny jsou vybrána nedominovaná řešení další úrovně. Nedominovaná řešení z takto vzniklé množiny jsou potom nedominovaná řešení druhé úrovně. Takto se pokračuje, dokud všem řešením není přiřazena nedominovaná úroveň (non-domination level). Na Obr. 4.1 jsou barevně rozlišeny nedominované úrovně na příkladu s vetknutým nosníkem kruhového průřezu. 4.5 Rychlé rozdělení populace do úrovní nedominovaných množin řešení (fast non-sominated sorting) Jakoukoliv metodou je nalezena množina nedominovaných řešení. Tito členové jsou pak odstraněni a nastává nové hledání. Protože jednotlivá hledání v nejhorším potřebují O(MN 2 ) porovnávacích operací, pak celý proces, pokud v každé množině nedominantních řešení bude pouze jedno řešení, může vyžadovat až O(MN 3 ) porovnávacích operací. V rychlém rozdělení populace do úrovní nedominovaných množin řešení jsou každému řešení přiřazeny dvě entity. První entita je počet dominací n x. Tedy počet 20
22 f f 1 Obr. 4.1: Barevně odlišené nedominované úrovně na příkladu vetknutého nosníku z prostředí MATLAB. řešení, kterými je řešení x dominováno. Druhá entita je S x, což je seznam řešení, kterým řešení x dominuje. Všechna řešení, která patří do první nedominované úrovně (non-dominated level), mají počet dominací n x roven nule. Pro nalezení dalších úrovní je dekrementován počet dominací n x o jedna pro každé řešení x, které patří do seznamu S x. Pokud n 1 = 0 a v seznam S 1 jsou řešení x 2, x 3 a x 4, pak řešení x 1 patří do nedominované úrovně 1 (non-dominated level) a n 2, n 3 a n 4 jsou sníženy o hodnotu 1. Všechny takto aktualizované počty dominací n x, které dosáhnou hodnoty nula, patří do nedominované úrovně 2. Celý postup se opakuje, dokud se všechny hodnoty n x nerovnají hodnotě 0. Takové rozdělení vyžaduje pouze O(MN 2 ) porovnávacích operací. 21
23 5 ZAJIŠTĚNÍ DIVERZITY MNOŽINY NEDO- MINOVANÝCH ŘEŠENÍ Při více-kriteriální optimalizaci je důležité nejen nalézt řešení co nejblíže pravému Paretovu čelu, ale také zajistit, aby nalezená řešení byla co nejvhodněji rozmístěna na Paretově čele. Pro tento účel bylo představeno již mnoho metod z nichž nelze určit jednu univerzální pro všechny optimalizační problémy. V následujících podkapitolách budou představeny dvě metody. 5.1 ε-dominance První metoda se nazývá ε-dominance [5]. Metoda využívá adaptivní sítě. Celý prostor kriteriálních funkcí je rozdělen na N hyperkrychlí (obdélník - 2D, krychle - 3D). Spadá-li více řešení z množiny nedominovaných řešení do jedné hyperkrychle, je vybráno pouze jedno z nich (s menší vzdáleností od počátku hyperkrychle). Hyperkrychle se mohou navzájem dominovat. Výsledkem této metody tedy mohou být jen řešení v nedominovaných hyperkrychlích. Tato metoda je tedy poměrně univerzální pro různé optimalizční problémy. f 2 f 1 Obr. 5.1: Rozdělení dvou-kriteriálního prostoru na hyperkrychle podle koncepce ε-dominance [5]. Přestože prostor kriteriálních funkcí nemusí být rozdělen pouze uniformně, je tato metoda náchylná k potlačení příliš mnoho řešení (jinak řečeno nevybere přesně N řešení). Nejhorší případ nastane, jsou-li řešení seskupena do dvou shluků na okrajích Paretova čela (viz Obr. 5.1). V tomto případě pouhých pět hyperkrychlí obsahuje 22
24 alespoň jedno řešení. Jelikož jen dvě z nich jsou vzájemně nedominované, pouze dvě řešení nejblíže počátku těchto dvou hyperkrychlý budou vybrány jako výsledek této selekce. 5.2 Shluková vzdálenost Druhá metoda nazývaná shluková vzdálenost (crowding distance) umožňuje vybrat právě N řešení. Bez modifikací pracuje ale pouze pro dvou-kriteriální problémy. Tato metoda používá k zajištění diverzity shlukové vzdálenosti CD. Shluková vzdálenost je veličina získaná jako kombinace vzdáleností od dvou (nebo více) sousedních (nejbližších) řešení v prostoru kriteriálních funkcí. V mém případě jde o součin euklidovských vzdáleností (v Obr. 5.2 vzdálenosti d 1 a d 2 ). Řešení, které má nejmenší hodnotu shlukové vzdálenosti CD, je tedy úzce obklopeno sousedními řešeními a je tedy nejméně vhodné. f 2 0 i-1 d 1 i d 2 i+1 N f 1 Obr. 5.2: Znázornění vzdálenosti řešení od sousedních řešení. Nejjednodušším způsobem zajištění diverzity pomocí shlukových vzdáleností je spočítat shlukové vzdálenosti všech řešení, odstranit jedno řešení s nejnižší shlukovou vzdáleností a provést znovu výpočet všech shlukových vzdáleností. Takto se pokračuje, dokud řešení není právě N.Tento proces je však výpočetně neefektivní. Je-li odstraněno některé řešení z množiny nedominovaných řešení, změní se shlukové vzdálenosti pouze sousedních řešení eliminovaného řešení. Během procedury výpočtu shlukových vzdáleností všech řešení jsou tedy zároveň zjištěna sousední řešení (i + 1 a i 1) pro každé řešení. Po odstranění řešení s nejnižší shlukovou vzdáleností se pouze zaktualizuje seznam sousedních řešení a velikosti shlukových 23
25 vzdáleností pro přilehlá řešení. Toto odstraňování jednotlivých řešení je opakováno, dokud nezbývá právě N řešení. Hlavním problémem v případě více kriteriálních funkcí je zjistit, která řešení jsou sousední. Určit sousední řešení pokud řešení leží na přímce lze pomocí seřazení všech řešení podle některé kriteriální funkce. Ve více-rozměrném prostoru však tento postup nelze použít Hledání nejbližších sousedních řešení Jak již bylo řečeno, určit sousední řešení lze poměrně jednoduše, pokud všechna řešení leží na přímce. Z tohoto předpokladu vychází metoda equal-average nearest neighbor search (ENNS [6]). M-dimensionální prostor je promítnut na přímku procházející tímto M-dimensionálním prostorem. Je-li prostor kriteriálních funkcí normalizován, pak projekční vektor může procházet počátkem a bodem o souřadnicích (1, 1,... 1). Jsou-li všechna řešení promítnuta na tuto přímku, lze jednoduše pro každé řešení určit řešení sousedící. Pokud všechny kriteriální funkce mají být minimalizovány, bylo dokázáno[6], že je vhodnější použít jako projekční osu přímku procházející body (0, 0,..., 0, 1) a (1, 1,..., 1, 0). Projekční osa pro dvou a tří-kriteriální problém je vyobrazena na Obr. 5.3 a Obr f 2 0,8 1 0,6 f 3 0,5 0,4 0,2 0 0 f 1 0,5 0,5 f ,2 0,4 0,6 0,8 1 f Obr. 5.3: Metoda ENNS v dvoukriteriálním prostoru [6]. Obr. 5.4: Metoda ENNS v tříkriteriálním prostoru [6]. Z Obr. 5.3 a Obr. 5.4 je patrné, že pro dvou-kriteriální problém se jedná o hledání průsečíku dvou přímek navzájem kolmých. První přímka (projekční osa) je určena směrovým vektorem s = (1, 1) a bodem např. (1, 0). Druhá přímka je určena normálovým vektorem n = s = (1, 1) a řešením, které chceme na projekční osu promítnout. 24
26 V případě tří-kriteriálního problému jde o hledání průsečíku přímky a na ni kolmé roviny. Přímka je opět určena směrovým vektorem s = (1, 1, 1) a bodem např. (1, 1, 0). Rovina je určena normálovým vektorem n = s = (1, 1, 1) a řešením, které chceme na projekční osu promítnout. Jsou-li pro každé řešení známá řešení sousedící, pak lze pro každé řešení spočítat shlukovou vzdálenost CD v prostoru kriteriálních funkcí. Tato procedura, přestože složitá, je ale stále časově efektivnější, než opakovaný výpočet shlukových vzdáleností pro celou populaci po každém odstranění nejméně vhodného nedominovaného řešení. 25
27 6 ELITIST NON-DOMINATED SORTING GE- NETIC ALGORITHM (NSGA-II) Algoritmus Nondominated Sorting Genetic Algorithm (NSGA) byl jedním z prvních více-kriteriálních genetických algoritmů. Algoritmus byl představen v roce 1994 [7]. Tento algoritmus byl však často kritizován z důvodů velké výpočetní náročnosti rozdělení populace do úrovní nedominovaných množin řešení (non-dominated sorting of population), kvůli absenci elitismu (viz. 6.6) a potřebě vstupního parametru σ-share (sharing parametr), jehož správná volba je nutná pro dosažení rovnoměrného rozložení nedominovaných řešení po celém Paretově čele. S těmito neduhy se vypořádává genetický algoritmus NSGA-II. Dříve než bude popsán samotný algoritmus, je třeba vysvětlit několik pojmů týkajících se genetických algoritmů. Principy genetického algoritmu lze vysvětlit na principu jednoduchého příkladu návrhu konzervy. Válcovitá konzerva má dvě stavové proměnné: výšku (h) a průměr (d). Hledáme takovou kombinaci výšky a průměru, která zajistí nejmenší spotřebu materiálu, tedy vyžadujeme minimalizaci povrchu válce. Objem by měl být alespoň 300ml. Tento příklad je popsán v [8]. Kriteriální funkce: f(d, h) = c π d2 2 + pi d h, (6.1) Omezující podmínka: g(d, h) = π d2 h 4 300, (6.2) Limity stavových proměnných: d 0; 31, (6.3) Parametr c vyjadřuje cenu za cm 2 materiálu. h 0; 31, (6.4) 6.1 Číselná reprezentace Jednotlivé operátory (selekce, křížení, mutace) genetického algoritmu je možné modifikovat pro práci s reálnými čísly, avšak nejčastěji se používá binární reprezentace stavových proměnných. Taková reprezentace je vhodná zejména pro operace křížení a mutace. 26
28 Pro každou proměnnou může být definována jiná binární přesnost. Binární přesnost určuje počet binárních znaků, kterými bude daná stavová proměnná reprezentována. V příkladu byla zvolena pro každou stavovou proměnnou binární přesnost 5 bitů. Máme-li dvě proměnné, pak celková délka binárního řetězce je 10 bitů. Protože 5bitů dohromady dává 2 5 = 32 možností a hranice obou proměnných jsou 0 a 31, převod z celočíselné reprezentace do binární je zde jednoduchý. Pro konzervu o výšce 10cm a průměr 8cm tedy dostáváme binární řetězec Číslo 23 značí metriku konzervy spočtenou podle rovnice 6.1. Binární reprezentace je naznačena na Obr. 6.1 [8]. 23 h (d, h) = (8, 10) cm Binární řetězec = d Obr. 6.1: Binární řetězec konzervy o výšce 10cm a průměru 8cm [8]. To ale neznamená, že genetický algoritmus může pracovat pouze s celočíselnými stavovými proměnnými. Změnou délky binárního řetězce a limitů stavových proměnných lze dosáhnout libovolné hodnoty podle mapovacího vztahu: (2 BP 1 ) x MAP = (x x MIN ) (x MAX x MIN ), (6.5) kde x MIN a x MAX jsou hranice stavové proměnné a BP je binární přesnost. Výsledkem tohoto mapovacího vztahu je mapovací hodnota x MAP, která se dále zaokrouhlí (kvantizační chyba) a zaokrouhlenou hodnotu x MAP lze již snadno převést na binární hodnotu. Pokud by tedy v příkladu s konzervou byly jiné limity, např: d 10; 20, pak pro d = 10 je požadováno, aby binární řetězec o délce 5 bitů byl a pro d = 20 musí být binární řetězec Pro x = 20 je výsledek mapovacího vztahu x MAP = 31. Dále již jednoduše lze převést na Pro x = 15 je výsledkem mapovacího vztahu x MAP = Po zaokrouhlení je x MAP = 16. Dále již jednoduše je převedeno na Lze říci, že došlo ke ztrátě přesnosti (kvantizační chybě) kvůli malé přesnosti binárního čísla BP. Stavové proměnné mají díky mapovacímu vztahu následující vlastnosti: Jakákoliv přesnost může být dosažena použitím dostatečně velkého počtu bitů binárního řetězce. 27
29 Různé proměnné mohou mít různou binární přesnost (změnou proměnné BP). Stavové proměnné mohou nabývat kladných i záporných hodnot pouhým nastavením limitů dané stavové proměnné do kladných či záporných hodnot. Není tedy nutné vyhrazovat v binárním řetězci entitu pro znaménko. Limity stavových proměnných jsou zákonitě dodrženy samotnou číselnou reprezentací díky použití mapovacího vztahu. Čím menší je binární přesnost jednotlivých stavových proměnných, tím snáze je prostor stavových funkcí prohledán. Pokud je však rozmezí stavové proměnné příliš velké a binární přesnost malá, zaokrouhlovací chyba může znemožnit algoritmu naléze pravé Paretovo čelo (viz Schafferova studie 10.1). Hodnota by tedy měla být volena kompromisně. 6.2 Princip genetického algoritmu Na Obr. 6.2 je vývojový diagram genetického algoritmu. Čítači generací přiřadíme hodnotu 0 (g = 0). Celkový počet generací je označen G. Start Inicializace populace g = 0 Výpočet kriteriálních funkcí Přiřazení metriky g = G? g = g + 1 Reprodukce Konec Křížení Mutace Obr. 6.2: Vývojový diagram genetického algoritmu. [3]. Nyní se inicializuje mateřská populace. Množina řešení (počet jedinců) bývá, na rozdíl od klasických metod, větší než jeden. Počet jedinců se obvykle označuje 28
30 písmenem N. Každý jedinec má S stavových proměnných. Pak tedy inicializace je náhodné vygenerování S N hodnot. Stavové proměnné jsou dále převedeny do binární reprezentace. Celá populace je poté popsána N binárními řetězci, kde každý řetězec nese informaci o S stavových proměnných. Následuje výpočet M kriteriálních funkcí a také omezujících podmínek (constraints). Na základě hodnot kriteriálních funkcí (nebo nedominované úrovně) a splnění omezujících podmínek je každému jedinci přiřazena metrika. Pokud je hodnota čítače generací menší než celkový počet generací (g < G), pak jsou provedeny na mateřské populaci genetické operace selekce, křížení a mutace. Výsledkem těchto operací je populace potomků. Nyní inkrementujeme čítač generací (g = g + 1) a opět vypočteme kriteriální funkce a omezující podmínky a přiřadíme metriku. Pokud je hodnota čítače generací menší než celkový počet generací (g < G), populace potomků se stává pro další generaci mateřskou populací a celý proces je opakován do naplnění podmínky (g = G). Následně budou popsány na příkladu s konzervou [8] jednotlivé genetické operátory. 6.3 Selekce (selection) Operátor selekce má za úkol zvýhodnit pro další operace dobrá řešení a naopak eliminovat řešení špatná, zatímco velikost populace zůstane neměnná. Toho je dosaženo ve třech krocích: 1. Identifikace dobrých (obvykle nadprůměrných) řešení v populaci. 2. Vytvoření několika kopií dobrých řešení. 3. Eliminace špatných řešení, takže dobrá řešení mohou v populaci nahradit ty špatná. Existuje více způsobů selekce, avšak zde popíši pouze soutěžní selekci (tournament selection) Soutěžní selekce (tournament selection) Tato selekce [9] náhodně vybírá určitý počet řešení a tato řešení mezi sebou soutěží o místo v listině vítězů (mating pool). Jedinci z této listiny jsou pak vybráni pro vytvoření nových potomků. Protože geny členů listiny vítězů jsou dále děděny dalšími generacemi, je žádané, aby se listina vítězů skládala z dobrých jedinců. Selekční nátlak (selection pressure) je mechanismus, který naznačuje, jak moc jsou dobří jedinci upřednostňováni během selekce. Čím větší je selekční nátlak, 29
31 tím rychleji celý genetický algoritmus konverguje k výsledku. Pokud je ale příliš velký, může genetický algoritmus konvergovat i k lokálnímu řešení. Selekční nátlak je v soutěžní selekci implementován velikostí jednotlivých klání T S (tournamentsize). Tedy jeden člen listiny vítězů je vybrán právě z T S náhodně vybraných členů populace. Je-li T S = 1, pak selekční nátlak je v podstatě nulový a listinu vítězů obsadí vlastně náhodní jedinci. Pokud T S = N, pak listinu vítězů tvoří N kopií jedince s nejlepší metrikou. Jelikož je soutěžní selekce v algoritmu NSGA-II využita pouze v první iteraci, nemá tento parametr veliký vliv na výsledky. Velikost klání bývá nejčastěji nastavena na T S = 2. Na Obr. 6.3 je znázorněna soutěžní selekce pro příklad s konzervou, kde T S = 2. Jednotlivá čísla na konzervách naznačují metriku jedinců Listina vítězů Obr. 6.3: Šestero klání probíhá mezi šesti náhodně vybranými dvojicemi šesti různých jedinců. Jedinci ohraničeni rámečkem jsou členové listiny vítězů [8]. 6.4 Křížení (crossover) Křížení je provedeno hned po selekci na členech vítězné listiny. Nyní už je jasné, že operátor selekce sám o sobě nedokáže vytvořit žádné nové řešení. Objevování nových řešení je doménou křížení a mutace. Základem křížení je náhodný výběr dvou členů vítězné listiny a náhodné části těchto dvou jedinců jsou zaměněny a tím vytvoří dvě nová řešení. 30
32 Náhodně jsou vybrána dvě řešení z vítězné listiny, poté je náhodně vygenerována poloha křížení (cross site). V této poloze jsou oba řetězce kříženy. To je provedeno tak, že část řetězce vlevo od polohy křížení je ponechána a část vpravo je převzata z druhého řetězce. Tím jsou vytvořena dvě nová řešení. Křížení je naznačeno na Obr (8, 10) (10, 6) (14,6) (12, 10) 39 Obr. 6.4: Křížení dvou řešení [8]. Je patrné, že křížením jedinců s metrikou 23 a 37 jsme obdrželi dvě nová řešení s metrikami 22 a 39. Šance že nově vzniklé řešení bude lepší než dosud nalezená řešení jsou více než jen náhodné, protože křížení probíhá mezi jedinci, kteří přežili předchozí fáze genetického algoritmu. Dvě řešení o délce l bitů mohou vytvořit pouze l nových řešení a ne 2 l nových řešení a proto je předpokládáno, že dva potomci budou alespoň tak dobří, jako jejich rodiče. Pokud jsou vytvořena horší řešení, budou tato řešení pravděpodobně eliminována při další selekci. Dobrá řešení jsou naopak předurčena k tomu být před dalším křížením vícekrát zkopírována ve vítězné listině a dále křížena s dalšími dobrými řešeními. Aby některá dobrá řešení byla zachována v nezměněné podobě, je křížení prováděno s pravděpodobností P C. Některá řešení tedy mohou být pouze zkopírována pro další operace. Hodnota pravděpodobnosti tedy může nabývat hodnot od nuly do jedné. Většinou je volena u horní hranice intervalu Více-bodové křížení Křížení nemusí probíhat pouze v jednom bodě, ale i ve více bodech. Rozlišujeme tedy jedno-bodové (single-point), n-bodové (n-point) a uniformní (uniform) křížení. Uniformní křížení je případ, kdy křížící práh je mezi každým bitem řetězce. 6.5 Mutace (mutation) Operátor křížení je z největší části zodpovědný za hledání nových řešení. Po jistém počtu iterací by mohlo dojít ke konvergenci k určitému řešení, které nemusí být globálním optimem a algoritmus by v něm mohl uvíznout. Proto se zavádí operátor 31
33 mutace. Mutace znamená, že s pravděpodobností P M je na náhodném místě binárního řetězce potomků invertován bit. To pomáhá k udržení různorodosti populace. Pravděpodobnost P M nabývá hodnot od nuly do jedné. Princip mutace je znázorněn na Obr (10, 6) (8, 6) 16 Obr. 6.5: Mutace čtvrtého bitu řešení. Na konzrevách je znázorněna změna metriky řešení [8]. 6.6 Elitismus Elitismus je mechanismus genetického algoritmu, který dovoluje ponechání dříve nalezených nejlepších řešení pro další generace. To znamená, že určitý počet nejlepších řešení stávající generace je ušetřen operací selekce, křížení a mutace a do další generace jsou zachovány v nezměněné podobě. 6.7 Popis algoritmu NSGA-II Na počátku algoritmu je náhodně vygenerována mateřská populace P 0. Populace je poté seřazena podle nedominovaných úrovní (non-dominated levels) použitím algoritmu pro rychlé hledání úrovní nedominovaných množin řešení popsaném v 4.5. Každému řešení je přidělena hodnost (rank) rovna jeho nedominované úrovni. Nejnižší hodnost znamená tedy nejvhodnější řešení. Pro uvedení omezujících podmínek (constraints) v platnost byla zavedena penalizace hodnosti řešení, která omezující podmínky nesplňují. Penalizace je nastavena na velikost populace N, takže řešení, která nesplňují omezující podmínky, mají hodnost (rank) horší než kterékoliv řešení, které je splňuje. Nyní je mateřská populace podrobena operacím typickým pro genetický algoritmus - selekce, křížení a mutace. Tím je vytvořena populace potomků označena Q 0 o velikosti N. Protože tento algoritmus disponuje elitismem, který porovnává předchozí řešení se současými, je postup v dalších generacích odlišný, než v první generaci. Dolní index g u následujících označení populací naznačuje g-tou generaci. Nejprve je vytvořena kombinovaná populace R g = P g Q g. Populace R g má velikost 2N. Poté jsou členové R g seřazeni podle nedominované úrovně 4.5. Protože všichni jedinci z předchozí generace jsou v populaci R g s jedinci z aktuální generace, 32
34 Rozdělení do nedominovaných množin řešení Rozdělení dle shlukové vzdálenosti P g+1 L 1 P g L 2 Q g Zavržená řešení R g Obr. 6.6: Výběr právě N řešení z populace R g pro populaci P g+1 [10]. je zajištěn elitismus. Protože členové první úrovně L 1 jsou nejlepšími jedinci populace R g, měli by být vybrání všichni, pokud není počet členů první nedominované úrovně větší než N. Tato nedominovaná úroveň bude určitě součástí populace P g+1. Takto je vybráno N členů pro populaci P g+1 z několika nedominovaných úrovní. Pokud se nedominovaná úroveň L X do populace P g+1 nevejde beze zbytku, pak musí být vybráno tolik členů z úrovně L X, aby populace P g+1 měla přesně N členů. Abychom vybrali ty nejlepší členy úrovně L X, použijeme shlukovou selekci (crowded comparison) popsanou v kapitole 5.2. Protože z populace R g o velikost 2N členů se vybírá pouze N členů, není ve skutečnosti nutné provádět třídění do nedominovaných úrovní pro všech 2N členů. Rozdělení populace do úrovní nedominovaných množin řešení (non-dominated sorting) můze být zastaveno ve chvíli, kdy v nedominovaných úrovních je více jak N členů. Celý postup je naznačen na Obr Mateřská populace P g+1 podstupuje operace křížení a mutace a tím se vytvoří populace potomků Q g+1. Tyto dvě populace tvoří kombinovanou populaci R g+1 pro další generaci a celý postup je opakován po daný počet generací. 33
35 7 VÍCE-KRITERIÁLNÍ PARTICLE SWARM OP- TIMIZATION (MOPSO) Optimalizace využívající roje částic (Particle swarm optimization) byla poprvé představena v roce 1995 Jamesem Kennedym a Russellem Eberhartem [11]. Byla navržena pro práci v prostoru reálných čísel. Tato metoda simuluje pohyb roje včel při hledání potravy. Protože při své činnosti pracuje s populací a protože je poměrně jednoduchá, stala se po úpravách oblíbenou i pro více-kriteriální optimalizace. Než bude popsán princip algoritmu, je potřeba uvést pár běžně používaných termínů ve spojitosti s PSO [4]. Roj (swarm) - populace jedinců. Částice (particle) - člen (jedinec) roje. Každá částice představuje potenciální řešení daného problému. Pozice částice je definována řešením které momentálně představuje. Osobní minimum (personal best) - nejlepší pozice, ve které byla částice během dosavadních generacích. Tedy pozice, která se prokázala být nejvhodnější. Lokální minimum (local best) - nejlepší pozice, ve které byla některá přilehlá částice. Globální minimum (global best) - nejlepší dosažená pozice mezi všemi částicemi. Lídr (leader) - částice, která je použita k určení směru hledání jiných částic. Jde o částici, která se nachází v lokálním nebo globálním minimu. Rychlost (velocity) - tento vector v určuje směr pohybu částice. Tedy určuje, kterým směrem se částice v další generaci posunou s cílem zlepšení své pozice. Setrvačná váha (inertia weight) - označuje se W a určuje míru účinku vektoru rychlosti z předchozí generace. Tedy čím větší setrvačná váha, tím menší bude změna vektoru rychlosti z předchozí generace. Hodnota může být v rozmezí od nuly do nekonečna. Většinou však bývá volena z intervalu nula až jedna. Činitel učení (learning factor) - Určuje jak moc je částice ovlivňována osobním a lokálním minimem. Existují dva typu tohoto činitele: kognitivní (cognitive) a společenský (social). Kognitivní činitel učení (cognitive learning factor) bývá označován C 1 a označuje míru ovlivnění osobním minimem. Společenský činitel učení (social learning factor) bývá označován C 2 a naznačuje míru ovlivnění lokálním, příp. globálním minimem. Obě hodnoty mohou nabývat hodnot od 34
36 nuly do nekonečna. Většinou však bývají nastaveny na C 1 = C 2 = Jedno-kriteriální PSO V optimalizaci využívající roje částic se pozice jedinců mění na základě společenskopsychologické tendence napodobit v úspěchu ostatní jedince. Pozice každého jedince je aktualizována na základě vlastní zkušenosti, ale i zkušeností jedinců poblíž. Pokud x i (g) označíme aktuální polohu částice P i v generaci g, pak se pozice jedince během jedné iterace změní přičtením vektoru rychlosti v i (g) podle rovnice 7.1. x i (g) = x i (g 1) + v i (g). (7.1) Vektor rychlosti v i (g) určíme ze vztahu 7.2. v i (g) = W v i (g 1) + C 1 r 1 [ x pbesti x i (g)] + C 2 r 2 [ x leader x i (g)], (7.2) kde r 1 a r 2 jsou náhodné hodnoty z intervalu 0; 1, x pbest je pozice osobního minima (personal best) a x leader je pozice lídra (leader). V jedno-kriteriálním PSO algoritmu se často jako leader volí globálně nejlepší řešení (global best). V rovnici 7.2 je tedy x leader nahrazeno x gbest, tj. pozicí globálního minima (global best), čímž je dosaženo lepší konvergence celého algoritmu. Ze vztahu 7.2 tedy vidíme, že setrvačná váha (inertia weight) ovlivňuje, jaká část starého vektoru rychlosti se zkopíruje do nového vektoru rychlosti. Kognitivní činitel učení (congitive learning factor) C 1 spolu s náhodnou hodnotou r 1 určují jaký vliv na nový vektor rychlosti má osobní minimum daného jedince a společenský činitel učení (social learning factor) C 2 spolu s náhodou hodnotou r 2 udávají vliv globálního minima na výsledný vektor rychlosti Okrajová podmínka Může se však stát, že nově vygenerované pozice budou mimo rozsah daných stavových proměnných. V takovém případě je třeba aplikovat okrajovou podmínku podle [12], aby nedocházelo ke generaci dalších nevhodných řešení. To znamená provést dvě akce: Nastavení částice, která neleží v rozsahu stavových proměnných na spodní limit stavové proměnné, pokud se částice nachází pod spodním limitem nebo naopak nastavení na horní limit stavové proměnné v případě, že se částice nachází nad horním limitem. Upravení vektoru rychlosti dané částice [13]. Naznačeno v Obr Absorbující - vektor rychlosti je vynulován. 35
37 Reflektující - vektor rychlosti je převrácen. Náhodná - vektoru rychlosti je dán náhodný směr a náhodná velikosti. Neviditelná - vektor rychlosti je ponechán na své hodnotě. Předpokládá se, že se vektor rychlosti během několika generací sám změní na vhodnou hodnotu. y y P t-1 v = v x+ v y t x y P t-1 v = v x+ v y t x y P t P t P t P t v ' = v x+ v y t x y v ' = 0 x+ vy t x y x x (a) Absorbující (b) Reflektující y y P t-1 v = v x+ v y t x y P t-1 v = v x+ v y t x y P t P t v ' = rand() vx+ vy t x y v ' = v t t P t x x (c) Náhodná (d) Neviditelná Obr. 7.1: Čtyři různé typy hraničních podmínek. x a v označují pozici a rychlost částice před zásahem hraniční podmínky a x a v označují pozici a rychlost částice po zásahu hraniční podmínky [13]. 7.2 Více-kriteriální PSO Při více-kriteriální variantě PSO nastavají oproti jedno-kriteriální variantě tři hlavní komplikace: Musejí být vybrána některá nedominovaná řešení jako lídři, avšak všechna nedominovaná řešení jsou stejně dobrá. Musejí se ukládat nedominovaná řešení, která budou v dalších generacích porovnány s nově vzniklými řešeními. Rovněž musí být zajištěno, aby tato řešení byla co nejrovnoměrněji rozmístěna po celém Paretově čele. 36
38 Částice roje se nesmějí uchylovat k jedinému bodu v prostoru, čímž by mohlo dojít k nalezení sub-optimálního řešení. Doposud nalezená nedominované řešení se ukládají do externího archivu (external archive). Tato řešení se pak také využívají jako lídři, když je aktualizovaná pozice částice. Po proběhnutí všech generací je obsah externího archivu prohlášen jako výsledek simulace MOPSO algoritmus Na Obr. 7.2 je naznačen pseudokód MOPSO. Začátek Inicializace roje Inicializace externího archivu g = 0 dokud (g < G) pro každou částici Vyber lídra Aktualizace pozice (let) Aplikace hraniční podmínky Výpočet hodnot kriteriálních funkcí Výpočet nových osobních minim konec cyklu pro každou částici Aktualizace obsahu externího archivu g = g + 1 Po skončení všech iterací Výsledek simulace je obsah externího archivu Konec Obr. 7.2: Pseudokód hlavního MOPSO algoritmu [4]. Na počátku je náhodně vytvořen roj částic. Poté je vybrána množina lídrů (nedominovaných řešení) a ti jsou uloženi do externího archivu. Čítač generací je poté nastaven na jedna (g = 1). Nyní je vybrán pro každou částici lídr, k jehož pozici se bude částice postupně uchylovat. Protože při první generaci není definován žádný vektor rychlosti, je tento vektor naplněn náhodnými hodnotami podle rovnice 7.3 v s = rand(1) 1 2 range s, (7.3) kde s značí danou stavovou proměnnou, rand(1) je náhodná hodnota v rozmezí [0, 1] a range s je rozsah stavové proměnné. 37
39 Poté, co je znám lídr každé částice, může být uskutečněn výpočet nových vektorů rychlosti podle rovnice 7.2 a z nich následovně výpočet nových pozic částic podle rovnice 7.1. Tato změna pozice se nazývá let (flight). Na takto vygenerované nové pozice je nutné aplikovat okrajovou podmínku. Pro takto ošetřené pozice jsou pak vypočteny kriteriální funkce a na základě nich se spočítá nové osobní minimum (personal best). Dále je třeba aktualizovat členy externího archivu. Někteří členové mohou být dominováni novými řešeními (takoví členové externího archivu jsou nahrazeni) a některá řešení jsou s řešeními v externím algoritmu nedominovaná (non-dominated), a tak by i tato řešení měla být do externího archivu přidána. Nyní je možné inkrementovat čítač generací (g = g+1) a celý postup se opakuje po předem definovaný počet generací G. Po uplynutí všech generací G je jako výsledek optimalizace prohlášen obsah externího archivu Výběr lídra Pro výběr lídra x leader každé částice bylo představeno již mnoho metod. Jedna z metod vypočítává euklidovskou vzdálenost hodnot kriteriálních funkcí každého jedince od všech řešení přítomných v externím archivu. Poté je pro každého jedince vybrán člen externího archivu, které je mu nejblíže. Za předpokladu, že jsou v externím archivu nedominovaná řešení dobře rozprostřena po celém Paretově čele, pak další hledání probíhá rovněž v celém prostoru kriteriálních funkcí. Tento předpoklad, především pro složitější testovací problémy (ZDT4, ZDT6 10), však nemůže být splněn a dojde tak k zachycení algoritmu do jednoho okraje Paretova čela, odkud není návratu. Z tohoto důvodu byl výběr lídra pro každé řešení změněn na náhodný. Každé řešení tedy jako lídra používá náhodné řešení z externího archivu. To zajistí mnohem lepší diverzitu a prostor i složitějších testovacích problémů je lépe prohledán Výběr řešení v externím archivu Jak už bylo řečeno, řešení se může stát členem externího archivu pouze pokud je nedominované s členy archivu a nebo pokud dominuje některé členy externího archivu. V takovém případě jsou všechna dominovaná řešení z archivu odstraněna. Protože takových nedominovaných řešení během všech generací algoritmu může být nalezeno velké množství, musí být maximální velikost externího algoritmu omezena. Neomezená velikost by způsobila nadměrný početní výkon při hledání množiny nedominovaných řešení. Maximální počet částic v externím archivu bývá obvykle roven počtu částic v roji N. Protože v externím archivu nemohou být všechna nedominovaná řešení, je třeba 38
40 na základě určitého kritéria vybrat vhodné kandidáty. Přestože existují různé metody, mnou implementovaná metoda je založena na již známé shlukové selekci (crowding selection) z kapitoly Ošetření omezujících podmínek Řešení, která nesplňují omezující podmínky (constraints) jsou během algoritmu potlačována tím, že nemohou být členy externího archivu. Pokud by však na začátku algoritmu bylo náhodně vygenerováno příliš nevhodných řešení (nesplňujících omezující podmínky), prostor kriteriálních funkcí by byl prohledáván příliš málo agenty, což by vedlo k slabým výsledkům. Proto po vygenerování náhodných pozic agentů v počáteční generaci jsou řešení prověřena, zda-li splňují omezující podmínky. Pro všechna nevyhovující řešení jsou vygenerovány nové pozice. Počáteční populace je tedy vždy složena jen z vhodných řešení (splňujících omezující podmínky). 39
41 8 GENERALIZED DIFFERENTIAL EVOLUTION THIRD VERSION (GDE3) GDE3 je rozšířením (Differential Evolution DE) pro více-kriteriální optimalizační problémy s omezujícími podmínkami. Třetí verze Generalized Differential Evolution je v porovnání s předchozími GDE verzemi lepší především z hlediska lepšího rozložení nedominovaných řešení na nalezeném Paretově čele. Jelikož GDE3 je pouhým rozšířením algoritmu DE, bude nejdříve vysvětlen princip algoritmu DE a poté budou komentovány modifikace tvořící GDE Diferenciální evoluce Tento algoritmus byl představen v roce Základem Diferenciální Evoluce byla jednoduchost, efektivita a práce s reálnými čísly. Jako typický Evoluční Algoritmus (EA) i Differential Evolution obsahuje operátor selekce, křížení a mutace. V každé generaci DE je vytvořen ze stavového vektoru x i,g zkušební vektor (trial vector) u i,g. Symbolem i je označen i-tý jedinec v populaci a g je index generace. Zkušební vektor je vytvořen podle rovnice 8.1 [15]. r 1, r 2, r 3 1, 2,...N r 1, r 2, r 3 i s rand 1, 2,...S for (s = 1 : S) if(rand(1) < P C s = s rand ) (8.1) u s,i,g = x s,r3,g + F (x s,r1,g x s,r2,g) else u s,i,g = x s,i,g end end, kde N je velikost populace, S je počet stavových proměnných, rand(1) značí náhodnou hodnotu mezi 0 a 1, P C je pravděpodobnost křížení a F je váhovací faktor (scaling factor). Zkušební vektor je tedy určitá kombinace stavových vektorů. Stejně jako v obvykém Evolučním Algoritmu nedochází ke křížení vždy. Hodnoty P C a F jsou uživatelem definované hodnoty. Hodnota P C označuje pravděpodobnost křížení a je tedy volena v rozmezí 0 a 1. Hodnota F se pohybuje obvykle také v rozmezí 0 a 1, avšak 40
42 může být i vyšší. Pokud je hodnota F zvolena nízká, algoritmus rychleji konverguje k lokálnímu optimu. Protože v počátečních iteracích algoritmu jsou řešení více vzdálena v prohledávaném prostoru od sebe, rozsah mutace je značný. Se snížující se vzdáleností klesá i rozsah mutace a konvergence k optimu je pomalejší. Může se však stát, stejně jako u algoritmu MOPSO, že nově vygenerované pozice budou mimo rozsah daných stavových proměnných. Částice, která neleží v rozsahu stavových proměnných je nastavena na spodní limit stavové proměnné, pokud se částice nachází pod spodním limitem nebo naopak nastavení na horní limit stavové proměnné v případě, že se částice nachází nad horním limitem. Poté je zkušební vektor u i,g porovnán se stavovým vektorem x i,g. Pokud je zkušební vektor lepší než stavový vektor (dominuje jej), je vybrán zkušební vektor jako stavový vektor pro další generaci x i,g+1 a naopak pokud je zkušební vektor u i,g dominován stavovým vektorem x i,g, zůstává stavový vektor pro další generaci x i,g+1 stejný. Protože hodnoty kriteriálních funkcí v následující generaci v průměru nemohou být horší než v předchozí generaci, je Differential Evolution považovaná za elitistický algoritmus (viz 6.6) 8.2 Third Version of Generalized Differential Evolution Jak již bylo řečeno, algoritmus GDE3 je pouhým rozšířením algoritmu DE. Mechanismus popsaný výše 8.1 je základním kamenem algoritmu k němuž jsou pouze přidány operace nutné pro více-kriteriální problémy. Tedy chování v případě kdy zkušební vektor u i,g je nedominovaný se stavovým vektorem u i,g a poté mechanismus zajišťující diverzitu. Celý algoritmus GDE3 je popsán v rovnici 8.2 [15]. Písmeno m označuje počet řešení, o které je populace rozšířena díky přítomností nedominovaných zkušebních a stavových vektorů. G označuje celkový počet generací, g představuje aktuální generaci a CD označuje shlukovou vzdálenost (crowding distance) podle
43 for (g = 1 : G) i N Mutace a křížení: r 1, r 2, r 3 1, 2,...N r 1, r 2, r 3 i s rand 1, 2,...S s S : u s,i,g = selekce: x i,g+1 = x s,r3,g + F (x s,r1,g x s,r2,g) x s,i,g if (rand(1) < P C s = s rand ) else u i,g if ( u i,g dominuje x i,g ) x i,g else (8.2) end. while m > 0 g = g + 1 rozšíření populace o nedominovaná řešení: m = m + 1 x N+m,g+1 = u i,g if x i,g a u i,g jsou nedominované výběr právě N nedominovaných řešení: Výpočet shlukových vzdáleností CD Odtranění řešení s nejnižší CD m = m Ošetření omezujících podmínek Řešení, která nesplňují omezující podmínky (constraints) jsou během algoritmu potlačována tím, že nemohou být vybrána jako členové nového stavového vektoru x i,g+1. Pokud by však na začátku algoritmu bylo náhodně vygenerováno příliš nevhodných řešení (nesplňujících omezující podmínky), prostor kriteriálních funkcí by byl prohledáván příliš málo agenty a to by vedlo k slabým výsledkům. Rovněž by mohlo dojít k situaci, kdy stavový vektor x i,g i zkušební vektor u i,g nesplňují omezující podmínky. Proto po vygenerování náhodných pozic agentů v počáteční iteraci jsou řešení prověřena, zda-li splňují omezující podmínky. Pro všechna nevyhovující řešení jsou vygenerovány nové pozice. Počáteční populace je tedy vždy složena jen z vhodných řešení (splňujících omezující podmínky). 42
44 9 TESTOVACÍ METRIKY Při více-kriteriální optimalizaci je třeba nalézt nejen řešení blízká Pareto-optimálnímu čelu, ale také nalézt řešení rozložená co možná nejlépe po celém Paretově čele. Tyto dva požadavky nemohou být jednoznačně ohodnoceny pouze jednou metrikou. Proto se v případě více-kriteriálních optimalizací používá řada testovacích metrik, z nichž některé vyjadřují blízkost nalezených řešení a Pareto-optimálního čela, některé vyjadřují rozložení výsledné populace a jiné vyjádřují blízkosti i rozložení zároveň. Bližší popis těchto metrik lze nalézt v [3]. Množina N nalezených řešení bude označována písmenem Q. Množina Paretooptimálních řešení je označena písmenem P *. 9.1 Chybovost ER (Error Ratio) Pro výpočet této metriky je nutné znát přesnou polohu Pareto-optimálního čela. Tato metrika jednoduše počítá počet řešení množiny Q která nejsou zároveň i členy množiny P *. Matematicky vyjádřeno jako: ER = Q i=1 e i Q, (9.1) kde e i = 1 když i / P * a e i = 0 pokud i P *. Metrika ER tedy nabývá hodnot mezi nula a jedna. ER = 0 znamená, že všechna nalezená řešení jsou zároveň i členové množiny P *. Problém může nastat v případě, že Pareto-optimální čelo není dostatečně jemně vzorkováno. V takovém případě může dojít k situaci, kdy řešení z množiny Q, přestože leží na Pareto-optimálním čele, není zároveň členem množiny P *. Další nevýhodou této metriky je, že pokud ani jedno řešení z množiny Q není členem množiny P *, nemá uživatel žádnou informaci o relativní blízkosti k Pareto-optimálnímu čelu. Možností, jak první uvedené nepříjemnosti předejít, je nastavit určitou vzdálenostní toleranci mezi řešeními z množiny Q a P *. Tato metrika kvůli svým nedostatkům tedy nebývá často užívána. 9.2 Generační vzdálenost GD (Generational Distance) Pro výpočet této metriky je nutné znát přesnou polohu Pareto-optimálního čela. Tato metrika vypočítává průměrnou vzdálenost řešení z množiny Q od řešení z mno- 43
45 žiny P * podle vztahu: GD = ( Q i=1 d i ) Q, (9.2) kde parametr d i je vzdálenost mezi řešením i Q a nejbližším členem množiny P *. V mém případě je počítána euklidovská vzdálenost podle: d i = min P * M k=1 m=1 ( f (i) m f m *(k) ) 2, (9.3) kde f m (i) označuje m-tou kriteriální funkci i-tého řešení z množiny Q a f m *(k) m-tou kriteriální funkci k-tého řešení z množiny P *. označuje Aby výpočet vzdáleností byl spolehlivý, je nutný velký počet řešení v množině P *. Pokud jsou rozsahy hodnot jednotlivých kriteriálních funkcí rozlišné, měly by být hodnoty kriteriálních funkcí normalizovány před výpočtem vzdáleností. 9.3 Spacing Sp Tato metrika počítá relativní vzdálenost mezi jednotlivými řešeními ve výsledné nedominované množině Q. V tomto případě tedy není potřebné znát přesnou polohu Pareto-optimálního čela. Matematicky lze vyjádřit jako: Sp = 1 Q Q ( di d ) 2, (9.4) kde d i je vzdálenost i-tého řešení od nejbližšího řešení z množiny Q podle vztahu: kde k Q k i=1 M d i = min fm i fm, k (9.5) m=1 i. Nejde tedy o euklidovskou vzdálenost mezi dvěma řešeními. Proměnná d označuje průměrnou hodnotu vzdáleností vypočtených podle vztahu 9.5, tedy d = Q i=1 d i / Q. Spacing tedy vyjadřuje standardní odchylku hodnot d i. Pokud jsou všechna řešení uniformně rozmístěna na nalezeném Paretově čele, pak hodnota Sp je nulová. Algoritmus, který nalezne nedominovanou množinu s menší hodnotou Sp je tedy lepší. Tato metrika má však jeden nedostatek. Pokud jsou nalezená řešení uniformně rozložena, avšak pouze na určité (malé) části Pareto-optimálního čela, pak hodnota Sp je malá a nedominovaná množina, přestože není ideální, je považována za ideální. Tento nedostatek potlačuje následující metrika. 44
46 9.4 Spread Δ Metrika Spread vyjadřuje kvalitu rozprostření nalezených řešení. Rovněž do výsledku zasahuje vzdálenost extrému nalezené nedominované množiny (Q) a extrému Pareto-optimálního čela (P * ). To však vyžaduje znalost alespon extrémů testovaného problému. Metrika je popsána vztahem: Δ = M m=1 M m=1 d e m + Q d i d i=1, (9.6) d e m + Q d kde d i je vzdálenost mezi sousednimi řešeními a d je průměrná hodnota těchto vzdáleností. Euklidovská vzdálenost 9.3, součet absolutních vzdáleností 9.5 nebo jiný parametr vyjadřující vzdálenost může být použit pro výpočet hodnoty d i. Parametr d e m je vzdálenost mezi extrémními řešeními množiny P * a Q odpovídající m-té kriteriální funkci. Hodnota Δ tedy odpovídá nule pouze v případě, kdy extrémy množiny P * a Q jsou totožná řešení (d e m = 0) a všechny hodnoty d i jsou stejné jako jejich průměrná hodnota d. 9.5 Maximum Spread D Tato metrika počítá délku uhlopříčky hyperboxu, který je ohraničen extrémy hodnot kriteriálních funkcí v nalezeném Paretově čele podle rovnice: D = M m=1 ( max Q i=1f i m min Q i=1f i m) 2, (9.7) kde f i m označuje hodnoty m-té kriteriální funkce i-tého řešení nedominované množiny. Pro dvou-kriteriální problémy odpovídá vzdálenost D euklidovské vzdálenosti mezi dvěma extrémními body hodnot kriteriálních funkcí. Aby tato metrika nabývala pouze hodnot od nula do jedna, je třeba ji normalizovat podle: D = 1 M M max Q i=1fm i min Q i=1fm i 2, (9.8) m=1 Fm max Fm min kde Fm max a Fm min jsou maximální a minimální hodnota m-té kriteriální funkce Paretooptimálního čela P *. Pokud tedy výsledná hodnota D 1, pak získané Paretovo čelo má velký rozsah v hodnotách kriteriálních funkcí. 45
47 Pro normalizovanou verzi Maximum Spread metriky je ale třeba znát alespoň extrémy Pareto-optimálního čela daného problému. Protože D ani D nevyjadřuje kvalitu distribuce mezilehlých řešení, nemá metrika sama o sobě příliš velký význam. 9.6 Hypervolume HV Hypervolume je prostor, který je dominován členy nedominované množiny Q. Matematicky, pro každé řešení i z množiny Q, hyperkrychle (obdélník - 2D prostor, krychle - 3D prostor atd.) h i je sestavena z referenčního bodu W R a řešení i jako diagonální rohy hyperkrychle. Pro dvou-kriteriální problém je hypervolume naznačen numericky na Obr f f Obr. 9.1: Výpočet hypervolume v dvou-kriteriálním prostoru. Hypervolume je tedy sjednocením všech hyperkrychlí. Referenční bod W R může být zvolen buď uživatelem nebo jeho souřadnice tvoří nejvyšší hodnoty jednotlivých kriteriálních funkcí. Čím vyšší je hodnota HV tím lepší je považována nedominovaná nnožina. Tato metrika tedy vyjadřuje nejen blízkost nedominované množiny Q k Pareto-optimální množině P *, ale také rovnoměrnost jejího pokrytí. 46
48 10 TESTOVACÍ PROBLÉMY V této kapitole budou představeny testovací problémy, na kterých budou algoritmy otestovány. Pro každý testovací problém budou představeny kriteriální funce, limity stavových proměnných a obrázek zobrazující Pareto-optimální čelo. To je na obrázcích vyznačeno červenými body. Modré body naznačují řešení dosažená během simulace Schafferova studie Tento příklad byl převzat z [10]. Jde o dvou-kriteriální problém s jedinou stavovou proměnnou. Podle velikosti rozsahu stavové proměnné se mění obtížnost testovacího příkladu. Pokud je stavová proměnná x 100; 100, prohledávaný prostor je poměrně malý. Pokud však zvětšíme interval stavové proměnné na x ; , prohledávaný prostor je veliký a je potřeba mnohem více iterací k tomu, aby algoritmus mohl nalézt Pareto-optimální čelo. Kriteriální funkce tohoto problému jsou: f 1 (x) = x 2, f 2 (x) = (x 2) 2, (10.1a) (10.1b) kde: A x A, A 1e2; 1e5. (10.1c) Na obrázku 10.1a je zobrazen celý prohledaný prostor pro x 100; 100. Na obrázku 10.1b je celý prohledaný prostor pro x ; Lze vidět, že prostor kriteriálních funkcí má velikost přibližně druhé mocniny stavové proměnné. Na obrázku 10.1c je přiblíženo Paretovo čelo. (a) (b) (c) Obr. 10.1: Schafferova studie Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [4, 4]. 47
49 10.2 Fonsecova a Flemingova studie Tento příklad byl převzat z [10]. Jde o dvou-kriteriální problém s třemi stavovými proměnnými. Protože jde o nekonvexní funkci, je pro mnoho algoritmů obtížné najít správný výsledek. Kriteriální funkce tohoto problému jsou: 3 f 1 (x) = 1 exp( (x i 1 ) 2 ), i=1 3 3 f 2 (x) = 1 exp( (x i + 1 ) 2 ), i=1 3 (10.2a) (10.2b) kde: x 1 4; 4, x 2 4; 4, x 3 4; 4. (10.2c) (10.2d) (10.2e) Na obrázku 10.2 je zobrazeno Paretovo čelo Fonsecovy a Flemingovy studie. Obr. 10.2: Fonsecova a Flemingova studie Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [1, 1]. 48
50 10.3 Kursaweho studie Tento příklad byl převzat z [10]. Jde o dvou-kriteriální problém se třemi stavovými proměnnými. Nespojitost Paretova čela může představovat pro mnoho algoritmů obtíže. kde Kriteriální funkce tohoto problému jsou: f 1 (x) = 2 i=1 f 2 (x) = [ ] 10 exp( 0.2 x 2 i + x 2 i+1), (10.3a) 3 [ xi sin(x 3 i ) ], i=1 (10.3b) x 1 5; 5, x 2 5; 5, x 3 5; 5. (10.3c) (10.3d) (10.3e) Na obrázku 10.3a je zobrazen celý prohledaný prostor. Na obrázku 10.3b je přiblíženo Paretovo čelo. (a) (b) Obr. 10.3: Kursaweho studie Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [ 14, 0]. 49
51 10.4 Poloniho studie Tento příklad byl převzat z [10]. Jde o dvou-kriteriální problém se dvěma stavovými proměnnými. Nespojitost Paretova čela může představovat pro mnoho algoritmů obtíže. Kriteriální funkce tohoto problému jsou: f 1 (x) = [1 + (A 1 B 1 ) 2 + (A 2 B 2 ) 2 ], f 2 (x) = [(x 1 + 3) 2 + (x 2 + 1) 2 ], A 1 = 0.5 sin(1) 2 cos(1) + sin(2) 1.5 cos(2), A 2 = 1.5 sin(1) cos(1) + 2 sin(2) 0.5 cos(2), B 1 = 0.5 sin(x 1 ) 2 cos(x 1 ) + sin(x 2 ) 1.5 cos(x 2 ), B 2 = 1.5 sin(x 1 ) cos(x 1 ) + 2 sin(x 2 ) 0.5 cos(x 2 ), (10.4a) (10.4b) (10.4c) (10.4d) (10.4e) (10.4f) kde: x 1 π; π, x 2 π; π. (10.4g) (10.4h) Na obrázku 10.4a je zobrazen celý prohledaný prostor. Na obrázku 10.4b je přiblíženo Paretovo čelo. (a) (b) Obr. 10.4: Poloniho studie Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [17, 27]. 50
52 10.5 ZDT1 Tento příklad byl převzat z [10]. ZDT je zkratka Zitzler, Deb a Thiele. Jde o dvoukriteriální problém s třiceti stavovými proměnnými. Přestože je prostor stavových proměnných obrovský, Pareto-optimální čelo je ještě relativně snadno nalezitelné. Kriteriální funkce tohoto příkladu jsou: f 1 (x) = x 1, f 2 (x) = g(x) [1 x 1 /g(x)], g(x) = ( 30 i=2 x i )/(30 1)), (10.5a) (10.5b) (10.5c) kde: x i 0; 1, i {1, 2,...30}. (10.5d) Na obrázku 10.5a je zobrazen celý prohledaný prostor. Na obrázku 10.5b je přiblíženo Paretovo čelo. (a) (b) Obr. 10.5: ZDT1 Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [1, 1]. 51
53 10.6 ZDT2 Tento příklad byl převzat z [10]. ZDT je zkratka Zitzler, Deb a Thiele. Jde o dvoukriteriální problém s třiceti stavovými proměnnými. Přestože je prostor stavových proměnných obrovský, Pareto-optimální čelo je ještě relativně snadno nalezitelné. Komplikací oproti problému ZDT1 je konkávnost Paretova čela. Kriteriální funkce tohoto příkladu jsou: f 1 (x) = x 1, (10.6a) f 2 (x) = g(x) [ 1 (x 1 /g(x)) 2], (10.6b) g(x) = ( 30 i=2 x i )/(30 1), (10.6c) kde: x i 0; 1, i {1, 2,...30}. (10.6d) Na obrázku 10.6a je zobrazen celý prohledaný prostor. Na obrázku 10.6b je přiblíženo Paretovo čelo. (a) (b) Obr. 10.6: ZDT2 Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [1, 1]. 52
54 10.7 ZDT3 Tento příklad byl převzat z [10]. ZDT je zkratka Zitzler, Deb a Thiele. Jde o dvoukriteriální problém s třiceti stavovými proměnnými. Paretovo čelo je nespojité, což zvyšuje obtížnost nalezení Pareto-optimálního čela oproti problémum ZDT1 a ZDT2. kde: Kriteriální funkce tohoto příkladu jsou: f 1 (x) = x 1, (10.7a) [ f 2 (x) = g(x) 1 x 1 /g(x) x ] 1 g(x) sin(10πx 1), (10.7b) g(x) = ( 30 i=2 x i )/(30 1), (10.7c) x i 0; 1, i {1, 2,...30}. (10.7d) Na obrázku 10.7a je zobrazen celý prohledaný prostor. Na obrázku 10.7b je přiblíženo Paretovo čelo. (a) (b) Obr. 10.7: ZDT3 Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [0.9, 1]. 53
55 10.8 ZDT4 Tento příklad byl převzat z [10]. ZDT je zkratka Zitzler, Deb a Thiele. Jde o dvoukriteriální problém s deseti stavovými proměnnými. Z obrázku 10.8a je patrné, že prostor kriteriálních funkcí je mnohem větší než v ostatních ZDT problémech. Problém rovněž obsahuje 100 lokálních Pareto-optimálních čel, do kterých může být algoritmus poměrně snadno zachycen. Problém je tedy nejobtížnějším problémem z rodiny ZDT. Kriteriální funkce tohoto příkladu jsou: f 1 (x) = x 1, (10.8a) [ ] f 2 (x) = g(x) 1 x 1 /g(x), (10.8b) g(x) = (10 1) + 10 i=2 [ x 2 i 10 cos(4πx i ], (10.8c) kde: x 1 0; 1, (10.8d) x i 5; 5, i {2, 3,...10}. (10.8e) Na obrázku 10.8a je zobrazen celý prohledaný prostor. Na obrázku 10.8b je přiblíženo Paretovo čelo. (a) (b) Obr. 10.8: ZDT4 Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [1, 2]. 54
56 10.9 ZDT6 Tento příklad byl převzat z [10]. ZDT je zkratka Zitzler, Deb a Thiele. Jde o dvoukriteriální problém s deseti stavovými proměnnými. Problém je navržen, jako ostatní ZDT problémy, tak, aby optimální stavové proměnné odpovídaly: x 1 0; 1 a ostatní stavové proměnné jsou nulové. Pokud však x 1 bude unifomně rozložena na intervalu 0; 1, pak řešení na Paretově čele nebudou rozložena uniformně, což také ztěžuje hledání Pareto-optimálního čela. Kriteriální funkce tohoto příkladu jsou: f 1 (x) = 1 exp( 4x 1 ) sin 6 (6πx 1 ), (10.9a) f 2 (x) = g(x) [ 1 (f 1 (x)/g(x)) 2], (10.9b) [ g(x) = ( 10 i=2 x i )/(10 1)] 0.25, (10.9c) kde: x i 0; 1, i {1, 2,...10}. (10.9d) Na obrázku 10.9a je zobrazen celý prohledaný prostor. Na obrázku 10.9b je přiblíženo Paretovo čelo. (a) (b) Obr. 10.9: ZDT6 Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [1, 0.95]. 55
57 10.10 DTLZ1 Tento příklad byl převzat z [15]. DTLZ je zkratka Deb, Thiele, Laumanns a Zitzler. Jde o tří-kriteriální problém s dvanácti stavovými proměnnými. Problém, podobně jako ZDT4 10.8, obsahuje mnoho lokálních Pareto-optimálních čel, do kterých může být algoritmus zachycen. Tento problém je tedy nejobtížnějším problémem v této práci. Kriteriální funkce tohoto příkladu jsou: ( g(x) = f 1 (x) = 0.5 x 1 x 2 (1 + g(x)), f 2 (x) = 0.5 x 1 (1 x 2 ) (1 + g(x)), f 3 (x) = 0.5 (1 x 1 ) (1 + g(x)), 12 i=3 [ (xi 0.5) 2 cos (20π (x i 0.5)) ] ), (10.10a) (10.10b) (10.10c) (10.10d) kde: x i 0; 1, i {1, 2,...12}. (10.10e) Na obrázku 10.10a je zobrazeno Paretovo čelo pro první a druhou kriteriální funkci. Na obrázku 10.10b je Paretovo čelo zobrazeno pro všechny tři kriteriální funkce. (a) (b) Obr : DTLZ1 Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [1, 1, 1]. 56
58 10.11 DTLZ2 Tento příklad byl převzat z [15]. DTLZ je zkratka Deb, Thiele, Laumanns a Zitzler. Jde o tří-kriteriální problém s dvanácti stavovými proměnnými. Přiblížit se k pravému Paretovu čelu není v tomto případě příliš obtížné, dosáhnout však dobrého rozložení po celém Paretově čele obtížné je. Kriteriální funkce tohoto příkladu jsou: f 1 (x) = (1 + g(x)) cos (0.5 x 1 π) cos (0.5 x 2 π), f 2 (x) = (1 + g(x)) cos (0.5 x 1 π) sin (0.5 x 2 π), f 3 (x) = (1 + g(x)) sin (0.5 x 1 π), g(x) = 12 i=3 (x i 0.5) 2, (10.11a) (10.11b) (10.11c) (10.11d) kde: x i 0; 1, i {1, 2,...12}. (10.11e) Na obrázku 10.11a je zobrazeno Paretovo čelo pro první a druhou kriteriální funkci. Na obrázku 10.11b je Paretovo čelo zobrazeno pro všechny tři kriteriální funkce. (a) (b) Obr : DTLZ2 Pro výpočet metriky hypervolume 9.6 byl zvolen referenční bod W R = [2, 2, 2]. 57
ZÁKLADNÍ METODY REFLEKTOMETRIE
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
Operační výzkum. Vícekriteriální hodnocení variant. Grafická metoda. Metoda váženého součtu.
Operační výzkum Vícekriteriální hodnocení variant. Grafická metoda. Metoda váženého součtu. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu
Numerické metody a programování. Lekce 8
Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:
Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi
Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function
Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy
Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy Radek Srb 1) Jaroslav Mlýnek 2) 1) Fakulta mechatroniky, informatiky a mezioborových studií 2) Fakulta přírodovědně-humanitní
VÍCEKRITERIÁLNÍ ROZHODOVANÍ
VÍCEKRITERIÁLNÍ ROZHODOVANÍ 1 Obsah Typy modelů vícekriteriálního rozhodování Základní pojmy Typy informací Cíl modelů Užitek, funkce užitku Grafické zobrazení Metody vícekriteriální analýzy variant 2
Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie
Evoluční strategie Navrženy v 60. letech jako experimentální optimalizační metoda Založena na reálných číslech Velice rychlá s dobrou podporou teorie Jako první zavedla self-adaptation (úpravu sebe sama)
Státnice odborné č. 20
Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin
Vícekriteriální optimalizace
Vícekriteriální optimalizace Optimalizace více funkcí najednou Je zapot ebí další matematický aparát Obecn : minimize y f( x) ( ( x) ( x) ( x)) f1 f 2 f k subjected to g ( x) 0 j 1 ne j g ( x) 0 j ne 1
OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS
OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb Anotace: Optimalizace objektů pozemních staveb
SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR
EVOLUČNÍ NÁVRH A OPTIMALIZACE APLIKAČNĚ SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR Miloš Minařík DVI4, 2. ročník, prezenční studium Školitel: Lukáš Sekanina Fakulta informačních technologií, Vysoké učení
PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods
CW057 Logistika (R) PŘEDNÁŠKA 03 Optimization methods Ing. Václav Venkrbec skupina obecných modelů slouží k nalezení nejlepšího řešení problémů a modelovaných reálií přináší řešení: prvky konečné / nekonečné
OPTIMALIZACE. (přehled metod)
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
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
Algoritmizace prostorových úloh
Algoritmizace prostorových úloh Vektorová data Daniela Szturcová Prostorová data Geoobjekt entita definovaná v prostoru. Znalost jeho identifikace, lokalizace umístění v prostoru, vlastností vlastních
Jak se matematika poučila v biologii
Jak se matematika poučila v biologii René Kalus IT4Innovations, VŠB TUO Role matematiky v (nejen) přírodních vědách Matematika inspirující a sloužící jazyk pro komunikaci s přírodou V 4 3 r 3 Matematika
Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma
Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky
5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/
Genetické algoritmy Jiří Vomlel Laboratoř inteligentních systémů Vysoká škola ekonomická Praha Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/ Motivace z Darwinovy teorie evoluce Přírodní
Úloha - rozpoznávání číslic
Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání
i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice
I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných
Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění
Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double
Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví
Genetické algoritmy Informační a komunikační technologie ve zdravotnictví Přehled přednášky Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad problém
7. Rozdělení pravděpodobnosti ve statistice
7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,
Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 6
Příklad 1 Vyšetřete průběh funkce: a) = b) = c) = d) =ln1+ e) =ln f) = Poznámka K vyšetřování průběhu funkce použijeme postup uvedený v zadání. Některé kroky nejsou již tak detailní, všechny by ale měly
Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.
Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost. Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a
DIPLOMOVÁ PRÁCE OPTIMALIZACE MECHANICKÝCH
DIPLOMOVÁ PRÁCE OPTIMALIZACE MECHANICKÝCH VLASTNOSTÍ MECHANISMU TETRASPHERE Vypracoval: Jaroslav Štorkán Vedoucí práce: prof. Ing. Michael Valášek, DrSc. CÍLE PRÁCE Sestavit programy pro kinematické, dynamické
Lineární klasifikátory
Lineární klasifikátory Lineární klasifikátory obsah: perceptronový algoritmus základní verze varianta perceptronového algoritmu přihrádkový algoritmus podpůrné vektorové stroje Lineární klasifikátor navrhnout
Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1
Evolučníalgoritmy Kategorie vytvořená v 90. letech, aby se sjednotily jednotlivémetody, kterévyužívaly evoluční principy, tzn. Genetickéalgoritmy, Evolučnístrategie a Evoluční programování (v těchto přednáškách
Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze
Aproximace funkcí Numerické metody 6. května 2018 FJFI ČVUT v Praze 1 Úvod Dělení Interpolace 1D Více dimenzí Minimalizace Důvody 1 Dělení Dělení - Získané data zadané data 2 Dělení - Získané data Obecně
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/
Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/07.0354 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Populační genetika (KBB/PG)
A0M33EOA: Evoluční optimalizační algoritmy
A0M33EOA: Evoluční optimalizační algoritmy Zkouškový test Pátek 8. února 2011 Vaše jméno: Známka, kterou byste si z předmětu sami dali, a její zdůvodnění: Otázka: 1 2 3 4 5 6 7 8 Celkem Body: 1 3 2 1 4
e-mail: RadkaZahradnikova@seznam.cz 1. července 2010
Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení
Hledání extrémů funkcí
Hledání extrémů funkcí Budeme se zabývat téměř výhradně hledáním minima. Přes nost nalezeného extrému Obecně není hledání extrému tak přesné jako řešení rovnic. Demonstrovat to můžeme na příkladu hledání
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
VYUŽITÍ METOD PŘÍMÉHO HLEDÁNÍ OPTIMA PŘI PREDIKTIVNÍM ŘÍZENÍ
VYUŽITÍ METOD PŘÍMÉHO HLEDÁNÍ OPTIMA PŘI PREDIKTIVNÍM ŘÍZENÍ P. Chalupa, J. Novák Univerzita Tomáše Bati ve Zlíně Fakulta aplikované informatiky Centrum aplikované kybernetiky Abstrakt Příspěvek se zabývá
Numerické metody 6. května FJFI ČVUT v Praze
Extrémy funkcí Numerické metody 6. května 2018 FJFI ČVUT v Praze 1 Úvod Úvod 1D Více dimenzí Kombinatorika Lineární programování Programy 1 Úvod Úvod - Úloha Snažíme se najít extrém funkce, at už jedné
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
Hledání kořenů rovnic jedné reálné proměnné metoda sečen Michal Čihák 23. října 2012
Hledání kořenů rovnic jedné reálné proměnné metoda sečen Michal Čihák 23. října 2012 Opakování rovnice přímky Úloha: Určete rovnici přímky procházející body A[a, f(a)] a B[b, f(b)], kde f je funkce spojitá
REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB
62 REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB BEZOUŠKA VLADISLAV Abstrakt: Text se zabývá jednoduchým řešením metody nejmenších čtverců v prostředí Matlab pro obecné víceparametrové aproximační funkce. Celý postup
4EK201 Matematické modelování. 2. Lineární programování
4EK201 Matematické modelování 2. Lineární programování 2.1 Podstata operačního výzkumu Operační výzkum (výzkum operací) Operational research, operations research, management science Soubor disciplín zaměřených
Lineární funkce, rovnice a nerovnice
Lineární funkce, rovnice a nerovnice 1. Lineární funkce 1.1 Základní pojmy Pojem lineární funkce Funkce je předpis, který každému číslu x z definičního oboru funkce přiřadí právě jedno číslo y Obecně je
Úvod do optimalizace, metody hladké optimalizace
Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady
Algoritmy a struktury neuropočítačů ASN P3
Algoritmy a struktury neuropočítačů ASN P3 SOM algoritmus s učitelem i bez učitele U-matice Vektorová kvantizace Samoorganizující se mapy ( Self-Organizing Maps ) PROČ? Základní myšlenka: analogie s činností
4EK213 LINEÁRNÍ MODELY
4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 Mgr. Sekničková Jana, Ph.D. 2. PŘEDNÁŠKA MATEMATICKÝ MODEL ÚLOHY LP Mgr. Sekničková Jana, Ph.D. 2 OSNOVA PŘEDNÁŠKY Obecná formulace MM Množina
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Příklady použití tenkých vrstev Jaromír Křepelka
Příklady použití tenkých vrstev Jaromír Křepelka Příklad 01 Spočtěte odrazivost prostého rozhraní dvou izotropních homogenních materiálů s indexy lomu n 0 = 1 a n 1 = 1,52 v závislosti na úhlu dopadu pro
Kombinatorická minimalizace
Kombinatorická minimalizace Cílem je nalézt globální minimum ve velké diskrétní množině, kde může být mnoho lokálních minim. Úloha obchodního cestujícího Cílem je najít nejkratší cestu, která spojuje všechny
Zpracování náhodného výběru. Ing. Michal Dorda, Ph.D.
Zpracování náhodného výběru popisná statistika Ing. Michal Dorda, Ph.D. Základní pojmy Úkolem statistiky je na základě vlastností výběrového souboru usuzovat o vlastnostech celé populace. Populace(základní
4EK213 LINEÁRNÍ MODELY
4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení
Emergence chování robotických agentů: neuroevoluce
Emergence chování robotických agentů: neuroevoluce Petra Vidnerová, Stanislav Slušný, Roman Neruda Ústav Informatiky, AV ČR Kognice a umělý život VIII Praha 28. 5. 2008 Evoluční robotika: EA & neuronové
BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ENERGETICKÝ ÚSTAV FACULTY OF MECHANICAL ENGINEERING ENERGY INSTITUTE
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ENERGETICKÝ ÚSTAV FACULTY OF MECHANICAL ENGINEERING ENERGY INSTITUTE SAMONASÁVACÍ ČERPADLO SELF-PRIMING PUMP DIPLOMOVÁ
Extrémy funkce dvou proměnných
Extrémy funkce dvou proměnných 1. Stanovte rozměry pravoúhlé vodní nádrže o objemu 32 m 3 tak, aby dno a stěny měly nejmenší povrch. Označme rozměry pravoúhlé nádrže x, y, z (viz obr.). ak objem této nádrže
1 Extrémy funkcí - slovní úlohy
1 Extrémy funkcí - slovní úlohy Příklad 1.1. Součet dvou kladných reálných čísel je a. Určete 1. Minimální hodnotu součtu jejich n-tých mocnin.. Maximální hodnotu součinu jejich n-tých mocnin. Řešení.
Kontingenční tabulky v MS Excel 2010
Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data
Aplikovaná numerická matematika
Aplikovaná numerická matematika 6. Metoda nejmenších čtverců doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních
Metaheuristiky s populacemi
Metaheuristiky s populacemi 8. března 2018 1 Společné vlastnosti 2 Evoluční algoritmy 3 Optimalizace mravenčí kolonie Zdroj: El-Ghazali Talbi, Metaheuristics: From Design to Implementation. Wiley, 2009.
Funkce a lineární funkce pro studijní obory
Variace 1 Funkce a lineární funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
Algoritmy pro spojitou optimalizaci
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
Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,
Příklad 1 Najděte body, v nichž má funkce (,) vázané extrémy, případně vázané lokální extrémy s podmínkou (,)=0, je-li: a) (,)= + 1, (,)=+ 1 lok.max.v 1 2,3 2 b) (,)=+, (,)= 1 +1 1 c) (,)=, (,)=+ 1 lok.max.v
Numerická matematika 1
Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................
Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012
Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012 Problém hledání kořenů rovnice f(x) = 0 jeden ze základních problémů numerické matematiky zároveň i jeden
PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII
PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII V úvodu analytické geometrie jsme vysvětlili, že její hlavní snahou je popsat geometrické útvary (body, vektory, přímky, kružnice,...) pomocí čísel nebo proměnných.
Dijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
Chyby měření 210DPSM
Chyby měření 210DPSM Jan Zatloukal Stručný přehled Zdroje a druhy chyb Systematické chyby měření Náhodné chyby měření Spojité a diskrétní náhodné veličiny Normální rozdělení a jeho vlastnosti Odhad parametrů
OHYB (Napjatost) M A M + qc a + b + c ) M A = 2M qc a + b + c )
3.3 Řešené příklady Příklad 1: Pro nosník na obrázku vyšetřete a zakreslete reakce, T (x) a M(x). Dále určete M max a proveďte dimenzování pro zadaný průřez. Dáno: a = 0.5 m, b = 0.3 m, c = 0.4 m, d =
Princip gradientních optimalizačních metod
Princip gradientních optimalizačních metod Tomáš Kroupa 20. května 2014 Tento studijní materiál je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Obsah Úkol a základní
Fakulta chemicko-technologická Katedra analytické chemie. 3.2 Metody s latentními proměnnými a klasifikační metody
Fakulta chemicko-technologická Katedra analytické chemie 3.2 Metody s latentními proměnnými a klasifikační metody Vypracoval: Ing. Tomáš Nekola Studium: licenční Datum: 21. 1. 2008 Otázka 1. Vypočtěte
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
Vypracovat přehled paralelních kinematických struktur. Vytvořit model a provést analýzu zvolené PKS
Autor BP: Vedoucí práce: Tomáš Kozák Ing. Jan Zavřel, Ph.D. Vypracovat přehled paralelních kinematických struktur Vytvořit model a provést analýzu zvolené PKS Provést simulaci zvolené PKS Provést optimalizaci
Neuronové časové řady (ANN-TS)
Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 38 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 2 3 4 5 6 2 / 38 2 / 38 čárkou Definition 1 Bud základ β N pevně dané číslo β 2, x bud reálné číslo s
Ctislav Fiala: Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb
16 Optimální hodnoty svázaných energií stropních konstrukcí (Graf. 6) zde je rozdíl materiálových konstant, tedy svázaných energií v 1 kg materiálu vložek nejmarkantnější, u polystyrénu je téměř 40krát
Swarm Intelligence. Moderní metody optimalizace 1
Swarm Intelligence http://pixdaus.com/single.php?id=168307 Moderní metody optimalizace 1 Swarm Intelligence Inteligence hejna algoritmy inspirované chováním skupin ptáků, hmyzu, ryb apod. Particle Swarm
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
APLIKACE. Poznámky Otázky
APLIKACE Následující úlohy lze zhruba rozdělit na geometrické, algebraické a úlohy popisující různé stavy v některých oblastech jiných věd, např. fyziky nebo ekonomie. GEOMETRICKÉ ÚLOHY Mezi typické úlohy
Operační výzkum. Vícekriteriální programování. Lexikografická metoda. Metoda agregace účelových funkcí. Cílové programování.
Operační výzkum Lexikografická metoda. Metoda agregace účelových funkcí. Cílové programování. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu
4. Statika základní pojmy a základy rovnováhy sil
4. Statika základní pojmy a základy rovnováhy sil Síla je veličina vektorová. Je určena působištěm, směrem, smyslem a velikostí. Působiště síly je bod, ve kterém se přenáší účinek síly na těleso. Směr
Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW)
Zada ní. Semina rní pra ce z pr edme tu Matematický software (KI/MSW) Datum zadání: 5.. 06 Podmínky vypracování: - Seminární práce se skládá z programové části (kódy v Matlabu) a textové části (protokol
3. Podmíněná pravděpodobnost a Bayesův vzorec
3. Podmíněná pravděpodobnost a Bayesův vzorec Poznámka: V některých úlohách řešíme situaci, kdy zkoumáme pravděpodobnost náhodného jevu za dalších omezujících podmínek. Nejčastěji má omezující podmínka
Stručný přehled učiva
Stručný přehled učiva TU1M2 Matematika 2 pro LP17, LP18 4. Aplikace diferenciálního počtu 4.1 Rovnice tečny a normály Má-li funkce v bodě vlastní derivaci, pak je to směrnice tečny grafu funkce v tečném
Numerické řešení rovnice f(x) = 0
Numerické řešení rovnice f(x) = 0 Přemysl Vihan 9.10.2003 Katedra fyziky, Pedagogická fakulta Univerzity J.E. Purkyně v Ústí n.l. 2. ročník, PMVT-mag. Abstrakt Seminární práce se zabývá numerickým řešením
METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1
METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ
SEMESTRÁLNÍ PROJEKT 1 (MM1E, LM1E) Pokyny pro vypracování
Magisterský studijní obor 1. ročník ELEKTRONIKA A SDĚLOVACÍ TECHNIKA Akademický rok 2011/12 FEKT VUT v Brně SEMESTRÁLNÍ PROJEKT 1 (MM1E, LM1E) Pokyny pro vypracování 1. Semestrální projekt 1 (MM1E, LM1E)
= - rovnost dvou výrazů, za x můžeme dosazovat různá čísla, tím měníme
- FUNKCE A ROVNICE Následující základní znalosti je nezbytně nutné umět od okamžiku probrání až do konce kapitoly (většinou do napsání čtvrtletní písemné práce, na výjimky z tohoto pravidla bude upozorněno).
Numerické řešení variačních úloh v Excelu
Numerické řešení variačních úloh v Excelu Miroslav Hanzelka, Lenka Stará, Dominik Tělupil Gymnázium Česká Lípa, Gymnázium Jírovcova 8, Gymnázium Brno MirdaHanzelka@seznam.cz, lenka.stara1@seznam.cz, dtelupil@gmail.com
Optimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
Evoluční výpočetní techniky (EVT)
Evoluční výpočetní techniky (EVT) - Nacházejí svoji inspiraci v přírodních vývojových procesech - Stejně jako přírodní jevy mají silnou náhodnou složku, která nezanedbatelným způsobem ovlivňuje jejich
OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:
OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního
12 Metody snižování barevného prostoru
12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů
Fyzikální korespondenční seminář MFF UK
Úloha I.S... náhodná 10 bodů; průměr 7,04; řešilo 45 studentů a) Zkuste vlastními slovy popsat, co je to náhodná veličina a jaké má vlastnosti (postačí vlastními slovy objasnit následující pojmy: náhodná
12. Lineární programování
. Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)
Automatizované řešení úloh s omezeními
Automatizované řešení úloh s omezeními Martin Kot Katedra informatiky, FEI, Vysoká škola báňská Technická universita Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Česká republika 25. října 2012 M. Kot
Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
CVIČNÝ TEST 24. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15
CVIČNÝ TEST 24 Mgr. Kateřina Nováková OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Písemnou práci z chemie psalo všech 28 žáků ze
Vzdělávací materiál. vytvořený v projektu OP VK CZ.1.07/1.5.00/ Anotace. Diferenciální počet VY_32_INOVACE_M0216.
Vzdělávací materiál vytvořený v projektu OP VK Název školy: Gymnázium, Zábřeh, náměstí Osvobození 20 Číslo projektu: Název projektu: Číslo a název klíčové aktivity: CZ.1.07/1.5.00/34.0211 Zlepšení podmínek
Úvod do zpracování signálů
1 / 25 Úvod do zpracování signálů Karel Horák Rozvrh přednášky: 1. Spojitý a diskrétní signál. 2. Spektrum signálu. 3. Vzorkovací věta. 4. Konvoluce signálů. 5. Korelace signálů. 2 / 25 Úvod do zpracování
PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ
PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ Ing. David KUDLÁČEK, Katedra stavební mechaniky, Fakulta stavební, VŠB TUO, Ludvíka Podéště 1875, 708 33 Ostrava Poruba, tel.: 59