Numerické metody optimalizace



Podobné dokumenty
Matematika I A ukázkový test 1 pro 2018/2019

NUMERICAL INTEGRATION AND DIFFERENTIATION OF SAMPLED TIME SIGNALS BY USING FFT

4.4 Exploratorní analýza struktury objektů (EDA)

Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

Directional Vehicle Stability Prototyping Using HIL Simulation Ověření systému řízením jízdy automobilu metodou HIL simulací

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

MODELOVÁNÍ A SIMULACE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VĚTRACÍ SYSTÉMY OBYTNÝCH DOMŮ BAKALÁŘSKÁ PRÁCE FAKULTA STROJNÍHO INŽENÝRSTVÍ ENERGETICKÝ ÚSTAV

Ivana Linkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE. 2 NURBS reprezentace křivek

radiační ochrana Státní úřad pro jadernou bezpečnost

MASARYKOVA UNIVERZITA PEDAGOGICKÁ FAKULTA

( x ) 2 ( ) Úlohy na hledání extrémů. Předpoklady: 10211

u (x i ) U i 1 2U i +U i+1 h 2. Na hranicích oblasti jsou uzlové hodnoty dány okrajovými podmínkami bud přímo

1. Základy měření neelektrických veličin

MĚŘENÍ INDUKČNOSTI A KAPACITY

Teorie elektrických ochran

POTENCIÁL ELEKTRICKÉHO POLE ELEKTRICKÉ NAPĚTÍ

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

LINEÁRNÍ PROGRAMOVÁNÍ

DYNAMICKÉ MODULY PRUŽNOSTI NÁVOD DO CVIČENÍ

Euklidovský prostor Stručnější verze

2. ELEKTRICKÉ OBVODY STEJNOSMĚRNÉHO PROUDU

Numerická matematika 1. t = D u. x 2 (1) tato rovnice určuje chování funkce u(t, x), která závisí na dvou proměnných. První

BAYESŮV PRINCIP ZDENĚK PŮLPÁN

ROTAČNÍ KVADRIKY. Definice, základní vlastnosti, tečné roviny a řezy, průsečíky přímky s rotační kvadrikou

Energie elektrického pole

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY BAKALÁŘSKÁ PRÁCE Radka Luštincová

Klasifikace a predikce. Roman LUKÁŠ

Posuzování dynamiky pohybu drážních vozidel ze záznamu jejich jízdy

8a.Objektové metody viditelnosti. Robertsův algoritmus

9. Úvod do teorie PDR

1. Spektrální rozklad samoadjungovaných operátorů 1.1. Motivace Vlastní čísla a vlastní vektory symetrické matice 1 1 A = 1 2.

6. T e s t o v á n í h y p o t é z

