Szakdolgozat. Miskolci Egyetem. Nemlineáris programozás. Készítette: Horváth Gábor Programtervező informatikus hallgató

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Szakdolgozat. Miskolci Egyetem. Nemlineáris programozás. Készítette: Horváth Gábor Programtervező informatikus hallgató"

Átírás

1 Szakdolgozat Miskolci Egyetem Nemlineáris programozás Készítette: Horváth Gábor Programtervező informatikus hallgató Témavezető: Dr. Nagy Tamás egyetemi docens, Alkalmazott Matematikai Tanszék Miskolc, 2013

2 Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Matematikai Tanszék Szám: Szakdolgozat Feladat Horváth Gábor (GWUVPQ) programtervező informatikus jelölt részére. A szakdolgozat tárgyköre: operációkutatás A szakdolgozat címe: Nemlineáris programozás A feladat részletezése: Irodalomkutatás. Történeti áttekintés. Feltételes és feltétel nélküli optimalizálás. Newton és kvázi Newton módszerek, SUMT módszer. Bemenő adatok beviteli terve, kimenő adatok megjelenítési terve. Az algoritmusok programkódjának elkészítése. WEB-es megjelenítés. Témavezető: Dr. Nagy Tamás, egyetemi docens A feladat kiadásának ideje: szakfelelős 2

3 1. A szakdolgozat feladat módosítása szükséges (módosítás külön lapon) nem szükséges dátum témavezető(k) 2. A feladat kidolgozását ellenőriztem: témavezető (dátum, aláírás): konzulens (dátum, aláírás): A szakdolgozat beadható: dátum témavezető(k) 4. A szakdolgozat szövegoldalt program protokollt (listát, felhasználói leírást) elektronikus adathordozót (részletezve) egyéb mellékletet (részletezve) tartalmaz dátum témavezető(k) 5. bocsátható A szakdolgozat bírálatra nem bocsátható A bíráló neve: dátum szakfelelős 6. A szakdolgozat osztályzata a témavezető javaslata: a bíráló javaslata: a szakdolgozat végleges eredménye: Miskolc, a Záróvizsga Bizottság Elnöke 3

4 Tartalomjegyzék 1. Bevezetés 5 2. Téma elméleti kifejtése Történeti áttekintés Feltétel nélküli optimalizálás Alapfogalmak Az optimalitás szükséges és elégséges feltételei A feladat megoldásának módja A feltétel nélküli optimalizálás numerikus módszerei Newton módszer Kvázi Newton módszerek Newton módszerek vonalmenti minimumkereséssel Feltételes optimalizálás Alapfogalmak KKT feladat A feltételes optimalizálás numerikus módszerei Büntetőfüggvényes SUMT Fejlesztői dokumentáció Bemenő adatok beviteli terve Kimenő adatok megjelenítési terve Programkód Newton módszer Kvázi Newton módszerek SUMT módszer Megjegyzések Összefoglalás 38 Irodalomjegyzék 40 Adathordozó használati útmutató 41 4

5 1. fejezet Bevezetés Az Operációkutatás nevű tantárgy során rengeteg, korábban nem tárgyalt matematikai problémával és ezek megoldási módszereivel találkoztunk. Az egyik alapvető típusa ezeknek a függvények szélsőértékének kereséséhez kötődik. A vizsgált függvény jellegéből adódóan megkülönböztethetünk többek között lineáris, egész értékű és nemlineáris optimalizálást. Különösen az utóbbi terület az, ami kiemelkedik a többi közül - annak ellenére, hogy csak a múlt század közepén indult igazán fejlődésnek, mára nagyméretű problémák megoldását teszi lehetővé. A különböző programozási feladatok nagyon érdekesnek bizonyultak számomra. Azért választottam ezt a témát, mert úgy gondolom, hogy logikusan felépíthető és jól érthető a definíciók, tételek és módszerek sokasága. A szakdolgozatom két fő részből tevődik össze: az első az elmélet, a második a programozás. Így tehát egy rövid történeti áttekintés után ismertetem a feltételes és a feltétel nélküli optimalizálást, és az ezekhez kapcsolódó numerikus eljárásokat. Utóbbiak azért fontosak, mert a számítógépek számára kevésbé bonyolult, ezáltal gyorsabban értelmezhető algoritmusokat adnak, vagyis programozási szempontból előnyösebbek, mint a nem numerikus változatok. Ezután pedig a megvalósítás következik, mivel a választott témának része a web-es megjelenítés is, mely során az említett numerikus módszereket készítem el, böngészőben futtatható programként. A kutató munka a Miskolci Egyetem stratégiai kutatási területén működő Fenntartható Természeti Erőforrás Gazdálkodás Kiválósági Központ / Alkalmazott Anyagtudomány és Nanotechnológia Kiválósági Központ / Mechatronikai és Logisztikai Kiválósági Központ / Innovációs Gépészeti Tervezés és Technológiák Kiválósági Központ keretében valósult meg. 5

6 2. fejezet Téma elméleti kifejtése 2.1. Történeti áttekintés A nemlineáris optimalizálás komoly múltra tekint vissza. Az első fontosabb mű, melyet meg kell említeni, Joseph-Louis Lagrange francia matematikus nevéhez fűződik ban készült el a Mécanique analitique (Analitikus mechanika) című könyve, melyben leírta a függvények szélsőértékeinek kiszámítására vonatkozó, egyenlőség feltételek esetén érvényes multiplikátoros módszerét ban Lagrange kimondta a róla elnevezett egyenlőtlenségi elvet, amit később Osztrogradszkij és Gauss is megerősített. A következő említésre méltó állomás 1902, amikor Farkas Gyula magyar matematikus-fizikus publikálta a később róla elnevezett Farkas-lemmát (tételt). Ez a lineáris programozás egyik alaptétele, de a nemlineáris optimalizálás területén is használják. Az 1930-as években Gilbert Bliss és Constantin Carathéodory is egyenlőség feltételekkel rendelkező feladatokkal foglalkozott. Viszont 1939-ben William Karush az egyenlőtlenségi feltételekkel megadott problémákat vizsgálta, kutatásait azonban nem tette közzé. Utána nem sokkal Fritz John szintén ezt a témát kutatta, de eredményei gyengébbek voltak, mint Karushé. Az áttörést egy 1950-ben megjelent, Harold W. Kuhn és Albert W. Tucker által írt cikk hozta meg. Ők is azzal foglalkoztak, amivel Karush, és annak ellenére, hogy tőle függetlenül dolgoztak, mint utólag kiderült ugyanarra a megállapításra jutottak, mint Karush. Ebben az írásban szerepelt először a nemlineáris programozás, mint kifejezés. Sokan eddig nem ismerték fel a téma fontosságát és hasznosságát, de ekkor megindult a fejlődés ezen a téren. Egyre több helyen tudták felhasználni az újonnan elért eredményeket, például a mérnöki, valamint a közgazdasági tudományok területén Feltétel nélküli optimalizálás A kiinduló feladat a következő: adott egy f(x) : R n R függvény. Ennek kell a minimumát megkeresni. A feltétel nélküli jelző alapvetően azt jelenti, hogy nincs semmilyen korlátozás megadva az x döntési változóra. 6

7 2.2. Feltétel nélküli optimalizálás Alapfogalmak Ahhoz, hogy a nemlineáris optimalizálási feladat megoldásához alkalmazandó módszert bemutassam, szükség van néhány definíció és tétel ismertetésére. Elsőként az iránymenti deriváltat, majd a differenciálhatóságot és a gradiens fogalmát definiáljuk definíció. Legyen S R n egy nemüres halmaz és legyen f : R n R függvény. Legyen x S és legyen d R n, d 0 olyan vektor, hogy x+λd S, λ > 0 elegendően kicsi valós számra. Az f függvénynek az x pontban a d irány mentén vett iránymenti deriváltjának nevezzük és f (x, d)-vel jelöljük az alábbi határértéket: f (x, d) = lim λ 0+ f(x + λ d) f(x), λ (amennyiben létezik a határérték.) Az iránymenti derivált a függvény d irányba történő változását mutatja. A differenciálhatóság a következőt jelenti: 2.2. definíció. Legyen S R n egy nemüres halmaz, és legyen f : R n R függvény. Az f függvényt differenciálhatónak mondjuk az S halmaz egy x belső pontjában, ha létezik egy f(x) R n vektor és egy α : R n R függvény úgy, hogy f(x) = f(x) + f(x)(x x) + x x α(x, x x) minden x S-re, ahol lim x x α(x, x x) = 0. Ennek van egy másik alakja, ahol x-et x-re, x-et pedig x + λd (λ R) vektorra cseréljük. Ebben az esetben x x = λd. Így az előző összefüggés erre módosul: f(x + λd) = f(x) + λ f(x)d + λ d α(x, λd) bármely λ valós számra, és d vektorra. Ekkor a határérték: lim λ 0 α(x, λd) = 0. A formulában szereplő f(x) vektort hívjuk gradiensnek. Ehhez két tétel kapcsolódik. Az első az iránymenti derivált és a gradiens vektor közötti összefüggést mutatja meg tétel. Legyen f : S R függvény differenciálható és legyen a d irányvektor egységhosszúságú, azaz d = 1. Ekkor f (x, d) = f(x)d. A második tétel pedig azt mutatja meg, hogy a gyakorlatban hogyan kell meghatározni egy függvény gradiensét tétel. Legyen f : S R differenciálható függvény. A f(x) vektor elemei az f függvény parciális deriváltjai, azaz ( f(x) f(x) =, f(x),..., f(x ) n). x 1 x 2 x n A gradiens vektor előállításával analóg módon kapjuk a Hesse-mátrixot, melyre szintén szükség van a feladatok megoldásához. 7

8 2.2. Feltétel nélküli optimalizálás 2.5. definíció. Az f függvény második parciális deriváltjaiból álló H = 2 f(x) R n n mátrixot Hesse-mátrixnak nevezzük. (H(x)) ij = ( 2 f(x)) ij = 2 f(x) x i x j Mivel megegyeznek a másodrendű vegyes parciális deriváltak Hesse mátrix szimmetrikus. ( 2 f(x) x j x i ) = 2 f(x) x i x j, a Az optimalitás szükséges és elégséges feltételei A minimum szükséges feltételére az alábbi tétel vonatkozik: 2.6. tétel. Legyen f : R n R függvény legalább egyszer differenciálható az x R n pontban. Ekkor ha x lokális minimumpontja f-nek, akkor f(x) = 0. Ehhez kötődik a stacionárius pont definíciója definíció. Az x R n pontot stacionárius pontnak nevezzük, ha f(x) = 0. Evidens, hogy a keresett minimumpont csak ezen pontok közül kerülhet ki. Amennyiben az f függvény legalább kétszer differenciálható, akkor a szükséges feltételt leíró 2.6 tétel így módosul: 2.8. tétel. Legyen f : R n R függvény legalább kétszer differenciálható az x R n pontban. Ekkor ha x lokális minimumpontja f-nek, akkor f(x) = 0 és H(x) Hesse mátrix pozitív szemidefinit. Ennek a tételnek a megfordítása egy kis módosítással pontosan az optimalitás elégséges feltételét adja meg tétel. Legyen f : R n R függvény legalább kétszer differenciálható az x R n pontban. Ha f(x) = 0 és H(x) pozitív definit, akkor x szigorúan lokális minimumpontja f-nek. Megjelent egy új tulajdonság, a definitség, amire a Hesse-mátrix vizsgálatakor van szükségünk definíció. Legyen A egy n n-es (kvadratikus) mátrix. Az A mátrix pozitív definit, ha x T Ax > 0, x 0, x R n esetén. Ha megengedjük az egyenlőséget: x T Ax 0, akkor a mátrix pozitív szemidefinit. Analóg módon a mátrix negatív definit, ha x T Ax < 0, és negatív szemidefinit, ha x T Ax 0. Az előző kategóriákba nem sorolható mátrixokat indefinitnek nevezzük. Amennyiben f maximumának megtalálása a feladat, a fenti tételek ugyanígy érvényesek azzal a módosítással, hogy a H mátrixra vonatkozó részeknél pozitív helyett negatív definit a helyes. Egy konkrét feladat megoldásakor viszont célravezetőbb lehet úgy eljárni, hogy f maximuma helyett f minimumát keressük. 8

9 2.2. Feltétel nélküli optimalizálás A feladat megoldásának módja Mivel az f függvény globális minimumát szeretnénk megkapni, azt úgy oldhatjuk meg, hogy a lokális minimumpontokat megkeressük, majd kiválasztjuk közülük a legkisebb értékűt. Persze ilyenkor figyelni kell arra is, hogy a függvénynek van-e globális minimuma, tehát f korlátos legyen. A megoldás menete a szükséges és az elégséges tételek állításaiból következik. Csak olyan pontból lehet minimum, ami stacionárius, ezért először meg kell keresni az összes stacionárius pontot, tehát meg kell oldani a f(x) = 0 egyenletrendszert. Ezután minden ilyen pontra megnézzük, hogy a Hesse mátrix pozitív definit-e az adott pontban. Ha igen, akkor a vizsgált pont lokális minimum. Ha van globális minimuma a függvénynek, akkor a lokális pontok közül a legkisebb értékű lesz a globális minimum pont. A feltétel nélküli optimalizálási feladatot tehát így oldjuk meg: 1. Kiszámítjuk azon x vektorok értékét, melyekre f(x) = 0 teljesül, ezek eredményezik a lehetséges minimum helyeket. 2. Megvizsgáljuk a kapott x-ekre, hogy H(x) pozitív definit-e. Ha igen, akkor lokális minimumpontot kaptunk. 3. A függvény korlátosságát figyelembe véve, a lokális minimumpontok közül kiválaszthatjuk a globális pontot, ha van. Amennyiben a vizsgált mátrix szimmetrikus (tudjuk a Hesse mátrixról hogy az), vagyis H T = H, a pozitív definitség eldöntéséhez többféle mód áll rendelkezésünkre. Gauss-elimináció használatával a vizsgálandó mátrixból egy felső háromszög mátrixot kapunk. Ha ennek főátlójában minden elem pozitív, akkor az eredeti mátrix pozitív definit. A Hesse-mátrix minden k k-s főminor mátrixának kiszámolom a determinánsát. Ha ezek mindegyike pozitív, akkor a vizsgált mátrix pozitív definit. Ezt nevezik Főminor-módszernek. Sajátérték teszt segítségével is megoldhatjuk a problémát - ha a H(x) minden sajátértéke pozitív, akkor a mátrix pozitív definit. (Mint tudjuk, a sajátérték az a λ szám, ami kielégíti az Hx = λx egyenletet) Inercia tesztet használva a sajátértékek kiszámolása nélkül meg tudjuk állapítani, hogy a mátrixnak mennyi pozitív, mennyi zérus és mennyi negatív sajátértéke van. Ezt a három számot nevezzük inerciának. Ha csak pozitívak vannak, akkor a mátrix pozitív definit. A Cottle algoritmust kell használni ennél a módszernél. Példa Legyen f : R 2 R, és keressük f(x 1, x 2 ) = x x 3 2 3x 1 27x minimumát! ( ) 3x Először is felírjuk a függvény gradiensét: f(x) = 3x

