Egy pénzügyi probléma vizsgálata kvadratikus programozással

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

Opkut deníciók és tételek

Konjugált gradiens módszer

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

Nemlineáris programozás 2.

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 2017/

A szimplex algoritmus

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

A Markowitz modell: kvadratikus programozás

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

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

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

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Szinguláris értékek. Wettl Ferenc április 3. Wettl Ferenc Szinguláris értékek április 3. 1 / 28

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

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

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

Szinguláris értékek. Wettl Ferenc április 12. Wettl Ferenc Szinguláris értékek április / 35

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

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

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

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

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

A KroneckerCapelli-tételb l következik, hogy egy Bx = 0 homogén lineáris egyenletrendszernek

Elméleti összefoglaló a Valószín ségszámítás kurzushoz

Konvex optimalizálás feladatok

A lineáris programozás alapjai

Abszolút folytonos valószín ségi változó (4. el adás)

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

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

A Markowitz modell: kvadratikus programozás

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

Szemidenit optimalizálás és az S-lemma

Végeselem modellezés alapjai 1. óra

Matematika III előadás

A szimplex tábla. p. 1

Sorozatok és Sorozatok és / 18

Numerikus módszerek beugró kérdések

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

Nem-lineáris programozási feladatok

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

Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás

II. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés

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

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

A fontosabb definíciók

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

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

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

3. Lineáris differenciálegyenletek

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

1/ gyakorlat. Hiperbolikus programozási feladat megoldása. Pécsi Tudományegyetem PTI

Saj at ert ek-probl em ak febru ar 26.

Gazdasági matematika II. tanmenet

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

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

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

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

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

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

Legkisebb négyzetek módszere, Spline interpoláció

Matematikai geodéziai számítások 5.

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

Gauss-Seidel iteráció

Skalárszorzat, norma, szög, távolság. Dr. Takách Géza NyME FMK Informatikai Intézet takach/ 2005.

15. LINEÁRIS EGYENLETRENDSZEREK

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Principal Component Analysis

Nemlineáris programozás: algoritmusok

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

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

Egyenletek, egyenlőtlenségek VII.

Numerikus módszerek 1.

A derivált alkalmazásai

OPERÁCIÓKUTATÁS No. 5. Etienne de Klerk Cornelis Roos Terlaky Tamás NEMLINEÁRIS OPTIMALIZÁLÁS

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Bázistranszformáció és alkalmazásai 2.

First Prev Next Last Go Back Full Screen Close Quit

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

1. A k-szerver probléma

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

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

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

Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

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

Elméleti összefoglaló a Sztochasztika alapjai kurzushoz

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Parciális dierenciálegyenletek

Matematika A2 vizsga mgeoldása június 4.

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

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

Matematika (mesterképzés)

A szimplex algoritmus

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

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

Pénzügyi matematika. Vizsgadolgozat I. RÉSZ. 1. Deniálja pontosan, mit értünk amerikai vételi opció alatt!

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

Átírás:

Egy pénzügyi probléma vizsgálata kvadratikus programozással Szakdolgozat Írta: Szluka Szilvia Irén Matematika BSc szak, Matematikai elemz szakirány Témavezet : Nagy Marianna, egyetemi tanársegéd Operációkutatási Tanszék Eötvös Loránd Tudományegyetem, Természettudományi Kar Eötvös Loránd Tudományegyetem Természettudományi Kar 2009

Tartalomjegyzék 1. Bevezetés 4 2. A portfólió kiválasztási probléma és modellezése 5 2.1. A portfólió................................. 5 2.2. A portfólió kiválasztási probléma.................... 5 2.3. A probléma modellezése......................... 6 2.3.1. Alapfogalmak........................... 6 2.3.2. A hasznossági függvény...................... 8 2.3.3. A modell.............................. 9 2.3.4. Programozási modellek...................... 11 3. Kvadratikus programozás 14 3.1. Az általános nemlineáris optimalizálási feladat............. 14 3.2. A kvadratikus programozási feladat általános alakja.......... 15 3.3. Optimalitási feltételek.......................... 16 3.3.1. A Karush-Kuhn-Tucker tétel................... 18 3.4. A lineáris komplementaritási feladat................... 19 3.4.1. A feladat ismertetése....................... 19 3.4.2. A kvadratikus programozási feladat felírása lineáris komplementaritási feladatként...................... 20 3.5. Alkalmazások............................... 21 4. Algoritmusok 23 4.1. A keretalgoritmus............................. 23 4.2. A konjugált gradiens módszer...................... 25 4.3. A kvázi-newton módszer......................... 27 4.4. A nulltér módszer............................. 28 4.5. Az aktív halmaz módszer......................... 30 4.6. Lemke féle pivotalgoritmus........................ 32 2

5. A portfólió kiválasztási probléma modelljeinek megvalósítása MAT- LAB környezetben 36 5.1. A quadprog parancs........................... 37 5.2. A Lemke-féle pivotalgoritmus megvalósítása MATLAB-ban............................... 38 5.2.1. A lemke függvény......................... 38 5.2.2. A lemkequad függvény...................... 39 5.3. A felhasznált adathalmaz......................... 39 5.4. Az els modell megoldása........................ 42 5.5. A második modell megoldása...................... 43 6. Összefoglalás 47 7. Köszönetnyilvánítás 48 A. Függelék 49 A.1. A Lemke féle pivotalgoritmus kódja................... 49 3

1. fejezet Bevezetés A portfólió kiválasztási probléma, mint a portfólió elmélet fontos fejezete a pénzügyi problémák között jelent s helyet foglal el. A probléma megoldása egy befektet nek arra a kérdésre adja meg a választ, hogy adott korlátozott t kéjét a lehet legnagyobb haszon elérése érdekében, mely pénzügyi eszközökbe és milyen arányban fektesse be. A legtöbb befektet ugyan megelégedne azzal, ha valaki elvárásai ismeretében egyszer en csak megmondaná neki a választ, de dolgozatomban Harry Markowitz nyomain elindulva betekintést nyújtok e meghatározási folyamat lépéseibe, a probléma matematikai modellezése által. Az els rész témája a probléma részletes ismertetése, a modellek felépítése. A második illetve harmadik részben a felépített kvadratikus modellel a szemünk el tt áttekintjük a kvadratikus programozáshoz kapcsolódó legfontosabb elméleti eredményeket, fogalmakat, és a problémát megoldó fontosabb algoritmusokat. Végül a negyedik részben MATLAB programozási környezetben megvalósítjuk a modelleket, és két módszerrel is megoldva ket az eredményeket grakusan interpretáljuk és elemezzük. 4

2. fejezet A portfólió kiválasztási probléma és modellezése Ezen fejezet forrása a [16] honlapon található esettanulmány. 2.1. A portfólió El ször tisztáznunk kell, pontosan mit értünk a portfólió fogalma alatt. Különféle pénzügyi eszközök egy halmazára kell gondolnunk, dolgozatomban - és általában a szakirodalomban - azonban az ezek részhalmazát alkotó értékpapírok (részvények, kötvények, különféle hitelek, stb.) összességét tekintjük portfóliónak. 2.2. A portfólió kiválasztási probléma Harry Markowitz 1952-ben publikált cikke [14] volt az els portfólióelméleti munka. Markowitz a portfólió kiválasztásának folyamatát két f lépésre bontotta. Els ként a rendelkezésre álló pénzügyi eszközök jöv beli viselkedését (els dlegesen hozamát és szórását) kell valamiképpen el rejelezni. Egy egyszer vagy annuitásos kötvény esetében ez a feladat nem nehéz, hiszen a névleges kamatláb alapján pontosan tudja a befektet, hogy a kamatzetési periódusok és a lejárat id pontjában mekkora pénzáramlásokra számíthat, és ez mekkora megtérülést jelent az egységnyi befektetett t kéjére nézve. Részvények esetében azonban már nincs ilyen biztos tudásunk a jöv beli hozamokról. Az árfolyamváltozás minden t id pillanatban egy X(t) valószín ségi változóval, az id sorral jellemezhet. 1953-ban Maurice Kendall brit statisztikus megmutatta [6], hogy ezek az ármozgások véletlen bolyongást végeznek, azaz a holnapi árfolyamváltozás független a maitól. 5

