Curs To PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 158

1

ra

Tehnici de optimizare
Ion Necoara
Departamentul de Automatica si Ingineria Sistemelor
Universitatea Politehnica din Bucuresti
Email: i.necoara@yahoo.com
2009

Cuprins
1 Prefata

Introducere

2 Notiuni introductive
2.1 Notiuni de analiza matriceala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Notiuni de analiza matematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8
8
11

3 Teorie convex
a
3.1 Multimi convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Conuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Operatii ce conserva proprietatea de convexitate a multimilor
3.2 Functii convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Conditii de ordinul intai pentru functii convexe . . . . . . . .
3.2.2 Conditii de ordinul II pentru functii convexe . . . . . . . . .
3.2.3 Operatii ce conserva proprietatea de convexitate a functiilor

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

16
16
20
22
25
26
27
29

4 Concepte fundamentale din teoria optimizarii


4.1 Evolutia teoriei optimizarii . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Care sunt caracteristicile unei probleme de optimizare? . . . . . . . . . . .
4.3 Tipuri de probleme de optimizare . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Programare Neliniara (NLP - NonLinear Programming) . . . . . .
4.3.2 Programare Liniara (LP - Linear Programming) . . . . . . . . . .
4.3.3 Programare Patratica (QP - Quadratic Programming) . . . . . . .
4.3.4 Optimizare Convexa (CP - Convex Programming) . . . . . . . . .
4.3.5 Probleme de Optimizare Neconstransa . . . . . . . . . . . . . . . .
4.3.6 Programare mixta cu intregi (MIP - Mixed Integer Programming)

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

30
30
32
36
36
37
38
40
42
43

.
.
.
.
.
.
.

.
.
.
.
.
.
.

CUPRINS

II

Optimizare neconstransa

44

5 Metode de optimizare unidimensionala


5.1 Metoda forward-backward. Functii unimodale.
5.2 Metoda sectiunii de aur si metoda lui Fibonacci
5.2.1 Metoda sectiunii de aur . . . . . . . . .
5.2.2 Metoda lui Fibonacci . . . . . . . . . .
5.3 Metode de interpolare . . . . . . . . . . . . . .
5.3.1 Metode de interpolare patratice . . . . .
5.3.2 Metode de interpolare cubica . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

6 Conditii de optimalitate
6.1 Conditii Necesare de Optimalitate . . . . . . . . . .
6.2 Conditii suciente de optimalitate . . . . . . . . . .
6.3 Conditia de Optimalitate pentru Probleme Convexe
6.4 Analiza perturbatiilor . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

45
46
47
47
49
50
51
53

.
.
.
.

55
56
58
58
60

62
7 Convergenta metodelor de descrestere
7.1 Metode Numerice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.2 Teoreme de Convergenta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.2.1 Convergenta metodelor de descrestere . . . . . . . . . . . . . . . . . . . . . 67
8 Metode de ordinul intai
8.1 Metoda gradient (metoda celei mai abrupte pante)
8.1.1 Convergenta metodei gradient . . . . . . . .
8.1.2 Alegera optimala a pasului . . . . . . . . .
8.2 Metoda directiilor conjugate . . . . . . . . . . . . .
8.2.1 Extensia la probleme generale neconstranse
9 Metode de tip Newton
9.1 Metoda Newton . . . . . . . . . . . . . . .
9.1.1 Rata de Convergenta Locala . . . .
9.2 Metode Quasi-Newton . . . . . . . . . . . .
9.2.1 Rank one updates . . . . . . . . . .
9.2.2 Rank two updates . . . . . . . . . .
9.2.3 Convergenta Locala pentru metodele

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
Quasi-Newton

10 Probleme de Estimare si Fitting


10.1 Probleme liniare de tip Cele Mai Mici Patrate
10.2 Probleme prost conditionate de tip CMMP .
10.2.1 Regularizare problemele CMMP . . .
10.3 Formularea statistica a problemelor CMMP .

(CMMP)
. . . . . .
. . . . . .
. . . . . .

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

70
70
71
72
75
77

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

78
78
79
81
83
83
84

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

86
87
90
90
92

CUPRINS

10.4 Estimare-L1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.5 Metoda Gauss-Newton (GN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.6 Levenberg-Marquardt (LM) Method . . . . . . . . . . . . . . . . . . . . . . . . . .

93
94
95

11 Globalisation Strategies
97
11.1 Line-search method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11.2 Global convergence of the line search method . . . . . . . . . . . . . . . . . . . . . 99
11.3 Trust-region methods (TR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
12 Calculating Derivatives
104
12.1 Automatic Dierentiation (AD): Forward mode . . . . . . . . . . . . . . . . . . . . 105
12.2 Automatic Dierentiation: Reverse (Backward) Mode . . . . . . . . . . . . . . . . 108

III

Optimizare constransa

110

13 Functia Lagrangiana si Dualitatea

111

14 Conditii de Optimalitate pentru Optimizare Constransa


14.1 Conditii de Optimalitate Necesare Karush-Kuhn-Tucker (KKT)
14.2 Constrangeri active si satisfacerea constrangerilor . . . . . . . .
14.3 Probleme Convexe . . . . . . . . . . . . . . . . . . . . . . . . .
14.4 Complementaritate . . . . . . . . . . . . . . . . . . . . . . . . .
14.5 Conditii de ordin II . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

116
117
117
123
124
124

15 Optimizare cu constrangeri de egalitate


15.1 Conditiie de optimalitate . . . . . . . . . . . . .
15.2 Problema QP cu constrangeri de egalitate . . . .
15.2.1 Rezolvarea sistemului KKT de ecuatii . .
15.3 Metoda Newton Lagrange . . . . . . . . . . . . .
15.4 Interpretarea modelului patratic . . . . . . . . .
15.5 Metoda Gauss Newton constransa . . . . . . . .
15.6 O metoda BFGS pentru constrangeri de egalitate
15.7 Convergenta locala . . . . . . . . . . . . . . . . .
15.8 Globalizare prin metoda pasului optim . . . . . .
15.9 Actualizarea BFGS atenta . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

129
129
130
131
132
134
135
135
137
137
139

16 Algoritmi pentru optimizare cu constrangeri de inegalitate


16.1 Probleme QP prin metoda active set . . . . . . . . . . . . . . .
16.2 Sequential Quadratic Programming (SQP) . . . . . . . . . . . .
16.3 Algoritmul clasic SQP al lui Powell . . . . . . . . . . . . . . . .
16.4 Metode de punct interior . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

141
142
144
146
146

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

CUPRINS

17 Optimal Control Problems


17.1 Formularea problemei de control optimal (PCO) .
17.2 Conditiile KKT ale problemelor de control optimal
17.3 Abordarea secventiala a controlului optimal . . . .
17.4 Dierentierea inapoia a Lagrangianului secvential .
17.5 Control optimal simultan . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

148
148
149
150
151
153

18 Rezumatul cursului

155

Bibliography

156

CUPRINS

**************

Chapter 1

Prefata
Lucrarea de fata este construita pe structura cursului de Technici de Optimizare, predat de autor
la Facultatea de Automatica si Calculatoare a Universitatii Politehnica din Bucuresti. Lucrare
prezinta intr-un mod riguros principalele metode numerice de rezolvarea a problemelor de optimizare neliniara. Optimizarea este un proces de minimizare sau maximizare a unei functii obiectiv
si in acelasi timp de satisfacere a unor constrangeri. Natura abunda de exemple unde un nivel
optim este dorit si in multe aplicatii din inginerie, economie, biologie si numeroase alte ramuri ale
stiintei se cauta regulatorul, portfoliul sau compozitia optim(a).
Lucrarea se adreseaza studentilor din facultatile cu prol technic sau economic, dar in aceeasi masura si pentru studentii la programele de master si doctorat cu tematici adiacente. Scopul lucrarii
este prezentarea unei introduceri in metodele numerice de rezolvare a problemelor de optimizare
care serveste la pregatirea studentilor pentru dezvoltarea si adaptarea acestor metode la aplicatii
specice ingineriei si ale altor domenii. Tematica include elemente de optimizare continua ce se
concentreaza in special pe programarea neliniara. In acest sens, structura lucrarii este divizata in
doua parti majore:
I. optimizare neconstransa
II. optimizare constransa
Studentii ce urmeaza acest curs necesita cunostinte solide de algebra liniara (e.g. teoria matricilor, concepte de spatii vectoriale, etc) si analiza matematica (notiuni de functii diferentiabile,
convergenta sirurilor, etc).

Part I

Introducere

Chapter 2

Notiuni introductive
In acest capitol reamintim pe scurt notiunile de baza din algebra liniara si analiza matematica ce
se vor dovedi esentiale pentru capitolele urmatoare.

2.1

Notiuni de analiza matriceala

In cadrul acestui curs xam simpla conventie de a considera vectorii x Rn vectori coloana, i.e.
x = [x1 xn ]T Rn . In spatiul Euclidean Rn produsul scalar este denit dupa cum urmeaza:
x, y = xT y =

xi yi .

i=1

Unde nu se specica, norma considerata pe spatiul Euclidean Rn este norma Euclideana standard
(i.e. norma indusa de acest produs scalar):
v
u n

u
x = x, x = t
x2i .
i=1

Alte norme vectoriale des intalnite sunt:

x1 =

|xi | si x = max |xi |.


i=1,...,n

i=1

CHAPTER 2. NOTIUNI INTRODUCTIVE

Unghiul [0 ] dintre doi vectori nenuli x si y din Rn este denit de:


cos =

x, y
.
xy

Orice norma in Rn are o norma duala corespunzatoare denita de:


x = max x, y.
y:y=1

Se poate arata ca x1 = x pentru orice vector x Rn .


O relatie fundamentala ce se foloseste intens in acest curs este inegalitatea Cauchy-Schwarz denita
de urmatoarea relatie intre produsul scalar dintre doi vectori si normele duale corespunzatoare:
|x, y| x y x, y Rn ,
egalitatea avand loc daca si numai daca vectorii x si y sunt vectori liniar dependenti. Observam
ca aceasta inegalitate este o consecinta imediata a denitiei normei duale.
Spatiul matricilor de dimensiune (m, n) este notat cu Rmn . Urma unei matrici patratice Q =
[Qij ]ij Rnn este denita de relatia:
Tr(Q) =

Qii .

i=1

In acest spatiu al matricilor de dimensiune (m, n) denim produsul scalar folosind notiunea de
urma:
Q, P = Tr(QT P ) = Tr(QP T ) Q, P Rmn .
Din proprietatile produsului scalar rezulta:
Tr(QP R) = Tr(RQP ) = Tr(P RQ),
oricare ar matricile Q, P si R de dimensiuni compatibile. In consecinta, pentru matricile patratice Q Rnn avem de asemenea relatia:
xT Qx = Tr(QxxT ) x Rn .
Pentru o matrice patratica Q Rnn un scalar C si un vector nenul x ce satisfac ecuatia
Qx = x se numesc valoare proprie si respectiv, vector propriu al matricii Q. O relatie echivalenta
ce descrie perechea valoare-vector propriu este data de:
(In Q)x = 0, x = 0,

CHAPTER 2. NOTIUNI INTRODUCTIVE

10

i.e. matricea In Q este singulara, de aceea,


det(In Q) = 0.
In acest scop, polinomul caracteristic al matricii Q este denit de
pQ () = det(In Q).
Evident, multimea de solutii ale ecuatiei pQ () = 0 coincide cu multimea de valori proprii ale lui
Q. Multimea tuturor valorilor proprii corespunzatoare matricii Q este denumita spectrul matricii
Q si se noteaza cu (Q) = {1 , , n }. Folosind aceasta notatie avem

si rezulta pQ (0) =

pQ () = ( 1 ) ( n )

i=1 (i ).

Din discutia precedenta obtine urmatorul rezultat:

Lemma 2.1.1 Urmatoarele relatii au loc pentru orice matrice patratica Q Rnn :
det(Q) =

i and Tr(Q) =

i=1

i=1

i (Qk ) = ki and i (In + Q) = + i , R si i = 1, , n.


Notam cu S n spatiul matricilor simetrice:
S n = {Q Rnn : Q = QT }.
Pentru o matrice simetrica Q S n valorile proprii corespunzatoare sunt reale, i.e. (Q) R. O
matrice simetrica Q S n este pozitiv semidenita (notatie Q 0) daca
xT Qx 0 x Rn
si pozitiv denita (notatie Q 0) daca
xT Qx > 0 x Rn , x = 0.
Precizam ca Q P daca Q P 0. Notam multimea matricilor pozitiv (semi)denite cu
n )S n . Mai departe, avem urmatoarea caracterizare a unei matrici pozitiv semidenite:
(S+
++
Lemma 2.1.2 Urmatoarele echivalente au loc pentru orice matrice simetrica Q S n :
(i) Matricea Q este pozitiv semidenita
(ii) Toate valorile proprii ale matricii Q sunt ne-negative (i.e. i 0 i = 1, ..., n)
(iii) Toti minorii principali Q sunt ne-negativi
(iv) Exista o matrice L astfel incat Q = LT L.

CHAPTER 2. NOTIUNI INTRODUCTIVE

11

In continuare, folosim notatia min si max pentru cea mai mica si respectiv, cea mai mare valoare
proprie a unei matrici simetrice Q S n . Atunci,
min =
max =

xT Qx
=
min
xT Qx
: x=0 xT x
xRn : x=1

min
n

xR

xT Qx
=
max
xT Qx.
: x=0 xT x
xRn : x=1

max
n

xR

In concluzie avem:
min In Q max In .
Denitia anumitor norme matriceale se poate deriva din cea a normelor vectoriale. Fie o norma

vectoriala pe Rn si pe Rm , denim o norma matriceala indusa pe spatiul matricilor


Rmn prin urmatoarea relatie:

Qx

=
sup
Qx Q Rmn .
Q = sup

x
xR : x=0
xRn : x =1
Pentru norma vectoriala Euclidiana norma matriceala corespunzatoare este data de:
(
)1/2
Q = max QT Q
.
De asemenea, norma Frobenius a unei matrici este denita prin:
1/2

n
m

Q2ij .
QF =
i=1 j=1

2.2

Notiuni de analiza matematica

In cadrul acestui curs ne vom concentra atentia preponderent asupra conceptelor, relatiilor si
= R {+}. Pentru inceput,
rezultatelor ce implica functii al caror codomeniu este inclus in R
o observatie importanta pentru rigurozitatea rezultatelor ce urmeaza este aceea ca domeniul unei
functii scalare f se poate extinde (prin echivalenta) la spatiul Rn prin atribuirea valorii +
functiei in toate punctele din afara domeniului sau. In cele ce urmeaza consideram ca toate
are domeniul efectiv descris de
functiile sunt extinse implicit. O functie scalara f : Rn R
multimea:
domf = {x Rn : f (x) < +}.

CHAPTER 2. NOTIUNI INTRODUCTIVE

12

Functia f se numeste diferentiabila in punctul x domf daca exista un vector s Rn astfel incat
urmatoarea relatie are loc:
f (x + y) = f (x) + s, y + R(y) y Rn ,
unde lim

y0

R(y)
y

= 0 si R(0) = 0. Vectorul s se numeste derivata sau gradientul functiei f in

punctul x si se noteaza cu f (x). Cu alte cuvinte functia este diferentiabila in x daca admite o
aproximare liniara de ordinul intai in punctul x. Observam ca gradientul este unic determinat si
este denit de vectorul cu componentele:

f (x)

x1
f (x) = .
f (x)
xn

Functia f se numeste diferentiabila pe multimea X domf daca este diferentiabila in toate


punctele din X.
Expresia (in conditiile in care limita de mai jos exista)
f (x; d) = lim

t+0

f (x + td) f (x)
t

se numeste derivata directionala a functiei f in punctul x domf de-a lungul directiei d Rn .


Precizam ca derivata directionala poate exista, de asemenea, pentru functii nediferentiabile, dupa
cum observam din urmatorul exemplu:
Example 2.2.1 Pentru functia f : Rn R, f (x) = x1 avem ca derivata directionala in
punctul x = 0 de-a lungul oricarei directii d Rn este date de expresia f (0; d) = d1 , insa f nu
este diferentiabile in punctul x = 0.
In cazul in care functia este diferentiabila atunci
f (x; d) = f (x), d.
O functie scalara f denita pe Rn se numeste diferentiabile de doua ori in punctul x domf
daca este diferentiabila in x si exista o matrice simetrica H Rnn astfel incat:
1
f (x + y) = f (x) + f (x), y + xT Hx + R(y2 ) y Rn ,
2
unde lim

y0

R(y2 )
y2

= 0. Matricea H se numeste matricea Hessiana si se noteaza cu 2 f (x).

In concluzie, o functie este diferentiabila de doua ori in punctul x daca admite o aproximare

CHAPTER 2. NOTIUNI INTRODUCTIVE

13

patratica de ordin doi in vecinatatea lui x. Ca si in cazul gradientului, matricea Hessiana este
unica in cazurile in care exista si este simetrica cu componentele:

2 f (x)
2 f (x)
x
2 x1
1 xn

2 f (x) =

.
2 f (x)
2 f (x)
xn x1
2 xn
Functia f se numeste diferentiabila de doua ori pe multimea X domf daca este diferentiabila
de doua ori in in ecare punct din X. Matricea Hessiana poate considerata derivata vectorului
f :
f (x + y) = f (x) + 2 f (x)y + R(y).

Example 2.2.2 Fie f o functie patratica


1
f (x) = xT Qx + q T x + r,
2
unde Q Rnn este matrice simetrica. Atunci, este evident ca gradientul lui f in orice x Rn
este
f (x) = Qx + q
iar matricea Hessiana in punctul x este
2 f (x) = Q.

O functie diferentiabila cel putin o data se numeste functie neteda (smooth). O functie diferentiabila de k ori, cu derivata de ordinul k continua, spunem ca apartine clasei de functii C k .
Pentru o functie diferentiabila g : R R, avem aproximarea Taylor de ordinul intai exprimata in
termeni de valore medie sau integrala:

g(b) g(a) = g ()(b a) =

g ( )d,

unde [a b].
Aceste egalitati pot extinse la orice functie diferentiabila f : Rn R folosind relatiile precedente
adaptate pentru functia g(t) = f (x + t(y x)) si folosind regulille de diferentiere avem ca:
g ( ) = f (x + (y x)), y x.

CHAPTER 2. NOTIUNI INTRODUCTIVE

14

si deci pentru orice x, y domf


f (y) = f (x) + f (x + (y x)), y x [0 1]
1
f (y) = f (x) +
f (x + (y x)), y xd.
0

Urmatoarele extensii sunt posibile:


1
f (y) = f (x) +
2 f (x + (y x)), y xd
0

1
f (y) = f (x) + f (x), y x + (y x)T 2 f (x + (y x))(y x), [0 1].
2
O functie diferentiabila f : Rn R are gradient Lipschitz continuu daca exista o constanta L > 0
astfel incat
f (x) f (y) Lx y x, y domf.
Folosind aproximarea Taylor precizata anterior obtine urmatorul rezultat:
Lemma 2.2.3 (i) O functie diferentiabila de doua ori f : Rn R are gradient Lipschitz continuu
daca si numai daca urmatoarea inegalitate are loc:
2 f (x) L x domf.
(ii) Daca o functie diferentiabile are gradientul Lipschitz continuu atunci urmatoarea inegalitate
are loc:
L
|f (y) f (x) f (x), y x| y x2 x, y domf.
2
Interpretare: Din Lemma 2.2.3 rezulta ca functiile diferentiabile cu gradient Lipschitz continuu
sunt marginite superior de o functie patratica ce depinde de un vector x domf cu forma speciala
careia ii corespunde o matrice Hessiana L In :
f (y)

L
y x2 + f (x), y x + f (x) y domf.
2

O functie diferentiabila de doua ori are Hessiana Lipschitz continua daca exista o constanta M > 0
astfel incat
2 f (x) 2 f (y) M x y x, y domf.
Pentru aceasta clasa de functii avem urmatoarea caracterizare:

CHAPTER 2. NOTIUNI INTRODUCTIVE

15

Lemma 2.2.4 Pentru o functie diferentiabila de doua ori f : Rn R cu Hessiana Lipschitz


continua avem:
f (y) f (x) 2 f (x)(y x)

M
y x2 x, y domf.
2

Mai mult, urmatoarea inegalitate are loc:


M x yIn 42 f (x) 2 f (y)4M x yIn x, y domf.

Chapter 3

Teorie convex
a
In acest capitol prezentam notiunile de baza din teoria multimilor convexe si a functiilor convexe.

3.1

Multimi convexe

Denition 3.1.1 O multime S Rn este an


a dac
a pentru orice doi vectori x1 , x2 S si orice
scalar R avem x1 + (1 )x2 S (i.e. dreapta generat
a de oricare dou
a puncte din S este
inclus
a in S).

=1.3
=1

x1

=0.5

=0

x2
=-0.3

Figure 3.1: Multime ana generata de doua puncte: x1 si x2 .


Example 3.1.2 Multimea solutiilor unui sistem liniar Ax = b, unde A Rmn si b Rm , este
16


CHAPTER 3. TEORIE CONVEXA

17

multime an
a, i.e. multimea {x Rn : Ax = b} este an
a.
O combinatie an
a de p vectori {x1 , . . . , xp } Rn este denita astfel:
p

i xi ,

unde

i=1

i = 1, i R.

i=1

Acoperirea an
a a multimii S Rn , notata A(S), reprezinta multimea ce contine toate
combinatiile ane nite posibile ale punctelor din S:

i = 1, i R .
i xi : xi S,
A(S) =

iI, I nit
a

Cu alte cuvinte A(S) este multimea ana cea mai mica ce l contine pe S.
Denition 3.1.3 Multimea S Rn se numeste convex
a dac
a pentru oricare dou
a puncte x1 , x2
S si un scalar [0 1] avem x1 + (1 )x2 S (i.e. segmentul generat de oricare dou
a puncte
din S este inclus n S).

x1

x2

x2

x1

Figure 3.2: Exemplu de multime convexa (stanga) si multime neconvexa (dreapta).


Rezulta imediat ca orice multime ana este multime convexa. Mai departe, o combinatie convex
a
de p vectori {x1 , , xp } Rn este denita de:
p

i xi ,

unde

i=1

i = 1, i 0.

i=1

Acoperirea convex
a a multimii S, notata Conv(S), reprezinta multimea ce contine toate combinatiile
convexe nite posibile dintre punctele multimii S:

i xi : xi S,
i = 1, i 0 .
Conv(S) =

iI,I nit


CHAPTER 3. TEORIE CONVEXA

18

Se observa ca acoperirea convexa a unei multimi este cea mai mica multime convexa ce contine
multimea data. Rezulta ca daca S este convexa, atunci acoperirea convexa a lui S coincide cu S.
Theorem 3.1.4 (Teorema lui Caratheodory) Daca S Rn este o multime convexa atunci
orice element din S este o combinatie convexa de cel mult n + 1 vectori din S.

Figure 3.3: Acoperirea convexa a unei multimi neconvexe.


Un hiperplan este o multime convexa denita de
{
}
x Rn : a T x = b ,

a = 0, b R.

Un semiplan este multimea convexa denita de relatia


{
}
{
}
x Rn : a T x b
sau
x Rn : a T x b ,
unde a = 0 si b R. Un poliedru este multimea convexa denita de un numar m de hiperplane
a

aT xb
x0

aT xb
aT x=b

Figure 3.4: Hiperplanul denit de aT x = b si semiplanele corespunzatoare


si/sau un numar p de semiplane:
{
}
x Rn : aTi x bi i = 1, . . . , m, cTj x = dj j = 1, , p = {x Rn : Ax b, Cx = d} .


CHAPTER 3. TEORIE CONVEXA

19

O alta reprezentare a poliedrului este data de varfurile(nodurile) sale:

n1
n2
n1

i v i +
j rj :
i = 1, i 0, j 0 i, j ,

i=1

j=1

i=1

unde vi se numesc varfuri(noduri) si rj se numesc raze ane. Un politop reprezinta un poliedru


marginit.

Figure 3.5: Poliedru nemarginit generat de 3 varfuri si 2 raze ane.

O bila cu centrul in punctul x0 Rn si raza r > 0 este o multime convexa denita de relatia:
B(x0 , r) = {x Rn : x x0 r}
sau, in mod echivalent:
B(x0 , r) = {x Rn : x = x0 + ru, u 1} .

Un elipsoid este multimea convexa denita de:


{
}
x Rn : (x x0 )T Q1 (x x0 ) 1} = {x0 + Lu : u 1 ,
unde Q 0 si Q = LT L.


CHAPTER 3. TEORIE CONVEXA

20
a5

a1

a4

a2
a3

Figure 3.6: Poliedru marginit (politop), format din intersectia a 5 semiplane.

3.1.1

Conuri

Denition 3.1.5 O multime K se numeste con daca pentru orice x K si R+ avem x K.


Conul K se numeste con convex daca in plus K este multime convexa.

Combinatie conica de p vectori {x1 , , xp } Rn este denita in felul urmator:


p

i x i ,

unde i 0 i.

i=1

Acoperirea conica a unei multimi S, notata Con(S), reprezinta multimea ce contine toate combinatiile conice nite posibile ale elementelor din S:

Con(S) =
i xi : xi S, i 0

iI,I nit

Se observa ca acoperirea conica a unei multimi reprezinta cel mai mic con ce contine multimea
data.


CHAPTER 3. TEORIE CONVEXA

21

x1

x2
0

Figure 3.7: Acoperirea conica generata de x1 si x2 .


Pentru un con K dintr-un spatgiu Euclidian inzestrat cu un produs scalar , , conul dual aferent,
notat K , este denit astfel:
K = {y : x, y 0 x K} .
Observam ca conul dual este intotdeauna o multime inchisa. Folosind relatia x, y = xy cos (x, y)
ajungem la concluzia ca unghiul dintre un vector ce apartine lui K si unul ce apartine lui K este
mai mic decat 2 . Daca conul K satisface conditia K = K , atunci multimea K se numeste con
auto-dual.
Example 3.1.6 Expunem in cele ce urmeaza exemple de conuri:
Multimea Rn este un con iar conul s
au dual este (Rn ) = {0}.
Rn+ = {x Rn : x 0} se numeste conul orthant si este auto-dual in raport cu produsul
scalar uzual x, y = xT y, i.e. (Rn+ ) = Rn+ .
{
}
Ln = [xT t]T Rn+1 : x t se numeste conul Lorentz sau conul de inghetata si este
de asemenea, auto-dual in raport cu produsul scalar [xT t]T , [y T v]T = xT y + tv, i.e.
(Ln ) = Ln .
n = {X S n : X 0} reprezinta conul semidenit si este auto-dual in raport cu produsul
S+
n ) = S n .
scalar X, Y = Tr(XY ), i.e. (S+
+


CHAPTER 3. TEORIE CONVEXA

22

Figure 3.8: Acoperirea conica generata de multimea S.

3.1.2

Operatii ce conserva proprietatea de convexitate a multimilor

intersectia de multimiconvexe este o multime convexa, i.e. daca familia de multimi {Si }iI
este convexa, atunci iI Si este de asemenea, convexa.
suma a doua multimi convexe S1 si S2 este de asemenea, convexa: S1 +S2 = {x + y : x S1 , y S2 }.
Mai mult, S = {x : x S} este convexa daca multimea S este convexa si R.
translatia unei multimi convexe S este de asemenea, convexa, i.e. e o functie ana
f (x) = Qx + b, atunci imaginea lui S prin f , f (S) = {f (x) : x S}, este convexa. Similar,
preimaginea: f 1 (S) = {x : f (x) S} este de asemenea, convexa.
denim o functie p : Rn+1 Rn , cu dom p = Rn R++ ca p(z, t) = z/t, numit
a si
functie de perspectiva. Aceasta functie scaleaza (normalizeaza) vectori astfel ncat ultima
componenta sa e 1 si apoi eliminata (functia returneaza doar primele n componente din
vectorul normalizat). Daca C dom p este o multime convexa, atunci imaginea sa prin p,
p(C) = {p(x) : x C} este o multime convexa.
o functie liniar-fractionala este formata prin compunerea functiei perspectiv cu o funtie
ana. Fie o functie ana g : Rn Rm+1 , anume:
[ ]
[ ]
A
b
g(x) = T x +
c
d
unde A Rmn , b Rm , c Rn si d R. Functia f : Rn Rm data de f = p g, i.e
{
}
f (x) = (Ax + b)/(cT x + d), dom f = x Rn : cT x + d > 0


CHAPTER 3. TEORIE CONVEXA

23

Figure 3.9: Conul Lorentz.


se numeste functie liniar-fractionala. Astfel, daca multimea C este convexa si apartine
domeniului lui f , i.e. cT x + d > 0 pentru x C, atunci imaginea sa prin f , f (C), este
convexa.

Inegalitati Matriceale Liniare (Linear Matrix Inequalities- LMI): Se poate arata usor
n este convexa. Consideram o functie G : Rm
ca multimea matricilor
pozitiv semidenite S+

m
n , G(x) = A +
m este un vector iar matricele A , , A
n
S+
0
0
m S sunt
i=1 xi Ai , unde x R
simetrice. Expresia
G(x)<0
se numeste inegalitate matriceala liniara (LMI). Aceasta deneste o multime convexa {x Rm :
n prin G(x).
G(x)<0}, cu rolul de preimagine a lui S+

Exemplu din controlul sistemelor:

Fie un sistem discret liniar invariant n timp (LTI):


xt+1 = Axt ,

unde A Rnn . Acest sistem este asimptotic stabil (adica limt xt = 0 pentru orice stare
initiala x0 Rn ) daca si numai daca exista o functie Lyapunov patratica V (x) = xT P x astfel
ncat:
V (x) > 0 x Rn si V (xt+1 ) V (xt ) < 0 t 0.


CHAPTER 3. TEORIE CONVEXA

24

Aceste inegalitati de matrici pot exprimat ca LMI:


AT P A P 0 si P 0.
In mod echivalent, sistemul este asimptotic stabil daca maxi=1,...,n |i (A)| < 1.
In control intalnim adesea inegalitati matriceale cu necunoscutele P si R, de forma:
P AT R1 A 0, P 0
ce pot scrise (prin folosirea complementului Schur), n mod echivalent ca un LMI:
[
]
P AT
0.
A R

Theorem 3.1.7 (Teorema de separare cu hiperplane) Fie S1 si S2 doua multimi convexe


astfel incat S1 S2 = . Atunci, exista un hiperplan ce separa aceste multimi, i.e. exista a = 0 si
b R astfel incat aT x b oricare ar x S1 si aT x b oricare ar x S2 .

Figure 3.10: Teorema de separare cu hiperplane.


Theorem 3.1.8 (Teorema de suport cu hiperplane) Fie S o multime convexa si x0 bd(S) =
cl(S) int(S). Atunci exista un hiperplan de suport pentru S in punctul x0 , i.e. exista a = 0
astfel incat aT x aT x0 oricare ar x S.


CHAPTER 3. TEORIE CONVEXA

3.2

25

Functii convexe

reaminti ca domeniul s
Fie data o functie f : Rn R,
au efectiv este multimea: domf =
n
{x R : f (x) < }.
Denition 3.2.1 Functie f se numeste convex daca domeniul sau efectiv domf este o multime
convexa si urmatoarea relatie are loc:
f (x1 + (1 )x2 ) f (x1 ) + (1 )f (x2 ),
pentru orice x1 , x2 domf si [0, 1].
Dac
a
f (x1 + (1 )x2 ) < f (x1 ) + (1 )f (x2 ),
pentru orice x1 = x2 domf si (0, 1), atunci f se numeste functie strict convexa.
Daca exista o constanta > 0 astfel incat
f (x1 + (1 )x2 ) f (x1 ) + (1 )f (x2 )

(1 )x1 x2 2 ,
2

pentru orice x1 , x2 domf si [0, 1], atunci f se numeste functie tare convexa.
Inegalitatea lui Jensen este o generalizare a denitiei anterioare si ne spune ca f este o functie
convexa daca si numai daca
( p
)
p

f
i f (xi )
i xi
p

i=1

i=1

pentru orice xi domf si i=1 i = 1 cu i [0 1] pentru orice i = 1, . . . , p. Interpretarea geometrica a convexitatii este foarte simpla. Pentru o functie convexa, e doua puncte din domeniul
sau x, y domf , atunci valorile functiei evaluate in punctele din intervalul [x, y] sunt mai mici
decat cele de pe segmentul ce uneste punctele x si y. Cu alte cuvinte, valorile functiei (convexe)
in punctele segmentului x + (1 )y, pentru [0, 1] sunt mai mici sau egale cu inaltimea
corzii ce uneste coordonatele (x, f (x)) si (y, f (y)).
este convexa daca si numai daca restrictia domeniului sau
Remark 3.2.2 O functie f : Rn R
la o dreapta (care intersecteaza domeniul) este de asemenea, convexa. Cu alte cuvinte, f este
convexa daca si numai daca oricare ar x domf si o directie d Rn , functia g() = f (x + d)
este convexa pe domeniul { R : x + d domf }. Aceasta proprietate este utila in anumite
probleme in care se doreste sa se arate convexitatea unei functii.


CHAPTER 3. TEORIE CONVEXA

26

f(x)+(1) f(y))

f( x+(1)y)
0.6

0.4

0.2

0.2

0.4

0.6

0.8

Figure 3.11: Exemplu de functie convexa, f (x) = x2 .


se numeste concava daca f este convexa.
O functie f : Rn R

3.2.1

Conditii de ordinul intai pentru functii convexe

In aceasta sectiune prezentam conditiile de convexitate de ordinul ntai pentru functii diferentiabile.
este continuu
Theorem 3.2.3 (Convexitatea functiilor de clasa C 1 ) Presupunem f : Rn R
diferentiabila si domf este o multime convexa. Atunci f este convexa daca si numai daca
f (x2 ) f (x1 ) + f (x1 )T (x2 x1 )

x1 , x2 domf.

(3.1)

Demonstratie: Mai intai aratam ca daca functia este convexa atunci inegalitatea de mai sus
are loc. Din convexitatea lui f rezulta ca pentru orice x1 , x2 domf si oricare [0, 1] avem:
f (x1 + (x2 x1 )) f (x1 ) (f (x2 ) f (x1 )),


CHAPTER 3. TEORIE CONVEXA

27

Pe de alta parte avem ca:


f (x1 + (x2 x1 )) f (x1 )
f (x2 ) f (x1 ).
+0

f (x1 )T (x2 x1 ) = lim


de unde rezulta inegalitatea (3.1).

Pentru implicatia inversa, se observa ca pentru orice z = x1 + (x2 x1 ) = (1 )x1 + x2


se satisface relatia f (z) (1 )f (x1 ) + f (x2 ). De aceea prin aplicarea relatiei (3.1) de doua
ori in punctul z se obtin urmatoarele inegalitati: f (x1 ) f (z) + f (z)T (x1 z) si f (x2 )
f (z) + f (z)T (x2 z). Prin inmultirea cu ponderile (1 ) si si apoi, insumarea celor doua
relatii avem:
(1 )f (x1 ) + f (x2 ) f (z) + f (z)T [(1 )(x1 z) + (x2 z)] .
|
{z
}
=(1)x1 +x2 z=0

Interpretarea relatiei de mai sus este simpla: tangentele la gracul unei functii convexe in orice
punct, se aa sub grac. O consecinta imediata a acestei teoreme este urmatoarea inegalitate: e
f : Rn R o functie convexa de clasa C 1 , atunci
f (x1 ) f (x2 ), x1 x2 0

3.2.2

x1 , x2 domf.

Conditii de ordinul II pentru functii convexe

o
Theorem 3.2.4 (Proprietatea de convexitate pentru functii de clasa C 2 ) Fie f : Rn R
functie de doua ori continuu diferentiabila si domf este multime convexa. Atunci f este convexa
daca si numai daca pentru orice x domf matricea Hessiana este pozitiv semidenita, i.e.
2 f (x1 )<0

x1 domf.

(3.2)

Demonstratie: Mai intai aratam ca daca functia este convexa atunci inegalitatea de mai sus
are loc. Folosim aproximarea Taylor de ordin II a lui f in punctul x intr-o directie arbitrara
d Rn :
1
f (x1 + td) = f (x1 ) + f (x1 )T td + t2 dT 2 f (x1 )d + R(t2 d2 ).
2
De aici obtinem
)
2 (
R(t2 d2 )
T
f
(x
+
td)

f
(x
)

tf
(x
)
d
+
lim
0.
1
1
1
t0 t2 |
{z
} |t0 {zt2 }
0, datorita (3.1).
=0

dT 2 f (x1 )d = lim


CHAPTER 3. TEORIE CONVEXA

28

Pe de alta parte, pentru demonstratia implicatiei inverse, folosim expresia restului Taylor pentru
un parametru [0, 1]:
1
f (x2 ) = f (x1 ) + f (x1 )T (x2 x1 ) + (x2 x1 )T 2 f (x1 + (x2 x1 ))(x2 x1 )
|2
{z
}
0, datorita (3.2).
f (x1 ) + f (x1 )T (x2 x1 )
si apoi utilizam conditiile de ordinul I.

Example 3.2.5
1. Functia f (x) = log(x) este convexa pe R++ deoarece 2 f (x) =

1
x2

> 0 oricare ar x > 0.

2. Functia patratica f (x) = 12 xT Qx + q T x + r este convexa pe Rn daca si numai daca Q<0,


deoarece x Rn : 2 f (x) = Q. Se observa ca orice functie ana este convexa si de
asemenea, concava.
3. Functia f (x, t) =

xT x
t

este convexa pe Rn (0, ) deoarece matricea Hessiana


[ 2
]
In
t22 x
2
t
f (x, t) =
t22 xT t23 xT x

este pozitiv denita pe aceasta multime. Pentru a scoate in evidenta acest lucru, se inmulteste la dreapta si la stanga cu v = [z T s]T Rn+1 de unde rezulta v T 2 f (x, t)v =
2
tz sx2 0 daca t > 0.
t3
Theorem 3.2.6 (Convexitatea multimilor subnivel) Pentru un scalar R, multimea subnivel
{x1 domf : f (x1 ) } a unei functii convexe f : Rn R este convexa.

Demonstratie:
de asemenea:

Daca f (x1 ) c si f (x2 ) c atunci pentru orice [0, 1] functia f satisface

f ((1 )x1 + x2 ) (1 )f (x1 ) + f (x2 ) (1 )c + c = c.

Epigraful functiei:
urmatoarea multime:

Fie functie f : Rn R, atunci epigraful functiei este denit ca ind


{
}
epif = [xT t]T Rn+1 : x domf, f (x) t .


CHAPTER 3. TEORIE CONVEXA

29

Theorem 3.2.7 (Proprietatea de convexitate a epigrafului) O functie f : Rn R este convexa


daca si numai daca epiragraful sau este o multime convexa.

3.2.3

Operatii ce conserv
a proprietatea de convexitate a functiilor

1. Daca f1 si f2 sunt functii convexe si 1 , 2 0 atunci 1 f1 +2 f2 este de asemenea convexa.


2. Daca f este convexa atunci g(x) = f (Ax + b) (i.e. compunerea unei functii convexe cu o
functie ana) este de asemenea, convexa.
3. Fie f : Rn Rm R astfel incat functia f (, y) este convexa pentru orice y S Rm .
Atunci noua functie
g(x) = sup f (x, y)
yS

este de asemenea, convexa.


4. Compunerea cu o functie convexa monotona unidimensionala: daca f : Rn R este convexa
si g : R R este convexa si monoton crescatoare, atunci functia g f : Rn R este de
asemenea, convexa.
5. Daca g si f sunt multidimensionale, i.e. g : Rk R, iar f : Rn Rk , atunci pentru funtia
h = g f , h : Rn R, h(x) = g(f (x)) = g(f1 (x), . . . , fk (x)), unde fi : Rn R putem
arma,
h este convexa daca g este convexa, g este monoton crescatoare in ecare argument iar
toate functiile fi sunt convexe
h este convexa daca g este convexa, g este monoton crescatoare in ecare argument iar
toate functiile fi sunt concave.

Functii conjugate:
prin

Fie functia f : Rn R, atunci functia conjugata, notata cu f , se deneste


f (y) =

sup y T x f (x)
{z
}
xdom f |
F (x,y)

Din discutia precedenta rezulta ca


este convexa indiferent de proprietatile lui f . Mai mult,
domf = {y Rn : f (y) nit}. O alta consecinta evidenta a denitiei este inegalitatea Fenchel :
f (x) + f (y) y T x x domf, y domf .
Example 3.2.8 Pentru functia patratica convexa f (x) =
1 T 1
2 y Q y.

1 T
2 x Qx,

unde Q 0, avem f (y) =

Chapter 4

Concepte fundamentale din teoria


optimizarii
Optimizarea are aplicatii in extrem de numeroase domenii, dintre care se pot exemplica urmatoarele:
economie: alocarea resurselor in logistica, investitii, calcularea unui portfoliu optim.
stiintele exacte: estimare si proiectare de modele pentru seturi de date masurate, proiectarea
de experimente.
inginerie: proiectarea si operarea in domeniul sistemelor tehnologice (poduri, autovehicule,
dispozitive electronice), optimizarea motoarelor de cautare.

4.1

Evolutia teoriei optimizarii

Aparitia teoriei optimizarii in problemele de extrem (minimum/maximum) incepe cu cateva secole


inaintea lui Hristos. Matematicienii din antichitate prezentau interes pentru un numar de probleme de tip izoperimetric: e.g. care este curba inchisa de lungime xata ce inconjoara suprafata
de arie maxima? In aceasta perioada au fost folosite abordari geometrice pentru rezolvarea problemelor de optimizare si determinarea punctului de optim. Cu toate acestea, o solutie riguroasa
pentru aceste tipuri de problem nu a fost gasita pana in secolul XIX. Problema izoperimetrica
isi are originile in legenda reginei Dido, descrisa de Virgil in Eneida. In primul capitol, Virgil ne
30

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

31

povesteste cum, tinuta in captivitate de propriul sau frate, regina evadeaza si stabileste fundatia
viitorului oras al Cartaginei prin delimitarea sa cu fasii din piele de bizon. In acest fel ia nastere
problema inconjurarii unei suprafete de arie maxima cu constrangerea ca perimetrul gurii rezultate sa e constant. Legenda spune ca, fenicienii au taiat pielea de bizon in fasii subtiri si in acest
fel, au reusit sa ingradeasca o suprafata foarte mare. Nu este exclus faptul ca supusii reginei sa
rezolvat o versiune practica a problemei. Fundatia Cartaginei dateaza din secolul al noualea
inainte de Hristos cand nu exista nicio urma a geometriei Euclidiene. Problem reginei Dido are o
solutie unica in clasa gurilor convexe cu conditia ca partea xata a frontierei este o linie convexa
poligonala.

Figure 4.1: Problema reginei Dido (problema izoperimetrica)

Exista si alte metode pe care matematicienii din perioada ce preceda calculul diferential le foloseau
pentru a rezolva probleme de optimizare, si anume abordarile algebrice. Una dintre cele mai
elegante este inegalitatea mediilor:
x1 + + xn
(x1 xn )1/n
n

xi 0, n 1

cu egalitate daca si numai daca x1 = = xn . O simpla aplicatie este urmatoarea: pentru a


arata ca din multimea tuturor dreptunghiurilor cu arie xa, patratul are cel mai mic perimetru,
putem folosi acesta simpla inegalitate algebrica: daca notam cu x si y laturile dreptunghiului,
atunci problema se reduce la a determina anumite valori pentru x si y astfel incat sa se minimizeze
perimetrul 2(x + y) cu constrangerea xy = A, unde A este aria data. Din inegalitatea mediillor
avem

x+y
xy = A
2

cu egalitate daca x = y = A.
Optimizarea deciziilor a devenit o stiinta incepand cu a doua jumatate a secolului XIX-lea cand
calculul diferential a fost puternic dezvoltat. Folosirea metodei gradient (adica utilizarea derivatei
functiei obiectiv) pentru minimizare a fost presentata de Cauchy in 1847. Metode de optimizare
moderne au fost pentru prima data propuse intr-o lucrare de Courant (1943) unde introduce
notiunea de functie penalitate, lucrarea lui Dantzig (1951) unde prezinta metoda simplex pentru

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

32

programare liniara, Karush-Kuhn-Tucker care deriveaza conditiile de optimalitate KKT pentru


probleme de optimizare constransa (1939,1951). Apoi, in anii 1960 foarte multe metode au fost
propuse pentru a rezolva probleme de optimizare neliniara: metode pentru optimizare fara constrangeri cum ar metoda gradientilor conjugati data de Fletcher and Reeves (1964), metode de
tip quasi-Newton data de Davis-Fletcher-Powell (1959). Metode de optimizare cu constrangeri
au fost propuse de Rosen (metoda gradientului proiectat), Zoutendijk a propus metoda directiilor fezabile (1960), Fiacco si McCcormick propune inca din anii 1970 metodele de punct interior
si exterior. Metodele de programare patratica secventiala (SQP) au fost de asemenea propuse
in anii 1970. Dezvoltarea de metode de punct interior pentru programarea liniara a inceput cu
lucrarea lui Karmakar (1984). Aceasta lucrare si patentarea ei ulterioara a determinat communitatea academica sa se reorienteze iarasi in directia metodelor de punct interior care a culminat cu
cartea lui Nesterov si Nemirovski din 1994. Pe langa metodele de tip gradient, au fost dezvoltate
si alte tipuri de metode care nu se bazau pe informatia de gradient. In aceasta directie putem
aminti metoda simplex a lui Nelder si Meade (1965). Metode speciale care exploateaza structura
particulara a unei probleme au fost de asemenea dezvoltate inca din anii 1960. A aparut de asemenea programarea dinamica ce se baza pe rezultatele lui Bellman (1952). Lasdon a atras atentia
asupra problemelor de dimensiuni mari prin cartea publicata in 1970. Optimalitatea Pareto a fost
dezvoltata pentru optimizare multiobiectiv. Metode heuristice au fost de asemenea dezvoltate:
algoritmii genetici (1975).
Un exemplu de problema simpla de inginerie civila ce poate rezolvata prin calculus este prezentat
in cele ce urmeaza. Fie doua orase localizate pe maluri diferite ale unui rau cu latime constanta
w; orasele se aa la distanta a si respectiv b de rau, cu o separare laterala d. Problema consta in
a aa locatia de constructie a unui pod pentru a face cat mai scurta posibil calatoria intre cele
doua orase. Aceasta problema se poate pune ca o problema de optimizare:
min f (x),
x

unde f (x) =
ad
x = a+b
.

4.2

x2 + a2 + w + b2 + (d x)2 . Impunand f (x) = 0, obtinem locatia optima

Care sunt caracteristicile unei probleme de optimizare?

O problema de optimizare contine urmatoarele trei ingrediente:


O functie obiectiv, f (x), ce va minimizata sau maximizata,
variabile de decizie, x, care se pot alege dintr-o anumita multime, si

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

33

Figure 4.2: Aplicatie a localizarii optime.


constrangerile ce vor respectate, e.g. de forma g(x) 0 (constrangeri de inegalitate)
si/sau h(x) = 0 (constrangeri de egalitate).
Formulare matematica in forma standard a unei probleme de optimizare este urmatoarea:
(N LP ) :

min f (x)

(4.1)

xRn

s.l.

g(x) 0, h(x) = 0.

functia vectoriala ce deneste constrangerile de


In aceasta problema, functia obiectiv f : Rn R,
n
m
inegalitate g : R R si functia vectoriala ce deneste constrangerile de egalitate h : Rn Rp
se presupune de obicei a diferentiabile. Observam ca inegalitatile si egalitatile au loc pentru
ecare componenta:
g(x) 0

gi (x) 0,

i = 1, . . . , m

h(x) = 0

hj (x) = 0,

j = 1, . . . , p.

Example 4.2.1
min x21 + x22

xR2

s.l.

x 0, x21 + x2 1 0
x1 x2 1 = 0.

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

34

In acest exemplu avem:


- functia obiectiv f (x) = x21 + x22 este functie convexa
- avem 3 constrangeri de inegalitate: g : R2 R3 , unde g1 (x) = x1 , g2 (x) = x2 si g3 (x) =
x21 + x2 1
- o singura constrangere de egalitate: h(x) = x1 x2 1
Denition 4.2.2
1. Multimea {x Rn : f (x) = c} este multimea nivel a functiei f pentru valoarea c R.
2. Multimea fezabila a problemei de opotimizare(NLP) este
X = {x Rn : g(x) 0, h(x) = 0}.
3. Punctul x Rn este un punct de minim global (adesea denumit minim global) daca si
numai daca x X si f (x ) f (x) oricare ar x X.
4. Punctul x Rn este un punct strict de minim global daca si numai daca x X si
f (x ) < f (x) oricare ar x X \ {x }
5. Punctul x Rn este minim local daca si numai daca x X si exista o vecinatate N a lui
x (e.g. o bila deschisa cu centrul in x ) astfel incat f (x ) f (x) oricare ar x X N .
6. Punctul x Rn este un punct strict de minim local daca si numai daca x X si exista o
vecinatate N a lui x astfel incat f (x ) < f (x) oricare ar x (X N ) \ {x }.

Example 4.2.3 Pentru urmatoarea problema unidimensionala


min
xR

s.l.
functia obiective este f (x) =
1.1} = [0.1 1.1]