10 2.3. A feltétel nélküli optimalizálás numerikus módszerei Ezután meg } kell oldani a f(x) = 0 egyenletrendszert. 3x = 0. Gyors számolással megkapjuk, hogy x 1 = ±1 és x 2 = ±3. Összesen 3x = 0 tehát 4 olyan pontot kapunk, amelyek teljesítik a szükséges feltételt, vagyis stacionárius pontok: x 1 = (1; 3), x 2 = (1; 3), x 3 = ( 1; 3), x 4 = ( 1; 3). [ ] 6x1 0 A második lépés a Hesse mátrix felírása. H(x) =. Most pedig jöhet a 0 6x 2 definitség[ vizsgálata, ] a már meglévő pontokat a H mátrixba helyettesítve. 6 0 H(x 1 ) =. Ez pozitív definit mátrix = x 1 pont lokális minimumhely [ ] 6 0 H(x 2 ) =. Ez indefinit mátrix = x 2 pont ekkor nyeregpont [ ] 6 0 H(x 3 ) =. Ez is indefinit mátrix = x 3 pont szintén nyeregpont [ ] 6 0 H(x 4 ) =. Ez negatív definit mátrix = x 4 pont lokális maximumhely A függvény jellegéből adódóan nincs globális szélsőérték, csak lokálisak A feltétel nélküli optimalizálás numerikus módszerei Az előző alfejezetben láttuk, hogyan lehet a feltétel nélküli optimalizálás feladatát megoldani. Vannak azonban olyan módszerek erre a problémára, melyek a számítógépek számára jobban értelmezhetők, gyorsabb végrehajtást tesznek lehetővé. Ezek a numerikus metódusok, melyek nem feltétlenül fognak pontos eredményt szolgáltatni, ilyenkor viszont kellően kicsi hibahatár esetén nagyon közel lehetnek hozzájuk. Az alapfeladat nem változott, egy f(x) : R n R függvény minimumát kell meghatározni. Alapvetően 2 különböző típusú numerikus módszer létezik erre: a Newton jellegűek, valamint a vonalmenti optimalizálást alkalmazó eljárások. Szakdolgozatom témájából adódóan elsősorban az előbbi módszerekkel foglalkozom. Ezeken belül a továbbiakban a Newton módszert, valamint a kvázi Newton módszereket ismertetem. Később azonban a két típus együttes használatának lehetőségét is bemutatom Newton módszer A Newton módszer a numerikus analízisben többek között egyenletrendszerek eredményének kiszámítására alkalmazható. Azonban a nemlineáris optimalizálás esetén is lehet olyan formára hozni a feladatot, hogy ilyen módon legyen megoldható. Tehát először nézzük meg az egyenletrendszerek esetét. Legyenek a függvények f 1, f 2,..., f m : R n R többváltozósak és differenciálhatóak. Tegyük egyenlővé mindegyiket nullával! Az alábbi, m egyenletet tartalmazó rendszert kapjuk: 10

11 2.3. A feltétel nélküli optimalizálás numerikus módszerei f 1 (x) = 0 f 2 (x) = 0. f m (x) = 0 Alkalmazzuk az elsőfokú Taylor polinomot a függvények közelítésére egy x k R n helyen. A következőt kapjuk: f 1 (x) f 1 (x k ) + f 1 (x k )(x x k ) f 2 (x) f 2 (x k ) + f 2 (x k )(x x k ). f m (x) f m (x k ) + f m (x k )(x x k ) A mátrix-vektoros jelölésre áttérve, legyen F : R n R m az a vektor, melynek elemei az f 1 (x), f 2 (x),..., f m (x) függvények. Emellett legyen egy J(x k ) mátrix, m n dimenziós, melynek minden sorvektora az azonos sorszámú függvény x k pontbeli gradiense, vagyis J(x k ) = F(x k ). Ez a J mátrix a Jacobi mátrix. A korábbi egyenletrendszer így átírható egyszerűbb alakra: F(x) F(x k ) + J(x k )(x x k ). Az x k+1 -edik közelítést válasszuk meg úgy, hogy a Taylor polinom értéke nulla legyen, azaz F(x k ) + J(x k )(x k+1 x k ) = 0, így x k+1 -et ez a lineáris egyenletrendszer adja meg: J(x k )(x k+1 x k ) = F(x k ). Ha az egyenletek száma és a változók száma megegyezik, akkor a J(x k ) mátrix négyzetes, és ha létezik inverze, akkor x k+1 = x k J(x k ) 1 F(x k ). A Newton módszer lényege tehát ez: egy tetszőleges x 1 R n vektorból kiindulva a J(x k )(x k+1 x k ) = F(x k ), és x k+1 = x k J(x k ) 1 F(x k ) formulák segítségével meg lehet határozni az x 2, x 3,..., x k sorozatot, iteratív módon. Addig kell folytatni a számolást, amíg két, egymás utáni közelítés nem lesz elég közel, egy adott ε határon belül: x k+1 x k < ε. Nézzük, a feltétel nélküli optimalizálás esetén ez hogy működik. A cél megtalálni egy f : R n R, (egy n változós) függvény minimumát. Tudjuk, hogy a minimum szükséges feltétele a f(x) = 0, ami pontosan egy olyan egyenletrendszer, mely n 11

12 2.3. A feltétel nélküli optimalizálás numerikus módszerei változós és n egyenletből áll. Ennek megoldására éppen a Newton módszer szolgál. Ahhoz, hogy ez működjön, F(x) helyére f(x)-et kell írni, így a Jacobi mátrix i-edik sora a f(x) i-edik elemének a gradiense, azaz H(x) = F(x) = 2 F(x). Ez a mátrix pedig éppen az f(x) függvény H(x) Hesse mátrixa. A Newton módszer így a következő: egy tetszőleges x k vektor használatával megoldjuk a R n (k = 1) kiindulási H(x k )(x k+1 x k ) = f(x k ) egyenletrendszert, melyből meg tudjuk határozni a következő, x k+1 közelítést. Ha létezik H(x) inverze, a következő formula is használható: x k+1 = x k H(x k ) 1 f(x k ). Célszerű bevezetni az s k = x k+1 x k irányvektort. Az előző két formulát megkülönböztetjük elnevezésben, az újonnan bevezetett s k kiszámítására az alábbi képletek adódnak: Newton I. módszer: H(x k )s k = f(x k ), Newton II. módszer: s k = H(x k ) 1 f(x k ). Ha már ismerjük az s k irányvektort, a következő közelítést a formulával kapjuk. Példa Newton módszerre Számítsuk ki Newton módszerrel az x k+1 = x k + s k f(x 1, x 2 ) = x x 1 x 2 + 2x x 1 3x 2 függvény minimumát az x 1 = (2, 1) kiindulási vektort használva. Először is a gradiensvektort kell felírni, majd a Hesse mátrixot. ( ) [ ] 2x1 + x f(x) =, H(x) =. x 1 + 4x Ezekbe behelyettesítve az x 1 pontot, azt kapjuk, hogy ( ) [ ] f(x 1 ) =, H(x 1 ) = A Newton I. módszert használva a H(x k )s k = f(x k ) egyenletrendszert kell felírnunk, melyben s 1 = (s 1, s 2 ) irányvektorra a következő összefüggés adódik: 2s 1 + s 2 = 6 s 1 + 4s 2 = 3 12

13 2.3. A feltétel nélküli optimalizálás numerikus módszerei Ennek a megoldása hamar kiszámolható, az x 1 -hez tartozó irányvektor ez lesz: s 1 = ( 3, 0). Így a következő ( közelítés: ) x 2 = x 1 +s 1 = ( 1, 1). Ezután x 2 behelyettesítésével folytatjuk. f(x 2 ) =. Itt azonban megállunk, mert teljesül az optimalitás szükséges 0 0 feltétele, a gradiens értéke az adott pontban 0, tehát megkaptuk az optimumpontot, ami x 2 = ( 1, 1). A célfüggvény optimális értéke: f min = 2. A Newton módszernél előfordulhatnak problémák, például a Hesse mátrix nem invertálható, vagy az irányvektor nem csökkenő irány (egyre távolodunk az optimumtól). Ezeket más módszerek használatával kerülhetjük el Kvázi Newton módszerek Ahogy a nevükből is sejteni lehet, a kvázi Newton módszerek a Newton módszer módosult változatai. A legfőbb eltérés az, hogy jelen esetben nem a Hesse mátrixot, vagy az inverzét használjuk, hanem ezeket közelítő mátrixokkal helyettesítjük. Legyen F : R n R m függvény. Vizsgáljuk az F(x) = 0 egyenletrendszert. Ha az x k R n pontbeli elsőfokú Taylor polinommal közelítjük a z F(x) függvényt, a függvényérték közelítése az x k+1 pontban F(x k+1 ) F(x k ) + J(x k )(x k+1 x k ). Az optimalizálás esetén egy f : R n R függvény minimumának megtalálása a cél, alapvetően a f(x) = 0 egyenletrendszert kell megoldani. Ezzel az előző összefüggés az alábbira módosul: f(x k+1 ) f(x k ) + H(x k )(x k+1 x k ). Bevezetünk két új jelölést: y k a gradiensek különbsége, s k pedig az x vektorok különbsége, ekkor y k H(x k )s k. Most fogjuk a Hesse mátrixot helyettesíteni, mégpedig egy B k közelítő mátrixszal. Ekkor y k B k s k. A következő helyettesítést, a B k+1 mátrixot úgy válasszuk meg, hogy y k = B k+1 s k teljesüljön. Ezt az egyenlőséget nevezzük kvázi Newton feltételnek. Ha az összefüggést y k helyett s k -ra rendezzük, ezt kapjuk: s k H(x k ) 1 y k. Ekkor, ha a Hesse mátrix inverzét helyettesítjük egy D k közelítő mátrixszal: s k D k y k. 13

14 2.3. A feltétel nélküli optimalizálás numerikus módszerei D k+1 mátrixot pedig úgy kell megválasztani, hogy igaz legyen a következő: s k = D k+1 y k Ezt szintén kvázi Newton feltételnek nevezzük. Mivel a Newton módszerből kiinduló eljárásokról van szó, alapvetően egy f : R n R függvény minimumát kell megtalálni, egy tetszőleges x k R n vektorból kiindulva. Először a függvény gradiensét kell felírni. Ezután viszont a Hesse mátrixra már nincs szükség, mert helyettesítjük azt a korábban említett B-vel, vagy az inverzét a D-vel. A megfelelő egyenletrendszer megoldása után megkapjuk az s k vektort, majd ennek segítségével kiszámoljuk az x k+1 -et, és y k -t. x k+1 = x k + s k, y k = f(x k+1 ) f(x k ) Végül a következő közelítő mátrixot is meg kell határozni. Ennek többféle módja lehetséges, ezek közül kettőt ismertetnék, melyek hasonló képleteket használnak. A BFGS eljárás A módszer a kidolgozóiról - Broyden, Fletcher, Goldfarb, Shanno - kapta nevét. A Hesse mátrixot egy szimmetrikus, pozitív definit B mátrixszal helyettesítjük. Az egyenletrendszer így a következő: B k s k = f(x k ), Az s k vektor, majd az x k+1 és az y k kiszámolása után ezzel a képlettel kell megadni B k+1 -et, az újabb közelítő mátrixot: A DFP eljárás B k+1 = B k + y ky T k y T k s k (B ks k )(B k s k ) T (B k s k ) T s k. A módszer Davidon, Fletcher, és Powell kutatókról kapta nevét. Itt a Hesse mátrix inverzét helyettesítjük egy szimmetrikus, pozitív definit D mátrixszal. Az egyenletrendszer a következő lesz: s k = D k f(x k ), Ebből kiszámoljuk az s k vektort, majd az x k+1 és az y k vektorokat. Utána az újabb közelítő mátrixot, D k+1 -et ezzel a képlettel kell meghatározni: D k+1 = D k + s ks T k s T k y (D ky k )(D k y k ) T. k (D k y k ) T y k Az eljárások kilépési feltételeként használhatunk egy ε pontossági értéket - ha x k+1 x k < ε, akkor megállunk. 14

15 2.3. A feltétel nélküli optimalizálás numerikus módszerei Példa kvázi Newton módszerre Oldjuk meg a Newton módszernél már korábban szereplő feladatot, DFP eljárással. f(x 1, x 2 ) = x x 1 x 2 + 2x x 1 3x 2 az x 1 = (2, 1) kiindulási vektort használva. Legyen a D 1 = függvény minimumát keressük, [ ] Először felírjuk a gradiensvektort, majd kiszámoljuk értékét az x 1 pontban. ( ) 2x1 + x f(x) =, f(x 1 ) = (6, 3). x 1 + 4x 2 3 Ezután meghatározzuk s 1 értékét, majd ezt felhasználva x 2 -t. [ ] [ ] [ ] s 1 = D 1 f(x 1 ) = = ( ) ( ) ( ) x 2 = x 1 + s 1 = + = Most jön a D 2 mátrix kiszámítása. Ehhez a következőkre lesz szükség: f(x 2 ) = ( 24, 54) y 1 = f(x 2 ) f(x 1 ) = ( 30, 57) [ ] [ ] 9 [ ] [ ] [ ] s 1 s T 1 = 9 12 = s T 30 1 y 1 = 9 12 = [ ] [ ] [ ] [ ] [ ] D 1 y 1 = = (D 1 y 1 ) T 30 y 1 = = [ ] ( ) 87 [ ] (D 1 y 1 )(D 1 y 1 ) T = = Ezeket felhasználva a D 2 mátrix: [ ] [ ] [ ] [ ] 1 1 D 2 = , , 0449 = , , 2341 Így épül fel a DFP kvázi Newton módszer, a folytatásban ki kéne számolni az s 2 = D 2 f(x 2 ) vektort, innen ismételni a fenti lépéseket, amíg a kilépési feltétel nem teljesül egy adott ε-ra. A fejezet elején említettem, hogy a Newton jellegű módszerek és a vonalmenti keresést alkalmazó eljárás együttesen is használhatóak, ennek bemutatásához az utóbbi típust röviden ismertetem, majd leírom az egyesített algoritmusok működési elvét. 15