A gyakorlatban elterjedt statisztikai módszer a jöv beli viselkedés leírására a historikus, azaz múltbeli adatok alapján történ becslés, majd ezen eredmények esetleges utólagos korrigálása. A második lépésben ezen adatok, és a befektet preferenciáitól függ feltételek alapján történik meg a portfólió kiválasztása. Az alapvet megválaszolandó kérdés a következ : adott értékpapír halmaz és adott t ke mennyiség mellett a befektet nek mely értékpapírokba, és milyen arányban kell elhelyeznie a pénzét, hogy adott kockázat mellett a lehetséges legmagasabb várható hozamot; adott elvárt hozam mellett a lehetséges legkisebb kockázatot biztosítsa az így létrehozott portfólióval. A cél az ún. hatékony portfóliók meghatározása (Markowitz az eciens határ kifejezést használja), melyet a következ képpen deniálunk: 2.2.1. Deníció. Legyen P portfólió, elvárt hozama r, kockázata σ. P hatékony, ha a következ k teljesülnek: - nem létezik P portfólió: r r, de σ < σ, - nem létezik P portfólió: σ σ, de r > r. Ha az értékpapír halmazban minden elemr l egyértelm en tudjuk, hogy mekkora hozamot biztosít, akkor a legnagyobb hozamúakból el állított portfóliók lesznek a hatékonyak. A portfólió várható hozamát úgy kapjuk meg, hogy a beválasztott értékpapírok várható hozamának súlyozott átlagát számítjuk ki. A portfólió kockázatát a hozamok szórásnégyzetével, varianciájával mérjük. Az értékpapírpiacot vizsgálva beszélhetünk arról, hogy két eszköz hozamai milyen mértékben mozognak együtt, ellentétesen vagy esetleg egymástól függetlenül. Ennek mér száma lesz a korreláció, illetve a kovariancia. A portfóliókiválasztás lényege azon elven alapszik, hogy a kockázat csökkentése érdekében érdemes ellentétesen mozgó eszközöket beválasztani portfóliónkba. (Ezt nevezzük diverzikációnak.) A következ részben deniáljuk mindezen fogalmakat. 2.3. A probléma modellezése 2.3.1. Alapfogalmak Szükségünk lesz néhány algebrából és valószín ségszámításból ismert denícióra. 2.3.1. Deníció. Egy Q R n n mátrix szimmetrikus, ha Q T = Q, 6