cos 5x
x

cos 5x
x
x 0.1, x 1.1
si multimea fezabila este X = {x R : x 0.1, x

trei puncte de minim local


un singur minim global.
In teoria optimizarii un aspect important il reprezinta existenta punctelor de minim. Urmatoarea
teorema ne arata cand astfel de puncte de optim exista:

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

35

Punct de maxim local

Punct de maxim global

Punct de minim local x*L


Punct de minim local x*L
Punct de minim global x*

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.1
x

Figure 4.3: Puncte de minim local (xL ) si punctul de minim global (xG ) pentru f (x) = cos(5x)/x
in intervalul [0.1 1.1].
Theorem 4.2.4 (Weierstrass) Daca multimea fezabila X Rn este compacta (i.e. marginita si
inchisa) si f : X R este continua atunci exista un punct de minim global pentru problema de
minimizare minxX f (x).

Proof: Observam ca gracul functiei f poate reprezentat prin G = {(x, t) Rn R : x


X, f (x) = t}. Multimea G este o multime compacta si proiectia lui G pe ultima sa coordonata este
de asemenea compacta. Mai exact, multimea ProjR G = {t R : x Rn astfel incat (x, t) G}
este un interval compact [fmin fmax ] R. Prin constructie, exista cel putin un x X astfel
incat (x , fmin ) G.
Din teorema anterioara concluzionam ca punctele de minim exista in conditii relativ generale.
Cu toate ca demonstratia a fost constructiva, nu conduce catre un algoritm ecient pentru a
gasi punctul de minim. Scopul acestei lucrari este de a prezenta principalii algoritmi numerici de
optimizare care determina punctele de optim.

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

4.3

36

Tipuri de probleme de optimizare

Pentru alegerea algoritmului potrivit pentru o problema practica, avem nevoie de o clasicare a
acestora si informatii despre structurile matematice exploatate de ei. Inlocuirea unui algoritm
inadecvat cu unul ecient poate scurta gasirea solutiei cu mai multe ordine de magnitudine.

4.3.1

Programare Neliniara (NLP - NonLinear Programming)

Acest curs trateaza in principal algoritmi proiectati pentru probleme generale de Programare
Neliniara (NLP) de forma:
(N LP ) :

min f (x)

(4.2)

xRn

s.l. g(x) 0,

h(x) = 0,

g : Rn Rm si h : Rn Rp , se presupun a continuu diferentiabile


unde functiile f : Rn R,
cel putin odata, iar in unele cazuri de doua sau de mai multe ori.

x1

Figure 4.4: Problema de impachetare.


Minimizarea dimensiunii unui pachet - Care este cel mai mic pachet ce contine 3 obiecte
rotunde de raze r1 , r2 si r3 date? Consideram problema in R2 , extensia in R3 este imediata.
Notam cu (xi , yi ) coordonatele plane ale celor 3 obiecte si cu l si L laturile pachetului. Dorim sa

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

37

minimizam aria l L astfel incat urmatoarele constrangeri au loc:


- ecare obiect se aa in pachet:
xi ri , yi ri ,

xi l ri , yi L ri i = 1, 2, 3

- dimensiunile sunt numere positive


xi 0, yi 0, l 0, L 0 i = 1, 2, 3
- cele 3 obiecte nu se suprapun
(xi xj )2 + (yi yj )2 (ri + rj )2 i = j = 1, 2, 3.
In acest caz, problema de mai sus se poate pune ca o problema de optimizare (NLP) unde variabila
de decizie este x = [x1 y1 x2 y2 x3 y3 l L]T :
min l L

xR8

s.l. x 0, xi ri , yi ri ,

xi l ri , yi L ri

(xi xj ) + (yi yj ) (ri + rj )2 i = j = 1, 2, 3.


2

Observam ca in problema de mai sus functia obiectiv f (x) = l L nu este convexa. In anumite
situatii insa, multe dintre probleme prezinta structuri particulare, care pot exploatate pentru
o rezolvare mai rapida a acestora. In cele ce urmeaza enumeram cele mai importante clase de
probleme de optimizare.

4.3.2

Programare Liniara (LP - Linear Programming)

In cazul in care functiile f, g si h din formularea generala (4.2) sunt ane, problema NLP devine
un Program Liniar (LP - Linear Program). Mai exact, un LP poate denit ca:
(LP ) :

min cT x

xRn

s.l.

(4.3)

Cx d 0, Ax b = 0.

Datele problemei sunt: c Rn , A Rpn , b Rp , C Rmn , si d Rm . Se observa ca putem


adauga o constanta la functia obiectiv, i.e. avem f (x) = cT x + c0 , insa asta nu schimba punctul
de minim x .
Aplicatie nanciara: Consideram un numar n de produse nanciare si xi reprezinta suma
investita in activul i. Notam cu ri (t) = 1+ rata de rentabilitatea si ci rata de rentabilitate medie

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

peste o perioada de T ani (adica ci =

1
T

t=1 ri (t))

max

xRn

38

a produsului i. Dorim sa maximizam protul:

ci xi

i=1

s.l. x 0,

xi = 1.

i=1

LP-urile pot rezolvate foarte ecient. Inca din anii 1940 aceste probleme au putut rezolvate
cu succes, odata cu aparitia metodei simplex dezvoltata de G. Dantzig. Metoda simplex este o
metoda de tip multime activa si care este in competitie cu o clasa la fel de ecienta de algoritmi
numiti algoritmi de punct interior. In zilele noastre se pot rezolva LP-uri chiar si cu milioane de
variabile si constrangeri, orice student din domeniul nantelor avand in curriculum principalele
metode de rezolvare a acestora. Algoritmii specializati pentru LP nu sunt tratati in detaliu in acest
curs, insa trebuie recunoscuti atunci cand sunt intalniti in practica avand la dispozitie mai multe
produse software: CPLEX, SOPLEX, lp solve, lingo, MATLAB (linprog), SeDuMi, YALMIP.

4.3.3

Programare Patratica (QP - Quadratic Programming)

Daca in formularea generala NLP (4.2) constrangerile g si h sunt ane (ca si in cazul problemei
LP), insa functia obiectiv este o functie patratica, problema care rezulta se numeste Problema de
Programare Patratica (QP - Quadratic Program). O problema generala QP poate formulata
dupa cum urmeaza:
(QP ) :

min

xRn

s.l.

1 T
x Qx + q T x + r
2
Cx d 0, Ax b = 0.

(4.4)

Aici, in plus fata de datele problemei LP, avem matricea Hessiana simetrica Q Rnn . Numele
sau provine din relatia 2x f (x) = Q, unde f (x) = 12 xT Qx + q T x + r.
Daca matricea Hessiana Q este pozitiv semi-denita (i.e. Q 0) atunci numim problema QP (4.4)
o problema QP convexa. QP-urile convexe sunt cu mult mai usor de rezolvat global decat QPurile neconvexe (i.e., unde matricea Hessiana Q nu este pozitiv semi-denita), ce pot avea diferite
minime locale. Daca matricea Hessiana Q este positiv denita (i.e. Q 0) numim problema
QP (4.4) o problema QP strict convexa. QP-urile strict convexe sunt o subclasa a problemelor
QP convexe, dar de cele mai multe ori mai usor de rezolvat decat QP-urile care nu sunt strict
convexe.

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

39

Example 4.3.1 Exemplu de QP care nu este convex:


[
]
[ ]T
1 T 5 0
0
x
x+
x
0 1
2
2

min

xR2

s.t.

1 x1 1
1 x2 10.

Aceasta problema are minime locale in x1 = [0 1]T si x2 = [0 10]T , insa doar x2 este minim
global.
Exemplu de QP strict convex:
[
]
[ ]T
1 T 5 0
0
min x
x+
x
0 1
2
xR2 2
s.t.

1 x1 1
1 x2 10.

Problema de mai sus are un punct de minim local (strict) unic in x = [0 1]T care este de
asemenea minim global.

Aplicatie nanciara - continuare: Observam ca in problema considerata in sectiunea 4.3.2


nu s-a luat in considerare riscul. Riscul este dat de uctuatia ratei de rentabilitate ri (t) dea
lungul celor T ani. Minimizarea riscului este echivalenta cu minimizarea variantei investitiei
(risk averse). In acest caz, matricea de covarianta Q se exprima astfel:
Qij =

2
ij

T
1
(ri (t) ci )(rj (t) cj ).
=
T
i=1

Problema minimizarii riscului poate formulata ca un QP:


1 T
x Qx
2
n
n

s.l. x 0,
ci xi R,
xi = 1.
min

xRn

i=1

Constrangerea

i=1 ci xi

i=1

R se impune pentru a asigura cel putin un prot R.

In practica avem la dispozitie mai multe produse software pentru rezolvarea de QP-uri: MOSEC,
MATLAB (quadprog), SeDuMi, YALMIP.

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

4.3.4

40

Optimizare Convexa (CP - Convex Programming)

Ambele tipuri de probleme LP si QP apartin unei clase mai largi de probleme de optimizare,
si anume probleme de optimizare convexe. O problema optimizare cu o multime fezabila X
convexa si o functie obiectiv convexa f se numeste problema de optimizare convexa (CP - Convex
Programming), i.e.
(CP ) :

min f (x)

xRn

(4.5)

s.l. g(x) 0, Ax b = 0,
unde f : Rn R si componentele lui g : Rn Rm sunt functii convexe si constrangerile de
egalitate sunt descrise de functii ane h(x) = Ax b, unde A Rpn si b Rp .
Example 4.3.2 Programare patratica cu constrangeri patratice (Quadratically Constrained Quadratic
Program (QCQP)): O problema de optimizare convexa de forma (4.5) cu functiile f si componentele lui g patratice convexe, se numeste problema patratica cu constrangeri patratice:
(QCQP ) :

minn

xR

s.l.

1 T
x Qx + q T x + r
2
1 T
x Qi x + qiT x + ri 0 i = 1, . . . , m
2
Ax b = 0.

Alegand Q1 = = Qm = 0 obtinem o problema uzuala QP, iar daca in plus alegem Q = 0


obtinem un LP. De aceea, clasa problemelor QCQP contine si clasa LP-urilor si pe cea a QPurilor.

Analiza statistica: Analiza datelor si interpretarea acestora intr-un sens cat mai corect este
preocuparea principala din domeniul statisticii. Problema centrala de care se ocupa aceasta

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

41

disciplina se formuleaza in urmatorul mod: pe baza unei colectii de date cunoscute (reprezentate
in gura prin puncte), sa se realizeze predictia cu o eroare cat mai mica a unui alt set de date
partial cunoscut. In termeni matematici, aceasta problema presupune determinarea unei directii
de-a lungul careia elementele date (punctele) tind sa se alinieze, astfel incat sa se poata predicta
zona de aparitie a punctelor viitoare. S-a constatat ca directia de cautare este data de vectorul
singular corespunzator celei mai mici valori singulare al matricii formate din colectia de puncte
date, ce poate gasit prin intermediul unei probleme de optimizare convexa:
minn

xR

s.l.

1 T T
x A Ax
2
xT x 1,

unde A Rmn reprezinta matricea ale carei coloane sunt vectorii (punctele) cunoscute initial
a1 , . . . , an .

Example 4.3.3 Programare semidenita (SDP - Semidenite Programming) O clasa importanta


de probleme de optimizare convexa foloseste inegalitati liniare matriceale (LMI) pentru a descrie
multimea fezabila. Datorita naturii constrangerilor ce impun ca anumite matrici sa ramana pozitiv
semi-denite, aceasta clasa de probleme se numeste Programare Semidenita (SDP). O problema
generala SDP poate formulata dupa cum urmeaza:
(SDP ) :

min cT x

xRn

s.l.

A0 +

Ai xi 40, Ax b = 0,

i=1

unde matricile Ai S m oricare ar i = 0, . . . , n. Remarcam ca problemele LP, QP, si QCQP


pot de asemenea formulate ca probleme SDP. Programarea Semidenita este un instrument des
utilizat in teoria sistemelor si control.

Minimizarea valorii proprii maxime: a unei matrici poate formulata ca o problema SDP.
Avem o matrice
depinde an de anumite variabile structurale x Rn , i.e.
n simetrica G(x) care
m
G(x) = A0 + i=1 Ai xi cu Ai S oricare ar i = 0, , n. Daca dorim sa minimizam valoarea
proprie maxima a lui G(x) in functie de x, i.e. sa rezolvam
min max (G(x))

xRn

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

42

putem formula aceasta problema ca un SDP, dupa cum urmeaza: adaugand o variabila auxiliara
t R si tinand cont ca t max (G(x)) este echivalent cu un LMI tIm <G(x) obtinem
min

tR,xRn

s.l.

tIm

Ai xi A0 <0.

i=1

Doua produse software excelente pentru formularea si rezolvarea problemelor de optimizare convexa in mediul de programare MATLAB sunt YALMIP si CVX, ce se pot gasi open-source si sunt
foarte usor de instalat.

4.3.5

Probleme de Optimizare Neconstransa

Orice NLP fara constrangeri se numeste problema de optimizare neconstransa (Unconstrained


Nonlinear Programming (UNLP)). Are forma generala:
(U N LP ) :

min f (x).

xRn

(4.6)

Metode numerice de optimizarea neliniara fara constrangeri va subiectul Partii II a acestei


lucrari, in timp ce algoritmi pentru probleme generale constranse vor studiate in Partea a III-a.
Cel mai utilizat software pentru programare neconstransa este Matlab cu functiile fminunc si
fminsearch.
Probleme de Optimizare Nediferentiabila: Daca una sau mai multe functii f, g si h din
structura problemei (4.2) nu sunt diferentiabile avem o problem de optimizare nediferentiabila.
Problemele de optimizare nediferentiabila sunt mult mai greu de rezolvat decat NLP-urile generale.
Exista un numar mai redus de algoritmi pentru a rezolva astfel de probleme: metoda subgradient,
metoda Nelder-Mead, cautare aleatoare, algoritmi genetici, etc. De obicei acesti algorithmi sunt
de regula mult mai slabi din punct de vedere numeric decat algoritmii bazati pe informatie de tip
gradient si Hessiana (si care sunt subiectul acestui curs).

CHAPTER 4. CONCEPTE FUNDAMENTALE DIN TEORIA OPTIMIZARII

4.3.6

43

Programare mixta cu intregi (MIP - Mixed Integer Programming)

O problema de programare mixta cu intregi este o problema in care anumite variabile de decizie
sunt constranse la o multime de numere intregi. Un MIP poate formulat dupa cum urmeaza:
(M IP ) :

min

xRn ,zZm

s.l.

f (x, z)

g(x, z) 0,

h(x, z) = 0.

In general, aceste probleme sunt foarte greu de rezolvat, datorita naturii combinatoriale a variabilei
z. Cu toate astea, daca problema relaxata, unde variabilele z nu mai sunt restranse la intregi, ci
la multimi de numere reale, este convexa, de regula exista algoritmi ecienti pentru rezolvarea
lor. Algoritmii ecienti de gasire a solutiei sunt adesea bazati pe tehnica branch-and-bound, care
foloseste probleme partial relaxate unde unele variabile din z sunt xate la anumite valori intregi si
unele sunt relaxate exploatand proprietatea ca solutia problemelor relaxate este intotdeauna mai
buna decat orice solutie cu componente intregi. In acest fel, cautarea in tree poate avea loc mult
mai ecient decat o pura vericare a elementelor multimii fezabile. Doua exemple importante de
asemenea probleme sunt date in cele ce urmeaza:
Program liniar mixt cu intregi (MILP): daca functiile f , g si h sunt ane in ambele variabiler
x si z obtinem un program liniar mixt cu intregi. O problema faimoasa din aceasta clasa este
problema comis-voiajorului.
Program patratic mixt cu intregi (MIQP): daca g si h sunt functii ane si f patratica
convexa in ambele variabile x si z rezulta o problema (MIQP).
Probleme (MILP)/(MIQP) de dimensiuni mici/medii (adica dimensiunea variabilei n < 100) pot
rezolvate ecient de pachete de sotware comerciale CPLEX, TOMLAB sau lp_solve.

Part II

Optimizare neconstransa

44

Chapter 5

Metode de optimizare
unidimensionala
Dupa cum vom vedea in capitolele urmatoare metodele bazate pe directii de descrestere presupun
gasirea unui pas care, ideal, trebui ales optim, astfel de metode se mai numesc si metode de cautare
exacta. In aceasta situatie, trebuie sa calculam parametrul optim ce determina valoarea minima
a functiei obiectiv f in directia d, cu alte cuvinte minimizarea functiei () = f (x + d). Din
acest motiv, in acest capitol analizam metode numerice de optimizare unidimensionala pentru
functii de o singura variabila:
min f ().
(5.1)
R

Metodele de optimizare unidimensionala se bazeaza pe cautare directa, sau pe metode de interpolare ce folosesc derivatele functiei obiectiv (sau doar valoarea functiei obiectiv). In aceste
metode principiul de baza este urmatorul: se identica intervalul [a b] R ce include punctul de
minim , numit si intervalul de cautare sau intervalul de incertitudine, urmat apoi de o reducere
iterativa a lungimii acestuia pana la o valoare ce coboara sub toleranta impusa pentru a localiza
. Ecienta acestei abordari depinde de strategia de constructie a sirului de intervale [ak bk ],
k = 1, 2, , ce il contin pe . Cele mai renumite metode de cautare unidimensionala sunt:
metoda sectiunii de aur si metoda lui Fibonacci, pe care le vom prezenta in acest capitol. Metoda
clasica Newton-Raphson si metodele secantei sunt de asemenea considerate membrii ai aceleiasi
clase. Metodele de interpolare gasesc o aproximare a lui folosind valori ale functiei obiectiv
f () in puncte din intervalul initial de cautare [a b], sau pot folosi valoare functiei obiectiv si
gradientul sau f () in anumite puncte din [a b] unde b este o aproximare initiala a lui . Prin
intermediul acestor valori se formeaza polinomul de interpolare de gradul doi sau mai mare, q(),
al functiei f () si este determinat punctul de minim
al functiei q(). Printre cele mai renumite
metode de interpolare se numara cea patratica (in doua sau trei puncte) si cea cubica.
45

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

5.1

46

Metoda forward-backward. Functii unimodale.

O metoda simpla de determinare a unui interval initial de cautare este data de metoda forwardbackward. Metoda presupune urmatorii pasi: e un punct initial 0 si lungimea pasului h0 > 0
- daca f (0 + h0 ) < f (0 ) atunci se incepe din punctul 0 + h0 si se continua cu o lungime a
pasului mai mare cat timp valoarea functiei creste
- daca f (0 + h0 ) > f (0 ), atunci ne deplasam inapoi cat timp valoarea functiei creste.
In aceste fel vom obtine un interval initial ca include valoarea optima . Metoda forwardbackward se bazeaza pe proprietatile de unimodalitate a functiilor:
Denition 5.1.1 Fie functia f : R R si un interval [a b] R. Daca exista [a b] astfel
incat f este strict descrescatoare pe intervalul [a ] si strict crescatoare pe intervalul [ b],
atunci f se numeste functie unimodala pe intervalul [a b]. Intervalul [a b] se numeste interval de
unimodalitate pentru f .
Se observa imediat ca functiile unimodale nu implica continuitate si diferentiabilitate. Urmatoarea
teorema arata ca daca f este unimodala atunci intervalul de incertitudine poate redus comparand
valorile lui f in doar doua puncte ale intervalului.
Theorem 5.1.2 Fie functia unimodala f : R R pe intervalul [a b] si 1 , 2 [a b] cu 1 < 2
atunci:
- daca f (1 ) f (2 ), atunci [a 2 ] este interval de unimodalitate pentru f .
- daca f (1 ) f (2 ), atunci [1 b] este interval de unimodalitate pentru f .
Pentru o expunere mai usoara presupunem ca punctul de minim se gaseste in R+ .

Algoritm (metoda forward-backward)


Pas 1. Fie un 0 [0 ), h0 > 0 si coecientul multiplicativ t > 1 (adesea se alege t = 2).
Evaluam f (0 ) si k = 0.
Pas 2. Comparam valorile functiei obiectiv. Actualizam k+1 = k +hk si evaluam fk+1 = f (k+1 ).
Daca fk+1 < fk , sarim la Pas. 3; altfel, sarim la Pas. 4.
Pas 3. Pas forward. Actualizam hk+1 = thk , = k , k = k+1 , fk = fk+1 si k = k + 1, sarim la
Pas 2.

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

47

Pas 4. Pas backward. Daca k = 0, inversam directia de cautare. Luam hk = hk , k = k+1 ,


sarim la Pas. 2; altfel, consideram
a = min {, k+1 } , b = max , k+1 ,
returnand intervalul [a b] si ne oprim.

5.2

Metoda sectiunii de aur si metoda lui Fibonacci

Metoda sectiunii de aur si metoda lui Fibonacci sunt metode de partitionare. Ideea din spatele
acestor metode de minimizare a functiilor unimodale pe intervalul [a b] R este reducerea
iterativa a intervalului de incertitudine doar comparand valorile functiei obiectiv. O data ce
lungimea intervalului de incertitudine este mai mica decat un prag prestabilit, atunci punctele din
acest interval pot considerate aproximari ale valorii minime a functiei in directia data. Aceasta
clasa de metode foloseste doar valoarea functiei obiectiv si are un rol important in algoritmii de
optimizare, in special cand ne confruntam cu functii obiectiv nediferentiabile sau functii obiectiv
ale caror derivate prezinta forme complicate.

5.2.1

Metoda sectiunii de aur

Consideram functia f unimodala pe intervalul [a b]. La iteratia k, metoda sectiunii de aur


determina intervalul [ak bk ]. In acest moment consideram doua puncte k , k [ak bk ] unde
k < k si calculam f (k ) si f (k ). Din teorema precedenta rezulta:

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

48

(i) Daca f (k ) f (k ) atunci ak+1 = ak si bk+1 = k .


(ii) Daca f (k ) > f (k ) atunci ak+1 = k si bk+1 = bk .
Ramane sa discutam alegerea punctelor k si k . In acest scop impunem urmatoarele trei conditii:
1. Distantele de la k si respectiv k la capetele intervalului [ak bk ] sunt egale:
bk k = k ak .

(5.2)

2. Rata de micsorarea a lungimii intervalelor de incertitudine la ecare iteratie este aceeasi,


rezultand
bk+1 ak+1 = (bk ak ) unde (0, 1).
(5.3)
3. Este necesara o singura evaluare a functiei obiectiv pentru o noua iteratie.
Daca substituim valorile ce constituie cazul (i) in (5.3) obtinem k ak = (bk ak ) si prin
combinarea cu (5.2) avem bk k = k ak . Prin rearanjarea acestor egalitati avem:
k = ak + (1 )(bk ak )

(5.4)

k = ak + (bk ak ).

(5.5)

In acest caz, noul interval este [ak+1 bk+1 ] = [ak k ]. Pentru a reduce intervalul de incertitudine
este necesara selectia parametrilor k+1 si k+1 . Din (5.5) rezulta
k+1 = ak+1 + (bk+1 ak+1 ) = ak + (k ak )
= ak + (ak + (bk ak ) ak ) = ak + 2 (bk ak ).

(5.6)

Considerand
2 = 1

(5.7)

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

(5.8)

rezulta
Astfel, k+1 coincide cu k si functia obiectiv nu necesita o evaluare deoarece valoarea sa este
stocata in k . Cazul (ii) poate demonstrat intr-o maniera similara, din care rezulta k+1 = k
astfel incat nu este necesara evaluarea functiei obiectiv.
Mai departe ne concentram spre analiza rate de reductie a intervalului de incertitudine. Rezolvand
ecuatia (5.7) obtinem

1 5
=
.
2

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

Deoarece > 0 consideram


bk+1 ak+1
=
=
bk ak

51
= 0.618
2

49

(5.9)

Inlocuind valoarea lui in (5.4) si (5.5) avem


= ak + 0.382(bk ak )

(5.10)

k = ak + 0.618(bk ak ).

(5.11)

Deoarece rata de reductie este xa la ecare iteratie, = 0.618, considerand un interval initial
[a1 b1 ], dupa k iteratii lungimea intervalului este k1 (b1 a1 ), ceea ce arata ca rata de convergenta
a metodei sectiunii de aur este liniara.

5.2.2

Metoda lui Fibonacci

Principala diferenta dintre metoda lui Fibonacci si metoda sectiunii de aur consta in denitia legii
de reductie a intervalului de incertitudine in acord cu sirul lui Fibonacci. Cu alte cuvinte, rate
de reductie nu este xa, ci variaza de la un interval la altul. Sirul lui Fibonacci {Fk } este denit
de urmatoarea lege:
F0 = F1 = 1
Fk+1 = Fk + Fk1 k = 1, 2, . . .
Daca in (5.4) si (5.5) inlocuim cu

Fkj
Fkj+1

atunci

)
(
Fkj1
Fkj
(bj aj ) = aj +
j = 1, . . . , k 1
j = aj + 1
Fkj+1
Fkj+1
j = aj +

Fkj
(bj aj ) j = 1, , k 1.
Fkj+1

(5.12)

Daca f (j ) f (j ) atunci noul interval de incertitudine este [aj+1 bj+1 ] = [aj j ]. Astfel, prin
(5.12) obtinem:
Fkj
(bj aj ),
bj+1 aj+1 =
Fkj+1
ceea ce arata reductia la ecare iteratie. Poate usor observat ca aceasta ecuatie este de asemenea valabila pentru f (j ) > f (j ). Mai departe, impunem ca lungimea intervalului nal de
incertitudine sa nu depaseasca o toleranta data > 0, adica bk ak . Luand in considerare
bj+1 aj+1 =

Fj1
F1
F1 F2
1
(bk1 ak1 ) =

(b1 a1 ) =
(b1 a1 ),
F2
F2 F3
Fk
Fk

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

avem
Fk

b1 a1
.

50

(5.13)

De aceea, avand intervalul initial [a1 b1 ] si marginea superioara putem calcula numarul Fibonacci
Fk si valoarea k din (5.13). Cautarea are loc pana la iteratia k
O observatie importanta in legatura ratele de convergenta ale metodelor studiate este ca odata
ce k metoda Fibonacci si metoda sectiunii de aur au aceeasi rata de reducere a intervalului
de incertitudine. Considerand Fk = rk atunci din denitia sirului Fibonacci avem r2 r 1 = 0
cu radacinile:

1+ 5
1 5
r1 =
, r2 =
.
2
2
k
k
Solutia generala a ecuatiei
Fk+1 = Fk +F
k1 este Fk = Ar1 +Br2 . De aceea, din conditiile initiale
F0 = F1 = 1 avem A = 1/ 5, B = 1/ 5 si

(
)k (
)k

1+ 5
1 5
1

Fk =
.

2
2
5

Cu aceste relatii deducem ca


Fk1
lim
=
k Fk

51
= .
2

(5.14)

De aceea, ambele metode impartasesc aceeasi rata de convergenta cand k insa metoda lui
Fibonacci necesita un numar mai mic de evaluari ale functiei obiectiv.

5.3

Metode de interpolare

Metodele de interpolare pentru minimizare unidimensionala sunt o alternativa foarte ecienta pentru metoda sectiunii de aur si cea a lui Fibonacci. Cea mai importanta din acesta clasa de metode
aproximeaza functia f cu un polinom de ordin doi sau trei, ce are valori identice cu derivatele
functiei in anumite puncte si in nal, calculeaza valoarea ce minimizeaza polinomul. In cazul
general in care functia obiectiv prezinta proprietati analitice bune, cum ar diferentiabilitatea
continua, atunci metodele de interpolare sunt cu mult mai superioare fata de metoda sectiunii de
aur si cea a lui Fibonacci.

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

5.3.1

51

Metode de interpolare patratice

A) Metoda de interpolare in doua puncte (prima varianta) Fie doua puncte 1 si 2 .