16 2.3. A feltétel nélküli optimalizálás numerikus módszerei Newton módszerek vonalmenti minimumkereséssel A vonalmenti keresés lényege a következő: egy x 1 R n pontból indulunk ki, majd választunk egy d 1 R n irányvektort. A d irányban megkeressük a függvény minimumát. Ez egy egyváltozós minimalizálási feladat. A φ(λ) = f(x k + λd k ) tehát egyváltozós függvény, ennek legyen a minimuma λ k. Ezt felhasználva az x vektor következő közelítése: x k+1 = x k + λ k d k A vonalmenti keresést alkalmazó módszerek alapvetően abban különböznek egymástól, hogy a kereső irányt hogyan határozzák meg. Ettől függetlenül viszont mindegyiknél szükség van egyváltozós függvény minimumának kiszámítására. Egyváltozós optimalizálás Az egyváltozós minimalizálási feladat: f(x) min, ahol x R. Minden numerikus eljárás, ami ezt megoldja, alapvetően bizonytalansági intervallumot használ. Ez egy olyan [a, b] intervallum, amit mi határozunk meg, és tartalmazza a minimumpontot. A tartományt az algoritmusok folyamatosan szűkítik, mégpedig osztópontok segítségével. Ezekben az osztópontokban (általában kettő darab) ki kell számolni a függvény értékét, majd ez alapján meg lehet határozni az új bizonytalansági intervallumot. Ennek módját az alábbi tétel írja le: tétel. Legyen f : R R szigorúan kvázikonvex függvény az [a, b] bizonytalansági intervallumon, továbbá c, d (a, b) úgy, hogy c < d. Ekkor Ha f(c) > f(d) f(x) f(d) minden x [a, c) esetén új intervallum: [c, b]. Ha f(c) f(d) f(x) f(c) minden x (d, b] esetén új intervallum: [a, d]. A függvény konvexitási tulajdonsága szükséges ahhoz, hogy az eljárás konvergens legyen. Ha nem vizsgáljuk meg a konvexitást, akkor nincs garancia az eljárások konvergenciájára. Az eltérő módszerek leginkább abban különböznek, hogy a belső pontokat hogyan veszik fel, számolják ki. Számos módszer létezik, például az uniform keresés, a Dichotomous keresés, a Fibonacci keresés, a Bisection módszer. Én a későbbi feladatmegoldáshoz a Golden section, vagyis aranymetszés keresést fogom alkalmazni, mivel az a leggyakrabban használt eljárás. A Golden section egy olyan módszer, melynél az új intervallumok mindkét esetben ugyanolyan hosszúak lesznek. Az osztópontokat úgy kell megválasztani, hogy az aktuális [a, b] hosszának (ezt jelölje L,) α-szorosai legyenek az új tartományok, tehát b c = αl, és d a = αl. Ekkor a következő képletek adják meg az osztópontokat: c k = b k αl k = a k + (1 α)l k, d k = a k + αl k. α értéke szabadon választható az ( 1, 1) tartományban, de célszerű úgy választani, 2 hogy minél kevesebbszer kelljen a függvény értékét kiszámolni. Ilyen lépést úgy lehet megspórolni, hogyha az új bizonytalansági intervallum egyik belső pontja megegyezik az előző intervallum egyik belső pontjával. Ekkor ugyanis az egyik pontban lévő 16

17 2.3. A feltétel nélküli optimalizálás numerikus módszerei függvényértéket már egyszer meghatároztuk, nem kell újra. Ez azt jelenti, hogy az [a k+1, b k+1 ] = [c k, b k ] intervallumban: c k+1 = d k, vagyis a k + (1 α)l k + (1 α)αl k = a k + αl k, ennek levezetése: a k + (1 α)l k (1 + α) = a k + αl k (1 α)l k (1 + α) = αl k (1 α)(1 + α) = α A fenti egyenlőség tehát pontosan akkor teljesül, ha α 2 + α 1 = 0. Az [a k+1, b k+1 ] = [a k, d k ] bizonytalansági intervallum esetén analóg módon szintén ezt az egyenletet kapjuk. Ennek megoldása az aranymetszésnél, mint fogalomnál általánosan ismert α = 5 1 0, 618 érték. A Golden section eljárás során érdemes ezt az α 2 értéket használni. Összefoglalva tehát a módszert: Ha f(c k ) > f(d k ) [a k+1, b k+1 ] = [c k, b k ], c k+1 = d k, d k+1 = a k+1 + αl k+1 Ha f(c k ) f(d k ) [a k+1, b k+1 ] = [a k, d k ], c k+1 = a k+1 + (1 α)l k+1, d k+1 = c k. Az eljárást egészen addig csináljuk, amíg az intervallum hossza nagyobb, mint egy ε hibahatár kétszerese. Ha ugyanis kisebb lesz ennél a hossz, akkor az intervallum felezőpontját véve minimumnak, a hibahatáron belül lesz ez a közelítés. Tehát a kilépési feltétel: L k < 2ε, valamilyen k-ra. Most, hogy az egyváltozós optimalizálás egy metódusát bemutattam, visszatérünk a többváltozós függvényekhez, és leírom azt, hogy erre egyáltalán miért volt szükség. Tehát a Newton típusú módszereknél úgy kapjuk meg a következő közelítést az x vektorra, hogy egyszerűen hozzáadjuk a számolás során kapott s vektort. Ezen a ponton azonban lehet vonalmenti minimumkeresést is végezni. Ilyenkor az s-t iránynak tekintjük, és ebben az irányban elvégzünk egy vonalmenti optimalizálást. A lépések tehát a következők: az irányvektort az s adja meg, d k = s k. A d k irányban megkeressük a függvény minimumát, vagyis megoldjuk a φ(λ) = f(x k + λd k ) min! egyváltozós minimalizálási feladatot (például a Golden section eljárással), legyen a kapott érték λ k. Ezt felhasználva az x vektor következő közelítése: x k+1 = x k + λ k d k Ezt a vonalmenti keresést természetesen minden Newton típusú eljárással, így a Newton módszer mellett a kvázi Newton módszerekkel is lehet alkalmazni. Ezzel a feltétel nélküli optimalizálás témaköre véget ért, ismertettem az alapokat, a feladat megoldásának módját, és a kapcsolódó numerikus módszerek közül bemutattam a Newton jellegűeket, a továbbiakban a feltételes optimalizálásról lesz szó. 17

18 2.4. Feltételes optimalizálás 2.4. Feltételes optimalizálás Alapfogalmak Legyen D f az f(x) függvény értelmezési tartománya, és X egy nyílt halmaz. Egy optimalizálási feladatot akkor nevezünk feltételesnek, ha az x R n döntési változóra az x D f R n és az x X R n előírások mellett további kikötéseket teszünk. S-sel jelöljük a feltételeket meghatározó halmazt, és megengedett (lehetséges) megoldások halmazának vagy feltételi halmaznak nevezzük. A feladat tehát a következő: meg kell találnunk az S halmaz azon pontját, amelyben az f : R n R célfüggvény értéke minimális. A feltételes optimalizálási feladat jelölése: min{f(x) : x S} A feladat megoldásához az alábbi fogalmakat használjuk kiindulásként: definíció. Legyen az f : R n R függvény. Az f függvény x R n pontbeli javító irányok kúpjának nevezzük és F -fel jelöljük az alábbiakban definiált halmazt: F = {d : d R n, d 0, f(x + λd) < f(x) minden λ (0; δ) -ra δ > 0 esetén}. Ez azt jelenti, hogy ha x pontból legalább egy kicsit, folyamatosan elmozdulva a d irányba, a célfüggvény értéke javul, akkor a d javító irány, így d F definíció. Legyen az S R n nemüres halmaz és x az S halmaz lezártjának ey pontja. Az S halmaz x pontbeli lehetséges irányok kúpjának nevezzük és D-fel jelöljük az alábbiakban definiált halmazt: D = {d : d R n, d 0, x + λd S minden λ (0; δ) -ra δ > 0 esetén} Ez arról szól, hogy ha x pontból legalább egy kicsit, folyamatosan elmozdulva a d irányba, benne maradunk az S tartományban, akkor d lehetséges irány, vagyis d D. Ennek a két halmaznak a kapcsolatát mutatja meg a következő tétel, a feltételes optimalizálás geometriailag szükséges feltétele tétel. Legyen az S R n nemüres halmaz és f : S R függvény. Adott a min{f(x) : x S} feltételes optimalizálási feladat. Ha x S lokális minimumpont, akkor F D =. A tétel értelmezése: lokális minimumpont esetén nem létezik olyan irány, amerre ha elmozdulnánk, akkor javulna a célfüggvény és a tartományban is benne maradnánk. Bizonyítás. Indirekt módon tegyük fel, hogy F D. Ekkor van olyan d 0 vektor, amelyre d F és d D. Tehát a d vektor javító irány és lehetséges irány is egyben, ami ellentmond annak, hogy az x pont optimális megoldás. A továbbiakban feltesszük, hogy a célfüggvény differenciálható, valamint az S halmazt függvények segítségével adjuk meg. Ezekkel a függvényekkel szembeni előírás a folytonosság és a differenciálhatóság. Így megfogalmazhatjuk a javító irányok kúpjának és a lehetséges irányok kúpjának karakterizációját. 18

19 2.4. Feltételes optimalizálás Legyen az S feltételi halmaz a következő: S = {x : x X, g i (x) 0, i = 1, 2,..., m}, ahol g 1, g 2,..., g m : R n R függvények és X R n nemüres, nyílt halmaz. A g i (x) 0 jelzi, hogy egyenlőtlenségi feltételekről van szó. Ha egyenlőségi előírások is vannak, akkor a tételek egy kicsit változnak, bővülnek, de a módszer bemutatása szempontjából elegendő a csak egyenlőtlenségi feltételek esetével foglalkozni. Fontos még megjegyezni, hogy ha a célfüggvény minimumát keressük, és az egyenlőtlenségi feltételeknél jel szerepel, akkor standard optimalizálási feladatról beszélünk, a továbbiakban csak erről lesz szó. (A nem standard feladatokat köztes lépésekkel, átalakításokkal általában visszavezetik standard alakra.) definíció. Tekintsük az S = {x : x X, g i (x) 0, i = 1, 2,..., m} feltételi halmazt, és egy x S pontot. A g i (x) függvény aktív a x pontban, ha g i (x) = 0 és inaktív, ha g i (x) < tétel. Legyen f : R n R függvény differenciálható x R n pontban. Ekkor az halmaz javító irányok kúpja, és F 0 F. F 0 = {d : f(x)d < 0} tétel. Legyen S = {x : x X, g i (x) 0, i = 1, 2,..., m}, ahol g 1, g 2,..., g m : R n R függvények és X R n nemüres, nyílt halmaz, továbbá adott egy x S pont. Legyen I = {i : g i (x) = 0} az aktív feltételi függvények indexhalmaza és tegyük fel, hogy a g i, i I függvények az x pontban differenciálhatók és a g i, i I függvények az x pontban folytonosak. Ekkor a G 0 = {d : g i (x)d < 0, i I} halmaz az S halmaz x pontbeli lehetséges irányok kúpja, és G 0 D. Az előző két tételhez kapcsolódik a geometriai-algebrai szükséges feltétel, mely szerint (a tételek feltevései és jelölései mellett): Ha x lokális minimumpont, akkor F 0 G 0 =. Szintén a feltételes optimalizálás szükséges feltételét írja le a Fritz John tétel: tétel. Tekintsük a min{f(x) : x S} feltételes optimalizálási feladatot, ahol S = {x : x X, g i (x) 0, i = 1, 2,..., m}, amelynél f, g 1, g 2,..., g m : R n R függvények és X R n nemüres, nyílt halmaz. Legyen adott továbbá egy x S pont és legyen I = {i : g i (x) = 0} indexhalmaz és tegyük fel, hogy az f, g i, i I függvények az x pontban differenciálhatók, valamint a g i, i I függvények az x pontban folytonosak. Ha x lokális optimális megoldás, akkor léteznek u 0, u i, i I számok úgy, hogy u 0 f(x) + i I u i g i (x) = 0 (u 0, u I ) 0 (u 0, u I ) 0 19

20 2.4. Feltételes optimalizálás ahol u I egy olyan vektor, melynek komponensei u i 0, i I. De feltehetjük azt is, hogy f, g i, i = 1, 2,..., m függvények az x pontban differenciálhatók (tehát nem csak i I esetén), akkor a tétel így módosul: Ha x lokális optimális megoldás, akkor léteznek u 0, u i, i I számok úgy, hogy u 0 f(x) + m u i g i (x) = 0 i=1 u i g i (x) = 0, i = 1, 2,..., m (u 0, u) 0 (u 0, u) 0 ahol u egy olyan vektor, melynek komponensei u i 0, i = 1, 2,..., m. A gyakorlatban ez azt jelenti, hogy meg lehet adni olyan, Lagrange szorzóknak nevezett u 0, u i számokat, hogy a függvények gradienseinek az u 0, u i számokkal vett lineáris kombinációi eredményként nullát adjanak. A tétel második verziójába bekerült egy új feltétel is. Ez azért van, mert az elsőnél csak az aktív feltételeket nézzük, amikre definíció alapján teljesül a g i (x) = 0, tehát nem kell kikötni, hogy u i g i (x) = 0 legyen. Viszont az inaktív feltételekre ez nem igaz, tehát az utóbbi összefüggés is megjelenik a tételben. Ez egyben azt is eredményezi, hogy az összes inaktív feltételnél csak akkor teljesül ez az egyenlőség, ha a hozzájuk tartozó u i = KKT feladat Ezeket a Fritz John optimalitási feltételeket használva nem egyértelmű a Lagrange szorzók meghatározása. A továbbiakban ezért olyan Lagrange szorzókkal dolgozunk, melyeknél a célfüggvény együtthatója 1. Ezt az új feltételrendszert a Karush-Kuhn- Tucker tétel írja le, erre épül az optimalizálási feladat megoldása tétel. Tekintsük a min{f(x) : x S} feltételes optimalizálási feladatot, ahol S = {x : x X, g i (x) 0, i = 1, 2,..., m}, amelynél f, g 1, g 2,..., g m : R n R függvények és X R n nemüres, nyílt halmaz. Legyen adott egy x S pont és legyen I = {i : g i (x) = 0} indexhalmaz és tegyük fel, hogy az f, g i, i I függvények az x pontban differenciálhatók, valamint a g i, i I függvények az x pontban folytonosak. Tegyük fel továbbá, hogy a g i (x), i I vektorok lineárisan függetlenek. Ha x lokális optimális megoldás, akkor léteznek egyértelműen u i, i I számok úgy, hogy f(x) + i I u i g i (x) = 0 u i 0, i I Viszont feltehetjük azt is, hogy f, g i, i = 1, 2,..., m függvények az x pontban differenciálhatók (tehát nem csak i I esetén), akkor ez lesz a tétel: 20