y = Spočtěte všechny jejich normy (vektor je také matice, typu n 1). Řádková norma (po řádcích sečteme absolutní hodnoty prvků matice a z nich

VLIV VELIKOSTI OBCE NA TRŽNÍ CENY RODINNÝCH DOMŮ

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

LOGICKÉ OBVODY J I Ř Í K A L O U S E K

3 VYBRANÉ MODELY NÁHODNÝCH VELIČIN. 3.1 Náhodná veličina

Přemysl Žiška, Pravoslav Martinek. Katedra teorie obvodů, ČVUT Praha, Česká republika. Abstrakt

Matematika IV, Numerické metody

KOMPLEXNÍ ČÍSLA. Algebraický tvar komplexního čísla

Bořka Leitla Bolometrie na tokamaku GOLEM

Lokace odbavovacího centra nákladní pokladny pro víkendový provoz

GRAFY A GRAFOVÉ ALGORITMY

Elektronický obvod. skládá se z obvodových součástek navzájem pospojovaných vodiči působí v něm obvodové veličiny Příklad:

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ. Matematika 3. RNDr. Břetislav Fajmon, PhD. Autoři textu:

Příprava ke státním maturitám 2011, vyšší úroveň obtížnosti materiál stažen z

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky LOGICKÉ OBVODY pro kombinované a distanční studium

ANALÝZA VYBRANÝCH UKAZATELŮ SPOLEČNOSTI DOPES S.R.O. POMOCÍ ČASOVÝCH ŘAD

Regresní a korelační analýza

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

ALGORITMUS SILOVÉ METODY

ANALÝZA VZTAHU DVOU SPOJITÝCH VELIČIN

Funkce zadané implicitně

SIMULACE. Numerické řešení obyčejných diferenciálních rovnic. Měřicí a řídicí technika magisterské studium FTOP - přednášky ZS 2009/10

NÁVRH PRACOVNÍHO BODU ODSTŘEDIVÉHO ČERPADLA THE OPERATING POINT OF THE CENTRIFUGAL PUMP.

A NUMERICKÉ METODY. Matice derivací: ( ) ( ) Volím x 0 = 0, y 0 = -2.

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

Reference 10. Předpokládejme stavový popis spojitého, respektive diskrétního systému

Metody vícekriteriálního hodnocení variant a jejich využití při výběru produktu finanční instituce

Metody operačního výzkumu přednášky

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK

VYBOČUJÍCÍ HODNOTY VE VÍCEROZMĚRNÝCH DATECH

11 Tachogram jízdy kolejových vozidel

(Auto)korelační funkce Statistické vyhodnocování exp. dat M. Čada ~ cada

L8 Asimilace dat II. Oddělení numerické předpovědi počasí ČHMÚ 2007

ZÁKLADY STAVEBNÍ MECHANIKY

Spojité regulátory - 1 -

CHYBY MĚŘENÍ. uvádíme ve tvaru x = x ± δ.

Metamodeling. Moderní metody optimalizace 1

V praxi pracujeme s daty nominálními (nabývají pouze dvou hodnot), kategoriálními (nabývají více

MATEMATIKA Charakteristika vyučovacího předmětu 2. stupeň

Lineární programování

K přednášce NUFY028 Teoretická mechanika prozatímní učební text, verze Spojitá prostředí: rovnice struny Leoš Dvořák, MFF UK Praha, 2014

Určování únavových vlastností při náhodné amplitudě zatížení

Teoretické modely diskrétních náhodných veličin

ELEKTRICKÉ SVĚTLO 1 Řešené příklady

APLIKACE METOD VÍCEKRITERIÁLNÍHO ROZHODOVÁNÍ PŘI HODNOCENÍ KVALITY VEŘEJNÉ DOPRAVY

2. RBF neuronové sítě

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Hledání extrémů funkcí

Statistická šetření a zpracování dat.

Jihočeská univerzita v Českých Budějovicích. Pedagogická fakulta Katedra fyziky. Bakalářská práce

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VÝPOČET VELIKOSTNÍCH PARAMETRŮ KOMPOSTÁREN NA ZPEVNĚNÝCH PLOCHÁCH THE SIZE PARAMETER CALCULATION OF COMPOST PLANTS LOCALIZED ON COMPACTED AREAS

INTERAKCE KŘEMÍKU A NIKLU ZA VYSOKÝCH TEPLOT

Univerzita Tomáše Bati ve Zlíně

PRAVDĚPODOBNOST A STATISTIKA

ESR, spinový hamiltonián a spektra

Normalizace fyzikálních veličin pro číslicové zpracování

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text

ŘEŠENÍ PROBLÉMU LOKALIZACE A ALOKACE LOGISTICKÝCH OBJEKTŮ POMOCÍ PROGRAMOVÉHO SYSTÉMU MATLAB. Vladimír Hanta 1, Ivan Gros 2

7. STATISTICKÝ SOUBOR S JEDNÍM ARGUMENTEM

Elektrotechnická fakulta

Numerická matematika A

2. Definice pravděpodobnosti

6. Střídavý proud Sinusových průběh

ELEKTRICKÉ SVĚTLO 1 Řešené příklady

Transkript:

Numercké metody optmalzace Numercal optmzaton methods Bc. Mloš Jurek Dplomová práce 2007

Abstrakt Abstrakt česky Optmalzační metody představují vyhledávání etrémů reálných funkcí jedné nebo více reálných proměnných s různým omezením na defnční obor. Práce může být použta k programové a vzualzační podpoře předmětu, který se touto problematkou zabývá. Cílem práce bylo vytvořt algortmy optmalzačních teračních metod v prostředí Matlab. Důraz je kladen na terační metody komparatvní a gradentní. Dále byly vypracovány vzorové příklady, ve kterých jsou popsány jednotlvé metody, provedeno jejch hodnocení a grafcky znázorněny výsledky. Klíčová slova: Optmalzace, etrém funkce, gradent, terace, účelová funkce Abstrakt ve světovém jazyce Optmzaton methods consttute the searchng of etremes of real functons of one or more real varables wth the dfferent lmtatons per defnton range. The thess can be used for program and vsual support of the subject, whch deals wth ths problems. The goal of ths thess was to create algorthms of optmzaton teratons methods n the Matlab envronment. The stress s put on the teraton methods comparatve and gradent. The sample eamples, n whch each method s descrbed, made ther classfcatons and graphcally llustrated results, was elaborated. Keywords: Optmzaton, functon etremes, gradent, teraton, goal functon

V rámc této práce bych chtěl poděkovat panu Ing. Radkov Matušů za zadání zajímavého tématu a za cenné rady a přpomínky př odborném vedení mé dplomové práce. Prohlašuj, že jsem na dplomové prác pracoval samostatně a použtou lteraturu jsem ctoval. V případě publkace výsledků, je-l to uvolněno na základě lcenční smlouvy, budu uveden jako spoluautor. Ve Zlíně, 24. 05. 2007... podps

OBSAH ÚVOD...7 I. TEORETICKÁ ČÁST...9 1 OPTIMALIZACE...10 1.1 ZÁKLADNÍ POJMY... 10 1.2 KLASIFIKACE OPTIMALIZAČNÍCH ÚLOH... 11 1.2.1 Volný etrém funkce... 12 1.2.2 Vázaný etrém funkce... 16 1.3 KLASIFIKACE OPTIMALIZAČNÍCH METOD... 18 2 ITERAČNÍ METODY OPTIMALIZACE...19 2.1 KOMPARATIVNÍ METODY... 19 2.1.1 Jednorozměrné komparatvní metody... 19 2.1.2 Metody vícerozměrné optmalzace... 22 2.2 GRADIENTNÍ METODY... 29 2.2.1 Jednorozměrné gradentní metody... 29 2.2.2 Vícerozměrné gradentní metody... 32 2.2.3 Gradentní metody s omezením... 36 2.3 METODY NÁHODNÉHO VYHLEDÁVÁNÍ... 37 II. PRAKTICKÁ ČÁST...39 3 REALIZACE PROGRAMŮ...40 3.1 POPIS PROGRAMOVÉHO PROSTŘEDÍ... 40 3.1.1 Fbonaccho metoda... 42 3.1.2 Metoda zlatého řezu... 43 3.1.3 Newtonova metoda... 44 3.1.4 Regula-Fals... 44 3.1.5 Bo-Wlsonova metoda... 45 3.1.6 Metoda fleblního smpleu... 46 3.1.7 Gradentní metoda s krátkým a dlouhým krokem... 46 3.1.8 Newtonova metoda... 47 3.1.9 DFP... 48 3.2 TESTOVÁNÍ METOD... 49 ZÁVĚR...61 ZÁVĚR V ANGLIČTINĚ...63 SEZNAM POUŽITÝCH ZDROJŮ...65 SEZNAM POUŽITÝCH SYMBOLŮ A ZKRATEK...66 SEZNAM OBRÁZKŮ...67 SEZNAM TABULEK...68 SEZNAM PŘÍLOH...69

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 7 ÚVOD Problematka optmalzačních metod zahrnuje vyhledávání etrémů reálných funkcí reálných proměnných. Tato matematcká formulace se v průběhu 20. století stala velm hluboce studovanou a atraktvní dscplínou. S optmalzačním úloham nejrůznějšího druhu se můžeme velm často setkat v pra, a to v šrokém spektru odvětví. Lze s představt návrh nákladní trasy tak, že spotřeba pohonných hmot a vzdálenost dosahují svých etrémů, stejně tak k optmalzační úloze vede z oblast ekonome problém optmalzace výrobních programů, optmalzace technckých konstrukcí ve stavebnctví, strojírenství a vojenství, č hledání optmálního stavu v chemckých procesech. Převedeme-l optmalzační úlohu na matematcký tvar, její následné řešení je otázkou matematcké rutny a výpočetní technky. Teoretcky je možné defnovat jakkol obtížný problém, v pra se ale následně ukáže, že není možné vymyslet unverzální postup, který by vedl k nejvhodnějšímu řešení. To vedlo ke klasfkac jednotlvých optmalzačních úloh a k nm příslušným postupům. Je třeba rozlšovat úlohy bez omezení na defnční obor (volný etrém), omezení typu rovnost (klascký vázaný etrém) a omezení typu nerovnost (neklascký vázaný etrém). Jak bylo řečeno, různé úlohy vyžadují různý matematcký aparát a různé metody. V prvé řadě jde o analytcké metody, ty jsou nejblžší ke klascké matematcké analýze. Využívají prostředky dferencálního počtu a jsou vhodné zejména pro ndvduální ruční výpočet. Druhou skupnu tvoří terační metody, ve kterých se sestavuje posloupnost bodů defnčního oboru, která konverguje k etrému. Metody jsou především vhodné k programování na počítačích. Třetí skupnu metod tvoří specální úlohy, které vyžadují specfcké metody. Jedná se o lneární, dynamcké, nelneární a jné programování, které je obecně nazýváno pojmem operační analýza. V této prác je přblíženo, co vlastně znamená a obnáší řešení optmalzačních úloh a výpočet etrémů funkcí. Jsou zde zmíněny jednotlvé klasfkace optmalzačních úloh. Dále se v prác pojednává především o teračních metodách optmalzace. Ve druhé kaptole je podrobně popsáno jejch rozdělení. Jsou zde přblíženy jednotlvé prncpy algortmů a vlastnost jednotlvých metod. V neposlední řadě je produktem této práce program vytvořený v prostředí Matlab. Hlavní částí programu je deset základních optmalzačních metod, které jsou rozděleny pro úlohy jedné proměnné a pro metody více

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 8 proměnných. Pro úlohy jednorozměrné byly vytvořeny čtyř algortmy a pro vícerozměrné úlohy šest algortmů. Jednotlvé naprogramované algortmy užvatel vypíší výsledky do tetových polí a zobrazí graf příslušné funkce a znázorní zjštěný etrém. Dále byly naprogramované metody podrobeny testům, po kterých následovalo zhodnocení výsledků a hlavních výhod a nevýhod jednotlvých metod. V deset přílohách jsou uvedeny hlavní část jednotlvých naprogramovaných algortmů.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 9 I. TEORETICKÁ ČÁST

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 10 1 OPTIMALIZACE Teore optmalzace je matematckou dscplínou, která se zabývá určováním mnmálních a mamálních hodnot funkcí př určtých omezujících podmínkách, tj. řešením optmalzačních úloh. S optmalzačním úloham nejrůznějšího druhu se v pra setkáváme velm často. Většnou jsou formulovány slovně a řeší se na základě zkušeností a ntuce. Takový přístup př současné úrovn rozvoje vědy a technky jž zcela nestačí. Neposkytuje objektvní a vědecké podklady pro řízení a rozhodování. Z jného pohledu lze o optmalzac také říc, že jde o matematckou dscplínu, ve které hledáme mnmum respektve mamum dané funkce f() na dané množně X. Tato funkce se nazývá účelová, nebo též optmalzační. Množnou se rozumí oblast, pro kterou lze nalezené řešení považovat za korektní, eventuálně fyzkálně realzovatelné a podobně. Obecně bývá tato oblast vymezena soustavam rovnc č nerovnc. Jejch významem je zamezt prohledávání prostoru, pro nějž nalezené řešení nebude akceptovatelné. Impuls pro rozvoj etremalzačních metod přnesly v mnulém století úlohy z oblast ekonome, které můžeme označt jako problémy optmalzace výrobních programů. Řada etremalzačních úloh přchází z oblast technky. Jsou popsány výpočty směřující k optmalzac z oblast stavebnctví, strojírenství, vojenství. Z oblast cheme je typckou etremalzační úlohou výpočet chemcké rovnováhy v plynné soustavě. Také v teor her se řada úloh řeší převedením na vyhledávání etrému funkce. Praktcké aplkace optmalzačních metod jsou přblíženy např. v [1] č [5]. 1.1 Základní pojmy Účelová, krterální č optmalzační funkce jsou v tomto tetu synonyma pro jednu a tutéž funkc. Nejčastěj bude užíváno pojmu účelová funkce a za tímto označením se skrývá n-rozměrná reálná funkce reálných proměnných s označením f( 1,.., n ). Funkce f(), která má na množně X pouze jeden etrém (daného druhu), se nazývá unmodální. V opačném případě se jedná o funkc multmodální. Množnu X budeme nazývat množnou přípustných řešení (bodů, vektorů) a funkc f() účelovou funkcí. Společný název pro mnmum a mamum je etrém. Body X, ve kterých má funkce f() etrém, tj. funkce f() nabývá etremální (mnmální nebo mamální) hodnoty, se

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 11 nazývají etremální body funkce f() na množně X. Etrémy mohou být dvojího druhu a to buď lokální č globální. Přesná defnce říká, že funkce f: X R má v bodě 0 X Lokální mnmum na X R n, jestlže estuje δ > 0 tak, že pro každé X, - 0 < δ platí f() f( 0 ) Ostré lokální mnmum - na X R n, jestlže estuje δ > 0 tak, že pro každé X, 0< - 0 < δ platí f() > f( 0 ) Globální mnmum - na X R n, jestlže pro každé X platí f() f( 0 ) Ostré globální mnmum - na X R n, jestlže pro každé X, 0 platí f()>f( 0 ) Lokální mamum - na X R n, jestlže estuje δ > 0 tak, že pro každé X, - 0 <δ platí f() f( 0 ) Ostré lokální mamum - na X R n, jestlže estuje δ > 0 tak, že pro každé X, 0< - 0 < δ platí f() < f( 0 ) Globální mamum - na X R n, jestlže pro každé X platí f() f( 0 ) Ostré globální mamum - na X R n, jestlže pro každé X, 0 platí f()<f( 0 ) 1.2 Klasfkace optmalzačních úloh Optmalzační úlohy se klasfkují dle jejch omezení na defnční obor. Vyšetřujeme-l etrémy funkce n proměnných na celém prostoru R n mluvíme o tzv. volných etrémech. Zajímají-l nás pouze takové body mama nebo mnma, které splňují nějaké další podmínky, mluvíme o vázaných etrémech. Názvy volné a vázané etrémy nejsou termíny v matematckém smyslu přesně zavedené a podle toho používané. O volných etrémech se například mluví tehdy, kdy etremalzovaná funkce není všude v R n defnovaná a vyšetřuje se pouze na té množně X R n, kde defnována je. Je dohodnuto, že volný etrém funkce f() je globální etrém této funkce vzhledem k R n. Vázané etrémy se původně systematcky vyšetřovaly pouze př podmínkách tvaru g j ( 1,..., n )=0, j=1,...,n, kde g j byly funkce se spojtým prvním parcálním dervacem.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 12 Po druhé světové válce se objevly důležté úlohy, v nchž se vyskytovaly vedlejší podmínky s nerovnostm, upravované nejčastěj na tvar g j ( 1,..., n ) 0, j = 1,..., m 0, = 1,..., n (1) Etremalzační úlohy s omezením ve tvaru (1) se nazývají úlohy matematckého programování. V matematckém programování se etremalzovaná funkce nazývá funkce účelová. Ta R n, která vyhovují omezujícím podmínkám, se nazývají přípustná řešení. Přípustné řešení, které je globálním etrémem účelové funkce vzhledem k množně přípustných řešení, se nazývá optmální řešení. 1.2.1 Volný etrém funkce Volným etrémem funkce rozumíme lokální mnmum nebo lokální mamum funkce v lbovolném bodě defnčního oboru. Metody analytckého vyhledávání volných etrémů jsou založené na výpočtech dervací, a proto jsou vhodné pro analytcky zadané funkce. Jednorozměrný případ V případech, že je funkce na prohledávaném ntervalu hladká a spojtá lze využít známých matematckých postupů. Analýza funkcí vychází z jejích základních vlastností. Funkce defnovaná na ntervalu X se nazývá konvení (konkávní), když pro lbovolnou trojc bodů z X 1 < 2 < 3 leží bod ( 2, f( 2 )) pod úsečkou (nad úsečkou), která spojuje f ( 3 ) f ( 1 ) body ( 1, f( 1 )) a ( 3, f( 3 )) a její rovnce je y f ( 1) = ( 1). 3 1 f() f() a) b) 1 2 3 1 2 3 Obr. 1. a) Konkávní funkce, b) Konvení funkce

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 13 Když je funkce f() na ntervalu X spojtá a má v každém bodě konečnou druhou dervac, pak je funkce f() na ntervalu konvení právě tehdy, když pro každé X je f () 0 a funkce f() je konkávní právě tehdy, když pro každé X je f () 0. Dervace funkce v bodě 0 je defnována lmtou: a vyjadřuje směrnc tečny v daném bodě. f() f ( ) f( 0 ) f ( 0) = lm 0 0 0 Obr. 2. Dervace funkce v bodě Staconární bod funkce f() je bod 0 pro který platí, že jeho první dervace je rovna nule f ( 0 )=0. V tomto bodě má daná funkce f() mnmum, mamum nebo jde o tzv. nflení bod. f() f() MAXIMUM MINIMUM f() INFLEXNÍ BOD Obr. 3. Staconární body funkcí

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 14 Předpokládejme reálnou funkc jedné reálné proměnné. Pojem etrém funkce úzce souvsí s pojmy konkávnost č konvenost. Funkce defnovaná v jstém okolí bodu 0 má v tomto bodě ostré lokální mamum, jestlže estuje δ>0 tak, že pro každé, 0< - 0 <δ platí f()<f( 0 ). O neostrém lokálním mamu hovoříme, jestlže je splněná neostrá nerovnost f() f( 0 ). Pojem lokálního mnma se defnuje analogcky, ale př splnění nerovnost f()>f( 0 ). Globální mamum (mnmum) funkce f() na ntervalu X je největší (nejmenší) hodnota, kterou funkce f() na ntervalu X nabude. Nechť funkce f() má první dervac na ntervale X a v bodě 0 tohoto ntervalu nechť estuje druhá dervace. Potom platí, že funkce f() má v bodě 0 ostré lokální mamum, když f ( 0 )=0 a f ( 0 )<0. funkce f() má v bodě 0 ostré lokální mnmum, když f ( 0 )=0 a f ( 0 )>0. Jestlže druhá dervace funkce f() v bodě 0 neestuje a první dervace f ( 0 ) je v levém okolí bodu 0 kladná a v pravém okolí 0 je záporná, potom má funkce f() v bodě 0 ostré lokální mamum. a první dervace f ( 0 ) je v levém okolí bodu 0 záporná a v pravém okolí 0 je kladná, potom má funkce f() v bodě 0 ostré lokální mnmum. Může se stát, že první druhá dervace v bodě 0 je rovna nule. Potom funkce může mít v tomto bodě nfle anebo je třeba zkoumat vyšší dervace. Nechť estuje přrozené číslo n tak, že f(n) ( 0 ) 0 a pro každé k<n je f(k) ( 0 )=0. Potom platí, že: jestlže je n sudé a f(n) ( 0 )>0, má f() v 0 ostré lokální mnmum. jestlže je n sudé a f(n) ( 0 )<0, má f() v 0 ostré lokální mamum. jestlže je n lché, jde o nflení bod.v nflením bodě se mění konkávnost funkce na konvenost č naopak. Konkávnost souvsí s mamem funkce a konvenost s mnmem. Vyhodnocením těchto podmínek dentfkujeme staconární bod na mnmum, mamum nebo nflení bod. Není však zaručeno nalezení všech etrémů, protože není pokryta varanta neestence první dervace funkce f() v daném bodě.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 15 Vícerozměrný případ Analytcké řešení vyhledávání etrémů reálné funkce více reálných proměnných je v zásadě zevšeobecněním jednorozměrného případu. Namísto pojmu první a druhá dervace se používá pojem gradentu a Hessovy matce a namísto nfleního bodu se používá pojem sedlový bod. Gradent funkce se defnuje jako vektor parcálních dervací: f f grad f ( 1,..., n)= f =,..., Hessova matce se defnuje pomocí druhých parcálních dervací: 2 H f 1 n 1 (2) n 2 2 2 f f f... 2 1 1 2 1 n = (,..., ) =............ (3) 2 2 2 f f f... 2 n 1 n 2 n Př vyšetřování etrémů se musí určt, zda je Hessova matce poztvně č negatvně defntní, což odpovídá kladné nebo záporné druhé dervac v jednorozměrném případě. S problematkou defntnost souvsí tzv. kvadratcká forma. Tuto problematku podrobně popsuje [6]. Př vyšetřování poztvní č negatvní defntnost matce je třeba počítat hlavní subdetermnanty. Podmínky pro defntnost matce udává Sylvestrovo krtérum: Matce je poztvně defntní, když všechny hlavní subdetermnanty této matce mají kladnou hodnotu. Matce je negatvně defntní, když hodnoty hlavních subdetermnantů střídají znaménka, ale první subdetermnant musí být záporný. Pokud je matce poztvně defntní, má funkce f() v daném bodě 0 lokální mnmum. Pokud je matce negatvně defntní, má funkce f() v daném bodě 0 lokální mamum. Pokud je matce ndefntní, jedná se o sedlový bod.[4]

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 16 Obr. 4. Etrémy funkcí více proměnných 1.2.2 Vázaný etrém funkce V případě volného etrému se hledá etrém na celém defnčním oboru. V pra se však vyhledávají etrémy př různých omezeních. Nejfrekventovanějším omezením bývají rovnost a nerovnost, případně smíšená omezení. Úlohy s omezením typu rovnost se nazývají úlohy klasckého vázaného etrému, úlohy s nerovnostm se nazývají úlohy neklasckého vázaného etrému. Klascký vázaný etrém Postup řešení klasckého vázaného etrému je všeobecně známý pod názvem metoda Lagrangeových multplkátorů. Je třeba mamalzovat funkc f( 1,, n ) př podmínkách gj( 1,, n )=0, j=1,,m < n Př řešení této úlohy se defnuje Lagrangeova funkce m φ(, p) = f( ) + p g ( ) (4) kde vektor λ=(λ 1,,λ m ) se nazývá vektor Lagrangeových multplkátorů. Body vázaného etrému se potom hledají jako body etrému Lagrangeovy funkce, tj. jako nulové body všech n+m parcálních dervací funkce φ.[4] j= 1 j j

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 17 Když označíme: φ φ φ φ =,,..., 1 2 n φ φ φ pφ =,,..., p1 p2 pm potom estenc etrému udává následující věta: Nechť funkce f,g 1,,g n mají spojté parcální dervace a nechť jsou funkce g j () lneárně nezávslé. Potom platí, že když je 0 R n bodem lokálního etrému funkce f př omezeních g j ()=0, potom estuje p 0 =(p 01,,p 0m ) tak, že φ( 0, p0) = 2( 0, p0) = 0 (6) Neklascký vázaný etrém Neklascký vázaný etrém se defnuje jako úloha mamalzovat funkc f( 1,, n ) př omezeních tvaru g j ( 1,, n ) 0, j=1,,m 0 =1,,n. Takto formulovaná úloha se nazývá úloha matematckého programování. Jednou z nejdůležtějších teorémů charakterzující takovouto úlohu je Kuhn-Tuckerova věta. Tato věta byla publkována roku 1951 a nazývá se též větou o sedlovém bodě. Podobně jako v případě omezení rovnostm se defnuje Lagrangeova funkce (4). Kuhn-Tuckerova věta: Vektor 0 je optmálním řešením úlohy právě tehdy, když estuje vektor p 0 takový, že 0 0 a p 0 0 a pro všechny 0, p 0 platí: 0 0 0 0 T T φ(, p ) φ(, p ) φ(, p) (7) Bod ( 0,p 0 ) se nazývá nezáporný sedlový bod funkce φ. Takto formulovaná věta má pro matematcké programování význam jen teoretcký, protože sedlový bod se hledá obtížně. Pro výpočetní účely má význam jen její důsledek, který platí pro dferencovatelné funkce f a g j. Důsledek Kuhn-Tuckerovy věty: Nechť f a g j mají všechny první parcální dervace. Potom podmínka (7) je ekvvalentní tzv. lokálním Kuhn-Tuckerovým podmínkám: (5) φ φ 0 = 0 = 1,..., n 0 0 0 ( 0, p0) ( 0, p0) φ φ 0 p = 0 j = 1,..., n p 0 p 0 j 0 j p ( 0, p0) j ( 0, p0) (8)

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 18 1.3 Klasfkace optmalzačních metod Analytcké metody jednorozměrné případy dervace vícerozměrné případy gradenty omezení typu = metoda Lagrangeova multplkátoru omezení typu Kuhn-Tuckerova věta Iterační metody: komparatvní jednorozměrné vícerozměrné gradentní bez omezení s omezením metody náhodného vyhledávání jednoduché adaptvní s umělou ntelgencí Specelní metody: lneární programování dynamcké programování konvení programování Teore her: matcové hry dferencální hry

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 19 2 ITERAČNÍ METODY OPTIMALIZACE Tyto metody lze rozdělt na tř typy. Na komparatvní optmalzační metody, které nevyžadují výpočet nebo odhad dervací účelové funkce. Iterační charakter těchto metod je založený na determnstckém prncpu. Metody, které potřebují výpočet č odhad dervací, jsou metody gradentní a třetím typem jsou metody nedetermnstcké. Iterační přírůstek těchto metod č jeho směr má náhodný charakter. 2.1 Komparatvní metody Základní charakterstkou komparatvních metod je vyčíslení dskrétních hodnot účelové funkce v určtých bodech, jejch porovnání s hodnotam vypočteným v dalším kroku a v určení postupu konstrukce dalších dskrétních bodů. Postupuje se tak dlouho, dokud se dosahuje dalšího zlepšení hodnoty účelové funkce. Jedná se o postupy pro jednorozměrné a mnohorozměrné problémy.[4] 2.1.1 Jednorozměrné komparatvní metody Metody jednorozměrné optmalzace mají v celé teor optmalzace základní význam. Jsou názorné a mají jednoduchou grafckou nterpretac. Navíc se mohou využívat ve vícerozměrné optmalzac. Nejznámější dvě metody jednorozměrné optmalzace, které nevyžadují výpočet dervací, jsou Fbonaccho metoda a metoda zlatého řezu. Obě metody jsou založené na myšlence zvolt posloupnost bodů z daného ntervalu <a;b> tak, abychom našl nterval co nejmenší délky, ve kterém se nachází bod etrému. Není-l daná účelová funkce f() na ntervalu <a,b> unmodální, pak je třeba přblžně určt polohu bodu globálního mnma a nterval <a,b> změnt tak, aby na změněném ntervalu účelová funkce f() unmodální byla. Fbonaccho metoda Fbonaccho metoda využívá př zkracování ntervalů neurčtost přímé úměrnost jejch délek číslům Fbonaccho posloupnost, tj.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 20 l b a l l 1 2 k N 1 N = = = =... = =... = = FN FN FN 1 FN ( k 1) F2 l l ln F 1 (9) kde čísla Fbonaccho posloupnost{f k } jsou dána vztahy F 0 = F1 = = 1, Fk = Fk 1 + Fk 2, k 2,3,..., (10) resp. k + 1 1 1 1 1+ 5 = k + Fk z, k = 0,1,2,..., z = (11) 5 z 2 k 1 +1 Pro velké k lze v rovnc (11) výraz z výpočet čísel Fbonaccho posloupnost zanedbat a dostaneme přblžný vzorec pro 1 1 k + Fk z, k = 0,1,2,... (12) 5 Fbonaccho metoda pro vyhledání mama může být popsána následujícím algortmem: 1. 2. α = a β = b zvolíme počet kroků N 1 1 F α = β β α N + 1 + 1 FN + 2 F β = α + β α N + 1 + 1 FN + 2 3. 4. f( α 1), f( + β+ 1) f( α+ 1) f( β+ 1) α+ 1 = α+ 1 β+ 1 = β 5. f( α ) ( β ) α α β β + 1 > f + 1 + 1 = + 1 = + 1 6. = + 1 skok na bod 2 Po N-tém kroku leží optmální bod v ntervalu a N,b N. Pro dosažení přesnost ε př lokalzac optmálního bodu lze použít vztah F N b a (13) 2ε Musíme tedy najít takové číslo Fbonaccho posloupnost, které vyhovuje nerovnost (13). Jeho nde N udává počet potřebných kroků a zároveň počet terací.[6]

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 21 Např. pro funkc f() defnovanou na ntervalu <-1,1> hledáme řešení s přesností ε = 0,1. b a 1+ 1 Počet kroků N zjstíme ze vztahu (13): FN = = 10 F7 = 13 N = 7 2ε 2.0,1 Metoda zlatého řezu Metoda zlatého řezu patří mez postupné komparatvní metody hledání mnma lbovolné spojté unmodální účelové funkce f(). FN + 1 Metoda zlatého řezu je odvozením Fbonaccho metody. Místo podílu F lmtní podíl: F F lm N + 1 n N + 2 N + 2 se používá = 0,618 (14) Hodnota 0,618 se nazývá poměr zlatého řezu (obdélník se stranam v poměru považován ve starém Řecku za nejestetčtější). 1 1: 0,618 byl Př metodě zlatého řezu ve všech krocích (kromě prvního) nterval neurčtost obsahuje spolu s krajním body jeden vntřní bod. Proto je třeba určt hodnotu účelové funkce f() pouze v jednom novém bodě umístěném symetrcky k jž známému bodu. Pops algortmu pro vyhledání mama: Obr. 5. Prncp metody zlatého řezu

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 22 1. 2. 3. 4. 5. 6. α1 = a β1 = b zvolíme N ~ α + 1 = β 0,618. β α ~ β + 1 = α + 0,618. β α ~ ~ f ( α + 1), f ( β + 1) ~ ~ f ( α ) ( ) ~ + 1 f β + 1 α + 1 = α + ~ ~ f ( α ) > f ( β ) α = α + 1 + 1 + 1 = + 1 skok na bod 2 1 β + 1 = β ~ β = β + 1 + 1 Počet kroků není eplctně omezený, výpočet končí testem na přesnost argumentu. Počet kroků N je dán požadovanou přesností ε, pro kterou platí vztah: b a 2ε (15) N N 2.1.2 Metody vícerozměrné optmalzace Mez těmto komparatvním teračním metodam jsou nejznámější Bo-Wlsonova metoda, smpleové metody, metoda mapování krterální plochy a metoda cyklcké záměny parametrů. Jejch prncpem hledání etrémů je vyčíslení hodnoty účelové funkce v určtých bodech a vzájemným porovnáváním těchto hodnot v jednotlvých teracích dle jejch algortmů, konvergují k etrému. Bo-Wlsonova metoda Jedná se o jednu z nejzákladnějších komparatvních optmalzačních metod. Byla publkována jž v roce 1951, avšak v současnost zůstává vhodným nástrojem pro vyhledávání etrémů účelových funkcí. Základním rysy a výhodam této metody jsou snadná algortmzovatelnost, jednoduchý prncp vyhledávání etrému a nezávslost na počtu proměnných. Pro n=2 se účelová funkce vyčísluje ve vrcholech čtverce a v jeho geometrckém středu. V dalším kroku se vrchol s největší č nejmenší hodnotou bere za střed nového čtverce a postup se opakuje. Postup se na n-rozměrný případ zevšeobecní tak, že místo čtverce se konstruuje nadkvádr s 2 N vrcholy. Nevýhodou je výpočet 1 + 2 N funkčních hodnot funkce. Přblížt funkc algortmu lze nejlépe na funkc se dvěma proměnným. Jako první je zvolen počáteční bod S se souřadncem [s1;s2], od kterého se dále odvíjí celý proces výpočtů. Dalším vstupním parametrem je délka hrany čtverce ω, který se

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 23 konstruuje okolo počátečního bodu. Počáteční bod leží v geometrckém středu čtverce. Př nevhodné volbě počátečního bodu se prodlužuje doba a počet výpočtů. Proto by měl být za počátek zvolen takový bod, který dle odhadu povede nejrychlej k řešení. Totéž platí pro volbu hrany čtverce. Př nevhodné velkost naroste počet výpočtů nebo se sníží přesnost konečného výsledku. Lze tedy říc, že doba a počet výpočtů je nepřímo úměrná délce hrany a přímo úměrná vzdálenost počátečního bodu od hledaného etrému. Po zadání těchto vstupních parametrů se provede konstrukce vrcholů čtverce. Souřadnce jednotlvých vrcholů získáme tak, že k oběma souřadncím středu přčteme polovnu délky strany čtverce. Pro ostatní souřadnce zbylých vrcholů je postup obdobný s tím rozdílem, že prostřídáme všechny kombnace znamének. Podoba jednotlvých souřadnc je pak následující: ω ω M1 : s1 + ; s2+ 2 2 ω ω M2 : s1 ; s2+ 2 2 ω ω M3 : s1 + ; s2 2 2 ω ω M4 : s1 ; s2 2 2 Poté následuje vypočítání hodnot účelové funkce v daných bodech (S,M 1,M 2,M 3,M 4 ) a z této pětce se vybere ten, který má největší hodnotu. Pokud je mamem jeden z vrcholů čtverce, stává se novým středem v další terac a pokračuje se v ohodnocování jednotlvých vrcholů. Pokud má mamální hodnotu střed čtverce, je vyhodnocen jako etrém a algortmus je ukončen. Z vyhledávání bodu s největší hodnotou pramení, že algortmus vyhledává mamum funkce. Př potřebě nalezení mnma funkce se musí změnt vyhledávání na bod s nejmenším ohodnocením nebo hledat etrém namísto f(1,2) na funkc f(1,2).

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 24 1 Obr. 6. Prncp Bo-Wlsonovy metody 2 Záps algortmu pro vyhledávání mama (n=2): Volba - střed krychle S a délka strany ω Generování vrcholů krychle M =S± ω δ, =1,,2 N Výpočet f(s), f(m 1 ),,f(m 4 ) v jednotlvých bodech čtverce S, M 1, M 2, M 3, M 4 Výběr etremální hodnoty f(m e ) a M e Je-l M e =S => STOP S=M e a skok na generování vrcholů Smpleové metody Smpleové metody patří mez další komparatvní metody, které nepotřebují výpočet dervací účelové funkce. Je zde určtá podobnost s Bo-Wlsonovou metodou, avšak oprot předcházející metodě se počet bodů výpočtu hodnot účelové funkce redukuje na mnmum. Pojmem smple je označován nejmenší konvení polyedr v daném prostoru. Jným slovy, v n-dmenzonálním prostoru defnujeme n+1 bodů jež tvoří smple. Ve dvojrozměrném prostoru je smpleem rovnostranný trojúhelník, v třírozměrném prostoru je to pravdelný čtyřstěn.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 25 V R n jsou body pravdelného smpleu určené následujícím vztahy + + + + = + + + + = = + e d a d a d a d a d a e d a a a a n n n n...,...,...... 2 1 1 2 1 2 2 1 1 (16) 2 2 1 1 ρ ρ + = + = d e n d n (17) kde ρ je délka hrany smpleu a n je dmenze prostoru.[3] Základní strategí pro mamalzac účelové funkce v R n je spočítání hodnot účelové funkce ve vrcholech smpleu a určení bodu s nejmenší hodnotou. Tento bod se překlopí přes těžště smpleu do směru největšího růstu tak daleko, aby tento bod tvořl se základnou opět pravdelný smple. Nový vrchol smpleu se sestrojí podle vztahu m m m c c = + = 2 ) ( 2 (18) + = = 1 1 1 n j j n c (19) Bod m je bod s nejnžší hodnotou účelové funkce. Obr. 7. Hledání etrému funkce f( 1, 2 ) smpleovou metodou

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 26 Ponecháním konstantní délky hrany smpleu ρ po celou dobu výpočtu stejnou, konverguje metoda zpočátku velm pomalu. Př nevhodné volbě délky hrany smpleu ρ dochází k osclac kolem etremálního bodu. Metodu pravdelného smpleu lze vylepšt tak, že délka hrany smpleu se v průběhu výpočtu zmenšuje. Obr. 8. Prncp fleblní smpleové metody Tím se zlepší konvergence a nedochází k osclacím okolo etremálního bodu. Upravená metoda se nazývá metodou fleblního smpleu nebo též metoda Nelder-Mead dle tvůrců. Zkonstruují se vrcholy smpleu (1),...,(n+1) s mamální hodnotou v (). K dalšímu bodu se postupuje podle vztahů: jestlže f ( ( )) > ma{ f ( (1)), f ( (2)),..., f ( ( n + 1))}, pak 1. epanze: ( + 1) = c + α ( ( ) c) α (1; ) jestlže f ( ( + 1)) > ma{ f ( (1)),..., f ( ( n + 1))}, pak se pokračuje v postupu úspěšným směrem ; jestlže f ( ( )) < f ( ( j)) 2. kontrakce: ( + 1) = c + β ( ( ) c) j, pak β (1;1) jestlže f ( ( + 1)) < f ( ( k)), pak se zmenší 3. redukce: 1 podle vztahu ( j) = ( k) + ( ( j) ( k)) 2 délka smpleu

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 27 Jedná se o jednu z nejdokonalejších komparatvních metod. Metoda cyklcké záměny parametrů Tato metoda se někdy nazývá Gauss-Sedlova metoda. Př optmalzac v R n se zvolí jedna proměnná k a ostatní se nechají konstantní. Najde se částečné optmum nějakou metodou jednorozměrné optmalzace a proměnná k se na této hodnotě zafuje. Přejde se k další proměnné j a opět se hledá jednorozměrný etrém. Tímto způsobem se vystřídají všechny proměnné a cyklus se opakuje. Uvedený postup však nemusí být vždy konvergentní a konvergence závsí na pořadí proměnných. Pro všeobecný tvar účelové funkce se metoda programuje obtížně. I v této metodě se začíná defnováním počátečního bodu S. Nejlépe je znovu vycházet ze znalost problému a snažt se zvolt bod co nejblíže etrému. Dalším parametrem, který je zapotřebí je přesnost ε a používá se pro ukončení algortmu. Posledním parametrem je počet proměnných účelové funkce. V prvním kroku výpočtů je do funkce dosazen počáteční bod, přčemž k hodnotě dosazované za první proměnnou je přčten parametr ξ 1. Tímto vznkne parametrzovaná funkce a následuje vyhledání etrému funkce jedné proměnné pomocí dervace. Položením dervace rovno nule získáme hodnotu parametru ξ 1. Nový bod M 1, který se přblíží k hledanému etrému dostaneme součtem parametru ξ 1 a hodnotou proměnné počátečního bodu - M 1 [s1+ξ 1 ;s2]. Nyní následuje analogcký postup pro další proměnnou s tím rozdílem, že bude použto nového bodu M 1. Opět nalezneme etrém a provedeme součet hodnot. Dostaneme nový bod M 2 [s1+ξ 1 ; s2+ξ 2 ]. Bod M 2 je konečným stavem první terace. Další terace je provedena pokud platí podmínka ξ 2 1 +ξ 2 2 ε.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 28 1 2 Obr. 9. Prncp metody Gauss-Sedl Záps algortmu: =0 poč. cyklů; def. přesnost ε>0, (0) =( 1 (0),, N (0) ) k=0 poč. proměnných k=k+1 a def. fce pk(ξk)=f( 1 (e),, k (e) + ξ k, N (e) ) Nalezení optma pro p k (ξ k ) Změna k-té souřadnce v (e) na k + ξ k Je-l k<n=> skok na 3 N 2 (tj. k=n): je-l ξ < ε => STOP, jnak =+1 a skok na 2 k = 1 k Metoda mapování krterální plochy V dskretzovaných bodech povoleného podprostoru se zkoumají hodnoty účelové funkce. Postupuje se tak, že všechny nezávslé proměnné jsou konstantní a mění se jen jedna od dolní meze po horní. Potom se změní o krok další nezávslá proměnná a postup se opakuje. Nevýhodou je, že př zvyšování počtu nezávslých proměnných se neúměrně zvyšuje počet vyčíslení účelové funkce. Krok dskretzace je třeba předem stanovt. Programová realzace je velm jednoduchá. Výpočet hodnot účelové funkce se realzuje ve vnořených cyklech. Po vyčíslení všech hodnot je třeba jednoduchým porovnávacím algortmem najít etremální prvek a k němu hodnotu nezávslých proměnných. Toto porovnávání lze provádět přímo ve vnořených cyklech.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 29 1 ε ε 2 Obr. 10. Prncp metody mapování krterální plochy Záps algortmu: Volba hranc prohledávané plochy Volba přesnost ε Rozdělení vymezujících ntervalů na podntervaly o velkost ε Nalezení všech průsečíků Výpočet funkčních hodnot ve všech průsečících Nalezení mamální (mnmální) hodnoty a její pozce 2.2 Gradentní metody Gradentním metodam jednorozměrné a vícerozměrné optmalzace budeme rozumět terační algortmus, ve kterém přírůstek vektoru parametrů je úměrný gradentu účelové funkce. Iterační vztah lze všeobecně vyjádřt jako ( k + 1) = ( k) + λ k f ( ( k)). (20) 2.2.1 Jednorozměrné gradentní metody Nejpoužívanější metody jednorozměrné gradentní optmalzace jsou Newtonova metoda a metoda regula-fals. Spíše než praktcký význam mají tyto metody význam teoretcký, protože jsou východskem pro odvození složtějších a lépe konvergujících postupů. Pro hladké kvadratcké funkce dávají obě metody hodnotu etrému hned v prvním kroku. Rychlejší konvergenc lze očekávat u metod, které využívají druhé dervace funkce.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 30 Newtonova metoda Metoda spočívá v sestrojení tečny v bodě [, f '( )] k k T funkce f '(), vz (Obr.11.). Průsečík tečny s osou, tj. bod k+1 je (k+1)-ní terace optmálního bodu *. Účelová funkce se apromuje prvním třem členy Taylorova rozvoje f 1 2 2 ( ) = f ( ) + f ( )( ) + f ( )( ) (21) Dervováním (21) a vyřešením f ( +1 )=0 se získá z čehož plyne terační vztah pro +1 ve tvaru f ( ) f ( )( 1 ) = 0 (22) + + f ( ) + 1 = (23) f ( ) Metoda vyžaduje estenc druhé dervace. Za počáteční apromac je vhodné volt takový bod 1, který vyhovuje nerovnost f ( ) f '''( ) 0 (24) ' 1 1 > Konvergence Newtonovy metody je tím rychlejší, čím více se účelová funkce f() blíží kvadratcké parabole, pro kterou je přesné řešení hned po jednom kroku. Nevýhodou Newtonovy metody je nutnost počítat první a druhou dervac v každé terac. Newtonova metoda je vhodná pro ryze konvení (konkávní) účelové funkce, u kterých lze snadno vypočítat první a druhou dervac (dervace musí být spojté). Konvergence je velm rychlá, ale požadavky na vlastnost účelové funkce jsou velm ostré.[6] U Newtonovy metody se nepočítá počet kroků terace, výpočet se ukončí, když platí: 1 ε (25) + V pra je možno použít modfkac Newtonovy metody spočívající v tom, že když druhá dervace f ''() se jž mnoho nemění, lze j ponechat beze změny pro následující terace, tj. druhá dervace se nahradí konstantou (tzv. Whttakerova metoda zmínka na [6]).

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 31 Obr. 11. Prncp Newtonovy metody Regula-fals Př metodě regula-fals se účelová funkce apromuje následujícím polynomem 2 ) (. ) ( ) ( ) )( ( ) ( ) ( 2 1 1 f f f f p + + = (26) Další bod terace se najde z podmínky etrému p ( +1 )=0. Dervováním předchozího vztahu dostaneme 0 ) ( ) ( ) ( ) ( ) / ( 1 1 1 = + = + = f f f p (27) Z (27) vyplývá terační předps ve tvaru ) ( ) ( ) ( 1 1 1 f f f = + (28) Druhá dervace z Newtonovy metody je zde nahrazena numerckým odhadem: 1 1) '( ) '( ) ''( = f f f (29) Obr. 12. Prncp metody regula-fals

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 32 Metoda regula fals potřebuje dva ncalzační body 1 a 2. Metoda vyžaduje estenc první dervace na celém ntervalu, ve kterém hledáme etrém. 2.2.2 Vícerozměrné gradentní metody Gradentní metoda s krátkým krokem Algortmus výpočtu se realzuje podle vztahu + 1 = + λ f ( ) (30) Tato metoda používá k výpočtu konstantní λ. Takovýto výpočet je poměrně jednoduchý, ale úspěšná konvergence posloupnost není vždy zaručena. Př konstantním λ k je možné přeskočení hledaného etrému. An volba λ = λ 0 *2 - tento problém neodstraňuje. Pro výpočet mnma funkce musí být λ záporné. Obr.13. Hledání etrému gradentní metodou Gradentní metoda s dlouhým krokem Byly vypracovány metody, které mění λ k v každém kroku tak, aby se dosáhlo co největšího možného zlepšení účelové funkce směrem k mnmu anebo k mamu. Nejběžnější z těchto metod je gradentní metoda s dlouhým krokem.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 33 Př této metodě se volba uskutečňuje podle vztahu d λ ( ) = ma{ λ; f ( ( ) + λ f ( ( )) = 0} (31) dλ Tento postup zabezpečuje řešení v menším počtu kroků, ale vyžaduje větší počet výpočtů. V každém kroku terace je zapotřebí řešt úlohu jednorozměrné optmalzace. Gradentní metody lze použít v případech, kdy nejsou známy dervace. Používají se numercké odhady dervací, které mohou být symetrcké anebo nesymetrcké. Nejjednodušší vzorce tzv. dvojbodové mají následující tvary: symetrcký vzorec f levý nesymetrcký vzorec nebo pravý nesymetrcký vzorec Pro druhou dervac 2 f 2 f ( 1,..., +,..., n) f ( 1,...,,..., n) = (32) 2 f f (,..., +,..., ) (,...,,..., = ) 1 n f 1 n f f (,...,,..., ) (,...,,..., = ) 1 n f 1 n f ( 1,..., +,..., n ) 2 f ( 1,..., n ) + f ( 1,..., = 2,..., ) n (33) (34) (35) kde je malé kladné číslo. Jné vzorce pro více bodů výpočtu udává numercká matematka. Estují další varanty gradentních metod s dlouhým krokem, které se snaží jným, efektvnějším způsobem nahradt jednorozměrnou etremalzac podle λ v teračním postupu. Tyto metody jsou potom vhodné pro programování na počítačích.[4]

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 34 1 2 Obr. 14. Prncp gradentní metody s dlouhým krokem Metoda konjugovaných gradentů - CONGRA Iterační algortmus lze popsat následujícím vztahy ) ( ) ( ) ( ) ( ) ( 1) ( ) ( ) ( ) ( 1)) ( ( 1) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1) ( (0) (0)) ( (0) 2 d d f d f f d f d d f d d f d postupu bod počáteční f d T T T + = + + = + = + = + = δ δ λ λ Negatvní vlastností metody je, že vyžaduje v každém kroku výpočet matce. f 2 1 2 Obr. 15. Prncp metody konjugovaných gradentů

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 35 Metoda paralelních tečen PARTAN Metoda je podobná metodě konjugovaných gradentů, kdy se vytvoří dva paralelní směry, ze kterých se vybere jstý průměr. Záps algortmu: 1. 2. 3. volba počátečního bodu = 1, (1) = (0) + λ f (0) ~ y( ) = ( ) + λ ( ) f ( ), kde (0); pro ~ λ ( ) volba N ~ λ, které mamalzuje f ( (0) + λ f (0)) ~ mamalzuje f ( ( ) + λ f ( ( ))) 4. ( + 1) = ( 1) + δ ( )[ ( ) ( 1)], kde δ ( ) mamalzuje f ( ( + 1)) = f ( ( 1) + δ ( )[ y( ) ( 1)]) 5. jestlže < N, pak = + 1 a skok na 3, 6. jestlže = N, pak (0) = ( N) a skok na 2 1 2 Obr. 16. Prncp metody PARTAN

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 36 DFP (Davdon, Fletcher,Powell) Tato metoda se opírá o algortmus Newtonovy metody, ve které se namísto Hessovy matce druhých parcálních dervací konstruuje pouze její odhad. Kombnuje se zde jednoduchost gradentní metody s dobrou konvergencí metody Newtonovy. Prncp vychází z teračního vztahu ( + 1) = ( ) + λ ( ) S( ) f ( ) (36) kde S() je matce, která apromuje nverz Hessovy matce. Výpočet DFP metodou lze popsat následujícím algortmem: 1. volba počátečního bodu (0) a poztvně defntní matces(0); = 0 2. d () = S () f() 3. ( + 1) = () + λ() d (), kde λ() ma malzuje f( () + λ() d ()) a výpočet f ( ( + 1)) 4. v () = λ() d () w () = f() f( + 1) T T vv () () S() w() w () S() S ( + 1) = S ( ) + T v () w() T w () w() 5. = + 1 a skok na 2. 2.2.3 Gradentní metody s omezením Použtí gradentních metod pří vícerozměrné optmalzac naráží na problémy ve dvou případech. V první řadě jde o případy neanalytcky zadaných funkcí, kde vyjádření parcálních dervací je problematcké, protože se musí použít numerckých odhadů. V druhé řadě je to v případě omezení kladených na nezávslé proměnné. Metoda projekce gradentu Metoda je schopná akceptovat omezení ve tvaru konveních množn (nerovnc). Algortmus vychází z běžného gradentního postupu, př kterém se kontroluje, jestl nedochází k překročení omezení. Jestlže k překročení dojde, vykoná se geometrcký průmět tohoto bodu na hranc omezení. Z tohoto bodu se potom opět postupuje gradentní metodou s dlouhým krokem.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 37 Záps algortmu: 1. sestavení Q 2. q = ( QQ T ) 1 Q f ( ( k )) 3. test : jestlže q k < 0 k > 1, pak vynechat k tý řádek, sestrojt Q * a skok na 2; jestlže q k > 0 pro všechny k 1, pak konec 4. P = ( I Q T ( QQ T ) 1 Q)... projekční matce 5. 6. 7. s = P f ( ( k )) ~ λ = ma{ λ, ( k ) + λs ~ ( k + 1) = ( k ) + λ s je přípustné } 8. skok na bod 1. 1 gradent omezení dlouhý krok nový směr projekce 2 Obr. 17. Prncp metody projekce gradentu 2.3 Metody náhodného vyhledávání Př těchto metodách je terační přírůstek proměnných závslý na náhodně generované velčně. V zásadě jde tyto metody rozdělt do dvou tříd: jednoduché (strktně náhodné) metody, př kterých se pouze vyhodnocuje, jestl je nový bod lépe položený než předcházející. Jestlže to tak není, stratege se vrací do předcházejícího bodu a generuje se nový směr a velkost kroku.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 38 metody s adaptací, př kterých se nějakou strategí vyhodnocuje, jestl se jde správným směrem anebo ne. Potom se mění velkost a směr kroku. Jde o kombnac stochastcké a determnstcké stratege. Konvergence algortmů náhodného vyhledávání se všeobecně zaručt nedá a některá odvození jsou značně heurstcká a ntutvní. Napříč tomu se ukazuje, že někdy jsou tyto metody efektvnější než determnstcké. Hlavně v případech skutečně mnohorozměrných a v případech, kdy účelová funkce není zadána analytcky. Uvažujme problém mamalzace účelové funkce f() n reálných proměnných, která je defnovaná na podmnožně R n pomocí systému nerovností. Všeobecně lze algortmus náhodného vyhledávání popsat vztahy ( + 1) = ( ) + ( ) ( ) = a ψ [ ; F( ), ( )] (37) ξ F( ) = F( ) F( 1) První rovnce charakterzuje terační postup metod, třetí rovnce se nazývá zpětná dference účelové funkce. Podle její hodnoty se určuje zlepšení anebo zhoršení účelové funkce. Prostřední rovnce charakterzuje vlastní strateg postupu. V této rovnc a udává velkost kroku, ψ je adaptační funkce, která nějakým nenáhodným způsobem hodnotí předcházející zkušenost teračního postupu a ξ je n-rozměrný náhodný vektor.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 39 II. PRAKTICKÁ ČÁST

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 40 3 REALIZACE PROGRAMŮ Cílem př realzování programů bylo navrhnout a zrealzovat jednotlvé algortmy metod a formou grafckého užvatelského rozhraní zajstt jednoduché a přehledné ovládání. Prostředím pro realzac byl vybrán software Matlab od společnost The MathWorks. Důvodem proč byl vybrán tento software je, že na rozdíl od jných programovacích jazyků byl Matlab vyvnut pro matematcké účely a má možnost přehledné tvorby GUI (grafckého užvatelského rozhraní). 3.1 Pops programového prostředí Matlab je programové prostředí a skrptovací programovací jazyk pro vědeckotechncké numercké výpočty, modelování, návrhy algortmů, počítačové smulace, analýzu a prezentac dat, měření a zpracování sgnálů, návrhy řídcích a komunkačních systémů. Matlab je nástroj, jak pro pohodlnou nteraktvní prác, tak pro vývoj šrokého spektra aplkací. Tento výpočetní systém se během uplynulých let stal celosvětovým standardem v oblast technckých výpočtů a smulací nejen ve sféře vědy, výzkumu a průmyslu, ale v oblast vzdělávání. Matlab 6 je považován za přelom nejen z hledska rozsahu, ntegrace a kvalty produktu, ale především z hledska vztahu k užvatel a jeho pohodlí př prác. Vlastní Matlab není jen v jedné ln základního programu, ale používá se spousta rozšíření (toolbo). Nejznámější a as nejpoužívanější je Smulnk. Je to program pro smulac a modelování dynamckých systémů, který využívá algortmy Matlabu pro numercké řešení nelneárních dferencálních rovnc. Poskytuje užvatel možnost rychle a snadno vytvářet modely dynamckých soustav ve formě blokových schémat a rovnc. Název MATLAB vznkl zkrácením slov MATr LABoratory (volně přeloženo laboratoř s matcem ), což odpovídá skutečnost, že klíčovou datovou strukturou př výpočtech v Matlabu jsou matce. Vlastní programovací jazyk vychází z jazyka Fortran. Výhoda Matlabu je nejen v jeho velkých možnostech, ale v tom, jak je šroce rozšířen v průmyslu a jeho verze estují pro řadu operačních systémů (Un, Lnu, Wndows, Open VMS, IRIX, Solars, Macntosh, HP-UX a další). [7] Matlab je velm mocný nástroj pro řešení a analýzu techncké problematky. Integruje výpočty, vzualzac a programování do jednoduše ovladatelného prostředí, kde problémy a řešení jsou vyjádřeny pomocí dobře známých matematckých vztahů. Typcké použtí zahrnuje:

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 41 Matematku a výpočty Tvorba algortmů Získávání dat Modelování a smulace Analýza dat, výzkum a vzualzace Vědecká a nženýrská grafka Tvorba aplkací, včetně grafckého rozhraní Nejslnější vlastností Matlabu je práce s datovým pol, které není potřeba dmenzovat. To umožňuje řešt mnoho technckých problémů s použtím formulací pomocí vektorů a matc. Př výběru metod, které byly naprogramovány, padla volba na Fbonaccho metodu, metodu zlatého řezu, Newtonovu metodu a metodu regula-fals jako zástupce jednorozměrných optmalzačních metod a Bo-Wlsonovu metodu, metodu fleblního smpleu (Nelder-Mead), Newtonovu metodu, gradentní metody s krátkým a dlouhým krokem a metodu DFP jako zástupce vícerozměrných optmalzačních metod. Kvůl lepší názornost a možnost grafckého znázornění etrému, byly vícerozměrné metody naprogramovány pro dvě proměnné. Pro náslné ukončení a ochranu algortmu prot zacyklení u metod, u kterých toto hrozí, nebylo zvoleno počtu terací, ale čas po který má algortmus běžet. Program se spouští pomocí souboru nde.m. Po jeho spuštění se nám otevře úvodní okno se třem Menu nabídkam (Optmalzace, Průběh funkce, Help). V Menu Optmalzace máme možnost volby ze tří submenu (2D, 3D, Zavřít). 2D slouží k otevření okna pro výběr optmalzačních metod pro jednu proměnnou, 3D pro metody dvou proměnných a Zavřít slouží k zavření okna. Menu Průběh funkce slouží čstě jen pro vykreslení grafu nám defnované funkce na zvoleném ntervalu. Dělení je opět provedeno pro funkce jedné a dvou proměnných. V Menu Help jsou uvedeny popsy jednotlvých polí, použtých v programech.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 42 Obr. 18. Úvodní okno programu Obr. 19. Ukázka oken pro výběr optmalzačních metod V oknech jednotlvých optmalzačních metod jsou pole pro zadávání vstupních parametrů, které daná metoda potřebuje. Dále tlačítko Náhled, které vykreslí graf nám zadané účelové funkce na nám zadaném ntervalu bez provedení výpočtů. Výpočty se spustí tlačítkem Start a zavření okna se provede tlačítkem Zavřít. 3.1.1 Fbonaccho metoda Tato metoda je naprogramována tak, aby hledala mamum funkce na zadaném ntervalu, avšak pomocí zaškrtávacího políčka (checkbo) je možno změnt vyhledávání na mnmum. Před spuštěním je nutno zadat účelovou funkc, nterval na kterém se bude

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 43 hledat daný etrém a počet terací. Po provedení výpočtů je výsledek vypsán do tetových polí. Je zde uvedeno o jaký etrém se jedná, na jakém ntervalu leží a čas běhu výpočtů a dále je vykreslen graf účelové funkce se znázorněním výsledného ntervalu. Obr. 20. Okno Fbonaccho metody 3.1.2 Metoda zlatého řezu Tato metoda je opět naprogramována tak, aby hledala mamum funkce na zadaném ntervalu, avšak volbu etrému je opět možno změnt zaškrtávacím políčkem. Před spuštěním je nutno zadat účelovou funkc, nterval na kterém se bude hledat daný etrém a počet terací. Po provedení výpočtů je výsledek prezentován stejně jako u Fbonaccho metody. Obr. 21. Okno metody zlatého řezu

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 44 3.1.3 Newtonova metoda Jedná se o metodu, která hledá etrém pomocí dervace účelové funkce, tudíž není třeba zvlášť rozlšovat, jaký etrém se má vyhledávat. Zjštění typu etrému se provede dosazením bodů z pravého a levého okolí nalezeného etrému. Před spuštěním výpočtů je nutno zadat počáteční bod na ose a požadovanou přesnost, po které bude algortmus ukončen. Tato přesnost je nejmenší možná vzdálenost mez dvěma mezvýsledky ve dvou po sobě následujících teracích. Výsledky jsou pak prezentovány výpsem typu etrému, jeho hodnotou, pozcí na ose, počtem terací a časem výpočtů. Dále je vykreslen graf účelové funkce se znázorněním počátečního bodu a výsledného bodu. Obr. 22. Okno Newtonovy metody 3.1.4 Regula-Fals Postup př zadávání vstupních parametrů je stejný jako u Newtonovy metody. Rozdíl je však v tom, že zde zadáváme dva počáteční body na ose. Po provedení výpočtů jsou výsledky prezentovány opět jako u Newtonovy metody a v grafu znázorněn výsledný etrém.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 45 Obr. 23. Okno metody regula-fals 3.1.5 Bo-Wlsonova metoda Metoda je naprogramována pro vyhledání mnma mama účelové funkce a tuto volbu určujeme opět pomocí zaškrtávacího políčka. Dále pak zadáváme souřadnce počátečního bodu a délku hrany čtverce, který se bude dle algortmu konstruovat. Argument Tmeout slouží k náslnému přerušení běhu algortmu, a to z důvodu možnost špatné volby hledaného etrému. Pokud neznáme přblžný tvar účelové funkce, je možno užít náhledu na zvoleném ntervalu a poté zvolt vyhledávání mama č mnma. Po provedení výpočtů jsou výsledky prezentovány v tetových polích, a to výpsem druhu etrému a jeho hodnotou, souřadncem etrému, počtem terací a časem výpočtů. Ve vykresleném grafu je znázorněn etrém červeným bodem. Obr. 24. Okno Bo-Wlsonovy metody

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 46 3.1.6 Metoda fleblního smpleu Tato metoda je v zadávání vstupních argumentů stejná jako Bo-Wlsonova metoda. Zde je navíc vstupní parametr přesnost, který slouží k ukončení výpočtů. Je to nejmenší rozdíl mez hodnotam účelové funkce ve vrcholech smpleu. Pokud je rozdíl hodnot účelové funkce ve všech vrcholem menší než zadaná přesnost, je algortmus ukončen a jsou vypsány výsledky. Konstrukce smpleu je provedena dle (16) a (17). Parametry pro redukc a kontrakc byly zvoleny hodnoty α=2,5 a β=0,5 jak je doporučeno v [3]. Obr. 25. Okno metody Nelder-Mead 3.1.7 Gradentní metoda s krátkým a dlouhým krokem U gradentní metody s krátkým krokem musíme zadat počáteční bod, velkost parametru λ (Krok) a Tmeout, který slouží k náslnému ukončení programu, aby bylo ošetřeno možné přeskočení etrému a tím k zacyklení běhu algortmu. Př této událost je vypsána hláška s upozorněním k volbě jné velkost kroku. Jnou možností je také změnt počáteční bod. Př požadavku vyhledávat mnmum účelové funkce musíme zadat parametr λ<0.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 47 Obr. 26. Okno gradentní metody s krátkým krokem U gradentní metody s dlouhým krokem se nezadává parametr λ a není zapotřebí zadávat parametr Tmeout, protože za normálních podmínek by nemělo dojít k zacyklení běhu algortmu. Avšak uvntř kódu je tato doba omezena na 10s. Obr. 27. Okno gradentní metody s dlouhým krokem 3.1.8 Newtonova metoda Př této metodě je nutné nvertovat Hessovu matc druhých parcálních dervací, což nemusí být vždy jednoduchá záležtost. Praktcké výpočty potvrzují rychlou konvergenc metody. Vstupním parametrem je Přesnost pro ukončení a počáteční bod.

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 48 Obr. 28. Okno Newtonovy metody 3.1.9 DFP DFP je zástupce kvaznewtonských metod. Jde o metody, které se snaží spojt jednoduchost gradentní metody a dobrou konvergenc metody Newtonovy. DFP je zákládní metoda toho typu. Vstupním parametrem je pouze počáteční bod. Za symetrckou poztvně defntní matc S, 1 0 která je zmíněna v (36) byla zvolena matce S =. 0 1 Obr. 29. Okno DFP metody

UTB ve Zlíně, Fakulta aplkované nformatky, 2007 49 3.2 Testování metod f( ) = 3 1 4 Funkce: ( ) 2 Analytcké řešení: 11 f ( ) = 2 4 f ( ) = 0 = 1,375 f( ) = 0,8906 0 0 Záps funkce ve tvaru pro Matlab: 3/4*-(-1)^2 f( ) = 3 1 4 Tab. 1: Výsledky pro funkc ( ) 2 f( ) = 3 ( 1) 2 4 Metoda Parametry Výsledek Parametry Výsledek Interval <-5;5> Hledáno mamum Interval <-6;9> Hledáno mamum Fbonacc Počet kroků: 6 Interval <1,1905; 1,6667> Čas: 0,001s Počet kroků: 17 Interval <1,3762;1,3798> Čas: 0,001s Zlatý řez Newton Regula- Fals Interval <-5;5> Počet kroků: 6 Počáteční bod: 5 Přesnost: 0,001 Počáteční body: X1=-12 X2=-7 Přesnost: 0,01 Interval <1,1805; 1,5248> Čas: 0,001s Bod - mnmum [1,375; 0,89063 ] Čas: 0,109s Počet kroků: 1 Bod - mnmum [1,375; 0,89063 ] Čas: 0,063s Počet kroků: 3 Interval <-6;9> Počet kroků: 17 Počáteční bod: 15 Přesnost: 0,01 Počáteční body: X1=15 X2=5 Přesnost: 0,001 Interval <1,3739;1,3765> Čas: 0,015s Bod - mnmum [1,375; 0,89063] Čas: 0,109s Počet kroků: 1 Bod - mnmum [1,375; 0,89063] Čas: 0,062s Počet kroků: 3 Na tomto příkladu je ukázáno, že u komparatvních metod přesnost zjštěné polohy etrému závsí na velkost počátečního ntervalu a počtu terací které se provedou. Pro předem požadovanou přesnost, lze počet terací získat dle vztahu (13). Př stejných podmínkách výsledky ukazují, že metoda zlatého řezu je o něco přesnější než Fbonaccho metoda.