Sunteți pe pagina 1din 5

36

Revista Informatica Economic nr. 1 (37)/2006

Non-stationary iterative methods for solving macroeconomic numeric models


Conf.dr. Bogdan OANCEA Universitatea Artifex din Bucureti e-mail: oanceab@ie.ase.ro Macroeconometric modeling was influenced by the development of new and efficient computational techniques. Rational Expectations models, a particular class of macroeconometric models, give raise to very large systems of equations, the solution of which requires heavy computations. Therefore, such models are an interesting testing ground for the numerical methods addressed in this research. The most difficult problem is to obtain the solution of the linear system that arises during the Newton step. As an alternative to the direct methods, we propose non-stationary iterative methods, also called Krylov methods, to solve these models. Numerical experiments conducted by authors confirm the interesting features of these methods: low computational complexity and storage requirements. Keywords: non-stationary methods, rational expectation models.

ntroducere Modelele macroeconometrice de previziune reprezint o clas special de modele matematice care genereaz sisteme de ecuaii liniare sau neliniare de foarte mari dimensiuni. Un caz special de modele macroeconometrice l constituie modelele bazate pe teoria ateptrilor raionale introdus de Lucas [5]. Utiliznd notaia convenional [3], un model dinamic cu ateptri raionale se poate exprima astfel: fi(yt,yt-1, ... , yt-r, yt+1|t-1, ... , yt+h|t-1, zt)=0 i = 1,... n (1)

unde yt+j|t-1 valoarea ateptat pentru yt+j condiionat de informaia disponibil la sfritul perioadei t-1 iar zt reprezint variabila exogen. Pentru o soluie consistent, valoarea viitoare ateptat yt+j|t-1 trebuie s coincid cu previziunea pentru perioada urmtoare atunci cnd rezolvm sistemul condiionat de informaiile disponibile la sfritul perioadei t1. Aceste valori ateptate sunt astfel legate n timp iar rezolvarea modelului pentru fiecare yt condiionat de o valoare iniial necesit cunoaterea fiecrui yt+j|0 pentru j= 1,2, ... T-t i o valoare de final yT+j|0 j = 1,2, ... , h. Metoda clasic de rezolvare a unui astfel de model este metoda cii extinse propuse de Fair and Taylor [3]. Aceast metod utilizea-

z iteraii de tip Gauss-Seidel pentru fiecare perioad de timp, pentru un orizont de previziune dat. Avantajul metodei este acela c are o complexitate redus dar prezint dezavantajul unei rate a convergenei reduse. O alt abordare n rezolvarea modelelor cu ateptri raionale este s scriem ecuaiile (1) pentru fiecare perioad de timp t, caz n care va rezulta un sistem neliniar de mari dimensiuni. Pentru astfel de sisteme propunem aplicarea metodei Newton de rezolvare a sistemelor neliniare mpreun cu tehnici Krlov de rezolvare a sistemelor liniare. Avantajul major al metodei Newton const n convergena sa ptratic. Dezavantajul metodei const n rezolvarea unui sistem liniar la fiecare pas al algoritmului. De asemenea, tot la fiecare iteraie trebuie calculat i matricea Jacobinan. Metoda Newton aplicat la modelul (1) const n urmtorul algoritm:
Fie solutia initial y(0) For k = 0,1,2, ... until convergence Calculeaz b(k) = - h(y(k),z) Calculeaz J(k) = h(y(k),z)/y Rezolv J(k)s(k) = b(k) y(k+1) = y(k) + s(k) end

Fig.1. Algoritmul Newton pentru sisteme neliniare

Revista Informatica Economic nr. 1 (37)/2006

37

n situaia n care sistemul liniar J(k)s(k) = b(k) este de mari dimensiuni, situaie care apare des n practic, metodele directe de rezolvare a sistemelor liniare nu sunt eficiente datorit complexitii ridicate i a cerinelor de memorie foarte mari. Ca o alternativ la metodele directe se pot utiliza metodele iterative care calculeaz doar o aproximaie a soluiei, dar acest lucru nu influeneaz convergena metodei Newton. O problem practic dificil este alegerea unui nivel de precizie al soluiei care s garanteze convergena rapid a metodei Newton. Vom defini r(k) = b(k) - J(k)s(k) ca fiind eroarea soluiei aproximative a sistemului liniar la iteraia Newton cu numrul k. Se poate arta [6] c metoda Newton este convergent local dac || r(k) || / || b(k) || este un ir de valori mai mici dect 1. Metode iterative de tip Krlov Spre deosebire de metodele iterative clasice, precum Gauss-Seidel sau Jacobi, metodele de tip Krlov utilizeaz informaii care se modific de la o iteraie la alta. Pentru un sistem liniar de forma Ax = b metodele Krlov calculeaz aproximaia x(i) n felul urmtor [9] : x(i)=x(i-1)+d(i) i = 1,2,...