21 2.4. Feltételes optimalizálás Ha x lokális opt. megoldás, akkor léteznek egyértelműen u i, i I számok úgy, hogy f(x) + m u i g i (x) = 0 i=1 u i g i (x) = 0, i = 1, 2,..., m u i 0, i = 1, 2,..., m A Karush-Kuhn-Tucker tétel alapján három feltételcsoportot különböztetünk meg egymástól: PF: primál feltételek Az x S lehetséges megoldásra vonatkozó g i (x) 0, i = 1, 2,..., m; x X feltételek. DF: duál feltételek A tételben szereplő összefüggések: f(x) + m u i g i (x) = 0 i=1 u i 0, i = 1, 2,..., m KF: komplementaritási feltételek A tételben lévő u i g i (x) = 0 i = 1, 2,..., m egyenlőségek. A feltételeket együttesen Karush-Kuhn-Tucker (KKT) optimalitási feltételeknek nevezzük. Ha egy x ponthoz léteznek olyan u = (u 1, u 2,..., u m ) Lagrange szorzók, melyekre az (x, u) vektor a KKT feltételeket kielégíti, az x pontot KKT pontnak hívjuk. Ilyenkor a tételben szereplő g i (x), i I feltevés miatt a Lagrange szorzók egyértelműen meghatározhatók. Egy feladat optimális megoldása csakis KKT pont lehet, mert a szükséges feltételeknek azok felelnek meg, viszont ez még nem garantálja, hogy az adott pont az optimum, ráadásul több KKT pontot is kaphatunk egy feladaton belül. Éppen ezért az optimalitás szükséges feltételei mellett a feladatok megoldásához az elégséges feltételek is kellenek. Ezek bemutatásához először a Lagrange függvényt definiálom, majd annak aktualizált változatát, valamint a reguláris pontot. A meghatározások az egyenlőséges feltételeket is tartalmazó, tehát általánosabb optimalizálási feladatra vonatkoznak, de a v Lagrange szorzókat és a h i (x) egyenlőséges feltételeket elhagyva a csak egyenlőtlenséges feladatnak megfelelő képleteket kapnánk definíció. A Lagrange függvény az optimalizálási feladatban szereplő célfüggvény, az egyenlőtlenséges és az egyenlőséges feltételi függvények lineáris kombinációja, amelyben a célfüggvény együtthatója 1. A feltételi függvények együtthatói a már korábban említett Lagrange szorzók. A Lagrange függvény képlete: L(x, u, v) = f(x) + m u i g i (x) + i=1 k v i h i (x) i=1 21

22 2.4. Feltételes optimalizálás definíció. Legyen x vektor az optimalizálási feladat KKT pontja és legyenek u, v vektorok a KKT feltételeket kielégítő Lagrange szorzók. Ezekhez az u, v Lagrange szorzókhoz tartozó Lagrange függvényt aktualizált Lagrange függvénynek nevezzük, melynek képlete: L a (x, u, v) = f(x) + m u i g i (x) + i=1 k v i h i (x) i=1 Az L a függvényben minden egyenlőtlenséges feltétel szerepel, később a feladatmegoldás során ki kell szűrni az aktívakat definíció. Az x S lehetséges megoldást regulárisnak nevezzük, ha az aktív feltételekhez tartozó g i (x), i I vektorok lineárisan függetlenek. Ezekkel a definíciókkal már meg lehet fogalmazni a feltételes optimalizálási feladat elégséges feltételét. Van gyenge és erős feltétel, valamint a leggyakrabban használható, én utóbbit ismertetem tétel. Legyen X R n nemüres nyílt halmaz, f, g 1, g 2,..., g m, h 1, h 2,..., h k : R n R kétszer differenciálható függvények. Tekintsük az g i (x) 0 h i (x) = 0 f(x) min! i = 1, 2,..., m i = 1, 2,..., k x X matematikai programozási feladatot. Jelölje S a feltételi halmazt. Legyen x vektor az optimalizálási feladat reguláris KKT pontja és legyenek u, v vektorok a KKT feltételeket kielégítő Lagrange szorzók. Legyen az aktualizált Lagrange függvény Hesse mátrixa az x = x pontban. Az I = {i : g i (x) = 0} indexhalmaz legyen felosztva az I + = {i I : u i > 0} és az I 0 = {i I : u i = 0} indexhalmazokra. Definiáljuk az alábbi A alteret A = {d 0 : g i (x)d = 0 i I +, h i (x)d = 0 i = 1, 2,..., k}. Ha d T 2 L a (x)d > 0 minden d A irányra, akkor az x KKT pont szigorú lokális minimumpontja az optimalizálási feladatnak. Egy feladat megoldása során a fenti feltételt a következő módon használjuk: ha már megvan egy KKT pont, akkor felírjuk a Lagrange függvényt, majd az adott KKT pontra vonatkozó aktualizált Lagrange függvényt is. Ezután létrehozunk egy C mátrixot, ilyen felépítéssel: [ ] [ ] A B T C =, ahol A = 2 gi (x), i I +, (u i > 0) L a (x), és B =, B 0 h i (x), i = 1, 2,..., k tehát az A mátrix az aktualizált Lagrange függvény Hesse mátrixa, míg a B mátrix sorvektorai az aktív egyenlőtlenséges feltételi függvények és az egyenlőséges feltételi függvények x pontbeli gradiensei. Ha ez a C mátrix pozitív definit, akkor az x pont az optimalizálási feladat szigorú lokális minimumpontja. 22

23 2.4. Feltételes optimalizálás Példa feltételes optimalizálási feladatra Oldjuk meg az alábbi, egyenlőtlenséges feltételes optimalizálási feladatot! f(x) = x x 2 2 min! g 1 (x) = 2 x 1 x 2 0 g 2 (x) = x 1 + x X = R 2 Első lépésként ( ) meghatározzuk ( a) függvények gradienseit. ( ) 2x1 1 1 f(x) =, g 1 (x) =, g 2 (x) =. 2x ( ) 2x1 A gradiens vektorokra vonatkozó lineáris kombináció: 2x 2 Ezek segítségével felírjuk a KKT optimalitási feltételeket: 2x 1 u 1 u 2 = 0 2x 2 u 1 + u 2 = 0 u 1, u 2 0 DF } u 1 (2 x 1 x 2 ) = 0 KF u 2 ( x 1 + x 2 1) = 0 } 2 x 1 x 2 0 P F x 1 + x ( ) ( ) u 1 + u Meg kell nézni, vannak-e KKT pontok. Az u 1, u 2 0 feltétel miatt 4 esetet kell megvizsgálnunk: u 1 = 0, u 2 = 0; u 1 > 0, u 2 = 0; u 1 = 0, u 2 > 0 vagy u 1 > 0, u 2 > 0. A KKT feltételekkel összevetve a fenti kikötéseket, egyedül a második esetben adódik KKT pont. Itt x 1 = x 2 = 1, és u 2 = 0 mellett u 1 = 2. Ezután meg kell vizsgálni, hogy a talált KKT pont optimális megoldás-e. A Lagrange függvény: L(x 1, x 2, u 1, u 2 ) = x 2 1 +x 2 2 +u 1 (2 x 1 x 2 )+u 2 ( x 1 +x 2 1) 2x 1 u 1 u 2 L = 2x 2 u 1 + u 2 2 x 1 x 2 x 1 + x L = Aktualizáljuk a Lagrange függvényt az u vektorral( - u 1 = 2, ) u 2 = 0. [ ] 2x L a (x 1, x 2 ) = x x (2 x 1 x 2 ) L a = 2 L a = 2x

24 2.5. A feltételes optimalizálás numerikus módszerei [ ] 2 0 Az x = (1; 1) pontban 2 L a (x) = = az A mátrix. A B mátrixba csak g [ ] kerül, mert u 2 = 0 miatt a g 2 inaktív feltétel. Így B = 1 1. A C mátrix pedig: C = Erről (pl. inercia teszttel) belátható, hogy pozitív definit, ezért az x = (1; 1) KKT pont szigorú lokális minimumpont. Ezzel a feladat kész A feltételes optimalizálás numerikus módszerei Az előző alfejezetben láthattuk, hogyan lehet megoldani a feltételes optimalizálási feladatot. A KKT módszer azonban programozási szempontból nem ideális, ezért több olyan, közelítést alkalmazó numerikus eljárás létezik, ami szintén alkalmasak a feladat elvégzésére. Alapvetően két különböző módszercsalád van. Az első a lehetséges irányok módszere. Ez a feltétel nélküli optimalizálás során használható vonalmenti minimalizálásra épül, és lépésenként keresi a feladat célfüggvényének optimális megoldását egy-egy irányban. Ilyen eljárás a Zoutendijk módszer, illetve a Rosen-féle gradiens projekciós módszer. A másik típusú módszercsalád lényege az, hogy a feltételes opt. feladatot visszavezetjük feltétel nélküli feladatok ismételt megoldására. Ez az eljárás a SUMT (Sequential Unconstrained Minimization Technique) nevet kapta. Működésének lényege: beépíti a feltételeket a célfüggvénybe, így egy olyan új feladatot kapunk, mely már feltétel nélküli, és ezt oldjuk meg sorozatosan más-más paraméterrel. Két változata van: a korlátfüggvényes és a büntetőfüggvényes eljárás. Előbbi esetén ún. korlátfüggvény segítségével lehet beépíteni a célfüggvénybe a feltételeket, ezzel elérve, hogy a lépések során soha nem lépünk ki a megengedett megoldások tartományából. Utóbbi fajtát fogom részletesen bemutatni a következőkben Büntetőfüggvényes SUMT A SUMT módszer tehát feltétel nélküli feladatokra vezeti vissza a feltételes opt. feladatot. Tulajdonképpen az történik, hogy a feltételi függvényeket egy büntetőfüggvényre cserélve hozzáadjuk a célfüggvényhez, majd az új célfüggvényt - nevezzük segédfüggvénynek - kell feltétel nélküli módszerrel megoldani. A büntetőfüggvénynek van egy paramétere, melyet növelve a segédfüggvény minimuma egyre közelebb kerül az eredeti célfüggvény minimumához. Ezeket a jelöléseket használjuk: a segédfüggvény - ϕ tehát az új célfüggvényt jelenti. A büntető paraméter egy µ > 0 szám, amely a büntetőfüggvénnyel (B) együtt alkotja a büntetőtagot (µb). Az új, feltétel nélküli opt. feladat alakja ez lesz: ϕ(x) = f(x) + µb(g i (x), h i (x)) min! x R n 24

25 2.5. A feltételes optimalizálás numerikus módszerei A büntetőfüggvénynek olyan folytonos függvényt kell választani, ami pozitív büntető értéket ad, ha nem teljesednek a feltételek, viszont teljesülés esetén zérus legyen a büntetés. Természetesen több ilyen függvényt lehet találni, de legtöbbször egyenlőséges feltételnél az y 2 függvényt, és egyenlőtlenséges esetben a [max{0, y}] 2 függvényt választjuk. Leggyakrabban tehát egy általános alakú feltételes opt. feladatnál g i (x) 0 h i (x) = 0 f(x) min! i = 1, 2,..., m i = 1, 2,..., k x X az alábbi segédfüggvény kerül használatba: [ m ϕ(x) = f(x) + µ [max{0, g i (x)}] 2 + i=1 ] k [h i (x)] 2. A módszer során tehát ezt a ϕ(x) min! feltétel nélküli opt. feladatot oldjuk meg lépésenként növelve a µ büntető paraméter értékét. Egy tetszőleges x R n vektorral, valamint általános gyakorlat szerint µ = 1 értékkel kezdjük el. Később minden új lépés során µ-t (ez szintén szokás) 10-szeresére növeljük. Ha a ϕ(x) = min{f(x) + µ k B(x) : x X} minimalizálási feladat optimális megoldása x k+1, akkor megállási feltétel lehet a µ k B(x k+1 ) < ε teljesülése. i=1 Példa büntetőfüggvényes SUMT eljárásra Oldjuk meg a következő optimalizálási feladatot: f(x) = (x 1 1) 2 + x 2 2 min! h(x) = x 1 x 2 = 0 Itt nincs egyenlőtlenségi feltétel, egyenlőségi pedig egy van. Így a feltétel nélküli optimalizálási segédfeladat az alábbi: ϕ(x) = (x 1 1) 2 + x µ(x 1 x 2 ) 2 min! Legyen a kiinduló vektor az x = (5, 10), a µ büntető paraméter pedig az általános szokás szerint 1, minden lépésnél 10-szeresére növelve. Az eredmények a táblázatban láthatóak. µ x µ ϕ(x µ ) f(x µ ) 1 ( ; ) ( ; ) ( ; ) ( ; ) ( ; ) ( ; )

26 2.5. A feltételes optimalizálás numerikus módszerei Az adatokból leolvasható, hogy a korábban említett összefüggéseknek megfelelően a µ növelésével egyre közelebb kerülünk az optimumhoz, a segédfüggvény és az eredeti f függvény értékei is a kapott helyen egyre kisebb eltérést mutatnak. Belátható, hogy a megoldás: x = (0.5, 0.5), és a célfüggvény értéke ebben a pontban szintén 0.5 lesz. Ennek a módszernek a bemutatásával zárult az elméleti összefoglalás, a következő fejezet a program megvalósítását és annak részleteit taglalja. 26