Presupunem cunoscute valorile functiei f in punctele corespunzatoare f (1 ) si f (2 ) si derivatele
de ordinul I in aceleasi puncte: f (1 ) si f (2 ). Construim polinomul de interpolare de ordinul
II:
q() = a2 + b + c,
ce satisface urmatoarele conditii:
q(1 ) = a12 + b1 + c = f (1 )
q(2 ) = a22 + b2 + c = f (2 )

(5.15)

q (1 ) = 2a1 + b = f (1 ).
Daca notam f1 = f (1 ), f2 = f (2 ), f1 = f (1 ) and f2 = f (2 ), atunci din (5.15) avem
a=

f1 f2 f1 (1 2 )
(1 2 )2

b = f1 + 21
Mai departe, rezulta

f1 f2 f1 (1 2 )
.
(1 2 )2

b
1
f1 (1 2 )2
= 1 +
.
2a
2 f1 f2 f1 (1 2 )

(5.16)

Si in nal, obtinem formula de interpolare patratica:


k+1 = k +

fk (k 2 )2
1
,
2 fk fk1 fk (k k1 )

(5.17)

unde fk = f (k ), fk1 = f (k1 ) fk = f (k ). Algoritmul este foarte simplu: cat timp k+1 este
determinat, se compara cu k si k1 , rezultand o reducere a lungimii intervalului de incertitudine. Acest proces se repeta pana cand lungimea intervalului scade sub un anumit prag.

B) Metoda de interpolare in doua puncte (a doua varianta) Fie doua puncte 1 si


2 , evaluarile functiei f in punctele corespunzatoare f (1 ) si f (2 ) si derivatele de ordinul I in
aceleasi puncte f (1 ) si f (2 ). Construim polinomul de interpolare
q() = a2 + b + c,

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

52

ce satisface urmatoarele conditii:


q(1 ) = a12 + b1 + c = f (1 )
q (1 ) = 2a1 + b1 + c = f (1 )

(5.18)

q (2 ) = 2a2 + b = f (2 ).
De aici se obtine:

b
1 1 2
= 1
f
2a
2 f1 f2 1

si formula iterativa:
k+1 = k

k k1
fk .

fk fk1

(5.19)

(5.20)

Theorem 5.3.1 Daca f : R R este de trei ori continuu diferentiabila si exista un astfel
incatf ( ) = 0 si f ( ) = 0, atunci sirul {k } generat de (5.20) converge la cu rata
(1 + 5)/2
= 0.618 (aceeasi ca si in cazul metodei sectiunii de aur).

C) Metoda de interpolare in trei puncte Aceasta metoda presupune cunoasterea a trei


puncte i , i = 1, 2, 3 si de asemenea, evaluarea functiei f in aceste puncte. Conditiile de interpolare sunt
q(i ) = ai2 + bi + c = fi , i = 1, 2, 3.
(5.21)
Rezolvand acest sistem avem
a=
b=

(2 3 )f1 + (3 1 )f2 + (1 2 )f3


(1 2 )(2 3 )(3 1 )

(22 32 )f1 + (32 12 )f2 + (12 22 )f3


.
(1 2 )(2 3 )(3 1 )

De aici rezulta
b
2a
1 (22 32 )f1 + (32 12 )f2 + (12 22 )f3
=
.
2 (2 3 )f1 + (3 1 )f2 + (1 2 )f3
1
1
(f1 f2 )(2 3 )(3 1 )
= (1 + 2 ) +
2
2 (2 3 )f1 + (3 1 )f2 + (1 2 )f3

si formula iterativa
1
1
(fk fk1 )(k1 k2 )(k2 k )
k+1 = (k + k1 ) +
2
2 (k1 k2 )fk + (k2 k )fk1 + (k k1 )fk2

(5.22)

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

53

Theorem 5.3.2 Fie functia f () cel putin de patru ori continuu diferentiabila si astfel incat
f ( ) = 0 si f ( ) = 0 atunci sirul {k } generat de (5.22) converge la cu rata de ordinul
1.32.

Observam ca metoda celor trei puncte are o rata de convergenta mai mica decat cea a metodelor
ce folosesc formula secantei. Explicatia consta in faptul ca metoda celor trei puncte nu foloseste
informatie data de derivatele functiei f in punctele intervalului de cautare. Cu alte cuvinte,
metoda nu tine cont de curbura functiei f . In cazul general insa, implementarile avansate folosesc
metoda formulei secantei.

5.3.2

Metode de interpolare cubica

Aceste metode aproximeaza functia obiectiv f () cu un polinom cubic. Procedura de aproximare


implica patru conditii de interpolare. In cazul general, interpolarea cubica are o rata de convergenta mai buna decat interpolarea patratica, insa presupune evaluarea derivatelor functiei si de
aceea este mai costisitoare din punctul de vedere al complexitatii.
Mai pe larg, e doua puncte 1 si 2 pentru care cunoastem valorile functiei obiectiv, f (1 ) si
f (2 ) si de asemenea, derivatele f (1 ) si f (2 ). Construim polinomul de interpolare cubica:
p() = c1 ( 1 )3 + c2 ( 1 )2 + c3 ( 1 ) + c4 ,

(5.23)

unde ci , i = 1, 2, 3, 4, sunt coecientii determinati din urmatoarele conditii:


p(1 ) = c4 = f (1 ),
p(2 ) = c1 (2 1 )3 + c2 (2 1 )2 + c3 (2 1 ) + c4 = f (2 ),
p (1 ) = c3 = f (1 ),
p (2 ) = 3c1 (2 1 )2 + 2c2 (2 1 ) + c3 = f (2 ).
Dupa cum stim, conditiile de optimalitate suciente sunt

si

p () = 3c1 ( 1 )2 + 2c2 ( 1 ) + c3 = 0

(5.24)

p () = 6c1 ( 1 ) + 2c2 > 0.

(5.25)

Rezolvand (5.24) avem


= 1 +

c2

c22 3c1 c3
, daca c1 = 0;
3c1

(5.26)

CHAPTER 5. METODE DE OPTIMIZARE UNIDIMENSIONALA

54

c3
, daca c1 = 0.
(5.27)
2c2
Pentru a satisface (5.25) consideram radacina corespunzatoare semnului + din (5.26), care impreuna cu (5.27) conduce la:

c2 + c22 3c1 c3
c
3
1 =
=
.
(5.28)
3c1
c2 + c2 3c1 c3
= 1

In cazul in care c1 = 0, (5.28) se transforma in (5.27). Atunci valoarea minima a lui p() este

= 1

c2 +

c3
c22 3c1 c3

(5.29)

exprimata in functie de c1 , c2 si c3 . Problema se reduce la exprimarea sa in functie de f (1 ),


f (2 ), f (2 ) si f (2 ). Pentru aceasta notam
s=3

f (2 ) f (1 )
, z = s f (1 ) f (2 ), w2 = z 2 f (1 )f (2 ).
2 1

Din conditiile de interpolare avem


s = 3[c1 (2 1 )2 + c2 (2 1 ) + c3 ]
z = c2 (2 1 ) + c3
w = (2 1 )2 (c22 3c1 c3 ).
2

Deci rezulta
(2 1 )c2 = z c3 ,

si

c2 3c1 c3 =

w
2 1

z + w c3
.
2 1
Insa c3 = f () si substituind (5.4) in (5.29) avem relatia
c2 +

c22 3c1 c3 =

1 =

(5.30)

(2 1 )f (1 )
,
z + w f (1 )

ce poate rescrisa in urmatoarea forma:

1 =

(2 1 )f (1 )f (2 )
(2 1 )(z 2 w2 )
(2 1 )(w z)
=
=
,

2
2
(z + w f (1 ))f (2 )
f (2 )(z + w) (z w )
f (2 ) z + w

insa aceasta relatie este lipsita de utilitate deoarece numaratorul se poate anula. De aceea consideram o forma alternativa favorabila:

1 =

(2 1 )f (1 )
.
z + w f (1 )

(5.31)

Chapter 6

Conditii de optimalitate
In aceasta parte a cursului ne concentram analiza asupra problemelor de optimizare neconstransa
de forma
(U N LP ) :
minn f (x),
(6.1)
xR

are domeniu efectiv deschis domf Rn .


unde presupunem ca functia obiectiv f : Rn R
Dupa cum am precizat si in capitolele anterioare, in acest curs consideram extensia functiei f la
n atribuindu-i valoarea + in punctele din afara domeniului efectiv. De aceea,
intreg spatiul R
cautam punctele de minim ce fac parte din multimea domf . Putem avea domf = Rn , dar de cele
mai multe ori nu este cazul, la fel ca in urmatorul exemplu unde consideram domf = (0 ) si
presupunem ca in afara multimii domf functia ia valoarea +:
min
xR

1
+ x,
x

Reamintem ca un punct x se numeste punct de minim global pentru problema (UNLP) de mai
sus daca f (x ) f (x) pentru orice x domf . Mai, mult, f = f (x ) se numeste valoarea optima
a problemei de optimizare. Un punct x se numeste punct de minim local daca exista o vecinatate
N a lui x astfel incat f (x ) f (x) pentru orice x domf N .
In optimizarea fara constrangeri o functie obiectiv des utilizata pentru a testa performanta algoritmilor este functia Rosenbrock. Aceasta este o functie nonconvexa avand urmatoarea forma:
f (x) = (1 x1 )2 + 100(x2 x21 )2 .
Se poate observa ca punctul de minim global este x = [1 1]T unde functia ea valoare optima
55

CHAPTER 6. CONDITII DE OPTIMALITATE

56

f (1, 1) = 0. Acest punct de minim se gaseste intr-o vale lunga dar ingusta ceea ce face dicila
determinarea acestui punct de minim.

Figure 6.1: Functia Rosenbrock.

6.1

Conditii Necesare de Optimalitate

O directie d Rn se numeste directie de descrestere pentru functia f C 1 in punctul x domf


daca
f (x)T d < 0.
Avem urmatoarea interpretare a acestei relatii: daca d este directie de descrestere in x domf
5

4.5

x2

3.5

2.5

f
2

1.5

0.5

1.5

x1

2.5

3.5

Figure 6.2: Multimile nivel ale functiei f (x) = x31 2x1 x22 .
atunci functia obiectiv poate scadea in jurul x. Intr-adevar, multimea domf ind deschisa, putem

CHAPTER 6. CONDITII DE OPTIMALITATE

57

gasi un t > 0 sucient de mic astfel incat oricare ar [0, t] avem x + d domf si
f (x + d)T d < 0 (datorita continuitatii lui f () in jurul lui x). Din Teorema lui Taylor, exista
un (0, t) astfel incat
f (x + td) = f (x) + t f (x + d)T d < f (x).
|
{z
}
<0

Theorem 6.1.1 (Conditii necesare de ordinul intai) Fie f o functie diferentiabila (i.e. f
C 1 ) si x domf un punct de minim local al problemei de optimizare (UNLP). Atunci gradeientul
functiei satisface relatia:
f (x ) = 0.
(6.2)

Demonstratie: Presupunem prin contradictie ca f (x ) = 0. Atunci putem arata ca d =


f (x ) este o directie de descrestere, i.e. functia obiectiv poate lua o valoare mai mica in jurul
lui x . Intr-adevar, putem gasi un t > 0 sucient de mic astfel incat oricare ar [0, t] avem
f (x + d)T d = f (x f (x ))T f (x ) < 0. Mai mult, exista un (0, t) ce satisface
f (x tf (x )) = f (x ) tf (x + f (x ))T f (x ) < f (x ).
Aceasta este o contradictie cu ipoteza ca x este un punct de minim local.

Orice punct x ce satisface conditiile necesare de ordinul I f (x ) = 0 se numeste punct stationar


al problemei de optimizare fara constrageri (UNLP).
Theorem 6.1.2 (Conditii necesare de ordinul doi) Fie f o functie de doua ori diferentiabila (i.e. f C 2 ) si x domf un punct de minim local al problemei (UNLP). Atunci hessiana
in x satisface conditia:
2 f (x )<0.
(6.3)

Demonstratie: Daca (6.3) nu este satisfacuta atunci exista un d Rn astfel incat dT 2 f (x )d <
0. Atunci, datorita continuitatii lui 2 f () in jurul lui x putem alege un parametru sucient de
mic t > 0 astfel incat oricare ar [0, t] urmatoarea relatie are loc:
dT 2 f (x + d)d < 0.
Din Teorema lui Taylor rezulta ca exista un (0, t) astfel incat:
1
f (x + td) = f (x ) + tf (x )T d + t2 dT 2 f (x + d)d < f (x ),
{z
}
| {z } 2 |
=0

<0

CHAPTER 6. CONDITII DE OPTIMALITATE

58

ceea ce intra in contradictie cu faptul ca x este un punct de minim local.

Remarcam ca conditia necesara de ordinul doi (6.3) nu este sucienta pentru ca un punct stationar
x sa e punct de minim. Acest lucru este ilustrat de functiile f (x) = x3 sau f (x) = x4 pentru
care punctul stationar x = 0 satisface conditiile necesare de ordinul doi dar nu este punct de
minim/maxim local. Observam ca x = 0 este punct sa.

6.2

Conditii suciente de optimalitate

Theorem 6.2.1 (Conditii suciente de ordinul doi) Fie f o functie de doua ori diferentiabila (i.e. f C 2 ) si x domf un punct stationar (i.e. f (x ) = 0) astfewl incat 2 f (x )0.
Atunci x este un punct strict de minim local al problemei (UNLP).

Demonstratie: Fie min valoarea proprie minima a matricii 2 f (x ). Evident, min > 0 din
moment ce este satisfacuta relatia 2 f (x )0 si mai mult,
dT 2 f (x )d min d2 d Rn .
Din aproximarea Taylor avem:
1
f (x + d) f (x ) = f (x )T d + dT 2 f (x )d + R(d2 )
2
min
min R(d2 )

d2 + R(d2 ) = (
+
)d2 .
2
2
d2
R(d )
Stiind ca min > 0 atunci exista > 0 si > 0 astfel incat min
2 + d2
ceea ce conduce la concluzia ca x este un punct strict de minim local.
2

6.3

pentru orice d ,


Conditia de Optimalitate pentru Probleme Convexe

In acesta sectiune discutam conditiile suciente de optimalitate in cazul convex. Primul rezultat
se refera la urmatoarea problema de optimizare constransa:

CHAPTER 6. CONDITII DE OPTIMALITATE

59

Theorem 6.3.1 Fie X o multime convexa si f C 1 (nu neaparat convexa). Pentru problema de
optimizare constransa
min f (x)
xX

urmatoarele conditii sunt satisfacute:


(i) Daca x este minim local atunci f (x )T (x x ) 0 x X.
(ii) Daca f este functie convexa atunci x este minim local daca si numai daca f (x )T (xx )
0 x X.

Demonstratie:

(i) Presupunem ca exista un y X astfel incat


f (x )T (y x ) < 0.

Din teoremei lui Taylor rezulta ca pentru un t > 0 exista un [0 1] astfel incat
f (x + t(y x )) = f (x ) + tf (x + t(y x ))T (y x ).
Din continuitatea lui f , alegand un t sucient de mic avem f (x + t(y x ))T (y x ) < 0
si de aceea f (x + t(y x )) < f (x ) care este in contradictie cu faptul ca x este minim local.
(ii) Daca f este convexa f (x) f (x )+f (x )(xx ) pentru orice x X si intrucat f (x )(x
x ) 0 rezulta ca f (x) f (x ) pentru orice x X, i.e. x este punct de minim global.


Theorem 6.3.2 Pentru o problema de optimizare convexa minxX f (x) (i.e. X multime convexa
si f functie convex), orice minim local este de asemenea si minim global.

Demonstratie: Fie x un minim local pentru problema de optimizare convexa de mai sus.
Aratam ca pentru orice punct y X dat avem f (y) f (x ). Intr-adevar, intrucat x este
minim local, exista o vecinatate N a lui x astfel incat pentru orice x
X N avem f (
x)

f (x ). Considerand segmentul cu capetele in x si y. Acest segment este continut in X datorita


proprietatii de convexitate a lui X. Mai departe, alegem un x
pe acest segment in vecinatatea

N , insa diferit de x , i.e. avem x


= x + t(y x ) unde t 1 si t > 0, deci x
X N . Datorita
optimalitatii locale, avem f (x ) f (
x), si datorita convexitatii lui f avem
f (
x) = f (x + t(y x )) f (x ) + t(f (y) f (x )).
Rezulta ca t(f (y) f (x )) 0, implicand f (y) f (x ) 0, asa cum am urmarit.

Theorem 6.3.3 (Conditii suciente de ordinul intai pentru cazul convex) Fie f C 1
functie convexa. Daca x este punct stationar al lui f (i.e. f (x ) = 0), atunci x este minim
global al problemei de optimizare convexa fara constrangeri minn f (x).
xR

CHAPTER 6. CONDITII DE OPTIMALITATE

Demonstratie:

60

Intrucat f este convexa avems


f (x) f (x ) + f (x )(x x ) = f (x ) x Rn
| {z }
=0

ceea ce arata ca

este minim global.

In concluzie, pentru problemele de optimizare neconstransa minxRn f (x), unde f C 1 , o conditie


necesara punctului x pentru a punct de extrem local este
f (x ) = 0.

(6.4)

In general se rezolva sistemul neliniar de ecuatii f (x ) = 0 si se verica daca solutia este


minim local sau nu, folosind conditiile de optimalitate suciente de ordinul doi. Cu toate astea,
pentru problemele convexe neconstranse minxRn f (x), unde f este convexa, o conditie necesara
si sucienta pentru ca punctul x sa e minim global este
f (x ) = 0.

6.4

(6.5)

Analiza perturbatiilor

