Sunteți pe pagina 1din 50

Capitolul 5

METODA PASULUI DESCENDENT


n acest capitol vom prezenta metoda clasic de optimizare fr restricii
cunoscut ca metoda pasului descendent a lui Cauchy. Aceasta este metoda
fundamental de minimizare fr restricii. Virtual, orice metod de minimizare a
funciilor suficient de netede i are originea n metoda pasului descendent. Metoda
are caracteristici care sunt de dorit n cadrul algoritmilor de optimizare, i n acelai
timp este tarat de caracteristici care trebuie evitate n situaiile practice. De aceea
prezentarea i studiul acestei metode constituie o cale ideal de ilustrare a
metodelor moderne de minimizare fr restricii.
Metoda pasului descendent, sau nc a gradientului descendent a fost
proiectat de Cauchy, fiind una dintre multele contribuii ale acestuia n domeniul
matematicii. Esena metodei const n utilizarea unui model liniar al funciei de
minimizat, model dat de dezvoltarea Taylor de prim ordin. Pentru cele mai multe
situaii practice, metoda nu este o schem computaional de utilizat. Convergena
ei este liniar i cteodat mizerabil de lent.
Metoda pasului descendent prezentat n acest capitol este o metod
iterativ de primul ordin. ntr-adevr, estimaia soluiei de la o iteraie se calculeaz
pe baza estimaiei soluiei de la iteraia anterioar. ntotdeauna valoarea unei
scheme computaionale iterative de rezolvare a unei probleme de minimizare, i n
general a unei probleme oarecare, este msurat n termenii efortului de calcul
pentru obinerea irului de estimaii ale soluiei, rata de convergen a acestui ir, i
complexitatea calculului necesar obinerii soluiei.
Scopul capitolului este de a prezenta cu detalii i riguros matematic
metoda pasului descendent a lui Cauchy mpreun cu rezultatele teoretice
fundamentale privind convergena i complexitatea computaional a acestei
metode.
Capitolul se structureaz astfel. n prima parte prezentm algoritmul
pasului descendent, dup care prezentm metoda pasului descendent pentru funcii
ptratice. Importana funciilor ptratice rezid n faptul c pentru acestea lungimea
pasului de deplasare se poate calcula analitic i, ca atare, se pot prezenta rezultate
de complexitate. n continuare se prezint cu detalii i riguros matematic teoria
convergenei metodei pasului descendent, n care se arat c metoda este liniar
convergent. n finalul acestui capitol prezentm o serie de variante ale acestei
metode, care chiar dac pstreaz caracterul convergenei liniare, totui
mbuntesc procesul de cutare a optimului.

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

S considerm problema

min f ( x) ,

(5.0.1)

unde f : R R este o funcie de dou ori continuu difereniabil pe R n cu


n

domeniul dom f . Valoarea optim a acestei probleme o notm cu f * , adic

inf x f ( x) = f * . Deoarece f este difereniabil, atunci o condiie necesar pentru


ca punctul x * s fie soluia optim a lui (5.0.1) este:

f ( x * ) = 0 .

(5.0.2)

Condiia (5.0.2) se numete condiia necesar de optimalitate de primul ordin.


Punctele care satisfac (5.0.2) se numesc puncte staionare sau critice. Ca atare,
rezolvarea problemei (5.0.1) a fost redus la determinarea unei soluii pentru
(5.0.2), care, dup cum se vede, este un sistem algebric de n ecuaii n n variabile.
De obicei pentru rezolvarea problemei de optimizare (5.0.1) vom folosi o metod
iterativ, care genereaz un ir de puncte x 0 , x1 , , x k , dom f cu proprietatea
c f ( x k ) f * cnd k . Un astfel de ir cu aceast proprietate se numete
ir minimizant pentru (5.0.1). Astfel conceput, un algoritm care genereaz un ir
minimizant se oprete de ndat ce un anumit criteriu de oprire a iteraiilor este
ndeplinit. n analiza care urmeaz vom folosi criteriul referitor la apropierea
valorii funciei de minimizat fa de valoarea sa optim:

f ( xk ) f * ,

(5.0.3)
unde > 0 este o toleran specificat. Menionm faptul c n implementrile
curente se utilizeaz i alte criterii de oprire a iteraiilor, de exemplu, distana dintre
estimaiile variabilelor xk +1 xk 2 sau norma gradientului funciei de minimizat

f ( xk ) 2 sau f ( xk ) , de-a lungul iteraiilor.


Orice metod de optimizare neliniar cere specificarea unui punct iniial
x 0 cu care s se nceap calculele. Pentru consistena calculelor, punctul de plecare
trebuie s se afle n dom f i n plus mulimea de nivel constant:

S = { x dom f : f ( x ) f ( x 0 )}

trebuie s fie nchis. Impunerea condiiei de nchidere a mulimii S asigur


eliminarea posibilitii convergenei algoritmului ntr-un punct de pe frontiera lui
dom f . Dac dom f = R n , atunci condiia este satisfcut pentru orice x 0 .
Metoda pasului descendent este una din metodele fundamentale de
minimizare a funciilor difereniabile. Ne reamintim c un vector d este o direcie
descendent pentru o funcie f dac exist un > 0 astfel nct
f ( x + d ) < f ( x)
pentru
orice
(0, ) . n particular, dac

lim 0 ( f ( x + d ) f ( x)) / < 0 , atunci d este o direcie descendent. Metoda


pasului descendent se deplaseaz de-a lungul direciei d cu

d = 1 , care

METODA PASULUI DESCENDENT

minimizeaz limita de mai sus. Dac funcia

f este difereniabil, atunci

f ( x) / f ( x) este ntr-adevr direcia pasului descendent, sau nc a


gradientului descendent.

5.1. ALGORITMUL PASULUI DESCENDENT


Metoda pasului descendent a fost proiectat de
Cauchy nc din 1847 fiind repede admis ca
una dintre cele mai frecvent utilizate metode
de optimizare datorit mai ales uurinei de
utilizare pentru probleme de mici dimensiuni.
Totui odat cu dezvoltarea tehnicii de calcul
metoda a fost eclipsat de alte metode iterative
mult mai complicate din punct de vedere
algoritmic, dar mai eficiente computaional.
Importana metodei rezid n faptul c aceasta
furnizeaz conceptele i ideile fundamentale
ale metodelor de optimizare fr restricii.
Proprietatea pe care se bazeaz metoda este
urmtoarea. Presupunem c funcia f ( x) este
continuu difereniabil ntr-o vecintate a
punctului curent xk i gradientul este nenul,
adic g k f ( xk ) 0 .
Din dezvoltarea n serie Taylor:

Augustin Cauchy (1789-1857)