27 3. fejezet Fejlesztői dokumentáció A szakdolgozat témájában szerepel az ismertetett numerikus módszerek webes megvalósítása. Erre a célra a php nyelvet választottam, ugyanis egy ilyen feladatra szerintem megfelelően alkalmas. Az index.html főoldal 3 frame-re van osztva: felül a szakdolgozat címe, bal oldalon a menü, jobb oldalon pedig a tartalom jelenik meg - minden a menüből megnyitott oldal a tartalom frame-ben látható. Az index.html-hez kapcsolódik egy.css stílusfájl is, de csak apróságokat tartalmaz, ezeket nem részletezném - az oldal nem a megjelenésre összpontosít, hanem a működésre. A weblap kezdőoldalán látható a frameset szerkezet: fent a cím, bal oldalon a menü, jobbra a tartalom Bemenő adatok beviteli terve Az optimalizálási feladatok lényege egy adott függvény minimalizálása, vagy feltételek nélkül, vagy valamilyen feltételekkel. Tehát először is egy függvényt kell feldolgozni. A módszerek bemutatásához a hatványfüggvényeket választottam, mivel legtöbbször a tanórák során is azokkal foglalkozunk, valamint ennek csak a deriválás megvalósítása miatt van szerepe, egyébként az optimalizálási eljárások programozását nem befolyásolja ez a szűkítés. A függvények bevitele összeg alakban történik, minden tag felépítése azonos. Meg kell adni először, hogy hány tagból áll a függvény, majd az x vektor dimenzióját. Ebből a program készít egy olyan űrlapot, mely tartalmazza a szükséges beviteli mezőket. 27

28 A tagok felépítése a következő: az együttható szerepel elöl, majd utána x vektor minden eleméhez meg kell adni egy kitevőt. Például, ha x két dimenziós, a 3 x 2 kifejezést így kell beírni: 3 x1 0 x2 1. A tagokat minden esetben összeadásjel határolja, így kivonást a negatív együtthatóval lehet elérni. Említettem a deriválást, ez a fenti formulával úgy működik, hogy tagonként végezhetjük el, és amelyik elem szerint deriválunk, annak a kitevőjével meg kell szorozni a tag együtthatóját, majd a kitevőt csökkenteni eggyel. Ez így egészen addig működik, amíg a kitevő 0 nem lesz. Ebből az eljárásból következik az a megkötés, hogy a kitevőknek nemnegatív egész számoknak kell lenniük. Erre viszont nincs ellenőrzés, ugyanis ez a leírás tartalmazza ezt a megkötést, tehát a program használójától elvárható, hogy nem fog ennek ellenére negatív kitevőt használni. Az együtthatóknak nem kötelező egésznek lenniük, lehetnek tizedestörtek is. A program kezdőoldalán, ami az Útmutató menüpont, a bevitellel kapcsolatos fontos pontok le vannak írva, segítő jelleggel. Kitérve az egyes módszerekre, mindegyiknél meg kell adni egy kiindulási vektort, valamint egy ε hibahatárt. Előbbi evidens, hogy miért kell, utóbbi célja pedig az, hogy ha nincs pontos eredmény, akkor egy adott határon belüli közelítés esetén is megáll a program és eredményt ad. Szükség van még a lépések számának maximalizálására annak érdekében, hogy egy adott lépés után mindenképpen megálljon az algoritmus. A SUMT módszernél azonban kis lépésszám kell, mert az ott arra vonatkozik, hogy hányszor növeljük tízszeresére a µ értékét. A Newton módszerhez nem is kell más adat, a kvázi Newton eljárásnál viszont értelemszerűen meg kell adni egy mátrixot is, amely a Hesse mátrixot vagy annak az inverzét fogja helyettesíteni. Hogy pontosan melyiket, arról a használni kívánt módszer dönt, amit a radio típusú input mezővel lehet beállítani. Van azonban emellett egy másik, radio típusú beviteli mező, ami annak eldöntésére szolgál, hogy a Newton, vagy kvázi Newton módszereknél alkalmazzon-e a program vonalmenti minimumkeresést, vagy enélkül, az "alap" algoritmusokat hajtsa végre. Ez a as alfejezet tartalmához kapcsolódik. A SUMT programnál szükség van a feltételekre is, melyeket a célfüggvényhez hasonló módon kell bevinni, külön megadva az egyenlőséges és az egyenlőtlenséges feltételek számát. µ értéke az általánosságban használt 1-re van állítva, 10-szeres szorzóval. Van egy mező még a kerekítés megadására is, ezzel kapcsolatban szükségesnek érzek egy kis magyarázatot. A nagyon kicsi tizedestörtek nem feltétlenül tudnak pontosan 0 értéket felvenni a float típus pontatlanságai miatt, így pedig nehéz lenne megvizsgálni például azt, hogy a gradiens vektor az x helyen 0 lesz-e. Ezért a megadott számú tizedesjegyre való kerekítéssel oldom meg ezt a problémát, de a többi helyen is a számolás egységesítése miatt, valamint a kiírások során is történik kerekítés. Ez így egy újabb állítható pontosságot biztosít, az ε mellett. Az adatok a form-ból GET metódussal kerülnek feldolgozásra, majd külön tömbben tárolódnak a célfüggvény együtthatói és a kitevői (utóbbiaknak ezen belül több tömb, 28

29 x indexe szerint). A kitevők sorrendje a következő: $array[$i][$j] az x i-edik eleméhez tartozó kitevő, az összeg j-edik tagjánál. Mivel a dimenziószám, valamint a célfüggvény tagjainak száma változatlan az eljárások alatt, ezért konstansként kerülnek tárolásra Kimenő adatok megjelenítési terve Mind a három módszer külön php fájlban van megírva, azonban sok olyan függvény van, amit több módszer is használ. Ebből kifolyólag egy külön fájlba tettem a közös függvényeket, melyeket így nem kellett minden eljárásnál bemásolni, így átláthatóbb és helytakarékosabb a program. Ez a fuggvenyek.php tartalmazza a kiírással kapcsolatos metódusokat is. Mivel függvényekkel, vektorokkal és mátrixokkal dolgozunk, ezeknek mindenféleképpen kell valamilyen megjelenést adni. A hatványfüggvények kiírására szolgál a legelső, kiir($egy,$ki) nevű programrész. Paraméterként az együtthatók, és a kitevők tömbjét kéri, visszatérési értéke nincs, lényegében a bevitelhez képest olvashatóbb formában adja vissza a függvényeket. Ahol a 0 szerepel, egyszerűsít is, például ha 0 lesz valamelyik együttható, azt a tagot nem írja ki, vagy ha a kitevő 0, a hozzá tartozó x i is láthatatlan marad. A függvény(ek) bevitele után rögtön kiírja a program ezzel a hívással a lap tetejére a célfüggvényt, valamint a feltételeket is, a SUMT esetén. Emellett a gradiens vektor, vagy a Hesse mátrix elemeit is a kiir teszi láthatóvá. Példa a kiírásra - felül a beviteli mezőknél megadott függvény, alul ugyanez a feldolgozás után megjelenítve. Működése röviden: Megvizsgálja az összes tagot, ha minden együttható 0, akkor kiír egy nullát, ellenkező esetben ha nem nulla az együttható, kiírja az x vektor hozzá tartozó elemeit, a megfelelő kitevőkkel. Ha a kitevők között van nulla, azt az elemet kihagyja. Amennyiben van további nem nulla együttható, akkor + jelet ír elé, majd annak vizsgálatával folytatja. A vektorok és a mátrixok kiírására a vektorkiir($mit) és a matrixkiir($mit) függvények szolgálnak. Az adott dimenzió szerint vektornál egy ciklus, míg mátrixnál két ciklus végigmegy az elemeken, és egy táblázatos formában kiírja azokat. A megjelenést tekintve leginkább a mátrixok determinánsára hasonlít az eredmény, de mivel a témában a determináns nem jelenik meg, ezért nem érthető félre. Ezt a megoldást css segítségével készítettem úgy, hogy a táblázat jobb, és bal oldalán van csak border beállítva. Vektorok azonban megjelenhetnek egyszerű felsorolással is, kerek zárójelben egymás mellé írva, ezt az adott helyen, ha szükség van rá, egy ciklussal oldom meg. 29

30 Egy dolog van még, ami a megjelenést befolyásolja, mégpedig a módszerek során kapott adatok kiírása. Ahhoz, hogy ne minden egymás alá kerüljön, de jól olvasható legyen egymás mellett, táblázatos megjelenést használok. Minden külön információ saját cellát kap, így elkerülhető a vektorok / mátrixok miatt összefolyt szöveg, és az is, hogy az összefüggő részeket mindig új sor válassza el Programkód Ennyi bevezetés után nézzük mostmár a program fő algoritmusait, és a módszerek megvalósítását. A fuggvenyek.php további metódusait tekintsük át először. Az egyik alapvető függvény a deriválás: derival($egy, $ki, $szerint). function derival($egy, $ki, $szerint){ $eredmeny[1]=$egy; $eredmeny[2]=$ki; $num = count($eredmeny[1]); for ($i=1; $i<=$num; $i++) { if($eredmeny[2][$szerint][$i]!= 0) { $eredmeny[1][$i] = $eredmeny[1][$i] * $eredmeny[2][$szerint][$i]; $eredmeny[2][$szerint][$i] = $eredmeny[2][$szerint][$i] - 1; } else $eredmeny[1][$i] = 0; } return $eredmeny; } Ennek a működése egyszerűnek mondható, a paraméterei az együtthatók tömbje, a kitevők (többdimenziós) tömbje és az az index, amelyik szerint deriválni kell. Egy új, több szintű tömb lesz a visszatérési érték, első eleme az együtthatókkal, második a kitevőkkel. A ciklussal az összes tagon végigmegyünk, ha a keresett kitevő nem nulla, akkor az adott tag együtthatóját megszorozzuk a kitevővel, majd a kitevőt csökkentjük eggyel. Ha pedig a kitevő nulla, az együtthatót is nullával tesszük egyenlővé. A gradiens vektor és a Hesse mátrix kiszámításához már csak az előző függvényt kell használni, és ciklikusan meghívni. A gradiens($egy, $ki) létrehozza a gradiens vektort, a hesse($gradiens) függvény pedig a Hesse mátrixot. Érdemes megjegyezni, hogy a hesse függvény paramétere az előzőleg kiszámolt gradiens vektor. Hasonló felépítésű a behelyettesítés megoldása, itt is van egy alap függvény, a helyettesit($egy, $ki, $mit), melynek utolsó paramétere a behelyettesíteni kívánt vektor. Ennél szintén végigmegyünk minden tagon, és elvégezzük a műveleteket, az együtthatót megszorozzuk az aktuális vektor adott hatványaival. Vektorba helyettesítéskor (helyettvekt($mibe, $mit)) egy ciklussal, mátrixnál (helyettmatr($mibe, $mit)) két ciklussal számoljuk ki az összes értéket. 30

31 Szerepel még egy segédfüggvény - vektorossz($mihez, $mit) - amivel a konkrét értékkel rendelkező vektorokat adhatjuk össze. Ennek például akkor van haszna, ha a Newton módszernél az x vektor következő közelítését számoljuk ki, amikor az aktuális közelítést és az s vektort összeadjuk. A továbbiakban az egyes módszereket részletesen ismertetem Newton módszer A modszer/newton.php fájl tartalmazza az algoritmust. Természetesen a közös függvényeket include paranccsal éri el. A form-ról és a szükséges adatokról már esett szó, ezeket nem ismételném. A célfüggvényt a $egyutthatok és a $kitevok tömbökbe tároljuk el, a feldolgozás során. Közben a kiinduló vektort is létrehozzuk, $xvektor néven. Felírjuk a célfüggvény gradiensét - $gradi, majd a Hesse mátrixát - $hes. Ezeket egy táblázatban kiírjuk, az alap adatok után. Itt kezdődik a ciklus, amely az algoritmus minden további részét tartalmazza. 1. Kiszámoljuk a gradiens vektor aktuális értékét az $xvektor-t behelyettesítve $ertekgrad = helyettvekt($gradi, $xvektor); 2. Ha ez a gradiens érték 0, akkor vége a ciklusnak, és kiírjuk a megoldást. 3. Ha a gradiens nem nulla, akkor meg kell oldani a következő egyenletrendszert: H(x k )s k = f(x k ). Ezt kiírja a program az aktuális értékekkel. Az egyenletrendszer megoldása ezzel a függvényhívással történik: $egyrendszer = rendszer($ertekhess, $minuszertekgrad); (a $egyrendszer maga az s vektor értéke) 4. Ha valamiért nincs megoldás, a program befejeződik. Ha van megoldás, akkor a kapott s vektort alapesetben hozzáadjuk az x-hez, ezzel megkapjuk x következő közelítését: $xvektor = vektorossz($xvektor, $egyrendszer); Ha azonban be van állítva a vonalmenti optimalizálás, akkor a s vektort irányként használva (d), a program egy egyváltozós optimalizálást végez, mégpedig Golden section módszerrel. Az eredményként kapott λ érték és a d irány szorzatát adjuk hozzá x-hez. 5. Megnézzük a kilépési feltételt: ha az egymást követő x-ek normája az adott ε alatt van, akkor nincs folytatás, ellenkező esetben folytatjuk a ciklus elejéről. Három függvény kapcsolódik ide, az egyik a kilepfelt($vektor1, $vektor2), ami az x vektorok különbségének első normáját számolja ki, a kilépési feltétel vizsgálatához. A másik az, amivel az egyenletrendszert megoldjuk. A rendszer($bal, $jobb) egy részleges főelemkiválasztásos eljárás programja, mellyel a lineáris egyenletrendszert meg lehet oldani. Ennek az algoritmusa leginkább a lineáris algebra témakörébe tartozik, de röviden a lényege az, hogy a $bal paraméter a Hesse mátrix aktuális értéke, a $jobb pedig a mínusz gradiens vektor, szintén aktualizálva. Ezeket összeillesztem egy új "táblába" ($megold), majd ezen pivotálok, amíg felső háromszög mátrixot kapok, 31