In domeniile numerice ale matematicii, nu exista posibilitati de a evalua o functie cu o precizie mai
mare decat cea oferita de masinile de calcul. De aceea, de cele mai multe ori se calculeaza doar
solutii pentru probleme ale caror date sunt perturbate, iar interesul se indreapta catre minimele
stabile la aparitia perturbatiilor. Acesta este cazul punctelor de minim stricte locale ce satisfac
conditia sucienta de ordinul doi.
In acest scop ne indreptam atentia catre functii f (x, a) ce depind nu doar de x Rn dar si de
un parametru de perturbatie a Rm . Suntem interesati de familia parametrica de probleme
minx f (x, a) ce produce minime de forma x (a) ce depind de a.
Theorem 6.4.1 (Stabilitatea Solutiilor Parametrice)
Presupunem ca f : Rn Rm R este C 2 , si avem in vedere minimizarea functiei f (, a
) pentru
m
o valoarea xata a
R . Daca x
satisface conditiile suciente de ordinul II, i.e. x f (
x, a
) = 0
x, a
)0, atunci exista o vecinatate N Rm in jurul lui a
astfel incat functia parametrica
si 2x f (
de minim x (a) este bine denita pentru orice a N , este diferentiabila pe N , si x (
a) = x
.
Derivata sa in punctul a
este data de
(
)1 ( f (
(x (
a))
))
x x, a
= 2x f (
x, a
)
.
(6.6)
a
a

CHAPTER 6. CONDITII DE OPTIMALITATE

61

Mai mult, ecare x (a) cu a N satisface conditiile suciente de ordinul II si de aceea, este un
minim strice local.

Demonstratie: Existenta aplicatiei diferentiabile x : N Rn reiese din teorema functiilor


implicite aplicata conditiei de stationaritate x f (x (a), a) = 0. Prezentam derivarea ecuatiei
(6.6) prin urmatoarea procedura
0=

(x f (x (a), a))
(x f (x (a), a)) x (a) (x f (x (a), a))
=

+
a
x
a
|
{z
} a
=2x f

Faptul ca toate punctele x (a) satisfac conditiile suciente de ordinul II reiese din continuitatea
celei de-a doua derivate.


Chapter 7

Convergenta metodelor de
descrestere
In Capitolul 6 s-a remarcat ca pentru aarea unui punct de minim local/global corespunzator
unei probleme de optimizare neconstransa
min f (x),

xRn

(7.1)

este nevoie de rezolvarea unui sistem de n ecuatii f (x ) = 0 cu n necunoscute x . In unele


cazuri acest sistem paote rezolvat analitic:
Example 7.0.2 (QP Neconstrans) Consideram urmatoarea problema de tip QP convex neconstransa
1
min xT Qx + q T x + r,
(7.2)
xRn 2
unde Q0. Din conditia 0 = f (x ) = Qx + q, unicul punct de extrem este x = Q1 q.
Valoarea optima a problemei (7.2) este data de urmatoarea relatie:
min

xRn

1 T
1
x Qx + q T x + r = q T Q1 q + r.
2
2

(7.3)

Cu toate astea, in majoritatea cazurilor f (x ) = 0 este un sistem de ecuatii neliniar ce nu poate


rezolvat analitic, ci este nevoie de constructia de metode iterative pentru rezolvarea lui. In acest
scop au fost create metodele numerice pe care le vom presenta si analiza in continuarea.
62

CHAPTER 7. CONVERGENTA METODELOR DE DESCRESTERE

7.1

63

Metode Numerice

Consideram problema de optimizare (7.1). Exista diferite metode iterative pentru rezolvarea unei
astfel de probleme, iar in aceste capitole vom discuta cateva dintre ele. Intrucat exista o gama
larga de methode o vom cauta pe cea mai ecienta. In general presupunemc a problema precizata anterior apartine unei anumite clase de probleme F. In general, o metoda numerica este
dezvoltata in scopul rezolvarii diferitelor probleme ce impartasesc caracteristici similare (continuitate, convexitate,...). Datele cunoscute din structura problemei se regasesc sub numele de model
(i.e. formularea problemei, functionalele ce descriu problema, etc). Pentru rezolvarea problemei,
o metoda numerica va trebui sa colecteze informatie specica, iar procesul de colectare a datelor
se realizeaza cu ajutorul unui oracol (i.e. unitate de calcul ce returneaza date sub forma unor
raspunsuri la intrebari succesive din partea metodei). In concluzie, metoda numerica rezolva
problema prin colectarea datelor si manipularea raspunsurilor oracolului. Exista diferite tipuri
de oracole:
0. oracole de ordinul zero O0 ce realizeaza doarr evaluarea functiei, i.e. f (x),
1. oracole de ordinul intai O1 ce evalueaza functia si gradientului sau, i.e. f (x) si f (x),
2. oracole de ordinul doi O2 ce evalueaza functia, gradientul si Hessiana,i.e. f (x), f (x) si
2 f (x).
Ecienta metodelor numerice consta in cantitatea eort numeric necesar metodei pentru rezolvarea unei anumite clase de probleme. Rezolvarea unei probleme, in unele cazuri, denota
aarea unei solutii exacte, insa in cele mai multe dintre cazuri este posibila doar aproximarea
solutiei. De aceea, pentru rezolvare este sucienta aarea unei solutii aproximative cu o acuratete
prestabilita . In general, aceasta acuratete reprezinta de asemenea criteriul de oprire pentru
metoda numerica aleasa. Pentru cazul particular (7.1) criteriul de oprire este
f (x) .
Schema generala uni algoritm iterativ consta in urmatorii pasi:
0. se incepe cu un punct initial dat x0 , acuratetea > 0 si contorul k = 0
1. la pasul k notam cu Ik multimea ce contine toata informatia acumulata de la oracol pana
la iteratia k
1.1 se apeleaza oracolul O in punctul xk

CHAPTER 7. CONVERGENTA METODELOR DE DESCRESTERE

64

1.2 se actualizeaza informatia Ik+1 = Ik O(xk )


1.3 se aplica regulile metodei numerice folosind ultimele informatii Ik+1 pentru calculul urmatorului punct xk+1
2. se verica criteriul de oprire; daca criteriul de oprire nu este satisfacut, se repeta pasul 1.
Complexitatea unei metode numerica poate exprimata in urmatoarele forme:
Complexitate analitica, data de numarul total de apeluri ale oracolului,
Complexitate aritmetica, data de numarul total de operatii aritmetice.
Viteza sau rata de convergenta se refera la gradul de rapiditate cu care sirul {xk }k se apropie de
solutie x . Ordinul de convergenta este cel mai mare numarul pozitiv p ce satisface urmatoarea
relatie:
xk+1 x
0 lim
< ,
k xk x p
unde precizam ca sup lim a sirului {zk }k este denita de:
lim zk = lim yn ,
n

unde yn = sup zk .
kn

Presupunand ca limita exista, atunci p indica comportamentul lantului iterativ al sirului. Cand
p este mare, atunci rata de convergenta este mare deoarece distanta pana la x este redusa cu p
zecimala intr-un singur pas:
xk+1 x xk x p .
Convergenta Liniara: daca (0, 1) si p = 1 atunci
xk+1 x xk x
si deci xk x c k . De exemplu, xk = k , unde (0, 1).
xk+1 x
= 0, (aici p = 1 de asemenea), sau echivalent
k xk x

Convergenta Superliniara: daca lim

xk+1 x k xk x 2
De exemplu xk =

1
k!

converge superliniar, intrucat

xk+1
xk

cu
=

k 0.

1
k+1 .

CHAPTER 7. CONVERGENTA METODELOR DE DESCRESTERE

65

xk+1 x
Convergenta Patratica: daca lim
= , unde (0, ) si p = 2, ce este echivalent
k xk x 2
cu
xk+1 x xk x 2 .
De exemplu xk =

1
k
22

converge patratic, deoarece

xk+1
(xk )2

k+1

22
k
(22 )2

= 1 < . For k = 6, xk =

0, de aceea in practica, convergenta la o acuratetea masinii de calcul se realizeaza dupa


aproximativ 6 iteratii.
1
26 4

R-convergenta: Daca sirul de norme xk x este marginit superior de sirul yk 0, i.e. xk


x yk si daca yk converge cu o rata data, i.e. liniara, superliniara sau Q-patratica, atunci xk
converge R-liniar, R-superliniar, sau R-patratic la x . Aici, R indica root, deoarece
, e.g.,

k
convergenta R-liniara poate de asemenea denita prin criteriul radacinii limk xk x <
1.

Example 7.1.1
{
xk =

1
2k

daca k este par


altfel

(7.4)

This is a fast R-linear convergence, but not as regular as Q-linear ???????????.

Remark 7.1.2 Cele trei convergente diferite si ratele de R-convergenta corespunzatoare satisfac
anumite relatii intre ele. In continuare, X Y are semnicatia Daca sirul converge cu rata X
atunci asta implica ca sirul de asemenea converge cu rata Y .
quadratically

superlinearly

linearly

R quadratically R superlinearly R linearly


Se observa ca rata patratica reprezinta cea mai rapida convergenta.

7.2

Teoreme de Convergenta

Considerand spatiul metric (X, ), o metoda numerica poate privita ca o aplicata punct-multime
M : X 2X , denita de xk+1 M (xk ). Gradul de libertate dat de aceasta alegere xk+1 M (xk )
sta la baza calculului detalii specice ale diferitelor metode. Cu toate astea, o metoda numerica
nu este un proces aleator deoarece aceasta genereaza acelasi sir {xk }k cand se porneste din acelasi
punct initial x0 . Denitia metodei in aceasta maniera ofera un grad mai mare de libertate

CHAPTER 7. CONVERGENTA METODELOR DE DESCRESTERE

66

Example 7.2.1 Consideram urmatoarea aplicatie punct-multime


xk+1 [

| xk | | xk |
,
]
n
n

, pentru care o instanta particulara este denita de x0


xk+1 =

| xk |
.
n

Denition 7.2.2 Fie spatiul metric (X, ),pentru submultimea S X si metoda descrisa de
aplicatia punct-multime M : X 2X , denim functia descrescatoare : X R pentru perechea
(S, M ) daca satisface urmatoarele conditii:
(i) pentru orice x S si y M (x) avem (y) (x)
(ii) pentru orice x S si y M (x) avem (y) < (x)

Example 7.2.3 Fie problema de optimizare min f (x), unde X este multime convexa si f este
xX

diferentiabila. Denim S = {x Rn :< f (x )(x x ) > 0 x X} multimea punctelor


stationare (i.e. multimea tuturor solutiilor posibile minime locale, minime globale, maxime
locale, etc). Se observa de asemenea ca in general alegem = f , i.e. metoda alege xk+1 astfel
incat f (xk+1 ) f (xk ).
Denition 7.2.4 O aplicatie punct-multime M : X 2X este inchisa in punctul x0 daca pentru
orice xk x0 si yk y0 , yk M (xk ) avem y0 M (x0 ). Aplicatia M este inchisa daca este
inchisa in toate punctele.

Theorem 7.2.5 (Teorema de Convergenta) Fie M o metoda numerica pe spatiul metric (X, ),
sirul xk+1 M (xk ), iar S multimea solutiilor, presupunem urmatoarele conditii satisfacute:
(i) sirul {xk }k se aa intr-o multime compacta
(ii) M este o aplicatie punct-multime inchisa pe X\S
(iii) exista o functie continua decrescatoare pentru (M, S)
Atunci toate punctele limita ale sirului {xk }k apartin multimii S.

CHAPTER 7. CONVERGENTA METODELOR DE DESCRESTERE

7.2.1

67

Convergenta metodelor de descrestere

In continuare, cosideram o metoda iterativa


xk+1 = xk + k dk ,
unde presupunem ca dk este o directie de descrestere pentru f in xk , iar k [0, 1] este dimensiunea pasului. Precizam ca daca dk este o directie de descrestere pentru f in xk atunci exista
k > 0 sucient de mic astfel incat f (xk+1 ) < f (xk ).
Cazul ideal alege dimensiunea pasului dupa urmatoarea relatie:
k = arg min f (xk + dk ).
0

Cu toate acestea, in multe situatii aceasta problema de optimizare unidimensionala este foarte
dicil de rezolvat. De aceea, alte modalitati de alegere ale parametrului k au fost dezvoltate,
iar printre acestea cea mai practica este denita de conditiile Wolfe: se cauta k astfel incat
urmatoarele doua conditii sunt satisfacute
(W1) f (xk + k dk ) f (xk ) + c1 k f (xk )T dk , unde c1 (0, 1)
(W2) f (xk + k dk )T dk c2 f (xk )T dk , unde 0 < c1 < c2 < 1.

Add gure!!!!!!!
Avem posibilitatea de cautare a lui k printr-o alta metoda, cum ar evitarea parametrilor k
ce satisfac a doua conditie Wolfe, prin backtracking:
0. se alege > 0, , c1 (0, 1)
1. cat timp
f (xk + dk ) > f (xk ) + c1 k f (xk )T dk
se actualizeaza =
2. k = .
In general se considera valoarea initiala = 1. Se observa ca prin tehnica backtracking putem
gasi k intr-un numar nit de pasi. Mai mult, k gasit prin aceasta metoda nu este prea min
intrucat k are o valoare apropiata de k , dimensiune respinsa la iteratia precedenta datorita
marimii.

CHAPTER 7. CONVERGENTA METODELOR DE DESCRESTERE

68

Theorem 7.2.6 (Teorema de Convergenta a metodelor de descrestere) Fie minn f (x) o


xR

problema de optimizare udne f C 1 si metoda iterativa xk+1 = xk +k dk unde dk este o directie de


descrestere. Mai mult decat atat, presupunem ca f este marginita inferior, dimensiunea pasului k
este aleasa pentru a satisface cele doua conditii Wolfe (W1)(W2) si cea de continuitate Lipschitz
a lui f . Atunci

cos2 k f (xk )2 < ,


k=0

unde k este unghiul facut de dk cu f (xk ).

Proof: Intrucat f este Lipschitz, atunci there exista L > 0 astfel incat
f (x) f (y) Lx y x, y.
Din (W2) avem:
(f (xk+1 ) f (xk ))T dk (c2 1)f (xk )T dk .
Din inegalitatea Cauchy-Schwartz obtinem
f (xk+1 ) f (xk )dk (c2 1)f (xk )T dk .
Pe de alta parte, din proprietatea Lipschitz a gradientului obtinem
Lk dk 2 (c2 1)f (xk )T dk
i.e.
k

c2 1 f (xk )T dk
.
L
dk 2

Din (W1) avem:


f (xk+1 ) f (xk ) + c1
ce conduce la
f (xk+1 ) f (xk ) c1

(f (xk )T dk )2 c2 1
dk 2
L

1 c2 (f (xk )T dk )2 f (xk )2
.
L
dk 2 f (xk )2

2
In concluzie, notand c = c1 1c
L obtinem:

f (xk+1 ) f (xk ) c cos2 k f (xk )2


si deci insumand aceste inegalitati avem:
f (xN ) f (x0 ) c

N
1

j=0

cos2 j f (xj )2 .

CHAPTER 7. CONVERGENTA METODELOR DE DESCRESTERE

69

Intrucat f este marginita inferior, pentru N

cos2 k f (xk )2 <

k=0

i.e.
cos2 k f (xk )2 0.

Se observa ca pentru k [0, 2 ] pentru orice k, avem cos2 k = 0 si de aceea f (xk ) 0,
i.e. xk converge la un punct stationar.

Chapter 8

Metode de ordinul intai


In acest capitol prezentam metode de ordinul intai (i.e. metode bazate pe evaluarea functiei si a
gradientului sau) pentru rezolvarea urmatoarei probleme neconstranse de optimizare:
f = minn f (x),
xR

cu f C 2 .

8.1

Metoda gradient (metoda celei mai abrupte pante)

Metoda gradient se bazeaza pe urmatoarea iteratie:


xk+1 = xk k f (xk ),
unde dimensiunea pasului k se alege in functie de una dintre cele trei proceduri prezentate in
capitolul precedent: cea ideala, conditiile Wolfe sau backtracking.

Interpretare:
1. Directia in metoda gradient d = f (x) este una de descrestere intrucat f (x)T d =
f (x)2 = 0 pentru orice x ce satisface f (x) = 0.
70

CHAPTER 8. METODE DE ORDINUL INTAI

71

2. Iteratia xk+1 se obtine din rezolvarea urmatoarei probleme patratice convexe:


xk+1 = arg minn f (xk ) + f xk T (y xk ) +
yR

1
y xk 2 ,
2k

i.e. aproximam local functia obiectiv f in jurul lui xk printr-un model patratic cu Hessiana
Q = 1k In .
3. Metoda gradient prezinta cea mai rapida descrestere locala, acesta este motivul pentru
care aceasta se mai numeste si metoda celei mai abrupte pante: intr-adevar pentru orice
directie d cu d = 1 avem
f (x + d) = f (x) + f (x)T d + R().
Din inegalitatea Cauchy-Schwartz de asemenea obtinem
f (x)T d f (x)d = f (x).
f (x)
Considerand in aceasta inegalitate urmatoarea directie particulara d0 = f
(x) obtinem

f (x + d) f (x) f (x) + R()


in timp ce
f (x + d0 ) = f (x) f (x) + R(),
i.e. cea mai mare descrestere se obtine pentru directia anti-gradient d0 .

8.1.1

Convergenta metodei gradient

Theorem 8.1.1 Daca urmatoarele conditii sunt satisfacute:


(i) f este diferentiabila cu f continuu (i.e. f C 1 )
(ii) multimea izonivel Sf (x0 ) = {x Rn : f (x) f (x0 )} este compacta pentru orice puncte
initiale x0
(iii) dimensiunea pasului satisface prima conditie Wolfe (W1).
Atunci orice punct limita al sirului {xk }k este stationar.

CHAPTER 8. METODE DE ORDINUL INTAI

72

Demonstratie: Structura demonstratie se bazeaza pe teorema de convergenta generala prezentata in capitolul precedent: denim aplicatia
M (x) = x f (x).
Intrucat f este diferentiabila cu f continuu rezulta ca M (x) este o aplicatie continua punct-punct
si inchisa. Denim S = {x Rn : f (x ) = 0}, multimea solutiilor (i.e. puncte stationare). Mai
mult, {xk }k Sf (x0 ), i.e. sirul generat de metoda gradient este inclus intr-o multime compacta.
De asemenea, denim = f o functie descrescatoare intrucat prima dintre conditiile Wolfe este
satisfacuta. In concluzie, teorema de convergenta generala poate aplicata si mai mult, orice
punct limita al sirului se va regasi in S. Se observa ca intrucat {xk } este marginit, exista cel
putin un subsir convergent.


Theorem 8.1.2 Fie f o functie diferentiabila cu gradientul Liptschitz (constanta Lipschitz L >
0) si marginit inferior. Mai mult, dimensiunea pasului k se alege pentru a satisface conditiile
Wolfe. Atunci metoda gradient este convergenta.

Demonstratie:

Se observa ca in acest caz particular unghiul


k = 0.

In concluzie,

cos2 k f (xk )2 =

k0

f (xk )2 < .

k0

Rezulta ca sirul xk care proprietatea f (xk ) 0 cand k .

Remark 8.1.3 Remarcam ca din prima teorema de convergenta a metodei gradient am obtinut ca
un subsir {xk }k converge la punctul stationar x , in timp ce din a doua teorema avem f (xk ) 0.

8.1.2

Alegera optimala a pasului

In cazul in care dimensiunea pasului este constanta pentru toate iteratiile, i.e. xk+1 = xk
f (xk ) suntem interesati in aarea unui optim ce garanteaza cea mai rapida convergenta.
Presupunem ca f este Lipschitz cu L > 0. De aici avem ca
f (y) f (x) + f (x)T (y x) +

L
x y2 , x, y.
2

CHAPTER 8. METODE DE ORDINUL INTAI

73

Mai departe, rezulta


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

L 2
L
f (xk )2 = f (xk ) (1 )f (xk )2 .
2
2

Dimensiunea pasului ce garanteaza cea mai mare descrestere per iteratie se obtine din conditia
max (1
>0

i.e.
=

L
)
2

1
.
L

Metodei gradient cu pas constant ii corespunde o dimensiune optimala a pasului data de =


In acest caz descresterea la ecare pas este ilustrata de relatia
f (xk+1 ) f (xk )

1
L.

1
f (xk )2
2L

, iar daca insumam acest inegalitati obtinem


1
f (xk )2
f (xN +1 ) f (x0 )
2L
N

k=0

i.e.

1
f (xk )2 f (x0 ) f (xN +1 ) f (x0 ) f .
2L
N

k=0

In continuare, denim
fN = arg min f (xk ).
k=0N

De aici rezulta

1
(N + 1)fN 2 f (x0 ) f .
2L
In concluzie, dupa N pasi se obtine urmatoarea rata de convergenta

1
fN
2L(f (x0 ) f )
N +1
i.e. metoda gradient are, in acest caz, o rata subliniara de convergenta.
Observati ca nu se poate spune nimic in aceste caz despre convergenta sirului xk la punctul
stationar x sau a lui f (xk ) la valoarea optima f . Acest tip de convergenta poate derivata in
cazul convex.

CHAPTER 8. METODE DE ORDINUL INTAI

74

Mai departe consideram f FL1,1 (Rn ), (f aparatine multimii de functii diferentiabile convexe, cu
gradient Lipschitz), deci avem
1
f (x) f (y)2 f (x) f (y), x y
L
De asemenea, notam rk = xk x . Atunci, din relatia precedenta si f (x ) = 0 obtinem:
2
rk+1
= xk x f (xk )

= rk2 2 f (xk ), xk x + 2 f (xk )2


2
rk2 ( ) f (xk )2
L
de aceea, rk r0 . Notand k = f (xk ) f , din convexitatea lui f , avem:
CauchySchwartz

k f (xk ), xk x

De aceea
k+1 k

rk f (xk ) r0 f (xk )

r02 k

unde = (1 L2 ). Deci,
1
k+1

1
k
1

+ 2

+ 2,
k
k
r0 k+1
r0

prin insumarea acestor inegalitati obtinem


1
k+1
Mai departe, daca alegem = =

1
L

+ 2 (k + 1)
0 r0

obtinem urmatoarea rata de convergenta:

f (xk ) f

2L(f (x0 ) f ) x0 x 2
.
2L x0 x + k(f (x0 ) f )

Daca consideram
f (x0 ) f + f (x ), x0 x +
= f +

L
x0 x 2
2

L
x0 x 2
2

obtinem
f (xk ) f

2L x0 x
k+4

CHAPTER 8. METODE DE ORDINUL INTAI

8.2

75

Metoda directiilor conjugate

Metoda directiilor conjugate este de asemenea o metoda de ordinul intai, i.e. foloseste informatia
extrasa din valoarea functiei si a gradientului acesteia (oracol de ordinul intai), insa prezinta
o rata de convergenta mai buna decat a metodei gradient cel putin pentru cazul patratic. Sa
presupunem urmatoarea problema QP strict convexa :
1
minn xT Qx q T x, Q0,
xR 2
a carei solutie optima este echivalenta cu rezolvarea urmatorului sistem liniar de ecuatii
Qx = q.
Intrucat Q este inversabila x = Q1 q. Cu toate astea, in multe cazuri calculul inversei este
foarte costisitor, in general complexitatea calculul avand ordinul O(n3 ). In cele ce urmeaza vom
prezenta o metoda numerica mai putin costisitoare pentru calculul solutiei x .
Denition 8.2.1 Doi vectori d1 si d2 se numesc Q-ortogonali daca dT1 Qd2 = 0. O multime de
vectori {d1 , d2 , , dk } se numeste Q-ortogonala daca dTi Qdj = 0 pentru orice i = j.
Se observa ca daca Q0 si daca {d1 , d2 , , dk } este Q-ortogonala, iar vectorii sunt nenuli, atunci
acestia sunt liniar independenti. Mai mult, in cazul in care k = n, vectorii formeaza o baza
pentru Rn . In concluzie, daca {d1 , d2 , , dn } este Q-ortogonala, iar vectorii sunt nenuli, exista
1 , , n Rn astfel incat x = 1 d1 + 2 d2 + + n dn (i.e. combinatie liniara a vectorilor
bazei). Pentru aarea parametrilor i avem relatia
i =

dTi Qx
dTi q
=
.
dTi Qdi
dTi Qdi

Concluzionam ca

dT q
i
di
dTi Qdi
si deci x poate obtinut printr-un proces iterativ in care la pasul i adaugam termenul i di .
x =

Theorem 8.2.2 Fie {d1 , d2 , , dn } o multime Q-ortogonala de vectori cu elemente nenule.


Pentru orice x0 Rn sirul xk generat de
xk+1 = xk + k dk
k =

rkT dk
, rk = Qxk q
dTk Qdk

CHAPTER 8. METODE DE ORDINUL INTAI

76

converge la x dupa n pasi, i.e. xn = x .


Se observa ca reziduul rk = Qxk q coincide cu gradientul functiei obiectiv patratice.
Theorem 8.2.3 Fie {d1 , d2 , , dn } o multime Q-ortogonala de vectori cu elemente nenule,
denim subspatiul Sk = Span{d1 , d2 , , dk }. Atunci pentru orice x0 Rn sirul xk+1 = xk +k dk ,
rT d

unde k = dTkQdk are urmatoarele proprietati:


k

(i) xk+1 = arg min

xx0 +Sk

1 T
x Qx q T x
2

(ii) reziduul la pasul k este ortogonal cu toate directiile precedente, i.e.


rkT di = 0

i < k.

Din (ii) obtinem


f (xk ) Sk1 .
Metoda directiilor conjugate pentru rezolvarea unui QP strict convex cuprinde urmatorii pasi:
0. Fie vectorul x0 Rn dat, denim d0 = f (x0 ) = r0 = (Qx0 q)
rT d

1. xk+1 = xk + k dk cu k = dTkQdk
k

2. dk+1 = f (xk+1 ) + k dk unde sk =

T
rk+1
Qdk
.
dT
Qd
k
k

Se observa ca la ecare pas o noua directie este aleasa din combinatia liniara intre gradientul
curent si directiile precedente. Metoda directiilor conjugate are o complexitate scazuta intrucat
foloseste formule de actualizare simple (i.e. operatii cu vectori).

Theorem 8.2.4 (Proprietati ale metodei directiilor conjugate ) Metoda directiilor conjugate satisface urmatoarele proprietati:
(i) Span{d0 , d1 , , dk } = Span{r0 , r1 , , rk } = Span{r0 , Qr0 , , Qk r0 }

CHAPTER 8. METODE DE ORDINUL INTAI

77

(ii) dTk Qdi = 0 pentru orice i < k


rT r

(iii) k = dTkQdk
k

(iv) k =

8.2.1

T
rk+1
rk+1
.
rkT rk

Extensia la probleme generale neconstranse

Pentru o problema generala neconstransa minxRn f (x), se repeta aceleasi iteratii ca si in cazul
patratic cu urmatoarele identicari:
Q = 2 f (xk ), rk = f (xk )
pentru n pasi, se reinitializeaza x0 = xn , apoi se repeta pana cand f (xk ) :
0. r0 = f (x0 ) and d0 = f (x0 )
1. xk+1 = xk + k dk

pentru orice k = 1, , n 1, unde k =

2. dk+1 = f (xk+1 ) + k dk , unde k =

rkT dk
T
dk 2 f (xk )dk

T
rk+1
2 f (xk )dk
2 f (x )d
dT

k k
k

3. dupa n iteratii inlocuim x0 cu xn si repetam intregul proces.


Se observa ca in cazul general aceasta metoda nu este convergenta. Algoritmul se poate transforma
intr-unul convergent prin modicarea adecvata a parametrului k . Avem la dispozitie urmatoarele
reguli de actualizare:
FletcherReeves
PolakRibiere

k =
k =

T r
rk+1
k+1

rkT rk

(rk+1 rk )T rk+1
.
rkT rk

Chapter 9

Metode de tip Newton


In acest capitol ne ocupam de moduriile de rezolvare a unei probleme generale neliniare de optimizare neconstransa utilizand informatie furnizata de Hessiana (informatie de ordin doi) sau o
aproximare a acesteia (i.e. ce se bazeaza pe informatie de ordinul intai):
min

xRn

f (x)

(9.1)

cu f C 2 .

9.1

Metoda Newton

In analiza numerica, metoda lui Newton (sau metoda Newton-Raphson) este o metoda de calcul
al radacinilor unui sistem de ecuatii intr-un sau mai multe dimensiuni. Consideram conditiile de
optimalitate necesare de ordinul intai, ce se reduc la un sistem de ecuatii:
f (x ) = 0
cu f : Rn Rn , care are atatea componente cate variabile.
Ideea din spatele metodei Newton consta in liniarizarea ecuatiilor neliniare in punctul xk pentru
a gasi xk+1 = xk + dk
f (xk ) + 2 f (xk )dk = 0
dk = 2 f (xk )1 f (xk ).
78

CHAPTER 9. METODE DE TIP NEWTON

79

In general, dk se numeste directie Newton, iar metoda Newton consta in urmatoarea iteratie:
xk+1 = xk 2 f (xk )1 f (xk ).

Visualization of the problem


O alta interpretare a metodei de optimizare Newton poate obtinuta din aproximarea Taylor de
ordinul doi a functiei obiectiv f . Reamintim ca conditiile de optimalitate suciente de ordinul doi
(SOSC) sunt: daca exista un x ce satisface
f (x ) = 0 si

2 f (x )0

atunci x este un minim local. Daca punctul x satisface (SOSC) atunci exista o vecinatate a lui
x notata N astfel incat pentru x N avem 2 f (x )0. Din aproximarea Taylor avem ca
1
f (xk + d) u f (xk ) + f (xk )T d + dT 2 f (xk )d
2
si deci denim directia Newton
1
dk = arg min f (xk ) + f (xk )T d + dT 2 f (xk )d.
d
2
Se observa ca daca xk este sucient de aproape de x atunci 2 f (xk )0 si din conditiile de optimalitate corespunzatoare unei probleme QP strict convexe obtinem din nou dk = 2 f (xk )1 f (xk ),
i.e. aceeasi formula, insa cu o interpretare diferita.

9.1.1

Rata de Convergenta Locala

In aceasta sectiune vom analiza convergenta locala a metodei Newton:


xk+1 = xk 2 f (xk )1 f (xk ).
Theorem 9.1.1 (Convergenta Patratica a metodei Newton) Fie f C 2 si x un minim
local ce satisface SOSC (i.e. f (x ) = 0 si 2 f (x ) 0). Fie l > 0 astfel incat
2 f (x ) lIn .
Mai mult, presupunem ca 2 f (x) este Lipschitz, i.e.
2 f (x) 2 f (y) M x y x, y domf,

CHAPTER 9. METODE DE TIP NEWTON

80

unde M > 0. Daca x0 este sucient de aproape de x , i.e.


x0 x

2 l
,
3M

atunci iteratia Newton xk+1 = xk 2 f (xk )1 f (xk ) are proprietatea ca sirul {xk }k converge la
x patratic.

Demonstratie: Intrucat x este un minim local atunci f (x ) = 0. Mai mult, din teorema lui
Taylor in forma integrala avem
1

f (xk ) = f (x ) +
2 f (x + (xk x ))(xk x )d .
0

Se obtine:
xk+1 x = xk x 2 f (xk )1 f (xk )
= 2 f (xk )1 [2 f (xk )(xk x ) f (xk ) + f (x )]
1
2
1
2

= f (xk ) [ f (xk )(xk x )


2 f (x + (xk x ))(xk x )d
0
1
= 2 f (xk )1
2 f (xk )(xk x ) 2 f (x + (xk x ))(xk x )d
0
1
= 2 f (xk )1
[2 f (xk ) 2 f (x + (xk x ))](xk x )d
0

Intrucat
va rezulta ca

2 f (xk ) 2 f (x ) M xk x
M xk x In 2 f (xk ) 2 f (x ) M xk x In .

Mai multe, vom avea


2 f (xk ) 2 f (x ) M xk x In lIn M xk x In 0,
cu conditia ca xk x

2 l
3M

ceea ce conduce la

0 2 f (xk )1

1
In .
l M xk x

CHAPTER 9. METODE DE TIP NEWTON

81

Concluzionam ca
xk+1 x = 2 f (xk )1

2 f (xk ) 2 f (x + (xk x ))d xk x

1
1

M (1 )xk x d xk x
l M xk x 0
1
1

M (1 )d xk x 2
l M xk x 0
M
1

xk x 2

l M xk x 2

Daca pornim dintr-un punct x0 ce nu este aproape de x atunci metoda Newton va trebui modicata, pentru a garanta convergenta, cu alegerea dimensiunii pasului k astfel incat conditiile
Wolfe sa e satisfacute:
xk+1 = xk k (2 f (xk ))1 f (xk ).
Daca xk este sucient de apropiat de x , pasul k va deveni 1.
Remark 9.1.2
1. Se observa ca Metoda Newton converge intr-un singur pas pentru probleme patratice convexe.
2. O alta observatie denota ca directia Newton este directie de descrestere cat timp 2 f (xk )
0. Intr-un alt caz, in locul matricii 2 f (xk ) vom considera In + 2 f (xk ) pentru o valoarea adecvata astfel incat noua matrice devine pozitiv denita. In acest case regula de
actualizare este
xk+1 = xk k (k In + 2 f (xk ))1 f (xk ).
3. Principalul dezavantaj al acestei metode este necesitatea de a calcula Hessiana functiei f si
inversarea acestei matrici.

9.2

Metode Quasi-Newton

Cum am mentionat anterior, principalul dezavantaj al metodei Newton este calculul Hessianei si
inversarea sa, o operatie costisitoare in general (cel putin pentru probleme de dimensiuni mari).

CHAPTER 9. METODE DE TIP NEWTON

82

Metodele Quasi-Newton au scopul de a inlocui f (xk )1 cu o matrice Hk ce poate calculata


mai usor, rezultand urmatoarea iteratie:
xk+1 = xk k Hk f (xk ).
Se observa ca directia dk = Hk f (xk ) este una de descrestere daca Hk 0:
f (xk )T dk = f (xk )T Hk f (xk ) < 0
|{z}
0
|
{z
}
>0

Mai mult, pasul k este ales pentru a satisface conditiile Wolfe. In general, ca si in cazul metodei
Newton, dacaxk este sucient de apropiat de solutie x avem k = 1. Obiectivul este de a gasi
reguli de actualizare ale matricii Hk astfel incat aceasta sa convearga asimptotic la adevarata
inversa a Hessianei, i.e.
Hk 2 f (x )1 .
Din aproximarea Taylor avem:
f (xk+1 ) = f (xk + k ) f (xk ) + 2 f (xk )(xk+1 xk )
In concluzie, din aproximarea adevaratei Hessiane 2 f (xk ) cu matricea Bk+1 obtinem urmatoarea
relatie
f (xk+1 ) f (xk ) = Bk+1 (xk+1 xk )
1
sau echivalent, notand Hk+1 = Bk+1

Hk+1 [f (xk+1 ) f (xk )] = xk+1 xk ,

(9.2)

relatie ce se numeste ecuatia secantei.


1
Pentru Hk+1
= 2 f (xk ) recuperam metoda Newton. Se observa ca avem o interpretare similara
cu cea a metodei Newton, si anume ca la ecare iteratie, consideram o aproximare patratica
convexa a functiei (i.e. Bk <0) si o minimizam pentru a obtine directia de la urmatorul pas:

1
dk = arg min f (xk ) + f (xk )T d + dT Bk d.
d
2

(9.3)

Intrucat Hessiana este simetrica este necesar ca matricile Bk si Hk sa e simetrice de asemenea.


In concluzie avem n ecuatii (din (9.2)) cu n(n+1)
necunoscute (prin constrangerea simetriei) si deci
2
se obtine un numar de innit de solutii. In continuare vom calcula diferite reguli de actualizare
ce satisfac (9.2) si simetria.

CHAPTER 9. METODE DE TIP NEWTON

9.2.1

83

Rank one updates

In acest caz actualizam matricea Hk prin urmatoarea formula


Hk+1 = Hk + k uk uTk ,
unde k R si uk Rn sunt alese astfel incat ecuatia secantei sa e satisfacuta.
Incepem cu matricea simetrica H0 0 si notam cu
k = xk+1 xk

and k = f (xk+1 ) f (xk ).

Actualizam matricea Hk+1 dupa cum urmeaza


Hk+1 = Hk +

(k Hk k )(k Hk k )T
.
kT (k Hk k )

Pentru a garanta ca Hk+1 0 este necesara satisfacerea urmatoarei inegalitati:


kT (k Hk k ) > 0.

9.2.2

Rank two updates

In acest caz actualizam matricea Hk prin urmatoarea formula:


Hk+1 = Hk +

Hk k kT Hk
k Tk

.
Tk k
Tk Hk k

Aceasta update-are sa numeste metoda Davidon-Fletcher-Powell (DFP).


Din nou incepem cu o matrice initiala H0 0. Metoda (DFP) satisface urmatoarele proprietati
(i) Hk 0.
(ii) daca f (x) = 12 xT Qx + q T x este patratica si strict convexa atunci metoda (DFP) furnizeaza
directii conjugate, i.e. dk = Hk f (xk ) sunt directii Q-conjugate. Mai mult, Hn = Q1
si in particular daca H0 = In atunci directiile dk coincid cu directiile din metoda directiilor
conjugate. De aceea, putem gasi solutia unei probleme patratice in maximum n pasi cu
ajutorul iteratiilor (DFP).

CHAPTER 9. METODE DE TIP NEWTON

84

Daca pentru metoda (DFP) nu facem uz de (9.2), si de urmatoarea ecuatie f (xk+1 ) f (xk ) =
Bk+1 (xk+1 xk ) se obtine metoda Broyden-Fletcher-Goldfarb-Shanno (BFGS):
Hk+1 = Hk +
k = 1 +

Hk k kT + k Tk Hk
Hk k Tk Hk

k
Tk Hk k
Tk Hk k

Tk k
Tk Hk k

Aceleasi proprietati sunt valide si pentru metode (BFGS) ca si in cazul metodei (DFP). Cu toate
acestea, din punct de vedere numeric, (BFGS) este considerata cea mai stabila metoda.

Remark 9.2.1 Se observa ca metodele Quasi-Newton necesita doar informatie de ordinul intai.
Mai mult, directiile generate de metoda Quasi-Newton sunt directii de descrestere daca asiguram
satisfacerea conditiei Hk 0. In general Hk (2 f (x ))1 , iar in anumite conditii vom arata
ca se poate atinge convergenta superliniara.

9.2.3

Convergenta Locala pentru metodele Quasi-Newton

Theorem 9.2.2 Fie x un punct ce satisface (SOSC), presupunem intr-o vecinatate a punctului
x iteratia Quasi-Newton are forma xk+1 = xk Hk f (xk ), unde Hk este inversabila pentru orice
k si satisface urmatoarea conditie Lipschitz
Hk1 (2 f (xk ) 2 f (y)) M xk y k N, y Rn ,
si conditia de compatibilitate
Hk (2 f (xk ) Hk1 ) k k N

(9.4)

cu 0 < M < si k < 1. De asemenea presupunem ca


x0 x <
Atunci xk converge la x superliniar daca k 0.

2(1 )
.
M

(9.5)

CHAPTER 9. METODE DE TIP NEWTON

85

Demonstratie: Aratam ca xk+1 x k xk x with k < 1. In acest scop, avem


urmatoarele relatii
xk+1 x = xk x Hk f (xk )
= xk x Hk (f (xk ) f (x ))
1
1

= Hk (Hk (xk x )) Hk
2 f (x + (xk x ))(xk x )d
0
1[
]
= Hk (Hk1 2 f (xk ))(xk x ) Hk
2 f (x + (xk x )) 2 f (xk ) (xk x )d.
0

Evaluand norma de ambele parti, rezulta:

xk+1 x k xk x +
M x + (xk x ) xk d xk x
0
1
(
)
=
k + M
(1 )d xk+1 x xk+1 x
}
| 0 {z
= 12

(
=

k +

)
M
xk x xk x
2 {z
}
=k

Avem urmatoarea rata de convergenta superliniara:


M
xk+1 x (k +
xk x ) xk x .
2
|
{z
}
0


Metoda Newton Trunchiata: Aceasta abordare a fost construita pentru probleme de mari
dimensiuni si consta in rezolvarea inexacta a unui sistem liniar
2 f (xk )d = f (xk ),
e.g. prin metode iterative de algebra liniara.

(9.6)

Chapter 10

Probleme de Estimare si Fitting


Problemele de Estimare si Fitting sunt probleme de optimizare cu functii obiectiv cu structura
speciala, si anume de tipulcelor mai mici patrate
1
minn M(x)2 .
(10.1)
xR 2
Aici, Rm sunt m masuratori si M : Rn Rm este un model, iar x Rn se numesc
parametrii modelulu i. Daca adevarata valoare a lui x ar cunoscuta, am putea evalua modelul M(x) to pentru a obtine predictiile corespunzatoare masuratorilor. Calculul luiM(x), ce
poate reprezenta o functie foarte complexa si de exemplu include in structura sa solutia unei
ecuatii diferentiale, se numeste uneori problema forward: pentru intrari date ale modelului, se
determina iesirile corespunzatoare.
In problemele de Estimare si Fitting, cum ar (10.1), situatia este contrara: se cauta setul de
parametri ai modelului x ce realizeaza o predictie M(x) cat mai exacta a masuratorilor evaluate
. Aceasta problema este denumita uzual problema inversa: pentru un vector de iesiri ale
modelului , se cauta intrarile corespunzatoare x.
Aceasta clasa de probleme de optimizare este frecvent intalnita in cadrul aplicatiilor ce presupun:
aproximare de functii
estimare online pentru controlul proceselor
prognoza meteo (asimilare de date meteorologice)
estimare de parametri
86

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

10.1

87

Probleme liniare de tip Cele Mai Mici Patrate (CMMP)

Denition 10.1.1 (Pseudo-Inversa Moore-Penrose) Fie matricea J Rmn cu rank(J) =


k, iar descompunerea valorilor singulare (DVS) corespunzatoare lui J data de J = U V T . Atunci,
pseudo-inversa Moore-Penrose J + are expresia:
J + = V + U T ,
unde pentru

..

.
k

..
.

holds

+ =

11

21

..

.
k1
0
..

Theorem 10.1.2 Daca rank(J) = n, atunci


J + = (J T J)1 J T .
If rank(J) = m, then

Demonstratie:

J + = J T (JJ T )1 .

Se calculeaza

(J T J)1 J T

= (V T U T U V T )1 V T U T
= V (T )1 V T V T U T
= V (T )1 T U T
2
1

22

= V
..

r2

0
T
U

2
..

.
r

= V U .
Se urmeaza o ratiune similara si in cel de-al doilea caz.

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

88

Se observa ca daca rank(J) = n, i.e. coloanele lui J sunt liniar independente atunci J T J este
inversabila.
Se intalnesc frecventa modele in rezolvarea problemelor de estimation si tting descrise de functii
liniare in x. Daca M este liniar, i.e. M(x) = Jx, atunci functia obiectiv devine f (x) = 21 Jx2
ce denota o functie convexa datorita relatiei 2 f (x) = J T J<0. Presupunand ca rank(J) = n,
punctul de minim global se determina prin urmatoarea relatie:
J T Jx J T = 0 x = (J T J)1 J T .
|
{z
}

(10.2)

=J +

Exemplu [Problema liniara medie de tip CMMP ]:


optimizare:
m
1
(i x)2 .
min
xR 2

Fie urmatoarea problema simpla de

i=1

Observam ca se incadreaza in clasa de probleme liniare de tip CMMP, unde vectorul si matricea
J Rm1 sunt date de


1
1
2
1


= . , J = . .
(10.3)
..
..
m

Deoarece J T J = m, se observa usor ca


J + = (J T J)1 J T =

]
1 [
1 1 1
m

(10.4)

din acest motiv concluzionam ca punctul local de minim este egal cu media punctelor date i :
1
i = .
m
m

x = J + =

i=1

Exemplu [Regresie Liniara]:

Figure: Given a set of points which tend to a linear relation between two units

(10.5)

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

89

i=m
Se da setul de date {ti }i=m
i=1 cu valorile corespunzatoare {i }i=1 , determinati vectorul de dimensiune 2 al parametrilor x = (x1 , x2 ), astfel incat polinomul de ordinul intai p(t; x) = x1 + x2 t
realizeaza predictia lui la momentul t. Problema de optimizare se prezinta sub forma:


[ ] 2
m
1
1
x
2

min
(i p(ti ; x)) = min J 1
x2 2
xR2 2
xR2 2

(10.6)

i=1

unde este acelasi vector ca si in cazul (10.3), iar

1
1

J = .
..

J este dat de

t1
t2

.. .
.

(10.7)

1 tn
Punctul de minim local este determinat de ecuatia (10.2), unde calculul matricii (J T J) este trivial:
[
T

J J=

[
]
]
1 t
t
m

2i = m
ti
ti
t t2

(10.8)

Pentru a obtine x , in primul rand se calculeaza (J T J)1 1 :


T

(J J)

]
[
1
1
t2 t
T
.
=
adj(J J) =
det(J T J)
m(t2 (t)2 ) t 1

In al doilea rand, calculam J T dupa cum urmeaza:



[
] 1
[ ]
[ ]

1 1 .

i
T
J =
=m .
.. =
t1 tm
i ti
nt
m

(10.9)

(10.10)

Deci, punctul de minim local este determinat de combinarea expresiilor (10.9) si (10.10). Se
observa ca
1
t2 (t)2 =
(ti t)2 = t2 .
(10.11)
m
unde, ultima transformare rezulta din denitia standard a variantei t . Coecientul de corelatie
este denit similar de

t
(i )(ti t)
t
=
=
.
(10.12)
mt
t
Precizam ca adjuncta matricii A Rnn se calculeaza prin transpunerea matricii cofactor, adj(A) = C T unde
= (1)i+j Mij cu Mij minorul (i, j) al matricii A.

Cij

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

90

Vectorul de dimensiune 2 al parametrilor x = (x1 , x2 ) este determinat de:


[
] [
]

tt
1 t2 tt
x = 2
=
.

t t + t

(10.13)

In nal, expresia poate formulata ca un polinom de gradul intai:

p(t; x ) = + (t t) .
t

(10.14)

What do we do with the teasers, the solution of teaser one is given at this point of the lecture

10.2

Probleme prost conditionate de tip CMMP

Daca J T J este inversabila, multimea solutiilor optime X contine un singurl punct de optim x ,
determinat de ecuatia (10.2): X = {(J T J)1 J}. Daca J T J nu este inversabila, multimea
solutiilor X este data de
X = {x : f (x) = 0} = {x : J T Jx J T = 0}.

(10.15)

Pentru alegerea celui mai bun punct al acestei multimi, se cauta solutia cu norma minima, i.e.
vectorul x cu norma minima ce satisface x X .
1
x2 s.t. x X .
(10.16)
min
xRn 2
Se arata mai departe ca aceasta solutie cu norma minima este data de pseudo-inversa MoorePenrose.

10.2.1

Regularizare problemele CMMP

Solutia cu norma minima poate aproximata cu o problema regularizata si anume


min
x

Jx22 + x22 ,
2
2

(10.17)

cu o constanta > 0 de valoare redusa. Pentru a obtine o solutie unica


f (x) = J T Jx J T + x
= (J J + I)x J
T

x = (J J + I)

1 T

(10.18)
(10.19)
(10.20)

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

Lemma 10.2.1

91

lim (J T J + I)1 J T = J + .

Demonstratie:
scris in forma:

Din structura DVS corespunzatoare lui J = U V T , (J T J + I)1 J T poate


(J T J + I)1 J T

= (V T U T U V T + |{z}
I )1 |{z}
JT
VVT
T

V V U

T U T

= V ( + I)

= V ( + I)

U T V T
T

Din reformularea expresiei din partea dreapta a ecuatiei rezulta:

2
1
0
1
1 +

..


..

.
2

r
r
.

=V
UT

..
..

0 0
Calcularea produsului de matrici simplica ecuatia:
1

=V

12 +

..

..
.
UT

.
r
r2 +

..

.
0

Se observa usor ca pentru 0 ecare element diagonal are solutia:


{ 1
i
0
i if i =
lim 2
=
0 +
0 if i = 0
i

(10.21)


Am aratat ca pseudo-inversa Moore-Penrose J + rezolva problema (10.17) pentru o constanta


epsilon innit de mica > 0. Din acest motiv, se realizeaza selectia unei solutii x S cu norma
minima.

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

10.3

92

Formularea statistica a problemelor CMMP

O problema CMMP (10.1) poate interpretata in sensul determinarii unui x ce explica masuratorile perturbate in cel mai bun mod.

Denitie [Principiul Verosimilitatii-Maxime] Estimarea Verosimilitatii-Maxime a parameter necunoscut x maximizeaza probabilitatea P (|x) de obtinere a masuratorilor (date) daca
parametrul ar avea valoarea x.
Se presupune i = Mi (x) + i cu x valoarea adevarata a parametrului, si i Zgomot Gaussian
cu media E(i ) = 0, E(i i ) = i2 si i , j independente. Atunci are loc urmatoarea relatie
P (|x) =

P (i | x)

i=1
m

= C

(
exp

i=1

log P (|x) = log(C) +

(10.22)

(i Mi (x))2
2i2

(i Mi (x))2
2i2

i=1

(10.23)
(10.24)

cu constanta C. Datorita monotoniei functiei logaritm avem ca argumentului ce maximizeaza


P (|x) este dat de
log(P (|x))

arg maxn P (|x) = arg minn


xR

xR

(i Mi (x))2

= arg minn
xR

i=1

2 2

1
S 1 ( M (x))22
2

= arg minn
xR

(10.25)
(10.26)
(10.27)

Deci, concluzionam ca problema CMMP are o interpretare statistica. Se observa ca datorita


faptului ca putem avea diferite deviatii standard i pentru diferite masuratori i , se recomanda
scalarea masuratorilor si functiilor modelului pentru a obtine o functie obiectiv in forma uzuala
(x)2 , dupa cum urmeaza
CMMP
M
2
)
n (
1 i Mi (x) 2
1
min
= min
S 1 ( M (x))22
x
x
2
i
2

(10.28)

i=1

= min
x

1
S 1 S 1 M (x)22
2

(10.29)

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

with S =

93

..

.
m

Interpretarea statistica a termenilor de regularizare: Precizam ca un termen de regularizare cum este x x


22 , care este adaugat la functia obiectiv poate interpretat ca pseudo
masuratoare x
a valorii parametrului x, ceea ce include o conditie statistica: cu cat este mai
mic, cu atat presupunem mai mare deviatia standard a acestei pseudo-masuratori. Deoarece
datele termenului de regularizare sunt de obicei cunoscute inainte de realizarea masuratorilor,
regularizarea este des interpretata ca cunoastere a priori. De asemenea, precizam ca norma
Euclidiana ponderata cu un scalar nu este singura alegere posibila, ci multe alte form de regularizare sunt disponibile, e.g. termeni de forma A(x x
)22 cu o anumita matrice A.

10.4

Estimare-L1

O alternativa pentru .22 , i.e. norma-L2 din ecuatia (10.1), este .1 , i.e., norma-L1 . Aceasta
alegere a constribuit la aparitia problem de estimare-L1 :
min M (x)1 = min
x

|i Mi (x)|

(10.30)

i=1

Ca si in cazul problemei de estimare-L2 , problema de estimare-L1 are o interpretare statistica de


estimare a verosimilitatii maxime. Cu toate astea, in cazul L1 , se presupune ca erorile de masura
au loc conform unei distributii Laplace in loc de cea Gaussiana.
O observatie interesanta denota ca aproximarea optima L1 a unei constante x cu un esantion de
diferite valori scalare 1 , . . . , m returneaza valoarea mediana a acestui esantion, i.e.
arg min
xR

|i x|

media lui {1 , . . . , m }.

(10.31)

i=1

Reaminitim ca aceeasi problema cu norma-L2 returneaza media lui i . In general, valoarea mediana este mai putin sensibila la deviatii extreme decat media, iar o analiza detaliata arata ca
solutia problemelor generale de estimare-L1 este de asemenea mai putin sensibila la esantioane cu
valori extreme. De aceea, estimarea-L1 se numeste estimare parametrica robusta.

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

10.5

94

Metoda Gauss-Newton (GN)

Problemele liniare CMMP se pot rezolva usor. rezolvarea globala problemelor neliniare CMMP
este in general NP-hard, dar pentru determinarea unui minim local se poate realiza iterativ, iar la
ecare iteratie aproximam problema cu propria liniarizare in punctul curent. In acest fel obtine
o o apreciere mai buna pentru urmatoarea iteratie, etc., obtinand acelasi procedeu prin care
metoda Newton determina radacinile unui polinom dat.
In mod uzual, pentru probleme neliniare CMMP de forma
1
min M (x)22
x 2
{z
}
|

(10.32)

=f (x)

se aplica metoda Gauss-Newton. Pentru a descrie aceasta metoda, putem incepe cu xarea
unor notatii convenabile cum ar F (x) = M (x) si redenirea functiei obiectiv prin
1
(10.33)
f (x) = F (x)22
2
unde F (x) este o functie neliniara F : Rm Rn cu m > n (un numar mai mare de masuratori
decat parametri). Intr-un punct dat xk (iteratia k), F (x) este liniarizat, iar urmatoarea iteratie
xk+1 obtinuta prin rezolvarea unei probleme liniare CMMP. Folosim expansiunea
F (x) u F (xk ) + J(xk )(x xk )

(10.34)

unde J(x) este Jacobianul lui F (x) denit de


J(x) =

F (x)
.
x

Atunci, xk+1 poate determinat ca o solutie a urmatoarei probleme liniare CMMP:


1
xk+1 = arg min F (xk ) + J(xk )(x xk )22
x 2
Pentru simplitate, in locul notatiei J(xk ) folosim J, iar in locul lui F (xk ) folosim F :
1
xk+1 = arg min F + J(x xk )22
x 2
1
= xk + arg min F + Jd22
d 2
T
= xk (J J)1 J T F
= xk +

dGN
k

(10.35)

(10.36)

(10.37)
(10.38)
(10.39)
(10.40)

Metoda Gauss-Newton se aplica numai problemelor CMMP, deoarece presupune liniarizarea functiei neliniare in interiorul normei-L2 . Precizam ca in ecuatia , matricea J T J nu este intotdeauna
inversabila.

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

10.6

95

Levenberg-Marquardt (LM) Method

Aceasta metoda reprezinta generalizarea metodei Gauss-Newton, ce se aplica in cazurile particulare cand J T J nu este inversabila si poate conduce la o convergenta mai robusta pornind dintr-o
regiune indepartata fata de solutie. Metoda Levenberg-Marquardt (LM) realizeaza un pas pk mai
redus prin penalizarea normei acestui pas. Denitia acestui pas este data de:
1
k
dLM
= arg min F (xk ) + J(xk )d22 +
d22
k
d 2
2
= (J T J + k I)1 J T F

(10.41)
(10.42)

cu scalarul k > 0. Prin intermediul acestui pas, se itereaza


xk+1 = xk + dLM
k .

(10.43)

Daca valoarea scalarului k se considera foarte mare, nu am aplica nicio corectie punctului curent,
ci algoritmul ar ramane in( punctul
in care respectiv: pentru k obtinem dLM
0. Mai
k
)
precis, dLM
=
k
avem

dLM
k

1 T
k J F
J + F .

+R

1
2k

. Pe de alta parte, pentru valori mici ale lui k , i.e. pentru k 0

Este interesant de observat ca gradientul functiei obiectiv aferenta problemei CMMP f (x) =
1
2
2 F (x)2 este egala cu
f (x) = J(x)T F (x),

(10.44)

ce se regaseste printre termenii implicati in pasul metodelor Gauss-Newton si Levenberg-Marquardt.


Deci, daca gradientul este nul, atunci de asemenea dGN
= dLM
= 0. Aceasta este o conditie necek
k
sara pentru convergenta la puncte stationare: metodele GN si LM both stay at a point xk with
f (xk ) = 0. In urmatorul capitol vom analiza in detaliu proprietatile de convergenta ale acestor
doua metode, care de fapt fac parte dintr-o familie extinsa de metode, si anume metode de
optimizare de tip Newton.
Mai departe, discutam teoria convergentei acestor metode (pe baza unei ratiuni similare celei din
Teorema 9.2.2):
Theorem 10.6.1 Fie x un punct ce satisface (SOSC) local, intr-o vecinatate a lui x . Iteratia
quasi-Newton are forma xk+1 = xk Hk f (xk ), unde matricea Hk este inversabila pentru orice
k si satisface urmatoarea conditie Lipschitz
Hk1 (2 f (xk ) 2 f (y)) M xk y k N, y Rn ,

CHAPTER 10. PROBLEME DE ESTIMARE SI FITTING

96

si, de asemenea, conditia de compatibilitate


Hk (2 f (xk ) Hk1 ) k k N

(10.45)

cu 0 < M < si k
< 1. Presupunem de asemenea ca
x0 x <

2(1
)
.00
M

(10.46)

Atunci xk converge la x linear daca k > > 0.

Proof:

Vezi demonstratia Teoremei 9.2.2.

Chapter 11

Globalisation Strategies
A Newton-type method only converges locally if
+

0
x x < 1
2

1
x0 x 2

(11.1)
(11.2)
(11.3)

Recall that is a Lipschitz constant of the Hessian that is bounding the non-linearity of the
problem, and is a measure of the approximation error of the Hessian.
But what if x0 x is too big to make Newtons method converge locally?
The general idea is to make the steps in the iteration shorter and to ensure descent: f (xk+1 ) <
f (xk ). This shall result in f (xk ) 0. While doing this, we should not take too small steps and
get stuck.
In this chapter two methods will be described to solve this problem: Line-search and Trust-region.

97

CHAPTER 11. GLOBALISATION STRATEGIES

11.1

98

Line-search method

Each iteration of a line search method computes rst a search direction pk . The idea is to require
pk to be a descent direction1 . The iteration is then given by
xk+1 = xk + tk pk

(11.4)

with tk (0, 1] a scalar called the step length (tk = 1 in case of a full step Newton type method).
Computing the step length tk requires a tradeo between a substantial reduction of f and the
computing speed of this minimization problem. Regard the ideal line search minimization:
min f (xk + tpk ) s.t.
t

t (0, 1]

(11.5)

Exact line search is not necessary, instead we ensure that (a) the steps are short enough to get
sucient decrease (descending must be relevant, see Figure 3.2 in [?]) and (b) long enough to not
get stuck.
a) Armijos sucient decrease condition
Armijo stipulates that tk should give sucient decrease in f :
f (xk + tk pk ) f (xk ) + tk f (xk )T pk

(11.6)

with (0, 12 ) the relaxation of the gradient. In practice is chosen quite small, say = 0.1 or
even smaller. Note that with = 1 equation 11.6 would be a rst order Taylor expansion.
This condition alone, however, only ensures that the steps are not too long, and it is not sucient
to ensure that the algorithm makes fast enough progress.
Many ways exist to make sure that the steps do not get too short either, and we will just learn
one of them.
b) Backtracking
Backtracking chooses the step length by starting with t = 1 and checking it against Armijos
condition. If the Armijo condition is not satised, t will be reduced by a factor (0, 1). In
practice is chosen to be not too small, e.g. = 0.8.
A basic implementation of a) and b) can be found in Algorithm 1.
1

pk is a descent direction i f (xk )T pk < 0

CHAPTER 11. GLOBALISATION STRATEGIES

99

Inputs: xk , pk , f (xk ), f (xk )T pk , ,


Output: step length tk
t1
while f (xk + tpk ) f (xk ) + tf (xk )T pk do
t t
end while
tk t
Algorithm 1: Backtracking with Armijo Condition

11.2

Global convergence of the line search method

We will now state a general algorithm for Newton type line search, Algorithm 2.
Inputs: x0 , TOL > 0, (0, 1), (0, 21 )
Output: x
k=0
while f (xk ) > TOL do
obtain Bk 0
pk Bk1 f (xk )
get tk from the backtracking algorithm
xk+1 xk + tk pk
k k+1
end while
x xk
Note: For computational eciency, f (xk ) should only be evaluated once in each iteration.
Algorithm 2: Newton type line search
Theorem [Global Convergence of Line-Search] Assume f C 1 (once dierentiable) with
f Lipschitz and c1 I Bk1 c2 I (eigenvalues of Bk1 : c2 eig(Bk1 ) c1 ) with 0 < c1 c2 .
Then either algorithm 2 stops with success, i.e., f (xk ) TOL, or f (xk ) , i.e., the
problem was unbounded below.

insert gures :)