Pentru a calcula vectorul de actualizare d(i) sunt necesare doar produse scalare de vectori, operaii de tip saxpy i produse matricevector, ceea ce nseamn c aceste metode au o complexitate sczut i devin atractive n special pentru sisteme de mari dimensiuni. Una dintre cele mai cunoscute metode de tip Krlov este metoda gradientului conjugat care se aplic pentru sisteme cu matrice simetrice pozitiv definite. Ideea de baz a acestei metode este aceea de a actualiza x(i) n aa fel nct s se asigure o descretere maxim 1 pentru funcia obiectiv x' Ax x' b meni2 nnd n acelai timp vectorii direcie d(i) Aortogonali. Metoda gradientului conjugat are o complexitate redus, ea poate fi implementat doar cu o singur nmulire matricevector la fiecare iteraie. n aritmetic exact metoda gradientului conjugat calculeaz soluia sistemului n cel mult n iteraii, n fiind dimensiunea matricei sistemului. O descriere amnunit a acestei metode poate fi consultat n [4]. O alt metod din clasa metodelor Krlov este metoda Generalized Minimal Residuals (GMRES)[9]. Pseudo-codul pentru metoda GMRES este prezentat n figura 2.

Fie soluia iniial reziduu r = b Ax(0)

x(0),

calculeaz

vectorul

= ||r||2, v(1) = r/ , = for k = 1,2,... until convergence for j = 1,2, ... k, h(j,k) = (Av(k))v(j) end v(k+1) = Av(k) -

k j =1

h ( j , k )v ( j )

(ortogonalizare Gram-Schmidt) h(k+1,k) = ||v(k+1)||2 v(k+1,k) = v(k+1)/h(k+1,k) end

Fig.2. Metoda GMRES. Partea dificil a acestei metode const n a menine ortogonalitatea vectorilor v(j). Pentru aceasta, se utilizeaz o ortogonalizare Gram-Schmidt la fiecare iteraie. Se observ ca la fiecare iteraie metoda GMRES necesit memorarea i calculul unui volum mai mare de informaii. Pentru a evita aceast dificultate, metoda poate fi restartat dup un numr de m iteraii. Rezultatele obinute pn la iteraia m vor constitui noua soluie iniial. Deoarece volumul de calcule i de memorie utilizat crete la fiecare iteraie pn la

38

Revista Informatica Economic nr. 1 (37)/2006

restartare, parametrul m trebuie ales n funcie de problema particular care este rezolvat, printr-un compromis ntre viteza de convergen pe de o parte respectiv complexitatea i volumul de memorie necesar pe de alt parte. Dac nu se utilizeaz restartarea, n aritmetic exact, soluia este obinut n cel mult n iteraii. Tot din categoria metodelor Krlov face parte metoda BiConjugate Gradient (BiCG)[4].

Metoda BiCG genereaz dou secvene ortogonale de vectorii reziduu r i secvene de vectori direcie A-ortogonali. Actualizrile vectorilor reziduu i a vectorului direcie sunt similare metodei gradientului conjugat dar sunt realizate utiliznd matricea A i transpusa ei. O versiune mbuntit a acestei metode, denumit BiConjugate Gradient Stabilized( BiCGSTAB)[9] este prezentat n figura 3.

Fie soluia iniial x(0), calculeaz vectorul reziduu r = b Ax(0) 0 = 1, 1 = r(0)r(0), = 1, = 1, p = 0, v = 0 for k = 1,2, ... until convergence = (k/ k-1)(/) p = r + (p- v) v = Ap = k/(r(0)v) s = r v t = As = (ts)(tt) x(k) = x(k-1) + p + s r = s t

