Documente Academic
Documente Profesional
Documente Cultură
x2
xn
x1
2-1
ntr-un punct x1, gradientul f ( x 1 ) indic direcia n care, pornind din punctul x1, are
loc cea mai abrupt cretere a funciei criteriu f(x).
De fapt, orice vector n-dimensional p poate servi ca direcie n spaiul n . Astfel, dac
se d punctul x n i direcia p (cu p 0 ), atunci punctul
y = x+ p
(2.5)
pentru variaii ale scalarului ntre 0 i descrie o raz care pornete din punctul x pe
direcia p, iar pentru variaii ale scalarului ntre i + descrie toat dreapta care trece
prin x i coincide cu direcia p.
Importana gradientului pentru optimizare rezid i n faptul c pentru o anumit
direcie dat p, produsul scalar
< f x , p > = f xT p
(2.6)
exprim viteza de variaie a funciei f de-a lungul direciei p. Astfel, n analiza matematic se
demonstreaz c pentru o funcie f(x) derivabil n punctul x are loc relaia [Cl79]
f ( x + p) f ( x)
= f xT p ,
(2.7)
lim
0
(2.8)
atunci exist > 0 astfel nct pentru orice valoare 0 < se obine
f ( x + p) > f ( x) ,
(2.9)
deci pe direcia p are loc creterea funciei criteriu i apropierea de maxim. Astfel, din (2.7) i
(2.8) se obine
f ( x + p) f ( x)
(2.10)
lim
>0
0
i din definiia limitei rezult c trebuie s existe > 0 astfel nct pentru orice 0 i
cuprins ntre i + s se obin
f ( x + p) f ( x)
> 0.
(2.11)
Se constat c dac se aleg valori pozitive care verific inegalitatea (2.11), relaia (2.9) este
demonstrat. Toate direciile care satisfac condiia (2.8) asigur creterea funciei f(x) i deci
apropierea de maxim.
Expresiile (2.8) i (2.9) atest faptul c gradientul indic totdeauna spre maxim; n
punctul maxim x * , gradientul este nul, deci:
f ( x * ) f ( x * ) = 0 .
(2.12)
Relaia (2.8) arat c unghiul dintre vectorii fx i p trebuie s fie mai mic de 90.
Dac n locul maximizrii unei funcii concave, optimizarea urmrete minimizarea unei
funcii criteriu convexe f(x), atunci direciile p trebuie alese dintre direciile care asigur
condiia
< f x , p > = f xT p < 0
(2.13)
ntruct n acest caz se va obine
f ( x + p ) < f ( x) ,
(2.14)
2-2
(2.15)
2
x1 x 2
x1 x n
2x1
2 f
2 f
f
L
(2.16)
H ( x) f ( x) f xx = x x
x2 xn
x 22
2 1
M
M
M
2M
2
2
f
f
f
L
x n x1 x n x 2
x n2
Calculul matricei f (x) - la fiecare iteraie a procesului de cutare a optimului - este
deosebit de laborios i de aceea cele mai multe dintre metodele folosite n practic evit acest
calcul.
n anumite probleme chiar determinarea gradientului poate fi sensibil mai complicat
dect determinarea valorii funciei (uneori gradientul nu poate fi exprimat analitic); n
asemenea cazuri, se prefer metodele de cutare direct, ilustrate n paragraful 2.5.
2.2. Metode de gradient
Ideea metodei gradientului, emis de A.L. Cauchy n secolul XIX [Cau47] se bazeaz
pe o aproximaie de ordinul I, liniar, f ( x) L a dezvoltrii n serie Taylor pentru funcia
criteriu f (x) . O asemenea aproximaie pentru dezvoltarea n jurul unui punct de maxim x *
are aspectul
f ( x) L = f ( x * ) + f ( x * ) T ( x x * ) ,
(2.17)
unde s-a folosit notaia f (x) pentru gradient.
Dezvoltarea complet n serie Taylor a funciei criteriu f (x) n jurul lui x * conduce la
expresia
1
f ( x) = f ( x* ) + f ( x* )T ( x x* ) + ( x x* )T f ( x* )( x x* ) + O[( x x* )3 ] , (2.18)
2
unde prin f"(x) s-a notat matricea Hessian din (2.16), iar restul O[( x x * ) 3 ] grupeaz toi
2-3
(2.19)
(2.20)
(2.22)
n punctele de maxim sau minim prima variaie este nul - avnd n vedere condiia de
staionaritate (2.12) - i (2.21) devine
1
J = x T f ( x * ) x + O[x 3 ] ,
(2.23)
2
termenul preponderant n aceast expresie reprezentnd-o doua variaie:
1
(2.24)
2 J = x T f ( x * ) x .
2
Pentru ca punctul x * s asigure un maxim al funciei criteriu este necesar ca a doua
variaie s fie negativ - ntruct, conform cu (2.19), J < 0 asigur relaia f ( x) < f ( x * )
care definete un maxim n punctul x * - deci este necesar condiia:
1
2 J = x T f ( x * ) x < 0 .
(2.25)
2
Ca urmare, valorile proprii ale matricei Hessian trebuie s fie negative.
n practic se folosesc diferite variante de metode de gradient. Una din cele mai
utilizate este aa numita metod a celei mai mari pante sau a celei mai abrute coborri, n
ipoteza c optimul cutat este un minim. Aceast metod pornete de la ideea de a adopta n
relaia x k +1 = x k + k p k (2.15), o direcie p dat de
p = f x f (x)
(2.26)
ntruct astfel se asigur n mod simplu satisfacerea condiiei (2.13) de deplasare spre minim,
deoarece rezult
n
f xT p = f xT f x = f x2i < 0
(2.27)
i =1
2-4
(2.30)
deci, pentru a obine din (2.30) relaia (2.26), care definete metoda celei mai mari pante, este
necesar ca pentru Fk s se adopte matricea unitate.
Pentru asigurarea relaiei (2.13), matricea simetric Fk - determinat la fiecare iteraie trebuie s satisfac anumite condiii.
Compararea diverselor variante de metode de gradient, din punct de vedere al eficienei,
ca i compararea diferitelor categorii de metode de calcul, reprezint o problem dificil. n
primul rnd, compararea se poate efectua numai pe baza unuia sau mai multor criterii, iar n
practic este necesar considerarea simultan a mai multor criterii, dintre care unele conduc la
rezultate contradictorii.
Criteriile cele mai frecvent utilizate pentru aprecierea unei metode de calcul se refer la
precizia rezultatelor, viteza de convergen a procedeului iterativ, timpul de calcul, volumul
necesar de memorie a calculatorului. Primele dou criterii - precizia i viteza de convergen sunt cele mai importante, dar ele nu pot permite o ordonare univoc a tuturor metodelor de
calcul, ntruct estimarea vitezei de convergen a unei metode rmne valabil numai pentru
o clas de probleme, dar nu i pentru altele. De aceea este indicat ca proiectantul de optimizri
s dispun de un bagaj ct mai vast de metode de calcul i de rezultate concrete obinute n
aplicarea fiecrei metode la anumite clase de probleme.
n cadrul procesului iterativ (2.15), alegerea direciei p k determin viteza de convergen, iar alegerea pasului k influeneaz puternic volumul de calcul la fiecare iteraie.
2.3. Metode Newton
(2.33)
(2.34)
2-5
p k = [ f ( x k )]1 f ( x k )
se obine o deplasare ctre punctul optim x * .
Astfel, presupunnd deocamdat c n (2.15) se adopt
k = 1,
(2.36)
(2.37)
(2.35)
(2.38)
2-6
pi A p j = 0
(2.44)
y = i pi
(2.45)
i =1
y 1 = x1 + i p i .
(2.46)
i =1
Pentru variaii arbitrare ale scalarilor i se obine o varietate liniar m-dimensional, rezultat
din translarea subspaiului m-dimensional.
Dac m = n - i acesta este cazul care prezint cel mai mare interes - atunci punctul x1 i
cele n direcii A-conjugate genereaz o varietate n-dimensional care coincide cu n , ntruct
vectorii celor n-direcii A-conjugate sunt liniari independeni.
Se poate demonstra [Bri05] c dac se adopt o funcie criteriu ptratic, atunci
maximul (sau minimul) funciei pe varietatea menionat, care coincide cu n , poate fi
determinat numai n n pai, verificnd cte o singur dat fiecare din cele n direcii Aconjugate, ordinea verificrii fiind indiferent.
Construirea direciilor conjugate pentru minimizarea unei funcii ptratice a fost
propus de W.C. Davidon [Cl79], care a elaborat "algoritmul cu metric variabil", ideea
fiind dezvoltat de R. Fletcher i M.J.D. Powel [Cl79], rezultnd metoda de calcul cunoscut
sub denumirea "algoritmul Davidon-Fletcher-Powell" (DFP).
Algoritmul propus de Davidon a introdus o metric variabil n relaiile iterative ale
metodei celei mai mari pante, n locul expresiei (2.28) fiind folosit relaia
x k +1 = x k k S k f ( x k ) ,
(2.47)
unde matricea Sk, de dimensiune n n este actualizat la fiecare iteraie printr-o relaie
recursiv. Se constat c dac n locul matricei Sk din (2.47) s-ar introduce matricea unitate, se
obine (2.28). De fapt, n algoritmul lui Davidon se noteaz
d k +1 = k S k f ( x k ) ,
(2.48)
iar formula recursiv pentru obinerea matricei Sk, care asigur construirea direciilor
conjugate, are aspectul
T
S k = S k 1
S k 1 q k q k S k 1
(2.49)
q k S k 1 q k
2-7
unitate.
Din (2.43), (2.47), (2.48) i (2.49) se constat c algoritmul DFP construiete la fiecare
iteraie o aproximaie a matricei Hessian, bazat pe informaia obtinut prin intermediul
gradientului. La fiecare iteraie se alege pentru k valoarea care minimizeaz funcia
f [ x k S k f ( x k )] ,
(2.50)
p k +1 = f ( x k +1 ) +
f ( x k +1 ) T f ( x k +1 ) k
p ,
f ( x k ) T f ( x k )
(2.51)
< f ( x i ), f ( x j ) > = 0
(2.52)
Metodele de cutare direct (sau metodele directe) pot oferi numai soluii aproximative
ale problemelor de optimizare, dar n schimb asigur convergena pentru orice punct ales
iniial, n timp ce metodele care folosesc gradientul, matricea Hessian sau o aproximaie a
acesteia asemenea metode sunt denumite uneori metode indirecte pot oferi soluii exacte,
dar necesit un punct iniial bine ales.
n cazul metodelor indirecte, folosirea indicaiilor date de gradient (sau de gradient i de
matricea Hessian), de exemplu, pentru determinarea unui maxim, poate fi comparat cu o
ascensiune spre un vrf de munte care este vizibil n timpul urcuului, iar folosirea metodelor
directe poate fi considerat analoag cu o ascensiune n condiii de lips de vizibilitate a
vrfului (de exemplu pe cea), cnd singurele informaii de care dispune cel care caut vrful
se refer la sesizarea faptului c urc sau coboar [Cl79].
Ilustrarea metodelor directe poate fi uor fcut prin intermediul unei funcii de o
singur variabil f(x), variabila x fiind deci scalar; o asemenea cutare a extremului este
denumit "de-a lungul unei drepte" (n limba engleza, "along a line"), deoarece variabila x ia
2-8
I n 1/ 2n / 2
(2.56)
Alte metode de cutare de-a lungul unei drepte (de exemplu, metoda Fibonacci i
metoda seciunii de aur) au o eficien sensibil superioar, reducerea intervalului iniial fiind
mai rapid [Ray73].
Metodele de cutare de-a lungul unei drepte au o importan deosebit i n cutarea
extremului unei funcii criteriu de variabil vectorial, ntruct dup alegerea direciei p k din
cadrul procesului iterativ (2.15), determinarea valorii k se efectueaz prin gsirea
extremului unei funcii de variabil
scalar de-a lungul direciei p k , f(x)
dup cum s-a ilustrat i prin (2.50).
ncercri de a organiza cutarea
direct a punctului de optim, fr
determinarea gradientului, au fost
fcute i n cazul funciilor criteriu de
2-9
x2
Kf
M
O
If
C4
Jf
K1
L1
O1
2 - 10
C2
C1
J1
x1
I1
0
C3
Fig. 2.2
2 - 11