CHAPTER 11. GLOBALISATION STRATEGIES

100

Proof by contradiction: Assume that algorithm 2 does not stop, i.e. f (xk ) > TOL for
all k, but that f (xk ) is bounded below.
Because f (xk+1 ) f (xk ) we have f (xk ) f which implies [f (xk ) f (xk+1 )] 0.
From Armijo (11.6), we have
f (xk ) f (xk+1 ) tk f (xk )T pk
=

tk f (xk ) Bk1 f (xk )


c1 tk f (xk )22
T

(11.7)
(11.8)
(11.9)

So we have already:
c1 tk f (xk )22 0

(11.10)

If we can show that tk tmin > 0, k our contradiction is complete ( f (xk )22 0).
We show that tk tmin with tmin = min(1, (1)
Lc2 ) > 0 where L is the Lipschitz constant for
f , i.e., f (x) f (y) Lx y.

For full steps tk = 1, obviously tk tmin . In the other case, due to backtracking, we must have
for the previous line search step (t = tk ) that the Armijo condition is not satised, otherwise we
would have accepted it.

CHAPTER 11. GLOBALISATION STRATEGIES

101

tk
tk
pk ) > f (xk ) + f (xk )T pk

tk
tk

f (xk + pk ) f (xk )
> f (xk )T pk

|
{z
}
t
t
=f (xk + pk )T pk k , with (0, k )
f (xk +

f (xk + pk )T pk > f (xk )T pk


(f (xk + pk ) f (xk )) pk > (1 ) (f (xk ) pk )
|
{z
}
|
{z
}
L

(11.12)

(11.13)

L pk

(11.11)

(11.14)

pk T Bk pk

tk
pk 2 > (1 ) pk T Bk pk
| {z }

(11.15)

c1 pk 22
2

tk >
(Recall that

1
c1

eig(Bk )

(1 )
c2 L

1
c2 ).

We have shown that the step length will not be shorter than
zero.

11.3

(11.16)

(1)
c2 L ,

and will thus never become




Trust-region methods (TR)

Line-search methods and trust-region methods both generate steps with the help of a quadratic
model of the objective function, but they use this model in dierent ways. Line search methods
use it to generate a search direction and then focus their eorts on nding a suitable step length
along this direction. Trust-region methods dene a region around the current iterate within
they trust the model to be an adequate representation of the objective function and then choose
the step to be the approximate minimizer of the model in this region. In eect, they choose the
direction and length of the step simultaneously. If a step is not acceptable, they reduce the size
of the region and nd a new minimzer. In general, the direction of the step changes whenever
the size of the trust region is altered. The size of the trust region is critical to the eectiviness of
each step. (cited from [?]).
The idea is to iterate xk+1 = xk + pk with

CHAPTER 11. GLOBALISATION STRATEGIES

pk = arg minn mk (xk + p) s.t. p k


pR

102

(11.17)

Equation (11.17) is called the TR-Subproblem, and k > 0 is called the TR-Radius.
One particular advantage of this new type of subproblem is that we even can use indenite
Hessians without problems. Remember that for an indenite Hessian the unconstrained
quadratic model is not bounded below. A trust-region constraint will always ensure that the
feasible set of the subproblem is bounded so that it always has a well-dened minimizer.
Before dening the trustworthiness of a model, recall that:
1
mk (xk + p) = f (xk ) + f (xk )T p + pT Bk p
2

(11.18)

Denition [Trustworthiness]: A measure for the trustworthiness of a model is the ratio of


actual and predicted decrease.

k =

f (xk ) f (xk + pk )
Ared
=
mk (xk ) mk (xk + pk )
Pred
|
{z
}
>0 if f (xk )=0

We have f (xk + pk ) < f (xk ) only if k > 0. k 1 means a very trustworthy model.
The trust region algorithm is described in Algorithm 3.
The general convergence of the TR algorithm can be found in Theorem 4.5 in [?]

(11.19)

CHAPTER 11. GLOBALISATION STRATEGIES

Inputs: max , [0, 14 ] (when do we accept a step), 0 , x0 , TOL > 0


Output: x
k=0
while f (xk ) > TOL do
Solve the TR-subproblem 11.17 and get pk (approximately)
Compute k
Adapt k+1 :
if k < 14 then
k+1 k 14 (bad model: reduce radius)
else if k > 34 and pk = k then
k+1 min(2 k , max ) (good model: increase radius, but not too much)
else
k+1 k
end if
Decide on acceptance of step
if k > then
xk+1 xk + pk (we trust the model)
else
xk+1 xk null step
end if
end while
x xk
Algorithm 3: Trust Region

103

Chapter 12

Calculating Derivatives
In the previous chapters we saw that we regularily need to calculate f and 2 f . There are
several methods for calculating these derivatives:

1. By hand
Expensive and error prone.
2. Symbolic dierentiation
Using Mathematica or Maple. The disadvantage is that the result is often a very long code
and expensive to evaluate.
3. Numerical dierentiation (nite dierences)
Easy and fast, but innacurate
f (x + tp) f (x)
f (x)T p
t

(12.1)

How should we choose t? If we take t too small, the derivative will suer from numerical
noise. On the other hand, if we take t too large, the linearization error will be dominant. A

good rule of thumb is to use t = mach , with mach the machine precision (or the precision
of f , if it is lower than the machine precision).

The accuracy of this method is mach , which means in practice that we loose half the valid
digits compared to the function evaluation. Second order derivates are therefore even more
dicult to accurately calculate.
104

CHAPTER 12. CALCULATING DERIVATIVES

105

4. Imaginary trick in MATLAB


If f : Rn R is analytic, then for t = 10100 we have

f (x)T p =

(f (x + itp))
t

(12.2)

which can be calculated up to machine precision.


Proof:
g(z) = f (x + zp)
1
g(z) = g(0) + g (0)z + g (0)z 2 + O(z 3 )
2
1

g(it) = g(0) + g (0)it + g (0)i2 t2 + O(t3 )


2
1
= g(0) g (0)t2 + g (0)it + O(t3 )
2
(g(it)) = g (0)t + O(t3 )

5. Automatic dierentation in forward and reverse mode
This is the main topic of this chapter.

12.1

Automatic Dierentiation (AD): Forward mode

Regard f : Rn R with m elementary operations:


Independent variables (input): x1 , . . . , xn
Intermediate variables: xn+1 , . . . , xn+m1
Dependent variable (output): xn+m

Idea of AD: use chain rule and dierentiate each i separately.

CHAPTER 12. CALCULATING DERIVATIVES

106

Input: x1 , . . . , xn
Output: xn+m
for i = n + 1 to n + m do
xi i (x1 , . . . , xi1 )
end for
Note: each i depends on maximum two out of {x1 , . . . , xi1 }.
Algorithm 4: Automatic Dierentation
Notation: In AD we use a particularly convenient notation using dot quantities for all forward derivatives. We think of all functions as being dependent on a virtual time t e.g. for x
or f we assume x(t), f (x(t)), even though we never really use the argument t in the AD notation.
But the virtual time allows us to understand the meaning of the dot quantities, which are then
df
dx
and f
= f (x)T x.

dened as x
dt
dt
The derivatives are given by

n+i dxj
dxn+i
=
, i = 1, . . . , m
dt
xj dt
j<n+i

with

dxj
dt

x j .

Input: x 1 , . . . , x n (and all partial derivatives


Output: x n+m

n+i
xj

for i = 1 to
m do n+i
xn+i
j<n+i xj xj
end for
Algorithm 5: Forward Automatic Dierentation

Remarks:
in each sum, only one or two terms are non-zero,

(12.3)

CHAPTER 12. CALCULATING DERIVATIVES

107

the previous two algorithms can be combined, eliminating the need to store the intermediate
variables.

Example [Forward Automatic Dierentiation]:


f (x1 , x2 , x3 ) = sin(x1 x2 ) + exp(x1 x2 x3 )
x4 = x1 x2
x5 = sin(x4 )
x6 = x4 x3
x7 = exp(x6 )
x8 = x5 + x7
x 4 = x 1 x2 + x1 x 2
x 5 = cos(x4 )x 4
x 6 = x 4 x3 + x4 x 3
x 7 = exp(x6 )x 6
x 8 = x 5 + x 7
We can prove that cost(algo 5) cost(algo 4), or in other words that cost(f T p) 2 cost(f )
(note that p x).

How do we get the full gradient of f ? Call the algorithm n times with n dierent seed vectors
x Rn :


1
0
0
0 1
0




x = 0 , 0 , . . . , 0
.. ..
..
. .
.
0

(12.4)

And hence we have cost(f ) 2n cost(f ).


AD forward is slightly more expensive than numerical nite dierences (FD), but is exact up to
machine precision.

CHAPTER 12. CALCULATING DERIVATIVES

108

Software: ADOL-C, Adic, Adifor.

12.2

Automatic Dierentiation: Reverse (Backward) Mode

Recall that in forward AD we used

dxn+i
dt

df
=
dxi

j<n+i

j>max(i,n)

n+i dxj
xj dt .

In reverse AD we will instead use

df j
dxj xi

(12.5)

Notation: In the reverse mode of AD we use bar quantities instead of the dot quantities
that we used in the forward mode. These quantities can be interpreted as derivatives of the nal
df
, so that e.g.
output with respect to the respective intermediate quantity. We write x
i dx
i

x
1
..
f (x) = . .
x
n
Input: all partial derivatives
Output: x
1 , x
2 , . . . , x
n

j
xi

x
1 , x
2 , . . . , x
n+m1 0
x
n+m 1
for j = n + m down to n + 1 do
for all i < j do

x
i x
i + x
j xji
end for
end for
Algorithm 6: Reverse Automatic Dierentiation

CHAPTER 12. CALCULATING DERIVATIVES

109

Example [Reverse Automatic Dierentiation]:


x
1 , x
2 , . . . , x
7 0
8 1
x
(j = 8 : x8 = x5 + x7 ))
x
5 x
5 + 1 x
8
x
7 x
7 + 1 x
8
(j = 7 : x7 = exp(x6 ))
x
6 x
6 + exp(x6 )
x7
(j = 6 : x6 = x4 x3 )
x
4 x
4 + x3 x
6
x
3 x
3 + x4 x
6
(j = 5 : x5 = sin(x4 ))
x
4 x
4 + cos(x4 )
x5
(j = 4 : x4 = x1 x2 )
x
1 x
1 + x2 x
4
x
2 x
2 + x1 x
4
Output:


x
1
2
x
1 , x
2 , x
3 with f (x) = x
x
3

The gradient is returned ine one reverse sweep. Furthermore, it can be shown that cost(algo 6)
5 cost(algo 4). In other words cost(f ) 5 cost(f ), regardless of the dimension n!
The only disadvantage is that, unlike in forward AD, you have to store all intermediate variables
and partial derivatives in reverse AD.

Part III

Optimizare constransa

110

Chapter 13

Functia Lagrangiana si Dualitatea


In acest capitol consideram o problema NLP (nu neaparat convexa) in forma standard: (4.2) cu
functiile f : Rn R, g : Rn Rp , and h : Rn Rq .

Denition [Primal Optimization Problem]: Vom nota valoarea optima glovala a functiei
obiectiv supusa la constrangeri ca valoarea optima primala p , i.e.,
(
)

p = minn f (x) s.t. g(x) = 0, h(x) 0 ,


(13.1)
xR

si vom numi aceasta problema de optimizare ca problema de optimizare primala.

Denitie [Functia Lagrange si multiplicatorii Lagrange]: Denim asa-numita functie


Lagrange ca:
L(x, , ) = f (x) T g(x) T h(x).
(13.2)
In aceasta functie am introdus asa-numitii multiplicatori Lagrange sau variabile duale Rp
and Rq . Functia Lagrangiana joaca un rol principal atata optimizarea neliniara convexa cat
si generala. In mod obisnuit, este impus ca multiplicatorii de inegalitate sa e pozitivi, 0,
in timp ce semnul multiplicatorilor de egalitate poate arbitrar. Aceste cerinte sunt motivate
de urmatoarea lema:

111

CHAPTER 13. FUNCTIA LAGRANGIANA SI DUALITATEA

Lema [Porprietatea de marginire inferioara a Lagrangianului]:


fezabil al (13.1) si 0, atunci
L(
x, , ) f (
x).

Demonstratie:

112

Daca x
este un punct
(13.3)

L(
x, , ) = f (
x) T g(
x) T h(
x) f (
x).
|{z} |{z} |{z}
0

=0

Denitie [Functia Lagrange Duala]: Denim asa numita functie Lagrange duala ca inmumul neconstrans al Lagrangianului in functie de variabila x, pentru multiplicatorii si
xati.
q(, ) = infn L(x, , ).
(13.4)
xR

Aceasta functie adesea va lua valoarea , caz in care spunem ca perechea (, ) este dual
nefezabila, penntru motive ce le vom preciza in ultimul exemplu din aceasta sectiune.

Lemma [Proprietatea de Marginire Inferioara a Dualei Lagrangiene]:


atunci
q(, ) p

Daca 0,
(13.5)

Demonstratie: Aceasta lema este o consecinta directa a ecuatiei Eq. (13.3) ce implica ca pentru
orice x
fezabil, avem q(, ) f (
x). Acesta inegalitate este satisfacuta in particular pentru
punctul de minim global x (ce trebuie sa e fezabil), astfel implicand: q(, ) f (x ) = p .

Teormea [Concavitatea Dualei Lagrangiene]:


daca problema NLP originala nu este convexa

Functia q : Rp Rq R este concava, chiar

Demonstratie: Vom arata ca q este convexa. Lagrangianul L este o functie ana in multiplicatorii si , ce implica in particular ca L este convexa in (, ). Astfel, functia q(, ) =
supx L(x, , ) este un supremum de functii convexe (, ) ce sunt indexate prin x, ind astfel
convexe.
O intrebare naturala ar : care este cea mai buna maringe inferioara ce poate obtinute dintr-o
functie Lagrange duala ? Raspunsul este simplu: o obtinem prin maximizarea dualei Lagrange
dupa toate valorile posibile ale multiplicatorilor, obtinandu-se astfel asa-numita problema duala.

CHAPTER 13. FUNCTIA LAGRANGIANA SI DUALITATEA

113

Denie [Problema Duala]: Problema duala, cu valoarea optima duala d este denita
ca ind problema de maximizare convexa:
(
)

d =
max
q(, ) s.t. 0 .
(13.6)
p
q
R ,R

Este interesant de observat ca problema duala este intotdeauna convexa, chiar daca problema
primala nu este.
Drept consecinta a ultimei leme, obtine un rezultat fundamental numit dualitatea slaba.

Teorema [Dualitate Slaba]:

d p

(13.7)

Aceasta teorema este valabila pentru orice problem de optimizare arbitrara, insa adevarata sa
importanta se regaseste in optimizarea convexa, unde adesea este prezenta o versiune puternica
a dualitatii, a care demonstrantie insa nu o vom prezenta in acest curs.

Teorema [Dualitate Puternica]: Daca problema de optimizare primala (13.1) este convexa
si o conditie tehnica a constrangerilor (e.g conditia Slater) este satisfacuta, atunci obiectivele
primale si duale sunt egale
d = p .
(13.8)
Dualitatea puternica ne permite sa reformulam o problema de optimizare convexa ca problema
sa duala, avand un aspect diferit, dar care produce aceeasi solutie. Strong duality allows us to
reformulate a convex optimization problem into its dual, which looks very dierently but gives
the same solution. Pentru lamuriri privind acest vam, vom studia urmatoarele doua exemple.

Exemplu [Dualitatea unei probleme QP strict convexa]: Fie problema QP strict convexa
(i.e., with B0)

p = minn
xR

1
cT x + xT Bx
2
s.t Ax b = 0,

(13.9b)

Cx d 0.

(13.9c)

(13.9a)

CHAPTER 13. FUNCTIA LAGRANGIANA SI DUALITATEA

114

Lagrangianul sau este dat de


1
L(x, , ) = cT x + xT Bx T (Ax b) T (Cx d)
2
(
)T
1
= T b + T d + xT Bx + c AT C T x.
2
Functia Lagrange duala este inmumul Lagrangianului in functie de variabila x, ce este prezenta
doar in ultimii doi termeni ai relatiei de mai sus. Obtinem astfel:
)
(
(
)T
1 T
T
T
T
T
x Bx + c A C x
q(, ) = b + d + infn
xR
2
)T
(
)
1(
= T b + T d
c AT C T B 1 c AT C T
2
unde in ultima egalitate am utilizata reszultatul de baza (7.3).
Astfel, problema de optimizare duala a QP-ului (13.9) este data de:
1 T 1
c B c +
d = max

Rp ,Rq
2

]T [ ]
b + AB 1 c