32 amennyiben ez lehetséges. Ha sikerült, akkor az "eredmény" kommenttel ellátott részben visszafelé haladva kiszámolom az s vektor elemeit. Példa a Newton módszer egy lépésére. A harmadik függvény pedig a Golden section eljárás megvalósítása: golden($egyutt, $ki, $x, $d, $eps). A paraméterek az erdeti célfüggvény együtthatói és kitevői, az aktuális x és d vektorok, valamint az ε pontossági érték. A függvény működése a következő: először is fel kell venni a kiinduló intervallumot - $inta, $intb (a és b pontok), majd az α = 5 1 értéket beállítani, és ennek segítségével 2 a belső osztópontokat kiszámolni - $intc és $intd (c és d pontok). Ezután egy ciklus következik, melynek kilépési feltétele az intervallum hosszára vonatkozik: while (($intb-$inta) > 2*$eps) nagyobb legyen, mint a hibahatár kétszerese. A cikluson belül először az osztópontokkal kell megszorozni a d irányvektort, majd ezt hozzáadni az x-hez, így behelyettesítve a $helyc és $helyd vektorokat a célfüggvénybe, megkapjuk a c és d pontban felvett függvényértéket. Ezeket vizsgálva kell a további lépéseket megtenni a Golden section módszernek megfelelően, az elágaztatás pontosan ezt írja le: Ha f(c k ) > f(d k ) [a k+1, b k+1 ] = [c k, b k ], c k+1 = d k, d k+1 = a k+1 + αl k+1 Ha f(c k ) f(d k ) [a k+1, b k+1 ] = [a k, d k ], c k+1 = a k+1 + (1 α)l k+1, d k+1 = c k. Így egyre kisebb bizonytalansági intervallumokat kapunk, míg végül annak a hossza kisebb lesz, mint a pontossági érték kétszerese - ekkor a végeredményünk egy olyan λ, mely az utolsó intervallum felezőpontja. Megjegyzés: nincs új függvény létrehozva a λ minimalizálására, a φ(λ) = f(x k + λd k ) függvények egyenlőségéből egyértelműen következik, hogy az f függvénybe behelyettesítve az aktuális x és d vektorokat, pontosan egy egyváltozós függvényt kapunk λ-ra, így a φ(λ) külön megalkotására nincs szükség, az eredeti célfüggvény teljesen jól használható. Természetesen nincs különbség a két lehetőség között, a φ(λ) esetén a λ kivételével minden más be van helyettesítve, így az összevonások után kapunk egy ren- 32

33 dezett függvényt λ-ra, míg az általam használt módszernél a λ értéke is rögtön bekerül a célfüggvénybe. A λ kiszámolását ez a függvényhívás végzi: $lambda = golden($egyutthatok, $kitevok, $xvektor, $egyrendszer, $epsilon); Kvázi Newton módszerek A modszer/kvazi.php fájl hajtja végre az algoritmust. Itt is szükség van az include parancsra a függvényekhez. A Newton módszerhez képest annyi változás történik, ami az elméleti összefoglalásban le is van írva, hogy nem a Hesse mátrixszal számolunk, hanem annak, vagy pedig az inverzének egy közelítésével. A beviteli "űrlap" tehát egy mátrix bekérésével lesz több, ebben az esetben. A feldolgozott mátrixot ugyanúgy $hes néven használom, mint az előző módszernél a Hesse mátrixot, így a legegyszerűbb dolgozni vele. A lépések a BFGS eljárás esetén szinte teljesen megegyeznek a Newton módszerrel, az egyetlen különbség, hogy a Hesse mátrixot nem kell meghatározni a gradiens vektorból. A DFP eljárás során viszont a $hes a Hesse mátrix inverzének a közelítését fogja jelölni, és itt a s k = D k f(x k ) összefüggést kell megoldani, ahol a D mátrixunk $hes néven szerepel. Viszont ez nem egyenletrendszer, hanem egy vektor szorzása mátrixszal, ami a gyakorlatban egyetlen műveletet jelent. Ezt végzi el a fuggvenyek.php fájlban egy segédfüggvény, az mxv($matrix, $vektor), melynek neve a mátrix szorozva vektor összetételre utal. s k meghatározása után a vonalmenti minimalizálás itt is használható, pontosan ugyanúgy működik, mint a Newton módszernél. A ciklus végén viszont ki kell számolni a helyettesítő mátrix új közelítését is. Ehhez még a következő függvények szerepelnek: vxvt($vektor1, $vektor2) - vektor szorozva vektor transzponáltjával vtxv($vektor1, $vektor2) - vektor transzponáltja szorozva vektorral matrixossz($mihez, $mit) - mátrixok összeadása matrixperszam($matrix, $szam) - mátrix értékeinek leosztása adott számmal A fő függvény pedig az, ami kiszámítja az új közelítő mátrixot: function ujkozelhesse($hesse, $v1, $v2) { $v3 = mxv($hesse, $v2); $szam1 = vtxv($v1, $v2); $mx1 = vxvt($v1, $v1); $per = matrixperszam($mx1, $szam1); $hesse = matrixossz($hesse, $per); $szam2 = -1 * vtxv($v3, $v2); $per2 = matrixperszam(vxvt($v3, $v3),$szam2); $hesse = matrixossz($hesse, $per2); return $hesse; } 33

