Professional Documents
Culture Documents
Curs To PDF
Curs To PDF
Curs To PDF
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
30
30
32
36
36
37
38
40
42
43
.
.
.
.
.
.
.
.
.
.
.
.
.
.
CUPRINS
II
Optimizare neconstransa
44
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
(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
111
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
116
117
117
123
124
124
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
129
129
130
131
132
134
135
135
137
137
139
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
141
142
144
146
146
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
CUPRINS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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
x1 =
i=1
x, y
.
xy
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,
10
si rezulta pQ (0) =
pQ () = ( 1 ) ( n )
i=1 (i ).
Lemma 2.1.1 Urmatoarele relatii au loc pentru orice matrice patratica Q Rnn :
det(Q) =
i and Tr(Q) =
i=1
i=1
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
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
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) < +}.
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
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
t+0
f (x + td) f (x)
t
y0
R(y2 )
y2
In concluzie, o functie este diferentiabila de doua ori in punctul x daca admite o aproximare
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).
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 ( )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.
14
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:
15
M
y x2 x, y domf.
2
Chapter 3
Teorie convex
a
In acest capitol prezentam notiunile de baza din teoria multimilor convexe si a functiilor convexe.
3.1
Multimi convexe
=1.3
=1
x1
=0.5
=0
x2
=-0.3
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
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.
a = 0, b R.
aT xb
x0
aT xb
aT x=b
CHAPTER 3. TEORIE CONVEXA
19
n1
n2
n1
i v i +
j rj :
i = 1, i 0, j 0 i, j ,
i=1
j=1
i=1
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} .
CHAPTER 3. TEORIE CONVEXA
20
a5
a1
a4
a2
a3
3.1.1
Conuri
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
CHAPTER 3. TEORIE CONVEXA
22
3.1.2
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
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+
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
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
3.2.1
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
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.
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
xT x
t
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:
Epigraful functiei:
urmatoarea multime:
CHAPTER 3. TEORIE CONVEXA
29
3.2.3
Operatii ce conserv
a proprietatea de convexitate a functiilor
Functii conjugate:
prin
sup y T x f (x)
{z
}
xdom f |
F (x,y)
1 T
2 x Qx,
Chapter 4
4.1
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.
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
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
32
unde f (x) =
ad
x = a+b
.
4.2
33
min f (x)
(4.1)
xRn
s.l.
g(x) 0, h(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.
34
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
35
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).
4.3
36
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
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,
x1
37
xi l ri , yi L ri i = 1, 2, 3
xR8
s.l. x 0, xi ri , yi ri ,
xi l ri , yi L ri
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
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.
1
T
t=1 ri (t))
max
xRn
38
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
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.
39
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.
2
ij
T
1
(ri (t) ci )(rj (t) cj ).
=
T
i=1
s.l. x 0,
ci xi R,
xi = 1.
min
xRn
i=1
Constrangerea
i=1 ci xi
i=1
In practica avem la dispozitie mai multe produse software pentru rezolvarea de QP-uri: MOSEC,
MATLAB (quadprog), SeDuMi, YALMIP.
4.3.4
40
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.
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
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 .
min cT x
xRn
s.l.
A0 +
Ai xi 40, Ax b = 0,
i=1
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
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
min f (x).
xRn
(4.6)
4.3.6
43
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
5.1
46
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+ .
47
5.2
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
48
(5.2)
(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
51
= 0.618
2
49
(5.9)
(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
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
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
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.
5.3.1
51
(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)
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.
52
(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).
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)
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
(5.23)
si
p () = 3c1 ( 1 )2 + 2c2 ( 1 ) + c3 = 0
(5.24)
(5.25)
c2
c22 3c1 c3
, daca c1 = 0;
3c1
(5.26)
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)
f (2 ) f (1 )
, z = s f (1 ) f (2 ), w2 = z 2 f (1 )f (2 ).
2 1
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 )
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
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
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.
6.1
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
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: 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
58
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
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 ,
In acesta sectiune discutam conditiile suciente de optimalitate in cazul convex. Primul rezultat
se refera la urmatoarea problema de optimizare constransa:
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
Demonstratie:
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)
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
Demonstratie:
60
ceea ce arata ca
(6.4)
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
61
Mai mult, ecare x (a) cu a N satisface conditiile suciente de ordinul II si de aceea, este un
minim strice local.
(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)
xRn
1 T
1
x Qx + q T x + r = q T Q1 q + r.
2
2
(7.3)
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
64
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
xk+1 x k xk x 2
De exemplu xk =
1
k!
xk+1
xk
cu
=
k 0.
1
k+1 .
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
xk+1
(xk )2
k+1
22
k
(22 )2
= 1 < . For k = 6, xk =
k
convergenta R-liniara poate de asemenea denita prin criteriul radacinii limk xk x <
1.
Example 7.1.1
{
xk =
1
2k
(7.4)
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
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
66
| xk | | xk |
,
]
n
n
| 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
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.
7.2.1
67
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.
68
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
(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:
N
1
j=0
cos2 j f (xj )2 .
69
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
cu f C 2 .
8.1
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
71
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
8.1.1
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:
In concluzie,
cos2 k f (xk )2 =
k0
f (xk )2 < .
k0
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
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
73
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
1
L.
1
f (xk )2
2L
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.
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 )
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
1
L
+ 2 (k + 1)
0 r0
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
8.2
75
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 =
rkT dk
, rk = Qxk q
dTk Qdk
76
xx0 +Sk
1 T
x Qx q T x
2
i < k.
1. xk+1 = xk + k dk cu k = dTkQdk
k
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 }
77
(iii) k = dTkQdk
k
(iv) k =
8.2.1
T
rk+1
rk+1
.
rkT rk
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
rkT dk
T
dk 2 f (xk )dk
T
rk+1
2 f (xk )dk
2 f (x )d
dT
k k
k
k =
k =
T r
rk+1
k+1
rkT rk
(rk+1 rk )T rk+1
.
rkT rk
Chapter 9
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
79
In general, dk se numeste directie Newton, iar metoda Newton consta in urmatoarea iteratie:
xk+1 = xk 2 f (xk )1 f (xk ).
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
80
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
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 .
2 l
3M
ceea ce conduce la
0 2 f (xk )1
1
In .
l M xk x
81
Concluzionam ca
xk+1 x = 2 f (xk )1
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).
82
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
(9.2)
1
dk = arg min f (xk ) + f (xk )T d + dT Bk d.
d
2
(9.3)
9.2.1
83
(k Hk k )(k Hk k )T
.
kT (k Hk k )
9.2.2
Hk k kT Hk
k Tk
.
Tk k
Tk Hk k
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
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)
2(1 )
.
M
(9.5)
85
= 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
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
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
10.1
87
..
.
k
..
.
holds
+ =
11
21
..
.
k1
0
..
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.
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 +
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
]
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
Figure: Given a set of points which tend to a linear relation between two units
(10.5)
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
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)
(J J)
]
[
1
1
t2 t
T
.
=
adj(J J) =
det(J T J)
m(t2 (t)2 ) t 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
90
tt
1 t2 tt
x = 2
=
.
t t + t
(10.13)
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
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
Jx22 + x22 ,
2
2
(10.17)
x = (J J + I)
1 T
(10.18)
(10.19)
(10.20)
Lemma 10.2.1
91
lim (J T J + I)1 J T = J + .
Demonstratie:
scris in forma:
= (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
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
(10.21)
10.3
92
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
(10.22)
(i Mi (x))2
2i2
(i Mi (x))2
2i2
i=1
(10.23)
(10.24)
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)
(10.28)
i=1
= min
x
1
S 1 S 1 M (x)22
2
(10.29)
with S =
93
..
.
m
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
|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.
10.5
94
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)
F (x)
.
x
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.
10.6
95
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)
(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
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)
96
(10.45)
cu 0 < M < si k
< 1. Presupunem de asemenea ca
x0 x <
2(1
)
.00
M
(10.46)
Proof:
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
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
99
11.2
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 :)
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
=
(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.
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 +
(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 ,
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
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)
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)
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
105
f (x)T p =
(f (x + itp))
t
(12.2)
12.1
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 .
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)
107
the previous two algorithms can be combined, eliminating the need to store the intermediate
variables.
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)
108
12.2
dxn+i
dt
df
=
dxi
j<n+i
j>max(i,n)
n+i dxj
xj dt .
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
109
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
Denition [Primal Optimization Problem]: Vom nota valoarea optima glovala a functiei
obiectiv supusa la constrangeri ca valoarea optima primala p , i.e.,
(
)
111
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.
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 .
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.
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.
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)
114
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.
min
xRn
s.t
(13.11a)
Ax b = 0,
(13.11b)
Cx d 0.
(13.11c)
115
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
(14.1a)
(14.1b)
h(x) 0.
(14.1c)
116
]
(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)
14.1
1. x
2. pentru toti p T (x ) tangenti avem: f (x )T p 0
14.2
Cum caracterizam T (x )?
Remarca:
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.
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)
Lemma:
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.
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)
(14.18)
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)
(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:
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.
, 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.
0
1
]T
x
minimizeaza
x R2
[
]
x21 + x22 1
s. t
0
(x2 2)2 x21 + 4
(14.28)
(14.29)
(14.30)
[ ]
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)
[ ]
] [ ]
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.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:
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
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:
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
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
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
(14.55)
( )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):
Observatie:
2x L(x , , ) = 2 f (x )
curbura a constrangerilor.
i 2 gi (x )
i 2 hi (x ), i.e. 2x L contine
(14.59)
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 :
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:
(14.65)
(14.66)
(14.67)
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)
(14.74)
Exemplul 2:
(
Aici,
)
0
,=
1
1
2
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)
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
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)
(15.11)
iar conditiile LICQ si KKT sunt satisfacute, atunci x este un punct de minim.
15.2
1 T
x Bx + g T x
2
s.t
b + Ax = 0
(15.12a)
(15.12b)
131
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)
(15.17)
A = g(x)
(15.18)
15.2.1
Rezolvarea sistemelor KKT este un subiect de cercetare important, existand multe modalitati de
a rezolva (15.13). Din acese metode, enumeram:
132
(15.19)
(15.20)
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)
15.3
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)
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)
(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
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
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 .
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.
15.5
135
Regard:
1
F (x)22
minimize
n
2
xR
subject to g(x) = 0
(15.35a)
(15.35b)
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,
15.6
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
g
x (xk+1 )
15.7
137
Convergenta locala
Recall:
Corolar:
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
Idee: utilizam functia merit pentru a masura progresul atat in obiectiv cat si in constrangeri.
138
Insert visualization.
t0,t>0
(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
Corolar:
(15.45)
(15.47)
(15.48)
Demonstratia lemei:
T1 (x + tp)
(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 )
(15.52)
(15.53)
(15.47)
(15.50)
(15.51)
(15.54)
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
Lema: Daca Bk 0 si ykT sk > 0 atunci Bk+1 din actualizarea BFGS este pozitiv denita.
Proof:
Nocedal?
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
140
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.
Chapter 16
(16.1)
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
(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?
(
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.
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)
= 0
(16.17)
(16.18)
CHAPTER 16.
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
Consideram NLP-ul
minx f (x)
s.t. h(x) 0
(16.19)
(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.
f (x) + Bp
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)
hA T
(x ) A = 0 x L(x , ) = 0
x
hA
(x )0 = 0
hA (x ) +
x
(16.25)
(16.26)
(16.27)
hI (x ) > 0
(16.28)
= 0
(16.29)
(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 )
CHAPTER 16.
16.3
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
16.4
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.
(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)
i=1
cu i =
hi (x) ,
(16.36)
i=1
1
hi (x) = 0
hi (x)
(16.37)
Pentru problemele convexe, metodele IP sunt bine intelese cu rezultate de complexitate puternice
(e.g sunt utilizate in CVX)
Chapter 17
(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
N
1
minimizeaza
x0 , u0 , x1 , . . . , uN 1 , xN
L(xk , uk ) + E(xN )
(17.2a)
k=0
s.t
(17.3)
(17.4)
149
(17.5)
(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)
(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)
N
1
L(xk , uk ) + E(xn )
k=0
Tr r(x0 , xn )
N
1
k=0
(17.10)
150
(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)
f
(xk , uk )T k+1 = 0.
xk
(17.12b)
r
(x0 , xN )T r = 0.
xN
(17.12c)
f
(xk , uk )T k+1 = 0.
xk
(17.12d)
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
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)
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
N
1
L(
xk (x0 , U ), uk ) + E(
xk (x0 , U )) Tr r(x0 , x
N (x0 , U ))
(17.16)
k=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.
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
17.5
153
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)
]
[
]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)
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