Fig.3. Metoda BiCGSTAB La fiecare iteraie a metodei BiCGSTAB avem 6 operaii saxpy, 4 produse scalare i 2 nmuliri matrice-vector. Necesarul de memorie const n stocarea matricei A i a 7 vectori de dimensiune n. Totui, numrul de operaii n virgul mobil pe iteraie nu poate fi folosit pentru a compara direct performanele algoritmilor BiCGSTAB i GMRES deoarece GMRES necesit mai puine iteraii pentru a ajunge la soluie. Este binecunoscut faptul c precondiionarea sistemului influeneaz drastic convergena metodelor Krlov [9]. Precondiionarea transform sistemul liniar iniial n alt sistem cu aceeai soluie dar pentru care convergena metodelor iterative este mult mai rapid. O matrice M cu ajutorul crei putem obine o astfel de transformare se numete matrice de precondiionare iar sistemul obinut n urma precondiionrii este de forma: M-1Ax = M-1b (2) perimentele noastre am utilizat o precondiionare de tip ILU. Rezultate experimentale Pentru a efectua un studiu comparativ al performanelor metodelor iterative de tp Krlov, am considerat rezolvarea unor sisteme neliniare cu un numr de variabile cuprins ntre 10000 i 38000. Am experimentat utilizarea a dou metode iterative de rezolvare a sistemelor liniare ce apar la fiecare iteraie Newton: GMRES i BiCGSTAB. Limita de eroare n obinerea soluiei a fost fixat la 10-4 pentru toate metodele. Am implementat algoritmii descrii n aceast lucrare n limbajul C++ iar programele au fost rulate sub sistemul de operare Linux. Metode GMRES a utilizat o restartare dup 40 de iteraii. Din rezultatele obinute constatm c ambele metode sunt performante, cu un plus pentru metoda BiCGSTAB care necesit mai puin memorie i realizeaz mai puine operaii n virgul mobil. n tabelul 1 este prezentat numrul de operaii n virgul mobil efectuat la fiecare iteraie precum i necesarul de memorie.

Pentru ca precondiionarea s fie eficient trebuie ca M-1 s fie uor de calculat. n ex-

Revista Informatica Economic nr. 1 (37)/2006

39

Tabelul 1. Numrul de MFLOP/iteraie i necesarul de memorie


Dimensiune 10000 14000 18000 22000 26000 30000 34000 38000 GMRES(40) MFLOP Necesar Memorie (Mb) 2100 3.15 4800 4.90 14100 6.25 29500 8.10 58000 9.21 125000 11.10 140000 12.4 200000 14.0
GMRES 200000 180000 160000 140000 BiCGSTAB

Size 10000 14000 18000 20000 26000 30000 34000 38000

BiCGSTAB MFLOP Necesar Memorie (Mb) 723 1.44 2880 1.92 12800 3.07 27500 3.51 52000 4.60 112000 5.66 120000 7.22 175000 8.20

ie este legat de rata de convergen a metodelor iterative care uneori poate fi destul de redus. Bibliografie 1.R. Barrett et. al., Templates for the solution of linear systems: building blocks for iterative methods, SIAM, 1994 2.P.N. Brown, Y. Saad, Hybrid Krylov methods for nonlinear systems of equations, SIAM Journal for Scientific and Statistical Computing, 11(3), 1990 3.P. Fisher, Rational Expectations in Macroeconometric Models, Kluwer Academic Publisher, Dordrecht, 1992. 4.G.H. Golub, C.F. van Loan, Matrix Computations, Johns Hopkins Series in Mathematical Sciences, The Johns Hopkins University Press, 1996. 5.R.E. Lucas, Jr. Econometric Policy Evaluation : A Critique , The Philips Curve and Labor Markets, vol 1, K. Brunner, A. H. Meltzer editors, North Holand, 1976. 6.B. Oancea, Metode numerice de calcul paralel pentru modelele matematice din economie, Tez de doctorat, ASE, Bucureti, 2002 7.B. Oancea, Implementation of Parallel Algorithms for Dense Matrix Computations, Proceedings of the 7th International Conference on Informatics in Economy, Bucureti, mai 2005. 8.B. Oancea, Implementation of a Linear Algebra Library in Java, Proceedings of The Central and East European Conference in Business Information Systems, Universitatea Babes-Bolyai, Cluj-Napoca, mai, 2004. 9.Y. Saad, Iterative methods for sparse linear systems, PWS Publishing Company, 1996.

MFLOP

120000 100000 80000 60000 40000 20000 0 10000

15000

20000

25000

30000

35000

40000

Dimenisunea matricei

Fig.4. Numrul de operaii n virgula mobil (MFLOP) pe iteraii pentru cele dou metode.
GMRES 14 BiCGSTAB

12

10

MB
6 4 2 0 10000

15000

20000

25000

30000

35000

40000

Dimensiunea matricei

Fig.5. Necesarul de memorie pe iteraie. Concluzii Algoritmul Newton de rezolvare a sistemelor neliniare combinat cu o metod iterativ de tip Krlov pentru rezolvarea sistemului liniar ce apare la fiecare iteraie Newton reprezint o alternativ de luat n seam la metodele directe bazate pe factorizare LU. Att complexitatea ct i necesarul de memorie sunt mai mici n cazul metodelor iterative de tip Krlov n comparaie cu factorizarea LU. Singura problem care apare n aceast situa-

40

Revista Informatica Economic nr. 1 (37)/2006