Szakdolgozat. Függvényminimalizálás a Wolfram Mathematica-ban. Matematika BSc. Szerz: : Végh László. Témavezet: : Dr. Vajda Róbert

Hasonló dokumentumok
Konjugált gradiens módszer

2. SZÉLSŽÉRTÉKSZÁMÍTÁS. 2.1 A széls érték fogalma, létezése

A legjobb közeĺıtés itt most azt jelentette, hogy a lineáris

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Számítógépes Modellezés. Egyváltozós függvénydiszkusszió

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Lagrange-féle multiplikátor módszer és alkalmazása

A Newton-Raphson iteráció kezdeti értéktől való érzékenysége

Boros Zoltán február

P 2 P ábra Az f(x) függvény globális minimuma (P 1 ) és egy lokális minimuma (P 2 ).

Matematika III előadás

1. Parciális függvény, parciális derivált (ismétlés)

Numerikus módszerek beugró kérdések

Kétváltozós függvények differenciálszámítása

Gépi tanulás a gyakorlatban. Lineáris regresszió

A lineáris programozás alapjai

MATEMATIKA 2. dolgozat megoldása (A csoport)

Numerikus módszerek 1.

First Prev Next Last Go Back Full Screen Close Quit

First Prev Next Last Go Back Full Screen Close Quit

Utolsó el adás. Wettl Ferenc BME Algebra Tanszék, Wettl Ferenc (BME) Utolsó el adás / 20

ANALÍZIS III. ELMÉLETI KÉRDÉSEK

Nemlineáris programozás 2.

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Többváltozós, valós értékű függvények

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Losonczi László. Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar

Optimalizálási eljárások GYAKORLAT, MSc hallgatók számára. Analízis R d -ben

1/1. Házi feladat. 1. Legyen p és q igaz vagy hamis matematikai kifejezés. Mutassuk meg, hogy

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

A derivált alkalmazásai

Név: RV 1. ZH. Számítógépes Modellezés (Mathematica) A csoport Okt. 15. csütörtök

1. dolgozat Számítógéppel segített matematikai modellezés "A" változat 2009 október 20, kedd

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Matematika A1a Analízis

Többváltozós, valós értékű függvények

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Gauss-Seidel iteráció

9. TÖBBVÁLTOZÓS FÜGGVÉNYEK DIFFERENCIÁLSZÁMITÁSA. 9.1 Metrika és topológia R k -ban

Rekurzív sorozatok. SZTE Bolyai Intézet nemeth. Rekurzív sorozatok p.1/26

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Opkut deníciók és tételek

SZÉLSŐÉRTÉKKEL KAPCSOLATOS TÉTELEK, PÉLDÁK, SZAKDOLGOZAT ELLENPÉLDÁK. TÉMAVEZETŐ: Gémes Margit. Matematika Bsc, tanári szakirány

Felügyelt önálló tanulás - Analízis III.

11. Előadás. 1. Lineáris egyenlőség feltételek melletti minimalizálás

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

A szimplex algoritmus

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

2012. október 2 és 4. Dr. Vincze Szilvia

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

A L Hospital-szabály, elaszticitás, monotonitás, konvexitás

valós számot tartalmaz, mert az ilyen részhalmazon nem azonosság.

Differenciálegyenlet rendszerek

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Chomsky-féle hierarchia

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

Matematika A2 vizsga mgeoldása június 4.

Matematika III előadás

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

Gibbs-jelenség viselkedésének vizsgálata egyszer négyszögjel esetén

A fontosabb definíciók

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Matematika szigorlat június 17. Neptun kód:

12. Mikor nevezünk egy részhalmazt nyíltnak, illetve zártnak a valós számok körében?

GPK M1 (BME) Interpoláció / 16

Függvények folytonosságával kapcsolatos tételek és ellenpéldák

1. A k-szerver probléma

Kalkulus I. gyakorlat Fizika BSc I/1.

25 i, = i, z 1. (x y) + 2i xy 6.1

1. Példa. A gamma függvény és a Fubini-tétel.

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Matematika II. 1 sin xdx =, 1 cos xdx =, 1 + x 2 dx =

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

Egyváltozós függvények 1.

sin x = cos x =? sin x = dx =? dx = cos x =? g) Adja meg a helyettesítéses integrálás szabályát határozott integrálokra vonatkozóan!

3. el adás: Determinánsok

Numerikus módszerek 1.

Sorozatok és Sorozatok és / 18

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Differenciálegyenletek numerikus megoldása

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

MODELLEK ÉS ALGORITMUSOK ELŐADÁS

Hódmezővásárhelyi Városi Matematikaverseny április 14. A osztályosok feladatainak javítókulcsa

Matematika. 4. konzultáció: Kétváltozós függvények szélsőértéke. Parciális függvény, parciális derivált

Matematika alapjai; Feladatok

rank(a) == rank([a b])

Kerényi Péter. Gyökkeresés iterációval

Numerikus integrálás

1. Számsorok, hatványsorok, Taylor-sor, Fourier-sor

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

Arany Dániel Matematikai Tanulóverseny 2017/2018-as tanév 2. forduló Haladók II. kategória

2. sillabusz a Többváltozós függvények kurzushoz

Módszerek széls érték feladatok vizsgálatára

Numerikus módszerek 1.

Átírás:

Szakdolgozat Matematika BSc Függvényminimalizálás a Wolfram Mathematica-ban Szerz: : Végh László émavezet: : Dr. Vajda Róbert Szegedi udományegyetem Bolyai Intézet Analízis anszék 3

artalomjegyzék