d + CB 1 c

[ ]T [ ]
[ ]T [ ]
1
A

1 A
B

C
C

0.

s.t

(13.10a)
(13.10b)

Datorita faptului ca functia obiectiv este concava, aceasta problema este ea insasi un QP convex,
insa nu strict convex. Observam ca primul termen este o constanta, care trebuie insa pastrat
pentru ca d = p , i.e. dualitatea puternica sa e mentinuta.

Exemplu [Duala unei probleme LP]:


p =

Fie acum urmatoarea problema LP:


cT x

min

xRn

s.t

(13.11a)

Ax b = 0,

(13.11b)

Cx d 0.

(13.11c)

Functia sa Lagrange este data de:


L(x, , ) = cT x T (Ax b) T (Cx d)
(
)T
= T b + T d + c AT C T x.

CHAPTER 13. FUNCTIA LAGRANGIANA SI DUALITATEA

115

Aici, duala Lagrange este:


(
)T
q(, ) = T b + T d + infn c AT C T x
xR
{
0
if c AT C T = 0
T
T
= b+ d+
else.
Astfel, functia obiectiv a q(, ) a problemei de optimzare duale ia valoarea in toate punctele
ce nu satisfac egalitatea liniara c AT C T = 0. Din moment ce vrem sa maximizam functia,
aceste puncte pot privite ca puncte nefezabile a problemei duale (de aceea le numim dual
nefezabile), si putem scrie in mod explicit duala LP-ului de mai sus ca:

d =

max

Rp ,Rq

s.t

[ ]T [ ]
b

(13.12a)

c AT C T = 0,

(13.12b)

0.

(13.12c)

Aceasta problema este si ea un LP, si poate demonstrat ca dualitatea puternica este mentinuta
pentru toate LP-urile pentru care cel putin un punct fezabil exista, i.e. avem d = p chiar daca
aceste doua probleme par foarte diferite.

Chapter 14

Conditii de Optimalitate pentru


Optimizare Constransa
De acum inainte consideram problema de minimizare constransa in forma standard:
minimize f (x)
x Rn
subject to g(x) = 0,

(14.1a)
(14.1b)

h(x) 0.

(14.1c)

in care f : Rn R, g : Rn Rp iar h : Rn Rq sunt functii smooth. Retinem ca o multime


fezabila pentru aceasta problema este denita ca ind = {x Rn |g(x) = 0, h(x) 0}.

Denitie [Tangenta]: p Rn este numita tangenta la in x daca exista o curba


x
smooth x
(t) : [0, ) Rn cu x
(0) = x , x
(t) t [0, ) si d
dt (0) = p.
Denitie [Conul Tangent]: conul tangent T (x ) al lui in x este multimea tuturor
vectorilor tangenti in x .

116

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA117

Exemplu [Con Tangent]:


[

]
(x1 1)2 + x22 1
h(x) =
(x2 2)2 x21 + 4
[ ]
{
[ ]
}
0
0

T
x =
: T (x ) =
p|p
0 = R R++
4
1
[ ]
{
[ ]
[ ]
}
0

T 1
T 0
x =
: T (x ) =
p|p
0&p
0 = R++ R++
0
0
1

(14.2)
(14.3)
(14.4)

Insert gure for this example.

14.1

Conditii de Optimalitate Necesare Karush-Kuhn-Tucker (KKT)

Teorema [Conditii de Optimalitate de Ordin I, varianta 0]:


minim local al problemei (14.1), atunci

Daca x este un punct de

1. x
2. pentru toti p T (x ) tangenti avem: f (x )T p 0

Demonstratie: (Prin condradictie) Daca p T (x ) cu f (x )T p < 0 atunci ar exista o


x(t))
curba fezabila x
(t) cu df (dt
= f (x )T p < 0.

t=0

14.2

Constrangeri active si satisfacerea constrangerilor

Cum caracterizam T (x )?

Denitie [Constragere Activa/Inactiva]: O constrangere de egalitate hi (x) 0 se numeste


activa in punctul x daca si numai daca hi (x ) = 0, altfel ea se numeste inactiva.

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA118


Denite [Multime Activa]: Multimea de indici A(x )L {1, . . . , q} de constrangeri active
este numita multimea activa.

Remarca:

Constrangerile inactive nu inuneteaza T (x ).

Denitie [LICQ]: Satisfacerea conditiei de liniar independenta a constrangerilor (linear independence constraint qualication sau (LICQ)) este mentinuta in x daca si numai daca toti
vectorii gi (x ) pentru i {1, . . . , m} si hi (x ) pentru i A(x ) sunt liniari independenti.
Observatie: aceasta este o conditie tehnica, ce este de obicei satisfacuta.
Luam de exemplu constrangerile c1 (x) = 1 x21

Insert gure that illustrates LICQ, and also illustrates why one should usually avoid replacing an
equality with two inequalities.

Denitie [Con Fezabil Liniarizat]: F(x ) = {p|gi (x )T p = 0, i = 1, . . . , m & hi (x )T p


0, i A(x )} este denumit conul fezabil liniarizat in x .

Examplu [Con Fezabil Liniarizat]:


[

h(x) =
x =
h2 (x) =
=
F(x ) =

]
(x1 1)2 + x22 1
(x2 2)2 x21 + 4
[ ]
0
, A(x ) = {2}
4
[
]
2x1
2(x2 2)
[ ]
0
4
{ [ ]
}
T
0
p|
p0
4

(14.5)
(14.6)
(14.7)
(14.8)
(14.9)

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA119

Lemma:

Pentru orice punct x avem:

1. T (x ) F(x )
2. Daca LICQ este satisfacuta in x , atunci T (x ) = F(x ).

Demonstratie:
1.
d
x
p T
x(t) with p =
&x
(0) = x & x
(t)

dt t=0

(14.10)

g(
x(t)) = 0 t [0, )

(14.11)
(14.12)

h(
x(t)) 0
dgi (
x(t))
= gi (x )T p = 0, i = 1, . . . , m
dt
dhi (
x(t))
hi (
x(t)) hi (x )
0
= lim

t0+
dt
t
t=0
for i A(x ) : hi (x ) = 0 & hi (
x(t)) 0

p F (x )

(14.13)
(14.14)
dhi
hi (x )T p 0
dt

(14.15)
(14.16)

2. Pentru o demonstratie completa, vezi [Noc2006]. The idea is to use the implicit function
theorem to construct a curve x
(t) which has a given vector p F(x ) as tangent.


Teorema (varianta 1): Daca LICQ este satisfacuta in x iar x este un punct de minim local
pentru problema (14.1) atunci
1. x
2. p F (x ) : f (x )T p 0.

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA120

Cum putem simplica a doua conditie ? Aici intra in ajutor urmatoarea lema.
[ Pentru
]a o
)T
h
(x
i
dg
interpreta, retinem ca F(x ) = {p|Gp = 0, Hp 0} cu G = dx
(x ), H =
cu
..
.
i A(x ).

Lemma lui Farkas: Pentru orice matrice G Rmn , H Rqn si vector c Rn avem:

ori
ori

Rm , Rq cu 0 & c = GT + H T

(14.17)

p R cu Gp = 0 & Hp 0 & c p < 0

(14.18)

insa niciodata ambele (teorema alternativelor).

Demonstratie: In demonstratie utilizam teorema separarii hiperplanelor in punctul c Rn


si multimea S = {GT + H T | Rn , Rq , 0}. S este un con convex. Teorema
separararii hiperplanelor arma ca doua multimi convexe, in cazul nostru multimea S si punctul
c, pot intotdeauna separate printr-un hiperplan. In cazul nostru, hiperplanul atinge multimea
S in origine, si este descris de un vector normal p. Separarea lui S si c implica ca pentru orice
y S avem y T p 0, iar pe de alta parte, cT p < 0.

Ori

c S (14.17)

ori

c
/S

(14.19)
(14.20)

p R : y S : p y 0 & p c < 0
n

(14.21)

p R : , cu 0 : p (G + H ) 0 & p c < 0

(14.22)

p R : Gp = 0 & Hp 0 & p c < 0 (14.18)

(14.23)

n
n


Din lema lui Farkas, urmeaza o simplicare dorita a lemei anterioare:

Teorema (varianta 2) [Conditiile KKT]: Daca x este un punct de minim local al problemei
(14.1) si LICQ este satisfacuta in x , atunci exista Rm si Rq pentru care:

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA121

f (x ) g(x ) h(x ) = 0

(14.24a)

(14.24b)

h(x ) 0

(14.24c)

(14.24d)

g(x ) = 0

i hi (x ) = 0,

i = 1, . . . , q.

(14.24e)

Observatie: Conditiile KKT sunt conditiile necesare de ordin I pentru optimalitate in cazul optimizarii constranse, si sunt echivalente cu f (x ) = 0 in cazul optimizarii neconstranse.

Demonstratie: Cunoastem deja ca (14.24b), (14.24c) x . Am aratat ca (14.24a),


(14.24d), (14.24e) p F (x ) : pT f (x ) 0. Utilizand acum lema lui Farkas avem:

p F(x ) : pT f (x ) 0 Nu este adevarat ca p F (x ) : pT f (x ) < 0


(14.25)

, i 0 : f (x ) =
gi (x )i +
hi (x )
(14.26)
i
iA(x )

(14.27)
Acum facem zero componetele ale lui care nu apartin lui A(x ) , i.e. i = 0 daca hi (x ) > 0,
si
and
si (14.24a) datorita
conditiile (14.24d)
(14.24e) sunt satisfacute in mod trivial , precum
) =
).
h
(x
h
(x
)
daca

=
0
pentru
i

/
A(x


i
i
i
i
i
iA(x )
i={1,...,q}
Desi nu este necesar pentru demonstratia necessitatii conditiilor de optimalitate al teoremei de
deasupra (varianta 2), mentionam ca teorema este 100 % echivalenta cu varianta 1, dar are un
avantaj de calcul, in sensul ca conditiile sale pot vericate usor: daca este furnizat un triplet
(x , , ), atunci poate vericat usor daca este sau nu un punct KKT.
Observatie: Utilizand denita Lagrangianului, avem (14.24a) x L(x , , ) = 0. In absenta
inegalitatilor, conditiile KKT se simplica la x L(x, ) = 0, g(x) = 0, o formulare acreditata lui
Lagrange si cunoscuta cu mult timp inaintea conditiilor KKT.

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA122

Exemplu [Conditii KKT]:


[

0
1

]T

x
minimizeaza
x R2
[
]
x21 + x22 1
s. t
0
(x2 2)2 x21 + 4

(14.28)
(14.29)
(14.30)

Punctul de minimi local x =

[ ]
0
satisface conditiile KKT?
4

Mai intai:

A(x ) = {2}
[ ]
0

f (x ) =
1
[ ]
0
h2 (x ) =
4

(14.31)
(14.32)
(14.33)

Apoi scriem conditiile KKT, care sunt pentru dimensiunile specice acestui exemplu echivalente
cu termenii din partea dreapta

(14.24a) f (x ) h1 (x )1 h2 (x )2 = 0
(14.24b)

(14.34)
(14.35)

(14.24c) h1 (x ) 0 & h2 (x ) 0

(14.36)

(14.24d) 1 0 & 2 0

(14.37)

(14.24e) 1 h1 (x ) = 0 & 2 h2 (x ) = 0

In nal, vercam daca intr-adevar toate cele cinci conditii sunt satisfacute:

(14.38)

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA123

[ ]
] [ ]
0

0
1
= 0 (1 este inactiva, utilizeaza 1 = 0, 2 =(14.39)

(14.24a)

4)
4 2
1
1
(14.24b)

(14.40)
[

(14.24c) h1 (x ) > 0 & h2 (x ) = 0


1
(14.24d) 1 = 0 & 2 = 0
4
(14.24e) 1 h1 (x ) = 0h1 (x ) = 0 & 2 h2 (x ) = 2 0 = 0

14.3

(14.41)
(14.42)
(14.43)

Probleme Convexe

Theorem:

Fie o problema NLP convexa si un punct x in care LICQ este satisfacuta. Atunci:

x este un punct de minim global , astfel incat conditiile KKT sa e satisfacute.


Reamintim ca problema NLP
minimizeaza
x Rn
s.t

f (x)

(14.44)

g(x) = 0,

(14.45)

h(x) 0.

(14.46)

este convexa daca f si toate hi sunt convexe iar g este ana, i.e., g(x) = Gx + a.

Schema demonstratiei

Avem nevoie doar de sensul .

Presupunem ca (x , , ) satisfac conditiile KKT

L(x, , ) = f (x) gi (x)i hi (x)i


L este o functie convexa a lui x, iar pentru , xati, gradientul sau este zero, L(x , , ) =
0. Drept urmare, x este un punct de minim global al problemei neconstranse minx L(x, , ) =
d

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA124


Stim ca
d p = min f (x) st g(x)
= 0, h(x) 0.
d = L(x , , ) = f (x )
gi (x )i
hi (x )i = f (x ) iar
|
{z
} |
{z
}
0

x este fezabil: i.e. p = d iar x este un punct de minim global.

14.4

Complementaritate

Ultima conditie KKT este numita conditia de complementaritate. Grac, plasarea lui hi (x) si i
ce satifsac cele trei conditii hi 0, i 0 and hi i = 0 este urmatoarea:

gure

Denitie: Fie un punct KKT (x , , ). Pentru i A(x ) spunem hi este slab activa daca
i = 0, atlfel, daca i > 0, spunem ca este strict activa. Spunem ca complementaritatea stricta
este valabila in acest punt KKT daca si numai daca toate constrangerile active sunt strict active.
Denim o multimea de constrangeri slab active ca A0 (x , ) iar multimea de constrangeri strict
active ca A+ (x , ). Multimile sunt disjuncte iar A(x ) = A0 (x , ) A+ (x , ).
Observatie: complementaritatea stricta face multe teoreme mai usoare.

14.5

Conditii de ordin II

Denitie: Fie punctul KKT (x , , ). Conul critic C(x , ) este urmatoarea multime:

C(x , ) = { p|g(x )T p = 0, hi (x )T p = 0 daca i A+ (x , ), hi (x )T p 0 daca i A0 (x , )}


(14.47)

Observatie
C(x , ) F(x ). In cazul in care LICQ este satisfacuta, chiar si C(x , )

T (x ). Astfel, conul critic este o submultime al tuturor directiilor fezabile. De fapt, contine toate

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA125

directiile fezabile care provin din informatii de ordin I ce sunt nici ascendente, nici descendente,
dupa cum arata urmatoarea teorema.

Teorema:
Fie punctul KKT (x , , ) ce satisface LICQ, atunci p T (x ) avem
p C(x , ) f (x )T p = 0.

Demonstratie:
Utilizam x L(x , , ) = 0 ca sa obtinem, pentru orice p C(x , ), urmatoarele:

i hi (x )T p +
i hi (x ) = 0
f (x )T p = T g T p +
| {z }
| {z }
=0

i, i >0

=0

(14.48)

(14.49)

i, i =0

Pe de alta parte, daca p T (x ) atunci toti termenii


din membrul drep trebuie sa e nenegativi,

astfel incat f (x )T p = 0 in particular implica i, i >0 i hi (x )T p = 0 ce implica hi (x )T p =


0 pentru orice i A+ (x , ), i.e. p C(x , ).

Exemplu:
min x2 s.t. 1 x21 x22 0
( )
0
x =
1
(
)
2x1
h(x) =
2x2
( )
0
f (x) =
1

(14.50)

f (x) h(x) = 0
( ) ( )
1
0
0

=0=
1
2
2

(14.54)

(14.51)
(14.52)
(14.53)

=?

(
x

)
0
,=
1

1
2

este un punct KKT.

(14.55)

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA126

( )T
0
T (x ) = F(x ) = {p | h p 0} = {p |
p 0}
2

C(x , ) = {p | hT p = 0 if > 0}
( )T
0
= {p |
p = 0}
2

(14.56)

(14.57)
(14.58)

Teorema (SONC):
Fie x cu LICQ satisfacut. Daca x este un punct de minim local al
problemei NLP, atunci:
i) , astfel incat conditiile KKT sa e satisfacute;
ii) p C(x , ) este valabil ca pT 2x L(x , , )p 0

Teorema (SOSC):

Daca x satisface LICQ iar

i) , astfel incat conditiile KKT sa e satisfacute;


ii) p C(x , ), p = 0, avem ca pT 2x L(x , , )p > 0
atunci x este un punct de minim local.

Observatie:
2x L(x , , ) = 2 f (x )
curbura a constrangerilor.

i 2 gi (x )

i 2 hi (x ), i.e. 2x L contine

Schema demonstratiei ambelor teoreme:


):
Fie urmatoarele restrictii ale multimii fezabile (
= {x | g(x) = 0, hi (x) = 0 if i A+ (x , ), hi (x) 0 if i A0 (x , )}

(14.59)

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA127


Mai intai, pentru orice directie fezabila
Conul critic este conul tangent al acestei multimi .

T
p T (x ) \ C(x , ) avem ca f (x ) p > 0. Astfel, directiile dicile sunt cele aate doar in
conul critic.
Pentru , xati avem pentru orice x :

Astfel, e niste puncte in .

i hi (x)
i hi (x)
L(x, , ) = f (x)
i gi (x)
| {z }
| {z }
i, i >0
i, i =0
=0
=0
|
{z
}

(14.60)

=0

= f (x)

(14.61)

De asemenea: x L(x , , ) = 0.
avem:
Deci, pentru orice x
f (x) = L(x, , )

(14.62)

1
x 2 )
= L(x , , ) + x L(x , , )T (x x ) + (x x )T 2x L(x , , )(x x ) + o(x
(14.63)
| {z } |
{z
}
2
=f (x )

=0

1
= f (x ) + (x x )T 2x L(x , , )(x x ) + o(x x 2 )
2

(14.64)


Exemplu:

Amintim exemplul anterior:

L(x, ) = x2 (1 x21 x22 )


( )
(
)
0
2x1
x L =
+
1
2x2
(
)
2 0
2
x L = 0 +
0 2

(14.65)
(14.66)
(14.67)

CHAPTER 14. CONDITII DE OPTIMALITATE PENTRU OPTIMIZARE CONSTRANSA128


(
Pentru =

1
2

and

)
0
avem:
1

( )T
( )
0
p
C(x , ) = {p | h p = 0} = {p |
p = 0} = { 1 }
2
0
( )
p1
pCp=
0
(
) (
)
1 2 0
1 0
=
2x L(x , , ) =
0 1
2 0 2

(14.68)
(14.69)
(14.70)

SONC:
( )T (
)( )
p1
1 0
p1
0
0
0
0 1
|
{z
}

(14.71)

=p21

SOSC:
if p = 0, p C : pT 2x Lp > 0

(14.72)

if p1 = 0 : p21 > 0

(14.73)

min x2 s.t. 2x2 x21 1 (x2 + 1)2

(14.74)

Exemplul 2:

(
Aici,

)
0
,=
1

1
2

inca este un punct KKT.

x L(x , ) = 0
(
)
2 0
2

x L(x , ) =
0 2

(14.75)
(14.76)

Chapter 15

Optimizare cu constrangeri de
egalitate
In acest capitol problema
minimizeaza
x Rn
s.t

f (x)

(15.1a)

g(x) = 0

(15.1b)

cu f : Rn R, g : Rn Rm , f si g ind ambele functii smooth, va tratata in mod detaliat.

15.1

Conditiie de optimalitate

Conditia KKT
Conditia KKT de optimalitate necesara pentru
L(x, ) = f (x) T g(x)

(15.2)

conduce la expresia
L(x , ) = 0

(15.3)

(15.4)

g(x ) = 0
129

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

130

Retinem ca aceasta expresie este valida doar daca avem LICQ satisfacuta, sau mai bine zis gi (x )
sa e liniear independente. Reamintinm denita gradientului:
g(x) = (g1 (x ), g2 (x ), . . . , gm (x ))
g
=
(x)T .
x

(15.5)
(15.6)

Rangul matricei g(x) trebuie sa e m pentru a obtine LICQ. Spatiul tangent este denit ca:
{
}
T (x ) = p|g(x)T p = 0
(15.7)
= KER(g(x)T )
(15.8)
(
)
O forma explicita a kernelului KER g(x)T poate obtinuta prin baza pentru spatiul Z
(
)
Rn(nm) astfel incat kernelul g(x)T = (Z), i.e. g(x)T Z = 0 iar rank(Z) = n m.
Aceasta baza (Z1 Z2 . . . Znm ) poate obtinuta prin factorizarea QR a matricei g(x).

SONC si SOSC
Conditiile SONC sunt urmatoarele:
p = Zv cu v Rnm

z xL(x , )Z < 0
T

(15.9)
(15.10)

Conditiile SOSC arata ca daca


Z T 2 xL(x , )Z 0

(15.11)

iar conditiile LICQ si KKT sunt satisfacute, atunci x este un punct de minim.

15.2

Problema QP cu constrangeri de egalitate

Fie problema de optimizare


minimizeaza
x

1 T
x Bx + g T x
2
s.t

b + Ax = 0

(15.12a)
(15.12b)

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

131

cu B Rnxn , A Rmxn , B = B T . Conditita KKT conduce la ecuatia:

sau in notatie matriceala:

Bx + g AT = 0

(15.13a)

b + Ax = 0,

(15.13b)

B AT
A
0

][ ]
[ ]
x
g
=

(15.14)

Matricea din membrul stang este apropare simetrica. Cu putine reformulari, o matrice simetrica
este obtinuta
][ ]
[ ]
[
x
g
B AT
=
(15.15)
A 0

Lema [KKT-Matrix-Lemma]:

Denit matricea
[
]
B AT
A 0

(15.16)

ca matricea KKT. Fie o matrice B Rnm , B = B T , A Rmn cu m n. Daca rank(A) = m


(A are rang maxim, i.e. atunci LICQ este satisfacuta) iar pentru orice p kernel(A), p = 0 iar
pT Bp > 0 (SOSC) este satisfacuta, atunci matricea KKT -matrix este inversabila.

Refer to Nocedal NOC, 16.1


Observam ca pentru un QP:
B = 2x L(x , )

(15.17)

A = g(x)

(15.18)

astfel incat inversabilitatea de mai sus este echivalenta cu SOSC.

15.2.1

Rezolvarea sistemului KKT de ecuatii

Rezolvarea sistemelor KKT este un subiect de cercetare important, existand multe modalitati de
a rezolva (15.13). Din acese metode, enumeram:

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

132

(i) Brute Force: obtinem o factorizare LU a matricei KKT.


(ii) Din moment ce o matrice KKT nu este denita, o factorizare Cholesky standard nu poate
aplicata, si se utilizeaza o factorizare cholesky Cholesky indenita.
(iii) Metoda complementului Schur, cunoscuta sub numele Range Space method: mai intai
eliminam x, prin ecuatia
x = B 1 (AT g)

(15.19)

si il introducem apoi in a doua ecuatie (15.13b). Obtinem din


b + A(B 1 (AT g)) = 0.

(15.20)

Aceasta metoda necesita ca B sa e inversabila, ceea ce nu este intotdeauna valabil.


(iv) Metoda Null Space: Mai intai gasim baza Z RN (nm) a KER(A), facem x = Zv + y cu
b + Ay = 0 (o solutie speciala). Orice x = Zv + y satisface b + Ax = 0, astfel incat trebuie
sa luam in considerare doar (15.13a). Aceasta este o problema de minimizare neconstransa:
minimize
v Rnm

1
g T (Zv + y) + (Zv + y)T B(Zv + y)
2

Z T BZv + Z T g + Z T By = 0
v = (Z BZ)
T

(Z g + Z By).

(15.21a)

(15.21b)
(15.21c)

Matricea Z T BZ este numitaHessiana Redusa. Aceasta metoda poate aplicata daca


SOSC sunt satisfacute, in practica matricele ind matrice sparse.
(v) Metode directe sparse precum factorizare LU sparsa.
(vi) Metode iterative din algebra liniara.

15.3

Metoda Newton Lagrange

Ne ocupam din nou de problema de optimizare (15.1) de la inceputul capitolului. Ideea acum este
de a aplica metoda Newton pentru a rezolva conditiile KKT neliniare:
L(x, ) = 0

(15.22a)

g(x) = 0

(15.22b)

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

Dene

[
]
[ ]
L(x, )
x
= w si F (w) =
g(x)

133

(15.23)

cu w Rn+m , F : Rn+m Rn+m , astfel incat problema de optimizare este doar o problema
neliniara de gasire a radacinilor
F (w) = 0,
care din nou poate rezolvata prin metoda Newton.
F
F (k ) +
wk )(w wk ) = 0
wk
Scrisa in termeni de gradienti:
x L(xk , k ) + 2x L(x, )(x xk ) g(xk )( k ) = 0,

(15.24)

(15.25)

(15.26)

unde 2x L(x, )(x xk ) este liniarizarea in functie de x, g(xk )( k ) este liniarizare in functie
de . Reamintim ca L = f g.
g(xk ) + g(xk )T (x xk ) = 0

(15.27)