f ( x) = f ( xk ) + ( x xk )T g k + o ( x xk

observm c dac scriem x xk = d k , atunci direcia d k care satisface condiia

d kT g k < 0 realizeaz cerina fundamental de reducere a valorilor funciei, adic


f ( x) < f ( xk ) , se numete direcie descendent. Fixnd , atunci cu ct valoarea
d kT g k este mai mic (adic cu ct valoarea d kT g k este mai mare), cu att reducerea
valorilor funciei de minimizat va fi mai pronunat. Din inegalitatea CauchySchwartz d kT g k d k g k , rezult c d kT g k i atinge valoarea minim dac i
numai dac d k = g k . Deci g k este direcia metodei pasului descendent.
Schema iterativ a metodei pasului descendent este:
xk +1 = xk k g k ,
(5.1.1)
unde, dup cum tim, k este lungimea pasului. Deoarece metoda utilizeaz ca
direcie de deplasare gradientul cu semn schimbat, atunci aceasta se mai numete i

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

metoda gradientul descendent. Cu acestea algoritmul metodei pasului descendent


este urmtorul.
Algoritmul 5.1.1. (Algoritmul pasului descendent)
n
Pasul 1. Iniializare. Se consider un punct iniial x0 R , precum i tolerana
de terminare a iteraiilor algoritmului de minimizare 0 <
pune k = 0 .

1 . Se

Pasul 2.

Se calculeaz g k = f ( xk ) . Dac g k , atunci stop.

Pasul 3.

Se calculeaz lungimea pasului k utiliznd cutarea liniar exact

f ( xk k g k ) = min f ( xk g k ) ,
0

Pasul 4.

sau aproximativ.
Se pune xk +1 = xk k g k , se consider k = k + 1 i se continu cu
pasul 2.

Observm c algoritmul este extrem de simplu, implementarea lui fiind


imediat. n pasul 3 se poate utiliza fie cutarea liniar exact de-a lungul razei
{ xk g k , 0 }, fie cutarea liniar aproximativ (pe care le-am discutat n
capitolul 4). De cele mai multe ori n acest pas se utilizeaz cutarea liniar cu
backtracking. Dup cum vom vedea algoritmul este liniar convergent. De aceea n
pasul 2 se utilizeaz norma gradientului ca criteriu de oprire a iteraiilor. Dac
problema este de mari dimensiuni, atunci se poate utiliza norma infinit. Urmtorul
exemplu ilustreaz funcionarea i caracteristicile algoritmului pasului descendent.
Exemplul 5.1.1. Fie funcia

f ( x) = (0.5 + 0.5 x1 ) 4 x24 exp(2 (0.5 + 0.5 x1 ) 4 x24 )


a crei reprezentare grafic este ilustrat n figura 5.1.1a i 5.1.1b.

Fig. 5.1.1a. Reprezentarea funciei f .

Fig. 5.1.1b. Conturul funciei f .

Observm c dei funcia f este foarte neliniar, totui n domeniul [0, 2] [0, 2]
curbele de nivel constant ale acesteia sunt elipse alungite n direcia axei x1 .

METODA PASULUI DESCENDENT

Minimul local al funciei considerate se realizeaz n punctul x* = [1,1]T , n care


funcia are valoarea f * = 1 . S considerm acum punctul iniial x0 = [0.1, 0.8]T ,
atunci algoritmul pasului descendent cu backtracking furnizeaz o soluie n 48 de
iteraii. Evoluia erorii f ( xk ) f * , precum i a normei g k

sunt ilustrate n

figurile 5.1.1c i respectiv 5.1.1d.

Fig. 5.1.1c. Evoluia erorii f ( xk ) f * .

Fig. 5.1.1d. Evoluia normei g k 2 .

Observm c eroarea

f ( xk ) f * converge la zero aproximativ ca o serie

geometric, adic convergena este aproximativ liniar. n acest exemplu, eroarea

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

este redus de la 0.6348 la 106 n 20 de iteraii. Din figura 5.1.1c vedem c eroarea

f ( xk ) f * se reduce foarte pronunat n primele iteraii, dup care algoritmul


devine din ce n ce mai lent convergent. Aceasta este o caracteristic definitorie
pentru metoda pasului descendent.
Dac n cadrul algoritmului se utilizeaz cutarea liniar Wolfe, atunci
numrul de iteraii necesare obinerii soluiei este egal cu 13. n figurile 5.1.1e i
5.1.1f se arat iteraiile generate de algoritmul 5.1.1 echipat cu backtracking i
respectiv cu cutarea liniar Wolfe.

Fig. 5.1.1e. Iteraiile metodei pasului descendent cu backtracking.

Fig. 5.1.1f. Iteraiile metodei pasului descendent cu cutarea liniar Wolfe.

METODA PASULUI DESCENDENT

Vedem c o cutare liniar mai pretenioas este benefic. Totui, direcia pasului
descendent este numai local descendent. Pentru foarte multe probleme metoda
pasului descendent nu este de loc a pasului descendent, fiind foarte lent. Dei, aa
dup cum am spus metoda lucreaz bine n prima parte a procesului iterativ,
aceasta merge ctre soluie n zigzag. Cu ct graficul funciei de minimizat este mai
aproape de o vale ngust, cu att fenomenul de zigzag este mai pronunat.
Explicaia acestui fenomen este imediat. Deoarece n cutarea liniar exact se
realizeaz condiia g kT+1d k = 0 , atunci aceasta n metoda pasului descendent devine

g kT+1 g k = d kT+1d k = 0 . Aceasta arat c gradienii succesivi sunt ortogonali, adic


direciile succesive sunt ortogonale, ceea ce conduce la fenomenul de zigzag.
Deoarece cutarea liniar este inexact, vedem c n figurile 5.1.1e i 5.1.1f
direciile nu sunt ortogonale. Din acest punct de vedere vedem c cutarea liniar
cu backtracking este ceva mai departe dect cea dat de condiiile Wolfe. Cnd
punctul staionar este atins, g k devine din ce n ce mai mic. Atunci din
dezvoltarea Taylor

f ( xk g k ) = f ( xk ) g kT g k + o( g k ) ,
se vede imediat c termenul de ordinul unu g kT g k = g k

este foarte mic. Deci

reducerea funciei va fi mic. Acesta este principalul defect al metodei pasului


descendent. Clar, metoda nu se recomand pentru rezolvarea problemelor concrete.
Totui aceasta este important mai ales prin conceptele pe care le promoveaz,
tehnicile de demonstraie i mai ales prin posibilitile pe care le ofer pentru
proiectarea de metode eficiente de optimizare fr restricii. ntr-adevr, orice
modificare prin intermediul unei matrice pozitiv definite a direciei pasului
descendent conduce la direcii descendente. Aceasta arat faptul c avem o
multitudine de metode de minimizare, toate generate din metoda pasului
descendent. n continuare s vedem cum funcioneaz aceast metod pentru cazul
funciilor ptratice.

5.2. METODA PASULUI DESCENDENT PENTRU


FUNCII PTRATICE
n cele ce urmeaz vom prezenta o particularizare a acestor rezultate foarte
generale pentru cazul funciilor ptratice. Funciile ptratice joac un rol foarte
important n teoria i practica optimizrii. n primul rnd acestea deseori furnizeaz
o soluie analitic. n al doilea rnd acestea constituie foarte bune aproximaii
locale ale funciilor generale, care se pot utiliza n procesul de optimizare.
Fie funcia ptratic

f ( x) =

1 T
x Qx x T b,
2

(5.2.1)

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

unde Q R n n este o matrice simetric i pozitiv definit. Fie min i max valorile
proprii minim i maxim a matricei Q . Dup cum tim metoda direciilor
descendente definete un ir minimizant:
xk +1 = xk + k d k ,
(5.2.2)
unde d k este o direcie descendent care satisface

f ( x k ) T d k < 0,

(5.2.3)

astfel nct f ( xk + d k ) < f ( xk ) pentru valori mici ale lui . Pentru funcia
ptratic f de mai sus, valoarea lui care minimizeaz f de-a lungul liniei prin
x k n direcia d k se calculeaz analitic foarte simplu ca:

d kT rk
,
d kT Qd k
unde e k = x * x k este eroarea iteraiei x k fa de soluia optim x * , i
rk = Qek = b Qxk
este reziduul de la iteraia k.

(5.2.4)

(5.2.5)

n metoda pasului descendent

d k = f ( x k ) = rk .
Introducnd Q norma ca: x = x T Qx, atunci Q norma erorii este:

(5.2.6)

2
Q

ek +1

2
Q

= x* ( xk + k d k )
= ek

2
Q

2
Q

= ek k d k

2 k ekT Qd k + k2 d k

2
Q

2
Q

rkT rk T
(rkT rk ) 2 T
e
Qr
+
rk Qrk
k
k
rkT Qrk
(rkT Qrk ) 2

= ek

2
Q

= ek

(rkT rk ) 2
1

T
T 1
Q
rk Qrk rk Q rk
2

(5.2.7)

Pentru a demonstra convergena metodei pasului descendent avem nevoie de un


rezultat tehnic cunoscut ca inegalitatea lui Kantorovich:
Inegalitatea Kantorovich. Fie A o matrice simetric i pozitiv definit i fie
0 < min < max valorile proprii minim i respectiv maxim a acestei matrice.
Atunci:

4 min max
( y T y) 2
=
min T
.
1
T
y0 y Ayy A y ( min + max ) 2

Demonstraie. Observm c inegalitatea lui Kantorovici este invariant la scalarea


lui y. Deci este suficient s o demonstrm pentru vectori unitari. Fie deci

METODA PASULUI DESCENDENT

v1 , , v n o baz ortogonal din R n format din vectorii proprii ai matricei A


corespunztori valorilor proprii 1 , , n . Atunci
n

y = yi vi ,
i =1

astfel nct
n

y 2 = yi2 = 1,
2

i =1

yT Ay = yi2 i ,
i =1

y T A 1 y = y i2 i1 .
i =1

Deci demonstraia inegalitii lui Kantorovich se reduce la rezolvarea urmtoarei


probleme de optimizare cu restricii:

max g ( y ) = y T Ayy T A 1 y

referitor la:

(5.2.8)

h( y ) = y T y 1 = 0.
Maximul acestei probleme cu necesitate trebuie s satisfac condiia:

g ( y ) = h( y ),

unde este multiplicatorul Lagrange. Prin calcul direct obinem:

g
= 2 y i i y T A 1 y + 2 y i i1 y T Ay,
yi
h
= 2 yi .
yi

Deci din condiia necesar de mai sus obinem:

y i i y T A 1 y + y i i1 y T Ay = y i ,
sau

( i2 y T A 1 y i + y T Ay )

yi

= 0.

Expresia din parantez este o ecuaie ptratic n i , i poate fi zero numai pentru
cel mult dou valori proprii distincte. Deci, pot fi cel mult dou componente nenule
y i i y j . n acest moment mprind relaia de mai sus prin y i i egalnd
expresiile pentru indicii i i j obinem:

y i2 y 2j y i2 i + y 2j j
y i2 y 2j y i2 i + y 2j j
i + +
= j +
,
+
j
i
j
j
i
i
sau

i j

( i j ) 2
2
2
( y y ) + 2 = ( y j y i )
.
i j
j i

Deci y i2 = y 2j = 1 / 2, cu excepia cazului cnd i = j . Substituind aceste valori


n expresia lui g ( y ) din (5.2.8) obinem:
2
j

2
i

10

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

1 1 1 i
j
( i + j ) 2
1
( + j ) + = + 1 + 1 =
.
4 i
4 i j

i j 4 j
i
Dar expresia din mijlocul lanului de egaliti de mai sus arat c aceasta este
cresctoare n funcie de raportul i / j , cnd i > j . Deci considernd
i = max i j = min obinem inegalitatea Kantorovich.
Aplicnd acum inegalitatea lui Kantorovich membrului drept din (5.2.7) i
observnd c

4min max
(max min ) 2
=
,
(min + max ) 2 (max + min ) 2

obinem:

ek +1

max min
ek
max + min

1
ek
+1

unde = max / min este numrul de condiionare al matricei Q. Cu alte cuvinte,


convergena metodei pasului descendent pentru funcii ptratice este liniar.
Exemplul 5.2.1. S vedem funcionarea algoritmului pasului descendent pentru
funcia ptratic:

1 T
x Qx
2
unde Q = diag (1,2, , n) . Observm c Q este pozitiv definit i are valorile
proprii numerele ntregi pozitive de la 1 la n , deci numrul de condiionare n
norma euclidian este egal cu n , care este foarte mare. Pentru aceast funcie
f ( x ) = Qx i deci lungimea pasului de deplasare se calculeaz ca:
f ( x) =

k =

g kT g k
, unde g k = Qx k .
g kT Qg k

Dup cum am vzut, pentru aceast alegere optim a lui k algoritmul pasului
descendent are rata de convergen liniar:

xk x*

max min
xk 1 x* ,
Q
max + min
i max sunt valorile proprii minim i respectiv
Q

unde z Q = z T Qz , iar min


maxim a matricei Q. Soluia acestei probleme de minimizare este vectorul zero,
pentru care valoarea funciei este nul. Considernd n = 500 , = 106 i punctul
iniial x 0 =[ 0.5,0.5,

,0.5] , atunci algoritmul pasului descendent furnizeaz

urmtoarea evoluie a erorii

f ( xk ) f ( x* ) de-a lungul celor 3342 de iteraii

necesare obinerii unei soluii cu acurateea impus, figura 5.2.1.

METODA PASULUI DESCENDENT

11

Fig. 5.2.1. Evoluia erorii f ( xk ) f ( x ) pentru algoritmul


*

pasului descendent cu lungimea optim a pasului.

Vedem c acesta are un comportament liniar, mai ales n partea final a iteraiilor.
ntr-adevr, n acest caz, pentru valori mari ale lui n raportul

max min
max + min

tinde la 1, ceea ce justific convergena foarte lent a algoritmului.


Considernd acum matricea Q = diag (1,10) , atunci algoritmul pasului
descendent are comportarea ca n figurile 5.2.1a i 5.2.1b. n figura 5.2.1a se vede
evoluia pur liniar a algoritmului. Cutarea liniar fiind exact, traiectoria ctre
soluie este n zigzag n unghiuri drepte, ca n figura 5.2.1b.

Fig. 5.2.1a. Evoluia erorii f ( xk ) f ( x*) .

Fig. 5.2.1b. Iteraiile algoritmului.

Vedem c rata de convergen a algoritmului pasului descendent depinde de


raportul dintre cea mai lung ax i cea mai scurt ax a elipsoidului corespunztor

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

12

matricei Q . Cu ct acest raport este mai mare cu att convergena este mai lent.
Detalii asupra convergenei metodei pasului descendent pentru funcii ptratice
sunt date de urmtoarea teorem.
Teorema 5.2.1. Fie problema

minn f ( x)
xR

1 T
x Qx ,
2

(5.2.9)

unde Q este o matrice simetric, pozitiv definit cu min i max valorile proprii
minim i respectiv maxim. Fie x* soluia problemei (5.2.9). Atunci irul generat
de algoritmul pasului descendent converge la x* , rata de convergen este cel
puin liniar i urmtoarele relaii au loc:

f ( xk +1 ) f ( x* ) ( 1) 2 (max min ) 2
,

=
f ( xk ) f ( x* ) ( + 1) 2 (max + min ) 2
xk +1 x*
xk x
xk +1 x
xk x

1 max min
=
+ 1 max + min

(5.2.10)

(5.2.11)

max max min


1
=

+1
min max + min

(5.2.12)

unde = max / min .


Demonstraie. Considerm algoritmul pasului descendent xk +1 = xk k g k , unde

k =

g kT g k
, i g k = Qxk . Atunci
g kT Qg k
f ( xk ) f ( xk +1 )
=
f ( xk )

1
2

1
2

xkT Qxk ( xk k g k )T Q( xk k g k )
1
2

xkT Qxk

k g kT Qxk 2 k2 g kT Qg k
1
2

xkT Qxk

(g g )
=
( g Qg )( g Q
T
k

T
k

T
k

gk

Utiliznd inegalitatea Kantorovich obinem imediat

g kT g k )
(
min
f ( xk +1 )
4max min
,
= 1 T
= 1
= max
2
T 1
f ( xk )
( gk Qgk )( gk Q gk ) (max + min ) max + min
2

care este chiar (5.2.10).


Fie acum ek = xk x* . Deoarece Q este simetric i pozitiv definit, atunci

min ekT ek ekT Qek max ekT ek .

METODA PASULUI DESCENDENT

13

Deoarece x* = 0 , rezult c

xk x*

= ekT Qek = xkT Qxk = 2 f ( xk ) .

Acum utiliznd irul de inegaliti de mai sus rezult c pentru orice k 0


2

min xk x* 2 f ( xk ) max xk x* .
Din relaiile de mai sus obinem

min xk +1 x*
max xk x*

xk +1 x*

xk x

Q
* 2
Q

min
max
,
max + min

care furnizeaz (5.2.11) i (5.2.12).

5.3. TEORIA CONVERGENEI METODEI PASULUI


DESCENDENT
n cele ce urmeaz prezentm convergena global i rata de convergen local a
metodei pasului descendent. n finalul acestei seciuni ne ocupm de cazul
funciilor tare convexe.
Teorema 5.3.1. Fie funcia f : R n R continuu difereniabil. Atunci orice
punct de acumulare al irului

{ xk }

generat de algoritmului pasului descendent

5.1.1 cu cutare liniar exact este un punct staionar al funciei f .


Demonstraie. Fie x un punct de acumulare al irului { xk } i K o mulime infinit
de indici astfel nct lim kK xk = x . Considerm d k = f ( xk ) . Deoarece f este
continuu

difereniabil,

irul

{d k : k K }

este

uniform

mrginit

d k = f ( xk ) . Deoarece ipotezele teoremei 4.2.2 sunt ndeplinite, rezult c


2

f ( x ) = 0 , adic f ( x ) = 0 .
Teorema 5.3.2. Fie funcia f : R n R de dou ori continuu difereniabil pe

R n i 2 f ( x) M , unde M este o constant pozitiv. Fie punctul iniial x0 i


tolerana > 0 date. Atunci irul generat de algoritmului pasului descendent
5.1.1 satisface condiia de terminare dup un numr finit de iteraii, sau
lim k f ( xk ) = , sau lim k f ( xk ) = 0 .

14

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

Demonstraie. Considerm cazul infinit. Din algoritmul 5.1.1 i teorema 4.2.1


rezult c

f ( xk ) f ( xk +1 )

1
2
f ( xk ) .
2M

Atunci
k 1

1 k 1
2
f ( xi ) .

2M i =0
i =0
La limit obinem fie lim k f ( xk ) = , fie lim k f ( xk ) = 0 .
f ( x0 ) f ( xk ) = [ f ( xi ) f ( xi +1 )]

Urmtoarea teorem stabilete rata de convergena a metodei pasului descendent cu


cutare liniar exact.
Teorema 5.3.3. Fie funcia f : R n R care satisface ipotezele teoremei 4.2.4.
Dac irul generat de algoritmul pasului descendent 5.1.1 converge la x* , atunci
rata de convergena este liniar.
Demonstraia este o consecin direct a teoremei 4.2.4.
Rata de convergen a metodei pasului descendent pentru cazul funciilor generale
este stabilit de urmtoarea teorem.
Teorema 5.3.4. Fie funcia f : R n R de dou ori continuu difereniabil ntr-o
vecintate a lui x* cu f ( x* ) = 0 i Hessianul 2 f ( x* ) o matrice pozitiv
definit. Fie max i min valoarea proprie maxim, respectiv minim a lui

2 f ( x* ) care satisfac 0 < m min max M . Fie

{ xk }

irul generat de

algoritmul pasului descendent 5.1.1 convergent la x* . Fie

f ( xk +1 ) f ( x* )
= k .
f ( xk ) f ( x* )

(5.3.1)

Atunci, pentru orice k , k < 1 i

lim sup k
k +

M m
< 1.
M

Demonstraie. Din teorema 4.2.1 avem imediat

[ f ( xk ) f ( x* )] [ f ( xk +1 ) f ( x* )] = f ( xk ) f ( xk +1 )
1
2

f ( xk ) .
2M

Acum, utiliznd definiia lui k rezult c

(5.3.2)

METODA PASULUI DESCENDENT

15

(1 k )[ f ( xk ) f ( x* )]

1
2
f ( xk ) .
2M

Deci, din ipotezele teoremei obinem

k 1

f ( xk )

2M [ f ( xk ) f ( x* )]

<1.

(5.3.3)

Presupunem c

xk x*
d .
xk x*
Este clar c
2

f ( xk ) = xk x*

( f ( x )d
2

+ o(1)

f ( xk ) f ( x* ) =

1
xk x*
2

(d

2 f ( x* )d + o(1) ) .

Utiliznd inegalitile de mai sus obinem

lim

f ( xk )

f ( xk ) f ( x* )

2 2 f ( x* ) d

d T 2 f ( x* ) d

2m .

(5.3.4)

Deci, din (5.3.3) i (5.3.4) rezult c

lim sup k 1 lim inf


k

f ( xk )

2M [ f ( xk ) f ( x )]
*

m
< 1,
M

ceea ce completeaz demonstraia.


Margini asupra funciilor tare convexe. n cele ce urmeaz vom presupune c
funcia din (5.0.1) este tare convex pe S , ceea ce nseamn c exist constanta
m > 0 astfel nct pentru toi x S :
2 f ( x ) mI .
(5.3.5)
Impunerea acestei condiii are anumite consecine pe care le vom preciza imediat.
Observm c pentru x, y S are loc relaia:

1
f ( y) = f ( x ) + f ( x ) T ( y x ) + ( y x ) T 2 f ( z )( y x ) ,
2
unde z este un punct din segmentul [ x, y] . Ipoteza de convexitate tare (5.3.5)
determin ca ultimul termen din membrul drept al relaiei de mai sus s fie mrginit
2

de ( m / 2) y x 2 , astfel nct are loc inegalitatea:

f ( y ) f ( x ) + f ( x ) T ( y x ) +

m
2
yx 2,
2

(5.3.6)

16

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

valabil pentru toi x i y din S . Notm c dac m = 0 , atunci redescoperim


inegalitatea fundamental care caracterizeaz convexitatea. Pe de alt parte, dac
m > 0 , atunci obinem o margine inferioar mult mai bun asupra lui f ( y) dect
cea dat numai de simpla convexitate.
Inegalitatea (5.3.6), consecin direct a convexitii tari, se poate utiliza
pentru a obine margini att pentru valorile funciei de optimizat, f ( x ) f * , ct i
pentru valorile variabilelor problemei, x x *

Pentru nceput s artm cum inegalitatea (5.3.6) se poate utiliza pentru a


mrgini f ( x ) f * n termenii normei f ( x ) 2 . ntr-adevr, pentru x fixat,
membrul drept din (5.3.6) este o funcie ptratic convex. Anulnd gradientul n
raport cu y , atunci minimul acestei funcii este ~
y = x (1 / m)f ( x ) . Deci

m
2
yx 2
2
m
2
f ( x ) + f ( x )T ( y x ) +
yx 2
2
1
2
= f ( x)
f ( x ) 2 .
2m
Deoarece aceast inegalitate are loc pentru orice y S , rezult c:
1
2
f * f (x)
f ( x ) 2 .
2m
f ( y ) f ( x) + f ( x)T ( y x) +

(5.3.7)

Aceast inegalitate arat c dac gradientul ntr-un punct este mic, atunci acel
punct este lng soluia optim a problemei. Deci n virtutea lui (5.3.2) observm
c (5.3.7) se poate interpreta ca o condiie de suboptimalitate, care generalizeaz
condiia foarte tare de optimalitate (5.0.2), adic:

f ( x )

(2 m )1/ 2

f (x) f * .

(5.3.8)

Acum s vedem cum inegalitatea (5.3.6) se poate utiliza pentru a obine o


margine asupra lui x x *

, adic asupra distanei ntre x i punctul de optim

x * , n funcie de norma f ( x ) 2 . Pentru aceasta din (5.3.6) cu y = x * obinem:


2
m *
x x
2
2
2
m *
f ( x ) f ( x ) x * x +
x x ,
2
2
2
2
*
n care am aplicat inegalitatea Cauchy-Schwarz. Dar, deoarece f f ( x ) , rezult

f * = f ( x* ) f ( x) + f ( x)T ( x* x) +

c:

f ( x )

x* x

m *
x x
2

2
2

0,

METODA PASULUI DESCENDENT

17

de unde obinem imediat:

x x*

2
f ( x ) 2 .
m

(5.3.9)

Consecina direct a lui (5.3.9) este c punctul optimal x * este unic, ceea
ce era i cazul deoarece funcia de optimizat este presupus tare convex.
Convexitatea tare a lui f pe mulimea S determin c mulimile de nivel
constant coninute n S sunt mrginite, n particular S este mrginit. Deci
valoarea proprie maxim a Hessianului 2 f ( x ) , care este o funcie continu de x
pe S , este mrginit superior pe S , adic exist o constant M astfel nct pentru
toi x S :
2 f ( x ) MI .
(5.3.10)
Aceast margine superioar asupra Hessianului implic faptul c pentru orice x i
y din S are loc inegalitatea:

f ( y ) f ( x ) + f ( x ) T ( y x ) +

M
2
y x 2,
2

(5.3.11)

care este analog cu (5.3.6). Procednd n aceeai manier ca mai sus, adic
minimiznd n raport cu y ambii membri din (5.3.11) obinem:

f * f ( x)

1
2
f ( x ) 2 ,
2M

(5.3.12)

replica relaiei (5.3.7).


Cuplnd relaiile (5.3.7) i (5.3.12) obinem urmtoarea mrginire a valorii
funciei de optimizat ntr-un punct x :

1
f ( x )
2M

2
2

f ( x) f *

1
2
f ( x ) 2 ,
2m

care precizeaz suboptimalitatea lui x n termenii normei gradientului funciei n


punctul x .
Din inegalitatea de convexitate tare (5.3.5) i inegalitatea (5.3.10) obinem
c pentru toi x S :
mI 2 f ( x ) MI .
(5.3.13)
Raportul = M / m este astfel o margine superioar a numrului de condiionare
a Hessianului 2 f ( x ) , adic raportul dintre cea mai mare valoare proprie i
respectiv cea mai mic valoare proprie a acestuia.
Numrul de condiionare al mulimilor de nivel constant. n acest moment vom
introduce un concept care se dovedete a avea o importan foarte mare asupra
eficienei metodelor de optimizare fr restricii. Este vorba de numrul de
condiionare al unei mulimi (convexe) care are att o interpretare geometric ct i
una algebric foarte natural. n acest context putem da o interpretare geometric a
lui (5.3.13) n termenii mulimilor de nivel constant.

18

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

Pentru aceasta fie o mulime convex C R n . Definim limea n


direcia q a acesteia, unde q 2 = 1 , ca:

W (C, q) = sup q T z inf q T z .


zC
zC
Cu aceasta se poate defini limea minim, respectiv limea maxim a unei
mulimi convexe C ca:

Wmin = inf W (C, q) ,


q =1
2

Wmax = sup W (C, q) .


q =1
2

Cu aceste elemente se poate defini numrul de condiionare al unei mulimi


convexe C ca:

cond (C ) =

2
Wmax
,
2
Wmin

adic ptratul raportului dintre limea maxim i cea minim. Numrul de


condiionare al unei mulimi convexe d o msur a excentricitii, sau a
deformrii, acestei mulimi, adic a devierii acesteia de la o sfer. Dac numrul
de condiionare a unei mulimi convexe C este mic (apropiat de unu) atunci
aceasta nseamn c mulimea are aproximativ aceeai lime n toate direciile,
adic este aproape sferic. Dac, pe de alt parte, acest numr este mare, atunci
aceasta nseamn c mulimea este mai lat n anumite direcii dect n altele. Vom
considera imediat un exemplu semnificativ [Boyd i Vandenberghe, 2003].
Numrul de condiionare al unui elipsoid. Fie elipsoidul:

E = {x : ( x x 0 ) T A 1 ( x x 0 ) 1} ,

unde matricea A este simetric i pozitiv definit. Limea elipsoidului E n


direcia q este dat de:

) (

sup q T z inf q T z = A1/ 2 q + qT x0 A1/ 2 q + qT x0 = 2 A1/ 2 q 2 .


2
2
zE
zE
Deci limile minim i maxim sunt:
Wmin = 2 min ( A)1/ 2 , i Wmax = 2 max ( A)1/ 2 .
Ca atare, numrul de condiionare al elipsoidului E este

cond ( E ) =

max ( A)
= ( A) ,
min ( A)

adic este egal cu numrul de condiionare al matricei A care definete elipsoidul.


S presupunem c pentru toi x funcia f satisface condiia de mrginire
a Hessianului
mI 2 f ( x ) MI . Cu aceasta s calculm o margine a
numrului de condiionare a mulimilor de nivel constant egal cu :

C = {x : f ( x ) }

unde > f . Considernd n inegalitile (5.3.6) i (5.3.11) x = x * obinem:


*

METODA PASULUI DESCENDENT

M
y x*
2

19

2
m
y x* 2 .
2
Aceasta implic urmtoarele incluziuni Bin C Bou , unde:

f* +

2
2

f ( y) f * +

Bin = y : y x *

Bou = y : y x *

1
/
2
2( f * )

2( f * )

1/ 2

Cu alte cuvinte, mulimea de nivel constant egal cu conine sfera Bin i este
coninut n sfera Bou . Ca atare, raportul razelor acestor sfere furnizeaz o margine
superioar a numrului de condiionare a lui C :

cond (C )

M
.
m

De aici rezult urmtoarea interpretare geometric a numrului de condiionare


( 2 f ( x * )) a Hessianului n punctul de optim. ntr-adevr, n jurul lui x * putem
scrie:

1
f ( y) f * + ( y x * ) T 2 f ( x * )( y x * )
2
de unde rezult c pentru valori suficient de apropiate de f * ,

C {y : ( y x * ) T 2 f ( x * )( y x * ) 2( f * )} ,

adic aceast mulime de nivel constant este bine aproximat printr-un elipsoid
centrat n x * . Deci
lim cond (C ) = ( 2 f ( x * )) ,

f *

care arat cum mulimile de nivel constant de valori > f * caracterizeaz


numrul de condiionare al Hessianului n punctul de optim.
n seciunile urmtoare ale acestui capitol vom prezenta o analiz a
algoritmilor de optimizare fr restricii care precizeaz margini asupra numrului
de iteraii necesare pentru a realiza inegalitatea f ( x k ) f * , unde este o
toleran n raport cu care se face optimizarea. Toate aceste margini utilizeaz
constantele necunoscute m i M , ceea ce implic imediat lipsa de valoare
practic a acestor rezultate. Totui, conceptual aceste rezultate sunt valoroase
deoarece ele stabilesc convergena algoritmului, chiar dac marginile asupra
numrului de iteraii necesar obinerii unei acuratee date depind de constante
necunoscute. Exist o excepie de la aceast situaie definit de funciile convexe
auto-concordante. Pentru aceste funcii se poate da o analiz complet a
convergenei care nu depinde de nici o constant necunoscut, aa dup cum vom
vedea n capitolul 6 cnd considerm metoda Newton.

20

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

n acest moment s facem o mic recapitulare a dezvoltrilor fcute pn


acum. Observm c utiliznd constantele m i M cu care putem mrgini
Hessianul unei funcii tare convexe am determinat margini ale suboptimalitii
punctului x n termenii gradientului acestei funcii n acest punct. Critica ce se
poate aduce acestui mod de abordare este c aceste constante m i M sunt
cunoscute numai n cazuri foarte particulare (adic pentru funcii foarte speciale),
aa nct inegalitatea (5.3.8) nu are nici o valoare practic pentru a fi
implementat ca un criteriu de oprire a iteraiilor. Implicaia (5.3.8) are numai o
valoare calitativ, i poate fi considerat numai ca un criteriu conceptual de
oprire a iteraiilor n sensul c dac gradientul funciei f n punctul x este
suficient de mic, atunci diferena dintre f ( x ) i f * este mic. Altfel spus, dac
oprim un algoritm de optimizare de ndat ce f ( x k )

, unde este ales

suficient de mic, n fapt mai mic dect m , atunci sperm c f ( x k ) f * .


Remarcm imediat c toate aceste consideraii sunt valabile numai pentru funcii
tare convexe. Pentru funciile neconvexe nu putem spune nimic.
n cele ce urmeaz s prezentm analiza convergenei algoritmului de
gradient descendent pentru situaia n care lungimea pasului se determin prin
cutare liniar exact i apoi prin backtracking. Importana acestei analize const
n faptul c aceasta ilustreaz o metodologie de studiu a convergenei, care se
poate aplica i altor metode de optimizare. n particular o vom aplica metodei
Newton.
Presupunem c funcia f este tare convex pe S , aa nct, dup cum am
vzut n seciunile anterioare, rezult c exist constantele pozitive m i M , astfel
nct mI 2 f ( x ) MI . Definim funcia : R R prin:

( ) = f ( xk f ( xk )) .
n analiza care urmeaz vom presupune c xk f ( xk ) S . Din inegalitatea
(5.3.11), n care punem y = xk f ( xk ) , obinem:

M 2
2
f ( xk ) 2 .
( ) f ( xk ) f ( xk ) 2 +
2
2

(5.3.14)

Cutare liniar exact. Presupunem c n pasul 3 al algoritmului 5.1.1, al pasului


descendent, pentru determinarea lungimii pasului, utilizm o cutare liniar exact.
S minimizm n raport cu ambii membrii ai inegalitii (5.3.14). Membrul
stng furnizeaz valoarea ( exact ) , unde exact este lungimea pasului care
minimizeaz . Membrul drept este o funcie ptratic, care este minimizat de
2

= 1/ M i are valoarea minim egal cu f ( xk ) (1/ 2M ) f ( xk ) 2 . Deci:

METODA PASULUI DESCENDENT

21

f ( xk +1 ) = ( exact ) f ( xk )

1
2
f ( xk ) 2 .
2M

Scznd f * din ambii membrii obinem:

1
2
f ( xk ) 2 .
2M
2
Dar din (5.3.7) observm c f ( xk ) 2 2m( f ( xk ) f * ) ceea ce implic:
f ( xk +1 ) f * f ( xk ) f *

f ( xk +1 ) f * (1 m / M )( f ( xk ) f * ) .
Aplicnd recursiv aceast inegalitate, obinem:

f (xk ) f * c k ( f (x0 ) f * ) ,

(5.3.15)

m
<1, ceea ce arat c f ( x k ) converge la f * cnd k . n
M
particular, din (5.3.15) rezult c condiia f ( x k ) f * se realizeaz dup cel

unde c = 1

mult:

log( ( f ( x 0 ) f * ) / )
log(1 / c)

(5.3.16)

iteraii. Aceast margine asupra numrului de iteraii cerut de algoritmul


gradientului descendent furnizeaz o anumit nelegere a comportrii algoritmului.
Observm c numrtorul din (5.3.16) este chiar logaritmul raportului dintre
suboptimalitatea iniial (diferena dintre f ( x 0 ) i f * ) i suboptimalitatea final
(care trebuie s fie mai mic sau egal cu ). Ca atare, numrul de iteraii depinde
de ct de bun este aproximaia iniial x 0 a punctului de optim. Pe de alt parte,
numitorul din (5.3.16) este o funcie de M / m , care dup cum am vzut este o
margine a numrului de condiionare a Hessianului 2 f ( x ) pe S , sau altfel spus,
numrul de condiionare a mulimilor de nivel constant {z : f ( z ) } . Pentru o

margine a numrului de condiionare M / m mare, avem:

log(1 / c) = log(1 / (1 m / M )) m / M ,

astfel nct marginea asupra numrului de iteraii crete aproximativ liniar cu


creterea lui M / m . Deci, cnd Hessianul lui f lng x * are un numr de
condiionare mare, atunci algoritmul pasului descendent cere un numr mare de
iteraii. Invers, dac mulimile de nivel constant ale lui f sunt relativ isotrope,
astfel nct marginea M / m a numrului de condiionare este relativ mic, atunci
din (5.3.15) se vede c algoritmul este rapid convergent la soluie, deoarece c este
mic, sau cel puin nu este apropiat de 1. Relaia (5.3.15) arat c eroarea
f ( x k ) f * tinde la zero ca o serie geometric, adic convergena algoritmului de
gradient descendent este liniar, i aceasta este tot ce se poate spera de la acesta.

22

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

Cutare cu backtracking. n continuare s considerm cazul n care n pasul 3 al


algoritmului pasului descendent 5.1.1 utilizm o cutare liniar cu backtracking.
Vom arta c condiia de terminare a cutrii liniare cu backtracking:
2

( ) f ( xk ) f ( xk ) 2
este satisfcut ori de cte ori 0 1/ M . Pentru aceasta, notm c din
convexitatea lui + M 2 / 2 rezult c:
M 2

0 1/ M +
.
2

Cu acest rezultat i utiliznd (5.3.14) obinem c pentru 0 1/ M :

M 2
( ) f ( xk ) f ( xk ) 2 +
f ( xk )
2
2
f ( xk ) ( / 2) f ( xk ) 2
2

2
2

f ( xk ) f ( xk ) 2 ,
deoarece < 1/ 2 . Deci cutarea liniar cu backtracking se termin fie cu = 1 ,
fie cu o valoare / M . Aceasta furnizeaz o margine inferioar asupra
reducerii funciei de minimizat. n primul caz avem:
2

f ( xk +1 ) f ( xk ) f ( xk ) 2 ,
iar n al doilea caz:

f ( xk +1 ) f ( xk ) ( / M ) f ( xk ) 2 .
2

mpreun aceste inegaliti dau:

f ( xk +1 ) f ( xk ) min { , / M } f ( xk ) 2 .
2

Procednd analog ca n cazul cutrii liniare exacte, adic scznd din ambii
membri f * i innd seama c f ( xk )

2
2

2m( f ( xk ) f * ) obinem:

2 m

*
f ( xk +1 ) f * 1 min 2m ,
( f ( xk ) f ) .
M

Deci:

f (xk ) f * c k ( f (x0 ) f * ) ,

unde

2 m

c = 1 min 2m ,
(5.3.17)
.
M

Ca atare, la fel ca n cazul cutrii liniare exacte, f ( x k ) converge la f * cel puin

la fel de repede ca o serie geometric cu o rat care depinde de marginea


numrului de condiionare M / m a Hessianului. Aceasta nseamn c algoritmul
converge liniar.

METODA PASULUI DESCENDENT

23

n finalul acestei seciuni menionm c alegerea normei utilizate pentru


definirea direciei pasului descendent este important n stabilirea convergenei
algoritmului. Dac considerm norma euclidian . , atunci, n punctul curent,
direcia pasului descendent este chiar direcia negativ a gradientului, adic
d k = f ( xk ) . Cu alte cuvinte, n norma euclidian metoda pasului descendent
coincide cu metoda gradientului descendent. Acum, dac considerm norma
ptratic z

= z T Pz

1/ 2

, unde P este o matrice simetric i pozitiv definit,

atunci n raport cu aceast norm direcia pasului descendent este dat de


d k = P 1f ( xk ) . Interpretarea acestei situaii este simpl: direcia de cutare
este chiar direcia negativ a gradientului dup schimbarea de coordonate
x = P1/ 2 x . ntr-adevr, utiliznd aceast schimbare de coordonate atunci problema
original de minimizare a funciei f se poate rezolva prin rezolvarea problemei
echivalente

f ( x ) = f (P

de

minimizare

funciei

f : Rn R ,

unde

1/ 2

x ) = f ( x) . Dac aplicm metoda pasului descendent funciei f ,


atunci direcia de cutare n punctul x (care corespunde punctului x = P 1/ 2 x
pentru problema original) este d = f ( x ) = P 1/ 2f ( x) . Dar, aceast direcie

corespunde direciei d = P 1/ 2 P 1/ 2f ( x) = P 1f ( x) pentru variabilele


originale, adic metoda pasului descendent n norma ptratic dat de matricea P
este aceeai ca metoda gradientului aplicat problemei dup o schimbare de
coordonate definit de matricea P : x = P1/ 2 x . Acum, cunoatem c metoda
gradientului lucreaz bine cnd numerele de condiionare ale mulimilor de nivel
constant nu sunt mari i lucreaz prost cnd aceste numere sunt mari. Deci, cnd
dup o schimbare de coordonate mulimile de nivel constant devin bine
condiionate, atunci metoda pasului descendent este eficient. Aceast observaie
furnizeaz o idee de alegere a matricei P . Aceasta se alege astfel nct mulimile
de nivel constant ale lui f , transformate prin P 1/ 2 , s fie bine condiionate. De
exemplu, dac n punctul de optim x* se cunoate o aproximaie B a Hessianului

2 f ( x* ) , atunci o foarte bun alegere a lui P este P = B , deoarece Hessianul lui


f n punctul de optim este B 1/ 2 2 f ( x* ) B 1/ 2 I , care are un numr de
condiionare mic.
n concluzie, putem spune c:

Algoritmul pasului descendent are o convergen liniar, adic eroarea


f ( x k ) f * tinde la zero ca o serie geometric.

Rata de convergen depinde foarte mult de numrul de condiionare al


Hessianului funciei de minimizat, care este necunoscut, sau de mulimile de
nivel constant ale acesteia. Convergena poate fi extrem de slab chiar pentru
probleme relativ bine condiionate. Cnd numrul de condiionare este mare,

24

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

atunci algoritmul este aa de lent convergent nct nu are nici o valoare


practic.

Parametrii i utilizai n cutarea liniar cu backtracking nu au un efect


foarte mare asupra convergenei algoritmului. Cutarea liniar exact
mbuntete convergena, dar fr un efect semnificativ.

5.4. METODA PASULUI DESCENDENT RELAXAT


Este foarte interesant s vedem ce se ntmpl dac modificm aleator lungimea
pasului n intervalul [ 0,1] , adic considerm iteraii de tipul:

xk +1 = xk + k k d k ,

(5.4.1)

unde d k = f ( xk ) , iar k este o variabil aleatoare uniform distribuit n

intervalul [ 0,1] . Obinem astfel un algoritm de gradient descendent relaxat. n


acest caz, pentru exemplul 5.2.1, evoluia erorii

f ( xk ) f ( x* ) este ca n figura

5.4.1. Observm c n acest caz, al funciilor ptratice pozitiv definite, algoritmul


pasului descendent relaxat este superior celui clasic. O evoluie ceva mai bun din
punctul de vedere al numrului de iteraii se obine cnd k este selectat ca o

variabil aleatoare uniform distribuit n intervalul [ 0,2] .

Fig. 5.4.1. Evoluia erorii

f ( xk ) f ( x* ) pentru algoritmul pasului descendent

relaxat n comparaie cu algoritmul pasului descendent.

METODA PASULUI DESCENDENT

25

Considernd diferite valori pentru n observm comportarea acestor algoritmi.


Tabelul 5.4.1 arat numrul de iteraii corespunztor algoritmului pasului
descendent i a variantei sale relaxate, pentru situaia n care k [ 0,1] i

respectiv k [ 0,2] .

Tabelul 5.4.1. Numrul de iteraii corespunztor algoritmului


pasului descendent i a versiunii sale relaxate.
Pasul descendent
Pasul descendent
Pasul
relaxat k [0,1]
relaxat k [0,2]
descendent

1000
2000
3000
4000
5000
6000
7000
8000
9000
10000

6682
13358
20034
26710
33386
40062
46738
534414
60092
66768

812
950
1627
1407
1615
2198
2684
2440
1765
3005

860
1676
1684
1780
1962
1992
1850
2348
3028
3231

Aceasta ilustreaz o foarte serioas limitare a selectrii lungimii optime a


pasului de deplasare n algoritmul pasului descendent i n acelai timp o anumit
derut deoarece o modificare foarte simpl a lungimii pasului provoac schimbri
semnificative n comportarea acestuia. n fapt, pentru funcii ptratice pozitiv
definite, n condiii foarte comode asupra lui k [ 0,2] , putem stabili urmtorul
rezultat de convergen a algoritmului pasului descendent relaxat [Raydan i
Svaiter, 2002].
Teorema 5.4.1. Pentru problema

min f ( x ) =

1 T
x Qx b T x ,
2

unde Q R n n este o matrice simetric i pozitiv definit, dac irul k [ 0,2]

are un punct de acumulare * [ 0,2] , atunci irul x k :

xk +1 = xk k k g k ;

g kT g k
k = T
,
g k Qg k

g k = Qx k ,

generat de algoritmul pasului descendent relaxat, este convergent liniar la x * .


Demonstraie. Observm c pentru orice k funcia

k ( ) = f ( xk k g k )

26

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

este un polinom convex de ordinul doi care i atinge minimul n punctul = 1.

Mai mult, vedem c k (0) = k (2) i pentru orice [ 0,2] , k ( ) k (0).


Deci pentru toi k , f ( x k +1 ) f ( x k ). Deoarece f este mrginit inferior,
rezult c

Un calcul simplu arat c:

lim ( f ( x k ) f ( x k +1 )) = 0.
k

T
1 2 gk gk

f ( xk k g k ) = f ( xk ) T
.
2 g k Qg k

Observm c pentru [ 0,2] , 2 / 2 0. Deci f ( x k ) este un ir


necresctor convergent la f ( x * ).

Exist un (0,1) astfel nct < * < 2 . Deoarece k ( ) este convex


pentru orice ( , 2 ) rezult c k ( ) < k ( ). Dar,

k ( ) < k (0) ( k (0) k (1) ) .

Cum

T
1 ( gk gk )
,
k (0) k (1) =
2 g kT Qg k
2

rezult c

k ( ) < k (0)
Deci

k (0) k ( ) >

T
( gk gk )

2 g kT Qg k

T
( gk gk )

2 g kT Qg k

adic

f ( xk ) f ( xk k g k ) >

g kT g k
,
2 max

gk 2 .
2max

Dar, f ( xk ) f ( xk k g k ) 0, ceea ce arat c g k 0 i deci x x * ,


soluia problemei. Cum f ( x k ) este un ir necresctor, acesta tinde la f ( x* ) ceea
ce implic x x * .
Teorema 5.4.1 arat c metoda gradientului descendent cu relaxare merit
a fi considerat ca o mbuntire a metodei gradientului descendent clasice.
Totui, n anumite cazuri particulare selecia lungimii optime este cea mai bun
alternativ. De exemplu, dac direcia de cutare este chiar un vector propriu atunci
metoda clasic furnizeaz soluia ntr-un singur pas. n acest caz relaxarea nu este
de nici un folos. Dar aceast situaie este foarte rar, aa nct relaxarea poate fi o
tehnic foarte bun de accelerare a metodei gradientului descendent.

METODA PASULUI DESCENDENT

27

Urmtorul exemplu arat comportarea algoritmului pasului descendent


echipat cu cutarea liniar cu backtracking.
Exemplul 5.4.1. Fie funcia:
2

1 n
x .
f ( x ) = ix +
100 i=1 i
i =1
Considernd x 0 = [ 0.5,0.5, ,0.5] , = 0.0001 i = 0.8 n procedura de
n

2
i

cutare liniar cu backtracking (Algoritmul 4.3.2) i cu criteriul de oprire a


iteraiilor

f ( x k ) g cu g = 10 6 ,
atunci pentru n = 100 , evoluia erorii f ( x k ) f * dat de algoritmul pasului
descendent n comparaie cu a celei corespunztoare versiunii relaxate este dat n
figura 5.4.2. Pasul descendent necesit 721 de iteraii, fa de numai 227 de iteraii
ct necesit varianta relaxat a algoritmului pasului descendent. Din figura 5.4.2
intuim imediat c i versiunea relaxat a algoritmului pasului descendent are o
convergen liniar.
Tabelul 5.4.2 arat numrul de iteraii i lungimea medie a pasului
corespunztor algoritmului pasului descendent (PD) i a versiunii relaxate (PDR)
cu k [ 0,1] , pentru diferite valori ale lui n .

Fig. 5.4.2. Pasul descendent versus pasul descendent relaxat.

Din tabelul 5.4.2 se vede c n cazul algoritmului pasului descendent relaxat,


lungimea medie a pasului de-a lungul direciei negative a gradientului este cu un

28

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

ordin de mrime mai mare dect lungimea medie generat n cazul algoritmului
pasului descendent.
Tabelul 5.4.2. Numrul de iteraii i lungimea medie a pasului
de deplasare pentru algoritmul PD i PDR echipate cu backtracking.
PD
PDR
n
# iter
pasul mediu
# iter
pasul mediu
500
1000
2000
3000
4000
5000

3601
7207
15258
21542
29540
36948

0.00200632
0.00100033
0.00050113
0.00033496
0.00025162
0.00020132

584
613
1171
2045
1910
1513

0.0215758
0.0169619
0.0102804
0.0069395
0.0056208
0.0067056

Observm imediat c i n cazul funciilor convexe versiunea relaxat a


algoritmului pasului descendent este superioar celei clasice.
Extensia acestui algoritm de pas descendent relaxat la cazul funciilor
generale este imediat [Andrei, 2004b]. ntr-adevr, urmtorul exemplu arat
comportarea variantei relaxate a algoritmului pasului descendent:
xk +1 = xk + k k d k , unde d k = f ( x k ), k este o variabil aleatoare uniform
distribuit n intervalul [ 0,1] , iar k este determinat prin backtracking.
Exemplul 5.4.2. Fie funcia:

f ( x ) = ( x1 3) 2 + ( x1 3 2( x1 + x 2 + + x i ) 2 ) .
2

i=2

Considernd punctul iniial x 0 = [ 0.001, ,0.001] , i criteriul de oprire a

g = 10 6 , atunci numrul de iteraii


corespunztor celor doi algoritmi echipai cu backtracking ( = 0.0001 i
= 0.8 ), pentru diferite valori ale lui n , este ca n tabelul 5.4.3.
iteraiilor

f ( x k ) g , unde

Tabelul 5.4.3. Numrul de iteraii i lungimea medie a pasului


de deplasare pentru algoritmul PD i PDR echipate cu backtracking.
PD
PDR
n
# iter
pasul mediu
# iter
pasul mediu
10
20
30
40
50

186997
253806
410108
780362
829749

0.103413
0.047808
0.031707
0.024489
0.020759

40462
101595
105885
122293
144316

0.327121
0.217972
0.172842
0.146184
0.126295

Aceste exemple numerice arat limitele algoritmului pasului descendent.


Observm c o modificare multiplicativ, foarte simpl, a lungimii pasului prin
intermediul unei variabile aleatoare, uniform distribuit n intervalul [ 0,1] ,

METODA PASULUI DESCENDENT

29

provoac schimbri majore n comportarea algoritmului gradientului descendent.


Aceasta ilustreaz o robustee foarte sczut a algoritmul pasului descendent la
variaia lungimii pasului. Procedura de backtracking, precum i cea bazat pe
cutarea liniar exact, limiteaz foarte mult performana algoritmului gradientului
descendent. n fapt, pentru cazul funciilor tare convexe se poate demonstra
urmtoarea teorem.
Teorema 5.4.2. [Raydan i Svaiter, 2002] Dac irul k are un punct de
acumulare * (0,1), atunci irul x k generat de algoritmul pasului descendent
relaxat converge la x * .
Demonstraie.

S
considerm
g k = f ( x k ). Putem scrie:

( ) = f ( xk k g k ), unde

funcia

1
f ( xk k g k ) = f ( xk ) k g kT g k + 2 k2 g kT 2 f ( xk ) g k .
2
Deoarece funcia f este tare convex, urmeaz c ( ) este o funcie convex i
(0) = f ( xk ). Din tare convexitatea lui f urmeaz c:
Mk 2
2

k g k 2 .
f ( xk k g k ) f ( xk )
2

Mk 2
este o funcie concav i nenegativ pe ( 0, 2 / M k ) i are
2
valoarea maxim 1/ 2 M k n 1/ M k . Deci f ( x k +1 ) f ( x k ) pentru toi k .
Deoarece f este mrginit inferior, rezult c:
Dar,

lim ( f ( x k ) f ( x k +1 )) = 0.
k

n continuare s presupunem c f este tare convex i c mulimea de

nivel constant S = x dom f : f ( x ) f ( x 0 ) este nchis. Atunci putem


demonstra urmtoarea teorem care arat convergena liniar a algoritmului pasului
descendent relaxat echipat cu cutarea liniar cu backtracking.
Teorema 5.4.3. Pentru funcii tare convexe algoritmul pasului descendent relaxat
prin irul k , unde k este o variabil aleatoare uniform distribuit n intervalul

[ 0,1] , care utilizeaz cutarea liniar cu backtracking (4.3.6) este liniar


convergent i
k 1
f ( x k ) f * ci ( f ( x0 ) f * ) ,
i=0

unde

(5.4.2)

30

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

ci = 1 min {2mi , 2mi / M } < 1.

(5.4.3)

Demonstraie. Considerm 0 < < 1, atunci

Mk 2
2

k g k 2 .
f ( xk k g k ) f ( xk )
2

Mk 2
1
Notm c
este o funcie concav i c pentru toi 0
,
2
Mk
Mk 2

.
2
2
Deci

f ( xk k g k ) f ( xk ) k g k
2

2
2

f ( xk ) k g k 2 ,

deoarece 1/ 2. Ca atare, cutarea liniar cu backtracking se termin cu

k = 1 sau cu o valoare k / M . Cu aceasta, la pasul k se obine o margine


inferioar a descreterii funciei. n primul caz avem:
2

f ( xk +1 ) f ( xk ) k g k 2 ,
iar n al doilea:

f ( xk +1 ) f ( xk ) k

gk 2 .

Deci

f ( xk +1 ) f ( xk ) min { k , k / M } g k 2 .
2

De unde obinem:

f ( xk +1 ) f * f ( xk ) f * min { k , k / M } g k 2 .
2

Dar g k

2
2

2 m( f ( x k ) f * ) . Combinnd aceste relaii gsim:

f ( xk +1 ) f * (1 min {2m k , 2m k / M }) f ( xk ) f * .

Notnd: ck = 1 min {2m k , 2m k / M } urmeaz c pentru orice k = 0,1,

f ( x k +1 ) f * ck ( f ( x k ) f * ) ,

care demonstreaz formula corespunztoare suboptimalitii de la pasul k .


Deoarece ck < 1 , irul f ( x k ) converge la f * ca o serie geometric cu un factor
care parial depinde de marginea asupra numrului de condiionare M / m ,
parametrii de backtracking i (vezi algoritmii 4.3.1 sau 4.3.2), irul k al
numerelor aleatoare uniform distribuite n intervalul [0,1], precum i de
suboptimalitatea iniial. Deci algoritmul pasului descendent relaxat este liniar
convergent.

METODA PASULUI DESCENDENT

31

Studiu Numeric (PDR versus PD)1


Urmtorul set de experimente numerice ilustreaz comportarea algoritmului PDR
n comparaie cu algoritmul clasic al pasului descendent PD. n acest sens am
considerat un set de 32 de probleme de optimizare fr restricii i pentru fiecare
problem am considerat 10 instanieri n care numrul de variabile n ia valorile:
100,200,...,1000. Deci n total am rezolvat 320 de probleme. Att algoritmul PD ct
i PDR utilizeaz acelai test de oprire a iteraiilor dat de:

f ( xk ) 2 g sau k g kT d k f f ( xk +1 ) ,
unde g = 10 6 i f = 1016 . n procedura de cutare liniar prin backtracking
se utilizeaz aceleai valori pentru parametrii i : = 0.0001 , = 0.8 .
Problemele de test sunt din colecia CUTE [Bongartz, Conn, Gould i Toint, 1995],
mpreun cu alte probleme de optimizare fr restricii construite n acest scop.
Studiul numeric a fost fcut n urmtorul context. Fie fi PD i fi PDR valorile
funciei de minimizat i n punctul de optim calculate de algoritmul PD, respectiv
de PDR, pentru i = 1,...,320 . Zicem c n cazul particular al problemei i
algoritmul PDR este mai performant dect algoritmul PD dac

fi PDR f i PD < 103


i numrul de iteraii, sau numrul de evaluri ale funciei i gradientului sau
timpul de calcul al lui PDR este mai mic dect numrul de iteraii sau numrul de
evaluri ale funciei i gradientului sau timpul de calcul corespunztor lui PD. Din
cele 320 de probleme rezolvate de PDR i PD, numai 280 satisfac criteriul de mai
sus.
Tabelul 5.4.4 conine numrul de probleme din cele 280 pentru care PDR
versus PD a realizat numrul minim de iteraii (#iter), numrul minim de evaluri
ale funciei i gradientului (#fg), respectiv timpul de calcul CPU minim (CPU).
Tabelul 5.4.4. Performana lui PDR versus PD. 280 de probleme
PDR
PD
=
224
56
0
#iter
229
51
0
#fg
229
51
0
CPU

De exemplu, referitor la numrul de iteraii, PDR a fost mai bun n 224 de


probleme (adic a realizat numrul minim de iteraii n 224 de probleme) fa de
PD care a realizat numrul minim de iteraii doar n 56 de probleme. PDR i PD nu
au rezolvat nici o problem n acelai numr de iteraii. Din acest tabel vedem clar
c PDR este mult mai performant dect PD. Performanele acestor algoritmi au fost
vizualizate utiliznd profilul Dolan-Mor [2002]. Pentru fiecare algoritm
reprezentm grafic fracia din numrul de probleme pentru care algoritmul a fost cu
un anumit factor mai bun n privina numrului de iteraii sau a timpului de calcul.
1

Programul STEPDES.FOR din CD-ul anexat lucrrii implementeaz algoritmii de pas


descendent i de pas descendent relaxat.

32

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

Partea din stnga din figurile 5.4.3a i 5.4.3b arat procentajul din cele 280 de
probleme pentru care un algoritm este mai bun. Partea din dreapta arat procentajul
problemelor care au fost rezolvate cu succes de fiecare algoritm. Vedem c ambii
algoritmi au rezolvat cu succes toate cele 280 de probleme.

Fig. 5.4.3a. PDR versus PD. Numrul de iteraii.

Fig. 5.4.3b. PDR versus PD. Timpul de calcul.

Curba superioar corespunde algoritmului care a rezolvat cele mai multe probleme
ntr-un numr de iteraii (figura 5.4.3a) sau ntr-un timp de calcul (figura 5.4.3b)
care este un multiplu al celui mai bun numr de iteraii sau respectiv al celui mai
bun timp de calcul. Deoarece aceast curb corespunde algoritmului pasului
descendent relaxat, rezult clar c acesta este de departe superior algoritmul pasului
descendent clasic.

METODA PASULUI DESCENDENT

33

n continuare s vedem o alt analiz dat de performana relativ a


numrului de iteraii (iter), sau a numrului de evaluri ale funciei de minimizat i
a gradientului acesteia (fg), sau a timpului de calcul (time) pentru algoritmul PDR
sau PD. Performana relativ corespunztoare numrului de iteraii este definit sub
forma:
i
iterPDR
i
iterPDR
log
=

PD
2
i
iterPD

i
unde iterPDR
este numrul de iteraii corespunztor algoritmului PDR pentru a
i
rezolva a i a problem. iterPD
are o interpretare similar, pentru algoritmul PD.
i
Vedem imediat c semnul lui iterPDR
PD indic algoritmul ctigtor. ntr-adevr,
i
n toate cazurile n care iterPDR
PD este pozitiv rezult c algoritmul PDR este
superior lui PD din punctul de vedere al numrului de iteraii. Pentru numrul de
evaluri ale funciei i gradientului sau n ceea ce privete timpul de calcul,
performana relativ se definete analog. Observm c acest indicator de
performan relativ este exact profilul de performan definit de Dolan i Mor,
i
pentru = 1. n figurile 5.4.4a i 5.4.4b prezentm valorile lui iterPDR
PD ,
i
respectiv timePDR
PD , pentru acest set de 280 de probleme, unde problemele au

fost plasate n ordinea descresctoare lui

i
iterPDR
PD , i respectiv ale lui

i
timePDR
PD .

Fig. 5.4.4a. Performana relativ la numrul de iteraii: iterPDR PD .


i
Numrul de probleme pentru care iterPDR
PD este pozitiv este 224, iar numrul de
i
probleme pentru care iterPDR
PD este negativ este 56. Vedem imediat c factorul de

34

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

performan relativ la numrul de iteraii, care se definete ca raportul dintre


i
numrul de probleme pentru care iterPDR
PD este pozitiv i numrul de probleme
i
pentru care iterPDR
PD este negativ este egal cu 4. Numrul de probleme pentru
i
care timePDR
PD este pozitiv este 229, iar numrul de probleme pentru care
i
timePDR
PD este negativ este 51.

Fig. 5.4.4b. Performana relativ la timpul de calcul timePDR PD .

Vedem c factorul de performan relativ la timpul de calcul este mai mare dect
4.49, adic numrul de probleme rezolvare de algoritmul PDR ntr-un timp mai bun
este de 4.49 ori mai mare dect cel rezolvat de algoritmul PD.

5.5. ALGORITMUL PASULUI DESCENDENT


ACCELERAT CU BACKTRACKING
Algoritmul pasului descendent se dovedete a fi eficient pentru funcii bine
condiionate, dar pentru funcii prost condiionate acesta este excesiv de lent,
neavnd nici o valoare practic. Chiar pentru funcii ptratice algoritmul pasului
descendent cu cutare liniar exact se comport prost n condiiile n care numrul
de condiionare al matricei se deterioreaz (crete). Dup cum cunoatem, n
punctul curent x k direcia negativ a gradientului este cea mai bun direcie de
cutare a minimului funciei f , i aceasta este direcia pasului descendent. Totui,
de ndat ce ne deplasm n aceast direcie, ea nceteaz de a mai fi cea mai bun
i continu s se deterioreze pn cnd devine ortogonal pe f ( x k ). Adic,
algoritmul ncepe s fac pai din ce n ce mai mici nenregistrnd nici un progres
ctre minim. Acesta este principalul defect al metodei, lungimea pailor de

METODA PASULUI DESCENDENT

35

deplasare este prea mic, adic pe segmentul de linie care unete x k i x k +1 se


gsesc puncte z k n care f ( z k ) furnizeaz o direcie de cutare mai bun
dect f ( x k +1 ).
n aceast seciune prezentm algoritmul pasului descendent accelerat cu
backtracking pentru rezolvarea problemei (5.0.1) [Andrei 2006]. Considernd
punctul iniial x 0 putem imediat calcula f 0 = f ( x 0 ) , g 0 = f ( x 0 ) i prin

backtracking 0 . Cu acestea, la urmtoarea iteraie se calculeaz x1 = x0 0 g 0


unde din nou f1 i g1 pot fi calculate. Acum, la iteraia k = 1,2, cunoatem
x k , f k i g k . Utiliznd procedura de backtracking se determin lungimea pasului

k cu care se calculeaz punctul z = xk k g k . Prin backtracking obinem un


k (0,1] astfel nct:
f ( z ) = f ( xk k g k ) f ( xk ) k g kT g k .

Cu acestea s introducem algoritmul pasului descendent accelerat prin intermediul


urmtoarei relaii de recuren:
xk +1 = xk k k g k ,
(5.5.1)
unde k > 0 este un parametru care urmeaz a fi determinat cu scopul de a
mbunti comportarea algoritmului pasului descendent. Avem:

1
2
f ( xk k g k ) = f ( xk ) k g kT g k + k2 g kT 2 f ( xk ) g k + o k g k .
2
Pe de alt parte, pentru > 0, avem:
1
2
f ( xk k g k ) = f ( xk ) k g kT g k + 2 k2 g kT 2 f ( xk ) g k + o k g k .
2

Putem scrie:

f ( xk k g k ) = f ( xk k g k ) + k ( ),

(5.5.2)

unde

1
k ( ) = (1 ) k g kT g k (1 2 ) k2 g kT 2 f ( xk ) g k
2

+ 2 k o k g k

) o (
k

gk

).

(5.5.3)

Notm:

ak = k g kT g k 0,
bk = k2 g kT 2 f ( xk ) g k ,

= o k gk

).

Observm c pentru funcii convexe bk 0.


Deci

1
k ( ) = (1 )ak (1 2 )bk + 2 k k .
2

(5.5.4)

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

36

Acum, vedem c k ( ) = (bk + 2 k ) ak i k ( m ) = 0, unde

ak
.
bk + 2 k
Observm c k (0) = a k < 0. Deci, k ( ) este o funcie ptratic convex cu

m =

valoarea minim n punctul m i

(ak (bk + 2 k )) 2
0.
2(bk + 2 k )
n (5.5.2), i bk 0, vedem c pentru orice k
k ( m ) =

Considernd = m

(ak (bk + 2 k )) 2
f ( xk k g k ),
2(bk + 2 k )
mbuntire a valorilor funciei
f , (cnd

f ( xk m k g k ) = f ( xk k g k )
care

este

posibil

ak (bk + 2 k ) 0 ).
Deci, utiliznd aceast simpl modificare multiplicativ a lungimii
pasului k sub forma k k , unde k = m = ak /(bk + 2 k ), i innd seama de
condiia de backtracking
4.3.2) obinem:

f ( xk k g k ) f ( xk ) k g kT g k (vezi algoritmul

(ak (bk + 2 k )) 2
f ( xk +1 ) = f ( xk k k g k ) f ( xk ) k g g k
2(bk + 2 k )
T
k

(a (bk + 2 k )) 2
= f ( xk ) ak + k
f ( xk ),
2(bk + 2 k )

(5.5.5)

deoarece

(ak (bk + 2 k )) 2
0,
2(bk + 2 k )
unde (0,1/ 2) . Observm c dac a k < bk atunci

ak +

(ak (bk + 2 k )) 2 (ak bk ) 2


>
2(bk + 2 k )
2bk
i din (5.5.5) obinem:

(a (bk + 2 k )) 2
f ( xk +1 ) f ( xk ) ak + k

2(bk + 2 k )

(a b ) 2
< f ( xk ) ak + k k f ( xk ).
2bk

(5.5.6)

Deci, neglijnd contribuia termenilor de ordin superior nc obinem o


mbuntire a valorilor funciei de minimizat.

METODA PASULUI DESCENDENT

37

Pentru a stabili algoritmul trebuie s determinm o cale comod de calcul a


lui bk . Pentru aceasta, n punctul z = xk k g k avem:

1
f ( z ) = f ( xk k g k ) = f ( xk ) k g kT g k + k2 g kT 2 f ( xk ) g k ,
2
unde ~
x k este un punct de pe segmentul de linie care unete x k i z . Pe de alt
parte, n punctul xk = z + k g k avem:
1
f ( xk ) = f ( z + k g k ) = f ( z ) + k g Tz g k + k2 g kT 2 f ( xk ) g k ,
2
unde g z = f ( z ) i x k este un punct de pe segmentul de linie care unete x k i
z . Avnd n vedere caracterul local al cutrii i c distana dintre x k i z este
x k = x k = x k . Cu acestea, adunnd egalitile de mai sus
mic, putem considera ~
obinem:
unde y k = g z g k .

bk = k2 g kT 2 f ( xk ) g k = k ykT g k ,

(5.5.7)

Deoarece de-a lungul iteraiilor algoritmului pasului descendent g k 0


putem neglija contribuia lui i s considerm k = m = a k / bk . Cu acestea se
poate prezenta urmtorul algoritm de pas descendent accelerat.
Algoritmul 5.5.1. (Algoritmul pasului descendent accelerat)
Pasul 1. Se consider un punct iniial x 0 dom f i se calculeaz:
f 0 = f ( x 0 ) i g 0 = f ( x 0 ) . Se pune k = 0.
Utiliznd
cutarea liniar cu backtracking se determin lungimea
Pasul 2.
pasului k .
Pasul 3.

Se calculeaz: z = xk k g k , g z = f ( z ) i y k = g z g k .

Pasul 4.

Se calculeaz: ak = k g kT g k , bk = k ykT g k i k = a k / bk .

Pasul 5.

Se actualizeaz variabilele: xk +1 = xk k k g k i se calculeaz


f k +1 i g k +1 .
Se testeaz un criteriu de oprire a iteraiilor. De exemplu, dac
g k +1 , unde 0 < 1 este o toleran de terminare a iteraiilor,

Pasul 6.

atunci stop; altfel se pune k = k + 1 i se continu cu pasul 2.


Algoritmul pasului descendent (PD) se poate obine imediat din algoritmul pasului
descendent accelerat (PDA) prin evitarea pailor 3 i 4 i considerarea valorii
k = 1 n pasul 5 unde variabilele sunt actualizate.
Observm c dac a k > bk , atunci k > 1. n acest caz k k > k i este
posibil ca k k 1 sau k k > 1, adic este posibil ca lungimea pasului k k s

38

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

fie mai mare dect 1. Pe de alt parte, dac a k bk , atunci k 1. n acest caz

k k k 1, adic lungimea pasului k k este redus. Deci, dac


a k bk , atunci k 1 i lungimea pasului k calculat prin backtracking va fi
modificat, prin creterea ei sau reducerea ei cu factorul k , astfel evitnd ca
algoritmul s fac pai ortogonali de-a lungul iteraiilor.
Neglijnd , din (5.5.4), vedem c dac a k bk / 2, atunci
k (0) = a k bk / 2 0 i k < 1. Pentru orice [0,1] , k ( ) 0. n

consecin pentru orice (0,1), f ( xk k g k ) < f ( xk ). n acest caz, pentru


orice [0,1] , k k . Totui n algoritmul 5.5.1 am selectat k = m ca
punctul care realizeaz valoarea minim a lui k ( ) . Remarcm imediat c n

cazul algoritmului de pas descendent relaxat am selectat parametrul k n mod


aleatoriu din intervalul (0,1) . Esena accelerrii pasului descendent const tocmai
n selectarea acelei valori a lui k care realizeaz minimul valorii funciei k ( ) .
Teorema 5.5.1. Presupunem c f este o funcie tare convex pe mulimea de nivel
constant

S = { x : f ( x) f ( x0 )}. Atunci, irul x k generat de algoritmul PDA

converge liniar la x * .
Demonstraie. Din (5.5.5) avem c f ( x k +1 ) f ( x k ), pentru toi k . Deoarece f
este mrginit inferior, rezult c

lim ( f ( x k ) f ( x k +1 )) = 0.
k

Deoarece f este tare convex, atunci exist constantele pozitive m i M astfel


nct mI 2 f ( x ) MI pe mulimea de nivel constant S. Presupunem c

xk g k S i xk m g k S , pentru 0 < 1.
Presupunnd c a k < bk , atunci
f ( xk m g k ) f ( xk g k )

(ak bk ) 2
.
2bk

Dar, din proprietatea de tare convexitate avem urmtoarea margine superioar


ptratic asupra lui f ( xk g k ) :

M 2
2
f ( xk g k ) f ( xk ) g k 2 +
gk 2 .
2
2
Observm c pentru 0 1/ M , + M / 2 / 2 care urmeaz din
convexitatea lui + M 2 / 2. Cu acest rezultat obinem:
2

f ( xk g k ) f ( xk ) g k

+
2

M 2
gk
2

2
2

METODA PASULUI DESCENDENT

f ( xk )

39

gk

f ( xk ) g k 2 ,

deoarece 1/ 2.
Cutarea liniar cu backtracking se termin fie cu = 1 , fie cu o valoare
/ M . Aceasta furnizeaz o margine inferioar asupra reducerii valorilor
funciei f . Pentru = 1 avem:

f ( xk g k ) f ( xk ) g k
i pentru / M

f ( xk g k ) f ( xk )

Deci, pentru 0 1/ M , ntotdeauna

2
2

gk

2
2

2

f ( xk g k ) f ( xk ) min ,
gk 2 .
M

Pe de alt parte,

(ak bk )
2bk

( g

2
k 2

2 M gk

2 2
2

(5.5.8)

(1 M ) 2
2
=
gk 2 .
2M

2 2 M g k 2
Acum, ca mai sus, pentru = 1 :
( ak bk ) 2 (1 M ) 2
2

gk 2.
2bk
2M
Pentru / M :
2
( ak bk ) 2 (1 )
2

gk 2 .
2bk
2M
Deci,

(1 M ) 2 (1 ) 2
( ak bk ) 2
2
gk 2 .
min
,
2bk
2M
2M

(5.5.9)

Considernd (5.5.8) mpreun cu (5.5.9) obinem:

2

f ( xk m g k ) f ( xk ) min ,
gk 2
M
(1 M ) 2 (1 ) 2
2
,
min
gk 2 .
2M
2M

(5.5.10)

Deci

(1 M ) 2 (1 ) 2
2

,
f ( xk ) f ( xk +1 ) min ,
+ min
g k 2 .
2 M
M
2M

40

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

Dar, f ( x k ) f ( x k +1 ) 0 i n consecin g k tinde la zero, adic x k converge la

x * . Avnd n vedere c f ( x k ) este un ir necresctor, urmeaz c


f ( x k ) converge la f ( x * ). Din (5.5.10) vedem c

(1 M ) 2 (1 ) 2
2

f ( xk +1 ) f ( xk ) min ,
min
,
+

g k 2 .
2M
M
2M

Combinnd aceasta cu

gk

2
2

2 m( f ( x k ) f * )

i scznd f * din ambii membrii ai inegalitii de mai sus concluzionm c:

f ( x k +1 ) f * c( f ( x k ) f * ) ,

(5.5.11)

unde

(1 M ) 2 m (1 ) 2 m
2m

c = 1 min 2m ,
,
min
< 1. (5.5.12)
M
M
M

*
Deci, f ( x k ) converge la f cel puin ca o serie geometric cu un factor care
depinde de parametrii de backtracking i marginea asupra numrului de
condiionare M / m. Deci convergena algoritmului este cel puin liniar.
La fiecare iteraie k , selectnd k = m in (5.5.1), algoritmul PDA reduce
valorile funciei ca n (5.5.11) unde c este dat de (5.5.12). Deoarece algoritmul PD
realizeaz (5.5.11) cu

2m

c = 1 min 2m ,
<1,
M

ca n (5.3.17), rezult c, dac m 1 , atunci algoritmul PDA constituie o


mbuntire, adic o accelerare a algoritmului PD [Andrei, 2006].
Exemplul 5.5.1. S ilustrm funcionarea algoritmului de pas descendent accelerat
cu backtracking prin minimizarea urmtoarei funcii (funcia trigonometric extins
[Andrei, 2003]).
2

f ( x) = n cos x j + i (1 cos xi ) sin xi .

i =1
j =1

Considerm n = 100 , punctul iniial x0 = [0.2, , 0.2] , i parametrii = 0.0001


i = 0.8 n procedura de backtracking. Criteriul de oprire a iteraiilor utilizat n
n

acest experiment numeric este:

f ( xk ) 2 g sau k g kT d k f f ( xk +1 ) ,

METODA PASULUI DESCENDENT

unde g = 10 6

41

i f = 1016 . Atunci, evoluia erorii n valorile funciei

f ( xk ) f * , a contribuiilor

ak

corespunztoare algoritmului pasului

descendent i (ak bk ) 2 / 2bk corespunztoare algoritmului pasului descendent


accelerat la reducerea valorilor funciei de minimizat, la fiecare iteraie, (vezi
(5.5.6)) sunt ilustrate n figura 5.5.1.

Fig. 5.5.1. Pasul descendent accelerat. =0.0001

Pasul descendent accelerat are aceeai comportare ca pasul descendent. n primele


iteraii eroarea f ( xk ) f * este puternic redus, dup care algoritmul devine din
ce n ce mai lent. Remarcm faptul c contribuia (ak bk ) 2 / 2bk corespunztoare
algoritmului pasului descendent accelerat la reducerea valorilor funciei de
minimizat este mai mare dect contribuia ak corespunztoare algoritmului
pasului descendent. Vedem c aceast caracteristic se menine de-a lungul tuturor
iteraiilor. Aceasta face ca algoritmul pasului descendent accelerat s fie superior
de pas descendent.
Contribuia ak la reducerea valorilor funciei din cadrul algoritmului
pasului descendent depinde n mod direct de parametrul din cutarea liniar cu
backtracking. Este foarte interesant s vedem cum se modific comportarea
algoritmului pasului descendent accelerat la modificarea parametrului din
cutarea liniar cu backtracking. n figurile 5.5.1a i 5.5.1b se arat evoluia erorii
i a contribuiilor ak i (ak bk ) 2 / 2bk pentru = 0.01 i respectiv pentru

= 0.1 .

42

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

Fig. 5.5.1a. Pasul descendent accelerat. =0.01

Fig. 5.5.1b. Pasul descendent accelerat. = 0.1

Observm c n acest caz parametrul din cutarea liniar cu backtracking are o


importan semnificativ n comportarea algoritmului de pas descendent i a
variantei sale accelerate. Valori mici ale lui ofer o anumit uniformitate n
comportarea algoritmilor. n aceste situaii vedem c (ak bk ) 2 / 2bk ak pentru
majoritatea iteraiilor. Dac este ceva mai mare, atunci din (5.5.6) vedem c
algoritmul pasului descendent accelerat este nc o mbuntire a algoritmului
clasic de pas descendent. Interesant este faptul c cele dou contribuii ak i

(ak bk ) 2 / 2bk se urmresc de-a lungul iteraiilor. Mai mult, acest experiment
numeric arat c selecia = 0.0001 din cutarea liniar cu backtracking este
foarte convenabil, aceasta ilustrnd nc odat c pretenii nu prea mari n
reducerea valorilor funciei de minimizat prin backtracking sunt de preferat (vezi
figura 5.5.1). Parametrul din cutarea liniar cu backtracking nu influeneaz
accelerarea pasului descendent.
Studiu numeric (PDA versus PDR i PD)2
n cele ce urmeaz prezentm rezultatele unui studiu numeric privind comportarea
algoritmului pasului descendent accelerat (PDA) n comparaie cu algoritmul
pasului descendent (PD) i algoritmul pasului descendent relaxat (PDR). n acest
sens am considerat un numr de 31 probleme de optimizare fr restricii i pentru
fiecare problem am considerat 10 instanieri n care numrul de variabile este
n = 100,...,1000 . Ca i n studiul numeric anterior problemele sunt din colecia
CUTE [Bongartz, Conn, Gould i Toint, 1995], mpreun cu alte probleme de
optimizare fr restricii construite n acest scop. Toi algoritmii considerai sunt
implementai n Fortran utiliznd acelai stil de programare, precum i acelai
criteriu de oprire a iteraiilor:

Programul PDACC.FOR din CD-ul anexat lucrrii implementeaz algoritmul de pas


descendent accelerat.

METODA PASULUI DESCENDENT

43

f ( xk ) 2 g sau k g kT d k f f ( xk +1 ) ,
unde g = 10 6 i f = 1016 . n procedura de cutare liniar prin backtracking
se utilizeaz aceleai valori pentru parametrii i : = 0.0001 , = 0.8 .
Din cele 310 probleme rezolvate de aceti algoritmi am selectat 270 pentru care
diferena dintre valorile funciilor de minimizat n punctul de minim este mai mic
dect 103 .
Tabelul 5.5.1 conine numrul de probleme, din cele 270, pentru care PDA,
PDR i PD realizeaz numrul minim de iteraii (#iter), numrul minim de evaluri
ale funciei i gradientului (#fg), precum i timpul minim de calcul (CPU).
Tabelul 5.5.1. Performana lui PDA versus PDR i PD. 270 de probleme.
#iter
#fg
CPU
193
154
156
PDA
81
85
85
PDR
4
31
29
PD

Referindu-ne, de exemplu, la timpul de calcul, observm c PDA a realizat un timp


de calcul mai bun n 156 de probleme, fa de PDR care a fost mai bun doar n 85
de probleme, sau fa de PD care a fost mai bun numai n 29 de probleme din cele
270 rezolvate. Aceeai comportare o gsim i n ceea ce privete numrul de iteraii
sau numrul de evaluri ale funciei i gradientului.
n figurile 5.5.2a i 5.5.2b prezentm profilul Dolan-Mor pentru aceti
algoritmi, adic reprezentm grafic fracia din numrul de probleme pentru care un
algoritm a fost cu un anumit factor mai bun n privina numrului de iteraii sau a
timpului de calcul.

Fig. 5.5.2a. PDA versus PDR i PD.

44

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

Fig. 5.5.2b. PDA versus PDR i PD.

Observm c algoritmul pasului descendent accelerat este net superior algoritmului


pasului descendent relaxat i celui de pas descendent clasic. Pe lng acestea, din
partea final a acestor grafice, vedem c algoritmul pasului descendent accelerat
este mai robust dect algoritmul pasului descendent clasic sau relaxat. Studiul
numeric relev faptul c tehnica de accelerare prezentat mai sus constituie o
mbuntire a backtracking-ului n contextul pasului descendent [Andrei, 2006].

5.6. UN NOU ALGORITM DE PAS DESCENDENT


n 1988 Barzilai i Borwein au propus un algoritm de gradient descendent care
utilizeaz o strategie diferit de selecie a lungimii pasului de deplasare. n
principiu, aceasta utilizeaz o aproximaie n dou puncte a ecuaiei secantei din
cadrul metodelor quasi-Newton. Schema iterativ propus de Barzilai i Borwein
(BB) este urmtoarea:

x k +1 = x k
unde scalarul k este calculat sub forma:

f ( x k ),

(5.6.1)

yT y
sT y
IBB

=
sau
,
k
sT y
sT s
i y = f ( x k ) f ( x k 1 ). Observm c aceast schem

kBB =

n care s = x k x k 1
utilizeaz o lungime a pasului care nu folosete conceptul de cutare liniar, ci
determin lungimea pasului ca inversa unei aproximaii scalare a Hessianului
funciei de minimizat. Aceste formule sunt obinute din ecuaia quasi-Newton
Bk s = y, unde Bk este o aproximaie simetric i pozitiv definit a lui 2 f ( x k ).

METODA PASULUI DESCENDENT

45

Prima valoare kBB se obine prin minimizarea lui s y care msoar


discrepana dintre cei doi membrii ai ecuaiei secantei cnd Bk = I . A doua
valoare se obine prin minimizarea lui s (1 / ) y . Raydan [1993] a artat c
pentru funcii ptratice strict convexe algoritmul BB este global convergent. Cu
alte cuvinte, lungimea pasului sugerat de Barzilai i Borwein este chiar inversa
unei aproximaii scalare a matricei Hessian n punctul curent, calculat din ecuaia
secantei. Algoritmul de minimizare propus de Barzilai i Borwein utilizeaz dou
puncte iniiale cu care se demareaz calculele.
n cele ce urmeaz vom propune un algoritm de gradient descendent n
care spre deosebire de modul de abordare al lui Barzilai i Borwein, lungimea
pasului se prezint ca inversa unei aproximaii scalare a matricei Hessian calculat
prin intermediul valorilor funciei i a gradientului acesteia n dou puncte
succesive. Astfel obinem un nou algoritm de gradient descendent [Andrei, 2004f].
S considerm un punct iniial x 0 unde f ( x 0 ) i g 0 = f ( x 0 ) se pot
imediat calcula. Utiliznd o procedur de backtracking (iniializat cu = 1 ) se
poate calcula lungimea 0 a pasului, cu care o nou estimaie a minimului,

x1 = x0 0 g 0 , este calculat, n care din nou f ( x1 ) i g1 = f ( x1 ) se pot


calcula. Astfel, primul pas este calculat prin backtracking utiliznd direcia
negativ a gradientului. Acum, n punctul xk +1 = xk k g k , k = 0,1,... avem:

1
f ( xk +1 ) = f ( xk ) k g kT g k + k2 g kT 2 f ( z ) g k , unde z [ x k , x k +1 ] . Avnd n
2
vedere caracterul local al procedurii de cutare a minimului, precum i faptul c
distana dintre x k i x k +1 este destul de mic (mai ales n partea final a procesului
iterativ), rezult c putem alege z = x k +1 i considera ( x k +1 ) I ca o aproximare
a lui 2 f ( x k +1 ), unde ( x k +1 ) R. Cu alte cuvinte, am considerat un punct de
vedere anticipativ n care o aproximaie scalar a Hessianului n punctul x k +1 este
calculat utiliznd informaiile locale din punctul x k . Ca atare, putem scrie:

2 1
f ( xk +1 ) f ( xk ) + k g kT g k .
(5.6.2)
2
g gk k
Acum, pentru a calcula urmtoarea estimaie xk + 2 = xk +1 k +1 g k +1 a minimului

( xk +1 ) =

T
k

trebuie s precizm o procedur de calcul a lungimii k +1 a pasului. Pentru aceasta


s considerm funcia:

1
k +1 ( ) = f ( xk +1 ) g kT+1 g k +1 + 2 ( xk +1 ) g kT+1 g k +1.
2
k +1 (0) = f ( x k +1 ) i k +1 (0) = g kT+1 g k +1 < 0. Deci
Observm c
k +1 ( ) este o funcie convex pentru toi 0. Pentru ca k +1 ( ) s aib un
minim trebuie ca ( x k +1 ) > 0. Considernd pe moment c ( x k +1 ) > 0, atunci din
k +1 ( ) = 0 obinem:

46

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

k +1 =

1
,
( xk +1 )

(5.6.3)

ca minimul lui k +1 ( ) . Acum,

1
2
g k +1 2 ,
2 ( xk +1 )
care arat c dac ( x k +1 ) > 0 atunci valoarea funciei f este redus. Aceasta
k +1 ( k +1 ) = f ( xk +1 )

sugereaz s determinm lungimea k +1 prin backtracking, sub forma:

k +1 = arg min f ( xk +1 g k +1 ) .
k +1

(5.6.4)

Pentru a completa algoritmul, trebuie s considerm situaia n care ( x k +1 ) < 0.


Dac f ( xk +1 ) f ( xk ) + k g kT g k < 0, atunci reducerea f ( x k ) f ( x k +1 ) este mai
mare dect k g kT g k . n acest caz trebuie s modificm mrimea pasului k sub
forma k + k astfel nct f ( xk +1 ) f ( xk ) + ( k + k ) g kT g k > 0.
Pentru a obine o valoare pentru k , selectm un > 0, i considerm:

1
f ( xk ) f ( xk +1 ) k g kT g k +
g gk
cu care o nou valoare pentru ( x k +1 ) se poate imediat calcula:
2
1
f ( xk +1 ) f ( xk ) + ( k + k ) g kT g k .
( xk +1 ) = T
g k g k ( k + k ) 2

k =

T
k

(5.6.5)

(5.6.6)

care este strict pozitiv. Noul Algoritm (NA) corespunztor este urmtorul:
Algoritmul 5.6.1. (Un Nou Algoritm de pas descendent)
Pasul 1. Selectm x 0 dom f . Calculm f ( x 0 ), g 0 = f ( x 0 ) precum i
0 = argmin f ( x0 g 0 ). Calculm x1 = x0 0 g 0 , f ( x1 ) i

<1
g1 = f ( x1 ). Punem k = 0.

Pasul 2.
Pasul 3.
Pasul 4.

Test pentru continuarea calculelor. Dac un criteriu (sau mai multe)


pentru oprirea calculelor este ndeplinit, atunci stop, altfel se continu
cu pasul 3.
Calculm aproximarea scalar a Hessianului funciei f n x k +1 ca n
(5.6.2)
Dac ( x k +1 ) < 0, atunci selectm > 0 i calculm o nou valoare
pentru ( x k +1 ) sub forma (5.6.6), unde k este dat de (5.6.5).

Pasul 5.

Se calculeaz lungimea iniial a pasului: k +1 ca n (5.6.3).

Pasul 6.

Utiliznd o procedur de backtracking se determin k +1 sub forma:

k +1 = argmin f ( xk +1 g k +1 ) .
<k +1

METODA PASULUI DESCENDENT

Pasul 7.

47

Se actualizeaz variabilele: xk + 2 = xk +1 k +1 g k +1 , se pune k = k + 1


i se continu cu pasul 2.

Proprietile privind convergena i buna definire a acestui algoritm sunt


date de urmtoarele teoreme.
Teorema 5.6.1. Pentru funcii tare convexe algoritmul de gradient descendent de
mai sus cu cutare liniar cu backtracking este liniar convergent i:

k 1
f ( x k ) f * ci ( f ( x 0 ) f * ) ,
i=0

unde

ci = 1 min 2m , 2m pi < 1
i p i 1 este un ntreg, ( p i = 1,2, dat de procedura de backtracking).
Demonstraie. Putem scrie:

1
2

f ( xk +1 ) = f ( xk ) 2 ( xk +1 ) g k 2 .
2

2
Dar dup cum se vede imediat, ( xk +1 ) / 2 este o funcie concav, i pentru
toi 0 1/ ( xk +1 ), ( xk +1 ) 2 / 2 / 2. Deci

f ( xk +1 ) f ( xk )

gk

2
2

f ( xk ) g k 2 .

Procedura de backtracking se termin fie cu = 1 , fie cu = k , unde p k este


un ntreg. Deci
p

f ( xk +1 ) f ( xk ) min , pk g k 2 .
Avnd n vedere tare convexitatea, rezult c g k

2
2

2 m( f ( x k ) f * ) , adic

f ( x k +1 ) f * ck ( f ( x k ) f * ) ,

unde ck = 1 min 2m , 2m

pk

}.

Deoarece ck < 1 rezult c irul f ( x k )

este liniar convergent, ca o serie geometric, la f * .


Teorema 5.6.2. Pentru toi k = 0,1, , ( x k +1 ) , generat de algoritmul de mai
sus, este mrginit fa de zero.

k = 0,1, algoritmul ne asigur c


f ( xk +1 ) f ( xk ) + k g g k > 0. Deci, f ( xk ) f ( xk +1 ) < k g kT g k . Cu aceasta

Demonstraie.

Pentru

T
k

avem:

toi

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

48

( xk +1 ) =

2 ( f ( xk ) f ( xk +1 ) )

k2 ( g kT g k )

>

( ) = 0.
(g g )

2 k g kT g k

k2

T
k

n continuare s ilustrm funcionarea algoritmilor de gradient descendent


n formula clasic, cea relaxat, precum i noua variant propus mai sus.
Exemplul 5.6.1. S considerm funcia cu punctul iniial:
n 1

f ( x ) = ( x i+1 x i3 ) + (1 x i ) ,
2

x 0 = [ 1.2,1,1.2,1, ] .

i =1

n tabelul 5.6.1 se arat numrul de iteraii i lungimea medie a pasului pentru cei
trei algoritmi: PD-pasul descendent clasic, PDR-pasul descendent relaxat i pentru
NA-noul algoritm.

Tabelul 5.6.1. Numrul de iteraii i lungimea medie a pasului.


PD
PDR
NA
# iter
pasul mediu # iter pasul mediu # iter pasul mediu

1000
2000
3000
4000
5000

1061
1069
1069
1070
1063

0.0598325
0.0595312
0.0595137
0.0595230
0.0598308

418
451
438
449
485

0.258687
0.246441
0.257312
0.252725
0.231459

185
217
203
218
198

0.265502
0.242480
0.251972
0.237006
0.257031

Tabelul 5.6.2 arat numrul de iteraii ale algoritmului NA corespunztor


diferitelor valori ale parametrului . n coloana de sub se prezint numrul de
iteraii n care ( x k +1 ) < 0.
Tabelul 5.6.2. Algoritmul NA. Numrul de iteraii pentru diferite valori ale lui

n
10000
20000
30000
40000
50000

= 0.01

# iter
224
207
194
195
212

1
1
1
1
1

= 0.1

# iter
219
200
226
207
222

1
1
1
1
1

=1
# iter
204
230
234
215
222

1
1
1
1
1

= 10

# iter
239
210
224
222
224

1
1
1
1
1

= 100

# iter
208
190
204
226
205

1
1
1
1
1

Vedem c toi aceti algoritmi sunt liniar convergeni. Din punctul de


vedere al iteraiilor, algoritmul NA este superior. Totui, acesta i pstreaz
caracterul de convergen liniar. Mai mult, teorema 5.4.3 ne arat convergena
liniar a algoritmului de gradient descendent relaxat, dar pentru acesta ck > c ,
(vezi (5.3.15)) ceea ce nu ne asigur c versiunea relaxat realizeaz ntotdeauna o
reducere mai pronunat a valorilor funciei de minimizat fa de versiunea clasic

METODA PASULUI DESCENDENT

49

a algoritmului de gradient descendent. Aceeai concluzie rezult i din


interpretarea teoremei 5.6.1.
Este foarte interesant o comparaie dintre aproximaiile scalare ale
matricei Hessian date de Barzilai-Borwein i cele considerate n algoritmul NA.
ntr-adevr, pentru acest exemplu, evoluia diferenei ( x k +1 ) kBB este artat n
figura 5.6.1.

Fig. 5.6.1. Evoluia diferenei

( x k +1 ) kBB

Vedem c aproximaiile matricei Hessian devin din ce n ce mai apropiate. Aceasta


arat o anumit unitate n ceea ce privete ecuaia secantei i formula de calcul a lui
( x k +1 ). n general, aproximaiile matricei Hessian date de algoritmul NA sunt
mai mari dect cele corespunztoare algoritmului Barzilai-Borwein. Aceasta arat
c iniializarea n cutarea liniar cu backtracking din algoritmul NA este mai
mic.
Exemplul 5.6.2. S considerm funcia cu punctul iniial:
n

i
( exp( x i ) x i ),
i =1 10

f ( x) =

x 0 = [11
, , ,1] .

Obinem urmtoarele rezultate.

n
1000
2000
3000
4000
5000

Tabelul 5.6.3. Numrul de iteraii i lungimea medie a pasului.


PD
PDR
NA
# iter pasul mediu # iter pasul mediu # iter pasul mediu
2696
4380
5514
5788
6108

0.020215
0.010106
0.006744
0.005044
0.004036

1168
1159
1340
1177
1523

0.117336
0.080865
0.063615
0.057248
0.045275

588
758
1465
1401
1316

0.1199889
0.0498313
0.0429736
0.0348057
0.0189150

CRITICA RAIUNII ALGORITMILOR DE OPTIMIZARE FR RESTRICII

50

= 10

# iter

.
= 100

# iter

0
4
16
4
19

2413
1702
2173
2504
2915

2413
1918
2076
2407
3427

Tabelul 5.6.4. Algoritmul NA. Numrul de iteraii pentru diferite valori ale lui

n
10000
20000
30000
40000
50000

= 0.01

# iter

= 0.1

# iter

# iter

2413
2586
2806
2449
3847

2413
3091
2405
3099
3931

2413
1896
2858
2865
3368

0
3
3
23
11

0
19
2
4
11

=1

0
4
2
8
1

0
2
8
3
14

Observm c i pentru acest exemplu convergena este liniar. Valorile lui nu


au un impact deosebit asupra numrului de iteraii.
n aceast seciune am prezentat o serie de variante de algoritmi de pas
descendent care se refer la calculul lungimii pasului de deplasare de-a lungul
direciei negative a gradientului n punctul curent. Deci, toate acestea modific
lungimea pasului, lsnd direcia de deplasare ca: f ( x k ). Drept urmare, se
obin algoritmi pentru care convergena este liniar. Totui, anumite variante de
algoritmi pot determina o pant mai pronunat a reducerii valorilor funciei de
minimizat, n funcie de informaiile utilizate n punctul curent.
Aceasta arat limitele metodelor de pas (gradient) descendent, care se
bazeaz numai pe informaiile locale date de gradientul funciei n punctul
curent. Meninerea direciei de deplasare ca direcia negativ a
gradientului cu modificarea numai a procedurilor de determinare a
lungimii pasului nu schimb clasa algoritmului. Importana acestor
abordri este simplitatea i uurina implementrii acestor algoritmi n
programe de calcul. Mai mult, metoda gradientului descendent se afl la
originea tuturor celorlalte metode de optimizare.
Algoritmul pasului descendent, sau nc de gradient descendent, nu este un
algoritm de ncredere n sensul de a fi preferat pentru rezolvarea aplicaiilor n care
este vorba de minimizarea unei funcii netede. n esena lui acesta ine seama
numai de direcia de variaie maxim a funciei, dat de gradientul acesteia n
punctul curent, i nu ia n considerare curbura funciei n direcia negativ a
gradientului.
Pentru a obine algoritmi care s fie cel puin superliniar convergeni,
algoritmi care au o valoare practic i care pot fi utilizai pentru rezolvarea
problemelor concrete, trebuie definit o alt direcie de deplasare, care s in
seama de proprietile locale ale funciei n punctul curent. Ca atare, modificrile
de substan ale metodei pasului (gradientului) descendent se refer la direcia de
deplasare i nu la lungimea pasului.
Capitolul 5 din lucrarea:
Neculai Andrei
Critica Raiunii Algoritmilor de Optimizare fr restricii
August 30, 2006 Noiembrie 24, 2006

S-ar putea să vă placă și