. Bevezetés Dolgozatom célja, Rn R képez: függvényeken keresztül bemutatni különböz: minimalizálási módszereket a Wolfram Mathematica program segítségével. (Elég minimalizálással foglalkozni, hiszen a maximalizáláshoz, csupán a függvény --szeresét kell minimalizálni.) A dolgozatban csak kényszerfeltétel nélküli módszerekkel foglalkozunk. Gyakorlatban nagyon hasznos a matematika ezen ága. Különböz: gazdaságtani problémák, mint a hasznosság maximalizása, illetve a kiadás minimalizálása is többváltozós függvény optimalizálási feladatok. A mérnöki tudományokban több tervezési probléma is kifejezhet: optimalizációs feladatként. Ezt az alkalmazást tervezési optimalizációnak nevezzük. Azért választottam e témát, mert egyrészt mindig érdekelt a matematika ezen ága, másrészt a gyakorlatban nagyon fontos szerepe van. A számítógépek fejl: désével, már sokkal hatékonyabban dolgozhatunk hasonló problémákon. A dolgozat els: részében az alapvet: tételeken és definíciókon keresztül felépítjük a lejt: módszerek általános alakját, majd pedig a kés: bbiekben vizsgált gradiens és módosított Newton-Raphson módszert. A harmadik fejezetben egy gazdaságos vonalmenti minimumkeresési stratégiát valósítunk meg a Wolfram Mathematica program segítségével. Ezek után különböz: példákon keresztül mutatjuk be a gradiens és módosított Newton-Raphson módszer m> ködését, illetve azok konvergenciájának gyorsaságát. Foglalkozunk a Mathematica erre a célra beépített funkcióival is, majd pedig összehasonlítjuk az általunk definiált módszerekkel. Alkalmazásként A.x = b alakú lineáris egyenletrendszerek megoldásával foglalkozunk a gradiens módszer segítségével. Az A mátrixról kikötjük, hogy szimmetrikus és pozitív definit. Definiáljuk a QHxL = x Ax -x b kvadratikus alakot, amelyet minimalizálva nyerjük az egyenletrendszer megoldásait. A dolgozat végén a függelékben olvashatóak a használt utasítások leírásai. 3