pozitív (negatív) denit, ha x T Qx > 0 (< 0) 0 x R n, pozitív (negatív) szemidenit, ha x T Qx 0 ( 0) x R n, indenit, ha pozitív és negatív értékeket is felvesz. Egy szimmetrikus mátrix pontosan akkor pozitív szemidenit, ha a sajátértékei nemnegatívak, illetve pontosan akkor pozitív denit, ha a sajátértékei pozitívak. Továbbá egy szimmetrikus Q mátrix pontosan akkor pozitív szemidenit, ha felírható Q = C T C alakban, ahol C R n n. Ez a felbontás megvalósítható például Choleskyfaktorizáció segítségével. 2.3.2. Deníció. Legyen X diszkrét valószín ségi változó, P (X = x i ) = p i, i = 1,..., n. Ekkor X várható értéke: X varianciája: σ(x) az X szórása. E(X) = n p i x i, i=1 σ 2 (X) = E(X E(X)) 2 = E(X 2 ) (E(X)) 2. 2.3.3. Deníció. Legyenek X és Y diszkrét valószín ségi változók, melyeknek létezik a várható értéke. X és Y kovarianciája: cov(x, Y ) = E[(X E(X)(Y E(Y )]. Látható, hogy cov(x, X) = σ 2 (X), vagyis a valószín ségi változó önmagával vett kovarianciája a varianciája. Két valószín ségi változó közötti függ ség mér száma a korrelációs együttható. 2.3.4. Deníció. Legyenek X és Y diszkrét valószín ségi változók, melyeknek létezik a várható értéke, szórása. Ekkor az X és Y közötti korrelációs együttható: ρ(x, Y ) = cov(x, Y ) σ(x)σ(y ), ha σ(x) 0 és σ(y ) 0. Ha az utóbbiak közül valamelyik 0, akkor ρ(x, Y ) deníció szerint 0. A korrelációs együttható segítségével a kovarianciát a következ alakban is felírhatjuk: cov(x, Y ) = ρ(x, Y )σ(x)σ(y ). 7

2.3.5. Deníció. Legyen X = X 1 X 2. ahol X i, i = 1,..., n diszkrét valószín ségi változók. Az X által generált kovariancia mátrix az a Q R n n, melyre X n Q i,j = E[(X i E(X i )(X j E(X j )]. A korrelációmátrixot a fenti deníció alapján hasonlóan deniálhatjuk: az a C R n n, melyre C i,j = cov(x i, X j ) σ(x i )σ(x j ). Nyilvánvalóan C és Q szimmetrikus mátrixok. Belátható továbbá, hogy C és Q pozitív szemidenit is. 2.3.2. A hasznossági függvény A közgazdaságtanban a hasznossági függvény, általános célja, hogy a gazdaság egy szerepl jének - vagy bizonyos esetekben a társadalom egészének - meghatározott javakhoz kapcsolódó preferenciáit matematikai eszközökkel modellezze. Az itt felvázolt esetben a gazdasági szerepl a befektet. A hasznossági függvény, U(x) a kockázatra vonatkozó preferenciáit írja le. A kockázatkerül befektet t a konkáv hasznossági függvény jellemzi, vagyona növekedésével csökken a marginális hasznosság. Ha n a vagyona, n a hasznossága is, de egyre csökken mértékben. A hasznossági függvényre fennállnak a következ k: U (x) > 0, U (x) < 0. Ennek a befektet nek bizonyos mennyiség megszerzett pénz után, egy következ egység már alig vagy egyáltalán nem nyújt hasznosságot. A kockázatsemleges befektet hasznossági függvénye lineáris, minden következ egység megszerzett pénz után ugyanakkora hasznosságot realizál, mint az el z egységnél, tehát a marginális haszon állandó. Ezt azt jelenti, hogy U (x) = 0. A kockázatsemleges befektet érzéketlen a kockázatra, azaz két azonos várható hozamú befektetésnél a választása közömbös, független azok kockázatától. A kockázatkedvel befektet re a konvex hasznossági függvény és a növekv marginális hasznosság jellemz. U (x) > 0, U (x) > 0. 8

A portfólió kiválasztási probléma modelljében a következ függvényt használjuk majd a befektet magatartásának leírására: U(x) = 1 e kx, ahol k > 0 a kockázatkerülési konstans, x a pénz (vagy vagyon) mennyisége. Minél közelebb van a nullához k értéke, a befektet annál inkább kedveli a kockázatot. A befektet k általában kockázatkerül k. Az alábbi ábrán U(x) látható különböz k értékekre. 1 0.9 k = 10 0.8 0.7 k = 1 hasznossag 0.6 0.5 0.4 0.3 0.2 k = 0.1 0.1 0 0 0.5 1 1.5 2 penz Léteznek más alakú hasznossági függvények is a kockázattal szembeni magatartás leírására, két példa: U(x) = x a, U(x) = log(x). A feladat minden esetben a befektet hasznosságának, esetünkben várható hasznosságának maximalizálása. 2.3.3. A modell Legyen S = {s 1, s 2,..., s N } az N darab értékpapírt tartalmazó halmaz, P az ebb l képzett portfóliónk. Legyenek R 1 w 1 R 2 R =., w = w 2., R N w N 9

ahol R i diszkrét valószín ségi változó az i. értékpapír hozama, w i R az i. értékpapír súlya a portfólióban. Ekkor nyilvánvalóan: N w i = 1. i=1 Feltesszük, hogy minden i indexre w i 0, azaz nem engedjük meg a rövidre eladást, az ún. shortolást. Legyen r = E(R) = (E(R 1 ), E(R 2 ),..., E(R N )) T. Ahogy azt korábban már láttuk, a portfólió várható hozama az t alkotó értékpapírok elvárt hozamának súlyozott átlaga: r P = E(R P ) = N E(R i )w i = r T w. i=1 Legyenek σ 1, σ 2,, σ N rendre az egyes értékpapírok hozamának szórása, azaz az értékpapír kockázata: σ i = E(R i E(R i )) 2, i = 1,, N Jelölje ρ ij az s i és s j értékpapírok hozamának korrelációját. Legyen Q R N N az értékpapírok hozamainak kovarianciamátrixa, azaz Q i,j = cov(r i, R j ). Ekkor a portfólió kockázata: σ 2 P = N N w i w j ρ ij σ i σ j = i=1 j=1 N N w i w j Q i,j = w T Qw. i=1 j=1 Az egyes portfóliókat két paraméterük, szórásuk és várható hozamuk szerint a síkon ábrázolhatjuk. Jelölje a vízszintes tengely a kockázatot (σ), míg a függ leges tengely a várható hozamot (r). A hatékony portfóliók halmaza ekkor az alábbi ábrán látható. 10

35 A hatékony portfóliók göbéje 30 várható hozam (%) 25 20 15 10 5 0 0 10 20 30 40 50 60 szórás (%) A hatékony portfóliókénál b vebb halmazt alkotnak a határportfóliók, melyek az összes lehetséges portfólió burkolóját jelentik. Ezen portfóliókra rögzített elvárt hozam mellett minimális kockázat jellemz. 2.3.4. Programozási modellek A befektet által elvárt minimális hozam legyen r, az elfogadott maximális kockázat pedig (σ ) 2. Az alábbiakban el ször a következ két modellt tekintjük. 1. modell A kockázat minimalizálása az elvárt minimális hozamra vonatkozó feltétel mellett. min w T Qw r T w r N w i = 1 i=1 w 0 11

2. modell A várható hozam maximalizálása a maximális kockázatra vonatkozó korlát mellett. max r T w w T Qw (σ ) 2 N w i = 1 i=1 w 0 Korábban láttuk, hogy a Q kovariancia mátrix mindig pozitív szemidenit. Abban az esetben, ha Q nem pozitív denit (tehát a szigorú egyenl tlenség nem áll fenn) a fenti programozási feladatok megoldása nem feltétlenül eleme a hatékony portfóliók halmazának. Az els modell esetében például el fordulhat, hogy létezik egy azonos kockázatú, de magasabb várható hozamú portfólió. Ekkor a modell által adott portfólió nyilván nem hatékony. A két modell egyesítése Legyen a befektet hasznossági függvénye U(x) = 1 e kx. Továbbra is N darab értékpapír áll rendelkezésünkre a kívánt portfólió összeállításához, melyeket a fentebb említett S halmaz reprezentál. Tegyük fel, hogy R, azaz a hozamvektor N dimenziós normális eloszlású valószín ségi változó, melynek várható értéke r, szórása a Q kovariancia mátrix. Ekkor Z = R T w is N dimenziós normális eloszlású, r T w várható értékkel és σ 2 = w T Qw szórással. A várható hasznosság ekkor a következ számítás útján adódik: E(U(x)) = = 1 1 σ 1 2Π e kx (1 e kx )φ(x)dx = 2 ( x z = 1 e kz+ 1 2 k2 σ 2. σ )2 dx = Mivel az f(x) = 1 e x függvény szigorúan monoton növeked, ezért E(U(x)) akkor és csak akkor maximális, ha kz + 1 2 k2 σ 2 minimális, amely ekvivalens z 1 2 kσ2 maximalizálásával. Mindezekb l már fel tudjuk írni a kvadratikus programozási feladatot. Ha adott a Q kovariancia mátrix, az r várható hozam vektor, valamint a befektet k kockázatkerülési konstansa, akkor a várható hasznosságát maximalizáló kvadratikus programozási feladat: 12

max r T w k 2 wt Qw N w i = 1 i=1 w 0 Összefoglalva a következ eket mondhatjuk el az egyesített modellr l. A befektet célja portfóliójának összeállításakor várható hasznosságának maximalizálása. Egy portfólió akkor lehet maximális várható hasznosságú egy befektet számára, ha a neki leginkább megfelel egyensúly érvényesül annak várható hozama és szórása között. Ezt az egyensúlyi állapotot a kockázati preferenciáját leíró k nemnegatív konstans határozza meg. A célfüggvényt tehát felfoghatjuk úgy is, hogy leírja, milyen mértékben hajlandó a befektet várható nagyobb hozam reményében kockáztatni. A hasznossági függvény bevezetésekor pontosan ez volt a célunk. Az ötödik fejezet f ként ezen végs modell megvalósítására épül. 13

3. fejezet Kvadratikus programozás Ebben a fejezetben röviden áttekintjük a nemlineáris programozással azon belül els sorban a kvadratikus feladatosztállyal kapcsolatos legfontosabb tételeket, deníciókat, majd rátérünk az optimalitási feltételek vizsgálatára, kiemelten tárgyalva a Karush-Kuhn-Tucker tételt. A fejezet végén a kvadratikus programozási feladat egy alternatív interpretációjáról lesz szó, amikor a problémát lineáris komplementaritási feladatként írjuk fel. A bizonyításokat nem részletezzük, ezeket megtalálhatjuk a [1, 7, 17] könyvekben, melyek ezen fejezet forrásául szolgáltak. 3.1. Az általános nemlineáris optimalizálási feladat A feladat általános alakban a következ képpen írható fel: min f(x) h i (x) = 0, i I = {1,..., p} g j (x) 0, j J = {1,..., m} (3.1) x C, ahol x R n, C R n adott halmaz, f, g 1,..., g m, h 1,..., h p függvények értelmezési tartománya pedig valamely X C nyílt halmaz. 3.1.1. Deníció. Az F = {x C : h i (x) = 0, g j (x) 0, i I, j J} halmazt megengedett halmaznak nevezzük. Az x pont megengedett megoldás, ha x F. A (3.1) feladatot az f függvény illetve az egyenl ség és egyenl tlenség feltételekben szerepl függvények alakja alapján csoportosíthatjuk. Egy igen fontos osztályt képeznek azok a feladatok, melyekben a célfüggvény konvex. 14

3.1.2. Deníció. Egy X R n konvex halmazon értelmezett f : X R függvény (szigorúan) konvex, ha x 1, x 2 X és 0 λ 1-re: f(λx 1 + (1 λ)x 2 )(<) λf(x 1 ) + (1 λ)f(x 2 ). Konvex nemlineáris optimalizálási feladatról tehát akkor beszélünk, ha f konvex. 3.2. A kvadratikus programozási feladat általános alakja A nemlineáris optimalizálási feladatok speciális osztályát képezik a kvadratikus programozási feladatok. Ebben az esetben f(x) kvadratikus, azaz másodfokú függvény, az egyenl ségekkel és egyenl tlenségekkel adott feltételekben pedig a h i és g j függvények lineárisak vagy más szóval an függvények. A feladat a következ képpen írható fel: min 1 2 xt Qx + c T x a i T x = b i, i I = {1,..., p} a j T x b j, j J = {p + 1,..., p + m}, (3.2) ahol Q R n n szimmetrikus mátrix, c R n vektor, I és J pedig az egyenl tlenség és egyenl ség feltételeknek megfelel indexhalmazok. Konvex kvadratikus programozási feladatról akkor beszélünk, ha a célfüggvény konvex. Belátható, hogy ez akkor és csak akkor teljesül, ha Q pozitív szemidenit. Minden további esetben, azaz ha Q negatív (szemi)denit vagy indenit a feladat nemkonvex. Ilyenkor nem létezik olyan algoritmus, mely polinomid ben globális minimumot találna, azaz a probléma N P -nehéz. A célfüggvény ugyanis több lokális minimumhellyel is rendelkezhet, a globális minimum megtalálása igen nehéz feladat. Tekintsünk egy széls séges példát. Legyen Q = I, ahol I az egységmátrix és legyen a minimalizálási feladat az alábbi: min x T x 1 x i 1, i = 1,..., n A Q mátrix negatív denit, hiszen 1 n-szeres sajátértéke. Látható, hogy a célfüggvénynek minimuma van az x i = 1, i = 1,..., n alakú pontokban, azaz összesen 2 n lokális minimumhelyet kellene megvizsgálnunk. 15

3.3. Optimalitási feltételek Az optimális megoldás létezéséhez, azaz az f(x) függvény minimumának létezéséhez teljesülniük kell bizonyos optimalitási feltételek nek. A következ ekben ezeket tekintjük át röviden, speciálisan a kvadratikus optimalizálási feladatra nézve. Néhány denícióra szükségünk lesz: 3.3.1. Deníció. Az f : R n R dierenciálható függvény gradiensvektora, f(x) az az n dimenziós vektor, melyre ( f(x) ) i = f(x) x i. 3.3.2. Deníció. Az f : R n R dierenciálható függvény x R n pontbeli s R n irányú iránymenti deriváltja a következ : ha a határtérték létezik. f(x + λd) f(x) δf(x, d) = lim, λ 0 λ Ha az f függvény folytonosan dierenciálható, akkor minden d R n esetén δf(x, d) = f(d) T s. 3.3.3. Deníció. Az f : R n R dierenciálható függvény Hesse-mátrixa az a 2 f(x) R n n mátrix, melyre ( 2 f(x) ) i,j = 2 f(x) x i x j, azaz 2 f(x) f másodrend parciális deriváltjait tartalmazó mátrix. A feltétel nélküli kvadratikus programozási feladat Tekintsük a következ problémát: min q(x) = 1 2 xt Qx + c T x, (3.3) ahol Q R n n szimmetrikus mátrix, c R n vektor. A q(x) függvényre a következ meggyeléseket tehetjük: a gradiensvektor: q(x) = Qx + c, a Hesse-mátrix: 2 q(x) = Q, 16

q kétszer folytonosan dierenciálható, ezért az iránymenti derivált: δq(x, s) = (Qx + c) T s. Analízisb l ismert a többváltozós függvény (szigorú) lokális illetve globális minimumának/maximumának deníciója. Nyilván teljesül, hogy a globális optimum egyben lokális optimum is. A (3.3) problémában, ha Q pozitív szemidenit mátrix, azaz a q függvény konvex, akkor többet is állíthatunk: ha b R n pont lokális minimum, akkor egyben globális minimum is. Az optimalitás szükséges feltételei a (3.3) feladatra: els rend feltétel: ha a b R n pont q lokális minimuma, akkor q(b) = (Qb+c) = 0, másodrend feltétel: ha ha a b R n pont q lokális minimuma, akkor q(b) = (Qb + c) = 0 és Q pozitív szemidenit. Az optimalitás elégséges feltétele a (3.3) feladatra: ha a b R n pontra teljesül, hogy Qb + c = 0 és Q pozitív denit, akkor a b szigorú lokális minimuma q-nak. Az egyenl tlenség feltételekkel adott kvadratikus programozási feladat Tekintsük a következ problémát: min q(x) a i T x b i, i I = {1,..., p} x C ahol C R n, Q szimmetrikus mátrix. A megengedett megoldások halmaza a korábban bevezetett jelölésnek megfelel en legyen F. Deniálni szeretnénk, hogy egy adott x megengedett pontban, melyek azok a vektorok, amelyek irányában létezik megengedett megoldás, azaz ezen vektor irányába elindulva létezik egy határ, ameddig biztosan nem sértünk meg egyetlen egyenl tlenséget sem. 3.3.4. Deníció. A d R n vektort az x F ponthoz tartozó megengedett iránynak hívjuk, ha létezik olyan λ 0 > 0, amelyre minden 0 λ λ 0 esetén x + λd F. Az x F megengedett pontban a megengedett irányok halmazát jelölje FD(x), tehát FD = {d : 0 d R n, x + λd F}. 3.3.1. Állítás. Tegyük fel, hogy Q pozitív szemidenit, és tekintsük a (3.3) problémát. Az x F megengedett megoldás akkor és csak akkor optimális megoldása a feladatnak, ha minden d FD(x ) esetén (Qx + c) T d 0. Másképpen fogalmazva az x pont akkor és csak akkor optimális megoldása (3.3) feladatnak, ha onnan indulva bármely megengedett irányban az iránymenti derivált nemnegatív, azaz a célfüggvény értéke bármely irányban legalább akkora, mint az x pontban. 17

3.3.1. A Karush-Kuhn-Tucker tétel Karush valamint Kuhn és Tucker, 1939-ben és 1951-ben egymástól függetlenül bizonyították az alább szerepl tételt (ld. [5, 11]), amely a többváltozós függvények egyenl ség feltételek mellett történ optimalizálására (minimalizálására illetve maximalizálására) kifejlesztett Lagrange-féle multiplikátor módszer általánosításaként fogható fel. A tételt kimondjuk általános nemlineáris optimalizálási feladatra, majd megvizsgáljuk mit jelent ez a (3.2) problémára. 3.3.1. Tétel. Legyen x a (3.1) feladat megengedett megoldása, és legyen A = {j : g j (x ) = 0}. Tegyük fel, hogy f, h i I = {1,..., p} és g j, j J folytonosan dierenciálhatóak az x pontban. Továbbá tegyük fel, hogy g j (x )j A és h i (x )i I lineárisan függetlenek. Ha x a (3.1) probléma lokális minimuma, akkor léteznek λ i i I és µ j j J Lagrange-szorzók, hogy m f(x ) + µ j g j (x ) + j=1 p λ i h i (x ) = 0 (3.4) i=1 µ jg j (x) = 0 j J (3.5) µ j 0 j J (3.6) (3.7) A (3.7) szükséges feltételekre KKT feltételekként szokás hivatkozni. A tétel a kvadratikus programozási feladatra: Ha az x R n megengedett megoldás lokális minimuma a (3.2) feladatnak, akkor léteznek λ R p és µ R m vektorok, hogy: Qx + c + A T 1 λ + A T 2 µ = 0 (3.8) A 2 x µ = 0 (3.9) µ 0 (3.10) ahol A 1 = (a 1,..., a p ) T R p n és A 2 = (a p+1,..., a p+m ) T R m n. Karush Kuhn és Tucker elégséges feltételeket is adtak a (3.1) feladat x optimális megoldására, melyek további tulajdonságok teljesülését követelik meg az f, h i és g j függvényekkel szemben. (Ezekre itt részletesen nem térünk ki, csak megjegyezzük, hogy a kvázikonvexitás és pszeudokonvexitás fogalmára lenne szükségünk a tétel kimondásához.) A KKT feltételek az algoritmusok, a számítógépes megvalósítás szempontjából is lényegesek, hiszen megállási kritériumként szolgálnak. A következ fejezetben a Lemke féle pivotalgoritmus, illetve a nulltér módszer esetében használjuk fel a KKT feltételeket a megoldás direkt úton történ kiszámítására. 18

3.4. A lineáris komplementaritási feladat Ebben a részben ismertetjük a lineáris komplementaritási feladatot, az ezt megoldó Lemke-féle pivotalgoritmus leírása az Algoritmusok cím fejezetben található. A feladat igen fontos szerepet tölt be a mérnöki számítások, a játékelmélet illetve a közgazdasági alkalmazások terén. Azonban amiért itt els dlegesen vizsgáljuk e feladattípust, az annak köszönhet, hogy szoros kapcsolatban áll a kvadratikus programozási problémával. Az alfejezetben látni fogjuk, hogyan írhatóak fel a kvadratikus programozási feladat KKT feltételei lineáris komplementaritási feladatként. A problémáról további áttekintést olvashatunk az [1, 2, 3, 4, 7, 10] könyvekben. 3.4.1. A feladat ismertetése Legyen M R p p és q R p. A lineáris komplementaritási feladat: w Mz = q (3.11) w j 0, z j 0, j = 1,..., p (3.12) w j z j = 0, j = 1,..., p (3.13) ahol w, z ismeretlen p dimenziós vektorok. A cél ezek meghatározása, vagy annak megmutatása, hogy nem létezik megoldása a feladatnak. Látható, hogy a feltételeket teljesít minden (w j, z j ) pár esetén valamelyik változó nulla, ezeket komplementáris változóknak nevezzük, a feladat egy (w, z) megoldása komplementáris megengedett megoldás. Továbbá (w, z) komplementáris megengedett bázismegoldás, ha (w, z) megengedett bázismegoldása a (3.11)-(3.12) feladatnak, méghozzá úgy, hogy minden (w j, z j ) párra pontosan az egyik változó bázisváltozó. Megmutatható, hogy a (w, z) pár pontosan akkor komplementáris megengedett megoldása a (3.11)-(3.13) feladatnak, ha a következ speciális bináris bilineáris programozási feladat optimális megoldásának része. p min y j w j + (1 y j )z j j=1 w Mz = q w 0, z 0, y {0, 1} p. Mivel w és z nemnegatívak, ezért az optimális célfüggvényérték legalább nulla és y j w j = (1 y j )z j = 0 teljesül minden j indexre, amib l következik, hogy w j z j = 0 minden j indexre. Vagyis a fenti feladat minden optimális megoldása megoldása a lineáris komplementaritási feladatnak is. Ez a feladat megoldható bilineáris, konkáv és egészérték lineáris programozási módszerekkel. 19

3.4.2. A kvadratikus programozási feladat felírása lineáris komplementaritási feladatként Tekintsük a kvadratikus programozási problémát a következ alakban: min 1 2 xt Qx + c T x Ax b x 0, (3.14) ahol Q R n n szimmetrikus mátrix, c R n, A R m n és b R m. Ha x nemnegativitását megköveteljük, akkor a (3.2) feladatban az a i T x = b i egyenl ség feltétel helyett az a i T x b i és a a i T x b i i = 1,..., p egyenl tlenségeket véve, a feladat felírható a (3.14) problémával azonos formában. Ekkor a (3.14) feladat egy x lokális minimumára a KKT feltételek miatt igaz, hogy léteznek λ R m és µ R n Lagrange-szorzók, hogy Qx + c + A T λ µ = 0 Ax b 0 λ T (Ax b) = 0 µ T x = 0 x, λ, µ 0. (3.15) Bevezetve a nemnegatív y R m slack változót az alábbi rendszert kapjuk: Qx + c + A T λ µ = 0 Ax b + y = 0 λ T y = 0 µ T x = 0 x, y, λ, µ 0. (3.16) Egyszer bb alakban felírva ( ) ( y 0 A µ A T Q ) ( λ x ) = ( b c ) µ T x = 0, λ T y = 0 20

és a következ jelöléseket bevezetve ( ) 0 A M = A T q = Q x, y, λ, µ 0, ( b c ) w = ( y µ ) z = ( λ x ) a (3.15) rendszer láthatóan megegyezik a (3.11)-(3.13) lineáris komplementaritási feladattal. Azaz a kvadratikus programozási feladat ekvivalens módon felírható lineáris komplementaritási feladatként. 3.5. Alkalmazások Dolgozatom tárgya a kvadratikus optimalizálási feladat portfólióelméleti alkalmazásának bemutatása, de itt említést teszek egyéb alkalmazási lehet ségekr l is, melyek f ként a statisztika, a közgazdaságtan és a mérnöki számítások területéhez köt dnek. Közülük talán legismertebb és leggyakrabban el forduló alkalmazási terület a statisztikai adatfeldolgozásnál használt legkisebb négyzetek módszere. Adottak az x 1 < x 2 < < x n R pontokhoz tartozó y 1, y 2,..., y n R meggyelések. Szeretnénk egy görbét illeszteni az y i pontokra, méghozzá oly módon, hogy a valós és a becsült adatok közti eltérés minimális legyen, ami számszer en azt jelenti, hogy az eltérések négyzetösszege legyen a lehet legkisebb. Keressük tehát azt a (konvex) y(x) függvényt, melyre teljesül, hogy y i = y(x i )+ɛ i, i = 1,..., n, ahol ɛ i i = 1,..., n független, normális eloszlású, nulla várható érték valószín ségi változók. A konvex regressziós feladat: min y(x) konvex n (y i y(x i )) 2. i=1 Mivel csak a meggyelt y i értékeket vizsgáljuk a feladatban, feltehetjük, hogy az (x i, x i+1 ), i = 1, 2,... intervallumokon y(x) lineáris. A feladat, ekkor a következ kvadratikus programozási probléma: min n (y i y(x i )) 2 i=1 y i y i 1 x i x i 1 y i+1 y i x i+1 x i, i = 2,..., n 1. Egy másik lehetséges alkalmazás az ún. betonkeverési feladat. A cél az ideális sóderösszetétel betonhoz nagyon hasonló keverék el állítása minimális cementfelhasználás mellett. Adott n db kavicsméret-kategória. Adott továbbá a c = (c 1, c 2,..., c n ) T vektor, mely az ideális keveréket reprezentálja, azaz 0 < c i < 1 megmutatja, hogy 21

az i. kategóriájú kavics mekkora részét teszi ki a keveréknek. Mindebb l következik, hogy n i=1 c i = 1. Adott m db különböz bánya, ahonnan a sóder származik, az egyes bányákra jellemz sóderösszetételt pedig az A j = (a 1j,..., a nj ) T vektor írja le. Az A j vektorok elemeire teljesül, hogy 0 a ij 1 valamint n i=1 a ij = 1. Legyen x = (x 1,..., x m ) T az a vektor, melyre x i az összes mennyiségnek az i. bányából felhasznált hányadát jelenti. Ekkor teljesül, hogy 0 x i és m i=1 x i = 1. A = (A 1,..., A m ) T jelöléssel a feladatot ekkor a következ képpen írhatjuk fel: min(ax c) T (Ax c) e T x = 1 ahol e a csupa egyes vektort jelöli. x 0, 22

4. fejezet Algoritmusok Els ként a feltétel nélküli optimalizálás algoritmusait vizsgáljuk meg, kezdve az alapot jelent keretalgoritmustól. A gradiens módszer és a Newton módszer továbbfejlesztett változait írjuk le részletesebben. A feltételes kvadratikus programozási feladat megoldására mutatjuk be a nulltér, valamint az aktív halmaz módszert, mely lényegi eleme a fejezetnek, hiszen a MATLAB beépített quadprog parancsa is ezzel az algoritmussal dolgozik. A fejezet végén a lineáris komplementaritási feladatot megoldó Lemke-féle pivotalgoritmusról lesz szó. A fejezet eredményei a [1, 7, 10] könyvekb l illetve a [16] honlapról származnak. További eljárások találhatóak az [1] munkában. 4.1. A keretalgoritmus A nemlineáris optimalizálási problémát megoldó algoritmusok mindegyike az alábbiakban ismertetett vázra épül. A feltétel nélküli optimalizálási feladat általános keretalgoritmusa: Bemenet: ε > 0 pontossági paraméter és egy x 0 megengedett megoldás. 0. k = 0 A következ lépéseket ismételjük: 1. Az x k pontból indulva egy s k keresési irányt kell találnunk, amelyre δf(x k, s k ) < 0, azaz a célfüggvény az s k irányban csökken. Ha találtunk megfelel s k irányt, akkor az egyenes menti keresés következik. 2. Legyen α k = arg min α f(x k + αs k ). 3. Legyen x k+1 = x k + α k s k, k = k + 1. 4. Ha az x k pont teljesíti a megállási feltételt, akkor az algoritmus leáll. Egyébként k = k + 1. 23

A kiemelt lépések az algoritmus legf bb lépései, ezek különböz megvalósításai különböztetik meg egymástól a programkódokat. A keresési irány meghatározásának egyik módja a gradiens-módszer. Ez az eljárás a legmeredekebb csökkenési iránynak is nevezett negatív gradienst, azaz f(x k )-t választja keresési iránynak. Ez a választás azon alapul, hogy a lenormált iránymenti deriváltat a negatív gradiens minimalizálja. A gradiens-módszer hátrányai közé tartozik, hogy konvergenciája csak lineáris, ezért sok esetben nem túl hatékony. Kvadratikus függvényekre nem alkalmazható, már a konvex esetben sem garantálható ugyanis a minimalizálási folyamat végessége. A konvergencia gyorsítására fejlesztették ki a konjugált gradiens-módszert, melyr l a következ részben lesz szó. A másik eljárás a Newton-módszer, mely a célfüggvény másodrend Taylor polinomját minimalizálja. Tegyük fel, hogy f kétszer folytonosan dierenciálható, szigorúan konvex függvény, és tekintsük f másodrend Taylor-polinomját: T 2 (x) := f(x k ) + f(x k ) T (x x k ) + 1 2 (x xk ) T 2 f(x k )(x x k ). Belátható, hogy mivel f szigorúan konvex függvény, így 2 f(x k ) pozitív denit, amib l következik, hogy T 2 is szigorúan konvex függvény. T 2 (x) ott veszi fel a minimumát, ahol gradiense a nullvektor: azaz az T 2 (x) = f(x k ) + 2 f(x k )(x x k ) = 0, x k+1 = x k ( 2 f(x k )) 1 f(x k ) pontban. A Hesse-mátrix kiszámítása valamint invertálása sokszor igen költségigényes lehet, gyakran több m veletet igényel, mint a gradiens meghatározása. Az ún. kvázi-newton módszert ezen anomáliák kiküszöbölésére fejlesztették ki. Err l részletesen a fejezet kés bbi részében lesz szó. A másodfokú polinomfüggvény Taylorpolinomja önmaga, ezért látható, hogy a feltétel nélküli kvadratikus programozási feladat esetében egy lépésben lezajlik a minimalizálás. Az egyenes mentén történ keresés tulajdonképpen egy egydimenziós optimalizálási feladat, melyben a Φ(α) = f(x k + αs k ) függvény minimumát kell megtalálnunk. Ez történhet például intervallumfelezéssel vagy a fent ismertetett Newtonmódszerrel. A megállási feltétel lehet például annak ellen rzése, hogy valamilyen eltérés (távolság), amely az optimális megoldás esetében nulla az ε pontossági paraméter értékénél kisebb-e. Megszabhatunk egy fels korlátot az iterációk számára vonatkozóan, illetve ellen rizhetjük a Karush-Kuhn-Tucker feltételek teljesülését is az aktuális (az iteráció által meghatározott) pontban. 24

4.2. A konjugált gradiens módszer A el z részben említést tettünk róla, hogy a gradiens módszer nem véges konvex kvadratikus függvények esetében. Az eljárás, melyet a következ ekben fogunk ismertetni igen hatékonyan kezeli ezt a problémát, ugyanis legfeljebb n lépésben megtalálja az optimumot, ahol n a feladat dimenziója, azaz a Hesse mátrix mérete. Els ként bevezetjük a konjugált fogalmát. 4.2.1. Deníció. Legyen A R n n szimmetrikus, pozitív denit mátrix, továbbá x, y R n vektorok. Azt mondjuk, hogy x A-konjugált y-hoz, ha x T Ay = 0. A konjugált tulajdonság szimmetrikus reláció, azaz ha x A-konjugált y-hoz, akkor y A-konjugált x-hez. 4.2.2. Deníció. Legyen A R n n szimmetrikus, pozitív denit mátrix. A d 1, d 2,..., d n R n vektorok A-konjugáltak, ha lineárisan függetlenek és d T i Ad j = 0 minden i j {1, 2,..., n}. A konjugált rendszer vektorai lineárisan függetlenek, így az n dimenziós tér egy bázisát alkotják. Legyen Q R n n szimmetrikus pozitív denit mátrix, c R n vektor és tekintsük a következ problémát: Jelöljük x -gal (4.1) optimális megoldását. A konjugált gradiens módszer direkt változata min 1 2 xt Qx + c T x. (4.1) Az optimalitás els rend feltételét felírva a feladatra az x pontra fennáll, hogy Qx + c = 0. Mivel Q pozitív denit, ezért a feladat a Qx = c (4.2) lineáris egyenletrendszer megoldásának problémájára vezethet vissza. Legyen d 1, d 2,..., d n egy Q-konjugált rendszer (ld. [19]), továbbá legyenek α 1, α 2,..., α n az x optimum koordinátái ebben a bázisban, tehát: x = n α i d i. i=1 Ekkor n c = Qx = α i Qd i, i=1 25

amib l felírva az α k koordinátát: d k T c = d k T Qx = n α i d T k Qd i, i=1 α k = d k T c d k T Qd k. Az x megoldást az α k együtthatókból nyerjük, tehát összesen n iterációs lépés megtétele szükséges. A konjugált gradiens módszer iteratív változata El fordulhat, hogy n nagy, így a direkt eljárás túl sok számítást igényel. Ekkor alkalmazhatjuk az iteratív eljárást, mely abban különbözik az el z t l, hogy a konjugált vektort (irányt) mindig az adott iterációban határozzuk meg, így ügyesen megválasztva n-nél kevesebb lépés is elég a minimum eléréséhez. Legyen x 0 a kiinduló vektor. Az a célunk, hogy minden iterációs lépéssel egyre közelebb kerüljünk az optimumhoz. A "közelebb" itt azt jelenti, hogy ha x 0, x 1,... az egyes iterációkban a vizsgált vektorok, akkor valamely normára az x i x, i = 0, 1,... számok monoton csökken sorozatot alkotnak. Ez a norma lehet például a hagyományos euklideszi norma. Vezessük be a reziduális fogalmát. A k. iterációban: r k = c Qx k. Tehát a k. iterációban a reziduális értéke a célfüggvény negatív gradiense az x k helyen. Minden iterációs lépésben találnunk kell egy megfelel d k keresési irányt, ennek megválasztásánál használjuk ki majd a konjugáltságot. Legyen d 0 = Qx 0 + c, tehát a célfüggvény gradiense az x 0 helyen, a k. iterációban pedig: d k+1 = r k i k d i T Qr k d i T Qd i d i. Egyszer számolással belátható, hogy d k és d k+1 Q-konjugáltak. Megadhatunk egy ε > 0 pontossági paramétert és minden iterációban ellen rizhetjük, hogy elég közel vagyunk-e a megoldáshoz. Ha valamely k-ra r k = c Qx k < ε, akkor az algoritmus leáll, a kimenet az x optimumot ɛ pontossággal közelít x k pont. 26

Az algoritmus váza Konjugált gradiens módszer Bemenet: ɛ > 0 pontossági paraméter és egy x 0 induló megoldás. 0. r 0 = c Qx 0 d 0 = r 0 k = 0 A következ lépéseket ismételjük: 1. α k = r k T r k d k T Qd k 2. x k+1 = x k + α k d k 3. r k+1 = r k α k Qd k 4. Ha r k+1 < ε, akkor leállunk. 5. β k = r k+1 T r k+1 r kt r k 6. d k+1 = r k+1 + β k d k 7. k = k + 1 A megoldás az x k+1 vektor. 4.3. A kvázi-newton módszer A kvázi-newton módszer lényege, hogy nem számítjuk ki közvetlenül a Hessemátrixot és inverzét, hanem különböz formulák segítségével iteratív úton közelítjük azokat. El nye tehát a Newton-módszerrel szemben a lecsökkent számításigény. Legyen a feladat min f(x), továbbá legyen T 2 (x) az f(x) függvény 4.1 részben deniált másodfokú Taylorpolinomja. Legyen x 0 egy megengedett induló megoldás. Hasonlóan a Newton-módszerhez az f függvény helyett annak x k pontbeli másodrend közelítését vesszük, azaz min f(x) helyett a min f(x k ) + f(x k ) T (x x k ) + 1 2 (x xk ) T 2 f(x k )(x x k ) problémát szeretnénk megoldani. Vezessük be a következ jelöléseket: b := f(x k ), c := f(x k ), H := 2 f(x k ), valamint legyen x = x x k. A feladat új formája: min 1 2 xt H x + c T x + b (4.3) 27

Ekkor (4.3) x optimális megoldására igaz, hogy ott a gradiensvektor nullával egyenl, azaz Hx + c = 0, amib l x = H 1 c. A kvadratikus programozási feladat esetében természetesen nincs szükség a Hessemátrix közelítésére, hiszen az a feladatban adott, ezekkel a formulákkal itt nem foglalkozunk. A Hesse-mátrix inverzét közelít formulák Jelölje A k H 1 k. közelítését. Legyen s k = x k+1 x k, q k = f(x k+1 ) f(x k ). A legels kvázi-newton formulát Davidon, amerikai zikus fejlesztette ki 1959-ben, mely 1963-ban DFP-formula néven vált ismertté (Davidon, Fletcher és Powell után). A DFP-formula: A k+1 = A k + s T ks k A k T q T k q k A k. q kt s k q kt A k q k A legtöbbet alkalmazott és leginkább hatékony formula Broyden, Fletcher, Godfarb és Shanno nevéhez f z dik. A BFGS formula: A k+1 = ( I q ks k T q kt s k ) T A k ( I q ks k T q kt s k ) + s ks k T q kt s k. Érdekességképpen megemlítjük még az SR1 (Symmetric Rank 1) formulát is: A k+1 = A k + (s k A k q k ) (s k A k q k ) T (s k A k q k ) T q k. A formula onnan kapta a nevét, hogy az iterációkban egy szimmetrikus, egy rangú mátrixszal javítunk. 4.4. A nulltér módszer Tekintsük az egyenl ség feltételekkel adott kvadratikus programozási problémát: min 1 2 xt Qx + c T x Ax = b, (4.4) ahol Q R n n, A R p n, b R p. 28

4.4.1. Deníció. Egy A R m n mátrix nulltere azon vektorok halmaza, melyeket A a 0-ba képez, azaz Null(A) = {x R n : Ax = 0} A nulltér módszer el ször megkeresi azt a Z R n p mátrixot, mely kifeszíti A nullterét, vagyis amelyre Null(A) = {y R n : y = Zw, w R p }. Z ortogonális felbontási módszerekkel számítható ki, egyszer struktúrájú A mátrix esetén például (sok 0 eleme van) egy almátrixának LU felbontásából. Legyen x 0 egy megengedett megoldása a (4.4) feladatnak, ekkor a megengedett megoldások halmaza a következ képpen írható fel: Helyettesítsünk be a célfüggvénybe: F = {x R n : x = x 0 + Zw, w R p }. 1 2 xt Qx + c T x = 1 2 (x 0 + Zw) T Q(x 0 + Zw) + c T (x 0 + Zw) = 1 2 wt (Z T QZ)w + (x T 0 Q + c T )(x 0 + Zw) 1 2 xt 0 Qx 0 1 2 xt 0 QZw + 1 2 wt Z T Qx 0 = 1 2 wt (Z T QZ)w + (Qx 0 + c) T Zw + x T 0 Qx 0 + c T x 0 1 2 xt 0 Qx 0 = 1 2 wt (Z T QZ)w + (Qx 0 + c) T Zw + 1 2 xt 0 Qx 0 + c T x 0. Mindebb l látható, hogy a probléma a következ feltétel nélküli kvadratikus programozási feladatra vezethet vissza: min 1 2 wt (Z T QZ)w + (Qx 0 + c) T Zw w R p Tegyük fel, hogy a redukált Hesse-mátrix, Z T QZ pozitív denit. Ekkor az optimalitás elégséges feltételei alapján, ha w kielégíti a ( ) 1 2 wt (Z T QZ)w + (Qx 0 + c) T Zw = 0, egyenletet, akkor w szigorú lokális optimum. A fenti kifejezés az alábbi lineáris egyenletrendszerrel ekvivalens: (Z T QZ)w = Z T (Qx 0 + c). Ezt megoldva (például a konjugált gradiens módszerrel) kapjuk a feladat w optimális megoldását, melyb l az egyenl ségi feltételekkel adott probléma x optimális megoldása: x = x 0 + Zw. 29

A Karush-Kuhn-Tucker tételben megfogalmazott els rend optimalitási feltételt felírva kiszámíthatjuk a Lagrange-szorzókat az x pontban. A feltétel azt mondja ki, hogy létezik egy λ vektor, melyre Qx + c + A T λ = 0 (4.5) Tegyük fel, hogy A teljes sorrangú mátrix, azaz létezik p darab lineárisan független sora. Ekkor az AA T mátrix invertálható, így a (4.5) egyenletet balról beszorozva A-val, majd rendezve a következ t kapjuk: λ = (AA T ) 1 A(Qx + c). Röviden említést teszünk itt az ún. képtér módszerr l, mely Q egyszer struktúráját használja ki. Tegyük fel, hogy Q pozitív denit és egyszer en invertálható, például diagonális vagy blokkdiagonális mátrix. Ekkor a 4.5 egyenletet Q 1 -el beszorozva, majd rendezve, a megoldást és a Lagrange-szorzókat a következ képpen számíthatjuk ki: x = Q 1 (c + A T λ ), λ = (A 1 A T ) 1 (b + AQ 1 c). 4.5. Az aktív halmaz módszer Az aktív halmaz módszer az általános kvadratikus optimalizálási feladatot oldja meg, mégpedig oly módon, hogy visszavezeti azt egyenl ség feltételekkel adott problémák egy véges sorozatára. A feladat tehát: min 1 2 xt Qx + c T x a T i x = b i, i I = {1,..., p} a T j x b j, j J = {p + 1,..., p + m}. (4.6) 4.5.1. Deníció. Legyen x k R n megengedett megoldása a 4.6 feladatnak. Az a j T x b j (j {1,..., p + m}) feltétel aktív az x k pontban, ha a j T x k = b j teljesül, inaktív, ha a j T x k < b j. Aktív halmaznak nevezzük azon feltételek indexhalmazát, melyek aktívak az x k pontban. Jelölés: A(x k ) = I {j {p,..., p + m} : a j T x k = b j }. A denícióból egyértelm, hogy az egyenl ség feltétel mindig aktív. Az algoritmus minden egyes iterációjában meghatározunk egy munkahalmazt, W k -t, melyre mindig teljesül, hogy W k A(x k ). 30

Majd látni fogjuk, hogy az x k megengedett pontban W k vagy megegyezik A(x k )-val vagy eggyel kevesebb indexet tartalmaz nála. Legyen x a feladat optimális megoldása, A pedig az x pontban aktív feltételek halmaza. A továbbiakban tegyük fel, hogy Q pozitív denit mátrix. Az algoritmus lépései Aktív halmaz módszer Bemenet: egy x 0 megengedett megoldás és a W 0 = A(x 0 ) kezdeti munkahalmaz. 0. k = 0 A következ lépéseket hajtjuk végre: 1. Legyen q(x) = 1 2 xt Qx + c T x. Tekintsük az alábbi egyenl ség feltételekkel adott kvadratikus programozási feladatot: min q(x k + d k ) a i T (x k + d k ) = b i, i W k (4.7) Keressük meg ennek ( d k) optimális megoldását, a keresési irányt. A nulltér módszernél bemutatott módon a feladatot ekkor visszavezetjük egy feltétel nélküli problémára. Mivel Q pozitív denit, ezért Z T k QZ k is pozitív denit. Ha (d k ) = 0, akkor az x k pont minimalizálja a q célfüggvényt a W k munkhalmaz által meghatározott feltételekre nézve. Ugorjunk a 3. lépésre. Ha (d k ) 0, akkor ugorjunk a 2. lépésre. 2. Meg kell határoznunk azt a legnagyobb α k lépést, hogy az x k pontból α k hosszat lépve a (d k ) irányba még megengedett pontba érkezzünk, vagyis egyetlen feltételt se sértsünk meg. (Ez felel meg a keretalgoritmusban az egyenes menti keresés lépésének.) Legyen µ k = max { b i a i T x k a it (d k ) : a i T ( d k) > 0, i / Wk α k = min{1, µ k } x k+1 = x k + α k ( d k ). Ha α k = 1, akkor látható, hogy a (4.7) feladat optimumhelyét kaptuk. Mivel minden W k -beli feltétel teljesül az x k+1 pontban is, így az új munkahalmaz: W k+1 = A(x k+1 ). 31 }.

Legyen k = k + 1 és ugorjunk az 1. lépésre. 3. Az els rend optimalitási feltétel vizsgálata következik. A Karush-Kuhn-Tucker rendszert felírva a (4.7) feladatra kiszámoljuk a Lagrange szorzókat. Qx k + c + i W k λ i k a i = 0. Ugorjunk a 4. lépésre. 4. Ha λ k i 0 minden i W k -ra teljesül, akkor x k a (4.6) feladat lokális minimuma. Megállunk. Egyébként legyen N azon i indexek halmaza, melyekre λ k i < 0, és legyen j egy tetsz leges elem N -b l. Az új munkahalmaz: W k+1 = W k {j}. Legyen k = k + 1 és ugorjunk az 1. lépésre. Számos árazó modell létezik a megfelel j index kiválasztására. Ha a Z k T QZ k Hesse-mátrix indenit volt, akkor a (4.7) feladat alulról nem korlátos. Ekkor az algoritmus 1. és 2. lépése a következ képpen módosul: Keresünk egy d k irányt, melyre q(x k +d k ) alulról nem korlátos. (Ezt a Z k T QZ k Hesse-mátrix megfelel felbontása révén tehetjük meg. (ld. []) kiszámoljuk µ k -t: µ k = max az új megengedett vektor: { b i a i T x k a it d k : a i T d k > 0, i / W k x k+1 = x k + µ k d k. }. az új munkahalmaz: W k+1 = W k A(x k+1 ). 4.6. Lemke féle pivotalgoritmus A lineáris komplementaritási feladat megoldására számos módszert dolgoztak ki. A pivotmódszerek közé soroljuk a legkisebb index criss-cross módszert, mellyel a konvex kvadratikus programozási feladatot oldhatjuk meg [7] és a Lemke-féle pivotalgoritmust [12], melyet a következ kben mutatunk be. Léteznek bels pontos 32

algoritmusok is a probléma megoldására, ezzel kapcsolatban érdemes megnézni a [8, 18] könyveket. Tekintsük tehát a lineáris komplementaritási problémát: w Mz = q w j 0, z j 0, j = 1,..., p (4.8) w j z j = 0, j = 1,..., p, ahol M R p p és q R p. Ha q nemnegatív, akkor a feladatra azonnal adódik a w = q, z = 0 megoldás. A legtöbb esetben azonban nincs ilyen szerencsénk, ezért bevezetjük a z 0 mesterséges változót, és a következ feladatot írjuk fel: w Mz ez 0 = q (4.9) w j 0, z j 0, z0 0, j = 1,..., p (4.10) w j z j = 0, j = 1,..., p, (4.11) ahol e a csupa egyest tartalmazó p dimenziós vektort jelöli. Feltéve, hogy z 0 = max{ q i : 1 i p} ezen probléma egy megengedett induló megoldását kapjuk a z = 0 és w = q+ez 0 választással. Az algoritmusban a szimplex módszernél megismert pivotálást, azaz báziscsere m veletet alkalmazzuk. Az a célunk, hogy báziscserék egy meghatározott sorozatának végrehajtása révén a z 0 változó értékét nullává tegyük, ami által a (4.8) feladat egy komplementáris bázismegoldásához jutunk. 4.6.1. Deníció. Tekintsük a (4.9) - (4.11) problémát. A rendszer egy (w, z, z 0 ) megengedett megoldását majdnem komplementáris megengedett bázismegoldásnak nevezzük, ha az alábbiak teljesülnek rá: 1. (w,z,z0) megengedett bázismegoldása a (4.9)- (4.10) rendszernek, 2. létezik olyan s index, hogy mind w s mind z s nem-bázisváltozók, 3. z 0 bázisváltozó és minden komplementáris (w j, z j ) párra teljesül, hogy közülük pontosan egy bázisváltozó, ahol j s. A Lemke-féle pivotalgoritmus majdnem komplementáris megengedett bázismegoldások sorozatán halad végig. Mindig a bázist éppen elhagyó változó komplementáris párja fog belépni a bázisba, a bázisból kilép változót pedig (a szimplex módszernél megismert generálóelem-választási szabály szerint) hányadosteszttel határozzuk meg. Belátható, hogy a mesterséges változó, z 0 értéke az iterációk során monoton csökken. Értéke kétféleképpen válhat nullává: vagy úgy, hogy elhagyja a bázist, vagy úgy, hogy a bázisban maradva a nulla értéket veszi fel. 33

Az algoritmus lépései Lemke-féle pivotalgoritmus Inicializálás Ha q 0, akkor megállunk, (w, z) = (q, 0) komplementáris bázismegoldása a feladatnak. Egyébként tekintsük a (4.9)-(4.10) rendszert a következ bázistábla formájában: w 1... w p z 1... z p z 0 RHS w 1-1. I p M. q w p -1 ahol I p a p dimenziós egységmátrix. Az els függ leges oszlop mindig azon változókat jelenti, melyek aktuálisan a bázisban vannak. Legyen q s = max{ q i : 1 i p} és hajtsuk végre a báziscserét az s. sorban a z 0 oszlopban. A bázistábla eszerint frissül, a bázisváltozók tehát most a nemnegatív z 0 és w i, i = 1,..., p, i s lesznek, azaz egy majdnem komplementáris megengedett bázismegoldást kaptunk. Legyen y s = z s. F lépések 1. Legyen d s a bázistábla y s változónak megfelel oszlopa. Ha d s 0, akkor ugorjunk a 4. lépésre. Legyen q az aktuális bázisváltozók értékeit tartalmazó jobboldali oszlop a táblában. A hányadosteszt elvégzésével határozzuk meg az r indexet: q r { q } = min i : d is > 0. d rs d is Ha az r. sorban a bázisváltozó z 0, ugorjunk a 3. lépésre, egyébként ugorjunk a 2. lépésre. 2. Az r. sorban a bázisváltozó w l vagy z l valamely l s indexre. Az y s változó belép a bázisba és a táblát frissítjük az r. sorban y s oszlopban történ báziscsere eredménye szerint. Ha az éppen kilép bázisváltozó: w l, akkor y s = z l, z l, akkor y s = w l. Térjünk vissza az 1. lépésre. 3. A z 0 változó elhagyja a bázist, és az y s változó belép a bázisba. Hajtsuk végre a 34

báziscserét a z 0 sorban y s oszlopban, ezáltal a feladat egy komplementáris megengedett bázismegoldását kapjuk. Megállunk. 4. Az w R = z + λd : λ 0 z 0 halmaz pontjai kielégítik a (4.9)-(4.11) rendszert, ahol (w, z, z 0 ) T a legutóbbi bázistábla által megadott majdnem komplementáris bázismegoldás, d R 2p+1 vektor, melyre: 1 ha y s az i. változó d i = d s ha i bázisváltozó 0 egyébként Megállunk. Az algoritmus konvergenciájára és végességére vonatkozó tételt csak a kvadratikus programozási feladatra alkalmazva mutatjuk be. 4.6.1. Tétel. Tekintsük a (3.14) problémát. Tegyük fel, hogy a megendedett megoldások halmaza nemüres, és tegyük fel, hogy a pivotalgoritmust alkalmazzuk a feladat KKT feltételeinek felírásából származó (3.15) probléma megoldására. Ha a feladat nem degenerált, akkor a következ feltételek bármelyikének fennállása esetén a Lemke-féle privotalgoritmus véges számú iteráció után leáll. 1. Q pozitív szemidenit és c = 0. 2. Q pozitív denit. 3. Q minden eleme nemnegatív és a f átlójában lév elemek pozitívak. Továbbá Q pozitív szemidenitsége esetén, ha az algoritmus a 4. lépésben áll le, abból következik, hogy az optimális megoldás alulról nem korlátos. A lineáris komplementaritási probléma degeneráltságáról a [15] cikkben olvashatunk részletesebben. A második fejezetben bevezetett két konvex kvadratikus programozási feladat esetében a Q mátrix pozitív szenidenit, de el fordulhat, hogy egy kisebb dimenziós részfeladatot (Q almátrixát) véve pozitív denit esettel is találkozunk. A következ fejezetben a Lemke-féle pivotalgoritmust beprogramozzuk MATLAB-ban, és megvizsgáljuk, milyen eredményeket kapunk a portfólióelméleti modellekre alkalmazva. 35

5. fejezet A portfólió kiválasztási probléma modelljeinek megvalósítása MATLAB környezetben Az utóbbi két fejezet ismereteivel felvértezve visszatérünk a második fejezet végén bevezetett portfólió kiválasztási modellekre és megnézzük, hogyan alkalmazhatóak a gyakorlatban. A korábban tárgyalt modellek közül a második - amely a várható hozam maximalizálását célozta meg a kockázat korlátozása mellett - nemlineáris feltételt tartalmaz, tehát nem sorolható a kvadratikus programozási feladatok osztályába, így a továbbiakban az alábbi két modellel fogunk dolgozni: (1) (2) min w T Qw r T w r N w i = 1 i=1 w 0, max r T w k 2 wt Qw N w i = 1 i=1 w 0. Mindkét feladat egy konvex kvadratikus programozási probléma, hiszen a Q kovariancia mátrix pozitív szemidenit. 36