34 Ez a néhány függvényhívás pontosan megfelel az elméleti résznél már bemutatott képleteknek. A függvény ráadásul úgy van paraméterezve, hogy bármelyik eljárást választjuk, BFGS-t vagy DFP-t, mindkettőnél működik, mert az alap mátrix ugyanaz lesz, a két vektort pedig csak meg kell cserélni. A következő programrészlet mutatja ezt be: Először is ki kell számolni az y-t: $y = helyettvekt($gradi, $xvektor); $y = vektorossz($y, $minuszertekgrad); $egyrendszer itt is az s vektor értékét jelöli. Ezután pedig a módszereknek megfelelően: if($eljaras == "bfgs") { echo "B<sub>",$lepes+1,"</sub> = </td><td> "; $hes = ujkozelhesse($hes, $y, $egyrendszer); matrixkiir($hes); } else { echo "D<sub>",$lepes+1,"</sub> = </td><td> "; $hes = ujkozelhesse($hes, $egyrendszer, $y); matrixkiir($hes); } Ahogy az fenti kódrészleten is látszik, a két eljárás egy fájlban van megvalósítva, a Newton módszerrel egyező közös részek mellett egy elágaztatás dönti el a szükséges helyeken, hogy melyik metódus esetén milyen lépés következik. A BFGS módszernél lévő ujkozelhesse(\$hes, \$y, \$egyrendszer) függvényhívással bemutatom, hogy az új mátrix felépítése hogyan követi a már ismert képletet: B k+1 = B k + y ky T k y T k s k ujkozelhesse($hes, $y, $egyrendszer) { $v3 = mxv($hes, $egyrendszer); B k s k $szam1 = vtxv($y, $egyrendszer); yk Ts k $mx1 = vxvt($y, $y); y k yk T $per = matrixperszam($mx1, $szam1); (B ks k )(B k s k ) T (B k s k ) T s k. y ky T k y T k s k $hes = matrixossz($hes, $per); B k = B k + y kyk T yk Ts k $szam2 = -1 * vtxv($v3, $egyrendszer); (B k s k ) T s k $per2 = matrixperszam(vxvt($v3, $v3),$szam2); $hes = matrixossz($hes, $per2); (B ks k )(B k s k ) T (B k s k ) T s k B k = B k + (B ks k )(B k s k ) T (B k s k ) T s k A módosított B k mátrix lesz az új közelítő mátrix, a B k+1, mellyel már lehet folytatni a ciklus elejétől a módszert. 34

35 SUMT módszer Példa a DFP kvázi Newton módszer egy lépésére. A modszer/sumt.php fájl tartalmazza az algoritmust. A közös függvényeket include paranccsal éri el. A kezdeti két beviteli mező helyett itt öt szerepel, mert meg kell adni az egyenlőtlenséges és az egyenlőséges feltételi függvények számát, valamint ezeknek a maximális tagszámát. Utóbbival kapcsolatban megoldható lett volna, hogy minden feltételnél külön legyen bekérve a tagok száma, de az bonyolította volna a helyzetet, és legtöbbször a tagok száma a feltételeknél közel áll egymáshoz, így egységesen kezelem azokat. Minden ilyen feltételt úgy kell beírni, mint a célfüggvényt. A módszer legfontosabb része, hogy a célfüggvényt minden egyes lépésben kibővítem a megfelelő feltételek "beolvasztásával", de a célfüggvényre később még szükség lesz, ezért nem írom felül, hanem annak adatai helyett segédváltozókat használok. A büntető paraméter a szokásos módon van beállítva: értéke kezdetben 1, és 10- szeresére nő minden lépés során. Az adatoknál kért lépésszám fogja megadni, hogy a µ mennyiszer legyen növelve. A programban ezt a következő kód jelzi: $umaxertek = $uertek * pow(10, LEPSZ); - például LEPSZ konstans ha 5, akkor µ legnagyobb értéke lesz. 35

36 A büntető paraméter növelése ciklus használatával történik, melynek magjában a feltétel nélküli optimalizálási segédfeladat megoldása szerepel. Ehhez először létre kell hozni a segédfüggvényt, ami a célfüggvény szerepét kapja. Az eredeti célfüggvény együtthatóit és kitevőit egy új változóba másolom, majd az indexek növelésével a tömbhöz fokozatosan csatolom hozzá az éppen szükséges feltételeket. Minden egyes lépésnél először visszaállítom a segédfüggvényt az eredeti állapotára, hogy ne maradjon véletlenül sem több tagja, mint amennyi aktuálisan létrejön. Ennek elérésére az unset parancsot használom a tömbök minden olyan indexű elemére, mely nagyobb, mint az eredeti célfüggvény legnagyobb indexe, vagyis tagjainak száma. Ezután generálom újra a segédfüggvényt. Az egyenlőtlenséges feltételeket, ha bekerülnek, és az egyenlőségeseket pedig minden esetben négyzetre kell emelni. Erre a fvnegyzet($egyutt, $ki) függvény szolgál a fuggvenyek.php fájlból. Működését tekintve nagyon egyszerű: két, egymásba ágyazott ciklus segítségével a függvény minden tagját megszorzom minden taggal. Így például egy négytagú feltételnél a négyzetre emeléskor 16 tagot kapunk, ami egy elég nagy szám, de a program kezeli. Ha elkészült a segédfüggvény, akkor lezajlik a feltétel nélküli optimalizálás. Ennek nem kerül kiírásra minden lépése, csak a végeredmény. A lépésszám itt azonban kötött, konkrétan 100, ha esetleg eléri a program ezt, akkor egy üzenetet ír ki és véget ér az algoritmus. Ha a segédfüggvény minimumát megtalálta a program, akkor egy táblázatba kiírja a büntető paramétert, az x vektort, valamint a segédfüggvény és az eredeti célfüggvény értékét az x helyen. Ezután a µ 10-szeresére nő, és kezdődik újra a segédfeladat, a feltétel nélküli optimalizálás. Példa SUMT módszerre, 6 lépéssel Megjegyzések A program alapvetően a(z előre legyártott) "mintafeladatok" megoldását szolgálja, azokra működik hiba nélkül. Nincsenek ugyanis külön vizsgálatok, például hogy a Hesse mátrix közelítése szimmetrikus-e, azt pedig szintén nem tudni előre, hogy van-e egyáltalán a függvénynek minimumpontja. 36

Konjugált gradiens módszer

Konjugált gradiens módszer Közelítő és szimbolikus számítások 12. gyakorlat Konjugált gradiens módszer Készítette: Gelle Kitti Csendes Tibor Vinkó Tamás Faragó István Horváth Róbert jegyzetei alapján 1 LINEÁRIS EGYENLETRENDSZEREK

Részletesebben

Nemlineáris programozás 2.

Nemlineáris programozás 2. Optimumszámítás Nemlineáris programozás 2. Többváltozós optimalizálás feltételek mellett. Lagrange-feladatok. Nemlineáris programozás. A Kuhn-Tucker feltételek. Konvex programozás. Sydsaeter-Hammond: 18.1-5,

Részletesebben

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

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/ Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 9. Előadás Az optimalizálás alapfeladata Keressük f függvény maximumát ahol f : R n R és

Részletesebben

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

Kétváltozós függvények differenciálszámítása Kétváltozós függvények differenciálszámítása 13. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Kétváltozós függvények p. 1/1 Definíció, szemléltetés Definíció. Az f : R R R függvényt

Részletesebben

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

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai Optimalizálási eljárások MSc hallgatók számára 10. Előadás Előadó: Hajnal Péter Jegyzetelő: T. Szabó Tamás 2011. április 20. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai A feltétel nélküli optimalizálásnál

Részletesebben

Matematika III előadás

Matematika III előadás Matematika III. - 3. előadás Vinczéné Varga Adrienn Debreceni Egyetem Műszaki Kar, Műszaki Alaptárgyi Tanszék Előadáskövető fóliák Vinczéné Varga Adrienn (DE-MK) Matematika III. 2016/2017/I 1 / 19 Skalármezők

Részletesebben

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

Losonczi László. Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar Szélsőértékszámítás Losonczi László Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar Losonczi László (DE) Szélsőértékszámítás 1 / 21 2. SZÉLSOÉRTÉKSZÁMÍTÁS 2.1 A szélsőérték fogalma, létezése Azt

Részletesebben

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

2. SZÉLSŽÉRTÉKSZÁMÍTÁS. 2.1 A széls érték fogalma, létezése 2 SZÉLSŽÉRTÉKSZÁMÍTÁS DEFINÍCIÓ 21 A széls érték fogalma, létezése Azt mondjuk, hogy az f : D R k R függvénynek lokális (helyi) maximuma (minimuma) van az x 0 D pontban, ha van olyan ε > 0 hogy f(x 0 )

Részletesebben

First Prev Next Last Go Back Full Screen Close Quit

First Prev Next Last Go Back Full Screen Close Quit Többváltozós függvények (2) First Prev Next Last Go Back Full Screen Close Quit 1. Egyváltozós függvények esetén a differenciálhatóságból következett a folytonosság. Fontos tudni, hogy abból, hogy egy

Részletesebben

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

A legjobb közeĺıtés itt most azt jelentette, hogy a lineáris Többváltozós függvények differenciálhatósága f(x) f(x Az egyváltozós függvények differenciálhatóságát a lim 0 ) x x0 x x 0 függvényhatárértékkel definiáltuk, s szemléletes jelentése abban mutatkozott meg,

Részletesebben

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

9. TÖBBVÁLTOZÓS FÜGGVÉNYEK DIFFERENCIÁLSZÁMITÁSA. 9.1 Metrika és topológia R k -ban 9. TÖBBVÁLTOZÓS FÜGGVÉNYEK DIFFERENCIÁLSZÁMITÁSA 9.1 Metrika és topológia R k -ban Definíció. A k-dimenziós euklideszi térnek nevezzük és R k val jelöljük a valós számokból alkotott k-tagú x = (x 1, x

Részletesebben

ALGORITMUSAI DR. NAGY TAMÁS. egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék

ALGORITMUSAI DR. NAGY TAMÁS. egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék FELTÉTEL NÉLKÜLI OPTIMALIZÁLÁS ALGORITMUSAI DR. NAGY TAMÁS egyetemi docens Miskolci Egyetem Alkalmazott Matematikai Tanszék A bemutatott kutató munka a TÁMOP-4...B-0//KONV-00-000 jel½u projekt részeként

Részletesebben

Gauss-Seidel iteráció

Gauss-Seidel iteráció Közelítő és szimbolikus számítások 5. gyakorlat Iterációs módszerek: Jacobi és Gauss-Seidel iteráció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 ITERÁCIÓS

Részletesebben

15. LINEÁRIS EGYENLETRENDSZEREK

15. LINEÁRIS EGYENLETRENDSZEREK 15 LINEÁRIS EGYENLETRENDSZEREK 151 Lineáris egyenletrendszer, Gauss elimináció 1 Definíció Lineáris egyenletrendszernek nevezzük az (1) a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a

Részletesebben

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

Többváltozós, valós értékű függvények TÖ Többváltozós, valós értékű függvények TÖ Definíció: többváltozós függvények Azokat a függvényeket, melyeknek az értelmezési tartománya R n egy részhalmaza, n változós függvényeknek nevezzük. TÖ Példák:.

Részletesebben

DR. NAGY TAMÁS. egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék

DR. NAGY TAMÁS. egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék FELTÉTELES OPTIMALIZÁLÁS DR. NAGY TAMÁS egyetemi docens Miskolci Egyetem Alkalmazott Matematikai Tanszék A bemutatott kutató munka a TÁMOP-4...B-0//KONV-00-000 jel½u projekt részeként az Európai Unió támogatásával,

Részletesebben

A lineáris programozás alapjai

A lineáris programozás alapjai A lineáris programozás alapjai A konvex analízis alapjai: konvexitás, konvex kombináció, hipersíkok, félterek, extrém pontok, Poliéderek, a Minkowski-Weyl tétel (a poliéderek reprezentációs tétele) Lineáris

Részletesebben

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 7. Előadás Árazási interpretáció Tekintsük újra az erőforrás allokációs problémát (vonat

Részletesebben

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

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.

Részletesebben

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

Többváltozós, valós értékű függvények Többváltozós függvények Többváltozós, valós értékű függvények Többváltozós függvények Definíció: többváltozós függvények Azokat a függvényeket, melyeknek az értelmezési tartománya R n egy részhalmaza,

Részletesebben

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

11. Előadás. 11. előadás Bevezetés a lineáris programozásba 11. Előadás Gondolkodnivalók Sajátérték, Kvadratikus alak 1. Gondolkodnivaló Adjuk meg, hogy az alábbi A mátrixnak mely α értékekre lesz sajátértéke a 5. Ezen α-ák esetén határozzuk meg a 5 sajátértékhez

Részletesebben

A szimplex algoritmus

A szimplex algoritmus A szimplex algoritmus Ismétlés: reprezentációs tétel, az optimális megoldás és az extrém pontok kapcsolata Alapfogalmak: bázisok, bázismegoldások, megengedett bázismegoldások, degenerált bázismegoldás

Részletesebben

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

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz Debreceni Egyetem Közgazdaságtudományi Kar Feladatok a Gazdasági matematika II tárgy gyakorlataihoz a megoldásra ajánlott feladatokat jelöli e feladatokat a félév végére megoldottnak tekintjük a nehezebb

Részletesebben

3. Lineáris differenciálegyenletek

3. Lineáris differenciálegyenletek 3. Lineáris differenciálegyenletek A közönséges differenciálegyenletek két nagy csoportba oszthatók lineáris és nemlineáris egyenletek csoportjába. Ez a felbontás kicsit önkényesnek tűnhet, a megoldásra

Részletesebben

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/ Operációkutatás I. 2018/2019-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c

Részletesebben

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/ Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c

Részletesebben

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak 10. Előadás Megyesi László: Lineáris algebra, 98. 108. oldal. Gondolkodnivalók Mátrix inverze 1. Gondolkodnivaló Igazoljuk, hogy invertálható trianguláris mátrixok inverze is trianguláris. Bizonyítás:

Részletesebben

Analízis II. Analízis II. Beugrók. Készítette: Szánthó József. kiezafiu kukac gmail.com. 2009/ félév

Analízis II. Analízis II. Beugrók. Készítette: Szánthó József. kiezafiu kukac gmail.com. 2009/ félév Analízis II. Analízis II. Beugrók Készítette: Szánthó József kiezafiu kukac gmail.com 2009/20 10 1.félév Analízis II. Beugrók Függvények folytonossága: 1. Mikor nevez egy függvényt egyenletesen folytonosnak?

Részletesebben

Boros Zoltán február

Boros Zoltán február Többváltozós függvények differenciál- és integrálszámítása (2 3. előadás) Boros Zoltán 209. február 9 26.. Vektorváltozós függvények differenciálhatósága és iránymenti deriváltjai A továbbiakban D R n

Részletesebben

Egyenletek, egyenlőtlenségek VII.

Egyenletek, egyenlőtlenségek VII. Egyenletek, egyenlőtlenségek VII. Magasabbfokú egyenletek: A 3, vagy annál nagyobb fokú egyenleteket magasabb fokú egyenleteknek nevezzük. Megjegyzés: Egy n - ed fokú egyenletnek legfeljebb n darab valós

Részletesebben

Nemlineáris optimalizálás Dr. Házy, Attila

Nemlineáris optimalizálás Dr. Házy, Attila Nemlineáris optimalizálás Dr. Házy, Attila Nemlineáris optimalizálás Dr. Házy, Attila Miskolci Egyetem Kelet-Magyarországi Informatika Tananyag Tárház Kivonat Kivonat Nemzeti Fejlesztési Ügynökség http://ujszechenyiterv.gov.hu/

Részletesebben

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.

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. Függvények határértéke és folytonossága Egy f: D R R függvényt korlátosnak nevezünk, ha a függvényértékek halmaza korlátos. Ha f(x) f(x 0 ) teljesül minden x D esetén, akkor x 0 -at a függvény maximumhelyének

Részletesebben

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

11. Előadás. 1. Lineáris egyenlőség feltételek melletti minimalizálás Optimalizálási eljárások MSc hallgatók számára 11. Előadás Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter 2011. április 27. 1. Lineáris egyenlőség feltételek melletti minimalizálás Múlt héten nem szerepeltek

Részletesebben

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

12. Mikor nevezünk egy részhalmazt nyíltnak, illetve zártnak a valós számok körében? Ellenörző Kérdések 1. Mit jelent az, hogy egy f : A B függvény injektív, szürjektív, illetve bijektív? 2. Mikor nevezünk egy függvényt invertálhatónak? 3. Definiálja a komplex szám és műveleteinek fogalmát!

Részletesebben

MATEMATIKA 2. dolgozat megoldása (A csoport)

MATEMATIKA 2. dolgozat megoldása (A csoport) MATEMATIKA. dolgozat megoldása (A csoport). Definiálja az alábbi fogalmakat: (egyváltozós) függvény folytonossága, differenciálhatósága, (többváltozós függvény) iránymenti deriváltja. (3x8 pont). Az f

Részletesebben

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Gauss-eliminációval, Cholesky felbontás, QR felbontás Közelítő és szimbolikus számítások 4. gyakorlat Mátrix invertálás Gauss-eliminációval, Cholesky felbontás, QR felbontás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei

Részletesebben

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei Indukált mátrixnorma Definíció A. M : R n n R mátrixnormát a. V : R n R vektornorma által indukált mátrixnormának nevezzük, ha A M = max { Ax V : x V = 1}. Az indukált mátrixnorma geometriai jelentése:

Részletesebben

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

A L Hospital-szabály, elaszticitás, monotonitás, konvexitás A L Hospital-szabály, elaszticitás, monotonitás, konvexitás 9. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék A L Hospital-szabály, elaszticitás, monotonitás, konvexitás p. / A L

Részletesebben

Szélsőérték-számítás

Szélsőérték-számítás Szélsőérték-számítás Jelölések A következő jelölések mind az f függvény x szerinti parciális deriváltját jelentik: Ugyanígy az f függvény y szerinti parciális deriváltja: f x = xf = f x f y = yf = f y

Részletesebben

Numerikus módszerek beugró kérdések

Numerikus módszerek beugró kérdések 1. Definiálja a gépi számok halmazát (a tanult modellnek megfelelően)! Adja meg a normalizált lebegőpontos szám alakját. (4 pont) Az alakú számot normalizált lebegőpontos számnak nevezik, ha Ahol,,,. Jelöl:

Részletesebben

First Prev Next Last Go Back Full Screen Close Quit. (Derivált)

First Prev Next Last Go Back Full Screen Close Quit. (Derivált) Valós függvények (3) (Derivált) . Legyen a belső pontja D f -nek. Ha létezik és véges a f(x) f(a) x a x a = f (a) () határérték, akkor f differenciálható a-ban. Az f (a) szám az f a-beli differenciálhányadosa.

Részletesebben

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4 Numerikus módszerek II. zárthelyi dolgozat, megoldások, 204/5. I. félév, A. csoport. Feladat. (6p) Alkalmas módon választva egy Givens-forgatást, határozzuk meg az A mátrix QR-felbontását! Oldjuk meg ennek

Részletesebben

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

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban? 6. Függvények I. Nulladik ZH-ban láttuk: 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban? f x g x cos x h x x ( ) sin x (A) Az f és a h. (B) Mindhárom. (C) Csak az f.

Részletesebben

Lineáris algebra numerikus módszerei

Lineáris algebra numerikus módszerei Hermite interpoláció Tegyük fel, hogy az x 0, x 1,..., x k [a, b] különböző alappontok (k n), továbbá m 0, m 1,..., m k N multiplicitások úgy, hogy Legyenek adottak k m i = n + 1. i=0 f (j) (x i ) = y

Részletesebben

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

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 SZÉLSŐÉRTÉKKEL KAPCSOLATOS TÉTELEK, PÉLDÁK, ELLENPÉLDÁK SZAKDOLGOZAT KÉSZÍTETTE: Kovács Dorottya Matematika Bsc, tanári szakirány TÉMAVEZETŐ: Gémes Margit Műszaki gazdasági tanár Analízis tanszék Eötvös

Részletesebben

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

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások 1. Feladat. (6p) Jelöljön. egy tetszőleges vektornormát, ill. a hozzá tartozó indukált mátrixnormát! Igazoljuk, hogy ha A

Részletesebben

2 (j) f(x) dx = 1 arcsin(3x 2) + C. (d) A x + Bx + C 5x (2x 2 + 7) + Hx + I. 2 2x F x + G. x

2 (j) f(x) dx = 1 arcsin(3x 2) + C. (d) A x + Bx + C 5x (2x 2 + 7) + Hx + I. 2 2x F x + G. x I feladatsor Határozza meg az alábbi függvények határozatlan integrálját: a fx dx = x arctg + C b fx dx = arctgx + C c fx dx = 5/x 4 arctg 5 x + C d fx dx = arctg + C 5/ e fx dx = x + arctg + C f fx dx

Részletesebben

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

Lagrange-féle multiplikátor módszer és alkalmazása Eötvös Loránd Tudományegyetem Természettudományi Kar Nemesné Jónás Nikolett Lagrange-féle multiplikátor módszer és alkalmazása Matematika BSc, Matematikai elemz szakirány Témavezet : Szekeres Béla János,

Részletesebben

Totális Unimodularitás és LP dualitás. Tapolcai János

Totális Unimodularitás és LP dualitás. Tapolcai János Totális Unimodularitás és LP dualitás Tapolcai János tapolcai@tmit.bme.hu 1 Optimalizálási feladat kezelése NP-nehéz Hatékony megoldás vélhetően nem létezik Jó esetben hatékony algoritmussal közelíteni

Részletesebben

ALGORITMUSAI. DR. NAGY TAMÁS egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék

ALGORITMUSAI. DR. NAGY TAMÁS egyetemi docens. Miskolci Egyetem Alkalmazott Matematikai Tanszék FELTÉTELES OPTIMALIZÁLÁS ALGORITMUSAI DR. NAGY TAMÁS egyetemi docens Miskolci Egyetem Alkalmazott Matematikai Tanszék A bemutatott kutató munka a TÁMOP-4.2.1.B-10/2/KONV-2010-0001 jel½u projekt részeként

Részletesebben

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

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 numerikus analízis ii 34 Ezért [ a, b] - n legfeljebb n darab gyöke lehet = r (m 1) n = r m + n 1 19 B - SPLINEOK VOLT: Ω n véges felosztás S n (Ω n ) véges dimenziós altér A bázis az úgynevezett egyoldalú

Részletesebben

Diszkrét Matematika MSc hallgatók számára. 4. Előadás

Diszkrét Matematika MSc hallgatók számára. 4. Előadás Diszkrét Matematika MSc hallgatók számára 4. Előadás Előadó: Hajnal Péter Jegyzetelő: Szarvák Gábor 2012. február 28. Emlékeztető. A primál feladat optimális értékét p -gal, a feladat optimális értékét

Részletesebben

Kalkulus I. gyakorlat Fizika BSc I/1.

Kalkulus I. gyakorlat Fizika BSc I/1. . Ábrázoljuk a következő halmazokat a síkon! {, y) R 2 : + y < }, b) {, y) R 2 : 2 + y 2 < 4}, c) {, y) R 2 : 2 + y 2 < 4, + y < }, {, y) R 2 : + y < }. Kalkulus I. gyakorlat Fizika BSc I/.. gyakorlat

Részletesebben

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő

Részletesebben

Matematika A2 vizsga mgeoldása június 4.