. Lejt: módszerek.. Alapfeladat Feladat: Legyen adott egy g HxL : D R folytonos függvény, ahol D egy korlátos zárt halmaz Rn -ben. Meg szeretnénk határozni e függvény lokális (vagy totális) minimumhelyét. Az x* Î D minimumhelyre a g HxL ³ g Hx* L egyenl: tlenség teljesül x* valamely környezetében (vagy " x Î D-re)... Definíciók, tételek Definíció: Egy f : R R függvény folytonos az a Ε R pontban, ha n H" Ε > L H$ > L H" x Î RL H x - a < f HxL - f HaL < ΕL. Definícó: Egy H Ì R halmaz korlátos és zárt, ha komplementere nyílt és " a Î H-ra, $ M > úgy, hogy a n < M. Definíció: Egy p vektort a g HxL függvény lejt: jének nevezünk x-ben, ha p ¹ és $ >, hogy " < h < ra Ekkor g HxL lokálisan csökken a p irányában. g Hx + hpl < g HxL. Definíció: Egy g HxL parciálisan differenciálható függvény gradiens vektorán a következ: t értjük: grad g HxL := g HxL x g HxL x... g HxL xn étel: Ha a g H xl függvény parciálisan differenciálható x-ben, illetve grad g H xl p <, akkor p lejt: x-ben. (Elegend: feltétel lejt: létezésére.) Definíció:. vektornorma elliptikus, ha p := Ip A pm, ahol p Î Rn és az A n n-es mátrix szimmetrikus és pozitív definit. Definíció: Egy g HxL függvény legmeredekebb lejt: je az x helyen az. elliptikus vektornormára nézve az a p ¹ vektor, melyre grad g HxL p p = min lokálisan a p irányában csökken maximálisan g HxL. q¹ grad g HxL q q étel: Legyen g HxL parciálisan differenciálható az x helyen, illetve A az elliptikus vektornormához választott szimmetrikus, pozitív definit mátrix. Ekkor a 4

étel: Legyen g HxL parciálisan differenciálható az x helyen, illetve A az elliptikus vektornormához választott szimmetrikus, pozitív definit mátrix. Ekkor a p : = -A - grad g HxL vektor legmeredekebb lejt: x-ben az. elliptikus vektornormára nézve. Definíció: Legyen g HxL legalább kétszer parciálisan differenciálható függvény. Ekkor g HxL Hessemátrixát az alábbi módon definiáljuk: Hg HxL := B g HxL F x j xk H j, k =,,..., nl. Definíció: Legyen g HxL differenciálható függvény. Ekkor g HxL Jacobi-mátrixán a következ: t értjük: Jg HxL := B g HxL F x j H j =,,..., nl. Megjegyzés: Ha g HxL második parciális deriváltjai léteznek az x egy környezetében és folytonosak is xben, akkor a Hg HxL egy szimmetrikus mátrix. A Hesse-mátrixra igaz a következ: : Hg HxL = Jg Hgrad g HxLL, vagyis egy függvény Hesse-mátrixa megegyezik a gradiensének Jacobi-mátrixával..3. Lejt: módszer általános alakja Miután megismerkedtünk az alapvet: definíciókkal illetve tételekkel, a minimum keresésre bevezethetjük a lejt: módszerek általános alakját leíró iterációt. Legyen x Î D tetsz: leges kiinduló pont. Az x lényegében egy általunk választott kezd: közelítés a minimumhelyre, tehát a keresést lerövidítheti egy jól megválasztott kezd: pont. Legyen HL - m xm+ := xm - Αm A grad g Hxm L ahol a Λ = Αm -et a következ: feltétel alapján határozzuk meg: HL g Hxm+ L := min g Ixm - Λ A Λ> Ez a vonalmenti minimum biztosan létezik, és g Hxm+ L < g Hxm L Hm =,,,...L, - m grad g Hxm LM. Hm =,,,...L. Ezzel definiáltuk a lejt: módszerek általános alakját, azonban a gyakorlati alkalmazás el: tt meg kell határoznunk az A m mátrixot. A dolgozatban a két leggyakoribb esetetet vizsgáljuk. Ezek a gradiens és módosított Newton-Raphson módszerek..4. Gradiens és módosított Newton-Raphson módszer A gradiens módszer alkalmazásakor az A m -et xm+ := xm - Αm grad g H xm L az I egységmátrixnak választjuk. Ekkor az Hm =,,,...L, képlettel kapjuk az iteráció lépéseit. Αm -et pedig a () feltételb: l nyerjük. A módosított Newton-Raphson módszer használatakor az A m := Hg Hxm L választandó feltéve, hogy a Hesse-mátrix létezik és nem szinguláris. Ekkor xm+ := xm - Αm @Hg Hxm LD- grad g Hxm L Ha az Αm = -et választjuk, akkor ez a grad g HxL = Hm =,,,...L. nem lineáris egyenletrendszerre alkalmazott Newton-Raphson módszer. Ebben az esetben a NewtonRaphson módszer gyakran túll: a célon. Amikor Αm -et a () feltétel alapján választjuk, akkor a 5

nem lineáris egyenletrendszerre alkalmazott Newton-Raphson módszer. Ebben az esetben a NewtonRaphson módszer gyakran túll: a célon. Amikor Αm -et a () feltétel alapján választjuk, akkor a g Hxm+ L < g Hxm L Hm =,,,...L egyenl: tlenség garantáltan teljesül. A következ: fejezetben a vonalmenti minimum meghatározására keresünk gazdaságos stratégiát. 6

3. Vonalmenti minimum keresés 3.. Alapfeladat Legyen EHxL egy hibafunkcionál, ekkor keressük EHxL minimumhelyét a v, v,... vektorok által meghatározott irányokban. Kiindulásként tekintsük az Hm =,,...; x adottl xm+ := xm - Αm vm iterációt, ahol a Λ = Αm -et az EHxm+ L = min EHxm + Λv m L ΛÎR feltételb: l határozzuk meg. ehát a feladatunk, egyváltozós függvények minimumhelyének közelítése. Definíció: Ha a ΦHΛL : R Hvagy R+ L R függvény konvex és létezik egy véges Λ minimumhelye, akkor Φ unimodális függvény. Mivel minden unimodális függvények pontosan egy minimumhelye van, ezért feladatunk már csak az, hogy véges számú lépésben megadjunk egy Λ -t tartalmazó, Ε > számnál kisebb hosszúságú intervallumot. Kihasználva az unimodális függvények tulajddonságait, ha Λ Î Ha, bl, a < Λ < Λ < b és ha ΦHΛ L ΦHΛ L, akkor Λ Î Ha, Λ L; ha ΦHΛ L > ΦHΛ L, akkor Λ Î HΛ, bl. 3.. Minimum keres: stratégia Legyen adott Λ Î Ha, bl, ΦHaL, ΦHbL és Ε >. Rögzítsük a < ` Ε számot. A közelítés a következ: képpen m> ködik: a+b a+b ΦI Ha a ΦI Ha a a+b a+b - M > ΦI - M ΦI Λ Î Ia, a+b + M; a+b Λ Î I -, bm. + M, akkor + M, akkor A fed: intervallumok hossza az b-a. lépésben:. lépésben: k. lépésben: b-a k + J + I b-a +, + M + =... +... + k- N= b-a 4 b-a k + I + M, + J - k- N» b-a k +, Mivel a ` Ε, ezért a k-adik fed: intervallum hossza megközelít: leg Hb - al -k. Legyen k a következ: feltételb: l: b-a k <Ε b-a k -. Ekkor b-a < k, Ε b-a k := Alog E +, Ε k - ahol [Α] az Α valós szám egészrészét jelöli. A lépések száma k, azonban minden egyes lépésben két függvényértéket kell kiszámolni. 7

ahol [Α] az Α valós szám egészrészét jelöli. A lépések száma k, azonban minden egyes lépésben két függvényértéket kell kiszámolni. 3.3. Megvalósítás Wolfram Mathematica-ban El: ször is feltesszük, hogy Λ pozitív. Els: lépésben definiáljuk a Mini függvényt, amely meghatározza a fed: intervallumokat a fent meghatározott k lépésben. A függyvény hívásához öt paramétert kell megadnunk. El: ször azt a függvényt, melynek minimum helyét szeretnénk közelíteni, majd annak változóját. A harmadik paraméter egy Ε > szám, amellyel a kívánt pontosságot tudjuk meghatározni az el: z: alfejezetben tárgyalt k definíciója szerint. Utolsó két paraméterként a kezd: intervallum két végpontját kell megadnunk. (Megjegyzés: -t el: re definiáltuk a mini függvényen belül.) Miután a függvény sikeresen hívódott, visszatér a fed: intervallumok sorozatával. Mini@expr_, var_, Ε_, a_, b_d := ModuleB8 = ^ - 8, k = Floor@Log@, Hb - al ΕDD + <, min@8a_, b_<d := IfB expr. var -> F :a, b + a + >, : b + a b + a -, b>f; N@NestList@min, 8a, b<, kd, D + ³ expr. var -> b + a -, A következ: függvényen keresztül bemutatjuk a Mini m> ködését. 3 64 Λ Λ - + 9-3 Λ3 + 6 Λ4 7 Ábrázolva jól látható, hogy a Λ pozitív, azonban nem könny> meghatározni a pontos értékét. ΦHΛL= Λ 64 Λ + -3 Λ3 +6 Λ4 3 9 7 y 3 5 5 5 x - - A Mini meghívása a [,3] kezd: intervalummal lesz> kíti a minimum lehetséges helyét a @.8789644,.884765639D intervallumra. Persze az Ε változtatásával a pontosság növelhet:. 8

@,3.D @,.5D @.749999995,.5D @.749999995,.5D @.749999995,.937538D @.8437499944,.937538D @.8437499944,.89654D @.86787494,.89654D @.8789644,.89654D @.8789644,.884765639D Itt azonban egy problémába ütközhetünk. Nem tudhatjuk el: re, hogy a kezd: intervallumnak milyen végpontot adjunk meg. Mivel nem ismerjük a minimum pontos helyét elképzelhet:, hogy a kezd: intervallum nem is tartalmazza azt. Kihasználva, hogy a minimalizálandó függvényünk unimodális, definiáljuk a következ: SelectREPoint@expr_, var_d := Module@8r =, f = expr. var <, While@Hexpr. var rl <= f, r ++D; rd segédfüggvényt. A SelectREPoint egy olyan pontot keres, ahol a függvényérték már nagyobb vagy egyenl: mint a kezd: fed: intervallum bal végpontjában. Addig, amíg nem talál ilyen pontot egyessével megy végig a számegyenesen. Az els: olyan pontot adja vissza, ahol már nagyobb a függvény értéke, mint a kezd: pontban. Mivel függvényünk unimodális és feltettük, hogy Λ >, ezért az Λ = és a talált pont között kell lennie a minimumnak. Paraméterként a minimalizálandó kifejezést és annak változóját kapja meg. Bemutatjuk hívását ΦHΛL-ra. SelectREPoint@Φ@ΛD, ΛD Ezzel lesz> kítettük Λ lehetséges helyét a @, D intervallumra Ezek után a Mini utasítást kiegészítve a SelectRePoint-tal egy gyorsabb közelítést kapunk, hiszen kezd: intervallumunk finomabban választott. Jelen esetben azért kapunk mégis hosszabb iterációt, mert Ε-t kisebbnek választottuk, ezáltal pontosabb a közelítés. @,.D @,.D @.499999995,.D @.749999995,.D @.87499999,.D @.87499999,.93756D @.87499999,.9659D @.87499999,.8965D @.88849,.8965D @.88849,.8867876D @.88849,.884765636D @.883789537,.884765636D @.884773349,.884765636D @.884773349,.88454955D @.88439945,.88454955D @.88439945,.88446464D A következ: ábrán szemléltetjük a vonalmenti minimum keresés stratégiájának m> ködését. 9

Lépések száma ávolság 5 4 3-4 6 8 Vonalmenti minimum keresés

4. Példák a gradiens és módosított NewtonRaphson módszerekre 4.. Gradiens módszer Ebben a fejezetben a gradiens módszer gyakorlati alkalmazásával fogunk megismerkedni. Vizsgáljuk, hogyan lehet megvalósítani a Wolfram Mathematica-ban, illetve milyen lehet: ségeket biztosít számunkra a program. f@8x_, y_<d = y4 - y + x + x y + x + y + ; 3 A következ: kben a fenti példán keresztül szemléltetjük a gradiens módszert. A példákat megoldjuk a Wolfram Mathematica beépített funkcióival, illetve összehasonlítjuk az általunk definiált módszer viselkedésével. Ábrázoljuk a függvényt az x Î @-5, 3D, y Î @-, D tartományon szintvonalakkal. 5 5-4 - y - x - Szépen kirajzolódik az ábrán a két lokális minimumhely, azonban széls: érték kereséshez optimálisabb az alábbi síkábrázolás.

y - - -4 - x A továbbiakhoz meg kell határoznunk a függvény gradiens vektorát. Ezt egyszer> en megadhatjuk. gf@8x_, y_<d = D@f@8x, y<d, 88x, y<<d; MatrixForm@gf@8x, y<dd + x 3 +y + x - 4 y + 4 y3 Már definiálhatjuk az It eljárást, ami lényegében a gradiens módszer megvalósítása. Miután Λ-ra ad egy jó közelítést a mini segítségével, visszatér az x - Λ grad ghxl értékkel. Emlékeztet: ül, itt az A m = I egységmátrix. Paraméterként egy kezd: pont megadása szükséges. It@8x_, y_<d := Module@8Λ, list<, list = Mini@f@8x, y< - Λ gf@8x, y<dd, Λ,,, SelectREPoint@f@8x, y< - Λ gf@8x, y<dd, ΛDD; Λ = Last@listD@@DD; 8x, y< - Λ gf@8x, y<dd Egy pontokból álló listát ad vissza, amely közelíti f Hx, yl lokális minimumhelyét. Használatára mutatunk egy példát. Legyen a kezd: pontunk a 8-, <. 8-.,.< 8-3.7,.< 8-3.6,.549693< 8-3.9436,.543539< Legyen > kicsi. Összevetve az el: z: ábrával, a kapott pont sugarú környezetében valóban van minimumhely. Ezek után szemléltetjük a módszer m> ködését különböz: kezd: pontokból.

Manipulate@ Module@8list, list<, list = NestList@It, ic, 4D; list = NestList@It, ic, 4D; ContourPlot@f@8x, y<d, 8x, - 5, 3<, 8y, -, <, Contours 8,,,, 5, 3,, 7<, PlotPoints, ContourShading False, Epilog 8Point@listD, Point@listD, Red, Line@listD, Line@listD, Blue, PointSize@.3D, Point@8-3.334873574535`,.5658386693`<D, Point@8.86889637385`, -.496448693`<D<, ImageSize 83, 3<D D, 88ic, 8.5, <<, Locator<, 88ic, 8-3.75, - <<, Locator<, SaveDefinitions rue, rackedsymbols 8ic, ic<, FrameLabel Style@"Gradiens módszer", Red, 6D D - - -4 - Gradiens módszer Most vizsgáljuk példánkat a Mathematica által kínált lehet: ségekkel. Az egyik hasznos utasítás a FindMinimum, amely függvények minimalizálását végzi. Kett: paraméter szükséges a hívásához. Els: a minimalizálandó kifejezés, majd a változók. Illetve kezd: pontot is megadhatunk neki, így segítve bizonyos lokális minimumok keresését. FindMinimum@f@8x, y<d, 8x, y<d 8-.3788, 8x - 3.3349, y.566<< Eredményül egy listát ad, amelynek els: eleme a minimum értéke, a második elem pedig a helye. A FindMinimum egy opciója a metódus kiválasztása, esetünkben a gradiens módszer. Nekünk csak a pont helye kell, erre azonban könnyen hivatkozhatunk a @@, DD paranccsal. Így definiálhatjuk az It iterációt: 3

It@8a_, b_<d := Reap@FindMinimum@f@8x, y<d, 88x, a<, 8y, b<<, Gradient gf@8x, y<d, Method "Gradient", StepMonitor Sow@8x, y<ddd@@, DD Az 8, < pontból való meghívása után látható, hogy egy olyan pontsorozattal tért vissza amely valóban egy lokális minimumhoz konvergál. 8.55458,-.584< 8.97599,-.3< 8.84946,-.4< 8.8687,-.4< 8.8689,-.49< Hasonló módon prezentáljuk a m> ködését. 4

Manipulate@ Module@8list, list<, list = Reap@FindMinimum@f@8x, y<d, 88x, ic@@dd<, 8y, ic@@dd<<, Gradient gf@8x, y<d, Method "Gradient", StepMonitor Sow@8x, y<ddd@@, DD; list = Join@8ic<, listd; list = Reap@FindMinimum@f@8x, y<d, 88x, ic@@dd<, 8y, ic@@dd<<, Gradient gf@8x, y<d, Method "Gradient", StepMonitor Sow@8x, y<ddd@@, DD; list = Join@8ic<, listd; ContourPlot@f@8x, y<d, 8x, - 5, 3<, 8y, -, <, Contours 8,,,, 5, 3,, 7<, PlotPoints, ContourShading False, Epilog 8Point@listD, Point@listD, Red, Line@listD, Line@listD, Blue, PointSize@.3D, Point@8-3.334873574535`,.5658386693`<D, Point@8.86889637385`, -.496448693`<D<, ImageSize 83, 3<D D, 88ic, 8.5, <<, Locator<, 88ic, 8-3.75, - <<, Locator<, rackedsymbols 8ic, ic<, SaveDefinitions rue, FrameLabel Style@"A Mathematica által beépített gradiens módszer", Red, 6D D - - -4 - A Mathematica által beépített gradiens módszer Könnyen észrevehet: a két eredmény közötti különbség, legf: képpen a konvergencia sebességének külünbsége szembeötl:. Nyilván az általunk definiált módszer is jó, csupán a Mathematica által kínált funkció nem a hagyományos gradiens módszer megvalósítása. 4.. Módosított Newton-Raphson módszer A módosított Newton-Raphson módszert a Rosenbrock függvényen keresztül mutatjuk be. A függvényünk minimuma egy parabolikus völgyben helyezkedik el. Általában, ha egy módszer eléri a völgyet ott oszcillálni kezd. Egy nem optimális minimumkeres: stratégiát használva, a völgyben a konvergencia lelassul. Gyakran a Rosenbrock függvényen szokták vizsgálni, hogy egy stratégia men5 nyire hatékony.

A módosított Newton-Raphson módszert a Rosenbrock függvényen keresztül mutatjuk be. A függvényünk minimuma egy parabolikus völgyben helyezkedik el. Általában, ha egy módszer eléri a völgyet ott oszcillálni kezd. Egy nem optimális minimumkeres: stratégiát használva, a völgyben a konvergencia lelassul. Gyakran a Rosenbrock függvényen szokták vizsgálni, hogy egy stratégia mennyire hatékony. g@8x_, y_<d = H - xl + Iy - x M ; Könnyen látható, hogy az g H, L = globális minimum helye a függvényünknek. Más lokális minimumhelye nem létezik. y - 4 3 -. -.5. x.5. A kétdimenziós szintvonalas ábrán valóban kirajzolódik a parabolikus völgy. y - - - - x Jelen esetben az A mátrixot is. m = Hg Hxm L. ehát meg kell határoznunk a gradiens vektort és a Hesse- 6

gg@8x_, y_<d = D@g@8x, y<d, 88x, y<<d Expand; MatrixForm@gg@8x, y<dd - + x + 4 x3-4 x y - x + y A Hesse-mátrix pedig: hg@8x_, y_<d = D@g@8x, y<d, 88x, y<<, 88x, y<<d; MatrixForm@hg@8x, y<dd + 8 x - 4 H- x + yl - 4 x - 4 x A gradiens módszerhez hasonlóan definiáljuk a módosított Newton-Raphson iteráció egy lépését. NIt@8x_, y_<d := Module@8Λ, list<, list = Mini@g@8x, y< - Λ Inverse@hg@8x, y<dd.gg@8x, y<dd, Λ,,, SelectREPoint@g@8x, y< - Λ Inverse@hg@8x, y<dd. gg@8x, y<dd, ΛDD; Λ = Last@listD@@DD; 8x, y< - Λ Inverse@hg@8x, y<dd. gg@8x, y<d D Meghívjuk a 8-, -< kezd: pontból. 8-.,-.< 8-.9956,.99847< 8-.94563,.89733< 8-.94553,.8968434< 8-.9454,.8966546< Ezek után szemléltetjük a módszer m> ködését 4 lépéssel hívva NIt-t. - - - - Módosított Newton-Raphson módszer Látható, hogy amint eléri a völgyet az iteráció lelassul és oszcillálni kezd. (Megjegyzés: A gradiens módszer is hasonlóképpen beragad.) A beépített módosított Newton-Raphson módszerrel sokkal hatékonyabban lehet közelíteni a minimumhelyet. Definiálhatjuk a módosított Newton-Raphson módszer következ: megvalósítását. Legyen 7

Látható, hogy amint eléri a völgyet az iteráció lelassul és oszcillálni kezd. (Megjegyzés: A gradiens módszer is hasonlóképpen beragad.) A beépített módosított Newton-Raphson módszerrel sokkal hatékonyabban lehet közelíteni a minimumhelyet. Definiálhatjuk a módosított Newton-Raphson módszer következ: megvalósítását. Legyen NIt@8a_, b_<d := Reap@FindMinimum@g@8x, y<d, 88x, a<, 8y, b<<, Gradient gg@8x, y<d, Method 8"Newton", "Hessian" hg@8x, y<d<, StepMonitor Sow@8x, y<ddd@@, DD a szükséges iteráció. Meghívásához egy kezd: pont megadása szükséges. Lássunk erre egy példát a 8, < pontból. 8.99834,3.99334< 8.8383,3.959< 8.7765,.957< 8.5637,.678< 8.4549,.< 8.36439,.8597< 8.4749,.5456< 8.89,.398< 8.8476,.674< 8.55,.4< 8.84,.435< 8.5,.5< 8.,.3< 8.,.< 8.,.< Az ábrán látható, hogy sokkal gyorsabban konvergál a minimumhoz az általunk definiált módszernél. - - - - Beépített Newton-Raphson módszer Könnyen lehet, hogy olyan problémával kerülünk szembe, amelyekre a bemutatott két módszer nem elég hatékony. Ha globális minimumot keresünk célszer> bb más módszereket választani. A gradiens és módosított Newton-Raphson módszer nem teljes eljárások, azaz lehetséges, hogy nem a globális minimumhoz konvergálnak. Léteznek egzakt eljárások, amelyek biztosan eljutnak a globális 8 mindig kell valami plusz információ a feladatról, minimumhoz. Azonban ezekhez a módszerekhez általános esetre nem létezik algoritmus. Az ilyen egzakt eljárásokhoz tartoznak a Lipschitz tulajdonságon alapuló módszerek. Err: l a [3]-al jelölt szakirodalomban részletesebben lehet olvasni. A dolgozat-

Könnyen lehet, hogy olyan problémával kerülünk szembe, amelyekre a bemutatott két módszer nem elég hatékony. Ha globális minimumot keresünk célszer> bb más módszereket választani. A gradiens és módosított Newton-Raphson módszer nem teljes eljárások, azaz lehetséges, hogy nem a globális minimumhoz konvergálnak. Léteznek egzakt eljárások, amelyek biztosan eljutnak a globális minimumhoz. Azonban ezekhez a módszerekhez mindig kell valami plusz információ a feladatról, általános esetre nem létezik algoritmus. Az ilyen egzakt eljárásokhoz tartoznak a Lipschitz tulajdonságon alapuló módszerek. Err: l a [3]-al jelölt szakirodalomban részletesebben lehet olvasni. A dolgozatban azonban ezekkel az eljárásokkal már nem célunk foglalkozni. 9

5. Lineáris egyenletrendszerek megoldása gradiens módszerrel 5.. Minimalizálandó kvadratikus alak Vegyünk egy A x = b alakú lineáris egyenletrendszert, ahol A egy n n-es mátrix. Ahhoz, hogy egyenletrendszerünk egyértelm> en megoldható legyen fel tesszük, hogy A szimmetrikus és pozitív definit. Ezek után definiáljuk a QHxL := x A x - x b kvadratikus alakot. ovábbá kihasználva azt, hogy x A v = v A x, igaz a következ: összefüggés (3) QHx + Λ vl - QHxL = Λ v A x + Λ x A v + Λ v A v - Λ v b = Λ v A v - Λ v r, ahol r := b - A x maradékvektor. Lemma: A QHxL kvadratikus alak akkor és csakis akkor veszi fel minimumát x* -ban, ha az A x = b lineráris egyenletrendszernek megoldása x*. Bizonyítás: Legyen h ¹ tetsz: leges vektor. Ekkor a (3) összefüggés szerint QHx* + hl - QHx* L = h A h - h Hb - A x* L = h A h >, mivel A x* = b, és az A mátrix pozitív definit. à Ezzel elértük, hogy egy lineáris egyenletrendszert nem lineáris módszerekkel oldjunk meg. 5.. Általános iteráció Definíció: Legyen xm egy közelítés x* -ra és legyen vm ¹ egy vektor. Értelmezzük az Hm =,,,...L xm+ := xm + Α vm iterációt, ahol a Λ := Αm -et a következ: feltételb: l határozzuk meg QHxm+ L = min QHxm + Λ vm L. ΛÎR étel: Igazak a következ: tulajdonságok (i) (ii) (iii) Αm = vm rm vm A vm, Q Hxm+ L -Q Hxm L = vm rm+ = Bizonyítás: (i) A (3) összefüggésb: l ahol rm := b - A xm ; Ivm rm M vm A vm, Hm =,,,...L. ΦHΛL := QHxm + Λ vm L = Λ vm A vm - Λ vm rm + QHxm L, Φ egy másodfokú polinom Λ-ban. A minimumhely ott van, ahol a derivált elt> nik: Φ HΛL = Λ vm A vm - vm rm =, Λ= vm rm vm A vm = : Αm.

Φ HΛL = Λ vm A vm - vm rm =, Λ= vm rm vm A vm = : Αm. A nevez: nem lehet nulla, hiszen az A mátrix pozitív definit. (ii) Szintén a (3)-ból adódik: QHxm+ L - QHxm L = Ivm rm M vm A vm Αm vm A vm - Αm vm rm = Ivm rm M - vm A vm Ivm rm M vm A vm =- (iii) Felhasználva, hogy rm+ := b - A xm+ = b - AHxm + Αm vm L = rm - Αm A vm, kapjuk (i)-b: l vm rm+ = vm rm - Αm vm A vm = vm rm - vm rm =. Ezzel bebizonyítottuk mindhárom állítást. à 5.3. A gradiens módszer képletei Ha a QHxL kvadratikus alakot gradiens módszerrel szeretnénk minimalizálni, akkor a v vektort a következ: képpen kell választani: v := -grad QHxL. Meg kell határoznunk QHxL-et. Ezt egyszer> en megtehetjük, mivel QHxL := x A x - x b = Ezek után kapjuk QHxL xp tehát Ú Ú a j k x j xk - Ú b j x j. n n j= k= = Ú a p k xk - b p n k= n j= Hp =,,,..., nl, grad QHxL = A x - b = -r. Definiálhatjuk a gradiens módszer képleteit: vm := -grad QHxm L = rm, xm+ := xm + Αm rm. Az 5.. fejezetben taglalt összefüggések a következ: módon változnak: (i ) Αm := rm rm rm A rm, rm+ := rm - Αm A rm, (ii ) (iii ) Q Hxm+ L -Q Hxm L = rm rm+ = Irm rm M rm A rm, Hm =,,,...L. 5.4. Példák lineáris egyenletrendszerek megoldására Az el: z: alfejezetben tárgyalt képletek alapján definiáljuk LIt magfüggvényt, amit iterálva minimalizálhatjuk a QHxL kvadratikus alakot.

LIt@88x_<, 8y_<<D := Module@8r = Hb - A.88x<, 8y<<L<, N@H88x<, 8y<< + r.hranspose@rd.r Hranspose@rD.A.rLLLD D Az els: példánk a következ: két egyenletb: l álló két változós egyenletrendszer x+y =3 x+5y = Jelen esetben az A=K O; 5 3 b = K O; Definiáljuk a feladathoz tartozó kvadratikus alakot. Q@8x_, y_<d = :- 3 x + x 8x, y<.a.8x, y< - 8x, y<.b Expand 5 y -y+xy+ > Majd pedig a hozzá tartozó gradiens vektort. K -3 + x + y O - + x + 5 y A LinearSolve-ot használva, megoldhatunk lineáris egyenletrendszereket. LinearSolve@88, <, 8, 5<<, 83, <D 83, - 5< A láthatjuk, hogy QHxL-nak az x = 3 és y = -5 pontban kell, hogy legyen a minimuma. A gradiens módszerrel valóban erre az eredményre jutunk. Az ábrán jól látható ahogyan a szintvonalak egy pontra, a gradiens módszer által talált minimumra húzódnak.

list = Map@ð. 88x_<, 8y_<< 8x, y< &, NestList@LIt, 884<, 8-4<<, 5DD; Labeled@ContourPlot@Q@8x, y<d, 8x,, 5<, 8y, - 7, - 3<, Contours 8-5, - 6.6, - 6.8, - 6.9, - 6.99<, ContourShading False, Epilog 8Point@listD, Red, Line@listD, Blue, PointSize@.3D, Point@83, - 5<D<, FrameLabel 8x, y<, ImageSize 83, 3<D, "QHxL minimalizálása", Bottom, LabelStyle 86, Red<D -3 y -4-5 -6-7 3 4 5 x QHxL minimalizálása Ezzel megoldottunk egy kétdimenziós lineáris egyenletrendszert nem lineáris eszközökkel. A következ: kben már egy 3 dimenziós példával foglalkozunk. Legyen x+y +z= x+5y +z=9 x + y + 4 z = - A = 5 ; 4 b = 9 ; - Ehhez konstruáljuk a kvadratikus alakot. (Megjegyzés: Az Expand utasítás csupán leegyszer> síti kifejezésünket.) Q @8x_, y_, z_<d = :- x + x -9y+xy+ 8x, y, z<.a.8x, y, z< - 8x, y, z<.b Expand 5 y + z + x z + y z + z > Módosítjuk az LIt-t 3 változóra. 3

LIt @88x_<, 8y_<, 8z_<<D := Module@8r = Hb - A.88x<, 8y<, 8z<<L<, N@H88x<, 8y<, 8z<< + r.hranspose@rd.r Hranspose@rD.A.rLLLD D LinearSolve-al megoldva az egyenletrendszert látjuk, hogy a minimum az x = -7, y = 5, z = - pontban van. MatrixForm@LinearSolve@A, b DD -7 5 - LIt-t 5-szer iterálva is, még elég messze vagyunk a minimumtól. Nest@LIt, 88-5<, 8- <, 8<<, 5D 88-6.636<, 84.83849<, 8-.98<< Most szintfelületekkel szemléltetjük a talált minimumhely helyességét. Függvényérték 8 y 6 4 z - - -3-5 - x -5 Az ábrán látható, ahogyan a szintfelületek a minimumpontra húzódnak, a függvényértékkel közelítve a minimumértékéhez. 4

6. Függelék Ebben a részben a témához tartozó, a Wolfram Mathematica által biztosított legfontosabb utasításokat gy> jtjük ki és mutatjuk be. Nest[f, kif, n] Iteráció megvalósítására szolgál. Az f függvényt alkalmazza kif-re n-szer. f@x_d = x ; Nest@f, x, 5D x3 NestList[f, kif, n] Hasonlóan m> ködik mint a Nest, azonban egy listát ad vissza, amelyben az iterációs sorozat els: n db eleme látható. NestList@f, x, 5D 9x, x, x4, x8, x6, x3 = NestWhileList[f, kif, teszt] Végrehajtja kif-re f-et mindaddig, amíg a teszt teljesül, aztán megáll. NestWhileList@Sqrt, 3 ^ 5, ð > 3 &D :43, 9 3, 3 3 4, 35 8 > N[kif, n] A paraméterként kapott kifejezés numerikus értékét adja vissza n db tizedesjegyig. N@Pi 5, D.6838537 FindMinimum[f, {{x, x}, {y, y},...}] Lokális minimumkeresésre szolgál. Numerikusan keresi f minimumát az {x, y,...}-ból indulva. Megadja a függvény minimumát, majd pedig annak helyét. A továbbiakban az alább definiált f függvénnyel dolgozunk. f@8x_, y_<d = y4 - y + x + x y + x + y + ; 3 FindMinimum@f@8x, y<d, 88x, <, 8y, <<D 8-.3788, 8x - 3.3349, y.566<< A FindMinimum-nak vannak opciói, egy ilyen például a Method amellyel a kívánt módszer adható meg. A válsztható módszerek: Newton, PrincipalAxis, Gradient, ConjugateGradien, LevenbergMarquardt, QuasiNewton, InteriorPoint, LinearProgramming. Azonban ezen eljárások mindegyikével már nem foglalkozunk. Az alábbi módon használható. gf@8x_, y_<d = D@f@8x, y<d, 88x, y<<d : + x 3 + y, + x - 4 y + 4 y3 > 5

FindMinimum@f@8x, y<d, 88x, <, 8y, <<, Method "Gradient", Gradient gf@8x, y<dd 8-.667, 8x.8689, y -.49<< Másik lokális minimumot talál a gradiens módszerrel, mert az alapértelmezett módszerként Automatic opciót használ. A kapott kifejezéshez automatikusan választja az opciót. Minimize[f, {x, y,...}] Szintén minimalizálásra alkalmas. Ha f lineáris vagy polinom, akkor mindig a globális minimummal tér vissza. Ha olyan kifejezést adunk meg, amiben közelített értékek vannak, automatikusan hívja az NMinimize-t. Minimize@f@8x, y<d, 8x, y<d 9 + RootA9 97 + 43 ð + 4 74 ð + 496 ð3 &, E, 9x RootA99 97 + 43 ð + 4 74 ð + 496 ð3 &, - 3-4 ð - ð - ð + 4 ð4 &, - 3 ð + 3 ð - 6 ð + 3 ð4 + 3 ð3 + 3 ð ð3 + ð3 &=, 8,, <E, y RootA 99 97 + 43 ð + 4 74 ð + 496 ð3 &, - 3-4 ð - ð - ð + 4 ð4 &=, 8, <E== Az NMinimize mindig numerikusan keresi a minimumot. NMinimize@f@8x, y<d, 8x, y<d 8-.667, 8x.8689, y -.49<< MinValue[f, {x, y,...}], NMinValue[f, {x, y,...}] Az f minimumával tér vissza. Ekvivalens a First[Minimize[...] ] utasítással. MinValue@f@8x, y<d, 8x, y<d + RootA9 97 + 43 ð + 4 74 ð + 496 ð3 &, E NMinValue@f@8x, y<d, 8x, y<d -.667 LinearSolve[A, b] Egy A.x = b alakú lineáris egyenletrendszer megoldására szolgál. Legyenek A= -3 ; - 4 b= 5 ; 7 MatrixForm@LinearSolve@A, bdd 67 5-8 6 4 ArgMin[f, {x, y,...}], NArgMin[f, {x, y,...}] Az ArgMin szimbolikusan keresi f minimumhelyét. Ha f lineáris vagy polinom, akkor mindig a globális minimumhellyel tér vissza. Illetve, ha f nem szimbolikus, akkor automatikusan hívja NArgMin-t, amely numerikusan keresi a minimumhelyet. Valójában ekvivalens a {x, y,...} /. Last[Minimize[...]] utasítással. 6

ArgMin[f, {x, y,...}], NArgMin[f, {x, y,...}] Az ArgMin szimbolikusan keresi f minimumhelyét. Ha f lineáris vagy polinom, akkor mindig a globális minimumhellyel tér vissza. Illetve, ha f nem szimbolikus, akkor automatikusan hívja NArgMin-t, amely numerikusan keresi a minimumhelyet. Valójában ekvivalens a {x, y,...} /. Last[Minimize[...]] utasítással. ArgMin@f@8x, y<d, 8x, y<d 9RootA99 97 + 43 ð + 4 74 ð + 496 ð3 &, - 3-4 ð - ð - ð + 4 ð4 &, - 3 ð + 3 ð - 6 ð + 3 ð4 + 3 ð3 + 3 ð ð3 + ð3 &=, 8,, <E, RootA99 97 + 43 ð + 4 74 ð + 496 ð3 &, - 3-4 ð - ð - ð + 4 ð4 &=, 8, <E= NArgMin@f@8x, y<d, 8x, y<d 8.8689, -.49< 7

7. Irodalomjegyzék [] [] [3] [4] Móricz Ferenc, Numerikus módszerek az algebrában és analízisben, Polygon Jegyzettár (Szeged, 997), 69-86. o. http://demonstrations.wolfram.com/minimizingherosenbrockfunction/, http://www.math.bme.hu/~bog/globopt/globopt_hun.pdf Wolfram Research, Inc., Mathematica, Version 9., Champaign, Illinois,. 8

8. Köszönetnyilvánítás Ezúton szeretnék köszönetet mondani témavezet: mnek, Dr. Vajda Róbertnek, aki hasznos tanácsaival és kérdéseimre adott válaszaival, valamint érdekes felvetéseivel nagyon sokat segített dolgozatom megírásában. Ajánlott szakirodalmakkal pedig nagyban könnyítette munkámat. Valamint szeretném megköszönni Megyeri Istvánnak a sok türelmet, illetve támogatást. Végül, de nem utolsó sorban hálásan köszönöm családomnak, hogy mindvégig mellettem álltak és támogattak tanulmányaim alatt. 9

9. Nyilatkozat Alulírott... kijelentem, hogy a szakdolgozatban foglaltak saját munkám eredményei, és csak a hivatkozott forrásokat (szakirodalom, eszközök, stb.) használtam fel. udomásul veszem, hogy a szakdolgozatomat a Szegedi udományegyetem könyvtárában a kölcsönözhet: könyvek között helyezik el, és az interneten is nyilvánosságra hozhatják. 3