Scrisa in forma matriceala, obtinem un rezultat interesant:


]
[
]
[ 2
] [
x L
x L g
x xk
= 0
+
(15.28)
( k )
g
g T
0
|
{z
}
matricea KKT
Matricea KKT este inversabila daca lema matricei KKT este satisfacuta. Din acest moment,
este clar pentru orice solutie (x , ) cu conditiile LICQ si SOSC satisfacute, matricea KKT este
inversabila. Acest fapt este valabil si in vecinatatea lui (x , ). Astfel, daca (x , ) satisface
LICQ si SOSC, atunci metoda Newton este bine denita pentru toti (x0 , 0 ) in vecinatatea lui
(x , ) si converge in mod Q-patratic.
Aceasta metoda este formulata ca un algoritm in 7.
Utilizand denitia
k+1 = k + k
L(xk , k ) = f (xk ) g(xk )k
sistemul (15.28) necesar pentru calcularea k si xk este echivalent cu
[
] [ 2
][
]
f (xk )
L g
xk
+
= 0.
g(xk )
g T
k+1

(15.29)
(15.30)

(15.31)

Aceasta formulare arata ca noua iteratie nu depinde puternic de estimarea anterioara a multiplicatorului, ci doar prin matricea Hessiana. Vom vedea mai tarziu ca putem aproxima Hessiana
prin diferite metode

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

134

Alege: x0 , 0 ,
Initializam: k = 0
[
]
L(xk , k )
while norm
do
g(x )
get xk iar k din (15.30)
xk+1 = xk + xk
k+1 = k + k
k =k+1
end while
Algorithm 7: Metoda Newton Lagrange pentru constrangeri de egalitate

15.4

Interpretarea modelului patratic

Teorema xk+1 and k+1 sunt obtinute prin rezolvarea unui QP:
minimizeaza
x Rn

1
f (xk )T (x xk ) + (x xk )T 2 L(xk , k )(x xk )
2
s.t

g(xk ) + g(xk )T (x xk ) = 0

(15.32a)
(15.32b)

Astfel, putem obtine solutii QP xQP si QP si le putem lua drep estimari noi a solutiei problemei
NLP. xk+1 and k+1 .

Demonstratie: conditiile KKT ale QP-ului


f (xk ) + 2 L(xk , k ) g(x k ) gk = 0

g + g (x xk ) = 0
T

(15.33)
(15.34)

Mai general, putem inlocui 2x L(xk , k ) printr-o aproximare Bk , (Bk = BkT , adesea Bk < 0) prin
actualizari Quasi-Newton sau altele.

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

15.5

135

Metoda Gauss Newton constransa

Regard:
1
F (x)22
minimize
n
2
xR
subject to g(x) = 0

(15.35a)
(15.35b)

Precum in cazul neconstrans, linearizam atat F cat si g. Luam aproximarea prin


1
F (xk ) + J(xk )(x xk )22
2

minimizeaza
x Rn
s.t

g(xk ) + g(xk )T (x xk ) = 0

(15.36a)
(15.36b)

Aceasta problema este LS-QP, care este convexa. Numim aceasta metoda Gauss Newton, in care
noua iteratie xk+1 este obtinuta prin rezolvarea (15.36a)(15.36b) la ecare iteratie. Observam
ca nu sunt necesari multiplicatorii k+1 . Conditiile KKT ale LS-QP-ului sunt:

1
x F + J(x xk ) = J T J(x xk ) + J T F
2

(15.37)

J T J(x xk ) + J T F g(x xk ) = 0

(15.38)

egal cu
g + g

= 0

(15.39)

Observam ca J T J este acelasi ca in iteratia Newton, insa inlocuim Hessiana. Metoda Gauss
Newton constransa produce o iteratie de tip Newton cu Bk = J T J. Pentru problema LS,

2x L(x, ) = J(x)T J(x) +


Fi (x)2 Fi (x)
i 2 gi (x)
(15.40)
Se poate demonstra ca devine mic daca F este mic. Precum in cazul neconstrans, metoda
Constrained Gauss Newton converge bine daca F 0.

15.6

O metoda BFGS pentru constrangeri de egalitate

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

136

Selecteaza x0 , B0 , toleranta
k=0
g
Evalueaza f (x0 ), g(x0 ), x
(x0 )
ek ) > toleranta do
while g(xk ) > toleranta sau L(xk ,
Rezolva sistemul
KKT
cu CVX):
] (e.g.
[ ] [
]
T [
g
pk
f
B
+ gk x
ek = 0
g

0
x
ek k
Se ia k =
Alege lungimea pasului tk (0, 1] (detalii in 11.7)
xk+1 = xk + tk pk
k+1 = k + tk k

Calculeaza vechiul gradient al Lagrangianului:


g
x L(xk , k+1 ) = f (xk ) x
(xk )T k+1
Evalueaza f (xk+1 ), g(xk+1 ),

g
x (xk+1 )

Calculeaza noul gradient pentru Lagrangian x L(xk+1 , k+1 )


Se ia sk = xk+1 xk
Se ia yk = x L(xk+1 , k+1 ) x L(xk , k+1 )

Calculeaza Bk+1 (e.g. cu actualizare BFGS) utilizand sk si yk .


k =k+1
end while
Observatie:
Bk+1 poate obtinut alternativ e prin calcularea Hessianei exacte
2 L(xk+1 , k+1 ) sau prin calcularea Hessianei Gauss-Newton (J(xk+1 )T J(xk+1 ) pentru o functie obiectiv LS).
Algorithm 8: Metoda BFGS pentru constrangeri de egalitate

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

15.7

137

Convergenta locala

Recall:

Teorema [Convergenta tip Newton]: Consideram problema gasirii radacinilor F (x) = 0,


1
F : Rn Rn cu F (x ) = 0 o solutie locala, J(x) = F
x (x), si iteratia xk+1 = xk Mk F (xk )
1
cu k : Mk Rnm inversabil, si o conditie Lipschitza Mk (J(xk ) J(x)) xk x si o
conditie de compatibilitate cu < 1:
Mk1 (J(xk ) Mk ) k < iar x0 x 2 (1 ) atunci xk x cu rata de convergenta
liniar sau chiar patratica daca = 0 sau rata superliniara daca k 0 (demonstratie ca inainte).

Corolar:

Optimizarea constransa de tip Newton converge

patratic daca Bk = 2 L(xk , k ),


superliniar daca Bk 2 L(xk , k ) (BFGS),
liniara daca Bk 2 L(xk , k ) nu este foarte mare (Gauss-Newton).

Demonstratie:
[

Jk
Mk
Jk Mk

g
2 L(xk , k ) x
(xk )T
=
g
0
x (xk )
[
]
g
Bk
x (xk )T
=
g
(xk )
0
[ x2
]
L(xk , k ) Bk 0
=
0
0

]
(15.41)
(15.42)
(15.43)


15.8

Globalizare prin metoda pasului optim

Idee: utilizam functia merit pentru a masura progresul atat in obiectiv cat si in constrangeri.

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

138

Denitie [Functia merit L1 ]: functia merit L1 este denita ca nd T1 (x) = f (x)+g(x)1


cu > 0.

Insert visualization.

Denitie [derivata directionala]:


(x)
DF (x)[p] = lim F (x+tp)F
.
t

derivatata directionala a lui F in x in directie p is

t0,t>0

Exemplu [derivata directionala]:


F (x) = |x 1|

(15.44)

|1 + t(2) 1| |1 1|
=2
t0,t>0
t
|1 + t(3) 1| |1 1|
DF (1)[3] =
lim
=3
t0,t>0
t
DF (1)[2] =

lim

] [
f
B
e rezolva
Lema: Daca p &
+ g
g
[

g T
x

][

(15.46)

]
p
e = 0 atunci

DT1 (x)[p] = f (x)T p g(x)1


e )g(x)1
DT1 (x)[p] pT Bp (

Corolar:

(15.45)

(15.47)
(15.48)

e atunci p este o directie de descrestere a lui T1 .


Daca B 0 &

Demonstratia lemei:
T1 (x + tp)

f (x + tp) + g(x + tp)1

(15.49)

g
(x)pt1 + O(t2 )
f (x) + tf (x)T p + g(x) +
x
f (x) + tf (x)T p + g(x)(1 t)1 + O(t2 )

f (x) + tf (x) p + (1 t)g(x)1 + O(t )

(15.52)

T1 (x) + t(f (x) p g(x)1 ) + O(t )

(15.53)

(15.47)

(15.50)
(15.51)

(15.54)

CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

f (x) + Bp

g
e
(x)T
x

f (x)T p

=
=

|f (x) p|
T

0
eT g (x)p pT Bp

x
eT g(x) pT Bp

e g(x)1 pT Bp

(15.47)

139

(15.55)
(15.56)
(15.57)
(15.58)
(15.59)


e (daca nu,
In algoritmul 8 utilizeaza backtracking Armijo cu functia merit L1 , asigura
mareste ).

15.9

Actualizarea BFGS atenta

Cum putem siguri ca Bk ramane pozitiv denita?

Lema: Daca Bk 0 si ykT sk > 0 atunci Bk+1 din actualizarea BFGS este pozitiv denita.

Update Nocedal proof reference.

Proof:

Nocedal?

Acesta este cat de bun vrem:

Lema: Daca ykT sk < 0 & Bk+1 sk = yk atunci Bk+1 nu este pozitiv semidenita.

Demonstratie:
a lui Bk+1 .

sTk Bk+1 sk = sTk yk+1 < 0 i.e. sk este o directie de descrestere a curburii negative


CHAPTER 15. OPTIMIZARE CU CONSTRANGERI DE EGALITATE

140

Insert gure with proof.

Articiul lui Powell: Daca ykT sk < 0.2sTk Bsk atunci actualizam cu yek in loc yk , unde yek =
yk + (Bk sk yk ) astfel incat yek T sk = 0.2sTk Bk sk > 0.

Remarca: Daca = 1 atunci yek = Bk sk si Bk+1 = Bk (astfel, alegerea lui intre 0 si 1


atenueaza actualizarea BFGS daca este necesar).

Chapter 16

Algoritmi pentru optimizare cu


constrangeri de inegalitate
Pentru simplitate, renuntam la egalitati si consideram:
minx f (x)
s.t. h(x) 0

(16.1)

In conditiile KKT am avaut (pentru i = 1, . . . , q):


1. f (x)

i=1 hi (x)i

=0

2. hi (x) 0
3. i 0
4. i hi (x) = 0
Conditiile 2, 3 si 4 sunt non-smooth iar drept urmare metoda Newton nu va mai functiona aici.

141

CHAPTER 16.

16.1

ALGORITMI PENTRU OPTIMIZARE CU CONSTRANGERI DE INEGALITATE 142

Probleme QP prin metoda active set

Consideram problema QP ce trebuie rezolvata:


minx g T x + 12 xT Bx
s.t. Ax + b 0

(16.2)

Presupunem un QP convex (B 0). Conditiile KKT sunt necesare si suciente pentru optimalitate globala (aceasta este baza pentru noul algoritm):
Bx + g AT = 0

(16.3)

Ax + b 0

(16.4)

(16.5)

+ b)i 0

(16.6)

i (Ax
pentru i = 1, . . . , q.

Cum gasim x , in multimea activa corespunzatoare A(x ) {1, . . . , q} astfel incat conditiile
KKT sa e satisfacute?

Denitie: Multimea indecsilor:


A {1, . . . , q} Active
I = {1, . . . , q}\A Inactive
Partitionarea vectorilor:

(
b=

bA
bI

Partitionarea matricelor:

(
A=

(16.7)
(16.8)

)
b Rq

AA
AI

(16.9)

)
(16.10)

i.e
Ax + b 0 AA x + bA 0 SI AI x + bI 0

(16.11)

CHAPTER 16.

ALGORITMI PENTRU OPTIMIZARE CU CONSTRANGERI DE INEGALITATE 143

Lema:
x este un punct de minim global al QP-ului daca si numai daca exista o multime de
indecsi A si I si un vector A astfel incat:
Bx + g ATA A = 0

(16.12)

AA x + bA = 0

(16.13)

AA x + bI 0

(16.14)

(16.15)

iar

A
I

cu I = 0

(16.16)

Ideea in spatele metodei multimii active:


Alegem o multime A
Rezolvam (16.12) si (16.13) pentru a obtine x si
Vericam daca (16.14) si (16.15) sunt satisfacute
Daca DA: Solutie gasite
Daca NU: Schimba multimea A prin adaugarea sau eliminarea indicilor de constrangeri
Pentru ultimul pas exista multe variante: primala, duala, primala-duala, online .... e.g, QPSOL,
quadprog (Matlab) sau qpOASES.

Metoda multimii active primale in detaliu

1. Alegem un punct initial fezabil x0 cu multimea activa corespunzatoare A0


2. Luam k = 0 si pornim iteratia
3. Rezolvam
g + Bx
k ATAk
k = 0
AAk x
k + bAk

= 0

(16.17)
(16.18)

CHAPTER 16.

ALGORITMI PENTRU OPTIMIZARE CU CONSTRANGERI DE INEGALITATE 144

4. Mergem pe dreapta ce uneste xk si x


k : xk+1 = xk + tk (
xk xk ) cu tk [0, 1] astfel incat
xk+1 sa e fezabil
(a) Daca tk < 1 adaugam o constrangere de blocare i la A:
Ak+1 = Ak {i }
iteram k = k + 1 si ne intoarcem la (3)
(b) Daca tk = 1 este posibil atunci x
k este fezabil si nu ne trebuie decat sa vericam daca

k 0.
Daca DA: Solutie este gasita
Daca NU: Eliminam indexul i in Ak cu
k,i < 0 iar Ak+1 = Ak \{i }.
iteram k = k + 1 si ne intoarcem la (3)
Observatie: putem demonstra ca f (xk+1 ) f (xk ) (cu f indexul de performanta patratica).

16.2

Sequential Quadratic Programming (SQP)

Consideram NLP-ul
minx f (x)
s.t. h(x) 0

(16.19)

Ideea din spatele SQP-ului este de a rezolva la ecare iteratie QP-ul:


minp f (x)T p + 12 pT Bp
s.t. h(xh ) + h
x (xh )p 0

(16.20)

Convergenta locala ar urma din optimizarea cu constrangeri de egalitate daca multimea activa a
QP-ului este aceeasi cu cea a NLP-ului, cel putin in ultimele iteratii.

Teorema [ROBINSON]: Daca x este un punct de minim local a local a NLP-ului cu LICQ-ul

satistfacut si complementaritate
( h ) stricta iar daca xk este sucient de aproapre de x iar B 0 si B
este pozitiv denita pe ker x , atuncti solutia QP-ului are aceeasi multime activa ca si NLP-ul.

CHAPTER 16.

ALGORITMI PENTRU OPTIMIZARE CU CONSTRANGERI DE INEGALITATE 145

Demonstratie [ROBINSON] Denim A = A(x ) si consideram:


hA
(x)T QP
= 0
A
x
hA
(x)p = 0
hA (x) +
x

f (x) + Bp

Aceasta deneste o functie implicita:

p(x, B)
QP
A (x, B)

(16.21)
(16.22)

)
(16.23)

cu

p(x , B) = 0 and QP
A (x , B) = A )

(16.24)

Aceasta provine din


f (x ) + B0

hA T
(x ) A = 0 x L(x , ) = 0
x
hA
(x )0 = 0
hA (x ) +
x

(16.25)
(16.26)

ce este satisfacuta deoarece


hA (x ) = 0

(16.27)

hI (x ) > 0

(16.28)

= 0

(16.29)

Observam ca A > 0 datorita complementaritatii stricte.


Pentru x x , datorita continuitatii lui p(x, B) si QP
A (x, B) inca avem hI (x) > 0 iar
QP
A (x, B) > 0

(16.30)

si mai mult:
hI (x) +

hI
(x)p(x, B) > 0
x

(16.31)

Astfel, o solutie a QP-ului are aceeasi multime activa precum NLP-ul si satisface complementaritatea stricta.

Observatie: putem generaliza aceasta teorema la cazul in care jacobianul
imat.

h
x (xh )

este doar aprox-

CHAPTER 16.

16.3

ALGORITMI PENTRU OPTIMIZARE CU CONSTRANGERI DE INEGALITATE 146

Algoritmul clasic SQP al lui Powell

Pentru un NLP cu constrangeri de egalitate si inegalitate, putem utiliza algoritmul BFGS anterioar, insa:
1. Rezolvam un QP cu constrangeri de inegalitate in locul unui sistem liniar

2. Utilizam T1 (x) = f (x) + g(x)1 + qi=1 |min(0, hi (x))|


3. Utilizam gradientul intreg al Lagrangianului x L(x, , ) in formula BFGS
(e.g fmincon in Matlab).

16.4

Metode de punct interior

Metoda de punct interior (interior point method sau IP) este o alternativa a metodei multimii
active pentru QP-uri sau LP-uri, si chiar pentru metoda SQP. Metodele anterioare intampinau
probleme in conditiile KKT non-smooth (2), (3) si (4) (pentru i = 1, . . . , q):
1. f (x)

i=1 hi (x)i

=0

2. hi (x) 0
3. i 0
4. i hi (x) = 0 .
Ideea metodei IP este de a inlocui 2,3, si 4 printr-o conditie smooth (ce este o aproximare):
hi (x)i = cu > 0 dar mic. Conditiile KKT devin acum o problema smooth de gasirea a
radacinilor:
f (x)

hi (x)i = 0

(16.32)

i=1

hi (x)i

= 0

i = 1, . . . , q

(16.33)

Aceste conditii sunt numite conditiile IP-KKT si pot rezolvate prin metoda Newton si produc
solutiile x
( ) and
( ).

CHAPTER 16.

ALGORITMI PENTRU OPTIMIZARE CU CONSTRANGERI DE INEGALITATE 147

Putem acum demonstra ca pentru 0


x
( ) x

(16.34)

(16.35)

( )

Algoritmul IP
1. Pornim cu un 0 mare, alegem (0, 1)
2. Rezolvam sistemul IP-KKT pentru a obtine x
( ) and
( )
3. Inlocuim si trecem la 2.
(initializam noua iteratie Newton cu solutia veche).
(
Observatie: Multimea solutiilor

x
( )

( )

)
pentru (0, ) se numeste calea centrala (central

path).
Observatia 2: De fapt, conditiile IP-KKT sunt echivalente cu conditiile FONC a Problemei Bariera
(barrier problem) (PB):
min f (x)
x

log hi (x)

conditiile FONC ale BP f (x)

i=1

cu i =

hi (x) ,

(16.36)

i=1

1
hi (x) = 0
hi (x)

(16.37)

ind echivalent cu conditiile IP-KKT.

Pentru problemele convexe, metodele IP sunt bine intelese cu rezultate de complexitate puternice
(e.g sunt utilizate in CVX)

Chapter 17

Optimal Control Problems


Consideram un sistem dinamic cu dinamicile:
xk+1 = f (xk , uk )

(17.1)

unde uk sunt valorile de control sau intrarile iar xk starile. Fie x Rnx si u Rnu cu
k = 0, . . . , N 1.

17.1

Formularea problemei de control optimal (PCO)

N
1

minimizeaza
x0 , u0 , x1 , . . . , uN 1 , xN

L(xk , uk ) + E(xN )

(17.2a)

k=0

s.t

xk+1 f (xk , uk ) = 0 pentru k = 0, . . . , N 1(17.2b)

Observam ca (17.2b) implica o multitudine de constrangeri. Uneori, aceste constrangeri nu sunt


suciente, putand presupuse constrangeri in adaos. De exemplu, daca prima si ultima stare
sunt xate
r(x0 , xn ) = 0

(17.3)

atunci spunem si ca intrarile sunt constranse. Alta constrangeri ar inegalitati de forma:


h(xk , uk ) 0, k = 0, . . . , N 1
148

(17.4)

CHAPTER 17. OPTIMAL CONTROL PROBLEMS

149

Observam ca un parametru liber ar putea adaugat la formularea optimizarii, e.g marimea


constanta a unui rezervor intr-un reactor chimic. Pentru acesta, denim o stare in plus, numita
si stare dummy pentru k = 0, . . . , N 1
pk+1 = pk

(17.5)

De exemplu, consideram pentru ecuatia (17.3)


r(x0 , xn ) = x0 x
0

(17.6)

unde x
0 este o valoare initiala xata. Alt exemplu ar sa consideram ambele capete xate
[
]
x0 x
0
r(x0 , xn ) =
.
(17.7)
xN x
N
In multe aplicatii, conditii de limita ciclice sau periodice sunt optimizate prin adaugarea constrangerilor de forma
r(x0 , xn ) = (x0 xn )

17.2

(17.8)

Conditiile KKT ale problemelor de control optimal

Mai intai sumarizam variabilele w = {x0 , u0 , x1 , u1 , . . . , uN 1 , xN } si multiplicatorii = {1 , . . . , N , r }.


Problema de control optimal are forma
minimizeaza
w

(17.9a)

F (w)

s.t G(w) = 0
Unde

x1 f (x0 , u0 )
x2 f (x1 , u1 )
..
.

(17.9b)

G(w) =

xN f (xN 1 , uN 1 )
r(x0 , xN )

(17.9c)

Functia Lagrangiana are forma


L(, ) = F () T G()
=

N
1

L(xk , uk ) + E(xn )

k=0
Tr r(x0 , xn )

N
1

Tk+1 (xk+1 f (xk , uk ))

k=0

(17.10)

CHAPTER 17. OPTIMAL CONTROL PROBLEMS

150

Conditiile KKT ale problemei sunt:


w L(w, ) = 0
G(w)

(17.11a)
(17.11b)

Mai detaliat, ???? derivata lui L in functie de xk , unde n = 0 si n = N sunt cazuri speciala. Mai
intai, n = 0 este tratat ca:
x0 L(, ) = x0 L(x0 , u0 ) +

f
r
(x0 , u0 )T 1
(x0 , xN )T r = 0.
x0
x0

(17.12a)

Apoi, cazul k = 1, . . . , N 1 este tratat ca


xk L(, ) = xk L(xk , uk ) k +

f
(xk , uk )T k+1 = 0.
xk

(17.12b)

r
(x0 , xN )T r = 0.
xN

(17.12c)

In nal, pentru cazul special n = N


xN L(, ) = xN E(xN ) N

Lagrangianul in functie de u este calculat, pentru k = 0, . . . , N 1


uk L(, ) = uk L(xk , uk ) +

f
(xk , uk )T k+1 = 0.
xk

(17.12d)

Ultimele doua conditii sunt:


xk+1 f (xk , uk ) = 0

k = 0, . . . , N 1

(17.12e)

r(x0 , xn ) = 0

(17.12f)

Ecuatiile (17.12a) pana la (17.12f) reprezinta sistemul KKT a problemei de control optimal. Exista
abordari diferite pentru rezolvarea acestui sistem. O metoda ar sa rezolvam ecuatiile (17.12a)
pana la (17.12f) in mod direct, ind numita abordarea simultana. Alta abordare ar sa calculam
toate starile (17.12e) prin eliminare inainte. Aceasta abordare se numeste abordarea secventiala
si este trata prima.

17.3

Abordarea secventiala a controlului optimal

Aceasta metoda este numita si single shooting sau reduced approach. T Idea este sa pastram
doar x0 si U = [uT0 , . . . , uTN 1 ]T ca variabile. Starile x1 , . . . , xN sunt eliminate in mod recursiv
prin:
x
0 (x0 , U ) = x0
x
k+1 (x0 , U ) = f (
xk (x0 , ), uk )

(17.13)
(17.14)

CHAPTER 17. OPTIMAL CONTROL PROBLEMS

151

Astfel, problema de control optimal este echivalenta cu o problema cu mai putine variabile
N
1

minimizeaza
x0 , U

L(
xk (x0 , U ), uk ) + E(
xk (x0 , U ))

(17.15a)

k=0

subject to

r(x0 , x
N (x0 , U )) = 0

(17.15b)

Observam ca ecuatia (17.12e) este implicit satisfacuta. Aceasta problema este numita problema
de control optimal redusa. Poate rezolvata prin e.g. metode de tip Newton (sau SQP daca
avem inegalitati). Daca r(x0 , xN ) = x0 x
0 putem elimina x0 x
0 . Conditiile de optimalitate
pentru aceasta problema pot regasite in urmatoarea sectiune:

17.4

Dierentierea inapoia a Lagrangianului secvential

Functia Lagrangiana este data de


0 , U, r ) =
L(x

N
1

L(
xk (x0 , U ), uk ) + E(
xk (x0 , U )) Tr r(x0 , x
N (x0 , U ))

(17.16)

k=0

astfel incat conditiile KKT pentru problema de control optimal redusa sa e:


0 , U, r ) = 0
x0 L(x
0 , U, r ) = 0
uk L(x
r(x0 , x
N (x0 , U )) = 0

(17.17a)
k = 0, . . . , N 1

(17.17b)
(17.17c)

De obicei, diferentele sunt liniarizate prin diferente nite, trick-ul I sau diferentierea inainte automata (automatic dierentiation sau AD). Aici insa, diferentierea automata inapoita este mai
ecienta. Rezultatul AD-ului inapoia pentru ecuatiile (17.17a) pana la (17.17c) pen x0 L si
k k
uk L este prezentat in algoritmul 9. Comparam ecuatiile (17.12a) pana la (17.12d) iar
comparam cu algoritmul.
Obtinem o a doua interpretare a celei de-a doua abordari cu AD-ul inapoia: cand rezolvam:
(17.12a) pana la (17.12f) eliminam toate ecuatiile care pot eliminate prin (17.12e), (17.12c)
si (17.12b). Doar ecuatiile (17.12f), (17.12a) si (17.12d) raman. Diferentierea automata inapoia
produce un gradient pentru un cost scalat liniar cu N iar costul pentru diferentierea automata
inainte in functie de u0 , . . . , uN 1 ar creste cu N 2 .
Diferentierea secventiala si inapoia conduce la (Jacobienii sunt matrice dense) sisteme neliniare
dense in variabilele (x0 , u0 , . . . , uN 1 , r ). Urmatoarele sectiuni incearca sa evite Jacobienii densi.

CHAPTER 17. OPTIMAL CONTROL PROBLEMS

152

Intrari
x0 , u0 ,. . .,uN 1 , r
Iesiri
u L iar r
x0 L,
k
Luam x
0 x0
Luam k = 0, executam procedura de forward sweep:
repeat
x
k+1 = f (
xk , uk )
k =k+1
until k = N 1
Luam r(x0 , x
N )
N = E(
Calculam cantitatile intermediare N , . . . , 1 prin
xN )
Luam k = N 1, executam procedura de backward sweep:
repeat
f
k = x L(
(
xk , uk )T k+1 = 0

xk , uk ) + x
k
k
k =k1
until k = 1
Calculam x0 L = x0 (x0 , u0 )
Luam k = 0
repeat
x k , uk ) +
uk L = uk L(
k =k+1
until k = N 1

r
N )T r
x0 (x0 , x

xk , uk )T k+1
uk (

f
T
x0 (x0 , u0 ) 1

r
N )T r
xn (x0 , x

=0

=0

Algorithm 9: Rezultatul AD-ului inapoia la KKT-ROCP

CHAPTER 17. OPTIMAL CONTROL PROBLEMS

17.5

153

Control optimal simultan

Aceasta metoda este numita si multiple shooting sau optimizare one shot. Ideea este sa rezolvam (17.12a) pana la (17.12f) direct printr-o metoda de tip Newton ce exploateaza sparsitatea.
Daca consideram OCP -ul original, este un NLP in variabilele w = (x0 , u0 , x1 , u1 , . . . , uN 1 , xN )
cu multiplicatorii (1 , . . . , N , r ) = . In metoda SQP obtinem:
wk+1 = wk + wk
k+1

(17.18)

kQP

(17.19)

prin rezolvarea

minimizeaza
w

1
F (k )T w + wT Bk w
2

(17.20a)

G
(w)w
w

(17.20b)

s.t

G(w) +

Daca utilizam
Bk = 2 L(k , k )

(17.21)

acest QP este foarte structurat si echivalent cu


minimizeaza
x0 , u0 , . . . , xn

]
[
]T
]T
N 1 [
N [

1 T
1 xk
xk
xN
+ xN QN xN +
Qk
gk + xTN (17.22)
gN
uk
uk
uN
2
2
k=0

k=0

s.t

r(x0 , xN ) +
xk

r(x0 , xN )
r(x0 , xN )
x0 +
xN =(17.23)
0
x0
xN

f
(xk , uk )uk = 0
uk

for k = 0, . . . , N
(17.24)
1

Unde
Qk = 2(xk ,uk ) L
QN

= 2xN L

gk = xk ,uk L(xk , uk )
gN

= E(xN )

(17.25)
(17.26)
(17.27)
(17.28)

CHAPTER 17. OPTIMAL CONTROL PROBLEMS

154

Observam ca pentru k = m

L = 0
xk xm

L = 0
xk um
2
L = 0
uk um

(17.29a)
(17.29b)
(17.29c)

Acest QP conduce la un sistem liniar foarte spars si poate rezolvat cu un cost liniar in N . De
asemenea, abordarile simultane pot trata mai usor sisteme instabile xk+1 = f (xk , uk ).

Chapter 18

Rezumatul cursului

To be added...

155

Bibliograe

156

You might also like