Documente Academic
Documente Profesional
Documente Cultură
Top Part 2
Top Part 2
>
=
=
=
=
=
=
T
=
2
1
0
0
1
1
j pentru d d a a
j pentru a
b
d
d
a
j
i
j j j j
j
j
j
n
j i
i i
j j
j
j
j
j
b
b
d =
noile directii sunt:
4. Salt pas 2
Algoritmi optimizare M-Dim nederivativi
Comparatie intre metode f(x
1
, x
2
)=( x
1
3 )
4
+ ( x
1
3 x
2
)
2
Cautare
ciclica
25 pasi
Algoritmi optimizare M-Dim nederivativi
Comparatie intre metode f(x
1
, x
2
)=( x
1
3 )
4
+ ( x
1
3 x
2
)
2
Pas de
accelearre
9 pasi
Algoritmi optimizare M-Dim nederivativi
Comparatie intre metode f(x
1
, x
2
)=( x
1
3 )
4
+ ( x
1
3 x
2
)
2
Rosenbrock
6 pasi
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
Metoda se bazeaza pe modificarea succesiva a unui simplex din spatiul
variabilelor de control, care se restrange si converge catre optim.
Se defineste un simplex in spatiul R
n
, un set de n+1 puncte:
{ x
i
}
i = 1,n+1
Obs.: (a) NU trebuie confundata aceasta metoda cu metoda SIMPLEX pentru
optimizarea problemelor definite prin n functii obiectiv liniare de n variabile.
(b) Din punct de vedere geometric, un simplex corespunde unui hiper-poliedru
in spatiul n-dimensional
In R
2
avem
un triunghi
In R
3
avem
un tetraedru
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
Vrfurile simplexului { x
1
, ..., x
n
, x
n+1
} sunt indexate in ordinea
crescatoare a functiei obiectiv, deci:
f ( x
1
) s f ( x
1
) s ... s f ( x
n
) s f ( x
n+1
)
Se calc. centroidul primelor n varfuri (se exclude pct. cel mai prost):
=
=
n
i
i c
x x
1
1
n
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
Se definesc 4 operatii prin care se incearca modificare simplexului,
a.i. sa cuprinda valori mai bune (mici):
(A) reflexia punctului x
n+1
fata de
centroidul x
c
x
r
= x
c
+ o (x
c
x
n+1
)
Scalarul o > 0 se numeste factor de reflexie (usual o = 1 )
Daca f ( x
1
) s f ( x
r
) s f ( x
n
)
atunci x
n+1
se inlocuieste cu x
r
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
(B) expansiune punctului x
n+1
fata de centroidul x
c
Daca f ( x
r
) < f ( x
1
)
Reflexia este mai buna decat cel mai bun
punct al simplexului, se incearca o cautare
mai departara pe aceeasi directie
x
e
= x
c
+ (x
r
x
c
)
Scalarul > 1 se numeste factor de expansiune (usual 2.8 s s 3 )
Daca f ( x
e
) s f ( x
r
) atunci x
n+1
se inlocuieste cu x
e
Altfel ( f ( x
e
) > f ( x
r
) si f ( x
r
) < f ( x
1
))
x
n+1
se inlocuieste cu x
r
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
(C) contractia punctului x
n+1
fata de centroidul x
c
Daca f ( x
n+1
) > f ( x
r
) > f ( x
n
)
Reflexia este buna, insa se incearca o cautare
pe aceeasi directie intr-o vecinatate mai apropiata
(*) x
t
= x
c
| (x
n+1
x
c
)
Altfel
Daca f ( x
r
) > f ( x
n+1
)
Reflexia nu aduce imbunatatire a simplexului
se incearca o cautare pe aceeasi directie intr-o
vecinatate mai apropiata, insa in partea opusa a
centroidului
(**) x
t
= x
c
+ | (x
n+1
x
c
)
Scalarul 0 < | < 1 se numeste factor de contractie (usual 0.4 s | s 0.6 )
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
Deciziile:
(*) Daca f ( x
t
) < f ( x
r
) atunci
x
n+1
se inlocuieste cu x
t
Altfel
x
n+1
se inlocuieste cu x
r
(**) Daca f ( x
t
) < f ( x
n+1
) atunci
x
n+1
se inlocuieste cu x
t
Altfel
pas / modificare (D)
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
(D) Reducerea simplexului
Verificare conditie STOP
Daca NU este verificata cond STOP atunci
se contracta tot simplexul in jurul punctului x
1
x
i
= x
1
o (x
i
x
1
) pt. i=1,n+1
Scalarul 0 < o < 1 se numeste factor de reducere (usual o =0.5 )
Algoritmi optimizare M-Dim nederivativi
Algoritmul Nelder-Mead
Conditie STOP (multe posibilitati)
Daca s < c atunci STOP
Altfel
Se continua modificarea simplexului
prin reluarea pasilor (A)-(D)
+
=
+
=
1
1
1
n
i
i
x f
1 n
+
=
+
=
1
1
2
) ) ( (
1
n
i
i
f x f s
1 n
Algoritmi optimizare M-Dim nederivativi
Algoritmi optimizare M-Dim nederivativi
Algoritmi optimizare M-Dim derivativi
Structura algoritmilor este la fel: se determina directii de
descrestere pe care se inainteaza
Teorema: O directie p este o directie de descrestere pentru o
functie obictiv f intr-un punct x daca proiectia gradientului
pe directia p in punctul respectiv este negativa.
Dem.:
Dezv. in serie Taylor:
f( x + p ) = f( x ) + g( x )
T
p +
f( x + p ) f( x ) = g( x )
T
p
Pentru a avea o directie de descrestere trebuie ca: f( x + p ) < f( x )
Deci: g( x )
T
p < 0; cum: >0, rezulta: g( x )
T
p < 0
Algoritmi optimizare M-Dim derivativi
Met. Southwell, Bromberg, Synge din Tehnici de optimizare.doc !
Metoda gradientului negativ
Se alege directia de descrestere
p = g(x)
Algoritmul: x
k+1
= x
k
g(x
k
)
unde scalarul e (0, 1] este constant
Discutie dupa (Tehnici de optimizare.doc pag 87)
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
(Steepest descent, Optimal gradient)
Se doreste gasirea celei mai bune metode de descrestere, se aplica o
tehnica de tip Greedy: optimizarea locala a parametrilor:
(a) Directia de descrestere cea mai buna (cea mai mare) este:
p = g(x) = V f(x)
(b) Pasul de inaintare cel mai bun (care conduce la valoarea cea mai
mica) este dat te optimizarea 1D a functiei obictiv f pe directia de
cautare p:
f(* ) = min
f( x + p )
Dem (a): pp. avansare pe o directie de descrestere oarecare d. Atunci viteza de
descrestre in punctul x este data de
d x f
x f d x f
d x f ) (
) ( ) (
lim ) , ( '
0
T
V =
+
=
+
=
+
+
+
=
+
=
= k
k k k
k k k
k k k
k
k k k
d
d
d
df
d
df
d
df
k
) (
) (
) ( ) ( g x
g x
g x g x
0 ) (
1
= = V =
+
+ =
k
T
k k
T
k k k
f g g g x
g x x
0
1
=
+ k
T
k
g g
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
f(x) = 0.5 x
1
2
+ 2.5 x
2
2
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
Convergenta:
pp. o functie patratica de forma:
unde: Q este o matrice simetrica pozitiv definita
Functia f are derivata: si, optimul:
Functia f se poate rescrie:
unde s-a definit functie eroare
Obs.: este o constanta pozitiva , deci:
f(x) si E(x) au acelasi optim si f(x) < E(x)
b x x x x
T
- Q f
T
2
1
) ( =
b x
1 *
= Q
*
T
* *
T
* * *
x Q x - x x Q x - x x x x x
2
1
2
1
2
1
) ( ) ( E ) - ( Q ) - ( f
T
= =
*
T
*
x Q x
2
1
b x x) g - Q ( =
) - ( Q ) - ( E
T * *
x x x x x
2
1
) ( =
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
Convergenta (cont.):
Optimizarea 1D a functiei f() = f( x
k
g(x
k
) ), unde:
Cond. de optim este:
Care conduce la solutie:
b x g x x g x x g x x g x
T
k k k k k k k k
)) ( ( )) ( ( )) ( (
2
1
)) ( ( = Q f
T
) ( Q ) (
) ( ) (
T
T
k k
k k
k
x g x g
x g x g
=
0 =
=
k
d
df
=
k
T
k
k
T
k k
T
k
k
T
k
Q
Q Q
2 1
2
) (
4
A a
aA
) Q ( ) Q (
) (
T T
T
+
>
x x x x
x x
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
Convergenta (cont.):
Cum:
Rezulta:
De la aceasta relatie se ajunge la: (TEMA: aratati cum ?)
2
2
) (
4
1
|
.
|
\
|
+
=
+
a A
a A
A a
aA
) ( ) (
2
1 k k
E
a A
a A
E x x
|
.
|
\
|
+
s
+
) ( ) (
2
1 k k
f
a A
a A
f x x
|
.
|
\
|
+
s
+
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
Convergenta (cont.):
Concluzie: in cazul functiilor patratice, metoda steepest descent
converge liniar cu o rata de convergenta mai mica de
Obs.: (a) convergenta este cu atat mai lenta cu cat curbele de nivel
constant ale lui f sunt mai excentrice (asimetrice)
(b) pentru cazul in care aceste sunt cercuri (a=A), convergenta
se face intr-un singur pas
(c) chiar daca n - 1 valori proprii sunt egale, dar una singura
este la mare distanta de ele, convergenta este lenta
2
|
.
|
\
|
+
a A
a A
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
Convergenta (cont.):
Toate aceste concluzii/observatii se aplica doar functiilor patratice.
Cu toate acestea vom extinde aceste proprietati si la functii
nepatratice folosind in locul matricii Q Hessianul functiei obiectiv
evaluat intr-un punct solutie .
Concluzie: Fie f : R
n
R , fe C
2
avand un minim local in x*. Pp. ca
Hessianul are cea mai mica valoare proprie a > 0 si cea mai mare
valoare proprie A > 0. Daca { x
k
} este un sir generat de metoda
celei mai abrupte pante care converge la x*, atunci f(x
k
) converge
la f(x*) liniar cu o rata de convergenta mai mica sau egala cu
2
|
.
|
\
|
+
a A
a A
Algoritmi optimizare M-Dim derivativi
Metoda celei mai mari (abrupte) descresteri (Cauchy)
Convergenta (cont.):
Viteza de convergenta nu este mare, depinde de forma functiei
obiectiv si de punctul initial.
Principalul dezavantaj este deplasarea
pe directii ortogonale (in zig-zag), ceea
ce face metoda foarte lent convergenta
in vecinatatea punctului de optim.
Generic se accepta ca algoritmul converge suficient de rapid in
zonele departate de punctul de optim.
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (Conjugate Gradient Methods)
Se incearca imbunatirea vitezei de convergenta prin inlaturarea
avansarii pe directii ortogonale (zig-zag), utilizand alte directii
de cautare.
Directii conjugate: un set de vectori {d
i
} se numesc conjugate in
raport cu o matrice A (A-conjugate), daca
d
i
T
A d
j
= 0 pentru orice i = j
Teorema: Pentru o matrice A simetrica si pozitiv definita, orice set de
n directii A-conjugate dintr-un spatiu n-dim. sunt si liniar
independente
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (Conjugate Gradient Methods)
Pentru inceput se considera cazul functiilor patratice:
matricea Q este simetrica si pozitiv definita
Gradientul este:
Optimul respecta ecuatia de anulare a gradientului:
c Q f
T
+ + = b x x x x
T
2
1
) (
b x x x) g + = V = Q f ( ) (
0 b * x x*) g = + = Q (
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (cont.)
Fiind date: un punct initial x
0
si
un set de directii Q-conjugate {d
0
, d
1
, , d
n-1
},
atunci se pot determina constantele
i
astfel incat sa se realizeze
descompunerea:
Dem.: relatia de mai sus se inmulteste la stanga cu d
j
T
Q, rezulta:
=
+ =
1 - n
0 i
i 0
d x x*
i
|
=
+ =
1 - n
0 i
i 0
d d x d x* d
i
T
j
T
j
T
j
Q Q Q |
j
T
j
T
j
T
j
Q Q d d x d b d
j 0
+ = |
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (cont.)
De unde rezulta constantele:
Formula demonstrata anterior determina valorea de optim intr-un
singur pas, printr-un calcul global, care impune cunoasterea
tuturor directiilor de cautare si a pasilor de avansare pe fiecare
directie in acelasi timp.
Ne intereseaza dezvoltarea unui algoritm iterativ pentru determinarea
optimului folosind directii conjugate, in care sa calculam si sa aplicam
pe rand fiecare directie si pas de inaintare
j
T
j
j
T
j
T
j
j T
j
Q Q
Q
d d
d x g
d d
d
x b
0
0
=
+ =
) (
) ( |
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (cont.)
Astfel, pentru o functie patratica
daca alegem: un punct initial x
0
si
un set de directii Q-conjugate {d
0
, d
2
, , d
n-1
},
se doreste un algoritm interativ in care se fac pasii succesivi de
optimizare: x
k+1
= x
k
+ o
k
d
k
Pasii de intaintare o
k
se fac prin optimizare 1D pe directia d
k
a
functiei: f(o ) = f( x
k
+ o
d
k
)
Prin anularea derivatei in raport cu o se obtine:
c b x x x x
T
+ + = Q f
T
2
1
) (
0 ) (
1
= V =
+
=
k
T
k
f
d
df
k
x d
o o
o
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (cont.)
Tinand cont de:
Si ca: x
k+1
= x
k
+ o
k
d
k
Rezulta: d
k
T
(b + Q(
x
k
+ o
k
d
k
) ) = 0
Deci:
Care este legatura intre o
k
si
|
k
???
Reamintim:
b x x + = V
+ + 1 1
) (
k k
Q f
k
k
k
k
k k
Q Q
Q (
d d
d g
d d
d
x b
T
k
T
k
T
k
=
+ = ) o
k
k
k
Q d d
d g
T
k
T
0
= |
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (cont.)
Astfel, prin cumularea pasilor facuti succesiv la ultimul algoritm, se la
pasul k se obtine deplasarea totala, relativa la punctul initial :
relatia de mai sus se transpune si se inmulteste la dreapta cu Q d
k
,
rezulta:
Deci: = 0
=
+ =
1 - k
0 i
i 0 k
d x x
i
o
k 0
1 - k
0 i
k i k 0 k k
d x d d d x d x = + =
=
Q Q Q Q
T
i
T T
o
d d
d
x b
d d
d g
T
k
T
k
T
k
=
+ =
=
k
k
T
k
k
k
k
Q
Q (
Q
) o
k
k
k
k
k
T
Q Q
Q ( | =
=
+ =
d d
d g
d d
d
x b
T
k
T
0
T
k
)
0
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (cont.)
Cum am obtinut ca o
k
= |
k
, rezulta ca dupa n pasi facuti cu
algoritmul iterativ se obine valoarea de optim:
Concluzii: (a) Aplicarea metodelor de gradient conjugat pentru cazul
functiilor obiectiv patratice, conduce la determinarea valorii de optim
in n pasi, daca calculele se fac exact (se spune ca se utilizeaza o
aritmetica exacta = nu se fac erori de rotunjire, erori de reprezentare
numerica, etc.)
(b) Teorema de Expandare a Subspatiilor: Coeficientii
din descompunere in raport cu un set de directii Q-conjugate
corespunde pasilor de inaintare obtinuti prin optimizare 1D pe aceleasi
directii, indiferent de pctul initial x
0
* x d x d x x
1 - n
0 i
i 0
1 - n
0 i
i 0 n
= + = + =
= =
i i
| o
Algoritmi optimizare M-Dim derivativi
Metode de gradient conjugat (cont.)
(c) Se observa ca g
k
T
d
i
= 0 pentru i < k, ceea ce arata ca
la fiecare pas, gradientul curent este liniar independent fata de
(ortogonal pe) directiile conjugate anterioare. Ceea ce ofera o metoda
de generare a directiilor conjugate in raport cu directiile anterioare:
La pasul k se evalueaza gradientul negativ si se adauga unei
combinatii liniare de directii precedente pentru a obtine o noua
directie conjugata de-a lungul careia se face deplasarea.
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati
Se aplica functiilor patratice
Algoritm:
1. Initializare x
0
2. Calculeaza: directia initiala de cautare: d
0
= - g( x
0
)
Obs.: primul pas este echivalent cu Steepest Descent
3. Pentru k = 0, 1, 2, .
k
T
k
k
T
k
Q d d
d g
k
=
c b x x x x
T
+ + = Q f
T
2
1
) (
Algoritmi optimizare M-Dim derivativi
Metoda liniara a gradientilor conjugati (cont)
x
k+1
= x
k
+
k
d
k
d
k+1
= - g
k+1
+ |
k
d
k
pana la convergenta ( ex. || g
k
|| < c )
Varianta (Oara):
2
2
1
1 1
k
k
k
T
k
k
T
k
g
g
g g
g g
k
+
+ +
=
= |
k
T
k
k
T
k
Q
Q
d d
d g
k
=
+1
|
Algoritmi optimizare M-Dim derivativi
Metoda liniara a gradientilor conjugati
Se doreste eliminarea estimarii gradientului la fiecare pas printr-o
formula de calcul recurent:
Se aplica functiilor patratice
La fiecare pas se caluleaza val. reziduala:
care trebuie sa tinda catre zero.
Algoritm:
1. Initializare x
0
2. Calculeaza: reziduul initial:
directia initiala de cautare: d
0
= r
0
) ( ) x g b x r = + = (Q
c b x x x x
T
+ + = Q f
T
2
1
) (
) (Q ) ( b x x g r
0 0 0
+ = =
Algoritmi optimizare M-Dim derivativi
Metoda liniara a gradientilor conjugati (cont)
3. Pentru k = 0, 1, 2, .
x
k+1
= x
k
+
k
d
k
r
k+1
= r
k
-
k
Q d
k
d
k+1
= r
k+1
+ |
k
d
k
pana la convergenta ( ex. || r
k
|| < c )
2
2
1
1 1
k
k
k
T
k
k
T
k
r
r
r r
r r
k
+
+ +
=
= |
k
T
k
k
T
k
Q d d
d r
k
=
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Aproximarea patratica
La fiecare pas se face o aproximare patratica a functiei obiectiv,
adica matricea Q se inlocuieste cu Hessianul H
k
= H( f( x
k
) )
Cand se aplica problemelor nepatratice, metodele GC nu se vor
termina dupa n pasi si atunci avem urmatoarele posibilitati:
Continuam sa gasim directii conform algoritmului GC pana cand
un anumit criteriu de oprire este indeplinit;
Algoritmul se opreste dupa n (sau n+1) pasi si se restarteaza cu un
pas de metoda de gradient (cea mai abrupta panta). criteriu de
oprire este indeplinit; se continua pana la convergenta
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Aproximarea patratica. ALGORITM
1. Initializare x
0
2. Calculeaza: directia initiala de cautare: d
0
= - g( x
0
)
Obs.: primul pas este echivalent cu Steepest Descent
3. Pentru k = 0, 1, 2, .
x
k+1
= x
k
+
k
d
k
k k
T
k
k
T
k
H d d
d g
k
=
2
2
1
1 1
k
k
k
T
k
k
T
k
g
g
g g
g g
k
+
+ +
=
= |
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Aproximarea patratica. ALGORITM
d
k+1
= - g
k+1
+ |
k
d
k
pana la convergenta ( ex. || g
k
|| < c )
Varianta (Oara):
Avantaje: Nu sunt necesare cautari unidimensionale la nici un pas;
Algoritmul converge intr-un numar finit de pasi pentru o
problema patratica.
Dezavantaje: Hessianul H
k
trebuie evaluata la fiecare pas (O(n
2
));
Algoritmul nu este global convergent.
k k
T
k
k k
T
k
H
H
d d
d g
k
=
+1
|
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Metode care nu se bazeaza pe evaluarea Hessianul
In cazul anterior evaluarea Hesianului este necesara pentru calcularea
pasului
k
.
Eliminarea acestei operatii se poate face prin obtinerea pasului
k
printr-o cautare 1D, echivalenta conform teoriei dem. anterior.
Mai mult, ne asteptam ca prin aceasta tehnica rezultatele sa fie mai
bune, atat timp cat formula era dedusa pentru cazul functiilor patratice
si dorim sa o aplicam pentru functii nepatratice
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Metode care nu evaluaza Hessianul. Algoritm general
1. Initializare x
0
2. Calculeaza directia initiala de cautare: d
0
= - g
0
3. Pentru k = 0, 1, 2, .
Calculeaza
k
prin optimizarea 1D a functiei f() = f( x
k
+
d
k
)
x
k+1
= x
k
+
k
d
k
Calculeaza |
k
d
k+1
= - g
k+1
+ |
k
d
k
pana la convergenta ( ex. || g
k
|| < c )
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Metode care nu evaluaza Hessianul. Algoritm general
Exista mai multe formule de calcul a coeficientului |
k
(toate formulele
sunt echivalente pentru functia patratica)
Fletcher-Reeves
PolakRibiere
Sorenson Wolfe (Beale, Hestenes, Stiefel)
k
T
k
k
T
k
g g
g g
k
=
+ + 1 1
|
k
T
k
k k
T
k
g g
g g g
k
=
+ +
) (
1 1
|
) (
) (
1
1 1
k k
T
k
k k
T
k
g g d
g g g
k
=
+
+ +
|
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Metoda Fletcher-Powell
Foloseste o metoda actualizare (iterativa) a unei matrice care in final
converge la inversul Hessianul functiei obiectiv din punctul de optim.
1. Initializare x
0
, F
0
orice matrice pozitiv definita (de ex. I
n
)
2. Pentru k = 0, 1, 2, .
d
k
= - F
k
g(x
k
)
Calculeaza
k
prin opt. 1D a functiei f() = f( x
k
+
d
k
)
o
k
=
k
d
k
x
k+1
= x
k
+ o
k
F
k+1
= F
k
+ A
k
+ B
k
Algoritmi optimizare M-Dim derivativi
Metoda gradientilor conjugati pt functii nepatratice
Metoda Fletcher-Powell
unde: y
k
= g
(x
k+1
) - g
(x
k
)
Obs.:
(1) Pentru orice k matricea F este pozitiv definita.
(2) Pentru cazul functiei obiectiv patratice directiile d
k
sunt F-
conjugate , conducand astfel la solutia de optim in n pasi
(3) sirul de matrice { F
k
} converge catre inversul matricei Hessiene;
pentru cazul patratic, dupa n pasi: F
n
= H
-1
( f( x* ))
k
T
k
T
k k
A
y
k
=
k
T
k
T
k k
B
y F y
F y y F -
k
k k
k
=
Algoritmi optimizare M-Dim derivativi
Metode de tip Newton. (Metode de derivata a II-a)
Metoda clasica
Se face aproximarea functiei obiectiv prin seria Taylor trunchiata la
termenul de gradul 2
n care H( x
k
) reprezint hessianul funtiei obiectiv f( x
k
) evaluat n x
k
Conditia de optim pentru aproximarea ptratic este:
Daca H( x
k
) este inversabila, atunci solutia de optim pentru
aproximarea patratica, care devine urmatorul punct de aproximare,
este:
) )( ( ) (
2
1
) )( ( ) ( ) ( ) (
k k k k k k
H f f q f x x x x x x x x x x x + V + = ~
T T
0 ) )( ( ) ( ) ( = + V = V
k k k
H f q x x x x x
) ( ) (
1
1 k k k k
f H x x x x V =
+
Algoritmi optimizare M-Dim derivativi
Metode de tip Newton. Metoda clasica
Observatii:
1. Daca functia obiectiv este patratica, atunci optimul se gaseste intr-
un singura iteratie (pas)
2. Daca pe parcursul etapelor intermediare procesului de optimizare
apare situatia unei matrice hessien H( x
k
) care nu poate fi inversate
atunci procesul de optimuizare se blocheaza. Trebuie gasite alte solutii
pentru continuarea procesului.
3. Complexitatea calculului este O(n
3
), data de necesitatea inversarii
hessianului, mult mai mare decat in cazul metodelor de gradient
negativ.
4. Volumul de memorie necesat este O(n
2
), mai mare decat in
majoritate metodelor de gradient negativ
Algoritmi optimizare M-Dim derivativi
Metode de tip Newton. Metoda clasica
Observatii:
5. Dac hessianul este lipschitzian ntr-o vecintate a optimului, atunci
metoda Newton are o convergen ptratic.
6. Daca hessianul H( x
k
) nu este pozitiv definit, atunci directia de
cautare fie nu exista, fie nu este o directie de descrestere. In acest caz
se inlocuieste hessianul cu o aproximare care respecta conditia de
pozitiv definit
7. Domeniul de convergen este mai redus fa de tehnicile de
gradient. Metoda funcioneaz mai bine n apropierea punctului de
optim. De aici si ideea combinarii celor e metode: aplicarea metodei
steepest descent in zona departata de optim si aplicarea metodei
Newton in apropierea punctului de optim
Algoritmi optimizare M-Dim derivativi
Metoda Newton discreta. (met. Gauss-Newton) !!
Metoda Newton clasica = metoda pur matematica, performantele sala
sunt obtinute teoretic, intr-o aritmetica exacta.
In practica, apar erori de calcul, de aproximari si de reprezentare in
memoria calculatorului, care fac ca metoda sa nu mai aiba aceleasi
performante.
De asemenea, in situatiile in care nu exista acces direct la valorile
gradientilor si a matricelor hessiane, acestea sunt aproximate. Astfel,
de exemplu, coloanele matricei hessiene H( x
k
) se aproximeaza:
unde: i = 1 n, e
i
versorul in directia i
| | ) ( ) (
1
~
k i i k
i
x g e x g h
i
+ =
+ =
k k
Algoritmi optimizare M-Dim derivativi
Metoda Newton discreta.
Alta problema apare cand gradientul are valori foarte mici (inevitabil
in zona de optim el tinde catre zero) cand numaratorul este foarte mic
si apar erori la operatia de impartire a doua valori foarte mici
Concuzie
In situatie calcului numeric, metoda Newton discreta tinde catre o
convergenta patratica pentru
I
tinzand catre zero, insa performantele
sunt suboptimale. Astfel ca, de exemplu, pentru o functie patratica
este posibila o convergenta in mai mult de 1 pas (cat ar trebui sa fie
teoretic)
Algoritmi optimizare M-Dim derivativi
Metode de tip Newton modificate
Metoda Newton nu este neaprat convergent. Unul dintre motive ar fi
c matricea hessiana H( x
k
) estimata local este singular n x
k
i prin
urmare nu poate fi determinata solutia Newton x
k+1
cu care sa
continuam algoritmul de optimizare.
O alta situatie (relativ similara) este cand, desi se poate determina H
-1
in punctul x
k
, rezulta f( x
k +1
) > f( x
k
) (TEMA: Explicati cand??)
In astfel de situatii, cand algoritmul Newton clasic are probleme de
continuare, se pot folosi variante MODIFICATE, in se incearca
evitarea problemelor mentionate mai sus (si nu numai).
Algoritmi optimizare M-Dim derivativi
Metode de tip Newton modificate
A. Metoda Newton modificata, cu cautare liniara
In cazul in care functia obiectiv nu este patratica, punctul curent de
aproximare este departe de solutia de optim, ne asteptam ca
aproximarea de gradul doi a functiei obiectiv sa fie grosiera (cu
eroare mare), iar aplicarea unui pas Newton clasic poate conduce la un
urmator punct cu probleme d.p.v. al convergentei. In aceasta situatie, o
solutie care inlatura macar partial problemele posibile este:
a) pastrarea directie de inaintare data de solutia Newton,
b) avansarea cu un pas determinta printr-o optimizare 1D
Astfel:
unde :
k
se determina prin optimizarea 1-D (line search) a functiei
. obiectiv pe directia
Obs.: In cazul fct. patratice, se va obtine
k
=1, adica metoda clasica
) (
1
1 k k k k k
f H x x x
V =
+
) (
1
k k
f H x V
\
|
= |
.
|
\
|
= V
2 0
0 2
4
2
H f
Algoritmi optimizare M-Dim derivativi
Metoda Newton modificata. Exemplu (cont.):
Alegerea unei constate
c = 3 (>2) conduce la
matricea
obtinand directia de
cautare:
d = B
1
f =
=(2/5, 4)
T
Obs.: , este directia obt.
prin metoda
Steepest Descent
|
.
|
\
|
=
1 0
0 5
B
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
O noua abordare a problemei gasirii unor metode intermediare intre
metoda celei mai abrupte pante si metoda lui Newton. Acestea sunt
din nou motivate de dorinta de a accelera convergenta tipic lenta a
metodei celei mai abrupte pante in paralel cu evitarea evaluarii,
memorarii si inversarii Hessianului cerute de metoda lui Newton.
Ideea principala aici este sa folosim o aproximatie a inversei
Hessianului in locul inversei exacte.
Aceasta metode sunt cele mai sofisticate metode disponibile.
Analiza convergentei este relativ complicata si ne vom rezuma doar la a prezenta
principalele caracteristici.
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Se scrie dezvoltarea in serie Taylor pentru gradient:
g
k+1
= g
k
+ H
k
(x
k+1
x
k
)
Se noteaza: q
k
= g
k+1
g
k
si p
k
= x
k+1
x
k
Rezulta: q
k
= H
k
p
k
(numita ecuatia secantei)
sau: H
k
-1
q
k
= p
k
Aceasta relatie arata ca diferenta de gradient dintre 2 puncte
consecutive furnizeaza informatie referitoare la matricea hessiana.
Aceasta informatie va fi folosita pentru determinarea unei relatii
recurente de aproximare succesiva a hessianului SAU a inversei
hessianului in punctul de optim.
Vom presupune sirul de aproximari { B
k
} ale inversei H
k
-1
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Daca matricea hessiana ar fi constanta, atunci ecuatia secantei trebuie
respectata pentru toate directiile anterioare, adica:
Conditiile Quasi-Newton: B
k+1
q
i
= p
i
pentru 0 s i s k
Aceste conditii sunt necesare, insa pentru cazul n-dim NU si suficiente
pentru determinarea matricei de aproximare B
k+1
Sistemul de ecuatii obtinut are mai multe necunoscute decat conditii
impuse, deci este un caz de nedeterminare, prin urmare exista o
infinitate de solutii.
Obs.: numai pentru cazul 1-dim. exista solutie unica, aceasta conducand la metoda
secantei.
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
In final trebuie sa cautam o relatie de recurenta de tipul:
B
k+1
= B
k
+ U
k
(q
k
, p
k
, B
k
)
in care: U(q
k
, p
k
, B
k
) este o matrice de actualizare/corectare a matricei
B
k
de la pasul anterior, si care, confort ecuatiei secantei, depinde de
variatia de gradient q
k
, deplasarea variabilelor de control p
k
si matricea
curenta B
k
Reamintim ca matricea hessiana H
k
, respectiv inversa sa H
k
-1
, sunt
matrice simetrice si prin urmare, pornind cu o matrice initiala
simetrica, toate matricele de actualizare U
k
trebuie sa fie simetrica.
Avand in vedere situatia de nedeterminare, solutiile se vom detrmina
impunand anumite constrangeri suplimentare:
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda matricei simetrice de rang 1 (SR1 - Symmetric Rank 1)
O prima metoda se obtine prin impunerea conditiei ca matricea de
actualizare sa fie de rang 1, adica poate fi scrisa ca produs de doi
vectori:
U
k
= u
k
v
k
T
din conditia de simetrie, rezulta ca cei doi vectori trebuie sa fie egali:
U
k
= o
k
v
k
v
k
T
Deci se cauta o formula de recurenta de forma:
B
k+1
= B
k
+ o
k
v
k
v
k
T
Aceasta formula trebuie sa respecte ecuatia secantei:
p
k
= B
k+1
q
k
= B
k
q
k
+ o
k
v
k
v
k
T
q
k
Cum inca sistemul este nedeterminat, alegem in mod convenabil:
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda matricei simetrice de rang 1 (SR1 - Symmetric Rank 1)
Alegem in mod convenabil: o
k
v
k
T
q
k
= 1 , adica :
Situatie in care ecuatia anterioara se rescrie:
p
k
= B
k
q
k
+ v
k
Din care se determina: v
k
= p
k
B
k
q
k
Astfel relatia de actualizare a metodei SR1 este:
Obs.: Aceasta formula de actualizare pastreaza pozitivitatea doar daca:
q
k
T
(p
k
B
k
q
k
) > 0
k
T
k
q v
k
1
= o
k
T
k k k
T
k k k k k k
k
SR
k
) B (
) B ( ) B (
B B
q q p
q p q p
+ =
+
1
1
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda Davidon FletcherPowell ( DFP )
(Metoda de metrica variabila)
Este o procedura de corectie de rang 2, deci matricea de actualizare va
fi suma a doua matrice de rang1, in plus se tine cont si de conditia de
simetrie, in final obtinandu-se relatia de actualizare:
B
k+1
= B
k
+ o
k
v
k
v
k
T
+ |
k
u
k
u
k
T
Se verifica ecuatia secantei:
p
k
= B
k+1
q
k
= B
k
q
k
+ o
k
v
k
v
k
T
q
k
+ |
k
u
k
u
k
T
q
k
Fiind inca in situatie de nedeterminare, alegem convenabil:
o
k
v
k
T
q
k
= 1 si |
k
u
k
T
q
k
= 1
Adica:
k
T
k
q v
k
1
= o
k
T
k
q u
k
1
= |
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda Davidon FletcherPowell ( DFP )
(Metoda de metrica variabila)
Dupa alegerea scalarilor o
k
si |
k
ecuatia secantei se rescrie:
p
k
= B
k
q
k
+ v
k
u
k
Alegem convenabil: v
k
= p
k
si rezulta: u
k
= B
k
q
k
Deci formula de actualizare a metodei DFP :
k
T
k
T
k k
k
T
k
T
k k
k
DFP
k
B
B B
B B
q q
q q
q p
p p
k
k k
+
+ =
+1
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda Davidon FletcherPowell ( DFP )
Proprietatile metodei DFP
Daca B
k
> 0 , atunci B
k+1
> 0
Daca f este functie patratica, deci Hessianul H este constant, atunci
metoda DFP produce directii p
k
care sunt Hconjugate. Daca
metoda executa n pasi, atunci B
n
= H
-1
.
Deoarece p
k
sunt Hortogonali si deoarece minimizam f succesiv
de-alungul acestor directii, observam ca procedura este de fapt o
metoda de gradienti conjugati (Fletcher-Powell) si conform
proprietatilor acestei metode, procesul iterativ converge exact in n
pasi.
p
0
, p
1
, ..., p
k
sunt vectori proprii corespunzatori unor valori proprii unitare
pentru matricea B
k+1
H. Acesti vectori proprii sunt liniar independenti deoarece
sunt Hortogonali si prin urmare B
n
= H
-1
.
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda BroydenFletcherGoldfarbShanno ( BFGS )
Presupunand ca dorim determinarea unui set de matrice { H
k
} care
care sa convearga la hessianul , putem scrie ecuatia secantei:
q
k
= H
k+1
p
k
(
*
)
Sau echivalent: H
k +1
-1
q
k
= p
k,
renotata: B
k+1
q
k
= p
k,
(
**
)
unde { B
k
} este sirul de matrice convergent la inversa hessianului H
-1
Se observa ca prima
(
*
)
si a treia
(
**
)
relatie sunt practic
echivalente cu schimbarile de notatie:
H
k+1
B
k+1
p
k
q
k
q
k
p
k
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda BroydenFletcherGoldfarbShanno ( BFGS )
Prin urmare solutia de aproximare cu matrice de rang 2 a matricei
hessiane inverse (DFP):
Conduce (prin schimbarea de notatie anterioara) la solutia de
aproximare cu matrice de rang 2 a matricei hessiene
k
T
k
T
k k
k
T
k
T
k k
k
DFP
k
B
B B
B B
q q
q q
q p
p p
k
k k
+
+ =
+1
k
T
k
T
k k
k
T
k
T
k k
H
H H
H H
p p
p p
p q
q q
k
k k
k 1 k
+
+ =
+
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda BroydenFletcherGoldfarbShanno ( BFGS )
Cum aproximarea hessianului nu este utila in calcularea
solutiei/pasului Newton, se va determina inversa acestei aproximari
folosind formula ShermanMorrison :
Se obtine astfel o noua formula de aproximare a inveresei
hessianului cu o matrice de corectie de rangul 2, numita formula
BroydenFletcherGoldfarbShanno ( BFGS ) (TEMA: calcul
detaliat!)
| |
a b 1
b a
b a
+
= +
1
1 1
1
1
A
A A
A A
T
T
T
k
T
k
T
k k
T
k k
k
T
k
T
k k
k
T
k
k k
T
k
BFGS
k
B B B
B B
p q
p q q p
q p
p p
p q
q q
k k
k
|
|
.
|
\
|
+ + =
+
1
1
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Metoda BroydenFletcherGoldfarbShanno ( BFGS )
Proprietati. Observatii.
Formula BFGS poate fi folosita in mod identic cu formula DFP;
Cele doua formule sunt teoretic echivalente, fiind formule de
aproximare a inveresi hessianului cu matrice de corectie de
rangul 2
Experimente numerice au indicat ca performantele BFGS sunt
superioare formulei DFP;
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Familia de functii Broyden. Metoda Broyden.
Ambele formule DFP si BFGS contin corectii de rang 2 simetrice ce se
construiesc din vectorii p
k
si B
k
q
k
.
Prin urmare o combinatie liniara ponderata a acestor formule va fi de
acelasi tip (simetrica, rang 2, construita pe baza lui p
k
si B
k
q
k
),
obtinandu-se o colectie de formule de actualizare a inversei
hessianului, numita familia de functii Broyden:
B
|
= ( 1 | ) B
DFP
+ | B
BFGS
Algoritmi optimizare M-Dim derivativi
Metode de tip Quasi-Newton.
Familia de functii Broyden. Metoda Broyden.
O metoda Broyden este definita ca o metoda quasiNewton in care la
fiecare iteratie un membru al familiei Broyden este folosit ca formula
de actualizare. In general, parametrul | variaza de la o iteratie la alta si
prin urmare trebuie sa specificam sirul |
1
, |
2
, care determina
functia Broyden la fiecare pas.
O metoda Broyden pura foloseste un | constant. Deoarece B
DFP
si
B
BFGS
satisfac ecuatia sencatei, atunci aceasta relatie este satisfacuta de
toti membrii familiei Broyden.
Obs.: Metodele DFP si BFGS sunt si ele cazuri (particulare) de
metode Broyden pure ( | = 0 , respectiv | = 1 )
Algoritmi optimizare M-Dim derivativi
Algoritmul Quasi-Newton
1. Initializare x
0
, B
0
, matrice simetrica pozitiv definita (usual I
n
)
2. Pentru k = 0,1, 2,
2.a. Calculeaza directia de inaintare: s
k
= B
k
g
k
2.b. Determina pasul de inaintare prin optimizare 1D a functiei
f( ) = f( x
k
+ s
k
)
2.c. Calculeaza: q
k
= g
k+1
g
k
, p
k
= x
k+1
x
k
2.d. Folosind una dintre formulele de actualizare (SR1, DFP,
BFGS, Broyden, ) se calculeaza:
B
k+1
= B
k
+ U
k
(q
k
, p
i
, B
k
)
3. Pana la convergenta (ex.: daca || g
k
|| < c atunci STOP)
Obs.: Metodele Quasi-Newton au convergenta superliniara (<N, >SD)
In practica pot aparea probleme de convergenta (de ex. DFP este sensibil
la exactitatea determinarii pasului de inaintare din optimizarea 1D)
Algoritmi optimizare M-Dim derivativi
Metode partiale de tip Quasi-Newton
Metodele de tip Quasi_Newton pot fi restartate la fiecare m+ 1 < n
pasi, obtinandu-se metode partiale de tip quasiNewton.
Pentru m mic, acestea necesita memorie modesta intrucat aproximatia
inversei Hessianului poate fi memorata implicit prin memorarea
vectorilor p
i
si q
i
, i < m + 1.
In cazul patratic aceasta corespunde exact cu metoda partiala de
gradienti conjugati si are proprietati similare de convergenta.
Algoritmi optimizare M-Dim derivativi
Metode Quasi-Newton fara memorie
O simplificare a metodei quasiNewton (ex. BFGS) este aceea in care
B
k+1
este actualizat folosind I
n
in locul lui aproximarii anterioare B
k
.
Astfel B
k+1
este determinat fara referinta la precedentul B
k
si prin
urmare actualizarea se numeste fara memorie.
Algoritm:
1. Initializare x
0
2. Pentru k = 0, 1, 2,
2.a. B
k
= I
n
2.b. Calculare directie de inaintare: d
k
= B
k
g
k
2.c. Minimizare 1D a functiei f( x
k
+d
k
) in raport cu > 0
(trebuie ales
k
suficient de precis pentru a asigura p
k
T
q
k
> 0,
unde p
k
=
k
d
k
si q
k
= g
k+1
g
k
).
Algoritmi optimizare M-Dim derivativi
Metode Quasi-Newton fara memorie
3. Daca s-a det. optimul (ex.: || g
k
|| < c) atunci STOP, altfel:
3.a. Daca k nu este multiplu de n atunci calculam
k = k +1 salt la pasul 2.b.
3.b. Daca k este multiplu de n atunci salt la pasul 2.a.
k
T
k
T
k k
T
k k
k
T
k
T
k k
k
T
k
k
T
k
k
I B
p q
p q q p
q p
p p
p q
q q
n
|
|
.
|
\
|
+ + =
+
1
1
Algoritmi optimizare M-Dim derivativi
Metode Quasi-Newton fara memorie
Daca introducem formula de actualizare de la 3.a. in formula
determinarii directiei de cautare de la 2.b. se obtine:
Daca fiecare cautare unidimensionala este exacta, atunci p
k
T
g
k+1
= 0
si prin urmare p
k
T
q
k
= p
k
T
g
k
si prin urmare formula de mai sus se
poate rescrie:
Cum: p
k
=
k
d
k
k
T
k
T
k k
T
k k
k
T
k
T
k k
k
T
k
k
T
k
k
p q
g p q g q p
q p
g p p
p q
q q
g d
1 k 1 k 1 k
1 k
+
+
|
|
.
|
\
|
+ =
+ + +
+ +
1
1
k
T
k
T
k
k
q p
g q p
g d
1 k k
1 k
+ =
+
+ +1
k
1 k
1 k
d
q d
g q
g d
+ =
+
+ +
k
T
k
T
k
k 1
Algoritmi optimizare M-Dim derivativi
Metode Quasi-Newton fara memorie
Formula se poate rescrie:
unde :
Corespunzand algoritmului de gradienti conjugati Sorenson Wolfe
(Beale, Hestenes, Stiefel), cu care astfel am demonstrat ca este
echivalent metoda Quasi-Newton BFGS fara memorie, in care
optimizarea 1D este exacta
) (
) (
1
1 1
k k
T
k
k k
T
k
g g d
g g g
k
=
+
+ +
|
k 1 k k
k
1 k
d g d
q d
q g
g d + =
+ =
+
+
+ + k
k
T
k
T
k
k
|
1
1
Algoritmi optimizare M-Dim derivativi
Metode Quasi-Newton fara memorie
Se poate extinde aceasta idee si pentru obtinerea unei formule de
actualizare Broyden fara memorie, de forma:
Obs.: Aceasta metoda este echivalenta cu metoda de gradienti
conjugati doar pentru | = 1, corespunzand actualizarii BFGS
k
1 k
k
1 k
1 k
p
p q
g q
q
q q
g q
g d
+ =
+ +
+ +
k
T
k
T
k
k
T
k
T
k
k
| |) 1 (
1
Algoritmi optimizare M-Dim derivativi
Metoda Newton trunchiata.
In cazul functiilor obiectiv nepatratice, metoda Newton se aplica
repetitiv. De aceea, la fiecare pas de aproximare NU este nevoie sa se
determine o solutie Newton exacta (cu eroare foarte mica), atat timp
cat aceasta oricum se calculeaza pe o aproximare patratica (care
implica o eroare) a functiei obiectiv.
Astfel, la cautarea pe directia p
k
, se introduce o valoare reziduala
r
k
= || H
k
p
k
+ g
k
||, care in cazul solutiei optime trebuie sa fie zero, insa
pentru eficientizarea calcului, se accepta o aproximare in limita:
r
k
= || H
k
p
k
+ g
k
|| < q || g
k
||, cu qe (0,1]