Documente Academic
Documente Profesional
Documente Cultură
(3.1)
1 T
x Ax xT b , b este un vector-n coloan dat, iar A este o matrice n n
2
simetric pozitiv definit sau o matrice pozitiv semidefinit. Ne intereseaz n mod
special problemele cu n mare i A dispersat i condiionate n mod convenabil. Am
vzut deja n Sect. 2.2.2 c (3.1) este echivalent cu soluia unui sistem de ecuaii
liniare Ax = b, ns aici principalul nostru obiectiv nu este acela de a rezolva sisteme
mari de ecuaii liniare, ci mai degrab de a descrie instrumentul nostru de baz
pentru abordarea sistemelor liniare auxiliare care sunt generate de algoritmi pentru
rezolvarea problemelor de programare ptratic cu restricii.
Vom utiliza metoda gradientului conjugat (CG) ca metod iterativ care
genereaz mbuntirea aproximaiilor pentru soluia din fiecare etap. Costul unei
etape a metodei CG este de obicei dominat de costul nmulirii unui vector cu
matricea A, care este proporional cu numrul intrrilor nenule ale lui A. Cerinele de
memorie sunt de asemenea proporionale cu numrul intrrilor nenule ale lui A.
Pentru a dezvolta algoritmi optimi pentru mai multe probleme generale de
programare ptratic, este important ca rata de convergen a metodei gradientului
conjugat s depind de distribuirea spectrului lui A. n mod special, fiind dat un
interval pozitiv amin , amax cu spectrul lui A, se poate da o limit sub aspectul
amin / amax pentru o serie din iteraiile gradientului conjugat care sunt necesare pentru
a rezolva problema (3.1) cu un anumit grad de precizie relativ. De asemenea este
important ca numrul de etape necesare pentru obinerea unei soluii aproximative la
o problem dat s fie n mod obinuit proporional cu logaritmul preciziei prescrise,
astfel nct algoritmul s poat da o soluie de precizie redus n timp redus.
unde f ( x )
p,p
i
pi Ap j 0
T
pentru i j
Astfel
f ( x ) minn f ( x) min f (1 p1 ) L min f ( n p n )
1R
xR
n R
x 1 p1 L n p n , i bT p i / p i Ap i , i 1,K , n
T
(3.2)
1
1 p Ap 1 Ax o b p1 L k2 p k Ap k k Ax o b
2
f ( x) f x 0
pk
0
0
0
0
Notnd g g x f x Ax b i
f0 x
avem
1 T
x Ax xT g 0
2
f x f x 0 f 0 1 p1 L f 0 k p k
i
f x k mink f x min f 0 1 p1 L min f 0 k p k
xS
1R
k R
(3.3)
Astfel am redus din nou problema noastr la soluia unei secvene de probleme
simple unidimensionale. Aproximarea x k este dat de
x k x 0 1 p1 L k p k , i g 0 p i / p i Ap i , i 1,K , k
T
(3.4)
ca
df p i
d
i p i Ap i g 0 p i 0
T
(3.5)
x S
k 1
i T
Astfel
p k g i 1 p k i p i Ap k g i 1 p k
T
0 T
p k g 1 p k L g k 1 p k
o T
k T
pk
Ap k
g p
p Ap
k 1 T
k T
(3.8)
g k 1 T p k
1
f x k 1
T
2 p k Ap k
(3.9)
k
1
k
nenule, 1 k n i s analizm modul de utilizare a h Span p ,K , p pentru a
(3.10)
p i Ah k ki p i Ap i , i 1,..., k
T
Astfel
i T
ki
Evident,
i T
Ah k
Ap i
(3.11)
, i 1,..., k
Span p1 ,K , p k 1 Span p1 ,K , p k , h k
k T
x0
pentru orice x K k
K k A, g 0 Span g 0 ,K , g k 1
Apoi se observ c pentru orice x K k 1 si k 1
Ax K k
sau pe scurt AK k 1 K k . Avnd n vedere c p i K i K k 1 , i 1,K , k 1 , avem
Ap
i T
Rezult c
ki
g k p i Ag k 0, i 1,K , k 1
T
i T
Ag k
i T
Ap i
0, i 1,K , k 1 .
k kk
k T
Ag k
k T
Ap k
(3.12)
(3.13)
k
1
k
n cele din urm, se observ c ortogonalitatea g la Span p ,K , p i (3.12)
implic faptul c
(3.14)
p k 1 g k
cu k g k 1 p k / p k Ap k
T
g k Ax k b A x k 1 k p k b
(3.15)
Ax k 1 b k Ap k g k 1 k Ap k
n cele din urm noua direcie conjugat p k 1 este generat de (3.12) i (3.13).
Decizia dac x k 1 este o soluie acceptabil se bazeaz de obicei pe valoarea
g k 1 , astfel c norma gradientul trebuie evaluat n fiecare etap. Se dovedete c
norma poate fi de asemenea utilizat pentru a nlocui produsele scalare care implic
gradientul n definiia k si k . Pentru a gsi formulele, s nlocuim k din (3.12) prin
k 1 i s nmulim identitatea rezultat cu g k 1 . Folosind ortogonalitatea obinem
T
k 1 T
p k g k 1 k 1 g k 1 p k 1 g k 1
2
(3.16)
g k 1
k T
(3.17)
Ap k
k
astfel nct
k g k Ap k g k
T
k T
k T
Ag k
Ap k
gk
gk gk
k 1
k p k Ap k
T
gk
g k 1
(3.18)
2
2
k T
Ap k
x k x k 1 k p k
g k g k 1 k Ap k
2
k g k
p
k 1
g k 1
g k p
k
k k 1
sfrit n timp ce
Etapa 2. {Gsirea soluiei.}
x x k
Ap k g k
T
k T
g k 1 0
k g k 1
pentru
Ap k
k
Teorema 3.1. S lsm x
f x i min f x : x x 0 K i A, g 0
p
i 1
g g 0 pentru i j
p Ap 0 pentru i j
K A, g Span g ,K , g Span p ,K , p
i T
i T
i 1
(v)
De obicei este suficient s se gseasc x k astfel nct ||gk|| s fie mic. De
exemplu, fiind dat un 0 mic, putem considera c gk este mic dac
gk b
Atunci x% x k este o soluie aproximat care satisface relaia
1
A x% x b , x% x min A
unde min A indic valoarea proprie cea mai mic a lui A. Este uor s se verifice
dac soluia aproximat x%rezolv problema perturbat
T
1
minn f% x xT Ax b%x, b% b g k
x
2
Ce este mic depinde de problema rezolvat. Pentru a pstra caracterul general al
expunerii noastre, deseori nu vom specifica testul n cele ce urmeaz. Desigur,
g k 0 este ntotdeauna considerat mic.
Denumirea panta cea mai abrupt deriv din observaia c modelul liniar al f la x
obine minimul asupra setului tuturor vectorilor unitate
U d n , d 1
la d f x
k g k
k T
Ag k
x k 1 x k k g k
g k 1 g k k Ag k
k k 1
sfrit n timp ce
Etapa 2. {Gsirea unei soluii (dac este posibil aproximat).}
x% x k
Se cunoate faptul c metoda gradientului converge, ns convergena sa
este pentru problemele prost condiionate considerabil mai mic dect cea a metodei
gradientului conjugat, dup cum vom vedea n urmtoarea seciune. Convergena
slab este ilustrat n Fig. 3.1.
n ciuda convergenei slabe, metoda gradientului este util deoarece este uor
de implementat i utilizeaz o direcie de descretere robust. n Fig. 3.2 este ilustrat
faptul c, chiar dac g este o perturbare relativ mare a gradientului g, vectorul
g g este nc o direcie n descretere, n timp ce o perturbaie mic p a
direciei CG p poate cauza ca p p s nu fie o direcie n descretere.
e e x x x
g x Ax b 0 .
g k Ax k b Ax k Ax A x k x Ae k ,
aadar n special
K k A, g 0 Span g 0 , Ag 0 ,K , Ak 1 g 0 Span Ae 0 ,K , Ak e0 .
Pornim analiza noastr a erorii soluiei folosind extinderea Taylor (2.5) pentru
a obine identitatea
f x f x f x x x f x
f x g x
x x
1
x x
2
2
A
f x
1
1 2
2
x x A e A
2
2
Combinnd ultima identitate cu Teorema 3.1 obinem
2
e k 2 f x k f x 0 min
2 f x k f x
k
0
x x
min
0
k
xx K ( A, g 0 )
xx K ( A , g )
2
A
min
0
k
xx K ( A, g 0 )
e x
2
A
0
k
0
Avnd n vedere c orice x x K A, g poate fi scris sub forma
x x 0 1 g 0 2 g 0 L k Ak 1 g 0 x 0 1 Ae0 L k Ak e0
rezult c
x x x 0 1 Ae0 L k Ak e 0 p A e 0
unde p indic polinomialul definit pentru orice x prin
p x 1 1 x 1 x 2 L k x k
Astfel, notnd cu P k setul tuturor polinomialelor p grad k care satisfac relaia p(0) =
1, obinem
ek
min
k
e( x )
xx K ( A, g )
2
A
mink p A e0
pP
(3.19)
2
A
A1/2 p A p A A1/2
2
A
2
A
mink p A e0
2
A
pP
mink p A
mink A1/2 p A e 0
mink p D
pP
A1/2 e0
pP
Avnd n vedere c
pP
e0
2
A
p D max p i
i 1,K , n
putem scrie
ek
mink max p i e0
pP
i 1,K ,n
(3.20)
A
1 x /
k
Teorema 3.2. S lsm x
k
A
k A 1
k A 1
(3.21)
0
A
min ,max
max min
tk Tk
min
Tk max
max min
min , max
max min
max min
t 1 Tk
1
k A 1
2
k A 1
min
1
Tk max
2
max min
Astfel, pentru orice min , max
k A 1
k A
1
k A 1
pk 2
k A 1
p 1 K
1
k
q , qP
m
k m
A
k% 1
k% 1
(3.23)
0
A
A
A
k 1
unde k 4amax / amin aproximeaz numrul de condiionare efectiv al unei matrice A
cu spectrul n amin , amax U amin d , amax d . O caracteristic interesant a estimrilor
(3.23) i (3.24) este faptul c limita superioar este independent de valorile unor
valori proprii sau d. Dovezile celor de mai sus i alte estimri interesante se pot
regsi n lucrrile scrise de Axelsson [3] i Axelsson i Lindskg [5].
A
A
k A 1
unde k A indic numrul de condiionare spectral al lui A.
Fig. 3.3. Aproximarea cea mai bun a lui zero la (A) cu polinomialul liniar cu p(0) =
1
Dovad. S lsm xk+1 s fie generat prin metoda gradientului din x k R n i s lsm
P 1 s indice setul tuturor polinomialelor liniare p astfel nct p(0) = 1. Atunci norma
k
energiei e
a erorii
A
e k x k x
este prin (3.20) redus cu un factor care poate fi estimat din
e k 1 min1 max p i e k min max 1i 1 e k
A
p p i 1,K , n
1 i 1,K , n
Folosind proprietile elementare ale funciilor liniare sau Fig. 3.3, obinem faptul c
minimizatorul 1 satisface
1min 1 1max 1 .
Rezult c
i
e k 1
2min
1 e k
min max
max min k
e
max min
(3.26)
A
ft x
pentru a reduce eroarea cu un factor dat este mrginit uniform. Rezult uor c
0
k
algoritmul CG, pornind de la xt o gsete xt astfel nct
At xtk bt bt
la iteraii O(1). Rezult c dac matricele At au elemente O nt , atunci putem obine
soluii aproximate la operaiunile aritmetice optime O nt .
3.6 Gradieni conjugai precondiionai
Analiza seciunii anterioare arat c rata de convergen a algoritmului gradientului
conjugat depinde de distribuirea valorilor proprii ale Hessianului A din f. n mod
special, am argumentat c CG converge foarte rapid dac valorile proprii ale lui A
sunt reunite n jurul unui punct, adic, n cazul n care numrul de condiionare k(A)
este aproape de unu. Acum vom arta c putem reduce problema de minimizare la
acest caz favorabil dac avem o matrice simetric pozitiv definit M astfel nct M 1 x
s poate fi uor evaluat pentru orice x i M aproximaii A n sensul c M 1 A este
aproape de identitate.
Mai nti se presupune c M este disponibil n forma
T
%%
M LL
1 %
astfel nct M 1 A s fie similar cu L%
ALT i cea din urm matrice s fie aproape de
identitate. Atunci
T
T
1 %
1 %
T
1
T
LT x L%
ALT L%
x L%
b L%
x
2
i putem nlocui problema iniial (3.1) prin problema precondiionat pentru a gsi
f x
minn f y ,
(3.27)
T
x i stabilit
unde am nlocuit y L%
T
1
1 %
1
f y yT L%
ALT y L%
b y.
2
p1 g 0 ;
T 1
2
T k
k g k 1 / p k L%
AL%
p ,
y k y k 1 k p k ,
1 %
g k g k 1 L%
ALT p k ,
k
k g
k 2
/ g k 1 ,
p k 1 g k k p k .
nlocuind
i notnd
T k
1 k
y k L%
x , g k L%
g
si
T k
p k L%
p ,
T %
z k L%
L1 g k M 1 g k
obinem algoritmul gradientului conjugat precondiionat (PGG) n variabilele originale.
k z k 1 g k 1 / p k Ap k
T
x k x k 1 k p k
g k g k 1 k Ap k
z k M 1 g k
k z k g k / z k 1 g k 1
T
p k 1 z k k p k
k k 1
Sfrit
n timp ce
Etapa 2. {Gsirea unei soluii (dac este posibil aproximat)}
x% x k
Se observ c algoritmul PCG nu exploateaz explicit factorizarea Cholesky a
precondiionatorului M. Pseudorezidualele zk se obin de obicei rezolvnd ecuaia
Mz k g k . Dac M este o aproximare bun a lui A, atunci z k este aproape de vectorul
de eroare ek. Rata de convergen a algoritmului PCG depinde de numrul de
1
1
T
condiionare al Hessianului funciei transformate f , adic la k M A k L% AL% .
M BJ
A11
0
0
A22
.
0
... 0
... 0
,
... .
... Akk
(3.28)
unde Aii sunt blocuri diagonale ale lui A (a se vedea, de ex., Greenbaum [106, Sect.
k
k
10.5]). Pseudorezidualele zk se obin de obicei rezolvnd Aii zi gi .
Rezultate bune se pot obine deseori cu ajutorul precondiionatorului simetric
Gauss-Seidel
M SGS D E D 1 D E T .
Se observ c
1
L% D E D 2
(3.29)
Ux
2
A
xT U T AUx 0,
, i
(3.31)
(3.32)
yU
(3.34)
zV
1 T T
x Q AQx bT Qx.
xAV 2
= f x0 min f z f x 0 min
zV
T
1 T T
x Q AQx g 0 x
xAV 2
0
unde x este determinat de (3.32).
Rmne de rezolvat problema minimizrii (3.34). Mai nti se observ c
folosind lema 3.4 obinem faptul c Q TAQ|AV este definit pozitiv. Avnd n vedere c
prin (3.33) g 0 Im QT
ImQT = Im(QTA) = Im(AQ) = AV,
(3.35)
i AV este un spaiu invariant al Q TAQ, putem utiliza procedura descris n Sect. 3.2
pentru a genera vectorii conjugai Q TAQ p1,... ,pk din
f x 0 min
k 1
g0
(ii)
q i g i 1
(iii)
qi
Aq j 0 i j
(iv)
qi
Ax 0
xU
P U U T AU
nxn
U T A, Q I P
x 0 PA1b U U T AU U T b
1
k 1, g 0 Ax 0 b, q1 Qg 0
Etapa 1. {Bucla gradientului conjugat}
i 1
n timp ce g 0
k g k 1 q k / q k Aq k
T
x k x k 1 k q k
g k g k 1 k Aq k
k g k Aq k / q k Aq k
T
q k 1 Qg k k q k
k k 1
sfrit
n timp ce
Pasul 2. {Gsirea unei soluii (posibil aproximat)}
x% x k
3.7.4 Efect de precondiionare
Aa cum am vzut n seciunea anterioar, iteraiile Algoritmului 3.4 pot fi considerate
drept iteraii ale gradientului conjugat pentru minimizarea
T
1
f 0,Q x xT QT AQx g 0 x
2
care genereaz iteraiile
x k K k QT AQx, g 0 AV
ntr-adevr, indicnd prin 1 L n valorile proprii ale lui A, putem observa c dac
x AV i ||x|| = 1, atunci prin Lema 3.4
xT QT AQx Qx A Qx / Qx n
T
i
xT QT AQx xT QT AQx xT PT APx xT Ax 1
(3.36)
1 2 1
Teorema 3.6. S lsm U, V, Q s fie cele ale Algoritmului 3.4, s lsm 1 L n
s indice valorile proprii ale lui A i s lsm min s indice valoarea proprie cea mai
puin nenul a lui QTAQ. Atunci
n
1
2
2
n m
(3.37)
2 n2 min
k QT AQ | AV
1
2
2
n m
2 n2
(3.38)
n2 m I R Qx n2 R Qx
2
n2 m I R Qx n2 R Qx / Qx
2
n2 m 1 2 n2 2 ,
unde Qx
R Qx . Am folosit faptul c
I R Qx
R Qx Qx .
QT AQx AQx n2 m 1 2 n2 2
Restul este o simpl consecin a lui (3.36).
k QT AQ | AV k A .
Dac problema minimizrii rezult din discretizarea ecuaiilor difereniale
pariale eliptice, atunci U poate fi obinut prin agregare. Rezult c chiar i subspaiul
cu o dimensiune foarte mic poate mbunti considerabil rata de convergen. A se
vedea Sect. 3.10.1 pentru un exemplu numeric.
3.8 Gradieni conjugai pentru mai multe probleme generale
S lsm A s fie numai pozitiv semidefinit, astfel nct funcia de cost f s fie
convex dar nu strict convex i s lsm problema minimizrii fr restricii (3.1) s
fie bine pus, adic b Im A prin Propoziia 2.1.
Dac pornim algoritmul gradientului conjugat de la arbitrarul x 0 n , atunci
n
0
gradientul g0 i spaiul Krylov K A, g satisfac
g Im A si K n A, g 0 Im A
0
n
0
Avnd n vedere c metoda CG alege direciile conjugate din K A, g , rezult c
A, g
0
e A 2
k
k A 1
k A 1
(3.39)
k
0
e A
Dac A este nedefinit, atunci, folosind argumentele din Sect. 3.2, se poate
verifica uor dac metoda gradientului conjugat genereaz nc direcii conjugate,
ca n
1 0 1
0
0 1 1
Rezult c nu exist nicio garanie c Algoritmul CG 3.1 poate, cel puin fr
modificri, s gseasc un punct staionar al lui f.
1,1
V u H 1 W : u 0 pe GU
2 W
Astfel putem defini problema continu cu privire la identificarea
min f L U
1
UV
(3.40)
Reperul nostru prost condiionat a fost obinut din (3.40) prin discretizarea cu
element finit folosind o gril regulat definit de parametrul de discretizare h i
elemente liniare. Condiiile Dirichlet au fost lrgite n Hessianul A L,H al funciei de cost
nxx
discretizate fL,h, astfel nct AL ,h
s fie pozitiv definit, n = p(p 1), i p = 1/h +
1. n plus, AL,H este cunoscut drept prost condiionat cu numrul de condiionare
k AL ,h h 2 . Calculele au fost efectuate cu h = 1/32, ceea ce corespunde lui n =
1056 necunoscute.
Am folosit reperul pentru a compara performana CG, CG cu precondiionare
SSOR, i CG cu precondiionarea prin proiector conjugat. Pentru a defini proiectorul
conjugat, am descompus domeniul n ptrate de 4x4 cu variabile care de obicei sunt
8x8 care au fost agregate prin matricea U cu 16 coloane.
Graficul normei gradientului (ax vertical) funcie de numrul de iteraii pentru
algoritmul CG de baz (CG), algoritmul CG cu precondiionarea SSOR (CG-SSOR),
iar algoritmul CG cu precondiionarea prin proiectorul conjugat (CG-CP) este
reprezentat n Fig. 3.5. Putem vedea c dei performana algoritmului CG este slab
dac Hessianul funciei de cost este prost condiionat, poate fi considerabil
mbuntit prin precondiionare.
iteraii
Fig. 3.5. Convergena CG, CG-SSOR, i algoritmilor CG-CP
3.10.2 Demonstraia numeric a optimalitii
Pentru a ilustra conceptul optimalitii, s considerm categoria de probleme pentru
a minimiza
1
T
f LW ,h x xT ALW ,h x bLW
,h x
2
unde
ALW ,h AL ,h 2 I , bLW ,h i 1, i=1,...,n,
n=1/h+1
Categoriei de probleme i se poate da o interpretare mecanic asociat
expansiunii sistemelor de suspensie pe modelul lui Winkler. Folosind teorema lui
Gershgorin, se poate dovedi c spectrul Hessianului ALW,h al fLW,h se afl n intervalul
[2,10], astfel nct k ALW ,h 5
.
In Fig. 3.6 putem vedea numerele iteraiilor CG k n (ax vertical) care au fost
necesare pentru a reduce norma gradientului cu 10 -6 pentru problemele cu
dimensiunea n ncadrate de la 100 la 1000000. Dimensiunea n de pe axa orizontal
este n scala logaritmic. Putem vedea c kn variaz uor o dat cu varierea lui n, n
acord cu teoria dezvoltat n Sect. 3.5. n plus, avnd n vedere c costul nmulirilor
matrice-vector este n cazul nostru proporional cu dimensiunea n a matricei ALW,h,
rezult c costul soluiei este de asemenea proporional cu n.
3.11 Comentarii i concluzii
Dezvoltarea metodei gradientului conjugat a fost precedat de metoda direciilor
conjugate [92]. Dac direciile conjugate sunt generate printr-o descompunere
adecvat a matricelor, metoda poate fi considerat variant a metodelor directe din
Sect. 1.5 (a se vedea, de ex., [169]).
De cnd a fost lansat n prima parte a anilor 1950 de ctre Hestenes i
Stiefel [117], au fost efectuate multe cercetri referitoare la dezvoltarea metodei CG,
astfel nct exist multe referine referitoare la acest subiect. Pentru cititorii interesai
facem trimitere la manualele i monografiile de cercetare realizate de Saad [163],
van der Vorst [178], Greenbaum [106], Hackbusch [110], Chen [21], i Axelsson [4]
pentru informaii suplimentare. O relatare extins a dezvoltrii metodei CG pn n
anul 1989 se poate regsi n lucrarea realizat de Golub i OLeary [102]. Majoritatea
cercetrilor se concentreaz asupra dezvoltrii i analizei precondiionatorilor.
Precondiionarea prin proiectorul conjugat prezentat n Sect. 3.7 a fost iniiat
de Dostal [39]. Aceeai precondiionare cu analiz diferit a fost prezentat
independent de Marchuk i Kuznetsov [150] precum gradieni conjugai n subspaiu
sau metoda generalizat a gradientului conjugat i de Nicolaides [154] precum
metoda deflaiei.
Identificnd n fiecare etap minimul subspaiului generat de toate direciile de
cutare anterioare, metoda gradientului conjugat exploateaz toate informaiile
colectate n timpul iteraiilor anterioare. Pentru a folosi aceast caracteristic n
algoritmii pentru rezolvarea problemelor cu restricii, este important s se genereze
secvene nentrerupte lungi ale iteraiilor gradientului conjugat. Aceast strategie
susine de asemenea exploatarea altei caracteristici unice a metodei gradientului
conjugat, anume capacitile de auto-precondiionare care au fost descrise de van
der Sluis i van der Vorst [168]. Cea din urm proprietate poate fi de asemenea
descris sub aspectul precondiionrii de proiectorul conjugat. ntr-adevr, dac Q k
indic proiectorul conjugat pe complementul conjugat V al U Span p1 ,... pk , atunci
se poate da limita pe rata de convergen a metodei gradientului conjugat pornind de
T
la xk 1 sub aspectul numrului regulat de condiionare kk k Qk AQk | V al