Matematika A2 vizsga mgeoldása június 4. Matematika A vizsga mgeoldása 03. június.. (a (3 pont Definiálja az f(x, y függvény határértékét az (x 0, y 0 helyen! Megoldás: Legyen D R, f : D R. Legyen az f(x, y függvény értelmezve az (x 0, y 0 pont

Részletesebben

A fontosabb definíciók

A fontosabb definíciók A legfontosabb definíciókat jelöli. A fontosabb definíciók [Descartes szorzat] Az A és B halmazok Descartes szorzatán az A és B elemeiből képezett összes (a, b) a A, b B rendezett párok halmazát értjük,

Részletesebben

Matematika A1a Analízis

Matematika A1a Analízis B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Matematika A1a Analízis BMETE90AX00 A derivált alkalmazásai H607, EIC 2019-04-03 Wettl

Részletesebben

Bevezetés az algebrába 2

Bevezetés az algebrába 2 B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Bevezetés az algebrába 2 BMETE91AM37 Mátrixfüggvények H607 2018-05-02 Wettl Ferenc

Részletesebben

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles Matematika szigorlat, Mérnök informatikus szak I. 2013. jan. 10. Név: Neptun kód: Idő: 180 perc Elm.: 1. f. 2. f. 3. f. 4. f. 5. f. Fel. össz.: Össz.: Oszt.: Az elérhető pontszám 40 (elmélet) + 60 (feladatok)

Részletesebben

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek 3. Előadás Megyesi László: Lineáris algebra, 47. 50. oldal. Gondolkodnivalók Determinánsok 1. Gondolkodnivaló Determinánselméleti tételek segítségével határozzuk meg a következő n n-es determinánst: 1

Részletesebben

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga BABEŞ-BOLYAI TUDOMÁNYEGYETEM, KOLOZSVÁR MATEMATIKA ÉS INFORMATIKA KAR MATE-INFO UBB verseny, 218. március 25. MATEMATIKA írásbeli vizsga FONTOS TUDNIVALÓK: 1 A feleletválasztós feladatok,,a rész esetén

Részletesebben

Vektorok, mátrixok, lineáris egyenletrendszerek

Vektorok, mátrixok, lineáris egyenletrendszerek a Matematika mérnököknek I. című tárgyhoz Vektorok, mátrixok, lineáris egyenletrendszerek Vektorok A rendezett valós számpárokat kétdimenziós valós vektoroknak nevezzük. Jelölésükre latin kisbetűket használunk.

Részletesebben

Konvexitás, elaszticitás

Konvexitás, elaszticitás DIFFERENCIÁLSZÁMÍTÁS ALKALMAZÁSAI Konveitás, elaszticitás Tanulási cél A másodrendű deriváltat vizsgálva milyen következtetéseket vonhatunk le a üggvény konveitására vonatkozóan. Elaszticitás ogalmának

Részletesebben

6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió

6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió 6. Előadás Megyesi László: Lineáris algebra, 37. 41. oldal. Gondolkodnivalók Lineáris függetlenség 1. Gondolkodnivaló Legyen V valós számtest feletti vektortér. Igazolja, hogy ha a v 1, v 2,..., v n V

Részletesebben

2. Hogyan számíthatjuk ki két komplex szám szorzatát, ha azok a+bi alakban, illetve trigonometrikus alakban vannak megadva?

2. Hogyan számíthatjuk ki két komplex szám szorzatát, ha azok a+bi alakban, illetve trigonometrikus alakban vannak megadva? = komolyabb bizonyítás (jeleshez) Ellenőrző kérdések 2006 ősz 1. Definiálja a komplex szám és műveleteinek fogalmát! 2. Hogyan számíthatjuk ki két komplex szám szorzatát, ha azok a+bi alakban, illetve

Részletesebben

karakterisztikus egyenlet Ortogonális mátrixok. Kvadratikus alakok főtengelytranszformációja

karakterisztikus egyenlet Ortogonális mátrixok. Kvadratikus alakok főtengelytranszformációja Mátrixok hasonlósága, karakterisztikus mátrix, karakterisztikus egyenlet Ortogonális mátrixok. Kvadratikus alakok főtengelytranszformációja 1.Mátrixok hasonlósága, karakterisztikus mátrix, karakterisztikus

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

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

ANALÍZIS III. ELMÉLETI KÉRDÉSEK ANALÍZIS III. ELMÉLETI KÉRDÉSEK Szerkesztette: Balogh Tamás 2014. május 15. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add el! - Így

Részletesebben

Gazdasági matematika II. vizsgadolgozat, megoldással,

Gazdasági matematika II. vizsgadolgozat, megoldással, Gazdasági matematika II. vizsgadolgozat, megoldással, levelező képzés Definiálja az alábbi fogalmakat! 1. Kvadratikus mátrix invertálhatósága és inverze. (4 pont) Egy A kvadratikus mátrixot invertálhatónak

Részletesebben

PTE PMMFK Levelező-távoktatás, villamosmérnök szak

PTE PMMFK Levelező-távoktatás, villamosmérnök szak PTE PMMFK Levelező-távoktatás, villamosmérnök szak MATEMATIKA (A tantárgy tartalma és a tananyag elsajátításának időterve.) Összeállította: Kis Miklós adjunktus Tankönyvek (mindhárom félévre): 1. Scharnitzky

Részletesebben

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( ) Budapesti Műszaki és Gazdaságtudományi Egyetem Gépészmérnöki Kar Hidrodinamikai Rendszerek Tanszék, Budapest, Műegyetem rkp. 3. D ép. 334. Tel: 463-6-80 Fa: 463-30-9 http://www.vizgep.bme.hu Alap-ötlet:

Részletesebben

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

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla Kvadratikus alakok és euklideszi terek (előadásvázlat, 0. október 5.) Maróti Miklós, Kátai-Urbán Kamilla Az előadáshoz ajánlott jegyzet: Szabó László: Bevezetés a lineáris algebrába, Polygon Kiadó, Szeged,

Részletesebben

4. Előadás: Erős dualitás

4. Előadás: Erős dualitás Optimalizálási eljárások/operációkutatás MSc hallgatók számára 4. Előadás: Erős dualitás Előadó: Hajnal Péter 2018. Emlékeztető. A primál feladat optimális értékét p -gal, a feladat optimális értékét d

Részletesebben

Nemlineáris programozás: algoritmusok

Nemlineáris programozás: algoritmusok Nemlineáris programozás: algoritmusok illes@math.elte.hu Operációkutatási Tanszék Budapest 2010. I. félév Feltétel nélküli optimalizálási feladat Feltétel nélküli optimalizálási feladat: Legyen adott az

Részletesebben

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

Gazdasági matematika II. vizsgadolgozat megoldása, június 10 Gazdasági matematika II. vizsgadolgozat megoldása, 204. június 0 A dolgozatírásnál íróeszközön kívül más segédeszköz nem használható. A dolgozat időtartama: 90 perc. Ha a dolgozat első részéből szerzett

Részletesebben

Normák, kondíciószám

Normák, kondíciószám Normák, kondíciószám A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Lineáris egyenletrendszerek Nagyon sok probléma közvetlenül lineáris egyenletrendszer megoldásával kezelhetı Sok numerikus

Részletesebben

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II. 8 Egyenletek, egyenlőtlenségek, egyenletrendszerek II Elméleti összefoglaló Az a + b+ c, a egyenletet másodfokú egyenletnek nevezzük A D b ac kifejezést az egyenlet diszkriminánsának nevezzük Ha D >, az

Részletesebben

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

P 2 P 1. 4.1 ábra Az f(x) függvény globális minimuma (P 1 ) és egy lokális minimuma (P 2 ). Paláncz Béla - Numerikus Módszerek - 211-4. Optimalizálás 4 Optimalizálás Bevezetés Az optimalizáció, egy függvény szélsőértéke helyének meghatározása, talán a legfontosabb numerikus eljárások közé tartozik.

Részletesebben

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének 6. Függvények I. Elméleti összefoglaló A függvény fogalma, értelmezési tartomány, képhalmaz, értékkészlet Legyen az A és B halmaz egyike sem üreshalmaz. Ha az A halmaz minden egyes eleméhez hozzárendeljük

Részletesebben

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell 9. Előadás Megyesi László: Lineáris algebra, 75. 84. oldal. Gondolkodnivalók Mátrix rangja 1. Gondolkodnivaló Tegyük fel, hogy egy elemi bázistranszformáció kezdetekor a sor- és oszlopindexek sorban helyezkednek

Részletesebben

Függvények Megoldások

Függvények Megoldások Függvények Megoldások ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x x b) x x + c) x ( x + ) b) Az x függvény

Részletesebben

Szélsőérték feladatok megoldása

Szélsőérték feladatok megoldása Szélsőérték feladatok megoldása A z = f (x,y) függvény lokális szélsőértékének meghatározása: A. Szükséges feltétel: f x (x,y) = 0 f y (x,y) = 0 egyenletrendszer megoldása, amire a továbbiakban az x =

Részletesebben

Matematika elméleti összefoglaló

Matematika elméleti összefoglaló 1 Matematika elméleti összefoglaló 2 Tartalomjegyzék Tartalomjegyzék... 2 1. Sorozatok jellemzése, határértéke... 3 2. Függvények határértéke és folytonossága... 5 3. Deriválás... 6 4. Függvényvizsgálat...

Részletesebben

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Vektorterek. =a gyakorlatokon megoldásra ajánlott Vektorterek =a gyakorlatokon megoldásra ajánlott 40. Alteret alkotnak-e a valós R 5 vektortérben a megadott részhalmazok? Ha igen, akkor hány dimenziósak? (a) L = { (x 1, x 2, x 3, x 4, x 5 ) x 1 = x 5,

Részletesebben

MODELLEK ÉS ALGORITMUSOK ELŐADÁS

MODELLEK ÉS ALGORITMUSOK ELŐADÁS MODELLEK ÉS ALGORITMUSOK ELŐADÁS Szerkesztette: Balogh Tamás 214. december 7. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add el! - Így

Részletesebben

összeadjuk 0-t kapunk. Képletben:

összeadjuk 0-t kapunk. Képletben: 814 A ferde kifejtés tétele Ha egy determináns valamely sorának elemeit egy másik sor elemeihez tartozó adjungáltakkal szorozzuk meg és a szorzatokat összeadjuk 0-t kapunk Képletben: n a ij A kj = 0, ha

Részletesebben

Határozatlan integrál (2) First Prev Next Last Go Back Full Screen Close Quit

Határozatlan integrál (2) First Prev Next Last Go Back Full Screen Close Quit Határozatlan integrál () First Prev Next Last Go Back Full Screen Close Quit 1. Az összetett függvények integrálására szolgáló egyik módszer a helyettesítéssel való integrálás. Az idevonatkozó tétel pontos

Részletesebben

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1.

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1. Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai.). Feladat. Határozzuk meg az alábbi integrálokat: a) x x + dx d) xe x dx b) c)

Részletesebben

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet 9. Előadás Megyesi László: Lineáris algebra, 75. 84. oldal. Gondolkodnivalók Mátrix rangja 1. Gondolkodnivaló Határozzuk meg a p valós paraméter értékétől függően a következő mátrix rangját: p 3 1 2 2

Részletesebben

Másodfokú egyenletek, egyenlőtlenségek

Másodfokú egyenletek, egyenlőtlenségek Másodfokú egyenletek, egyenlőtlenségek A másodfokú egyenlet grafikus megoldása Példa1. Ábrázold az f(x) = x 1x 16 függvényt, majd olvasd le az ábráról az alábbi egyenlet megoldását: x 1x 16 =. 1. lépés:

Részletesebben

Differenciálegyenletek megoldása próbafüggvény-módszerrel

Differenciálegyenletek megoldása próbafüggvény-módszerrel Differenciálegyenletek megoldása próbafüggvény-módszerrel Ez még nem a végleges változat, utoljára módosítva: 2012. április 9.19:38. Elsőrendű egyenletek Legyen adott egy elsőrendű lineáris állandó együtthatós

Részletesebben

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

1. Parciális függvény, parciális derivált (ismétlés) Operációkutatás NYME Gazdaságinformatikus mesterképzés El adó: Kalmár János (kalmar[kukac]inf.nyme.hu) Többváltozós széls érték számítás Parciális függvény, parciális derivált Széls érték korlátos zárt

Részletesebben

Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással

Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással pontos dualitással Imre McMaster University Advanced Optimization Lab ELTE TTK Operációkutatási Tanszék Folytonos optimalizálás szeminárium 2004. július 6. 1 2 3 Kvadratikus egyenlőtlenségrendszerek Primál

Részletesebben

Numerikus integrálás

Numerikus integrálás Közelítő és szimbolikus számítások 11. gyakorlat Numerikus integrálás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján 1. Határozatlan integrál

Részletesebben

Numerikus matematika vizsga

Numerikus matematika vizsga 1. Az a = 2, t = 4, k = 3, k + = 2 számábrázolási jellemzők mellett hány pozitív, normalizált lebegőpontos szám ábrázolható? Adja meg a legnagyobb ábrázolható számot! Mi lesz a 0.8-hoz rendelt lebegőpontos

Részletesebben

11. gyakorlat megoldásai

11. gyakorlat megoldásai 11. gyakorlat megoldásai Lokális szélsőértékek F1. Határozza meg az alábbi kétváltozós függvények lokális szélsőértékeit! (a) f(x, y) = 4x 2 + 2xy + 5y 2 + 2, (b) f(x, y) = y 4 3y + x 2 y + 2xy, (c) f(x,

Részletesebben

1 Lebegőpontos számábrázolás

1 Lebegőpontos számábrázolás Tartalom 1 Lebegőpontos számábrázolás... 2 2 Vektornormák... 4 3 Indukált mátrixnormák és tulajdonságaik... 5 4 A lineáris rendszer jobboldala hibás... 6 5 A kondíciószám és tulajdonságai... 7 6 Perturbációs

Részletesebben

First Prev Next Last Go Back Full Screen Close Quit. Matematika I

First Prev Next Last Go Back Full Screen Close Quit. Matematika I Matematika I (Analízis) Készítette: Horváth Gábor Kötelező irodalom: Ács László, Gáspár Csaba: Analízis 1 Oktatási segédanyagok és a tantárgyi követelményrendszer megtalálható a http://rs1.szif.hu/ horvathg/horvathg.html

Részletesebben

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

Taylor-polinomok. 1. Alapfeladatok. 2015. április 11. 1. Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját! Taylor-polinomok 205. április.. Alapfeladatok. Feladat: Írjuk fel az fx) = e 2x függvény másodfokú Maclaurinpolinomját! Megoldás: A feladatot kétféle úton is megoldjuk. Az els megoldásban induljunk el

Részletesebben

Numerikus módszerek 1.

Numerikus módszerek 1. Numerikus módszerek 1. 10. előadás: Nemlineáris egyenletek numerikus megoldása Lócsi Levente ELTE IK 2013. november 18. Tartalomjegyzék 1 Bolzano-tétel, intervallumfelezés 2 Fixponttételek, egyszerű iterációk

Részletesebben