Sunteți pe pagina 1din 179

Metode de Optimizare Numeric a

Culegere de probleme
Ion Necoara Dragos Clipici Andrei Patrascu
Departamentul de Automatic a si Ingineria Sistemelor
Universitatea Politehnica din Bucuresti
Email: ion.necoara,dragos.clipici,andrei.patrascu@acse.pub.ro
2013
Prefat a
Lucrarea de fat a este construita dup a structura cursului de Tehnici
de optimizare, predat de primul autor la Facultatea de Automatic a si
Calculatoare a Universitat ii Politehnica din Bucuresti si se adreseaz a
student ilor de la facult at ile cu prol tehnic sau cu tematici adiacente
ingineriei sistemelor si calculatoarelor. Aceasta cont ine o serie de
probleme rezolvate de laborator si seminar, av and rolul de suport
pentru aplicat iile teoretice/practice abordate la diferite materii ce includ
not iuni din teoria optimizarii. La nceputul ecarui capitol este introdus
un succint breviar teoretic n care se denesc instrumentele necesare
ntregului capitol, iar la nal este expusa o sect iune cu probleme
propuse ce au ca scop posibilele extensii ale aplicat iilor rezolvate.
Rezolvarea problemelor de laborator a fost implementat a n mediul de
programare Matlab, iar n corpul rezolv arii au fost incluse secvent a
de cod corespunz atoare si guri ce reecta performant ele practice ale
algoritmilor folosit i. Pe tot parcursul lucr arii prezentam multe exemple
de aplicat ii si exercit ii rezolvate pentru a face mai accesibil a nt elegerea
teoriei si conceptelor legate de optimizarea numeric a. Preciz am ca o
parte din algoritmii prezentat i nca reprezinta o tem a de cercetare de
actualitate n domeniul optimizarii n care autorii activeaz a. Capitolele
au fost structurate gradat, dup a dicultatea si important a not iunilor
teoretice necesare n cadrul aplicat iilor, n numar de sapte:
Cap 1: Funct ii ale pachetului de optimizare Matlab;
Cap 2: Optimizare convexa;
Cap 3: Algoritmi de ordinul I pentru probleme neconstr anse;
Cap 4: Algoritmi de ordinul II pentru probleme neconstr anse;
Cap 5: Optimizare constrans a;
Cap 6: Algoritmi pentru probleme constranse;
Cap 7: Aplicat ii din inginerie.
Desi ecare dintre capitole dezvolta cazuri concrete de aplicat ii ale
algoritmilor n cauza, ultimul este alocat unei serii de aplicat ii reale, de
actualitate, din diverse domenii ale ingineriei, precum reglarea (controlul)
optimala, prelucrarea semnalelor sau nvat area automat a. Fiecare
aplicat ie ilustreaz a tehnici specice de modelare matematica a unei
probleme si strategii de formulare a modelului matematic de optimizare
6
pentru aplicat ia respectiv a. Acest capitol nal demonstreaz a astfel
aplicabilitatea metodelor numerice de optimizare prezentate n capitolele
anterioare n probleme extrem de studiate din inginerie.1

In nal, precizam ca am ncercat sa reducem din caracterul tehnic al


limbajului pentru o expunere cat mai clar a si n acelasi timp, pentru
ca cititorul sa si poat a xa cat mai usor not iunile fundamentale de
optimizare.
Autorii, mai 2013
Cuprins
1 Funct ii ale pachetului de optimizare MATLAB 11
1.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.1 Mediul Matlab . . . . . . . . . . . . . . . . . . . 12
1.2 Probleme rezolvate de laborator . . . . . . . . . . . . . . 13
1.2.1 Minimizare neconstr ans a . . . . . . . . . . . . . . 13
1.2.2 Minimizare constrans a . . . . . . . . . . . . . . . 17
1.2.3 Programare liniar a . . . . . . . . . . . . . . . . . 24
1.2.4 Programare patratic a . . . . . . . . . . . . . . . . 27
1.3 Probleme rezolvate de seminar . . . . . . . . . . . . . . . 29
1.3.1 Diferent iere multivariabil a . . . . . . . . . . . . . 29
1.3.2 Probleme de optimizare generale . . . . . . . . . 30
1.4 Probleme propuse . . . . . . . . . . . . . . . . . . . . . . 35
2 Probleme de optimizare convexa 38
2.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.1.1 Mult imi convexe . . . . . . . . . . . . . . . . . . 38
2.1.2 Funct ii convexe . . . . . . . . . . . . . . . . . . . 40
2.2 Pachet CVX . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.2.1 Instalare . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.2 Elemente de baz a . . . . . . . . . . . . . . . . . . 43
2.3 Probleme rezolvate de laborator . . . . . . . . . . . . . . 44
2.4 Probleme rezolvate de seminar . . . . . . . . . . . . . . . 48
2.4.1 Mult imi si funct ii convexe . . . . . . . . . . . . . 48
2.5 Probleme propuse . . . . . . . . . . . . . . . . . . . . . . 57
3 Metode de ordinul I 63
3.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2 Probleme rezolvate de laborator . . . . . . . . . . . . . . 64
3.2.1 Metoda Gradient . . . . . . . . . . . . . . . . . . 64
3.2.2 Metoda gradient ilor conjugat i . . . . . . . . . . . 70
8 Cuprins
3.3 Probleme rezolvate de seminar . . . . . . . . . . . . . . . 72
3.3.1 Aproximari patratice . . . . . . . . . . . . . . . . 72
3.3.2 Condit ii de optimalitate de ordin I . . . . . . . . 73
3.3.3 Metoda gradient . . . . . . . . . . . . . . . . . . 75
3.4 Probleme propuse . . . . . . . . . . . . . . . . . . . . . . 82
4 Metode de ordinul II 85
4.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2 Probleme rezolvate de laborator . . . . . . . . . . . . . . 87
4.2.1 Metoda Newton . . . . . . . . . . . . . . . . . . . 87
4.2.2 Metode cvasi-Newton . . . . . . . . . . . . . . . . 90
4.3 Probleme rezolvate de seminar . . . . . . . . . . . . . . . 92
4.3.1 Metoda Newton si metoda BFGS . . . . . . . . . 92
4.4 Probleme propuse . . . . . . . . . . . . . . . . . . . . . . 100
5 Probleme de optimizare constransa 103
5.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2 Probleme rezolvate de laborator . . . . . . . . . . . . . . 104
5.2.1 Formularea unei probleme de optimizare n forma
standard . . . . . . . . . . . . . . . . . . . . . . . 104
5.2.2 Calcularea proiect iei ortogonale a unui punct pe o
mult ime convexa . . . . . . . . . . . . . . . . . . 106
5.2.3 Metoda Gauss-Newton . . . . . . . . . . . . . . . 111
5.2.4 Metoda gradientului proiectat . . . . . . . . . . . 113
5.3 Probleme rezolvate de seminar . . . . . . . . . . . . . . . 115
5.3.1 Problema duala, condit ii si puncte Karush-Kuhn-
Tucker . . . . . . . . . . . . . . . . . . . . . . . . 115
5.4 Probleme propuse . . . . . . . . . . . . . . . . . . . . . . 129
6 Metode pentru probleme de optimizare constransa 132
6.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.1.1 Probleme neconvexe cu constrangeri de egalitate . 132
6.1.2 Probleme convexe cu constrangeri de egalitate . . 133
6.1.3 Probleme convexe generale . . . . . . . . . . . . . 134
6.2 Probleme rezolvate de laborator . . . . . . . . . . . . . . 137
6.2.1 Metoda Lagrange-Newton . . . . . . . . . . . . . 137
6.2.2 Metoda Newton extins a . . . . . . . . . . . . . . 138
6.2.3 Metoda de punct interior . . . . . . . . . . . . . . 140
6.3 Probleme rezolvate de seminar . . . . . . . . . . . . . . . 145
Cuprins 9
6.3.1 Metoda Newton pentru probleme constranse . . . 145
6.3.2 Probleme de control optimal . . . . . . . . . . . . 147
6.4 Probleme propuse . . . . . . . . . . . . . . . . . . . . . . 153
7 Aplicat ii din inginerie 157
7.1 Control optimal . . . . . . . . . . . . . . . . . . . . . . . 157
7.1.1 Control optimal aplicat unui robot E-Puck . . . . 158
7.1.2 Control optimal aplicat unei instalat ii cu patru
rezervoare . . . . . . . . . . . . . . . . . . . . . . 164
7.2 Problema Google . . . . . . . . . . . . . . . . . . . . . . 167
7.3 Clasicarea de imagini . . . . . . . . . . . . . . . . . . . 173
Bibliograe 179
10 Cuprins
Capitolul 1
Funct ii ale pachetului de
optimizare MATLAB
1.1 Preliminarii
Explozia informat ional a din ultimele patru decenii a condus la algoritmi
numerici de optimizare indispensabili pentru abordarea diferitelor
probleme din domeniile ingineriei, zicii, analizei numerice, teoriei
sistemelor si controlului, prelucr arii semnalelor, nv at arii automate
etc. Precizand ca aceasta scurt a enumerare reprezinta doar cele mai
evidente domenii de aplicat ie ale algoritmilor de optimizare, constatam ca
teoria optimizarii este considerata un instrument valoros n majoritatea
domeniilor stiint ice.

In prezent exist a algoritmi ecient i (rapizi) destinat i rezolvarii


problemelor de optimizare convexe/neconvexe cu dimensiuni mici si medii
ntr-un interval de timp relativ scurt.

Ins a multe dicult at i si ntrebari
f ar a raspuns apar n cazul problemelor cu dimensiuni mari (e.g. 10
7
10
9
variabile). Dimensiunile problemelor ntalnite n domeniile enumerate
anterior se aa n crestere continua, astfel ncat se formuleaz a relativ des
probleme cu dimensiuni de zeci de milioane de variabile. Ca urmare,
algoritmii de optimizare raman un subiect de actualitate n cercetarea
moderna din matematica aplicat a.

In continuare vom prezenta si formula principalele clase de probleme de


optimizare si n plus, funct iile Matlab uzuale pentru rezolvarea numeric a
a acestor tipuri de probleme.
12 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
1.1.1 Mediul Matlab
Matlab (Matrix laboratory) este un mediu de calcul numeric si un
limbaj de programare de generat ia a patra, dezvoltat de compania
Mathworks. Mediul Matlab ofera o interfat a usor de utilizat pentru
operat ii cu matrice, implementare de algoritmi, grace de funct ii etc.
Figura 1.1: Matlab.

Inc a de la sfarsitul anilor 1970, Matlab a castigat o audient a larga n


cadrul academic si n comunitatea matematicii aplicate.

Incepand cu
dezvoltarea de pachete de programe destinate problemelor numerice de
algebra liniar a, au fost incluse si dezvoltate ulterior funct ii (toolbox-uri)
specializate n rezolvarea de probleme de optimizare, rezolvarea de
sisteme de ecuat ii, modelare si identicare de sisteme, control etc.
Pachetul Optimization Toolbox, din cadrul mediului Matlab, furnizeaz a
algoritmi utilizat i la scara larga, destinat i problemelor de optimizare
standard si de mari dimensiuni. De asemenea, pachetul include si funct ii
ce rezolv a probleme de optimizare structurate: programare liniar a,
programare patratic a, programare binar a, probleme CMMP neliniare,
rezolvare de sisteme de ecuat ii neliniare si optimizare multicriterial a.
Dicultatea problemelor de optimizare ce apar de cele mai multe ori
n practic a limiteaza capacitatea algoritmilor existent i la gasirea unei
solut ii aproximative corespunz atoare problemei date. De exemplu,
1.2. Probleme rezolvate de laborator 13
problema de optimizare ce presupune gasirea punctului global de maxim
corespunz ator funct iei sinc(x) =
sin x
x
este o problem a dicil de rezolvat.
Pentru motivarea acestei armat ii se poate observa usor n Fig. 1.2 ca
funct ia sinc(x) prezinta o innitate de maxime locale (denivel arile de
la baza dealului), despre care nu cunoastem a priori dac a sunt sau nu
valori maxime globale. Pentru a ilustra simplitatea cu care putem gura
funct iile n mediul Matlab, prezentamn continuare secvent a de cod care
genereaz a gracul din Fig. 1.2.
[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
surf(X,Y,f);
axis([-10 10 -10 10 -0.3 1])
xlabel({\bfx})
ylabel({\bfy})
zlabel({\bfsinc} ({\bfR}))
Figura 1.2: Gracul funct iei sinc(x) .
1.2 Probleme rezolvate de laborator
1.2.1 Minimizare neconstransa
Problemele de optimizare neconstr ans a presupun minimizarea (sau
maximizarea) unei anumite funct ii obiectiv (criteriu) prin intermediul
unui set de variabile de decizie, far a ca acestea sa respecte anumite
restrict ii (constrangeri). Se consider a funct ia (n general, neliniara)
14 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
f : R
n
R de dou a ori diferent iabila, careia i se asociaz a problema
de optimizare:
min
xR
n
f(x),
unde x are rolul vectorului variabilelor de decizie. Problema de
optimizare se consider a rezolvat a dac a s-a obt inut un vector x

pentru
care valoarea funct iei f() n x

este minima, adica f(x

) f(x)
pentru orice x R
n
. Mult imea n care se efectueaz a cautarea se
numeste mult ime fezabila, care n cazul de fat a este dat a de ntreg spat iul
Euclidian R
n
.
Funct ii MATLAB
Pentru cazul n care funct ia obiectiv nu are o structur a prestabilita
sau o forma particular a, sunt disponibile urmatoarele funct ii MATLAB
pentru aproximarea unui punct de minim local n cazul unei probleme
neconstr anse:
1. Funct ia [...]=fminunc(...) returneaza un punct de minim local
al funct iei introduse ca argument, cu ajutorul informat iei de ordinul I
(gradient) si a celei de ordin II (Hessiana). Sintaxa funct iei are expresia:
x=fminunc(fun,x0)
x=fminunc(fun,x0,optiuni)
[x,val]=fminunc(...)
[x,fval,exitflag,output,grad,hessian]=fminunc(...)
Variabila fun reprezinta funct ia obiectiv diferent iabila ce trebuie
furnizata ca o variabil a de tip function handle. O variabil a de tip
function handle poate , e.g. un sier objfun.m care primeste
la intrare variabila de decizie x si returneaza valoarea funct iei n
x. Dac a metoda de rezolvare a problemei necesit a si gradientul
funct iei, iar opt iunea GradObj este setat a on, atunci argumentul
fun furnizeaz a, n plus, si valoarea gradientului n punctul x. Dac a
metoda de rezolvare a problemei necesit a Hessiana, iar opt iunea
Hessian este setat a on, atunci argumentul fun furnizeaz a, n
plus, si valoarea hessianei n punctul x.
Vectorul x0 reprezinta punctul init ial de unde porneste procesul
de cautare al minimului si trebuie furnizat ca un vector din R
n
.
1.2. Probleme rezolvate de laborator 15
Variabila optiuni reprezinta setul de opt iuni specic ec arei rutine
Matlab. Comanda optiuni=optimset(fminunc) aseaza setul
de opt iuni implicit. Fiecare dintre acestea se poate modica n
funct ie de problema de minimizare. De exemplu, pentru setarea
opt iunii GradObj pe on, comanda este optiuni.GradObj=on.
Pentru o documentare amanunt ita introducet i urmatoarea comand a:
help fminunc
2. Funct ia [...]=fminsearch(...) returneaza un punct de minim local
al funct iei introduse ca argument, utiliz and nsa o metoda diferit a de cea
folosita de fminunc, anume metoda Nedler-Mead, ce utilizeaz a informat ie
de ordin zero (evaluarea funct iei). Sintaxa este similar a celei prezentate
pentru funct ia fminunc.
Exemplul 1. Consideram problema de optimizare
min
xR
2
f(x)
_
= e
x
1
(4x
2
1
+ 2x
2
2
+ 4x
1
x
2
+ 2x
2
+ 1)
_
.
Sa se rezolve problema (s a se gaseasca un punct de minim local) utiliz and
rutina fminunc, cu punctul de init ializare x
0
= [1; 1].
Rezolvare. Se creeaza sierul objfun.m ce va cont ine urmatoarea
secvent a de cod:
function f=objfun(x)
f = exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
Se apeleaza rutina fminunc n urmatorul mod:
x0=[-1,1]; optiuni=optimset(LargeScale,off);
[x,fval,exitflag,output]=fminunc(@objfun,x0,optiuni);
Exemplul 2. Consideram problema de optimizare:
min
xR
f(x) (= cos 3x + sin 2x) .
(i) Sa se rezolve problema (s a se gaseasca un punct de minim local)
utiliz and rutina fminunc, cu punctul de init ializare x
0
= 0.
(ii) Sa se rezolve problema cu ajutorul metodei sect iunii de aur.
16 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
Rezolvare. (i) Se creeaza sierul objfun.m cu urmatoarea secvent a de
cod:
function f=objfun(x)
f = cos(3*pi*x) + sin(2*pi*x);
Se apeleaza rutina fminunc:
x0=0; optiuni=optimset(LargeScale,off);
[x,fval,exitflag,output]=fminunc(@objfun,x0,optiuni);
(ii) Deoarece funct ia este periodica, de perioada 2, putem aplica metoda
sect iunii de aur, n care se alege lungimea intervalului init ial egala cu 2,
a carei implementare este expusa n cele ce urmeaza. Se creeaza sierul
objfun.m si goldsection.m:
function f=objfun(x)
f = cos(3*pi*x) + sin(2*pi*x);
end
function [xst,fst]= goldsection(x,eps)
a=x-pi; b=x+pi; lambda=a+0.382*(b-a);
miu=a+0.618*(b-a);
while ((b-a)>=eps)
if (objfun(lambda)<=objfun(miu))
b=miu;
else
a=lambda;
end
lambda=a+0.382*(b-a); miu=a+0.618*(b-a);
end
if (objfun(lambda)<=objfun(miu))
fst=objfun(lambda); xst=lambda;
else
fst=objfun(miu); xst=miu;
end
Exemplul 3 (Interpolare polinomiala). O problem a des ntalnit a n
analiza numeric a si inginerie o reprezinta aproximarea optima a unei
funct ii neliniare cu un polinom de grad dat. Mai exact, ind dat a funct ia
1.2. Probleme rezolvate de laborator 17
neliniara f : R R cu structur a necunoscuta, dorim aproximarea
acesteia cu un polinom g : R R,
g(z) = a
n
z
n
+ + a
1
z + a
0
.
Datele cunoscute n legatura cu funct ia neliniara f reprezinta setul de
perechi: (y
1
, f(y
1
)), . . . , (y
m
, f(y
m
)), unde scalarii y
i
R sunt dat i.
Notand vectorul coecient ilor polinomului cu x = [a
0
. . . a
n
]
T
si b =
[f(y
1
) . . . f(y
m
)]
T
, problema se reduce la gasirea vectorului optim de
coecient i ce satisface relat ia:
Ax =
_

_
1 y
1
. . . y
n
1
1 y
2
. . . y
n
2
.
.
.
.
.
.
.
.
.
.
.
.
1 y
m
. . . y
n
m
_

_
_

_
a
0
a
1
.
.
.
a
n
_

_
f(y
1
)
f(y
2
)
.
.
.
f(y
m
)
_

_
= b.
Echivalent, obt inem urmatoarea problem a de optimizare f ar a
constrangeri:
min
xR
n+1
f(x)
_
= |Ax b|
2
_
. (1.1)
Sa se rezolve problema (1.1), pe cazuri particulare pentru matricea A si
vectorul b de diferite dimensiuni, utiliz and rutinele fminunc si lsqlin.
Sa se compare rezultatele obt inute. Ce se observa?
1.2.2 Minimizare constransa
Fie funct ia (n general neliniara) f : R
n
R. Forma generala a unei
probleme de optimizare cu constrangeri (numite si restrict ii), asociate
funct iei f, se formuleaz a n urmatorul mod:
min
xR
n
f(x)
s.l.: Cx d, g(x) 0, l x u, (1.2)
Ax = b, h(x) = 0,
unde l, u R
n
, d R
m
1
, b R
p
1
, C R
m
1
n
, A R
p
1
n
, iar g(x) :
R
n
R
m
2
, h(x) : R
n
R
p
2
sunt funct ii multidimensionale (vectori de
funct ii), reprezentand constrangerile neliniare de inegalitate si respectiv,
de egalitate.
18 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
Exemplul 4. Consideram urmatoarea problem a de optimizare:
min
xR
2
(x
1
3)
2
+ (x
2
2)
2
s.l.: x
2
1
x
2
3 0, x
2
1 0, x
1
0.
Funct ia obiectiv si cele trei constrangeri de inegalitate sunt denite de
urmatoarele expresii:
f(x
1
, x
2
) = (x
1
3)
2
+ (x
2
2)
2
,
g
1
(x
1
, x
2
) = x
2
1
x
2
3, g
2
(x
1
, x
2
) = x
2
1, g
3
(x
1
, x
2
) = x
1
.
Fig 1.3 ilustreaz a mult imea fezabila. Problema se reduce la a gasi un
punct n mult imea fezabila n care (x
1
3)
2
+ (x
2
2)
2
ia cea mai mic a
valoare. Observam ca punctele [x
1
x
2
]
T
cu (x
1
3)
2
+(x
2
2)
2
= c sunt
cercuri de raza c cu centrul n [3 2]
T
. Aceste cercuri se numesc mult imile
nivel sau contururile funct iei obiectiv av and valoarea c. Pentru a
minimiza c trebuie sa gasim cercul cu cea mai mic a raza care intersecteaz a
mult imea fezabila. Dupa cum se observa din Fig. 1.3, cel mai mic cerc
corespunde lui c = 2 si intersecteaz a mult imea fezabila n punctul de
optim x

= [2 1]
T
.
5 4 3 2 1 0 1 2 3 4 5
5
4
3
2
1
0
1
2
3
4
5
g
1
g
3
contururi functie obiectiv
punct optim (2,1)
zona fezabila
g
2
(3,2)
Figura 1.3: Solut ia graca a problemei de optimizare.
1.2. Probleme rezolvate de laborator 19
Funct ii MATLAB
Pentru cazul n care funct ia de minimizat (maximizat) nu are o structur a
prestabilita sau o forma particular a, pentru rezolvarea problemei de
optimizare (1.2) este disponibila funct ia MATLAB fmincon ce prezinta
urmatoarea sintaxa:
x = fmincon(fun,x0,C,d,A,b,l,u,nonlcon,optiuni)
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...).
variabila fun reprezinta funct ia obiectiv ce trebuie furnizata ca
o variabil a de tip function handle. Dac a metoda de rezolvare a
problemei cere si gradientul funct iei, iar opt iunea GradObj este
setat a on, atunci argumentul fun furnizeaz a, n plus, si valoarea
gradientului n punctul x. Dac a metoda de rezolvare a problemei
cere Hessiana, iar opt iunea Hessian este setat a on, atunci
argumentul fun furnizeaz a, n plus, si valoarea Hessianei n punctul
x;
matricele si vectorii C, d, A, b, l, u denesc constrangerile liniare cu
structura prezentata n modelul (1.2);
variabila de tip handle nonlcon returneaza constrangerile neliniare
de egalitate si inegalitate reprezentate n (1.2);
x0 reprezinta punctul init ial de unde porneste procesul de cautare
al minimului si trebuie furnizat ca un vector din R
n
;
variabila optiuni reprezinta setul de opt iuni specic ec arei rutine
MATLAB. Comanda optiuni=optimset(fmincon) aseaza setul
de opt iuni implicit. Fiecare dintre acestea se poate modica n
funct ie de problema de minimizare. De exemplu, pentru setarea
opt iunii GradObj pe on, comanda este optiuni.GradObj=on.
Pentru o documentare amanunt ita introducet i urmatoarea comand a:
help fmincon
Exemplul 5. Consideram problema de optimizare:
min
xR
2
f(x)
_
= e
x
1
(4x
2
1
+ 2x
2
2
+ 4x
1
x
2
+ 2x
2
+ 1)
_
.
s.l.: g(x) 0
__
x
1
x
2
x
1
x
2
+ 1.5 0
x
1
x
2
10 0
_
.
20 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
Sa se rezolve local problema utiliz and rutina fmincon, cu punctul de
init ializare x
0
= [1 1]
T
.
Rezolvare. Se creeaza sierul objfun.m ce deneste funct ia obiectiv si
confun.m n care se denesc constrangerile:
function f=objfun(x)
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
function[g,h]=confun(x)
g=[x(1)*x(2)-x(1)-x(2)+1.5 -x(1)*x(2)-10];
h=[];
Apoi se apeleaza rutina pentru minimizare cu restrict ii:
x0=[-1,1];
optiuni=optimset(fmincon);
optiuni.LargeScale=off;
[x,fval]=fmincon(@objfun,x0,[],[],[],[],...
[],[],@confun,optiuni)
Exemplul 6 (Analiz a statistic a). Analiza datelor si interpretarea
acestora ntr-un sens cat mai corect este preocuparea principala din
domeniul statisticii. Problema se formuleaz a n urmatorul mod: pe baza
unei colect ii de date cunoscute (reprezentate n Fig. 1.4 prin puncte),
sa se realizeze predict ia cu o eroare cat mai mic a a unui alt set de date
part ial cunoscut.

In termeni matematici, aceasta problem a presupune
determinarea unei direct ii de-a lungul careia elementele date (punctele)
tind sa se alinieze, astfel ncat sa se poat a prezice zona de aparit ie a
punctelor viitoare. S-a constatat ca direct ia de cautare este dat a de
vectorul singular al matricei formate din colect ia de puncte date, ce poate
gasit prin intermediul urmatoarei probleme de optimizare:
max
xR
n
f(x)
_
=
1
2
x
T
A
T
Ax
_
(1.3)
s.l.: g(x) 0 (|x| 1) ,
unde A R
mn
reprezinta matricea ale carei coloane [a
1
. . . a
n
] sunt
punctele cunoscute init ial. Considerand cazul particular n care se da
matricea A =
_
1 0.5 0
0 2 1
_
, sa se rezolve problema precedenta cu ajutorul
funct iei fmincon, alegand punctul init ial x
0
= [1 2 0.5]
T
.
1.2. Probleme rezolvate de laborator 21
2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5
10
5
0
5
10
15
Figura 1.4: Un exemplu de dispersie a datelor n spat iul R
2
. Observ am c a
punctele se aliniaza de-a lungul dreptei ce iese n evident a.
Rezolvare. Se creeaza sierele objfun.m si confun.m pentru funct ia
obiectiv si respectiv, pentru constrangeri :
function [f]=objfun(x)
f=x(1)^2+4.25*x(2)^2+x(3)^2+0.5*x(1)*x(2)+2*x(2)*x(3);
function [g,h]=confun(x)
g=x(1)^2+x(2)^2 + x(3)^2 - 1;
h=[];
Se apeleaza rutina pentru minimizare cu restrict ii:
x0=[-1,-2,0.5];
optiuni=optimset(fmincon);
optiuni.LargeScale=off;
[x,fval]=fmincon(@objfun,x0,[],[],[],...
[],[],[],@confun,optiuni)
Exemplul 7 (Analiza stabilitat ii robuste). Stabilitatea robust a a
sistemelor liniare afectate de perturbat ii reprezinta o tem a de cercetare
de actualitate n teoria controlului. Numeroase aplicat ii practice necesit a
analiza stabilitat ii robuste (Fig. 1.5) pentru asigurarea funct ion arii
corespunz atoare a diferitelor sisteme afectate de zgomot si perturbat ii
(e.g. sistemul de viraj al autovehiculelor, sistemul de ghidare al unei
macarale).
22 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
Figura 1.5: Exemplu de reglare robusta n cazul unui sistem cu parametri
afectat i de incertitudini.

In general, problema se reduce la studiul stabilitat ii unui polinom cu


coecient i afectat i de incertitudini. Consideram ca exemplu urmatorul
polinom:
s
3
+ (1 + a
1
+ a
2
)s
2
+ (a
1
+ a
2
+ 3)s + (1 + 6a
1
+ 6a
2
+ 2a
1
a
2
), (1.4)
unde parametrii a
1
si a
2
satisfac condit iile:
a
1
[1.4 1.1, 1.4 + 1.1] si a
2
[0.85 0.85, 0.85 + 0.85],
unde > 0. Parametrii a
1
si a
2
pot reprezenta cantitat i zice (e.g.
lungimi, mase) ce sunt afectate de incertitudini n mod obisnuit, sau
parametrii regulatorului ce pot varia datorita erorilor de implementare.
Suntem interesat i n determinarea celei mai mari valori a variabilei
pentru care polinomul ramane stabil. Aceasta problem a se poate
reformula ntr-una de optimizare folosind criteriul Hurwitz : un polinom
de gradul 3 de forma
p(s) = s
3
+ q
2
s
2
+ q
1
s + q
0
este stabil dac a si numai dac a q
2
q
1
q
0
> 0 si q
0
> 0. De aceea,
consider am marginea maxima de stabilitate dat a de

= min
1
,
2
,
1.2. Probleme rezolvate de laborator 23
unde
1
si
2
sunt solut iile urmatoarelor probleme de optimizare:

1
= min
a,

s.l.: 2 2a
1
2a
2
+ a
2
1
+ a
2
2
0,
1.4 1.1 a
1
1.4 + 1.1
0.85 0.85 a
2
0.85 + 0.85,

2
= min
a,

s.l.: 1 + 6a
1
+ 6a
2
+ 2a
1
a
2
0,
1.4 1.1 a
1
1.4 + 1.1
0.85 0.85 a
2
0.85 + 0.85.
Sa se rezolve problemele de optimizare neliniara precedente utiliz and
funct ia fmincon.
Rezolvare. Pentru a simplica rezolvarea furniz am secvent a de cod
Matlab ce rezolv a prima problem a de optimizare si determina
1
,
cea de-a doua rezolv andu-se n mod analog. Consideram urmatoarea
secvent a de cod aferenta funct iei obiectiv si constrangerilor problemei
de optimizare ce determina
1
:
function [f]=objfun(delta)
f=delta;
end
function [g]=confun(x)
g=[1+6*x(1)+6*x(2)+2*x(1)*x(2);x(1)-1.4-1.1*x(3);...
-x(1)+1.4-1.1*x(3); x(2)-0.85-0.85*x(3);...
-x(2)+0.85-0.85*x(3)];
end
Se apeleaza apoi rutina pentru minimizare cu restrict ii:
x0=[1.4 0.85 1000];
optiuni=optimset(fmincon);
optiuni.LargeScale=off;
[x,fval]=fmincon(@objfun,x0,[],[],[],...
[],[],[],@confun,optiuni)
24 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
1.2.3 Programare liniara
Pentru cazurile particulare de probleme de optimizare (e.g. funct ie
obiectiv liniar a sau patratic a), exist a funct ii Matlab specice ce rezolv a
problemele de optimizare aferente prin intermediul unor algoritmi
dedicat i respectivelor clase de probleme.
Funct ia linprog rezolv a probleme de programare liniara, ce vizeaz a
minimizarea unei funct ii obiectiv liniare, n prezent a unui set de
constrangeri liniare. O problem a de programare liniar a se formuleaz a
n general dup a cum urmeaza:
min
xR
n
c
T
x
s.l.: Cx d, l x u,
Ax = b,
unde c, l, u R
n
, d R
m
, b R
p
, C R
mn
, A R
pn
. Sintaxa funct iei
linprog cuprinde:
x = linprog(c,C,d,A,b,l,u,x0,optiuni)
[x,fval,exitflag,output,lambda] = linprog(. . . ).
Pentru mai multe detalii, se poate apela comanda: help linprog
Exemplul 8 (Repartizarea optimala a resurselor umane). Fie un num ar
de n persoane disponibile pentru m sarcini. Valoarea atribuit a unei zile
de lucru a persoanei i la o sarcina j este denita de c
ij
, pentru i = 1, . . . , n
si j = 1, . . . , m. Problema se reduce la determinarea repartiz arii optime
de sarcini ce maximizeaza valoarea lucrului total. Repartizarea sarcinilor
const a n alegerea valorilor x
ij
, ce reprezinta proport ia din timpul
persoanei i consumat a pe sarcina j pentru i = 1, . . . , n si j = 1, . . . , m.
Vom avea astfel urmatoarele constrangeri:
m

j=1
x
ij
1,
n

i=1
x
ij
1, x
ij
0.
Prima relat ie denota ca o persoan a nu poate dep asi 100% din timpul sau
lucr and. A dou a relat ie precizeaza ca unei singure persoane i este permis
sa lucreze la o sarcina la un moment dat.

In nal, a treia relat ie interzice
1.2. Probleme rezolvate de laborator 25
ca timpul petrecut pe o sarcina sa e negativ.

In concluzie, problema
enunt at a anterior are urmatoarea formulare:
min
xR
nm
f(x)
_
=
n

i=1
m

j=1
c
ij
x
ij
_
s.l.: Cx d
_
_
_
_
_
_
_

_
m

j=1
x
ij
1 i = 1, . . . , n
n

i=1
x
ij
1 j = 1, . . . , m
x
ij
0 i, j
_
_
_
_
_
_
.
Fie matricea coecient ilor c
ij
dat a de
_
_
1 1 0
0.1 5 2
0 1 0.5
_
_
, adica n=m=3.
Sa se rezolve problema de mai nainte cu ajutorul funct iei linprog.
Rezolvare. Init ial compunem matricea C si vectorul d ce formeaza
constrangerile pentru a putea apela funct ia linprog n forma standard:
function [x,f]=alocare()
c=[1 -1 0 0.1 -5 2 0 -1 -0.5];
A1=[ones(1,3) zeros(1,6);...
zeros(1,3) ones(1,3) zeros(1,3);...
zeros(1,6) ones(1,3)];
A2=[eye(3) eye(3) eye(3)];
C = [A1; A2; -eye(9)]; d= [ones(6,1);zeros(9,1)];
[x f] = linprog(c,C,d);
end
Exemplul 9 (Proiectare ltre). Una dintre cele mai importante
probleme ale ingineriei o reprezinta proiectarea ltrelor cu raspuns la
impuls prestabilit. Prin not iunea de ltru nt elegem un sistem dinamic
liniar invariant n timp, care de cele mai multe ori este denit de relat ia
de convolut ie dintre dou a semnale discrete/continue:
y(t) =
_

u(s)h(t s)ds y(k) =

i=
u(i)h(k i),
26 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
n care h este raspunsul la impuls corespunz ator sistemului. Echivalent,
n domeniul frecvent ial, transferul intrare-iesire pentru cazul continuu
anterior se reprezinta sub forma:
Y () = H()U(), < < ,
unde Y (), H(), U() sunt transformatele Fourier ce corespund funct ii-
lor y(t), h(t), u(t). Problema de sinteza a unui ltru presupune
determinarea congurat iei optime globale a unui bloc (colect ie) de ltre
cu funct ii de tranfer cunoscute (Fig. 1.6), astfel ncat funct ia de transfer
globala rezultata sa coincid a cu una prestabilita. Not and funct ia de
transfer globala prestabilita cu T(), consider am m asurarea calitat ii
funct iei de transfer pe segmentul [
min
,
max
]. Rezult a astfel urmatoarea
problem a de optimizare:
min
xR
n
sup

min
max
[T()
n1

j=0
x
j
H
j
()[,
unde H
j
() reprezinta funct iile de transfer aferente ltrelor ce compun
blocul. O versiune mai abordabila este urmatoarea aproximare a
problemei precedente:
min
xR
n
max
1im
[T(
i
)
n1

j=0
x
j
H
j
(
i
)[, (1.5)
n care s-a recurs la alegerea unui numar nit m de puncte n intervalul
[
min
,
max
].
Figura 1.6: Exemplu bloc de ltre
Problema (1.5) se poate reformula n termenii unei probleme de
minimizare cu funct ia obiectiv liniar a si av and de asemenea constr angeri
1.2. Probleme rezolvate de laborator 27
liniare de inegalitate, i.e. un program liniar:
min
xR
n
,t
f(x, t) (= t)
s.l.: C
_
x
t
_
d
_
[T(
i
)
n1

j=0
x
j
H
j
(
i
)[ t i = 1, . . . , m
_
.
Exercit iul 1. Se consider a cazul particular ce cuprinde funct iile: T() =
cos
2
+
3
, H
0
() =

2
1+
, H
1
() =
2
1+
, H
2
() =
2
+ + 1 si vectorul
= [0.1 0.5 1 5 10]. T in and cont ca valorile
i
reprezinta componentele
vectorului , sa se scrie modelul problemei anterioare sub forma standard
a unei probleme de programare liniar a si sa se rezolve problema cu
ajutorul funct iei Matlab linprog.
1.2.4 Programare patratica
Funct ia quadprog rezolv a probleme de programare patratica, ce vizeaz a
minimizarea unei funct ii obiectiv patratice, n prezent a unui set de
constrangeri liniare. O problem a de programare patratic a se formuleaz a
n general dup a cum urmeaza:
min
xR
n
1
2
x
T
Qx + q
T
x
s.l.: Cx d, l x u,
Ax = b,
unde Q = Q
T
R
nn
, q, l, u R
n
, d R
m
, b R
p
, C R
mn
, A R
pn
.
Sintaxa funct iei quadprog cuprinde:
x = quadprog(Q,q,C,d,A,b,l,u,x0,optiuni)
[x,fval,exitflag,output,lambda] = quadprog(. . . ).
Pentru mai multe detalii, se poate apela comanda: help quadprog
Exemplul 10 (Problema Google). Ca urmare a progreselor tehnologice
recente, motoarele de cautare (e.g. Google, Yahoo) au devenit un
punct central de interes n optimizare, urmarind dezvoltarea de algoritmi
ecient i ce execut a o cautare cat mai rapid a. Constat and ca o cautare
ecienta presupune o clasicare cat mai strategica a paginilor web,
rezulta o reducere a problemei de cautare la una de clasicare a acestor
28 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
pagini. Problema de clasicare (ranking) se formuleaz a usor n termeni
de grafuri ponderate (Fig. 1.7). De aceea, paginile web sunt interpretate
ca noduri ale unui graf, muchiile ca legaturi aferente dintre ele, iar ec arei
muchii i este asociat a o pondere.
Figura 1.7: Exemplu graf orientat
Dac a not am cu E matricea de adiacent a a grafului, elementele acesteia
respecta urmatoarea regul a: E
ij
este nenul dac a exist a o muchie
direct ionat a de la i la j, altfel este nul. Dac a t inem cont de faptul ca
graful este ponderat si ca suma ponderilor este egala cu 1, atunci matricea
E va avea suma pe linii egala cu 1. Matematic, problema precedenta
presupune gasirea unui vector propriu x corespunz ator valorii proprii 1,
i.e. sa se determine x R
n
astfel ncat Ex = x. Reformul and mai
departe problema n termeni de optimizare avem:
min
xR
n
f(x)
_
=
1
2
|Ex x|
2
_
s.l.: Cx d (x 0)
Ax = b
_
n

i=1
x
i
= 1
_
.
De cele mai multe ori, matricea are dimensiuni foarte mari (e.g. 10
9
10
9
)
ceea ce face problema foarte greu de rezolvat (vezi Sect iunea 7.2.3).
Exercit iul 2. Fie matricea E =
_

_
0.1 0 0 0.9
0 0 0.5 0.5
0.2 0 0.2 0.6
0 0 0 1
_

_
. Sa se rezolve
problema cu ajutorul funct iei quadprog, folosind mai ntai doar
constrangeri de egalitate si apoi incluzand si constrangerile de inegalitate.
Ce se observa?
1.3. Probleme rezolvate de seminar 29
1.3 Probleme rezolvate de seminar
1.3.1 Diferent iere multivariabila
Problema 1. Fie funct iile f : R
3
R si g : R
2
R denite de:
f(x) = x
3
1
x
2
+ 2x
2
3
x
1
x
2
x
3
,
g(x) = e
x
1
x
2
+ e
2x
1
1
e
2x
2
2
.
(i) Sa se determine expresiile gradient ilor f(x), g(x).
(ii) Sa se determine expresiile Hessianelor
2
f(x),
2
g(x).
Rezolvare. Pentru o funct ie diferent iabila de 2 ori f : R
n
R, reamintim
denit iile gradientului si Hessianei:
f(x) =
_

_
f(x)
x
1
.
.
.
f(x)
xn
_

_
,
2
f(x) =
_

2
f(x)
x
2
1
. . .

2
f(x)
x
1
xn
.
.
.
.
.
.

2
f(x)
xnx
1
. . .

2
f(x)
x
2
n
_

_
.
(i) Expresiile gradient ilor funct iilor din enunt au forma:
f(x) =
_
_
3x
2
1
x
2
+ 2x
2
3
x
3
1
x
3
4x
3
x
1
x
2
_
_
, g(x) =
_
e
x
1
x
2
+ 2e
2x
1
1
e
x
1
x
2
2e
2x
2
2
_
.
(ii) Expresiile Hessianelor funct iilor din enunt au forma:

2
f(x)=
_
_
6x
1
x
2
3x
2
1
4x
3
3x
2
1
0 1
4x
3
1 4x
1
_
_
,

2
g(x)=
_
e
x
1
x
2
+4e
2x
1
1
e
x
1
x
2
e
x
1
x
2
e
x
1
x
2
4e
2x
2
2
_
.
Problema 2. Fie funct ia multidimensionala h : R
3
R
2
,
h(x) =
_
x
2
2
+ x
3
x
2
1
+ x
2
_
.
(i) Determinat i expresia Jacobianului h(x).
30 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
(ii) Ar atat i ca, n orice vector x R
3
, Jacobianul calculat are liniile
liniar independente.
Rezolvare. (i) Din denit ia Jacobianului pentru o funct ie h : R
3
R
2
,
i.e. h(x) =
_
h
1
(x)
x
1
h
1
(x)
x
2
h
1
(x)
x
3
h
2
(x)
x
1
h
2
(x)
x
2
h
2
(x)
x
3
.
_
, avem h(x) =
_
0 2x
2
1
2x
1
1 0
_
.
(ii) Din denit ia propriet at ii de liniar independent a avem: doi vectori
u, v R
n
sunt liniar independent i dac a nu exist a un scalar ,= 0 astfel
ncat u = v. Aceasta proprietate este evidenta observand ca egalitatea:
_
_
2x
1
1
0
_
_
=
_
_
0
2x
2
1
_
_
nu poate avea loc dac a ,= 0.
1.3.2 Probleme de optimizare generale
Problema 3. Fie urmatoarea problem a de optimizare:
min
xR
2
x
3
1
+ x
3
2
s.l.: (x
1
+ x
2
)
2
0,
x
1
x
3
2
= 1.
(i) Sa se precizeze care sunt constrangerile de egalitate si care sunt
cele de inegalitate.
(ii) Sa se determine analitic punctul de optim si valoarea optima.
Rezolvare. (i) Se observa ca inegalitatea (x
1
+ x
2
)
2
0 este echivalenta
cu (x
1
+x
2
)
2
= 0. Concluzionam ca nu exist a constrangeri de inegalitate
si avem dou a constrangeri de egalitate: h
1
(x) = x
1
+ x
2
= 0 si h
2
(x) =
x
1
x
3
2
+ 1 = 0.
(ii) Din punctul (i) rezulta ca x
1
+ x
2
= 0 si fac and sistem cu cea de-a
doua constrangere, concluzionam ca mult imea fezabila este format a din
dou a puncte, anume (x
1
, x
2
) = (1, 1) si (x
1
, x
2
) = (1, 1) . Punctele de
optim global vor (x

1
, x

2
) = (1, 1) si (x

1
, x

2
) = (1, 1), din moment
ce valoarea optima f

= 0 este aceeasi pentru ambele.


Problema 4. Fie funct ia f :
n
x, f(x) = ln x
T
Ax, unde
n
este
o mult ime, numita mult imea simplex, si este dat a de
n
= x R
n
:
1.3. Probleme rezolvate de seminar 31
n

i=1
x
i
= 1, x
i
0 i = 1, . . . , n, A R
nn
este o matrice simetric a si
pozitiva (i.e. toate elementele matricei sunt ne-negative).
(i) Sa se determine expresia gradientului f(x) si a Hessianei
2
f(x).
(ii) Sa se determine constanta Lipschitz a gradientului funct iei f.
Rezolvare: (i) Prin calcule simple, obt inem ca expresia gradientului este
dat a de f(x) =
2Ax
x
T
Ax
, iar a hessianei
2
f(x) =
2Ax
T
Ax(2Ax)(2Ax)
T
(x
T
Ax)
2
=
2A
x
T
Ax

4Ax
x
T
Ax
_
Ax
x
T
Ax
_
T
.
(ii) Gradientul este continuu n sens Lipschitz dac a urmatoarea
inegalitate are loc:
|f(x) f(y)|
2
L|x y|
2
x, y
n
.
Echivalent, aceasta proprietate se exprima si n termenii matricei
Hessiane:
|
2
f(x)|
2
L x
n
.
Oberv am ca matricea
(2Ax)(2Ax)
T
(x
T
Ax)
2
este pozitiv semidenita, de aceea avem
urmatoarea m arginire a normei Hessianei:
|
2
f(x)| |
2A
x
T
Ax
| x
n
.
Mai mult, observam ca
min
xn
x
T
Ax = min
xn

i,j
A
ij
x
i
x
j
min
xn
_
min
i
A
ii
_
|x|
2
=
1
N
_
min
i
A
ii
_
.
De aici obt inem o aproximare a constantei Lipschitz corespunz atoare
gradientului funct iei din enunt :
|
2
f(x)| N|
2A
min
i
A
ii
| = L.
Problema 5. Fie P R
nn
o matrice simetrica si inversabil a. Sa se
arate ca funct ia patratic a:
f(x) =
1
2
x
T
Px + x
T
b
are valoare minima (i.e. este m arginit a inferior) dac a si numai dac a
P _ 0 (i.e. este pozitiv semidenita). Mai mult, n cazul n care este
m arginit a, ar atat i ca punctul de minim x

este unic si determinat de


expresia x

= P
1
b.
32 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
Rezolvare. Observam ca
1
2
_
x + P
1
b
_
T
P
_
x + P
1
b
_
=
1
2
x
T
Px + b
T
x +
1
2
b
T
P
1
b.
De aici rezulta,
f(x) =
1
2
x
T
Px + b
T
x =
1
2
_
x + P
1
b
_
T
P
_
x + P
1
b
_

1
2
b
T
P
1
b.
Presupunem ca P are o valoare proprie negativ a, e.g. (unde > 0)
si not am vectorul propriu asociat valorii proprii negative cu u. Atunci,
pentru orice R, ,= 0, consider and x = u P
1
b si t in and cont de
relat ia Pu = u, avem:
f(x) =
1
2
_
x + P
1
b
_
T
P
_
x + P
1
b
_

1
2
b
T
P
1
b
=
1
2
u
T
Pu
1
2
b
T
P
1
b
=
1
2

2
|u|
2
2

1
2
b
T
P
1
b.

In nal, observam ca > 0 si avem libertatea de a alege oric at de mare,


de unde rezulta ca funct ia nu are minimum (i.e. minimum se atinge la
). Pentru ca funct ia sa aiba minimum este necesar ca P _ 0. Pentru
a ar ata ultima parte a rezultatului, din reformularea lui f(x) anterioar a
avem:
f(x) =
1
2
_
x + P
1
b
_
T
P
_
x + P
1
b
_

1
2
b
T
P
1
b.
Observam ca
1
2
(x + P
1
b)
T
P (x + P
1
b) 0, deci minimul funct iei se
atinge atunci cand x + P
1
b = 0.
Problema 6. Fie problema de optimizare :
min
xR
n
f(x)
_
=
c
T
x + d
e
T
x + f
_
s.l. Gx h, Ax = b,
cu domf(x) =
_
x R
n
: e
T
x + f > 0
_
. Ar atat i ca aceast a problem a
poate adusa la forma de programare liniar a.
1.3. Probleme rezolvate de seminar 33
Rezolvare. Notam u(x) = e
T
x + f > 0.

Impart ind relat ia prin u(x),
aceasta devine:
e
T
x
u(x)
+ f
1
u(x)
= 1 > 0. De asemenea, folosim notat ia
y(x) =
x
u(x)
R
n
si z(x) =
1
u(x)
R. Reformul and funct ia obiectiv avem:
f(x) =
c
T
x + d
u(x)
= c
T
x
u(x)
+ d
1
u(x)
= c
T
y(x) + dz(x).
Folosind schimbarea de variabil a precedenta, putem aduce problema de
minimizare dup a x la una ce presupune minimizarea dup a y(x) si z(x).
Pentru a schimba variabila constrangerilor, mpart im prin u ultimele
dou a seturi de egalitat i/inegalitat i. Astfel, obt inem un LP:
min
yR
n
,zR
c
T
y + dz
s.l.: e
T
y + fz = 1, Ay = bz
Gy hz.
Problema 7. Fie urmatoarea problem a de optimizare:
min
xR
2
2x
2
1
+ x
2
2
x
1
x
2
s.l.: 2
x
T
x1
2, (a
T
x b)
2
0
5
|x
1
|
1, 3
x
1
+x
2
= 1,
unde a R
2
si b R sunt dat i. Sa se arate ca toate funct iile care descriu
problema de optimizare sunt e liniare, e patratice. Sa se precizeze care
sunt constrangerile de egalitate si care sunt cele de inegalitate.
Rezolvare. Se observa ca funct ia obiectiv f(x) = 2x
2
1
+ x
2
2
x
1
x
2
este
patratic a, i.e.
f(x) =
1
2
_
x
1
x
2
_
T
_
4 1
1 2
_
T
_
x
1
x
2
_
.
Constr angerea 2
x
T
x1
2 este echivalenta cu x
T
x 1 1, i.e. x
T
x 2.
Deci prima constrangere este una de inegalitate descris a de o funct ie
patratic a g
1
(x) = x
T
x 2 0.
Constr angerea (a
T
x b)
2
0 este echivalenta cu a
T
x b = 0. Deci a
doua constrangere este de egalitate descris a de o funct ie liniar a h
1
(x) =
a
T
x b = 0.
34 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
Constr angerea 5
|x
1
|1
1 este echivalenta cu [x
1
[ 1 0. Deci a treia
constrangere este de inegalitate, descris a de dou a funct ii liniare g
2
(x) =
x
1
0 0 si g
3
(x) = x
1
1 0.
Constr angerea 3
x
1
+x
2
= 1 este echivalenta cu x
1
+ x
2
= 0. Deci a patra
constrangere este de egalitate, descris a de o funct ie liniar a h
2
(x) = x
1
+
x
2
= 0.
Problema 8. O funct ie se numeste monomiala dac a se prezinta sub
forma:
f(x) = cx
a
1
1
x
a
2
2
...x
an
n
,
n care c > 0, a
i
R si x R
n
++
, i.e. x
i
> 0 pentru orice i = 1, . . . , n.
Considerand problema de programare geometric a :
min
xR
n
f(x)
s.l.: g
i
(x) 1 i = 1, . . . , m
h
i
(x) = 1 i = 1, . . . , p,
cu f
i
si h
i
funct ii monomiale. Ar atat i ca o astfel de problem a de
programare geometric a poate scrisa sub forma unui LP.
Rezolvare. Din teoria optimizarii stim ca punctul de optim al unei
probleme de optimizare cu funct ia obiectiv f(x), este acelasi cu cel al
problemei cu funct ia obiectiv log f(x).

Intr-adev ar, n cazul neconstr ans
condit iile suciente de optimalitate pentru problema original a (cu funct ia
obiectiv f(x)) sunt f(x

) = 0. Observam ca pentru cazul compunerii cu


funct ia logaritm (cu funct ia obiectiv log f(x)) condit iile de optimalitate
se transforma n
f(x

)
f(x

)
= 0, sau echivalent n f(x

) = 0. Preciz am
ca pentru cazul constrans are loc o echivalent a logaritmica similar a, i.e
av and problema originala:
_

_
min
xR
n
cx
a
1
1
x
a
2
2
...x
an
n
s.l.: c
i
x
b
i
1
1
x
b
i
2
2
. . . x
b
i
n
n
1 i = 1, . . . , m
e
j
x
d
j
1
1
x
d
j
2
2
. . . x
d
j
n
n
= 1 j = 1, . . . , p,
compunand funct ia obiectiv si constrangerile cu funct ia logaritm,
obt inem o problem a de optimizare cu acelasi punct de optim:
_

_
min
xR
n
log(cx
a
1
1
x
a
2
2
...x
an
n
)
s.l.: log(c
i
x
b
i
1
1
x
b
i
2
2
. . . x
b
i
n
n
) 0 i = 1, . . . , m
log(e
j
x
d
j
1
1
x
d
j
2
2
. . . x
d
j
n
n
) = 0 j = 1, . . . , p.
1.4. Probleme propuse 35
Folosind schimbarea de variabil a log x
i
= y
i
, observam urmatoarea
reformularea liniar a a unei funct ii monomiale:
f(x) = log(cx
a
1
1
. . . x
an
n
) = log c +
n

i=1
a
i
log x
i
= log c +
n

i=1
a
i
y
i
.
Astfel, rezulta o forma LP a problemei n variabila y.
Problema 9. Fie funct ia patratic a f : R
2
R, f(x) = x
2
1
x
2
2
+x
1
x
2
. Sa
se arate ca funct ia f are gradient Lipschitzn raport cu norma Euclidian a,
i.e. exist a L > 0 astfel ncat:
|f(x) f(y)|
2
L|x y|
2
, x, y R
2
.
si sa se determine constanta Lipschitz corespunz atoare.
Rezolvare. Remarc am ca funct ia f se poate formula ca f(x) =
1
2
x
T
Qx,
unde Q =
_
2 1
1 2
_
. Vericand relat ia de continuitate Lipschitz avem:
|Qx Qy|
2
= |Q(x y)|
2
|Q|
2
|x y|
2
, x, y R
2
.
Inegalitatea reiese din denit ia normei matriceale induse. Evident,
constanta Lipschitz este dat a de L = |Q|
2
=
max
(Q).
1.4 Probleme propuse
Problema 1. Sa se arate ca problema de optimizare (1.1) este problem a
patratic a (QP). Evident iat i matricea Hessian a si precizat i dac a este sau
nu pozitiv denita.
Problema 2. Fie funct ia neliniara g(x) = 5e
2x
+ cos x 1. Sa se
aproximeze cu un polinom de gradul 3 funct ia g dup a modelul descris
n Exemplul 3 pentru punctele y
1
= 1, y
2
= 1/2, y
3
= 0, y
4
= 1/2
si y
5
= 1. Sa se rezolve problema de optimizare cu ajutorul funct iilor
fminunc si quadprog.
Problema 3. Fie urmatoarea problem a de optimizare constr ans a:
max
xR
n
1
2
|Ax|
2
s.l.: |x|
1
1,
36 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB
unde A R
mn
. Sa se reformuleze problema precedenta ca una patratic a
(QP) si sa se rezolve apoi aceasta formulare cu ajutorul funct iei Matlab
quadprog.
Problema 4. Sa se calculeze expresiile gradientului si Hessianei
corespunz atoare urmatoarelor funct ii:
(i) f(x) = x
2
1
x
2
2
2x
2
3
+ 2x
2
x
3
+ 3x
1
x
2
(ii) f(x) = x
3
1
+x
2
x
2
3
(iii) f(x) = e
x
1
x
2
+e
x
2
x
3
+e
x
3
x
1
(iv) f(x) = x
1
ln x
1
+x
2
ln x
2
+x
3
ln x
3
.
Problema 5. Sa se arate ca funct ia patratic a f(x) = x
2
1
+ 2x
2
2
2x
2
3

x
2
x
3
+3x
1
x
2
are gradientul continuun sens Lipschitz n raport cu norma
Euclidian a. Sa se determine constanta Lipschitz L.
Problema 6. Se consider a urmatoarea problem a de optimizare:
min
xR
n
f(x
1
, x
2
)
s.l.: 2x
1
+ x
2
1, x
1
+ 3x
2
1
x
1
0, x
2
0.
Sa se traseze grac mult imea fezabila. Pentru urmatoarele funct ii
obiectiv, sa se determine mult imea optima si valoarea optima:
(i) f(x
1
, x
2
) = x
1
+ x
2
. (ii) f(x
1
, x
2
) = x
1
x
2
.
(iii) f(x
1
, x
2
) = x
1
. (iv) f(x
1
, x
2
) = maxx
1
, x
2
.
(v) f(x
1
, x
2
) = x
2
1
+ 9x
2
2
.
Problema 7. Se consider a problema de optimizare:
min
xR
n
(x
1
4)
2
+ (x
2
2)
2
s.l.: 4x
2
1
+ 9x
2
2
36, 2x
1
3
x
2
1
+ 4x
2
2
= 4.
(i) Sa se reprezinte grac schema mult imii fezabile, mult imile izonivel ale
funct iei obiectiv si identicat i punctul de optim pe grac.
(ii) Sa se rezolve din nou punctul (i) unde n enunt ul problemei
minimizarea se nlocuieste cu maximizarea.
Problema 8. O fabric a furnizeaz a patru tipuri de produse. Unul dintre
materialele brute necesare pentru fabricat ie se aa n cantitate redus a,
ind disponibila numai o cantitate R de material. Pret ul de v anzare al
produsului i este S
i
per kilogram. Mai mult, ecare kilogram de produs i
consuma o cantitate a
i
de material brut (cel n cantitate redus a). Costul
1.4. Probleme propuse 37
de product ie a x
i
kilograme din produsul i, excluz and costul materialului
n cantitate redus a, este de k
i
x
2
i
, unde k
i
> 0 este cunoscut. Sa se dezvolte
un model matematic de optimizare pentru problem a si apoi sa se rezolve
cu una din funct iile Matlab precizate anterior.
Problema 9. Se presupune ca cererile d
1
, . . . , d
n
pentru un anumit
produs n intervalul a n perioade de timp sunt cunoscute. Cererea n
timpul perioadei j poate satisfacuta din cantitatea produs a x
j
pe
parcursul perioadei sau din stocul magaziei. Orice exces de product ie
poate stocat n magazie. Cu toate acestea, magazia are o capacitate
limitat a K, iar costul stocarii unei unitat i de la o perioad a la alta este c.
Costul product iei pe parcursul perioadei j este f(x
j
), pentru j = 1, . . . , n.
Dac a stocul init ial este I
0
, sa se formuleze problema ca un program
neliniar.
Problema 10.

Intr-o localitate se urmareste amplasarea optima a unui
numar de depozite n vecin atatea magazinelor. Fie un num ar de n
magazine, cu pozit ii si cereri cunoscute. Magazinul i se aa n pozit ia
(a
i
, b
i
) si dispune de o cerere (grad de solicitare a produselor) r
i
. Cererile
vor satisfacute cu ajutorul a m depozite cu capacitat i cunoscute.
Folosim urmatoarele notat ii: (x
i
, y
i
) reprezinta pozit ia necunoscut a a
depozitului si c
i
este capacitatea depozitului i pentru orice i = 1, . . . , m;
d
ij
este distant a de la depozitul i la magazinul j si w
ij
reprezinta unitat ile
transportate de la depozitul i la magazinul j pentru orice i = 1, . . . , m si
j = 1, . . . , n.
Sa se modeleze problema de gasire a pozit iilor optime corespunz atoare
depozitelor. Pentru m asurarea distant elor n plan, se poate folosi norma
Euclidian a (norma 2) sau orice alta norm a, cu condit ia sa e precizat a.
Problema 11. Fie matricele X, Y, Z R
nn
. Sa se arate egalitatea:
Tr(XY Z) = Tr(ZXY ) = Tr(Y ZX).
Problema 12. Fie matricea simetrica Q R
nn
. Sa se determine
expresia valorilor proprii extreme
min
si
max
sub forma valorilor optime
corespunz atoare unor probleme de optimizare.
Problema 13. Fie x R
n
, pentru norma ||, denim norma duala:
|x|

= min
y1
x, y. Sa se demonstreze urmatoarele relat ii, pentru orice
x R
n
:
|x|

1
= |x|

, |x|

= |x|
1
, |x|

2
= |x|
2
.
Capitolul 2
Probleme de optimizare
convexa
2.1 Preliminarii
Fie problema de optimizare,
min
xR
n
f(x)
s.l.: g
i
(x) 0 i = 1, . . . , m (2.1)
Ax = b.
Dac a funct ia obiectiv f si funct iile ce denesc constr angerile de
inegalitate g
i
sunt convexe atunci problema se numeste problema de
optimizare convexa. Convexitatea det ine un rol crucial n optimizare,
deoarece problemele cu aceasta proprietate prezinta tr as aturi teoretice
foarte bune (e.g., punctele de optim locale sunt, de asemenea, puncte de
optim globale); si ceea ce este mai important, pot rezolvate numeric
n mod ecient, ceea ce nu este valabil pentru problemele neconvexe.
Vom studia mai departe not iunile de funct ie convexa si mult ime convexa
pentru a sublinia propriet at ile remarcabile ale problemelor convexe.
2.1.1 Mult imi convexe
Pentru o expunere clar a si concisa, introducem urmatoarele denit ii:
Denit ia 1. Multimea S R
n
se numeste convexa dac a pentru oricare
dou a puncte x
1
, x
2
S si un scalar [0, 1] avem x
1
+ (1 )x
2
S,
2.1. Preliminarii 39
i.e. segmentul generat de oricare dou a puncte din S este inclus n S
(Fig. 2.1).
x
1
x
2
x
1
x
2
Figura 2.1: Exemplu de mult ime convexa (stanga) si mult ime neconvexa
(dreapta).
Exemplul 11. Fie mult imea L
n
=
__
x
t
_
R
n+1
: |x| t
_
, denumit a
si conul Lorentz sau conul de nghet at a. Sa se traseze gracul acestei
mult imi n Matlab pentru n = 2.
Rezolvare. Figura conului (Fig. 2.2) poate trasata de urmatoarea
secvent a de cod:
function create_cone
[y1,y2]=meshgrid(-1:0.01:1,-1:0.01:1);
y3=sqrt(y1.^2+y2.^2); dom=[y3>1];
z3=y3; z3(dom)=inf;
figure(1);
hold on;
surf(y1,y2,z3); set(gca,FontSize,15);
hold off;
end
Figura 2.2: Con de ordinul II (con Lorentz) n R
3
pentru n = 2.
40 Capitolul 2. Probleme de optimizare convexa
Studiul mult imilor convexe si al propriet at ilor acestora faciliteaz a analiza
mult imilor fezabile aferente problemelor de tipul (2.1) si a sirurilor
generate de algoritmi cu restrict ii la aceste mult imi.

In continuare vom
introduce si analiza not iunea de funct ie convexa.
2.1.2 Funct ii convexe
Denit ia 2. Funct ia f : R
n
R se numeste convexa dac a domeniul sau
efectiv domf este o mult ime convexa si dac a urmatoarea inegalitate:
f(x
1
+ (1 )x
2
) f(x
1
) + (1 )f(x
2
), (2.2)
este satisfacuta pentru orice x
1
, x
2
domf si [0, 1].
1 0.5 0 0.5 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
f( x
1
+(1)x
2
)
f(x)=x
2
f(x
1
)+(1) f(x
2
)
f(x
2
)
f(x
1
)
x
1
x
2
Figura 2.3: Exemplu de funct ie convexa f(x) = x
2
.
Inegalitatea (2.2) se poate generaliza la un numar p de puncte, purtand
numele de inegalitatea lui Jensen: f este o funct ie convexa dac a si numai
dac a:
f
_
p

i=1

i
x
i
_

i=1

i
f(x
i
)
pentru orice x
i
domf si
i
[0, 1], cu
p

i
= 1.
2.2. Pachet CVX 41
Interpretarea geometric a a convexitat ii este foarte simpl a (Fig. 2.3).
Pentru o funct ie convexa, e dou a puncte din domeniul sau x, y domf,
atunci valorile funct iei evaluate n punctele din intervalul [x, y] sunt mai
mici sau egale decat cele aate pe segmentul cu capetele (x, f(x)) si
(y, f(y)).
Remarca 1. O funct ie este convexa dac a si numai dac a restrict ia
domeniului sau la o dreapt a (care intersecteaz a domeniul) este de
asemenea, convexa. Cu alte cuvinte, f este convexa dac a si numai dac a
oricare ar x domf si o direct ie d, funct ia g() = f(x + d) este
convexa pe domeniul R : x+d domf. Aceasta proprietate este
foarte util a n problemele ce implica teste de convexitate ale funct iilor.
Pentru a sublinia legatura dintre not iunile introduse anterior, facem
urmatoarea observat ie: orice mult ime M denita ca mult imea subnivel
a unei anumite funct ii f, i.e. M = x R
n
: f(x) c, unde c este
o constanta, este convexa dac a si numai dac a funct ia f este convexa
(pentru demonstrat ie vezi [1]).
Exemplul 12. Fie funct ia convexa f : R
2
R, denit a de f(x) =
1
2
x
T
_
2 1
1 0.5
_
x + [0.5 1]x. Sa se traseze gracul funct iei n Matlab.
Rezolvare. Gracul funct iei (Fig. 2.4) este generat de urmatoarea
secvent a de cod (unde am folosit funct ia gradient(z) pentru a descrie
culoarea, graduala de-a lungul axei z, gracului rezultat):
function create_parab
[x,y] = meshgrid([-10:.2:10]);
z=x.^2+0.25*(y.^2)-x.*y-0.5*x+y;
surf(x,y,z,gradient(z))
end
2.2 Pachet CVX

In aceasta subsect iune expunem o scurt a prezentare a pachetului de


optimizare CVX. CVX reprezinta un sistem de modelare a problemelor
de optimizare convexa pe baza limbajului Matlab. CVX realizeaz a
transformarea comenzilor Matlab ntr-un limbaj de modelare, cu
42 Capitolul 2. Probleme de optimizare convexa
10
5
0
5
10
10
5
0
5
10
50
0
50
100
150
200
250
Figura 2.4: Gracul funct iei p atratice
f(x) = x
2
1
+ 1/4x
2
2
x
1
x
2
1/2x
1
+ x
2
.
posibilitatea de declarare a constrangerilor si funct iei obiectiv prin
intermediul sintaxei Matlab standard.
De exemplu, consider am urmatorul model de optimizare convexa:
min
xR
n
|Ax b|
2
s.l.: Cx = d, |x|

1.
Urm atoarea secvent a de cod genereaz a si rezolv a o instant a aleatorie a
acestui model:
m = 10; n = 8; p = 2;
A = randn(m,n); b = randn(m,1);
C = randn(p,n); d = randn(p,1);
cvx_begin
variable x(n)
minimize(norm(A*x - b, 2))
subject to
C*x == d
norm(x, Inf) <= 1
cvx_end
2.2.1 Instalare
Un scurt ghid de instalare presupune urmatorii pasi:
se descarca arhiva de la adresa : http://cvxr.com/cvx/, sier
.zip sau .tar.gz;
se dezarhiveaza ntr-un director dorit (diferit de directorul toolbox
al Matlab-ului);
2.2. Pachet CVX 43
se porneste Matlab-ul; se comut a directorul curent n directorul
unde am realizat dezarhivarea si se execut a n consol a comanda
cvx_setup.
Remarca 2.

In unele cazuri (de cele mai multe ori n Linux) este nevoie
de crearea sau modicarea sierului startup.m ce elimina necesitatea
ca utilizatorul sa introduc a comanda cvx_setup la ecare pornire a
Matlab-ului.
2.2.2 Elemente de baza
Dac a instalarea este realizata cu succes, ncepem prin a preciza ca
orice program CVX se scrie n interiorul unei funct ii Matlab. Pentru
a diferent ia cont inutul codului CVX de restul programului Matlab,
programele CVX se delimiteaz a cu comenzile cvx_begin si cvx_end.
Valorile variabilelor create n port iunea de cod Matlab se pot folosi ca
parametri n problemele de optimizare rezolvate cu CVX. La nceputul
oric arui program CVX se denesc variabilele de decizie si dimensiunile
acestora, e.g.:
m = 10; n = 8; A = randn(m,n); b = randn(m,1);
cvx_begin
variable x(n)
minimize( norm(A*x-b) )
cvx_end

In acest exemplu, variabila de decizie este vectorul x din R


n
, iar matricea
A si vectorul b reprezinta variabile Matlab ce sunt utilizate ca parametri
n cadrul CVX. Variabilele CVX se declara folosind comanda variable si
specicarea dimensiunii variabilei, nainte de a se utiliza n constr angeri
sau n expresia funct iei obiectiv. Sintaxa declararii unei variabile poate
una din urmatoarele forme:
variable x(10) variable Y(20,10) variable Z(5,5,5).
Sunt disponibile o varietate de opt iuni adit ionale pentru precizarea
structurii matriceale, n cazul n care variabila de decizie este de tip
matrice cu propriet at i speciale (simetrica, Toeplitz) e.g.:
variable Y(50,50) symmetric
variable Z(100,100) hermitian toeplitz.
44 Capitolul 2. Probleme de optimizare convexa
Pentru lista ntreag a a opt iunilor se poate consulta adresa:
http://cvxr.com/cvx/doc/basics.html.
Declararea funct iei obiectiv a problemei de optimizare necesit a precizarea
tipului de problem a (e.g. minimizare, maximizare) prin intermediul
cuvintelor cheie minimize si maximize, e.g.
minimize( norm( x, 1 ) )
maximize( geo_mean( x ) ).
Precizam ca este imperativ ca funct ia obiectiv sa e convexa cand folosim
minimize si concav a cand folosim maximize.

In caz contrar, pachetul
CVX va furniza un mesaj de eroare corespunz ator. Constrangerile
suportate de modelele CVX sunt cele de egalitate (liniare) impuse prin
operatorul == si de inegalitate impuse de operatorii <= si >=. Pentru
constrangeri de tip box (lant de inegalitat i) este disponibila sintaxa
l<=x<=u.
2.3 Probleme rezolvate de laborator
Exemplul 13. Sa se determine bila de raza maxima (i.e. centrul si
raza ei) din spat iul Euclidian bidimensional, ce poate nscris a ntr-un
poliedru descris de inegalitat i liniare (Fig. 2.5).
Rezolvare.

In cazul general, ind dat setul de inegalitat i liniare a
T
i
x b
i
,
formularea problemei n termeni de optimizare este dat a de:
max
xR
n
,rR
r
s.l.: a
T
i
x + r|a
i
|
2
b
i
i = 1, . . . , n,
unde r reprezinta raza bilei, iar x centrul acesteia. Aleg and datele
inegalitat ilor liniare, coordonatele centrului si raza bilei dorite sunt
generate de urmatoarea secvent a de program:
% Generare date de intrare
a1 = [ 2; 1]; a2 = [ 2; -1]; a3 = [-1; 2];
a4 = [-1; -2]; b = ones(4,1);
% Crearea si rezolvarea problemei de optimizare
cvx_begin
variable r(1)
2.3. Probleme rezolvate de laborator 45
1.5 1 0.5 0 0.5
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
x
1
x
2
Bila de raza maxima inscrisa intrun poliedru 2D
Figura 2.5: Bila de raza maxima nscris a ntr-un poliedru.
variable x_c(2)
maximize ( r )
a1*x_c + r*norm(a1,2) <= b(1);
a2*x_c + r*norm(a2,2) <= b(2);
a3*x_c + r*norm(a3,2) <= b(3);
a4*x_c + r*norm(a4,2) <= b(4);
cvx_end
% Generare figura
x = linspace(-2,2);
theta = 0:pi/100:2*pi;
plot( x, -x*a1(1)./a1(2) + b(1)./a1(2),b-);
hold on
plot( x, -x*a2(1)./a2(2) + b(2)./a2(2),b-);
plot( x, -x*a3(1)./a3(2) + b(3)./a3(2),b-);
plot( x, -x*a4(1)./a4(2) + b(4)./a4(2),b-);
plot( x_c(1) + r*cos(theta), x_c(2) + r*sin(theta), r);
plot(x_c(1),x_c(2),k+); xlabel(x_1); ylabel(x_2);
title(Bila de raza maxima inscrisa intr-un poliedru 2D);
axis([-1 1 -1 1]); axis equal;
Exemplul 14. Determinat i ltrul FIR cu cel mai apropriat
comportament de cel al unei funct ii de transfer date H
d
() (e.g. H
d
() =
e
jD
). Sa se realizeze proiectarea ltrului prin intermediul minimiz arii
erorii absolute maxime (n norma innit).
46 Capitolul 2. Probleme de optimizare convexa
Rezolvare. Formularea problemei precedente n termeni de optimizare
conduce la rezolvarea urmatoarei probleme:
min
H
max

[H() H
d
()[, (2.3)
unde H este funct ia raspunsului n frecvent a, iar variabila de decizie
are rolul raspunsului la impuls. O aproximare convenabila a problemei
anterioare presupune extragerea unui set nit m de frecvent e
i
, cu i =
1, . . . , m, si denirea unei matrice A:
A =
_

_
1 e
j
1
e
2j
1
. . . e
nj
1
1 e
j
2
e
2j
2
. . . e
nj
2
. . . . . . . . . . . .
1 e
jm
e
2jm
. . . e
njm
.
_

_
rezultand o aproximare a problemei (2.3), i.e.
min
xR
n
max
1im
[A
i
x H
d
(
i
)[, (2.4)
unde A
i
reprezinta linia i a matricei A.
Mai departe, prezentam secvent a de cod ce rezolv a problema de
optimizare (2.4) si determinam aproximarea optima a funct iei de transfer
H
d
() = e
jD
(reprezentata n Fig. 2.6):
0 5 10 15 20
0.2
0
0.2
0.4
0.6
0.8
1
1.2
n
h
(
n
)
Figura 2.6: Aproximarea optima n sens Chebyshev a funct iei de transfer
H
d
() = e
jD
.
n = 20; m = 15*n;
w = linspace(0,pi,m); % omega
% Construim un raspuns in frecventa dorit
2.3. Probleme rezolvate de laborator 47
D = 8.25; % valoare intarziere
Hdes = exp(-j*D*w); % raspuns in frecventa dorit
% Filtru Gaussian cu faza liniara (decomentati liniile
% de mai jos pentru proiectare)
% var = 0.05;
% Hdes = 1/(sqrt(2*pi*var))*exp(-(w-pi/2).^2/(2*var));
% Hdes = Hdes.*exp(-j*n/2*w);
% Rezolvam problema minimax de proiectare a filtrului
% A reprezinta matricea folosita la calculul
% raspunsului in frecventa
% A(w,:) = [1 exp(-j*w) exp(-j*2*w) ... exp(-j*n*w)]
A = exp( -j*kron(w,[0:n-1]) );
% formularea optimala a filtrului Chebyshev
cvx_begin
variable h(n,1)
minimize( max( abs( A*h - Hdes ) ) )
cvx_end
% verificam daca problema a fost rezolvata cu succes
disp([Problem is cvx_status])
if ~strfind(cvx_status,Solved)
h = [];
end
% Generam figurile aferente filtrului
figure(1); stem([0:n-1],h); xlabel(n); ylabel(h(n));
% figura raspunsului in frecventa
H = [exp(-j*kron(w,[0:n-1]))]*h;
figure(2)
% magnitudine
subplot(2,1,1);
plot(w,20*log10(abs(H)),w,20*log10(abs(Hdes)),--);
xlabel(w); ylabel(mag H in dB); axis([0 pi -30 10]);
legend(optimizat,dorit,Location,SouthEast)
% faza
48 Capitolul 2. Probleme de optimizare convexa
subplot(2,1,2); plot(w,angle(H));
axis([0,pi,-pi,pi]); xlabel(w), ylabel(faza H(w));
2.4 Probleme rezolvate de seminar
2.4.1 Mult imi si funct ii convexe
Problema 1. Fie mult imea S descris a de:
S = x R
n
: a
T
i
x = b
i
, c
T
j
x d
j
, i = 1, . . . , m, j = 1, . . . , p
= x R
n
: Ax = b, Cx d.
Sa se demonstreze ca mult imea este convexa (mult imile denite de
egalitat i si inegalitat i liniare, cum este cea din enunt , se numesc poliedre).
Rezolvare. Se arata ca pentru orice x
1
, x
2
S si [0, 1] rezulta x
1
+
(1 )x
2
S. Dac a x
1
, x
2
S atunci avem:
_
Ax
1
= b, Cx
1
d
Ax
2
= b, Cx
2
d.
Notand x

= x
1
+ (1 )x
2
, putem naliza demonstrat ia prin
urmatoarea observat ie:
Ax

= Ax
1
+ (1 )Ax
2
= b + (1 )b = b
Cx

= Cx
1
+ (1 )Cx
2
d + (1 )d = d.

In acest fel am demonstrat ca mult imea denita anterior este convexa.


Problema 2. Sa se demonstreze ca urmatoarele mult imi se pot deni
sub forma unor poliedre:
(i) S
1
= x R
n
: x 0, |x|
1
= 1
(ii) S
2
= x R
n
: |x|

1
(iii) S
3
= x R
n
: |x|
1
1.
2.4. Probleme rezolvate de seminar 49
Rezolvare. : (i)

In cazul mult imii S
1
observam urmatoarele echivalent e:
S
1
=
_
x R
n
: x 0,
n

i=1
x
i
= 1
_
=
_
x R
n
: x 0,
n

i=1
x
i
= 1
_
= x R
n
: I
n
x 0, [1 . . . 1]x = 1 ,
unde I
n
reprezinta matricea identitate de ordin n. Ultima formulare
denota forma poliedrala a mult imii S
1
.
(ii) De asemenea, n cazul mult imii S
2
, urmand acelasi rat ionament:
S
2
=
_
x R
n
: max
1in
[x
i
[ 1
_
= x R
n
: [x
i
[ 1, i = 1, . . . , n
= x R
n
: 1 x
i
1 i = 1, . . . , n
= x R
n
: x
i
1, x
i
1, i = 1, . . . , n
=
_

_
x R
n
:
_
I
n
I
n
_
x
_

_
1
.
.
.
1
_

_
_

_
,
obt inem o forma poliedrala.
(iii) Pentru a determina forma poliedrica a mult imii S
3
denim o mult ime
poliedrica auxiliar a:
Q =
_
[x
T
t
T
]
T
R
2n
:
n

i=1
t
i
= 1, [x
i
[ t
i
_
.
Mai departe, denim proiect ia unei mult imi poliedrice pe un subspat iu de
dimensiuni reduse si folosim aceasta not iune pentru a studia mult imea S
3
.
Denit ia 3. Fie mult imea P = x R
n
1
, y R
n
2
: Ax + By b,
unde A R
mn
1
, B R
mn
2
, b R
m
. Proiect ia mult imii P pe subspat iul
variabilelor x este dat a de:
P
x
= x R
n
1
: y R
n
2
, [x
T
y
T
]
T
P.
Proiect ia mult imii Q pe subspat iul variabilelor x conduce la urmatoarea
serie de echivalent e:
Q
x
= x R
n
: t R
n
a..
n

i=1
t
i
= 1, [x
i
[ t
i

= x R
n
:
n

i=1
[x
i
[ 1 = x R
n
: |x|
1
1 = S
3
.
50 Capitolul 2. Probleme de optimizare convexa
T in and cont ca proiect ia oric arei mult imi poliedrice este o mult ime polie-
dric a, concluzionam ca mult imea S
3
este de tip poliedric.
Problema 3. Fie mult imile:
(i) L
n
=
__
x
t
_
R
n+1
: |x| t
_
numit si con Lorentz sau con de
ordinul II;
(ii) o
n
+
= X o
n
: X _ 0 conul semidenit.
Sa se demonstreze ca mult imile precedente sunt conuri auto-duale.
Rezolvare: (i) Din denit ia conului dual avem:
L

n
= y R
n
: x, y 0 x L
n
.
Problema se reduce la a demonstra ca L

n
= L
n
, ceea ce este echivalent
cu satisfacerea simultan a a incluziunilor: L
n
L
n
si L
n
L
n
.
Ar at am acum prima incluziune. Fie y =
_
y
1
v
_
L

n
, atunci pentru
orice x =
_
x
1
t
_
L
n
avem:
x, y = y
T
1
x
1
+ vt 0. (2.5)
Stiind ca x L
n
atunci |x| t. R amane sa demonstram ca |y| v.
Din ipoteza ca (2.5) are loc pentru orice vector x L
n
, atunci inegalitatea
este satisfacuta, de asemenea, pentru un x ales. Aleg and x =
_
x
1
t
_
=
_

y
1
y
1

1
_
si nlocuind n (2.5) obt inem:

y
T
1
y
1
|y
1
|
+ v = |y
1
| + v 0,
din care rezulta prima incluziune.
Pentru a doua incluziune, e y =
_
y
1
v
_
L
n
, x =
_
x
1
t
_
L
n
. Din
inegalitatea Cauchy-Schwartz [x, y[ |x||y| rezulta:
y
T
1
x
1
+ vt > |y
1
||x
1
| + vt vt + vt = 0,
2.4. Probleme rezolvate de seminar 51
unde n a doua inegalitate am utilizat ipoteza ca x, y L
n
.

In concluzie,
pentru orice y L
n
avem ca y L

n
.
(ii)

In mod similar, ar at am prin dubla incluziune ca o
n
+
= o
n
+
. Fie Y
S
n
+
, atunci Tr(Y X) 0. Din urmatoarele relat ii:
x
T
Y x = Tr(x
T
Y x) = Tr(Y xx
T
) = Tr(Y X) 0,
se deduce Y S
n
+
. Pentru a doua incluziune, presupunem Y, X matrice
pozitiv semidenite. Remarc am urmatoarea relat ie:
Tr(Y X) = Tr(Y V
T
V ) = Tr(V Y V
T
) 0, (2.6)
n care am folosit descompunerea valorilor proprii corespunz atoare
matricei X si proprietatea de permutare a funct iei matriceale Tr().

In concluzie, Y S
n
+
datorita relat iei (2.6), de unde reiese a doua
incluziune.
Problema 4. Sa se demonstreze ca urmatoarele funct ii sunt convexe pe
mult imile specicate:
(i) f(x) = log x, domf = (0, ).
(ii) f(x) =
1
2
x
T
Qx + q
T
x + r, domf = R
n
, Q _ 0.
(iii) f(x, t) =
x
T
x
t
, domf = R
n
(0, ).
(iv) f(x) = |Ax b|, A R
mn
, domf = R
n
.
(v) f(X) = log det X, domf = o
n
++
.
Rezolvare: (i) Observam ca funct ia f(x) = log x satisface condit iile de
ordinul II ale convexitat ii:
f

(x) =
1
x
2
> 0 x > 0.
(ii) Hessiana funct iei f(x) =
1
2
x
T
Qx +q
T
x +r este dat a de
2
f(x) = Q.
Observam ca funct ia este convexa deoarece matricea Q _ 0 (este pozitiv
semidenita).
(iii)

In aceeasi manier a ar at am ca funct ia f(x, t) =
x
T
x
t
este convexa pe
domeniul R
n
(0, ]. Din denit ia Hessianei rezulta:

2
f(x) =
_
2
t
I
n

2x
t

2x
T
t
2
2x
T
x
t
3
_
,
unde cu I
n
am notat matricea identitate de ordin n. Pentru a determina
dac a funct iandeplineste condit iile de ordinul II ale convexitat ii observam
52 Capitolul 2. Probleme de optimizare convexa
ca:
[u
T
v
T
]
2
f(x)
_
u
u
_
= [u
T
v
T
]
_
2
t
u
2xv
t
2

2x
T
u
t
2
+
2x
T
xv
t
3
_
=
2
t
u
T
u
2u
T
xv
t
2

2x
T
uv
t
2
+
2x
T
xv
2
t
3
=
2
t
3
_
t
2
u
T
u 2tu
T
xv + x
T
xv
2
_
=
2
t
3
|tu xv|
2
.
T in and cont de domeniul de denit ie al funct iei, remarc am ca pentru
orice vector
_
u
v
_
, termenul drept din ultima egalitate este pozitiv. De
aici este evidenta proprietatea de pozitiv denire a matricei Hessiane
corespunz atoare funct iei.
(iv) Deoarece funct ia || este nediferent iabil a n punctul 0, observam ca
funct ia f(x) = |Ax b| nu este diferent iabila n punctele x ce satisfac
Ax = b. Fie dou a puncte din mult imea domf pentru care f(x
1
) =
|Ax
1
b|, f(x
2
) = |Ax
2
b|. Pentru a ar ata convexitatea funct iei f,
not am x

= x
1
+ (1 )x
2
si deducem sirul de relat ii:
f(x

) = f(x
1
+ (1 )x
2
)
= |A(x
1
+ (1 )x
2
) b|
|(Ax
1
b)| +|(1 )(Ax
2
b)|
= |Ax
1
b| + (1 )|Ax
2
b|
= f(x
1
) + (1 )f(x
2
).
(v) Fie funct ia f(X) = log det X, X o
n
++
. Ar at am convexitatea lui
f prin intermediul reducerii domeniului acesteia la o dreapt a. Mai exact,
folosim urmatoarea proprietate a funct iilor convexe: f este convexa
dac a funct ia scalara ce se obt ine din restrict ionarea la o dreapt a este de
asemenea convexa (conform Remarca 1). Revenind la funct ia matriceal a,
consider am matricele X o
n
++
, D o
n
si ar at am ca funct ia scalara
g(t) = f(X + tD) este convexa, observand urmatoarele egalitat i:
g(t) = log det(X + tD)
= log det(X
1/2
X
1/2
+ tD)
= log det
_
X
1/2
_
I
n
+ tX
1/2
DX
1/2
_
X
1/2
_
2.4. Probleme rezolvate de seminar 53
= log
_
det X
1/2
det
_
I
n
+ tX
1/2
DX
1/2
_
det X
1/2
_
= log
_
det X det
_
I
n
+ tX
1/2
DX
1/2
__
= log det X log det
_
I
n
+ tX
1/2
DX
1/2
_
.
Pe de alta parte, stiind ca pentru orice matrice A o
n
, cu spectrul
(A) =
1
, . . . ,
n
, transformarea B = I
n
+ tA, t R, modica
spectrul astfel ncat (B) = 1+t
1
, . . . , 1+t
n
si det B =
n

i=1
(1+t
i
).
Pentru a aplica aceasta proprietate n sirul de relat ii precedent, not am
Z = X
1/2
DX
1/2
av and spectrul (Z) =
1
, . . . ,
n
. Rescriind g(t),
rezulta:
g(t) = log det X log
n

i=1
(1 + t
i
)
= log det X
n

i=1
log(1 + t
i
).
Mai departe, observam ca funct ia h(t) = log(1 + tu) din component a
celei anterioare, este convexa, deoarece cea de-a dou a derivat a satisface:
h

(t) =
u
(1 + tu)
2
0 u R.
Stiind ca funct ia denita de o suma de funct ii convexe este convexa,
ajungem la concluzia ca g(t) este convexa n t. Deci, f(X) este convexa.
Problema 5. Fie funct ia f : R
n
R. Sa se determine funct ia conjugat a
f

(y) pentru urmatoarele exemple:


(i) f(x) = e
x
(ii) f(x) = xlog x
(iii)f(x) =
1
2
x
T
Qx, Q 0 (iv) f(x) = log
n

i=1
e
x
i
.
Rezolvare. Denim funct ia conjugat a corespunz atoare funct iei f:
f

(y) = max
xdomf
y, x f(x).

In primele dou a cazuri monovariabile (i) si (ii), observam ca funct ia


obiectiv a problemei de maximizare este concav a pe domeniul funct iei
54 Capitolul 2. Probleme de optimizare convexa
f, de aceea condit iile de optimalitate de ordinul I conduc la urmatoarele
expresii:
(i) f

(y) = y log y y, (ii) f

(y) = e
y1
.
(iii)

In acest caz, conjugata funct iei f are forma f

(y) = max
xR
n
y
T
x
1
2
x
T
Qx. Datorita propriet at ii de convexitate, observam ca solut ia
problemei de optimizare este dat a de x

= Q
1
y.

Inlocuind n expresia
funct iei conjugate rezulta f

(y) = y
T
Q
1
y
1
2
y
T
Q
1
y =
1
2
y
T
Q
1
y.
(iv) Condit iile necesare de optimalitate de ordinul I corespunz atoare
problemei de maximizare max
xR
n
y, x log
n

i=1
e
x
i
se reduc la urmatoarele
relat ii:
e
x

i
n

i=1
e
x

i
= y
i
, i = 1, . . . , n. (2.7)
Observam ca relat ia (2.7) este satisfacuta si funct ia f

(y) ia valori nite


numai n cazul n care argumentul funct iei conjugate satisface
n

i=1
y
i
=
1, y 0. Presupun and ca argumentul y satisface cele dou a condit ii, avem
x

i
= log
n

i=1
e
x

i
+ log y
i
pentru orice i = 1, . . . , n. Substituind n expresia
funct iei conjugate rezulta:
y, x

log
n

i=1
e
x

i
=
n

i=1
y
i
_
log
n

i=1
e
x

i
+ log y
i
_
log
n

i=1
e
x

i
=
n

i=1
y
i
log y
i
+ log
n

i=1
e
x

i
_
n

i=1
y
i
1
_
=
n

i=1
y
i
log y
i
.

In concluzie, funct ia conjugat a f

(y) este denita de:


f

(y) =
_
_
_
n

i=1
y
i
log y
i
, dac a
n

i=1
y
i
= 1, y 0,
, altfel.
2.4. Probleme rezolvate de seminar 55
Problema 6. Sa se demonstreze ca urmatoarea problem a de optimizare
este convexa:
min
xR
2
f(x) = x
1
2
+ x
2
2
s.l.: g
1
(x) =
x
1
1 + x
2
2
0, g
2
(x) = e
x
1
+x
2
1 0
h(x) = (x
1
x
2
1)
2
= 0.
Rezolvare. Pentru a ar ata convexitatea problemei din enunt :
min
xR
2
f(x)
s.l.: g
1
(x) 0, g
2
(x) 0, h(x) = 0.
este sucient sa demonstr am convexitatea funct iilor f, g
1
si g
2
, si
liniaritatea funct iei h. Observam ca Hessiana funct iei f are forma
explicita
2
f(x) = I
2
0, unde I
2
este matricea identitate de ordinul II.
Deci, funct ia f este convexa deoarece satisface condit ia de convexitate de
ordinul II.

In cazul funct iei g
1
, distingem faptul ca inegalitatea
x
1
1+x
2
2
0
este satisfacuta doar n cazul n care x
1
0.

In concluzie, constr angerea
g
1
(x) 0 este echivalenta cu o constrangere liniar a (si deci convex a)
x
1
0. Pentru inegalitate g
2
(x) 0, observam ca este echivalenta
cu x
1
+ x
2
0, i.e. este si aceasta echivalenta cu o constr angere
liniar a. Similar, pentru egalitatea denita de funct ia h, gasim urmatoarea
echivalent a ntre mult imi:
x R
2
: h(x) = 0 = x R
2
: x
1
x
2
= 1,
rezultand o funct ie liniar a n x.

In nal, putem rescrie problema sub
forma unui QP convex:
min
xR
2
x
1
2
+ x
2
2
s.l.: x
1
0, x
1
+ x
2
0, x
1
x
2
= 1.
Problema 7. Sa se demonstreze ca urmatoarea problem a de optimizare
este convexa:
min
xR
2
f(x) (= log(a
T
x b))
s.l.: g
1
(x) = e
x
T
x
e 0, g
2
(x) = (c
T
x d)
2
1 0
h(x) = (x
1
+ 2x
2
)
4
= 0.
56 Capitolul 2. Probleme de optimizare convexa
Rezolvare. Pentru a demonstra ca o problem a de optimizare este convexa,
trebuie sa demonstram ca funct ia obiectiv este convexa si mult imea
fezabila denita de constrangeri este convexa. Pentru funct ia f(x) =
log(a
T
x b) deducem expresia gradientului si a Hessianei:
f(x) =
1
a
T
x b
a,
2
f(x) =
1
(a
T
x b)
2
aa
T
unde avem desigur ca (a
T
x b)
2
> 0. Dac a not am y = a
T
x, observam
ca:
x
T
aa
T
x = y
T
y = |y|
2
2
0,
deci matricea aa
T
este pozitiv semidenita. Drept rezultat,
2
f(x) _ 0
peste ntregul dom f = x R
n
: a
T
x b > 0, i.e. satisface
condit iile de convexitate de ordin II si deci funct ia obiectiv este convexa.
Pentru a ar ata ca mult imea constrangerilor este convexa, este sucient sa
ar at am ca funct iile din constrangerile de egalitate sunt liniare, iar cele din
constrangerile de inegalitate sunt convexe. Observam ca constr angerea
h(x) = 0 este echivalenta cu egalitatea x
1
+ 2x
2
= 0, a carei funct ie este
liniar a. Pentru g
1
(x) 0, observam ca este echivalenta cu x
T
x 1 0.
Funct ia x
T
x 1 este o funct ie patratic a, diferent iabila de dou a ori, cu
Hessiana 2I
2
0, deci satisface condit iile de convexitate de ordin II si
este implicit convexa. Constr angerea g
2
(x) 0 este echivalenta cu:
1 (c
T
x d) 1
_
c
T
x d 1
c
T
x + d 1

_
c
T
c
T
_
x +
_
d
d
_

_
1
1
_
,
deci aceasta se reduce la o constrangere de inegalitate unde funct ia este
liniar a si implicit convexa.
Problema 8. Sa se determine problema convexa de programare semide-
nita ce aproximeaza urmatoarea problem a neconvexa:
max
xR
n
x
T
A
T
Ax
s.l.: |x|
2
1,
unde A R
mn
si |x|
2
=
_
n

i=1
x
2
i
.
2.5. Probleme propuse 57
Rezolvare. Reamintim ca pentru orice Q R
nn
si x R
n
, funct ia
Tr(Q) satisface relat ia: Tr(x
T
Qx) = Tr(Qxx
T
). Pe baza acestei relat ii,
problema precedenta se scrie sub urmatoarea forma echivalenta:
max
XR
nn
Tr
_
A
T
AX
_
s.l.: rang(X) = 1, Tr(X) = 1.
Se obt ine relaxarea convexa prin renunt area la constrangerea de egalitate
neliniara rang(X) = 1.

In concluzie, avem urmatoarea aproximare
convexa a problemei de optimizare originala:
max
XR
nn
Tr
_
A
T
AX
_
s.l.: Tr(X) = 1.
2.5 Probleme propuse
Problema 1. Sa se determine care dintre urmatoarele funct ii sunt
convexe, concave sau niciuna dintre cele dou a variante. Sa se
argumenteze rezultatele obt inute.
(i) f(x
1
, x
2
) = 2x
2
1
4x
1
x
2
8x
1
+ 3x
2
,
(ii) f(x
1
, x
2
) = x
1
e
(x
1
+3x
2
)
,
(iii) f(x
1
, x
2
) = x
2
1
3x
2
2
+ 4x
1
x
2
+ 10x
1
10x
2
,
(iv) f(x
1
, x
2
, x
3
) = 2x
1
x
2
+ 2x
2
1
+ x
2
2
+ 2x
2
3
5x
1
x
3
,
(v) f(x
1
, x
2
, x
3
) = 2x
2
1
3x
2
2
2x
2
3
+ 8x
1
x
2
+ 3x
1
x
3
+ 4x
2
x
3
.
Problema 2. Sa se determine submult imea din x R : x > 0 pe care
funct ia f(x) = e
ax
b
este convexa. Parametrii a, b satisfac a > 0, b 1.
Problema 3. Sa se determine n domeniul axei reale n care funct ia
f(x) = x
2
(x
2
1) este convexa.
Problema 4. Fie funct iile convexe f
1
, . . . , f
m
: R
n
R. Sa se
demonstreze ca urmatoarele compuneri ale acestora sunt convexe:
58 Capitolul 2. Probleme de optimizare convexa
(i) g(x) =
m

i=1

i
f
i
(x),
i
> 0,
(ii) h(x) = maxf
1
(x), . . . , f
m
(x).
Problema 5. Fie mult imea K = x R
n
: x 0. Sa se demonstreze
ca mult imea K este un con si sa se determine conul dual corespunz ator.
Problema 6. Sa se demonstreze ca funct ia f(x) =
r

i=1

i
x
[i]
este convexa
n x, unde
1

r
0, iar x
[n]
reprezinta a n-a cea mai mare
componenta din vectorul x.
Problema 7. Determinat i funct iile conjugate corespunz atoare funct iilor:
(i) f(x) = max
1in
x
i
cu domeniul R
n
;
(ii) f(x) = x
p
cu domeniul R
++
, unde p > 1. Comentat i cazul n care
p < 0.
(iii) f(x) =
_

i=1
x
i
_
1/n
cu domeniul R
n
++
;
(iv) f(x, t) = log(t
2
x
T
x) cu domeniul (x, t) R
n
R : |x|
2
t.
Problema 8. Sa se demonstreze ca funct ia:
f(x) =
1
x
1

1
x
2

1
x
3

1
x
4
,
denita pe domeniul n care tot i numitorii sunt pozitivi, este convexa si
strict descrescatoare. (Cazul cand n = 4 nu prezinta nicio particularitate,
caracteristicile funct iei se ment in si pentru cazul general n oarecare.)
Problema 9. Presupunem ca funct ia f este convexa, iar
1
> 0,
i
0
pentru i = 2, . . . , n si
n

i=1

i
= 1. Fie punctele x
1
, . . . , x
n
domf. Sa se
demonstreze ca are loc inegalitatea:
f(
1
x
1
+ +
n
x
n
)
1
f(x
1
) + +
n
f(x
n
).
2.5. Probleme propuse 59
Problema 10. Sa se arate ca o funct ie f : R R este convexa dac a si
numai dac a domeniul domf este convex si
det
_
_
1 1 1
x y z
f(x) f(y) f(z)
_
_
0,
pentru orice x, y, z domf si x < y < z.
Problema 11. Sa se arate ca maximul unei funct ii convexe peste
poliedrul T = conv v
1
, . . . , v
k
este atins ntr-unul dintre v arfurile
poliedrului, i.e.,
sup
xP
f(x) = max
i=1,...,k
f(v
i
).
Indiciu: Se presupune ca armat ia este falsa si se utilizeaz a inegalitatea
lui Jensen.
Problema 12. Fie o funct ie convexa f si o funct ie g denit a dup a cum
urmeaza:
g(x) = min
>0
f(x)

.
(i) Sa se demonstreze ca funct ia g este omogena, i.e. g(tx) = tg(x)
pentru orice t 0.
(ii) Sa se demonstreze ca dac a o funct ie h este omogena si h(x) f(x)
pentru orice x, atunci avem h(x) g(x) pentru orice x.
(iii) Sa se demonstreze ca funct ia g denita anterior este convexa.
Problema 13. Fie funct ia omogena f : R
n
R, i.e. f(tx) = tf(x)
pentru orice t 0 si x R
n
. O funct ie omogena se numeste subaditiv a
dac a satisface, n plus, urmatoarea relat ie:
f(x) + f(y) f(x + y).
Sa se demonstreze ca, pentru funct iile omogene, subaditivitatea este
echivalenta cu convexitatea.
Problema 14. Fie o mult ime S nevida, m arginit a si convexa n R
n
si o
funct ie f denita de:
f(x) = max
yS
y
T
x.
Funct ia f se numeste funct ia suport a mult imii S.
60 Capitolul 2. Probleme de optimizare convexa
(i) Sa se arate ca funct ia f este omogena si convexa.
(i) Sa se determine explicit funct ia suport pentru mult imile S denite
de
S = x R
n
: |Ax|
p
1 p = 1, 2, ,
unde matricea A este inversabil a.
Problema 15. Fie funct ia convexa f : R
n
R. Denim proprietatea
de convexitate tare, enumer and condit iile de ordin 0, I si II (ce depind
de gradul de diferent iabilitate al funct iei), ntr-un mod similar cu cele
corespunz atoare cazului convex. Pentru > 0, funct ia f se numeste
tare convexa n raport cu norma-p dac a:
(Condit ii de ordinul 0) funct ia f satisface urmatoarea inegalitate
pentru orice x, y R
n
:
f(x + (1 )y) f(x) + (1 )f(y)
(1 )
2
|x y|
2
p
.
(Condit ii de ordinul I) funct ia f este diferent iabila si satisface
urmatoarea inegalitate pentru orice x, y R
n
:
f(y) f(x) +f(x), y x +

2
|x y|
2
p
.
(Condit ii de ordinul II) funct ia f este diferent iabila de dou a ori si
satisface urmatoarea inegalitate pentru orice x R
n
:
x
T

2
f(x)x |x|
2
p
,
unde |x|
p
=
_
n

i=1
x
p
i
_1
p
, 1 p .
Sa se demonstreze ca:
(i) Pentru norma 2, condit iile de ordin I implica condit iile de ordin 0,
i.e. dac a funct ia f satisface condit iile de ordin I atunci ea satisface
si condit iile de ordin 0.
(ii) Pentru norma 2, orice funct ie diferent iabila o dat a si tare
convexa satisface relat ia:
f(x) f(y), x y |x y|
2
2
.
2.5. Probleme propuse 61
(iii) Funct ia g(x) =
1
2
|x|
2
2
este 1-tare convexa n raport cu norma ||
2
.
(iv) Funct ia g(x) =
1
2
|x|
2
p
este (p 1)-tare convexa n raport cu norma
||
p
, pentru p > 1.
(v) Funct ia g(x) = log n
n

i=1
x
i
log x
i
este 1-tare convexa n raport cu
norma ||
1
pe domeniul x R
n
+
: |x|
1
1.
Problema 16. Fie funct ia f denita de:
f(y, t) = max
xR
n
y, x
t
2
|x|
2
.
Determinat i domeniul funct iei f si ar atat i ca expresia acesteia se rescrie
n urmatoarea forma:
f(y, t) =
_
0, dac a y = 0, t = 0
y
2
2t
, dac a t > 0.
.
Problema 17. Sa se demonstreze ca pentru o matrice simetric a si pozitiv
denita Q R
nn
si doi vectori u, v R
n
are loc urmatoarea inegalitate:
[u
T
v[ u
T
Quv
T
Q
1
v.
Problema 18. Fie matricele E, H si F de dimensiuni compatibile si
F
T
F _ I. Sa demonstreze ca pentru orice > 0, avem
EFH + H
T
F
T
E
T
_ EE
T
+
1

H
T
H.
Indiciu: Se foloseste inegalitatea (E
T
FH)
T
(E
T
FH) _ 0.
Problema 19. Fie matricea simetrica M de forma:
M =
_
A B
B
T
C
_
,
n care matricea C este inversabil a. Se numeste complementul Schur al
lui M, matricea S = A BC
1
B
T
. Un rezultat des folosit n teoria
matriceala precizeaza ca urmatoarele relat ii sunt echivalente:
(i) M _ 0 (M este pozitiv semidenita);
62 Capitolul 2. Probleme de optimizare convexa
(ii) A _ 0, (I AA

)B = 0, C B
T
A

B _ 0;
(iii) C _ 0, (I CC

)B = 0, AB
T
C

B _ 0,
unde cu A

am notat pseudo-inversa matricei A. Mai mult, dac a M 0


obt inem un caz particular al echivalent elor:
(i) M 0 (M este pozitiv denita);
(ii) A 0, C B
T
A
1
B _ 0;
(iii) C 0, AB
T
C
1
B _ 0.
Evident iem, mai departe, un exemplu de aplicat ie al acestui rezultat. Fie
funct ia f : R
n
o
n
++
R denita de:
f(x, Y ) = x
T
Y
1
x.
Sa se demonstreze ca f este convexa folosind propriet at ile
complementului Schur.
Capitolul 3
Metode de ordinul I
3.1 Preliminarii

In acest capitol abord am probleme neliniare de optimizare neconstr ans a


(unconstrained nonlinear programming - UNLP):
(UNLP) : min
xR
n
f(x), (3.1)
unde funct ia obiectiv f este de dou a ori diferent iabila. Conform
condit iilor de optimalitate necesare pentru problema (3.1), orice punct de
minim local pentru problema (UNLP), x

, satisface urmatoarele relat ii:


f(x

) = 0,
2
f(x

)0.

In plus, dac a pentru un punct y

domf avem f(y

) = 0 si
2
f(y

)
0, atunci y

este punct de minim local strict pentru problema (UNLP)


dat a n (3.1).
Condit iile de optimalitate joac a un rol fundamental n dezvoltarea
algoritmilor ecient i din domeniul optimizarii (vezi [1, 2]).

In particular,
condit iile de ordinul I stau la baza unei clase relativ largi de metode de
ordin I (metode ce folosesc evaluarea funct iei si informat ie de gradient).

In cazul convex, gasirea unui punct ce satisface condit iile de optimalitate


necesare este echivalenta cu rezolvarea problemei de optimizare originale
(deoarece condit iile de ordinul I sunt suciente). Acest argument
furnizeaz a o imagine clar a asupra facilit at ilor optimizarii convexe fat a
de cazurile neconvexe, unde pentru gasirea unui punct minim/maxim
local este necesara rezolvarea condit iilor de ordinul I si de ordin II. Asa
cum se observa din experimentele numerice, desi algoritmii de ordinul
64 Capitolul 3. Metode de ordinul I
I prezinta o complexitate a iterat iei foarte sc azuta (n comparat ie cu
cei de ordin II) si o convergent a accelerata n regiunile ndep artate de
punctul de optim, atunci cand algoritmul intr a n vecin atatea punctului
de optim, viteza acestora scade considerabil. De aceea, gasirea unui
punct de optim cu o acuratet e mare este un proces dicil pentru
metodele de ordin I.

In cazul problemelor de dimensiuni foarte mari,
cand nu este necesara aarea punctului de optim cu o acuratet e ridicat a,
recomandarea principala pentru rezolvarea acestora sunt algoritmii de
ordin I datorita complexitat ii reduse a iterat iilor acestora.

In continuare,
prezentam principalele metode de ordin I si exemple de funct ionare ale
acestora.
3.2 Probleme rezolvate de laborator
3.2.1 Metoda Gradient
Metoda gradient se aa printre primele si cele mai simple metode
dezvoltate n scopul determinarii unui punct critic aat pe o anumit a
curba (Cauchy, 1847).

In principiu, metoda gradient reprezinta un
algoritm de ordin I care genereaz a un sir de puncte (vectori) x
1
, x
2
, . . . ,
pornind dintr-un punct init ial ales. Structura esent iala a metodei
gradient este enunt at a n continuare:
Metoda Gradient
1. Se alege punctul init ial x
0
, k := 0.
2. Se determina pasul
k
si se actualizeaza x
k+1
= x
k

k
f(x
k
).
3. Dac a criteriul de oprire nu este satisfacut, atunci se incrementeaza
k := k + 1 si se reia pasul 2,
unde f(x) reprezinta gradientul funct iei f n punctul x. Pentru alegerea
pasului
k
avem mai multe opt iuni:
(i) Alegerea ideala a pasului
k
la ecare iterat ie presupune ca funct ia
scalara () = f(x
k
f(x
k
)) sa descreasca cat mai mult posibil, i.e:

k
= arg min
>0
(),
numita si problema de line search.
(ii) Deseori, n funct ie de f, minimizarea lui () poate foarte dicil a.

In acest caz,
k
poate gasit prin diversi algoritmi mai simpli de
3.2. Probleme rezolvate de laborator 65
cautare, ce includ condit ii necesare asupra pasului pentru asigurarea unei
descresteri suciente a funct iei. Condit iile Wolfe reprezinta un exemplu
elocvent pentru aceasta strategie de line-search:
1. Se aleg dou a constante c
1
si c
2
ce satisfac 0 < c
1
< c
2
< 1
2. Se determina
k
> 0 astfel ncat:
f(x
k

k
f(x
k
)) f(x
k
) c
1

k
f(x
k
)
T
f(x
k
) (3.2)
f(x
k
)
T
f(x
k

k
f(x
k
)) c
2
f(x
k
)
T
f(x
k
). (3.3)
(iii) Un caz particular des utilizat n practic a este metoda backtracking
ce ajusteaza dimensiunea pasului
k
pentru ca prima relat ie Wolfe (3.2)
sa e satisfacuta; metoda presupune alegerea unui parametru (0, 1]
si actualizarea dimensiunii pasului, dup a cum urmeaza:
1. Se alege
0
> 0, (0, 1];
2. Cat timp
k
nu satisface prima condit ie Wolfe (3.2) iter am :
2.1.
k+1
=
k
; k = k + 1.
(iv) Pentru funct iile cu gradient continuun sens Lipschitz cu o constanta
L > 0, putem alege pasul
k
constant la ecare iterat ie. Dac a aplic am
iterat ia metodei gradient, din condit ia continuitat ii funct iilor cu gradient
Lipschitz avem:
f(x
k+1
) f(x
k
)
k
(1
L
2

k
) |f(x
k
)|
2
,
rezultand ca trebuie sa select am
k
(0,
2
L
), iar pentru o descrestere
optima a funct iei, la ecare iterat ie alegem
k
=
1
L
.

In exemplul urmator vom implementa metoda gradient pentru prima si


a treia dintre opt iunile alegerii pasului
k
, unde criteriul de oprire va
impus de sc aderea termenului |f(x
k
)| sub o precizie dat a.
Exemplul 15. Fie funct ia f(x) = (x
1
2)
4
+ (x
1
2x
2
)
2
. Sa se
implementeze metoda gradient pentru rezolvarea problemei:
min
xR
n
f(x), (3.4)
n varianta cu pas ideal si cea cu pas ales prin metoda de backtracking.
66 Capitolul 3. Metode de ordinul I
Rezolvare. Pentru nceput, vom avea nevoie de dou a funct ii:
f=feval_obj(x), g=gradient_obj(x)
care sa returneze valoarea funct iei intr-un punct x, respectiv gradientul
funct iei n acel punct. Din moment ce vom cauta pasul ideal la ecare
iterat ie a metodei gradient, va necesara o funct ie ce returneaz a valoarea
funct iei () = f(x + d):
function f=phi_obj(alpha,x,d)
f=feval_obj(x+alpha*d);
end
Pentru gasirea pasului ideal la ecare iterat ie, vom utiliza funct ia
fminsearch. Vom porni de la un punct init ial x
0
, iar condit ia de
oprire a algoritmului va presupune ca norma gradientului sa e sub o
anumita tolerant a impusa eps. Implementarea algoritmului este dat a de
urmatoarea secvent a de cod:
function xmin=gradient_method(x0,eps)
% Initializam vectori/matrice pentru
% memorarea gradientilor, a punctelor x
% generate de algoritm, etc
puncte_gradient=[]; puncte_iteratie=[];
valori_functie=[]; norme_gradienti=[];
%vom utiliza un vector g pentru a stoca gradientul curent
x=x0; g=gradient_obj(x);
while(norm(g)>eps)
g=gradient_obj(x); puncte_gradient=[puncte_gradient g];
puncte_iteratie=[puncte_iteratie x];
valori_functie=[valori_functie; feval_obj(x)];
norme_gradienti=[norme_gradienti; norm(g)];
alpha=fminsearch(@(alpha) phi_obj(alpha,x,-g).1);
x=x-alpha*g
end
xmin=x;
%Pentru afisarea grafica a rezultatelor,
%avem urmatoarele instructiuni
t=1:length(valori_functie);
figure(1)
hold on
3.2. Probleme rezolvate de laborator 67
plot(t,norme_gradienti(t),k,LineWidth,2);
hold off
figure(2)
hold on
plot(t,valori_functie(t),k,LineWidth,2);
hold off
%Pentru trasarea liniilor de contur si evolutia
%metodei gradient, avem urmatoarele
%instructiuni
[x1,x2]=meshgrid([1.2:0.01:2.8],[0.4:0.01:1.6]);
z=(x1-2).^4+(x1-2.*x2).^2;
figure(3)
hold on
contour(x1,x2,z,valori_functie);
plot3(puncte_iteratie(1,:),puncte_iteratie(2,:),...
valori_functie,r);
scatter3(puncte_iteratie(1,:),puncte_iteratie(2,:),...
valori_functie,filled);
hold off
1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8
0.4
0.6
0.8
1
1.2
1.4
1.6
x
1
x
2
Figura 3.1: Convergent a metodei gradient cu pas ideal.
Apelarea funct iei precedente se face n linia de comanda din Matlab, e.g.:
xmin=gradient_method([1.4;0.5],0.0001)
Pentru varianta metodei gradient cu pasul determinat de metoda de
backtracking, se poate nlocui n cod funct ia fminsearch cu urmatoarea
secvent a de cod:
68 Capitolul 3. Metode de ordinul I
function alpha=backtrack_alpha(x,d)
alpha=1; t1=0.9; t2=0.2;
g=gradient_obj(x);
%Va trebui satisfacuta conditia Armijo:
while(feval_obj(x+alpha*d)>feval_obj(x)+t1*alpha*g*d)
alpha=alpha*t2;
end
care va apelat a cu d = g = f(x).

In Fig. 3.1 se observa caracteristica elocventa a metodei gradient care


a fost precizata n sect iunile anterioare, si anume decelerarea ratei de
convergent a pe m asura ce algoritmul se apropie de punctul de optim.

In plus, Fig. 3.2 reda rezultatele grace comparative ale convergent ei


metodei gradient cand criteriul de oprire este de forma f(x
k
) f

sau
|f(x
k
)|. Observam ca desi criteriul f(x
k
) f

reecta mult mai bine


acuratet ea punctului curent, acesta este rar folosit n practic a, deoarece
valoarea optima nu se cunoaste a priori.
0 10 20 30 40 50 60
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
k
f(x
k
)f
*
0 10 20 30 40 50 60
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
k
|| f(x
k
) ||
Figura 3.2: Comparat ia convergent ei variantelor metodei gradient (cu
criteriul f(x
k
) f

n prima gura si cu criteriul |f(x


k
)| n a doua),
pentru pas ideal (linie continua) si pas obt inut prin backtracking (linie
punctata).

In exemplul urmator, vom implementa metoda gradient cu pas constant


pentru o funct ie patratic a cu gradient Lipschitz, pentru care L =

max
(Q).
Exemplul 16. Fie funct ia patratic a:
f(x) =
1
2
x
T
_
_
2.04 2.8 3.3;
2.8 6 4
3.3 4 17.25
_
_
x + [1 1 2]x
3.2. Probleme rezolvate de laborator 69
Figura 3.3: Progresul metodei gradient pornind dintr-un punct init ial ales
aleatoriu, spre punctul de optim.
Sa se implementeze metoda gradient pentru rezolvarea problemei:
min
xR
3
f(x).
Rezolvare. Implementarea metodei gradient din cerint a precedenta este
dat a de urmatoarea secvent a de cod:
function [x,f,iter]=gradient(eps)
Q=[2.04 -2.8 3.3;...
-2.8 6 -4;...
3.3 -4 17.25];
q=[1;-1;-2];
L=max(eig(Q)); x=rand(3,1);
grad=Q*x+q;
f_new=0.5*x*Q*x+q*x; f_old=f_new+1; iter=0;
while ((f_old-f_new)>eps)
f_old=f_new; x=x-(1/L)*grad;
grad=Q*x+q; f_new=0.5*x*Q*x+q*x;
iter=iter+1;
end
f=f_new;
end
Sa se rezolve sistemul Qx = q si sa se compare solut ia acestuia cu cea
a problemei anterioare. Sa se comenteze observat iile facute.
70 Capitolul 3. Metode de ordinul I
3.2.2 Metoda gradient ilor conjugat i
Metoda gradient ilor conjugat i face parte, de asemenea, din clasa
metodelor de optimizare de ordinul I si reprezinta o metoda iterativ a
cu perfor-
mant e deosebiten rezolvarea problemelor patratice. A fost dezvoltat a de
catre Hestenes si Stiefel n 1951, n scopul rezolv arii sistemelor de ecuat ii
liniare de mari dimensiuni. Deoarece orice problem a de rezolvare a unui
sistem de ecuat ii liniare/neliniare se poate transforma ntr-o problem a
de optimizare patratic a, metoda gradient ilor conjugat i este considerata
o metoda de optimizare. Vom observa ca iterat ia are aproximativ
aceeasi complexitate ca si cea a metodei gradient, nsa foloseste un alt
rat ionament pentru a converge la punctul de optim.
Metoda gradient ilor conjugat i
1. Se alege
0
> 0, x
0
si se calculeaza d
0
= f(x
0
).
2. Se actualizeaza sirurile x
k+1
= x
k
+
k
d
k
si d
k+1
= r
k+1
+
k
d
k
.
3. Dac a criteriul de oprire nu este satisfacut, atunci se incrementeaza
k = k + 1 si se reia pasul 2,
unde f(x) reprezinta gradientul funct iei f n punctul x, iar r
k
=
f(x
k
). Parametrii
k
si
k
sunt denitorii pentru metoda direct iilor
conjugate, variantele de alegere a acestora reprezentand elemente
fundamentale ale dezvoltarii de noi metode de direct ii (gradient i)
conjugate (conjugat i). Cea mai des folosita varianta a metodei de direct ii
conjugate pentru funct ii patratice este dat a de

k
=
r
T
k
d
k
d
T
k

2
f(x
k
)d
k
,
k
=
r
T
k+1

2
(fx
k
)d
k
d
T
k

2
f(x
k
)d
k
Exemplul 17. Sa se determine punctul de optim si valoarea optima a
funct iei patratice f : R
2
R denita de:
f(x) = 4.5x
2
1
+ 5x
2
2
+ 3x
1
x
2
2x
1
x
2
,
utiliz and metoda gradient ilor conjugat i cu punctul init ial x
0
= [0 0]
T
.
Rezolvare. Rescriem funct ia f n forma matriceala:
f(x) =
1
2
x
T
Qx + q
T
x,
3.2. Probleme rezolvate de laborator 71
unde Q =
_
9 3
3 10
_
, q
T
=
_
2 1

. Cunoastem ca pentru a rezolva


probleme patratice de dimensiune n cu ajutorul metodei gradient ilor
conjugat i sunt necesare n iterat ii ale acestei metode. De aceea, problema
din enunt poate rezolvat a n dou a iterat ii de aceasta metoda. Avand
la dispozit ie gradientul f(x
0
) si direct ia d
0
, putem calcula:

0
=
f(x
0
)
T
d
0
d
T
0
Qd
0
.
Prima iterat ie din sirul x
k
al metodei de gradient i conjugat i se calculeaza
pe baza informat iei acumulate pana n momentul k = 1:
x
1
= x
0
+
0
d
0
.
La a doua si ultima iterat ie, pentru calculul lui x
2
avem nevoie de direct ia
d
1
= f(x
1
) +
0
d
0
, unde
0
=
f(x
1
)
T
Qd
0
d
T
0
Qd
0
.

In nal, pentru calculul lui
x
2
este necesar parametrul
1
=
f(x
1
)
T
d
1
d
T
1
Qd
1
si rezulta:
x
2
= x
1

1
d
1
.
Deoarece metoda gradient ilor conjugat i are nevoie de dou a iterat ii n
cazul nostru, iterat ia x
2
reprezinta solut ia problemei de minimizare.
Stiind ca solut ia problemei satisface, de asemenea, si sistemul liniar de
ordin II:
Qx + q = 0,
obt inem si un criteriu de vericare pentru solut ia returnat a de algoritmul
de gradient i conjugat i. O implementare n cod Matlab este dat a de
urmatoarea secvent a:
function [x f]=conjugate()
Q=[9 3;3 10]; q=[-2;-1];
x=[0;0]; f_new=0.5*x*Q*x+q*x;
f=f_new+1; grad=Q*x+q;
iter=0; d=-grad;
while (iter<2)
f=f_new; alpha=-(grad*d)/(d*Q*d);
x=x+alpha*d; grad=Q*x+q;
beta=(grad*Q*d)/(d*Q*d);
72 Capitolul 3. Metode de ordinul I
d=-grad+beta*d; f_new=0.5*x*Q*x+q*x;
iter=iter+1;
end
f=f_new;
end
Experimentele numerice au condus la concluzia ca pentru o funct ie patra-
tica convexa f : R
n
R, metoda gradient ilor conjugat i converge n
n iterat ii. Observam un comportament deosebit al acestei metode,
deoarece n general, majoritatea metodelor cunoscute converg ntr-un
numar innit de iterat ii.
3.3 Probleme rezolvate de seminar
3.3.1 Aproximari patratice
Problema 1. Fie funct ia f : R
2
R, f(x) =
1
2
(x
2
1
+ x
2
2
)e
(x
2
1
x
2
2
)
.
(i) Sa se verice ca punctul x

= [0 0]
T
este un punct de minim local.
(ii) Sa se evalueze gradientul si Hessiana n punctul x
0
= [1 1]
T
si sa se
verice ca Hessiana nu este pozitiv denita. Sa se arate ca = 3
este valoarea ntreag a minima pentru care H =
2
f(x
0
) +I 0.
(iii) Fie punctul x
0
= [1/2 0]
T
. Sa se scrie aproximarea patratic a
uzual a (serie Taylor) a acestei funct ii in jurul lui x
0
si o aproximare
patratic a utiliz and n locul Hessianei o matrice
1

I, cu > 0.
Minimizat i ambele aproximari.
Rezolvare. (i) Gradientul si Hessiana funct iei vor :
f(x) = e
(x
2
1
x
2
2
)
_
x
3
1
+ x
1
(1 + x
2
2
)
x
3
2
+ x
2
(1 x
2
1
)
_

2
f(x) = e
(x
2
1
x
2
2
)
_
2x
4
1
+x
2
1
(5+2x
2
2
)+x
2
2
+1 2x
1
x
2
(x
2
1
+ x
2
2
)
2x
1
x
2
(x
2
1
+ x
2
2
) 2x
4
2
+x
2
2
(2x
2
1
5) x
2
1
+1
_
.
Evident, pentru x

= 0 este punct de minim local deoarece satisface


condit iile suciente de optimalitate:
f(x

) = 0,
2
f(x

) = I
2
0.
3.3. Probleme rezolvate de seminar 73
(ii) Pentru x
0
= [1 1]
T
avem:
f(x
0
) =
_
3
1
_
,
2
f(x
0
) =
_
12 4
4 1
_
,
de unde rezulta ca valorile proprii ale lui
2
f(x
0
) sunt
1,2
=
11

233
2

(13.13, 2.13), i.e. matricea nu este pozitiv denita. Mai mult, observam
ca (
2
f(x
0
) + I) 0 pentru = 3 >
2
2.13.
(iii) Pentru punctul x
0
= [1/2 0]
T
vom avea:
f(x
0
) = e
1
4
_
5
8
0
_
,
2
f(x
0
) = e
1
4
_
19
8
0
0
3
4
_
.
Aproximarea n serie Taylor a funct iei n jurul punctului x
0
= [1/2 0]
T
va :
f(x) f(x
0
) +f(x
0
)
T
(x x
0
) +
1
2
(x x
0
)
T

2
f(x
0
)(x x
0
)
=e
1
4
_
19
16
x
2
1
+
3
4
x
2
2

9
16
x
1
+
9
64
_
,
al carei punct de minim este dat de x
N
1
= [9/38 0]
T
. Aproximarea cu
1

I are urmatoarea forma:


f(x) f(x
0
) +f(x
0
)
T
(x x
0
) +
1
2
(x x
0
)
T
1

I
2
(x x
0
)
care n acest caz este dat a de:
f(x) =
1
8
e
1
4
+ e
1
4
_
5
8
0

_
x
1

1
2
x
2
_
+
1
2
_
x
1

1
2
x
2

T
I
2
_
x
1

1
2
x
2
_
=
1
8
e
1
4
+
1
2
_
(x
1

1
2
)
2
+ x
2
2
_
+
5
8
e
1
4
_
x
1

1
2
_
,
de unde rezulta punctul de minim x
G
1
= [
5
8
e
1
4
+
1
2
0]
T
. Observ am ca
putem alege =
8
19e
1
4
astfel ncat x
G
1
= x
N
1
, iar f(x
N
1
) = f(x
G
1
).

In cazul
general nsa, obt inem puncte x
G
1
si x
N
1
pentru care f(x
G
1
) > f(x
N
1
).
3.3.2 Condit ii de optimalitate de ordin I
Problema 2. Rezolvat i problema de maximizare:
max
x,y
f(x, y) =
1
(x a)
2
+ (y a)
2
+ 1
.
Sa se discute rezultatul n funct ie de a.
74 Capitolul 3. Metode de ordinul I
Rezolvare. Prin aplicarea condit iilor suciente de ordin I, i.e. f(x, y) =
0, obt inem sistemul:
_
f
x
= 0
f
y
= 0
Explicitand cele dou a ecuat ii, obt inem:
_
x a = 0
y a = 0.

In concluzie, exist a un singur punct critic dat de perechea (a, a). Mai
departe, demonstram ca punctul critic este punct de maxim. Veric am
condit iile suciente de ordin II, i.e. Hessiana
2
f(x) n punctul (a, a)
este o matrice negativ denita,

2
f(a, a) =
_
2 0
0 2
_
.
si constatam ca punctul (a, a) este punct de maxim, indiferent de valoarea
parametrului a.
Problema 3. Fie funct ia f(x
1
, x
2
) = 11x
2
1
+20x
1
x
2
+x
2
2
2x
1
2x
2
+2.
(i) Sa se discute care sunt punctele de minim locale n funct ie de .
(ii) Pentru ce valori ale lui , funct ia are valoarea minim a egala cu 2?
Rezolvare. (i) Observam ca f(x
1
, x
2
) este funct ie patratic a:
f(x
1
, x
2
) =
1
2
x
T
Qx + q
T
x + r
=
1
2
[x
1
x
2
]
_
22 20
20 2
__
x
1
x
2
_
+ [2 2]
_
x
1
x
2
_
+ 2,
unde Q =
_
22 20
20 2
_
, q =
_
2
2
_
T
, r = 2. Punctele stat ionare ale
funct iei f sunt solut ii ale sistemului:
f(x
1
, x
2
) = Qx + q =
_
22x
1
+ 20x
2
2
20x
1
+ 2x
2
2
_
= 0. (3.5)
Un factor ce determina natura punctelor stat ionare este convexitatea
funct iei f. Una din modalitat ile de vericare a propriet at ii de convexitate
3.3. Probleme rezolvate de seminar 75
presupune
2
f(x) = Q _ 0, pentru orice x domf. Valorile proprii ale
matricei Q sunt radacinile polinomului caracteristic
2
(22 + 2) +
44 + 400 = 0. Astfel, discutam convexitatea funct iei f dup a :
Dac a >
100
11
, funct ia f este convexa si orice solut ie a sistemului
(3.5) este un punct de minim global. Rezolvand sistemul, obt inem
x

1
=
1
11100
(10 ), x

2
=
1
11100
Dac a =
100
11
sistemul (3.5) nu are solut ie si este denit de ecuat iile:
20x
1
+
200
11
x
2
2 = 0,
22x
1
+ 20x
2
2 = 0

In acest caz, f este convexa, dar nu exist a punct de minim, i.e. q ,


Im(Q).
Dac a <
100
11
, funct ia f nu este convexa deoarece matricea Q este
indenit a. Punctul critic obt inut n acest caz din rezolvarea sistemului
(3.5) este punct de inexiune (stat ionar).
(ii) Impunem condit ia ca punctul (x

, y

) sa e punct critic, i.e.


f(x
1
, x
2
) = 0
_
x

1
=
1
11100
(10 )
x

2
=
1
11100
.
Pentru a determina un punct de minim, t inem cont de condit ia de la
punctul precedent >
100
11
.

Inlocuind valorile lui x

1
, respectiv x

2
n
f
_
10
11 100
,
1
11 100
_
= 2,
se determina usor valoarea scalarului .
3.3.3 Metoda gradient
Problema 4. Fie funct ia f : R
2
R, f(x) =
1
2
|Ax b|
2
2
+ 2x
T
x,
unde A =
_
1 1
1 1
_
si b = [0 1]
T
. Consideram de asemenea problema de
optimizare aferenta: min
xR
2
f(x).
(i) Sa se scrie problema de optimizare aferenta ca o problem a QP. Sa
se calculeze expresia gradientului si Hessianei funct iei obiectiv. Sa
se demonstreze ca funct ia obiectiv este convexa.
76 Capitolul 3. Metode de ordinul I
(ii) Sa se calculeze punctul de minim global x

. Pornind din punctul


init ial x
0
= [0 1]
T
, sa se implementeze prima iterat ie x
1
a metodei
gradient cu pasul
0
= 1. Sa se compare f(x
0
), f(x
1
) si f(x

) si sa
se discute concluzia.
Rezolvare. (i) Pentru a scrie problema anterioar a ca o problem a QP,
explicitam mai ntai norma din cadrul funct iei obiectiv:
1
2
|Ax b|
2
2
=
1
2
(Ax b)
T
(Ax b)
=
1
2
(x
T
A
T
Ax x
T
A
T
b b
T
Ax + b
T
b)
=
1
2
x
T
A
T
Ax (A
T
b)
T
x +
b
T
b
2
Formul and 2x
T
x ca
1
2
x
T
4I
2
x avem:
min
xR
2
1
2
x
T
Qx + q
T
x + c
unde Q = A
T
A + 4I
2
, q = A
T
b si c =
1
2
b
T
b. Se pot determina usor
parametrii:
Q =
_
6 2
2 6
_
, q =
_
1
1
_
.
Deoarece Q este simetrica, expresia gradientului si a Hessianei sunt
denite de:
f(x) = Qx + q =
_
6x
1
+ 2x
2
1
2x
1
+ 6x
2
1
_
si
2
f(x) = Q
Funct ia f este de dou a ori diferent iabila, deci putem folosi condit ia de
ordin II pentru a ar ata convexitatea. Mai exact, vercam dac a
2
f(x)
0 pentru orice x domf. Valorile proprii ale matricei Q sunt solut ii ale
polinomului caracteristic:

2
12 + 32 = 0,
date de
1,2
= 8, 4, i.e. matricea Q este pozitiv denita.
(ii) Funct ia f este convexa, deci condit iile de optimalitate de ordin I sunt
suciente pentru a determina punctul de optim:
f(x

) = Qx

+ q = 0.
3.3. Probleme rezolvate de seminar 77
Evident, solut ia x

= Q
1
q este determinata de Q
1
=
1
32
_
6 2
2 6
_
rezultand:
x

=
1
32
_
6 2
2 6
_ _
1
1
_
=
1
32
_
4
4
_
=
_
1
8
1
8
_
Implementarea primei iterat ii a metodei gradient presupune calculul
vectorului f(x
0
):
f(x
0
) = Qx
0
+ q =
_
1
5
_
.
Astfel, iterat ia x
1
rezulta:
x
1
= x
0

0
f(x
0
) =
_
0
4
_
Observam ca f(x
1
) = 52 si f(x

) =
1
8
, deci x
1
se aa ntr-o regiune
relativndep artat a a optimului x

.

In plus, remarc am ca valoarea funct iei
n x
1
este mai mare fat a de cea n x
0
, i.e. f(x
0
) = 2. Reamintim ca
aplicarea metodei gradient unei probleme cu funct ia obiectiv cu gradient
continuu n sens Lipschitz (cu constanta L) presupune alegerea pasului

_
0,
2
L
_
.

In particular, L =
max
(Q) = 8 si conform teoriei
0

(0, 0.25]; deci,
0
= 1 ales anterior este inadecvat.
Problema 5. Fie funct ia f : R
2
R, f(x) = 4x
2
1
+ 3x
2
2
4x
1
x
2
+ x
1
,
punctul init ial x
0
= [
1
8
0]
T
si direct ia d
0
= [
1
5
2
5
]
T
.
(i) Este d
0
o direct ie de descrestere?
(ii) Notand () = f(x
0
+ d
0
), sa se gaseasca valoarea

(1).
(iii) Sa se calculeze prima iterat ie x
1
a metodei gradient (cu alegere
ideala a dimensiunii pasului).
Rezolvare. (i) Pentru ca direct ia d
k
sa e direct ie de descrestere, trebuie
sa satisfac a inegalitatea f(x
k
)
T
d
k
< 0. Din expresia gradientului
funct iei f:
f(x) =
_
8x
1
4x
2
+ 1
6x
2
4x
1
_
,
care n punctul x
0
este f(x
0
) = [0 1/2]
T
, observam ca f(x
0
)
T
d
0
=
1/5. Deci direct ia d
0
este direct ie de descrestere.
78 Capitolul 3. Metode de ordinul I
(ii) Pentru calculul derivatei lui () rescriem f sub forma:
f(x) =
1
2
x
T
Qx + q
T
x, unde Q =
_
8 4
4 6
_
si q =
_
1
0
_
.
Explicitam ():
() =

2
2
d
T
0
Qd
0
+ (Qx
0
+ q)
T
d
0
+
1
2
x
T
0
Qx
0
+ q
T
x
0
,
si deducem derivata n 1:

(1) = d
T
0
Qd
0
+ (Qx
0
+ q)
T
d
0
= 0.44.
(iii) Substituind valorile parametrilor din enunt , problema gasirii
dimensiunii ideale a pasului metodei gradient se reduce la minimizarea
unei funct ii scalare patratice convexe. Rezult a astfel min
0
() = 0.0833
si

= arg min
0
() = 0.1667.

In nal, calculam prima iterat ie a metodei
gradient:
x
1
= x
0

f(x
0
) =
_
0.1250
0.0833
_
.
Problema 6. Fie problema de minimizare:
min
xR
2
f(x) (:= 5x
2
1
+ 5x
2
2
x
1
x
2
11x
1
+ 11x
2
+ 11).
(i) Sa se gaseasca punctele critice.
(ii) Sa se demonstreze ca un punct ce satisface condit iile de ordin I
este, de asemenea, punct de minim global.
(iii) Care este rata de descrestere a metodei gradient pentru aceast a
funct ie ?
(iv) Pornind din punctul init ial
_
x
1
x
2
_
=
_
0
0
_
, cate iterat ii sunt necesare
pentru ca algoritmul sa ating a acuratet ea 10
6
?
Rezolvare. (i) Punctele critice reprezinta solut iile sistemului f(x) = 0
descris de:
_
10x
1
x
2
11 = 0
x
1
+ 10x
2
+ 11 = 0.
3.3. Probleme rezolvate de seminar 79
Observam ca sistemul are o singura solut ie dat a de perechea (x
1
, x
2
) =
(1, 1).
(ii) Observam ca funct ia f n forma:
f(x
1
, x
2
) =
1
2
[x
1
x
2
]
_
10 1
1 10
_ _
x
1
x
2
_
+ [11 11]
_
x
1
x
2
_
+ 11.
are Hessiana pozitiv denita n orice punct al domeniului, i.e.

2
f(x
1
, x
2
) =
_
10 1
1 10
_
= Q 0.

In concluzie, punctul critic (x

1
, x

2
) = (1, 1) este punct de minim global.
(iii) Pentru calculul ratei de descrestere corespunz atoare metodei gradient
explicitam iterat ia acesteia:
x
k+1
= x
k

k
f(x
k
)
= x
k

k
(Qx
k
+ q)
= x
k

k
Qx
k

k
q
= (I
2

k
Q)x
k

k
q,
unde cu I
2
am notat matricea identitate de ordin II. Consideram metoda
gradient cu pasul constant dat de
k
=
1
L
, unde L reprezinta constanta
de continuitate Lipschitz a gradientului funct iei obiectiv.
Reamintim acum relat ia de continuitate n sens Lipschitz a gradientului
unei funct ii diferent iabile: o funct ie f : R
n
R are gradientul continuu
Lipschitz cu constanta L dac a
|f(x) f(y)| L|x y|, x, y R
n
.

In cazul funct iei din enunt , relat ia se reduce la:


|Qx Qy| |Q||x y|, x, y R
2
,
deci putem considera constanta Lipschitz L = |Q| =
max
(Q), unde

max
(Q) reprezinta valoarea proprie maxima a lui Q. Observ and ca n
cazul nostru
max
(Q) = L = 11, consider am pasul constant
k
=
1
11
.
Folosind notat ia x

=
_
1
1
_
, din condit iile de ordinul I avem Qx

= q,
80 Capitolul 3. Metode de ordinul I
de aceea putem reformula iterat ia n urmatorul mod:
x
k+1
x

= x
k

1
11
(Qx
k
+ q) x

= x
k

1
11
(Qx
k
Qx

) x

=
_
I
2

1
11
Q
_
(x
k
x

)
.
.
.
=
_
I
2

1
11
Q
_
k
(x
0
x

).
De aici se poate deriva usor rata de descrestere a metodei gradient:
|x
k+1
x

| = |
_
I
2

1
11
Q
_
k
(x
0
x

)|
|
_
I
2

1
11
Q
_
k
||x
0
x

|
= |I
2

1
11
Q|
k
|x
0
x

|.

In concluzie, metoda gradient are rata de descrestere liniar a (pentru


funct ia din enunt ) cu factorul |I
2

1
11
Q|.
(iv) Din punctul anterior, avem rata de convergent a a sirului generat de
metoda gradient cu pas constant:
|x
k
x

| |I
2

1
11
Q|
k
|x
0
x

|. (3.6)
Calculand norma Euclidian a (norma 2), avem:
_
_
_
_
I
2

1
11
Q
_
_
_
_
=
_
_
_
_
_
1
11
1
11
1
11
1
11
__
_
_
_
=
2
11
.

Inlocuind n (3.6) inclusiv valorile pentru x


0
si x

, avem:
|x
k
x

2
_
2
11
_
k
.
Pentru ca sirul x
k
sa se apropie de punctul de optim x

cu acuratet ea
10
6
, trebuie sa asiguram inegalitatea

2
_
2
11
_
k
10
6
.

In concluzie,
3.3. Probleme rezolvate de seminar 81
prin extragerea logaritmului din ambele part i, avem nevoie de un num ar
de iterat ii:
k

2 log 10
6
log 11 log 2
.
Problema 7. Sa se determine extremele funct iei f(x
1
, x
2
) = x
3
1
x
2
2
(a
x
1
x
2
). Pentru ce valori ale lui a, funct ia f are un punct de maxim
global?
Rezolvare. Obt inem punctele de extrem ale funct iei rezolv and sistemul
dat de condit iile de ordin I, i.e. f(x
1
, x
2
) = 0. Mai exact, sistemul are
forma:
_
3x
2
1
x
2
2
(a x
1
x
2
) x
3
1
x
2
2
= 0
2x
3
1
x
2
(a x
1
x
2
) x
3
1
x
2
2
= 0

_
x
2
1
x
2
2
(3a 4x
1
3x
2
) = 0
x
3
1
x
2
(2a 2x
1
3x
2
) = 0,
de unde putem deduce trei cazuri diferite:
_
x
1
= 0
x
2
oarecare
sau
_
x
1
oarecare
x
2
= 0
sau
_
3a 4x
1
3x
2
= 0
2a 2x
1
3x
2
= 0
.
Componentele Hessianei
2
f(x
1
, x
2
) vor :

2
f
x
2
1
= 2x
1
x
2
2
(3a 6x
1
3x
2
),

2
f
x
2
2
= x
3
1
(2a 2x
1
5x
2
)

2
f
x
1
x
2
=

2
f
x
2
x
1
= x
2
1
x
2
(6a 8x
1
9x
2
),
Constat am ca n primele dou a cazuri, x
1
= 0 sau x
2
= 0, matricea

2
f(x
1
, x
2
) =
_
0 0
0 0
_
este nedenit a. Pentru ultimul caz nsa, obt inem x
1
=
a
2
si x
2
=
a
3
.
Astfel, observam ca:

2
f
_
a
2
,
a
3
_
=
_
a
4
9
a
3
4
a
3
4
a
4
12
_
iar parametrul a condit ioneaza natura punctului critic (
a
2
,
a
3
).

In nal,
pentru ca acesta sa e un punct de maxim este necesar ca
2
f
_
a
2
,
a
3
_
_ 0,
i.e. a
_

3
2
, 0
_
.
82 Capitolul 3. Metode de ordinul I
Problema 8. Fie funct ia f : R
n
R convexa si diferent iabila. Sa se
deduca iterat ia metodei gradient cu pas constant =
1
5
prin intermediul
aproximarii Taylor patratice cu Hessiana 5I
n
.
Rezolvare.

In orice punct al domeniului acesteia, funct ia f se poate
aproxima cu o forma patratic a dup a cum urmeaza:
f(x) f( x) +f( x)
T
(x x) +

2
|x x|
2
,
oricare ar x domf si 0. Precizam ca partea dreapt a a expresiei
anterioare se numeste aproximarea patratica a funct iei f n punctul x cu
Hessiana I
n
.
Iterat ia metodei gradient cu pas constant se deduce din minimizarea,
la ecare pas k, a aproximarii patratice cu Hessiana
1

I
n
:
x
k+1
= arg min
yR
n
f(x
k
) +f(x
k
)
T
(y x
k
) +
1
2
|y x
k
|
2
.
Observand ca se presupune minimizarea unei funct ii convexe,
determinam minimul explicit prin intermediul condit iilor de optimalitate
de ordin I:
f(x
k
) +
1

(y

x
k
) = 0,
de unde n nal deducem:
x
k+1
= y

= x
k
f(x
k
).
3.4 Probleme propuse
Problema 1. Fie funct ia f : R
n
R, f(x) =
1
2
_
x
T
x +
1
2
(a
T
x)
2

. Sa
se deduca numarul de opi necesari pentru calcularea urmatoarelor
elemente: f(x), f(x),
2
f(x) si
2
f(x)d, unde d R
n
este un vector
oarecare.
Problema 2. Pentru urmatoarele funct ii determinat i toate punctele sta-
t ionare si vericat i dac a acestea sunt puncte de minim local prin
utilizarea condit iilor suciente de optimalitate de ordinul II:
(i) f(x) = 3x
1
+
100
x
1
x
2
+ 5x
2
,
3.4. Probleme propuse 83
(ii) f = (x
1
1)
2
+ x
1
x
2
+ (x
2
1)
2
,
(iii) f =
x
1
+x
2
3+x
2
1
+x
2
2
+x
1
x
2
.
Problema 3. Fiind dat a funct ia f(x
1
, x
2
) = x
2
1
+ 25x
2
2
si un punct
x
0
= [5 1]
T
, se cere:
(i) Sa se construiasc a explicit () de-a lungul celei mai abrupte pante,
i.e. () = f(x
0
f(x
0
)).
(ii) Sa se minimizeze () n funct ie de si sa se obt in a un nou punct
x
1
utiliz and iterat ia metodei gradient.
Problema 4. Sa se aplice metoda gradient ilor conjugat i pentru
minimizarea neconstr ans a funct iei denite n problema rezolvat a 5. Sa
se verice n dou a moduri validitatea punctului de optim obt inut.
Problema 5. Fie o matrice Q 0. Sa se demonstreze inegalitatea lui
Kantorovich denita de urmatoarea relat ie:
(x
T
x)
2
(x
T
Qx) (x
T
Q
1
x)

4
max
(Q)
min
(Q)
[
max
(Q) +
min
(Q)]
2
.
Problema 6. Sa se discute valorile parametrului n astfel ncat funct ia
f(x
1
, x
2
) = x
n
1
+ x
n
2
x
1
x
2
n sa aiba puncte de extrem local.
Problema 7. Fie funct ia f(x) = x
4
1
+x
1
x
2
+(1 +x
2
)
2
. Denim modelul
patratic:
q
f
(x; x
0
) = f(x
0
) +f(x
0
), x x
0
+
1
2
|x x
0
|
2
.
Se observa ca iterat ia metodei gradient cu dimensiunea pasulului este
punctul de minim al formei patratice anterioare, i.e.
x
1
= x
0
f(x
0
)
= arg min
yR
2
f(x
0
) +f(x
0
), y x
0
+
1
2
|y x
0
|
2
.
(i) Pentru x
0
= [0 0]
T
, sa se calculeze f(x
0
) si
2
f(x
0
) si sa se
demonstreze ca
2
f(x
0
) nu este pozitiv denita.
(ii) Pentru x
0
= [1 1]
T
, sa se calculeze prima iterat ie a metodei de
gradient cu pasul = 1.
84 Capitolul 3. Metode de ordinul I
Problema 8. Fie funct ia f(x) = x
2
1
+2x
2
2
+4x
1
+4x
2
. Sa se demonstreze
prin induct ie ca metoda gradient cu pasul ideal, pornind din x
0
= [0 0]
T
,
genereaz a sirul dat de:
x
k+1
=
_
2
3
k
2
_

1
3
_
k
1
_
.
Sa se deduca punctul de minim din sirul rezultat.
Problema 9. Sa se gaseasca punctele critice ale funct iei:
f(x) = 2x
3
1
3x
2
1
6x
1
x
2
(x
1
x
2
1).
Care din aceste puncte sunt minime locale, maxime locale sau niciuna
din variante?
Problema 10. Pentru problema de optimizare:
min
xR
2
4x
2
1
4x
1
x
2
+ 2x
2
2
,
sa se aplice primele trei iterat ii ale metodei gradient cu pasul ales n
mod ideal.
Problema 11. Consideram urmatoarea iterat ie tip metoda gradient:
x
k+1
= x
k
s(f(x
k
) + e
k
),
unde s este un pas constant, e
k
este o eroare ce satisface |e
k
| pentru
orice k, iar f este funct ia patratic a pozitiv denita:
f(x) =
1
2
(x x

)
T
Q(x x

)
Fie q = max[1 sm[, [1 sM[, unde m si M sunt cea mai mic a,
respectiv cea mai mare valoare proprie a lui Q. Presupunem ca q < 1.
Sa se demonstreze ca pentru orice k avem:
|x
k
x

|
s
1 q
+ q
k
|x
0
x

|
Capitolul 4
Metode de ordinul II
4.1 Preliminarii

In acest capitol consider am, de asemenea, probleme generale de


optimizare neconstr ans a de forma (3.1). Dac a metodele de ordinul I
expuse n capitolul anterior se bazeaz a pe informat ia de gradient a
funct iei obiectiv, n urmatoarele sect iuni analizam algoritmi ce fac uz n
plus si de informat ia de ordinul II, si anume matricea Hessian a a funct iei
obiectiv (vezi [1, 3]).

In cele ce urmeaza prezentam pe scurt condit iile
de optimalitate necesare si suciente pentru probleme de optimizare f ar a
constrangeri (restrict ii) (3.1).
Condit iile necesare de optimalitate pentru problemele neconstr anse pot
enunt ate astfel: orice punct de minim local x

domf al problemei (3.1)


satisface f(x

) = 0. De asemenea, condit iile necesare de ordinul II se


pot formula dup a cum urmeaza: orice punct de minim local x

domf
al problemei (UNLP) satisface:
f(x

) = 0 si
2
f(x

) _ 0.
Atribuim o important a major a condit iilor de optimalitate suciente de
ordinul II deoarece reprezinta o modalitate de vericare a naturii unui
punct dat: dac a x

satisface
f(x

) = 0 si
2
f(x

) 0,
atunci x

este un punct strict de minim local al problemei (3.1). Intuitiv,


dac a algoritmii de ordinul I rezolv a condit iile necesare de ordinul I cu
ajutorul informat iei de gradient, putem argumenta ca cei de ordinul II
86 Capitolul 4. Metode de ordinul II
converg la un punct de minim local ce satisface condit iile de ordinul I si
II, utiliz and n plus matricea Hessian a a funct iei obiectiv.

In continuare,
prezentam principalele metode de ordinul II si analizam comportamentul
acestora pe exemple numerice.
Metoda Newton reprezinta una dintre cele mai vechi metode de
optimizare, dezvoltat a init ial n scopul aproximarii iterative a solut iilor
ecuat iilor neliniare. Aceasta metoda utilizeaz a inversa matricei Hessiane
a funct iei obiectiv pentru o convergent a rapid a catre un punct de
minim local. Principalul dezavantaj al metodei Newton l reprezinta
instabilitatea provocata de anumit i factori (e.g. init ializarea ntr-o
regiunendep artat a de optim, condit ionarea matricei Hessiene). Cu toate
acestea, n cazurile bine condit ionate cand metoda converge, prezinta o
convergent a mult superioara metodelor de ordinul I. Ideea principala ce
st a la baza metodei Newton o reprezinta aproximarea funct iei obiectiv:
pentru funct ia obiectiv f a problemei (3.1), la iterat ia k se construieste
aproximarea patratic a

f f (aproximarea Taylor de ordinul II) a funct iei
obiectiv n punctul curent x
k
:

f(x) = f(x
k
) +f(x
k
)
T
(x x
k
) +
1
2
(x x
k
)
T

2
f(x
k
)(x x
k
),
care se minimizeaza cu scopul obt inerii iterat iei Newton. Dac a
2
f(x
k
)
este pozitiv denita, atunci funct ia

f(x) este convexa. Pe de alta parte,
gradientul funct iei

f(x) este dat de:

f(x) =
2
f(x
k
)(x x
k
) +f(x
k
),
iar minimul funct iei

f(x) va atins ntr-un punct x ce satisface

f( x) =
0. Considerand urmatorul punct x
k+1
al sirului ca ind punctul ce
anuleaz a gradientul funct iei

f(x), i.e.

f(x
k+1
) = 0, implicit vom obt ine
sistemul liniar de ecuat ii:

2
f(x
k
)(x
k+1
x
k
) = f(x
k
), (4.1)
de unde rezulta iterat ia metodei Newton standard:
x
k+1
= x
k

2
f(x
k
)
_
1
f(x
k
).
Varianta generala a metodei Newton este dat a de iterat ia:
x
k+1
= x
k

k
_

2
f(x
k
)
_
1
f(x
k
),
4.2. Probleme rezolvate de laborator 87
consider and selectarea pasului
k
prin aceleasi moduri ca la metodele
de ordinul I: line search (ideal), backtracking sau
k
= constant.
Observam ca metoda Newton standard are dimensiunea pasului unitar
constant, i.e.
k
= 1.
Dac a funct ia f este patratic a strict convexa (i.e.
2
f(x) 0 pentru orice
x), atunci metoda Newton converge ntr-un singur pas catre punctul de
minim.

In general, metoda Newton nu converge decat dac a init ializarea
se realizeaz a n vecin atatea punctului de minim. Exista dou a motivat ii
pentru acest comportament: (i) dac a funct ia obiectiv f este puternic
neliniara atunci

f este o aproximare inexacta lui f, de aceea exist a
posibilitatea ca f(x
k+1
) > f(x
k
); (ii) nu avem garant ia ca
2
f(x
k
) 0
pe parcursul iterat iilor metodei. Mai exact, dac a
2
f(x
k
) ,_ 0 sau
det (
2
f(x
k
)) = 0, atunci este posibil ca

f(x) sa nu aib a punct de
minim. Implementarea metodei Newton necesit a abordarea a doi factori
important i:
(i) este necesara implementarea unei reguli de alegere a dimensiunii
pasului
k
, astfel ncat sa eliminam posibilitatea de crestere a funct iei
obiectiv n punctele dep artate de optim, fapt datorat impreciziei
aproximarii patratice.

In cazul n care funct ia obiectiv nu este convexa,
nsa problema de minimizare admite o solut ie, atunci inversa Hessianei
nu este pozitiv denita n mod cert decat n apropierea solut iei;
(ii) dac a nu putem asigura ca Hessiana este pozitiv denit a n ecare
punct al sirului x
k

k0
, o abordare des ntalnita presupune nlocuirea
Hessianei cu o matrice Hessian a modicata G = I
n
+
2
f(x) 0, cu
0. Ment ionam ca ntotdeauna va exista un sucient de mare astfel
ncat G 0. Reamintim ca cel mai simplu algoritm pentru a verica dac a
o matrice dat a este sau nu pozitiv denita este factorizarea Cholesky.
4.2 Probleme rezolvate de laborator
4.2.1 Metoda Newton
Exemplul 18. Sa se implementeze metoda Newton cu cele trei variante
de alegere a dimensiunii pasului (ideal, backtracking, pas unitar constant)
pentru rezolvarea problemei:
min
xR
2
f(x) (= (x
1
x
3
2
)
2
+ 3(x
1
x
2
)
4
). (4.2)
88 Capitolul 4. Metode de ordinul II
2 4 6 8 10 12 14
0
0.05
0.1
0.15
0.2
0.25
|f(x
k
)f
*
|
k
2 4 6 8 10 12 14
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
|| f(x
k
) ||
k
Figura 4.1: Comparat ia convergent ei metodei Newton utiliz and cele trei
opt iuni pentru selectarea pasilor: ideal (linie continua), backtracking (linie
punctata ntrerupta) si pas constant unitar (linie ntrerupta) pentru problema
(4.2).
Rezolvare. Utilizam funct ii auxiliare ce returneaza informat ii de ordinul
I si II:
[f,g]=f_obj(x)
H=hess_obj(x).
Funct ia f_obj returneaza valoarea f(x) si f(x) prin variabilele f,g,
hess_obj returneaza
2
f(x) prin variabile H. Pentru selectarea pasului
ideal, construim funct ia:
f=alpha_search(alpha,x,d)
ce returneaza f(x+d) n f. De asemenea, pentru metoda backtracking
construim funct ia:
alpha=alpha_bactrack(x,d).
Condit ia de oprire va aceeasi ca si n cazul metodei gradient, anume
|f(x
k
)| < , unde > 0 reprezinta acuratet ea dorit a. Secvent a de cod
ce implementeaza metoda Newton este prezentata n cele ce urmeaza:
function xmin=newton_method(x0,eps)
%initializam vectori/matrice pentru memorarea gradientilor,
%a punctelor x generate de algoritm, etc
puncte_gradient=[];
puncte_iteratie=[];
4.2. Probleme rezolvate de laborator 89
valori_functie=[];
norme_gradienti=[];
%vom utiliza un vector g pentru a stoca gradientul curent
%o matrice H pentru a stoca Hessiana curenta
%calculam directia corespunzatoare in d
x=x0;
[f,g]=f_obj(x);
while(norm(g)>eps)
[f,g]=f_obj(x);
H=hess_obj(x);
d=H\-g;
puncte_gradient=[puncte_gradient g];
puncte_iteratie=[puncte_iteratie x];
valori_functie=[valori_functie; f];
norme_gradienti=[norme_gradienti; norm(g)];
%Aici selectam alpha=1 constant,
%alpha=fminbnd(...) pentru exact line search,
%sau alpha=alpha_bactrack(...)
%pentru metoda de backtracking
alpha=fminbnd(@(alpha) alpha_search(alpha,x,d),0,1);
x=x+alpha*d
end
xmin=x;
%Pentru afisarea grafica a rezultatelor,
%avem urmatoarele instructiuni
t=1:length(valori_functie);
figure(1)
hold on
plot(t,norme_gradienti(t),k,LineWidth,2);
hold off
figure(2)
hold on
plot(t,valori_functie(t),k,LineWidth,2);
hold off
%Pentru trasarea liniilor de contur si evolutia
%metodei gradient, avem urmatoarele instructiuni
[x1,x2]=meshgrid([1.2:0.01:2.8],[0.4:0.01:1.6]);
90 Capitolul 4. Metode de ordinul II
0.4 0.6 0.8 1 1.2 1.4 1.6
0.6
0.8
1
1.2
1.4
1.6
x
1
x
2
Figura 4.2: Gracul punctelor obt inute de metoda Newton cu pas ideal si
liniile de contur aferente pentru problema (4.2).
z=(x1-2).^4+(x1-2.*x2).^2;
figure(3)
hold on
contour(x1,x2,z,valori_functie)
plot3(puncte_iteratie(1,:),puncte_iteratie(2,:),...
valori_functie,r)
scatter3(puncte_iteratie(1,:),puncte_iteratie(2,:),...
valori_functie,filled)
hold off
Rezultatele comparative pentru metoda Newton utiliz and cele trei
opt iuni pentru selectarea pasului pot observate n Fig. 4.1.

In Fig.
4.2 observam punctele obt inute de metoda Newton si curbele de nivel
aferente.
4.2.2 Metode cvasi-Newton
Desi metoda Newton prezinta convergent a patratic a, n multe cazuri ea
prezinta dezavantaje din punct de vedere al efortului de calcul datorita
necesit at ii calculului derivatelor de ordinul I si a rezolv arii sistemului de
ecuat ii (4.1) la ecare iterat ie. Pentru probleme de dimensiuni mari
ce nu pot abordate cu metoda Newton au fost dezvoltate metode
de tip cvasi-Newton. Aceasta clas a de metode presupun nlocuirea
matricei Hessiene cu una simetrica pentru care operat ia de inversare nu
este costisitoare. Sirul de matrice rezultat permite evitarea calculului
derivatelor de ordinul II si simplic a rezolvarea sistemului de ecuat ii
(4.1) necesar determinarii direct iei. Un algoritm de tip cvasi-Newton
este denit de urmatoarea schema:
4.2. Probleme rezolvate de laborator 91
Fie punctul init ial x
0
domf si matricea init iala H
0
0. Pentru
k 1, cat timp criteriul de oprire nu este satisfacut, iter am:
1. se calculeaza direct ia cvasi-Newton d
k
= H
1
k
f(x
k
);
2. se determina pasul
k
(e.g. prin metoda de backtracking);
3. se calculeaza urmatoarea iterat ie: x
k+1
= x
k
+
k
d
k
;
4. se calculeaza o nou a matrice H
k+1
.
Metodele de tip cvasi-Newton difer a prin regula de actualizare
a matricei H
k
. Cea mai des utilizata varianta este metoda
Broyden-Fletcher-Goldfarb-Shanno (sau metoda BFGS pe scurt):
H
k
= H
k1
+

k

T
k

T
k

k

H
k1

T
k
H
k1

T
k
H
k1

k
,
unde

k
= x
k
x
k1
,
k
= f(x
k
) f(x
k1
).
O alta versiune a metodei BFGS consider a actualizarea directa a inversei
matricei H
k
:
H
1
k
=
_
I

k

T
k

T
k

k
_
H
1
k1
_
I

k

T
k

T
k

k
_
+

k

T
k

T
k

k
.
Structura algoritmului cvasi-Newton cu actualizare BFGS este denit a
de urmatoarea schema:
Selectam un punct init ial x
0
R
n
, o tolerant a > 0 si o matrice
H
0
R
nn
simetrica si pozitiv denita. Cat timp |f(x
k
)| > ,
1. calculam direct ia d
k
= H
1
k
f(x
k
);
2. calculam pasul
k
= arg min
>0
f(x
k
+ d
k
);
3. calculam noua iterat ie x
k+1
= x
k
+
k
d
k
si
k
=
k
d
k
;
4. evaluam f(x
k+1
) si calculam
k
= f(x
k+1
) f(x
k
);
5. calculam H
k+1
prin formula BFGS; k = k + 1.
O observat ie importanta este diferent a dintre rata de convergent a locala
a metodei Newton si a metodelor de tip cvasi-Newton. Cu toate ca
metodele cvasi-Newton prezinta o complexitate per iterat ie mai mic a,
rata de convergent a este (super)liniar a n timp ce metoda Newton
prezinta o rata de convergent a patratic a locala.
92 Capitolul 4. Metode de ordinul II
4.3 Probleme rezolvate de seminar
4.3.1 Metoda Newton si metoda BFGS
Problema 1. Fie problema de optimizare
min
xR
n
f(x)
unde f : R
n
R este patratic a, i.e f(x) =
1
2
x
T
Qx +q
T
x. Sa se arate ca
pentru f convexa metoda Newton standard converge ntr-un singur pas.
Rezolvare. Din condit iile de optimalitate de ordinul I, i.e. f(x) = Qx+
q = 0 va rezulta ca x

= Q
1
q. Ret inem ca direct ia metodei Newton
este d = (f(x))
1
f(x), care in cazul patratic va :
d = Q
1
(Qx + q) = x Q
1
q.
Astfel, pentru un punct init ial x
0
si un pas
0
= 1, vom avea:
x
1
= x
0
+
0
d
0
= x
0
x
0
Q
1
q = Q
1
q.
Din moment ce f este convexa, va rezulta automat ca
2
f(x
0
) = Q _ 0,
iar drept urmare x
1
= x

.
Problema 2. Fie funct ia f : R
n
R convexa si diferent iabila de
dou a ori. Sa se determine expresia iterat iei metodei Newton standard
prin intermediul aproximarii Taylor de ordinul II. Este posibil a si o alta
modalitate de a obt ine aceasta iterat ie?
Rezolvare. Deoarece funct ia f este diferent iabila de dou a ori, n orice
punct al domeniului acesteia x domf, se poate aproxima cu o forma
patratic a:
f(x) f( x) +f( x)
T
(x x) +
1
2
(x x)
T

2
f( x)(x x).
Precizam ca partea dreapt a a expresiei anterioare se numeste aproximarea
Taylor de ordinul II n punctul x a funct iei f.
Fie punctul curent x
k
al metodei Newton, urmatoarea iterat ie x
k+1
se
determina din minimizarea neconstr ans a a aproximarii de ordinul II n
punctul x
k
a funct iei obiectiv:
x
k+1
= arg min
yR
n
f(x
k
) +f(x
k
)
T
(y x
k
) +
1
2
(y x
k
)
T

2
f(x
k
)(y x
k
).
4.3. Probleme rezolvate de seminar 93
Deoarece funct ia f este convexa, matricea
2
f(x
k
) este pozitiv
semi-denit a, deci aproximarea patratic a este convexa. Determinam
punctul de minim al acestei aproximari din condit iile de optimalitate
de ordinul I:

2
f(x
k
)(y

x
k
) +f(x
k
) = 0,
de unde rezulta iterat ia:
x
k+1
= y

= x
k

2
f(x
k
)

1
f(x
k
).
O modalitate alternativa de a deduce iterat ia Newton este descris a de
liniarizarea expresiei gradientului funct iei obiectiv n punctul curent x
k
:
f(x) f( x) +
2
f( x)(y x),
unde consider am f( x) si
2
f( x) cunoscute. Pentru a obt ine iterat ia
Newton, la momentul k + 1, egalam cu 0 aproximarea liniar a a
gradientului, n punctul x
k
:
f(x
k
) +
2
f(x
k
)(y

x
k
) = 0,
de unde rezulta:
x
k+1
= y

= x
k

2
f(x
k
)

1
f(x
k
).
Ment ionam n plus ca iterat ia metodei Newton generale
x
k+1
= x
k

k
_

2
f(x
k
)

1
f(x
k
)
se obt ine din minimizarea unei aproximari Taylor patratice de forma:
x
k+1
= arg min
yR
n
f(x
k
) +f(x
k
)
T
(y x
k
) +
1
2
k
(y x
k
)
T

2
f(x
k
)(y x
k
).
De asemenea, iterat ia metodei gradient x
k+1
= x
k

k
f(x
k
) se poate
obt ine dintr-o aproximare patratic a de forma:
x
k+1
= arg min
yR
n
f(x
k
) +f(x
k
)
T
(y x
k
) +
1
2
k
|y x
k
|
2
.
94 Capitolul 4. Metode de ordinul II
Problema 3. Fie problema de optimizare neconstr ans a:
min
xR
2
f(x)
_
=
1
2
x
2
1
+
5
2
x
2
2
+ 2x
1
x
2
+ 2x
1
+ 4x
2
_
.
(i) Sa se scrie problema ca o problem a QP (Quadratic Programming). Sa
se arate ca problema este convexa.
(ii) Sa se determine punctul de minim x

al problemei.
(iii) Pornind din punctul x
0
= [1 1]
T
, sa se determine pasul optim
0
corespunz ator metodei gradient si sa se implementeze prima iterat ie a
acestei metode cu pasul obt inut.
(iv) Sa se implementeze prima iterat ie a metodei Newton standard pentru
problema precedenta. Sa se compare punctul x
1
al metodei gradient cu
cel al metodei Newton. Ce se observa?
Rezolvare. (i) Prin rescrierea sub forma matriceala a funct iei obiectiv
ajungem la forma QP:
f(x) =
1
2
x
T
_
1 2
2 5
_
x +
_
2 4

x.
Pentru a determina convexitatea funct iei, vercam dac a matricea
Hessian a:

2
f(x) = Q =
_
1 2
2 5
_
este pozitiv semidenita. Observam ca minorii principali sunt strict
pozitivi, rezultand ca Hessiana este pozitiv denita.
(ii) Deoarece funct ia obiectiv este strict convexa, punctul de minim
neconstr ans este dat de condit iile de optimalitate de ordinul I:
f(x

) = Qx

+ q = 0,
unde q =
_
2
4
_
si de unde rezulta solut ia unica x

=
_
2
0
_
.
(iii) Reamintim procedura de selectare a lungimii ideale a pasului:

0
= arg min
0
() = arg min
0
f(x
0
f(x
0
)). (4.3)
4.3. Probleme rezolvate de seminar 95
Obt in and direct ia de gradient d
0
= f(x
0
) = Qx
0
+q =
_
1
1
_
, evalu am
funct ia obiectiv:
()=f(x
0
f(x
0
))=
1
2
_
(1 )
2
+ 5(1 + )
2

2(1
2
) 6 2
= 5
2
2 1.
Observam ca punctul de minim global neconstr ans al funct iei () este

=
1
5
. Deoarece problema (4.3) este constrans a, iar punctul de
minim neconstr ans

se aa n mult imea fezabila R : 0,


concluzionam ca lungimea ideala a pasului este
0
=
1
5
. Prima iterat ie a
metodei gradient cu pas ideal este dat a de:
x
G
1
= x
0

0
f(x
0
) =
_
4
5

6
5
_
.
(iv) Metoda Newton standard presupune urmatoarea iterat ie:
x
k+1
= x
k

2
f(x
k
)

1
f(x
k
).

In cazul nostru, funct ia obiectiv este patratic a (implicit de dou a ori


diferent iabila) cu Hessiana:

2
f(x) =
_
1 2
2 5
_
.
Calculam inversa matricei Hessiene:
_

2
f(x)

1
=
_
5 2
2 1
_
,
iar primul pas al metodei Newton standard este dat de:
x
N
1
= x
0

2
f(x
0
)

1
f(x
0
) =
_
1
1
_

_
5 2
2 1
_ _
1
1
_
=
_
2
0
_
= x

In concluzie, metoda Newton converge pentru aceasta problem a ntr-un


singur pas catre punctul de minim.
Problema 4. Fie funct ia f : R
2
R, denita de:
f(x
1
, x
2
) =
x
4
1
4
+
x
4
2
4

x
3
1
3

x
3
2
3
.
96 Capitolul 4. Metode de ordinul II
(i) Sa se determine un punct de minim local al problemei:
min
xR
2
f(x)
(ii) Sa se calculeze prima iterat ie a metodei Newton alegand punctul
init ial x
0
= [1 1]
T
si consider and cazurile n care pasul
0
= 1 si

0
este selectat ideal.
Rezolvare. (i) Calculam mai ntai expresia gradientului si Hessianei:
f(x) =
_
x
3
1
x
2
1
x
3
2
x
2
2
_
,
2
f(x) =
_
3x
2
1
2x
1
0
0 3x
2
2
2x
2
_
.
Din condit ia f(x

) = 0 deducem ca componentele lui x

satisfac
condit ia x

1
, x

2
0, 1, iar pentru x

= [1 1]
T
avem:

2
f(1, 1) = I
2
0,
deci x

= [1 1]
T
este punct de minim strict local.
(ii) Pentru punctul init ial x
0
= [1 1]
T
avem:
f(x
0
) =
_
2
0
_
,
2
f(x
0
) =
_
5 0
0 1
_
_

2
f(x
0
)

1
=
_
1
5
0
0 1
_
,
de unde rezulta direct ia Newton:
d
0
= [
2
f(x
0
)]
1
f(x
0
) =
_
d
0
1
d
0
2
_
=
_
2
5
0
_
.
Acum, pentru determinarea pasului ideal, trebuie sa calculam () =
f(x
0
+ d
0
) pentru funct ia noastr a obiectiv:
() =
1
4
(x
1
+ d
0
1
)
4
+
1
4
(x
2
+ d
0
2
)
4

1
3
(x
1
+ d
0
1
)
3

1
3
(x
2
+ d
0
2
)
3
.
=
1
4
(x
1
+
2
5
)
4

1
3
(x
1
+
2
5
)
3
+
x
4
2
4

x
3
2
3
.
Rezolva m ecuat ia

() = 0, de unde obt inem

= 5. Astfel, pentru
pasul
0
= 1, respectiv
0
= 5 iterat iile sunt date de:
x
1
=
_
3
5
1
_
, x
1
=
_
1
1
_
= x

.
Evaluand funct ia obiectiv n cele dou a puncte f(3/5, 1) = 0.0211,
f(1, 1) = 0.1667, constatam o descrestere mai bun a cu dimensiunea
ideala a pasului.
4.3. Probleme rezolvate de seminar 97
Problema 5. Dac a efectu am o actualizare de rang 1 asupra unei matrice
patrate si nesingulare A si not am rezultatul cu

A, i.e.:

A = A+ uv
T
,
unde a, b R
n
, atunci formula Sherman-Morrison-Woodbury are loc:

A
1
= A
1

A
1
uv
T
A
1
1 + v
T
A
1
u
. (4.4)
Rezolvare. Pentru a verica aceasta formul a, conform denit iei matricei
inverse, avem egalitatea

A
1

A = I
n
. Astfel, simplu nmult im pe

A cu

A
1
:

A
1

A =
_
A
1

A
1
uv
T
A
1
1 + v
T
A
1
u
_
(A+ uv
T
)
= I
n
+ A
1
uv
T

A
1
uv
T
+ A
1
u(v
T
A
1
u)v
T
1 + v
T
A
1
u
= I
n
+ A
1
uv
T

A
1
uv
T
+ (v
T
A
1
u)A
1
uv
T
1 + v
T
A
1
u
= I
n
+ A
1
uv
T

1 + v
T
A
1
u
1 + v
T
A
1
u
A
1
uv
T
= I
n
.
Problema 6. Fie funct ia f : R R, denita de f(x) = (x1)
2
/(x
2
+1).
Sa se implementeze metoda Newton pornind din punctele init iale x
0
=
2, 0, 1. Ce se observa?
Rezolvare. Calculam mai ntai gradientul funct iei si Hessiana:
f(x) =
2(x
2
1)
(x
2
+ 1)
2
,
2
f(x) =
4x(3 x
2
)
(x
2
+ 1)
3
.
Din condit iile de optimalitate va rezulta desigur ca x

= 1 este punct
de minim local strict. Utilizand expresiile obt inute ale gradientului si
Hessianei, deducem expresia direct iei Newton:
d(x) = [
2
(f(x)]
1
f(x) =
x
4
1
2x(3 x
2
)
.
Astfel, pentru punctele init iale avem:
d(2) =
15
4
, d(1) = 0,
98 Capitolul 4. Metode de ordinul II
iar n x
0
= 0 avem
2
f(0) = 0 si direct ia Newton n acest caz nu exist a.
Observam ca pentru x
0
= 1 metoda Newton va ramanen acelasi punct.
Pe de alta parte, pentru x
0
= 0 Hessiana nu este inversabil a, iar metoda
Newton standard nu poate aplicat a. Pentru x
0
= 2 avem x
1
=
215/4 = 23/4, iar din expresia direct iei deducem ca metoda diverge.
Observam ca pentru un punct init ial sucient de aproape de punctul de
optim, e.g. x
0
= 1.3, metoda Newton converge.
Problema 7. Fie funct ia f : R
2
R, denita de f(x) = x
4
1
+x
1
x
2
+(1+
x
2
)
2
. Sa se descrie performant ele metodei Newton aplicat a problemei:
min
xR
2
f(x),
pornind din punctul init ial x
0
= [0 0]
T
.
Rezolvare. Calculam expresiile gradientului si Hessianei:
f(x) =
_
4x
3
1
+ x
2
x
1
+ 2(x
2
+ 1)
_
,
2
f(x) =
_
12x
2
1
1
1 2
_
si evaluand aceste expresii n x
0
avem:
f(x
0
) =
_
0
2
_
,
2
f(x
0
) =
_
0 1
1 2
_
, (
2
f(x
0
))
1
=
_
2 1
1 0
_
.
Astfel, direct ia Newton pentru punctul x
0
va :
d
0
= (
2
f(x
0
))
1
f(x
0
) =
_
2
0
_
,
iar f(x
0
)
T
d
0
= 0. Observam ca aceeasi egalitate este valabila de
asemenea pentru d
0
. Astfel, d
0
nu este direct ie de descrestere.

In
plus, observam ca f(x
0
) = 1, iar pentru x
1
= x
0
+ d
0
= [2 0]
T
, vom
avea f(x
1
) = 17, iar pentru x
1
= x
0
d
0
vom avea tot f(x
1
) = 17.
Problema 8. O problem a fundamentala din domeniul prelucr arii
semnalelor o reprezinta recuperarea unui semnal x dintr-unul corupt y
(ind semnalul adev arat x combinat cu zgomot). De cele mai multe ori,
problema este abordata prin aproximarea cat mai dela a semnalului
adev arat prin intermediul rezolv arii urmatoarei probleme de optimizare:
min
xR
n
|x y|
2
+
n1

i=1
[x
i+1
x
i
[,
4.3. Probleme rezolvate de seminar 99
Observam ca desi primul termen ce denota distant a Euclidian a dintre
semnalul adev arat x si cel corupt y este sucient pentru a gasi o
aproximare relativ dela, se adauga un termen de regularizare descris de
suma diferent elor dintre elementele consecutive ale semnalului x. Acest
termen de regularizare are scopul de a asigura gasirea unei aproximari cat
mai netede, far a variat ii bruste ale componentelor. Observ am ca funct ia
obiectiv a problemei anterioare este nediferent iabil a.
(i) Sa se determine o aproximare a problemei de optimizare precedente,
cu funct ia obiectiv continuu diferentiabil a;
(ii) Sa se calculeze forma explicita a gradientului si Hessianei
corespunz atoare noii funct ii obiectiv de la punctul a), si sa se aplice
un pas al metodei Newton.
Rezolvare. (i) O aproximare neted a (smooth) a problemei din enunt este
dat a de:
min
xR
n
f(x)
_
= |x y|
2
2
+
n1

i=1
_
_

2
+ (x
i+1
x
i
)
2

_
_
,
unde > 0 este sucient de mic.
(ii) Determinam forma explicita a primului pas din metoda Newton.
Reamintim direct ia Newton: d
N
= [
2
f(x)]
1
f(x). Not and

(x) =

n1

i=1
_
_

2
+ (x
i+1
x
i
)
2

_
, se observa ca gradientul funct iei obiectiv
a problemei de la punctul a) este:
f(x) = 2(x y) +

(x).
Mai departe, Hessiana aceleiasi funct ii este dat a de:
2
f(x) = 2I
n
+

(x).

In concluzie, dicultatea se reduce la determinarea formei
explicite a gradientului si matricei Hessiane corespunz atoare funct iei

.
Pentru o expunere simplicata, not am g(u) =
n1

i=1
_
_

2
+ u
2
i

_
, si
observam ca

(x) = g(Ax), unde A R


n1n
dat a de:
A =
_

_
1 1 0 0 0 0
0 1 1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1 1
_

_
.
100 Capitolul 4. Metode de ordinul II
Precizam ca sunt suciente expresiile derivatelor funct iei g pentru a le
determina pe cele ale funct iei

. Astfel, determinam forma explicit a a


componentelor acestora:

i
g(u) =
u
i
_

2
+ u
2
i

2
ii
g(u) =

2
_

2
+ u
2
i
.
Deoarece funct ia g este separabila, Hessiana acesteia este matrice
diagonala.

In nal avem:
f(x) = 2(x y) + A
T
g(Ax)
2
f(x) = 2I
n
+ A
T

2
g(Ax)A
si observam ca matricea
2
f(x) este superior bidiagonala. Direct ia
Newton este dat a de solut ia sistemului superior bidiagonal:

2
f(x)d
N
= f(x),
ce se rezolv a n O(n) operat ii.
4.4 Probleme propuse
Problema 1. Pentru urmatoarele dou a probleme, sa se determine
punctele de optim si sa se implementeze primii trei pasi ai metodei
Newton standard, i.e. cu pas constant = 1:
(i) min
xR
ln(e
x
+ e
x
), pornind din x
0
= 1 si x
0
= 1.1
(ii) min
xR
ln x + x, pornind din x
0
= 3
Ce se observa dup a primii trei pasi?
Problema 2. Fie urmatoarea problem a de optimizare:
min
xR
2
x
2
1
+ 100x
2
2
Sa se implementeze metoda BFGS cu pas optim la ecare iterat ie,
pornind din punctul init ial x
0
= [1 1]
T
si matricea init iala H
0
= I
2
.

In
cat i pasi converge metoda la punctul de optim?
4.4. Probleme propuse 101
Problema 3. Sa se implementeze primii doi pasi ai metodei DFP
(Davidon-Fletcher-Powell) pentru urmatoarea problem a:
min
xR
2
x
2
1
+ 3x
2
2
+ e
1+x
2
1
+x
2
2
pornind din punctul init ial x = [1 1]
T
si matricea init iala H
0
= I
2
.
Problema 4. Pentru problema din exercit iul 2 din cadrul problemelor
propuse, sa se implementeze primele trei iterat ii ale algoritmului
Fletcher-Reeves de gradient i conjugat i pornind din acelasi punct init ial
si sa se compare iterat iile acesteia cu cele ale metodei BFGS.
Problema 5. Fie o matrice B R
nn
simetrica si doi vectori s, y R
n
.
Fie B
0
= B si sirul de matrice:

B
k
= B
k
+
(y B
k
s)s
T
s
T
s
, B
k+1
=

B
k
+

B
T
k
2
,
pentru orice k > 0. Ar atat i ca sirul B
k
converge la o matrice B
+
denit a
astfel:
B
+
= B +
(y Bs)s
T
+ s(y Bs)
T
s
T
s

(y Bs)
T
s
(s
T
s)
2
ss
T
.
Problema 6. Fie funct ia f convexa ca Hessiana
2
f(x) bloc diagonala.
Cum putem exploata aceasta structur a n calcularea direct iei Newton?
Ce semnicat ie are pentru f?
Problema 7. Pentru urmatoarele funct ii obiectiv, sa se determine
expresia lungimii unui pas selectat ideal

= min
0
f(x + d):
(i) f(x) =
m

i=1
log(b a
T
i
x). (ii) f(x) = log
_
m

i=1
e
(a
T
i
x+b
i
)
_
.
Problema 8. Descriet i o metoda ecienta de calcul al direct iei Newton
corespunz atoare funct iei:
f(x) =
m

i=1
log
_
x
T
Q
i
x b
T
i
x c
i
_
,
unde m n, iar matricele Q
i
R
nn
, Q
i
0 au dimensiuni mari si
structur a rara.
102 Capitolul 4. Metode de ordinul II
Problema 9. Fie vectorul y R
n
vector cunoscut, funct ia f : R
n
R
este denita de:
f(x) =
n

i=1
g(x
i
y
i
) +
n1

i=1
(x
i+1
x
i
)
2
unde g : R R este o funct ie convexa si de dou a ori diferent iabila,
> 0. Sa se determine expresia Hessianei
2
f(x). Care este num arul
de operat ii necesar pentru calcularea direct iei Newton n orice punct x?
Problema 10. Consideram urmatoarea problem a de optimizare
neconstr ans a:
min
xR
n
f(x) (=
p

i=1
g
i
(A
i
x b
i
))
unde A
i
R
m
i
n
, b
i
R
m
i
, m
i
n, iar g
i
: R
m
i
R funct ii convexe
si de dou a ori diferent iabile. Stiind ca A
i
au structur a rar a, calculat i
expresia Hessianei si a gradientului lui f si discutat i o modalitate
ecienta de implementare a metodei Newton pentru aceast a problem a.
Problema 11. Fie funct ia f(x) = 20 + x
2
1
10cos(2x
1
) + x
2
2

10cos(2x
2
). Sa se implementeze metoda cvasi-Newton (BFGS) cu
alegerea ideala a dimensiunii pasului pentru rezolvarea problemei:
min
xR
2
f(x). (4.5)
Sa se rezolve problema (4.5) prin apelarea funct iei fminunc si sa se
compare rezultatele obt inute.
Capitolul 5
Probleme de optimizare
constransa
5.1 Preliminarii
Acest capitol delimiteaz a nceputul unei importante part i din teoria
optimizarii, si anume analiza problemelor de optimizare cu restrict ii. O
problem a de optimizare constrans a (cu restrict ii) n forma generala este
dat a prin urmatoarea expresie:
min
xR
n
f(x) (5.1)
s.l.: g(x) 0, h(x) = 0,
unde funct ia obiectiv f : R
n
R si funct iile vectoriale ce denesc
constrangerile g : R
n
R
m
, h : R
n
R
p
, se presupun a de dou a
ori diferent iabile.
Introducem, mai departe, o serie de not iuni caracteristice problemelor de
optimizare constranse. Lagrangianul corespunz ator problemei (5.1) este:
L(x, , ) = f(x) +
T
g(x) +
T
h(x),
unde R
m
, R
p
reprezinta multiplicatorii Lagrange asociat i
constrangerilor de inegalitate, respectiv de egalitate. Condit iile necesare
de ordin I pentru probleme constranse de tip (5.1) se formuleaz a astfel:
dac a x

este un punct de minim local al problemei (5.1), atunci exist a


104 Capitolul 5. Probleme de optimizare constrans a

R
m
si

R
p
astfel ncat:
f(x

) +
m

i=1

i
g
i
(x

) +
p

i=1

i
h
i
(x

) = 0
g(x

) 0, h(x

) = 0

i
g
i
(x

) = 0

0.
Aceste relat ii formeaza sistemul KKT sau condit iile de optimalitate
Karush-Kuhn-Tucker.

In cazul nedegenerat, condit iile suciente de
optimalitate se enunt a dup a cum urmeaza: dac a x

satisface sistemul
KKT iar Hessiana Lagrangianului dat a de expresia:

2
x
L(x

, , ) =
2
f(x

) +
m

i=1

2
g
i
(x

) +
p

i=1

2
h
i
(x

)
este pozitiv denita pe subspat iul denit de:
M =
_
d : h(x

)d = 0, g
j
(x

)
T
d = 0 j /(x

)
_
(5.2)
unde /(x

) este mult imea constrangerilor active, atunci x

este un punct
de minim strict local.
5.2 Probleme rezolvate de laborator

In acest subcapitol vom utiliza mediul de programare Matlab pentru


rezolvarea unui numar de exemple de probleme de optimizare constr ans a.
5.2.1 Formularea unei probleme de optimizare n
forma standard
Exemplul 19. Un avion cargo are trei compartimente pentru transport
m arfuri, pe care le not am C
1
, C
2
si C
3
. Presupunem ca toate cele trei
compartimente sunt limitate din punct de vedere al greut at ii si volumului
admis asa cum se specica n urmatorul tabel:
Compartiment Limita greutate [t] Limita volum [m
3
]
C
1
10 6.8
C
2
16 8.6
C
3
8 5.3
5.2. Probleme rezolvate de laborator 105
Pentru a ment ine echilibrul avionului, ncarcatura ecarui compartiment
trebuie sa respecte un raport prestabilit cu limita de greutate
corespunz atoare. Marfurile transportate sunt descrise, n plus, si de
protul adus transportatorului.

In cele ce urmeaza, precizam pentru
ecare tip de m arf a, notat de la M
1
la M
4
, datele corespunz atoare:
Tip marfa Total disponibil [t] Volum [m
3
/t] Prot [$/t]
M
1
18 0.48 3100
M
2
15 0.65 3800
M
3
23 0.58 3500
M
4
12 0.39 2850
T in and cont ca avionul ne permite sa stocam mai multe tipuri de
marfa ntr-un singur compartiment, se doreste determinarea cantitat ilor
corespunz atoare ecarui tip de marfa astfel ncat protul pentru zbor sa
e maxim.
(i) Sa se formuleze aceasta problem a ca una de programare liniar a.
(ii) Sa se rezolve problema liniar a rezultata la punctul (i) cu ajutorul
mediului Matlab utiliz and funct ia linprog si limbajul CVX.
Rezolvare. Evident, vectorul variabilelor de decizie pentru aceast a
problem a este dat de cantitat ile de marfa ce trebuie alocate diferitelor
compartimente. Din moment ce putem stoca mai multe tipuri de marfa
ntr-un singur compartiment, avem posibilitatea de a stoca ntre 1 si
4 tipuri de marfa n ecare compartiment. Astfel, avem urmatoarea
variabil a de decizie:
x = [x
11
x
12
x
13
x
14
. . . x
34
x
44
]
T
= x
ij

1i3,1j4
,
unde x R
12
, indicele i = 1, . . . , 3 reprezinta numarul compartimentului,
iar j = 1, . . . , 4 reprezinta tipul de marfa. Funct ia obiectiv este liniar a
f(x) = c
T
x denita:
c = [3100 3800 3500 2850 3100 3800 3500 2850 . . . ]
T
.
Pe de alta parte, formularea constrangerilorn forma standard presupune:
- constrangerea cantitat ii disponibile per tip de marfa (nu putem livra
mai mult decat este disponibil). Constr angerile n acest caz au forma:
x
11
+ x
21
+ x
31
18 pentru primul tip de marfa, x
12
+ x
22
+ x
32
15
pentru al doilea tip s.a.m.d;
- limitarea masei totale dintr-un compartiment la o cantitate maxima
106 Capitolul 5. Probleme de optimizare constrans a
admisa, i.e. x
11
+ x
12
+ x
13
+ x
14
10, x
21
+ x
22
+ x
23
+ x
24
16 etc;
- volumul ncarcaturilor este limitat la o anumita valoare n ecare
compartiment, i.e. 0.48x
11
+0.65x
12
+0.58x
13
+0.39x
14
6.8, 0.48x
21
+
0.65x
22
+ 0.58x
23
+ 0.39x
24
8.6 etc;
- prin denit ia de pozitivitate a masei restrict ionam cantitat ile din ecare
marfa la valori nenegative: x 0;
- sect iunea din enunt : ncarcaturile din compartimente trebuie sa
aiba acelasi raport cu limitele lor de greutate furnizeaz a o serie de
constrangeri de egalitate:
1
10
(x
11
+ x
12
+ x
13
+ x
14
) =
1
16
(x
21
+ x
22
+ x
23
+ x
24
)
1
16
(x
21
+ x
22
+ x
23
+ x
24
) =
1
8
(x
31
+ x
32
+ x
33
+ x
34
) .

In nal, formularea de programare liniar a este denita astfel:


max
xR
12
c
T
x
s.l.: Ax = b, Cx d,
unde parametrii A R
212
si b R
2
cuprind constrangerile de egalitate,
iar cele de inegalitate sunt cuprinsen Cx d unde C R
2212
si b R
22
.
(ii) Pentru simplitate, furniz am doar codul n limbaj CVX pentru
rezolvarea acestei probleme, deoarece sintaxa rezolv arii cu funct ia Matlab
linprog este evidenta din apelarea comenzii helplinprog :
cvx_begin
variable x(12,1)
maximize ((c)*x)
subject to
A*x=b
C*x<=d
x>=0
cvx_end
5.2.2 Calcularea proiect iei ortogonale a unui punct
pe o mult ime convexa
Exemplul 20. Pentru ecare din urmatoarele mult imi convexe, sa se
calculeze proiect ia ortogonal a a punctului asociat utiliz and CVX:
5.2. Probleme rezolvate de laborator 107
(i) B = x R
2
: |x| 2, x
0
=
_
3
1
_
;
(ii) c = x R
2
: (x c)
T
P
1
(x c) 1, unde P =
_
25 0
0 16
_
, c =
_
1
1
_
, x
0
=
_
4
4
_
;
(iii) T = x R
3
: Ax b, unde A =
_
I
3
1
T
3
_
, b =
_

_
0
0
0
1
_

_
, x
0
=
_
_
1.6
1.6
1.5
_
_
.
Sa se gureze grac mult imile, punctele asociate si proiect iile ortogonale
ale acestor puncte.
Rezolvare.

In general, calculul proiect iei ortogonale unui punct a
0
pe
o mult ime X se realizeaz a prin rezolvarea urmatoarei probleme de
optimizare:
[a
0
]
(In,X)
= arg min
xX
|x a
0
|
2
. (5.3)
(i) Secvent a de cod CVX ce calculeaza proiect ia [x
0
]
(In,B)
unui punct x
0
pe mult imea B R
2
(vezi Fig. 5.1) este dat a n cele ce urmeaza:
x0=[3;1];
cvx_begin
variable xB(2);
minimize (xB*xB-2*xB*x0+x0*x0)
subject to
norm(xB)<=2;
cvx_end
Observand ca mult imea B este de tip bila cu raza 2 si centrul n origine,
reprezentarea graca este realizata prin:
%Mai intai gasim mai multe puncte din bila:
[x1,x2]=meshgrid(-2:0.1:2,-2:0.1:2);
z=sqrt(x1.^2+x2.^2);
d=(z<=2); ball1=[]; ball2=[];
for i=1:size(d,1)
for j=1:size(d,2);
if(d(i,j)==1)
108 Capitolul 5. Probleme de optimizare constrans a
ball1=[ball1; x1(i,j)];
ball2=[ball2; x2(i,j)];
end
end
end
Mai departe, trasam grac toate elementele obt inute:
figure(1)
hold on
axis([-4 4 -4 4]); scatter(ball1,ball2,+);
plot(x0(1),x0(2),ro,LineWidth,2);
plot(xB(1),xB(2),r+,LineWidth,2);
legend(Bila B,x_0,x_B);hold off;
4 3 2 1 0 1 2 3 4
4
3
2
1
0
1
2
3
4


Bila B
x
0
x
B
Figura 5.1: Proiect ia unui punct exterior pe mult ime tip bila.
(ii) Observam ca mult imea c R
2
este un elipsoid denit de matricea P
si centrat n punctul (1, 1). Codul CVX pentru determinarea proiect iei
punctului x
0
pe mult imea c (vezi Fig. 5.2), este redat de urmatoarea
secvent a:
Pinv=inv([25 0; 0 16]);
x0=[-4;-4]; xc=[1;1];
cvx_begin
variable xE(2);
minimize(xE*xE-2*xE*x0+x0*x0)
subject to
(xE-xc)*Pinv*(xE-xc)<=1;
cvx_end
Trasarea graca a mult imii c este realizata de secvent a de cod:
5.2. Probleme rezolvate de laborator 109
[x1,x2]=meshgrid(-6:0.1:6,-6:0.1:6);
y=Pinv*xc; const=xc*Pinv*xc;
z=x1.^2*Pinv(1,1)+x2.^2*Pinv(2,2)+2.*x1.*x2*Pinv(1,2)-...
2*(x1*y(1)+x2*y(2))+const;
d=(z<=1); ellipse1=[]; ellipse2=[];
for i=1:size(d,1)
for j=1:size(d,2);
if(d(i,j)==1)
ellipse1=[ellipse1; x1(i,j)];
ellipse2=[ellipse2; x2(i,j)];
end
end
end
figure(1)
hold on
axis([-7 7 -7 7]); scatter(ellipse1,ellipse2,+);
plot(x0(1),x0(2),ro,LineWidth,2);
plot(xE(1),xE(2),r+,LineWidth,2);
legend(Elipsoidul E,x_0,x_E); hold off;
6 4 2 0 2 4 6
6
4
2
0
2
4
6


Elipsoidul E
x
0
x
E
Figura 5.2: Proiect ia unui punct exterior pe mult ime tip elipsoid.
(iii) Calcularea proiect iei unui punct x
0
pe mult imea politopica T (vezi
Fig. 5.3) utiliz and CVX se realizeaz a n mod asem anator:
A=[-eye(3); ones(1,3)]; b=[zeros(3,1);1]; x0=[1;1;1];
cvx_begin
variable xT(3,1);
minimize (xT*xT-2*xT*x0+x0*x0)
subject to
A*xT<=b;
110 Capitolul 5. Probleme de optimizare constrans a
cvx_end
Figura 5.3: Proiect ia unui punct exterior pe mult ime tip politop.
Pentru a facilita reprezentarea graca, observam ca mult imea T poate
reprezentata ca acoperirea convexa a v arfurilor (vertex) sale. Astfel,
obt in andu-se proiect ia x
T
a punctului x
0
pe mult imea T , reprezentarea
graca se realizeaz a prin urmatoarea secvent a de cod:
x=[1; 0; 0; 0]; y=[0 ; 1; 0 ; 0]; z=[0 ; 0; 1; 0];
figure(1)
hold on
tetramesh(tesselation,[x(:) y(:) z(:)]);
x0hp = plot3(x0(1),x0(2),x0(3), ro);
set(x0hp, markersize, 10);
xThp = plot3(xT(1),xT(2),xT(3), r+);
plot3(points(1,:),points(2,:),points(3,:), r--);
set(xThp, markersize, 10); cameramenu; grid;
hold off
5.2. Probleme rezolvate de laborator 111
5.2.3 Metoda Gauss-Newton
Exemplul 21. Consideram urmatoarea problem a de optimizare
constrans a:
max
xR
n

i=1
x
i
ln(x
i
)
s.l.:
n

i=1
x
i
= 1,
n

i=1
x
i
c
i
= m, i = 1, 2, . . . , n,
unde c
i
si m sunt valori cunoscute.
Sistemul KKT al acestei probleme este denit de un sistem neliniar de
ecuat ii F(y) = 0, unde vectorul y este compus din variabila primal a x si
multiplicatorii Lagrange asociat i constrangerilor de egalitate, i.e.
y =
_
x

_
Rezolvarea sistemului KKT poate abordata prin dou a metode:
(i) metoda Gauss-Newton;
(ii) metoda Newton clasica.
Sa se rezolve problema anterioar a n Matlab prin aplicarea celor dou a
metode enumerate.
Rezolvare. Metoda Gauss-Newton este o metoda destinat a rezolv arii de
probleme CMMP neliniare, i.e. de exemplu:
min
yR
n
1
2
|F(y)|
2
, (5.4)
a carei solut ie rezolv a sistemul de ecuat ii F(y) = 0 n sens CMMP.
Procedura urmata de metoda Gauss-Newton presupune ca ntr-un punct
dat y
k
la iterat ia k, F(y) este liniarizat:
F(y) F(y
k
) + J(y
k
)(y y
k
),
unde J(y) este Jacobianul lui F(y). La urmatoarea iterat ie, y
k+1
, poate
determinata ca o solut ie a problemei liniare aproximative:
y
k+1
= arg min
yR
n
1
2
|F(y
k
) + J(y
k
)(y y
k
)|
2
.
112 Capitolul 5. Probleme de optimizare constrans a
Pentru simplitatea expunerii, renot am J(y
k
) cu J
k
, iar n loc de F(y
k
)
folosim F
k
. Dac a presupunem ca J
T
k
J
k
este inversabil a, atunci rezulta
iterat ia metodei Gauss-Newton denita de:
y
k+1
= arg min
yR
n
1
2
|F
k
+ J
k
(y y
k
)|
2
= y
k
+ arg min
dR
n
1
2
|F
k
+ J
k
d|
2
= y
k
(J
T
k
J
k
)
1
J
T
k
F
k
.
Astfel, n cazul particular n care x R
3
, punctul init ial este dat de
x
0
= [
1
9
3
7
3
10
]
T
, m = 6 si c = [3 6 9]
T
, scriem funct ia Matlab auxiliar a cu
sintaxa [F,J]=Fgauss(y,c,m) ce returneazan F si J valoarea vectorului
F(y) si a Jacobianului J(y). Utilizam criteriul de oprire |F(y)| < ,
unde este tolerant a prestabilita. Astfel, codul Matlab corespunz ator
implementarii metodei Gauss-Newton este:
function y=gauss_newt
x0=[1/9; 3/7; 3/10];
c=[3;6;9];mu1=0; mu2=0;
y=[x0;mu1;mu2]; eps=0.0001;m=6;
[F,J]=Fgauss(y,p,m);
while(norm(F)>eps)
y=y-(J*J)^(-1)*J*F;
[F,J]=Fgauss(y,p,m);
end

In Fig. 5.4 observam descresterea lui |F(y)|.


1 2 3 4 5 6
0
0.2
0.4
0.6
0.8
1
1.2
1.4
k
||F(y
k
)||
Figura 5.4: Evolut ia |F(y)| pentru metoda Gauss-Newton.
Implementarea metodei Newton clasice o l as am ca exercit iu cititorului.
5.2. Probleme rezolvate de laborator 113
5.2.4 Metoda gradientului proiectat
Exemplul 22. Fie problema de optimizare:
min
xR
2
(x
1
x
2
)
2
+ 6(x
1
x
2
)
4
+ 4x
1
+ 8x
2
s.l.: 4x
1
+ 3x
2
5, 2x
1
+ x
2
3,
x
1
+ x
2
= 3.
Sa se rezolve problema n Matlab cu metoda gradientului proiectat.
Rezolvare. Metoda gradient proiectat presupune proiect ia ortogonal a a
unui punct auxiliar (denit de deplasarea n direct ia antigradientului) pe
mult imea constrangerilor notata cu X, i.e.
x
k+1
= [x
k

k
f(x
k
)]
(In,X)
,
unde
k
poate ales de exemplu prin metoda backtracking. Denit ia
proiect iei ortogonale a unui punct y pe o mult ime X, notata [y]
(In,X)
este
dat a de solut ia problemei:
[y]
(In,X)
= arg min
x
1
2
|x y|
2
(5.5)
s.l.: x X.

In general, proiect ia pe mult imea descris a de:


X = x R
n
: Ax b, Cx = d ,
se realizeaz a observand formularea echivalenta a problemei (5.5):
min
x
1
2
x
T
I
n
x (x
k
)
T
x
s.l.: Ax b, Cx = d,
ce poate abordata, de exemplu, cu funct ia quadprog din Matlab.

In cazul particular prezentat, mult imea constrangerilor este denit a de:


X =
_
x R
2
: 4x
1
+ 3x
2
5, 2x
1
+ x
2
3, x
1
+ x
2
= 3
_
Cre am funct iile auxiliare:
[f,g]=f_proj(x) f=phi_proj(alpha,x,d),
114 Capitolul 5. Probleme de optimizare constrans a
unde prima funct ie returneaza f(x) si f(x), iar cea de-a doua
returneaza f(x +d). Pentru criteriul de oprire, vom folosi |x
k
x
k
| <
, unde x
k
este vectorul x
k

k
f(x
k
) proiectat pe mult imea
constrangerilor. Astfel, codul Matlab pentru implementarea metodei
gradientului proiectat este:
function x=projected_gradient(x0,eps)
x=x0;
%Multimea constrangerilor este poliedru
%definit de matricele si vectorii
A=[4 3; 2 1]; b=[5;-3];
C=[1 1]; d=3.5; xbar=x0+1; alpha2=0.5;
while (norm(xbar-x)>=eps)
[f,g]=f_proj(x);
alpha=fminsearch(@(alpha) phi_proj(alpha,x,-g),1);
grad_step=x-alpha*g;
xbar=quadprog(2*eye(2),-2*grad_step,A,b,C,d);
x=x+alpha2*(xbar-x);
end

In Fig. 5.5 observam punctele obt inute de metoda gradientului proiectat,


pornind din x
0
= [5 2].
6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
x
1
x
2
Figura 5.5: Puncte obt inute de metoda gradientului proiectat.
5.3. Probleme rezolvate de seminar 115
5.3 Probleme rezolvate de seminar
5.3.1 Problema duala, condit ii si puncte
Karush-Kuhn- Tucker
Problema 1. Fie problema de optimizare:
min
xR
2
|Ax|

s.l: |x|
1
1, e
x
1
+x
2
= 1, (a
T
x b)
2
1,
unde A =
_
2 1
1 2
_
, a = [3 4]
T
si b = 1. Sa se scrie aceast a problem a de
optimizare n forma LP explicita.
Rezolvare. Dac a consider am matricea A =
_
a
T
1
a
T
2
_
si denit ia normei
innit, atunci funct ia obiectiv se poate scrie drept:
|Ax|

=
_
_
_
_
_
a
T
1
a
T
2
_
x
_
_
_
_

= max
x
_
[a
T
1
x[, [a
T
2
x[
_
.
Introducem o variabil a articial a t pentru a muta funct ia obiectiv n
constrangeri, obt in andu-se astfel o problem a echivalenta cu cea original a:
min
xR
2
,tR
t
s.l: [a
T
1
x[ t, [a
T
2
x[ t,
|x|
1
1, e
x
1
+x
2
= 1, (a
T
x b)
2
1.
Din denit ia modulului, observam ca putem scrie primele dou a
constrangeri drept:
_
t a
T
1
x t
t a
T
2
x t

_
a
T
1
x t
a
T
2
x t
a
T
1
x t
a
T
2
x t

_
A
A
_
x t1
4
unde 1
4
este vectorul de dimensiune 4 cu toate elementele egale cu
1. Dac a introducem dou a variabile adit ionale s
1
, s
2
, si ne reamintim
116 Capitolul 5. Probleme de optimizare constrans a
denit ia normei 1, putem atunci rescrie constrangerea |x|
1
1 drept:
|x|
1
1 [x
1
[ +[x
2
[ 1
_

_
s
1
+ s
2
1
[x
1
[ s
1
[x
2
[ s
2
Observam acum faptul ca egalitatea e
x
1
+x
2
= 1 se reduce simplu la x
1
+
x
2
= 0, iar constrangerea (a
T
x b)
2
1 se reduce la:
1 a
T
x b 1
_
a
T
x b 1
a
T
x + b 1
Lu and astfel o variabil a de decizie z = [t x
1
x
2
s
1
s
2
]
T
, problema noastr a
originala se poate rescrie ca un LP:
min
zR
5
c
T
z
s.l A
z
z = b
z
C
z
z d
z
unde c = [1 0 0 0 0]
T
, A
z
= [0 1 1 0 0] si b
z
= 0, iar
C
z
=
_

_
1 2 1 0 0
1 1 2 0 0
1 2 1 0 0
1 1 2 0 0
0 0 0 1 1
0 1 0 1 0
0 1 0 1 0
0 0 1 0 1
0 0 1 0 1
0 3 4 0 0
0 3 4 0 0
_

_
si d
z
=
_

_
0
0
0
0
1
0
0
0
0
2
0
_

_
.
Problema 2. Fie problema de optimizare urmatoare:
min
xR
n
|x|
1
s.l.: Ax = b.
5.3. Probleme rezolvate de seminar 117
(i) Ar atat i ca aceasta problem a se poate reformula ca una de programare
liniar a.
(ii) Aducet i problema la forma de programare liniar a (LP) standard.
(iii) Determinat i problema duala corespunz atoare.
Rezolvare. (i) Utilizand denit ia normei 1 obt inem reformularea:
min
xR
n
n

i=1
[x
i
[
s.l.: Ax = b.
Mai departe, folosim procedura de reformulare a unei probleme de
optimizare generale ntr-o problem a cu funct ie obiectiv liniar a, cobor and
n constrangeri componentele sumei:
min
x,tR
n
n

i=1
t
i
s.l.: [x
i
[ t
i
, i = 1, . . . , n,
Ax = b.
Din denit ia modulului rezulta echivalent a inegalitat ii [y[ t cu t
y t. Aplicand n problema noastr a aceasta transformare obt inem o
problem a de programare liniar a:
min
x,tR
n
n

i=1
t
i
s.l.: x
i
t
i
, i = 1, . . . , n,
x
i
t
i
, i = 1, . . . , n,
Ax = b,
(ii) Forma standard a problemelor de programare liniar a este denit a de:
min
xR
n
c
T
x
s.l.: Ax = b,
x 0.
Pentru a aduce problema de la punctul (i) la forma standard, introducem
un set de variabile virtuale, rescriind ecare variabil a de decizie din
problema de optimizare init iala:
x
i
= x
+
i
x

i
, unde x
+
i
0, x

i
0.
118 Capitolul 5. Probleme de optimizare constrans a

In plus, reformul am inegalitat ile n urmatorul mod:


t
i
x
i
= s
2i1
, unde s
2i1
0,
t
i
+ x
i
= s
2i
, unde s
2i
0,
i = 1, . . . , n.
Cu ajutorul acestei reformul ari obt inem o problem a de programare liniar a
n forma standard:
min
x
+
,x

,tR
n
,sR
2n
n

i=1
t
i
s.l.: t
i
x
i
= s
2i1
,
t
i
+ x
i
= s
2i
, i = 1, . . . , n,
A(x
+
x

) = b,
s 0, x
+
0, x

0, t 0.
unde x
+
= [x
+
1
. . . x
+
n
]
T
, x

= [x

1
. . . x

n
]
T
.
Mai compact avem:
min
zR
5n
c
T
z
s.l.: Dz = d
z 0,
unde z =
_

_
x
+
x

t
s
_

_
, D =
_
M
N
_
, M R
m5n
, N R
2n5n
.
(iii) Pentru a determina problema duala, calculam Lagrangianul asociat
problemei primale:
L(x, t, ,
+
,

) =
n

i=1
t
i
+
T
(Ax b) +
+
T
(t x)

T
(t + x)
= (e +
+

)
T
t
+
T
x

T
x +
T
(Ax b)
= (e +
+

)
T
t +
_
A
T

+

_
T
x
T
b,
unde vectorul e are componentele egale cu 1. Obt inem funct ia duala prin
minimizarea Lagrangianului n raport cu variabilele primale:
q(,
+
,

) = min
x,tR
n
(e +
+

)
T
t +
_
A
T

+

_
T
x
T
b.
5.3. Probleme rezolvate de seminar 119
Observand ca q(,
+
,

) ia valori nite doar n cazul n care


e +
+

= 0
A
T

+

= 0,
aceste relat ii au rolul de constrangeri n component a problemei duale.

In
concluzie, problema duala asociat a problemei din enunt este dat a de:
max
,
+
,

T
b
e +
+

= 0
A
T

+

= 0

+
0,

0.
Remarca 3. Observat i ca problema din enunt reprezinta proiect ia
ortogonal a a punctului 0 pe subspat iul Ax = b, n raport cu norma 1.
Problema 3. Fie problema de programare liniar a:
min
x
1
,x
2
50x
1
+ 80x
2
s.l.: 3x
1
6, 2x
1
+ 4x
2
10,
2x
1
+ 5x
2
8, x
1
0, x
2
0.
Determinat i problema duala corespunz atoare.
Rezolvare. Pentru o expunere simpl a not am funct ia obiectiv si
constrangerile problemei precedente dup a cum urmeaza:
min
x
1
,x
2
c
T
x
s.l.: Ax b, x 0,
unde c =
_
50
80
_
, A =
_
_
3 0
2 4
2 5
_
_
, b =
_
_
6
10
8
_
_
.

In continuare, observam
ca Lagrangianul problemei este dat de relat ia:
L(x,
1
,
2
) = c
T
x +
T
1
(Ax b)
T
2
x,
unde
1
R
3
,
1
= [
1
1

2
1

3
1
]
T
, iar
2
R
2
.
120 Capitolul 5. Probleme de optimizare constrans a
Funct ia duala q(
1
,
2
) = min
xR
2
_
c + A
T

2
_
x
T
1
b ia valori nite
atunci cand c+A
T

2
= 0. De aceea, impunand aceast a constr angere
variabilelor duale, rezulta problema duala:
max

1
R
3
,
2
R
2

T
1
b
s.l.: c + A
T

2
= 0,

1
0,
2
0,
sau echivalent,
max

1
R
3
,
2
R
2

T
1
b
s.l.: c + A
T

1
0,

2
0.
Mai exact, substituind valorile parametrilor obt inem:
max

1
R
3
,
2
R
2
6
1
1
+ 10
2
1
+ 8
3
1
s.l.: 3
1
1
+ 2
2
1
+ 2
3
1
50,
4
2
1
+ 5
3
1
80,

2
0.
Problema 4. Numeroase probleme din statistic a, nv at are automata,
recunoastere de imagini/fet e, presupun clasicarea de obiecte sau imagini
prin determinarea unui model matematic capabil sa recunoasc a si sa
ncadreze ntr-o clas a o instant a nou a de obiect/imagine. Una dintre
cele mai renumite tehnici de recunoastere/clasicare este SVM (Support
Vector Machine), ce se formuleaz a sub forma unei probleme patratice de
optimizare:
min
aR
n
,bR
1
2
|a|
2
s.l.: c
i
_
a
T
y
i
b
_
1, i = 1, . . . , m.
Variabilele de decizie a, b reprezinta parametrii unui hiperplan de
separare a claselor de obiecte/imagini, asa cum se observa n Fig. 5.6
(vezi [1]). Sa se determine problema duala.
5.3. Probleme rezolvate de seminar 121
Figura 5.6: Hiperplan de separare a dou a clase de obiecte.
Rezolvare. Lagrangianul problemei este dat de relat ia:
L(x, ) =
1
2
|a|
2

i=1

i
_
c
i
(a
T
y
i
b) 1

.
Forma explicita a funct iei duale:
q() = min
aR
n
,bR
1
2
|a|
2

i=1

i
_
c
i
(a
T
y
i
b) 1

,
este denita de condit iile de optimalitate de ordin I:
a

i=1
c
i

i
y
i
= 0,
n

i=1
c
i

i
= 0.
Ambele relat ii se obt in din derivarea Lagrangianului n raport cu a,
respectiv cu b, anularea expresiei rezultate si egalarea cu 0. Deoarece
a doua egalitate asigura ca funct ia duala ia valori nite, aceasta devine
o constrangere necesara a problemei duale. De aceea, prin substituirea
valorii optime a

n expresia Lagrangianului avem:


q() =
1
2
|
n

i=1
c
i

i
y
i
|
2

i=1
n

j=1

i
c
i
c
j

j
(y
T
i
y
j
) +
n

i=1

i
=
1
2
|
n

i=1
c
i

i
y
i
|
2
|
n

i=1
c
i

i
y
i
|
2
+
n

i=1

i
=
1
2
|
n

i=1
c
i

i
y
i
|
2
+
n

i=1

i
,
122 Capitolul 5. Probleme de optimizare constrans a
putem obt ine problema duala asociat a, care observam ca este concav a:
max
R
m

1
2
|
n

i=1
c
i

i
y
i
|
2
+
n

i=1

i
s.l.:
n

i=1
c
i

i
= 0,
i
0, i = 1, . . . , n.
Utilizand notat iile = [
1
. . .
m
]
T
, c = [c
1
. . . c
m
]
T
, e = [1 . . . 1]
T
si
observand forma patratic a a problemei duale obt inem reformularea:
max
R
m

1
2

T
Q e
T

s.l.: c
T
= 0, 0,
unde matricea Q R
n
, Q = Q
T
, are elementele Q
ij
= c
i
c
j
a
T
i
a
j
.
Problema 5. Fie problema celor mai mici patrate (CMMP), ce
presupune calculul unei solut ii corespunz atoare unui sistem liniar de
ecuat ii subdeterminat. Se observa usor ca problema se reduce la
determinarea unui vector de norm a minima ce satisface sistemul liniar
studiat:
min
xR
n
1
2
|x|
2
s.l.: Ax = b,
unde A R
mn
, b R
m
. Sa se calculeze problema duala a problemei de
minimizare.
Rezolvare. Deoarece problema de minimizare prezinta doar constr angeri
de tip egalitate, denim Lagrangianul:
L(x, ) =
1
2
x
T
x +
T
(Ax b).
Astfel, funct ia duala este dat a de solut ia problemei urmatoare:
q() = min
xR
n
1
2
x
T
x +
T
(Ax b).
Se obt ine usor solut ia x

= A
T
. Substituind n problema precedenta,
obt inem funct ia duala patratic a concav a:
q() =
1
2

T
AA
T

T
b.
5.3. Probleme rezolvate de seminar 123

In concluzie, problema duala poate formulata ca o problem a patratic a


convexa:
q

= max
R
m

1
2

T
AA
T

T
b.
Mai mult decat at at, din condit iile de optimalitate ale problemei duale
avem: q() = AA
T
b = 0.

In cazul n care rang(A) = m, obt inem

= (AA
T
)
1
b si x

= A
T
(AA
T
)
1
b, cu remarca importanta ca x

este
solut ia clasic a CMMP.
Problema 6. Fie problema de optimizare:
min
xR
n
1
2
x
T
x
s.l.: Ax b,
unde A R
mn
, iar rang(A) = m. Sa se determine problema duala si
punctul de optim.
Rezolvare. Pentru determinarea problemei duale calculam Lagrangianul
problemei primale:
L(x, ) =
1
2
x
T
x +
T
(Ax b).
De asemenea, funct ia duala este dat a de:
q() = min
xR
n
L(x, ) = min
xR
n
1
2
x
T
x +
T
(Ax b).
Deoarece funct ia obiectiv a acestei probleme este convexa, condit iile de
optimalitate de ordin I sunt suciente pentru determinarea optimului
x

() = A
T
, iar prin substitut ia n q() obt inem:
q() =
1
2

T
AA
T
+
T
(A(A
T
) b)
=
1
2

T
AA
T

T
b.

In nal, problema duala este denita de:


q

= max
0
q()
_
:=
1
2

T
AA
T

T
b
_
. (5.6)
124 Capitolul 5. Probleme de optimizare constrans a
Dac a matricea A are rangul maxim (implicit AA
T
inversabil a si pozitiv
denita), observam ca solut ia problemei (5.6) este dat a de:

= arg min
0
1
2
|A
T
+A
T
(AA
T
)
1
b|
2
2
= arg min
0
1
2
|A
T
(+(AA
T
)
1
b)|
2
2
.

In concluzie, observam un compromis ntre problema primal a si cea


duala: n cazul problemei primale funct ia obiectiv are o forma
foarte simpl a, iar constrangerile reprezinta dicultatea central a; n
cazul problemei duale, funct ia obiectiv este relativ complicat a, iar
constrangerile au forma simpl a.
Problema 7. Fie problema de optimizare constrans a:
min
xR
n
c
T
x
n

i=1
x
i
ln x
i
s.l.
n

i=1
x
i
= 1, x 0,
unde c R
n
. (i) Sa se determine dac a problema este convexa.
(ii) Sa se determine un punct KKT pentru aceasta problem a.
Rezolvare. (i) Pentru a determina convexitatea problemei, observam
n primul rand ca toate constrangerile sunt liniare, deci mult imea
constrangerilor este convexa.

In cazul funct iei obiectiv nsa, calculam
matricea Hessian a:

2
f(x) =
_

1
x
1
0 . . . 0
0
1
x
2
. . . 0
.
.
.
.
.
.
.
.
.
0 . . . 0
1
xn
_

_
si observam ca este negativ semidenita pe tot domeniul de denit ie al
funct iei obiectiv domf = R
n
+
.

In concluzie, funct ia obiectiv este concav a,


rezultand o problem a de optimizare neconvexa.
(ii) Indicam o procedur a relativ inedita pentru determinarea unui punct
KKT. Si anume, folosim structura problemei observand condit iile de
optimalitate de ordin I:
c
i
ln x
i
1 = 0, i = 1, . . . , n.
5.3. Probleme rezolvate de seminar 125
Aceste condit ii furnizeaz a punctul de optim neconstr ans denit de
componentele x

i
= e
c
i
1
.
Dac a proiect am punctul de optim neconstr ans pe hiperplanul:
H =
_
x R
n
:
n

i=1
x
i
= 1
_
obt inem vectorul y

denit de componentele:
y

i
=
e
c
i
1

n
j=1
e
c
j
1
0,

i
y

i
= 1.

In nal, vericam dac a y

obt inut satisface urmatorul sistem KKT:


_

_
c
i
ln y

i
1 +

i
+

= 0,
n

i=1
y

i
= 1, y

i
0,

i
0,

i
y

i
= 0, i = 1, . . . , n.
Observand ca y

i
> 0 atunci condit iile de complementaritate impun

i
=
0 pentru orice i = 1 . . . n. De asemenea, condit ia de optimalitate c
i
(c
i

1)+ln

n
j=1
e
c
j
1+ = 0 este satisfacuta dac a impunem = ln

j
e
c
j
.

In aceste condit ii, y

satisface condit iile KKT, ind un punct stat ionar


pentru problema din enunt .
Problema 8. Fie problema de minimizare:
min
x
1
,x
2
R
x
2
s.l.: 1 x
2
1
x
2
2
0.
(i) Determinat i punctele KKT pentru aceasta problem a.
(ii) G asit i punctele de minim strict locale.
Rezolvare. (i) Funct ia Lagrange corespunz atoare funct iei obiectiv are
urmatoarea forma:
L(x, ) = x
2
+ (x
2
1
+ x
2
2
1).
126 Capitolul 5. Probleme de optimizare constrans a
Derivand Lagrangianul n funct ie de variabilele x
1
si x
2
rezulta urmatorul
sistem KKT asociat problemei:
_

_
2x
1
= 0
1 + 2x
2
= 0
x
2
1
+ x
2
2
1 0
0
(x
2
1
+ x
2
2
1) = 0.
Prima relat ie x
1
= 0 impune x
1
= 0 sau = 0. Constat am usor
ca pentru = 0, sistemul nu are solut ie. De aceea, din x
1
= 0 avem
x
2
=
1
2
si substituind n constrangerea de tip inegalitate obt inem:
1
4
2
1 0
2

1
4
.
Din moment ce 0, avem
1
2
. Iar din relat ia de complementaritate
avem:
4
2
4
2
= 0 =
1
2
.

In concluzie, x
2
= 1, iar punctele KKT n acest caz sunt denite de:
x

=
_
0
1
_
si

=
1
2
.
(ii) Pentru a ar ata ca punctul KKT gasit este punct de minim, calculam
mai ntai planul tangent:
M =
_
d: g
j
(x

)
T
d = 0 j /(x

)
_
unde /(x

) = j : g
j
(x

) = 0. Evident pentru x

= [0 1]
T
,
constrangerea noastr a g(x

) = (x

1
)
2
+ (x

2
)
2
1 = 0, deci este activa,
iar

=
1
2
0. Gradientul funct iei de constrangere este:
g(x) =
_
2x
1
2x
2
_
(5.7)
iar g(x

) = [0 2]
T
. Astfel, planul tangent este:
M =
_
d R
2
: d
2
= 0
_
Pentru ca x

sa e punct de minim strict, atunci


2
x
L(x

) trebuie sa
e pozitiv denita pe M. Printr-un calcul simplu, observam ca:

2
x
L(x

) =
_
2

0
0 2

_
=
_
1 0
0 1
_
5.3. Probleme rezolvate de seminar 127
Deci pentru d M avem:
d
T

2
x
L(x

)d = d
2
1
> 0
si concluzionam ca x

= [0 1]
T
este punct de minim strict local.
Problema 9. Fie problema de optimizare constrans a:
min
xR
2
1
2
(x
2
1
+ x
2
2
)
s.l (x
1
+ x
2
1)
2
= 0
(i) Sa se arate ca problema este convexa.
(ii) Sa se rezolve sistemul KKT asociat problemei. Vericat i dac a punctul
obt inut este punct de minim global.
Rezolvare. (i) Funct ia obiectiv se formuleaz a matriceal f(x) =
1
2
x
T
I
2
x.
Observam ca Hessiana acesteia este pozitiv denita, deci funct ia obiectiv
este convexa. Pe de alta parte, constrangerea (x
1
+ x
2
1)
2
= 0 este
evident echivalenta cu egalitatea liniar a x
1
+x
2
1 = 0. Deoarece singura
constrangere este liniar a, avem ca mult imea fezabila este convexa.
(ii) Derivand Lagrangianul asociat problemei:
L(x, ) =
1
2
(x
2
1
+ x
2
2
) + (x
1
+ x
2
1)
obt inem sistemul KKT:
_

_
x
1
+ = 0
x
2
+ = 0
x
1
+ x
2
1 = 0
din care rezulta

=
1
2
si x

1
= x

2
=
1
2
. Pentru a verica dac a x

este
punct de minim strict local, atunci calculam mai ntai planul tangent
M =
_
d R
2
: h(x

)d = 0
_
=
_
d R
2
: d
1
+ d
2
= 0
_
. (5.8)
Remarc and ca:
d
T

2
f(x

)d = d
2
1
+ d
2
2
> 0, d M,
concluzionam ca x

este punct de minim global strict.


128 Capitolul 5. Probleme de optimizare constrans a
Problema 10. Fie urmatoarea problem a:
min
xR
3
f(x): =
1
2
(x
2
1
+ x
2
2
+ x
2
3
)
s.l g
1
(x): = x
1
+ x
2
+ x
3
0
g
2
(x): = x
1
0.
Sa se gaseasca punctele KKT asociate.
Rezolvare. Observam ca orice punct fezabil pentru aceasta problem a este
un punct regulat, iar din condit iile ale sistemului KKT obt inem:
Optimalitate
x

1
+

1
+

2
= 0,
x

2
+

1
= 0,
x

3
+

1
= 0,
Fezabilitate
x

1
+ x

2
+ x

3
0, x

1
0,

1
0,

2
0,
Complementaritate

1
(x

1
+ x

2
+ x

3
) = 0,

2
x

1
= 0.
Din condit iile de optimalitate avem x

1
=

2
, x

2
=

1
, x

3
=

2
.
Substituind aceste expresii n condit iile de complementaritate rezulta
sistemul:
3(

1
)
2
+

2
= 0,
(

2
)
2
+

2
= 0,
ce elimina posibilit at ile ca

1
= 0,

2
> 0 sau

1
> 0,

2
= 0. De aceea,
ramane sa vericam cazurile cand

1
> 0,

2
> 0 sau

1
= 0,

2
= 0.
Primul din cazurile ramase nu este posibil deoarece x

1
=

2
si
a doua condit ie de complementaritate nu este satisfacuta.

In concluzie,
doar punctul nul satisface condit iile KKT.
Problema 11. Fie problema de optimizare constrans a:
min
xR
2
x
2
1
x
2
2
x
1
+ x
2
0.
(i) Sa se determine punctele KKT;
(ii) Aat i funct ia duala si problema duala.
Rezolvare. (i) Lagrangianul acestei probleme este denit de:
L(x, ) = x
2
1
x
2
2
(x
1
+ x
2
),
5.4. Probleme propuse 129
deci sistemul KKT este dat de:
_

x
L(x

) = 0,
x

1
x

2
0,

0,

(x

1
+ x

2
) = 0.
Din prima ecuat ie a sistemului KKT rezulta:
x

1
=

2
, x

2
=

2
.

Inlocuind n ultima ecuat ie si remarc and ca fezabilitatea primala este


satisfacuta, deducem ca

poate lua o innitate de valori.


(ii) Remarc am o expresie neobisnuita a funct iei duale:
q() = min
xR
2
L(x, ) = min
xR
2
x
2
1
x
2
2
(x
1
+ x
2
) = 0,
de aceea constatam ca problema duala nu este o problem a de optimizare
propriu-zisa: max
0
0.
5.4 Probleme propuse
Problema 1. Sa se arate ca x

= [1 1/2 1]
T
este punctul minim global
pentru urmatoarea problem a de optimizare:
min
xR
3
1
2
x
T
Px + q
T
x + r
s.l.: 1 x
i
1, i = 1, 2, 3,
unde
P =
_
_
13 12 2
12 17 6
2 6 12
_
_
, q =
_
_
22.0
14.5
13
_
_
, r = 1.
Problema 2. Sa se determine condit iile necesare si suciente n cea
mai simpl a forma pentru ca x R
n
sa reprezinte punctul de optim
corespunz ator unei funct ii convexe diferent iabile f peste mult imea de
130 Capitolul 5. Probleme de optimizare constrans a
tip simplex, i.e.: x :
n

i=1
x
i
= 1, x
i
0, i = 1, . . . , n.
Problema 3. Sa se nlocuiasca funct ia obiectiv din problema 1
(Probleme rezolvate) cu |x|

si sa se rezolve noua problem a.


Problema 4. Sa se determine sistemul KKT pentru urmatoarea
problem a de optimizare:
min
xR
2
x
2
1
+ x
2
2
s.l (x
1
1)
2
+ (x
2
1)
2
1,
(x
1
1)
2
+ (x
2
+ 1)
2
1.
Exista multiplicatori Lagrange

1
si

2
care sa demonstreze ca punctul
x

este optim?
Problema 5. Fie problema de optimizare:
min
xR
3
x
4
1
+ x
4
2
+ x
4
3
+ (x
1
+ 2x
2
4)
2
s.l x
1
+ x
2
+ x
3
= 1, x 0.
Sa se scrie primul pas al metodei gradient proiectat, pornind din punctul
init ial x
0
= [1 0 0]
T
si alegand pasul s
k
= 1.
Problema 6. Fie problema de optimizare:
min
xR
2
x
4
1
+ x
4
2
+ (x
1
1)
2
+ (x
2
4)
2
s.l x
1
+ x
2
= 16
Sa se scrie aproximarea Taylor de ordin II pentru funct ia obiectiv si sa
se scrie primul pas al metodei Newton proiectat pornind din punctul
init ial x
0
= [14 2]
T
.
Problema 7. Fie problema de optimizare:
min
xR
2
x
2
1
+ 1
s.l (x 1)(x 4) 0
Sa se determine mult imea fezabila, punctul de minim si valoarea minim a
pentru aceasta problem a. Sa se traseze pe acelasi grac funct ia obiectiv,
5.4. Probleme propuse 131
mult imea fezabila, punctul de minim si Lagrangianul L(x, ) pentru dou a
valori pozitive ale lui luate la alegere. Sa se formuleze problema duala,
sa se demonstreze ca este concav a si sa se gaseasca punctul optim dual

.
Problema 8. Consideram problema celor mai mici patrate cu
constrangeri de egalitate:
min
xR
n
|Ax b|
2
2
s.l.: Cx = d
unde A R
mn
, rang(A) = n, C R
pn
, cu rang(C) = p. Sa se
expliciteze condit iile KKT ale acestei probleme si sa se determine
expresia solut iei primale x

si a celei duale

.
Problema 9. Fie problema de optimizare:
min
xR
2
3x
2
1
+ x
2
2
+ 2x
2
3
+ 2(x
1
+ x
2
+ x
3
)
s.l.: x
2
1
+ x
2
2
+ x
2
3
= 1
Sa se determine punctele punctele KKT pentru aceasta problem a. Care
pereche de puncte i va corespunde punctului de optim?.
Problema 10. Fie problema de optimizare:
min
xR
n
n

i=1
log(c
i
+ x
i
)
s.l.: x 0,
n

i=1
x
i
= 1,
unde c
i
reprezinta parametrii cunoscut i.
(i) Sa se determine problema duala.
(ii) Sa se determine un punct KKT.
Capitolul 6
Metode pentru probleme de
optimizare constransa
6.1 Preliminarii
Consideram o problem a de optimizare NLP generala de urmatoarea
forma:
min
xR
n
f(x) (6.1)
s.l.: g(x) 0, h(x) = 0,
unde funct ia obiectiv f : R
n
R si funct iile vectoriale ce denesc
constrangerile de egalitate si inegalitate h : R
n
R
p
si respectiv
g : R
n
R
m
se presupun a de dou a ori diferent iabile.

In acest capitol
vom implementa algoritmi bine cunoscut i pentru rezolvarea acestui tip
de problem a de optimizare.
6.1.1 Probleme neconvexe cu constrangeri de
egalitate
Consideram mai ntai probleme n care avem doar constr angeri de
egalitate neliniare:
min
xR
n
f(x) (6.2)
s.l.: h(x) = 0,
6.1. Preliminarii 133
unde h(x) este o funct ie neliniara. Pentru acest tip de probleme vom
utiliza metoda Lagrange-Newton, ce se bazeaz a esent ial pe condit iile
KKT:

x
L(x, ) = 0, h(x) = 0 L(x, ) = 0, (6.3)
unde L() este funct ia Lagrange. Concatenam variabila de decizie x
si multiplicatorul Lagrange ntr-o singura variabil a y = [x
T

T
]
T
, iar
solut iile problemei (6.2) se gasesc printre radacinile sistemului neliniar
de ecuat ii:
F(y) = L(x, ) =
_

x
L(x, )
h(x)
_
= 0.
Acest sistem poate rezolvat prin metoda Newton:
F(y
k
) +
F
y
(y
k
)(y y
k
) = 0 si iterat ia y
k+1
= y
k

_
F
y
(y
k
)
_
1
F(y
k
).
Dac a scriem n termeni de gradient i avem:

x
L(x
k
,
k
) +
2
x
L(x
k
,
k
)(x x
k
) +h(x
k
)
T
(
k
) = 0
h(x
k
) +h(x
k
)(x x
k
) = 0,
iar n forma matriceala:
_

2
x
L(x
k
,
k
) h(x
k
)
T
h(x
k
) 0
_ _
x x
k

k
_
=
_

x
L(x
k
,
k
)
h(x
k
)
_
din care obt inem iterat ia Lagrange-Newton
x
k+1
= x
k
+ d
k
,
k+1
=
k
+ d

k
,
unde direct iile d
x
k
, d

k
vor desigur solut iile sistemului:
_

2
x
L(x
k
,
k
) h(x
k
)
T
h(x
k
) 0
_ _
d
x
k
d

k
_
=
_

x
L(x
k
,
k
)
h(x
k
)
_
.
6.1.2 Probleme convexe cu constrangeri de
egalitate

In cazul problemelor convexe av and numai constrangeri de egalitate, i.e.:


min
xR
n
f(x) (6.4)
s.l.: Ax = b,
134 Capitolul 6. Metode pentru probleme de optimizare constrans a
se utilizeaz a metoda Newton extins a, dup a cum urmeaza.

In mod
analogic cu metoda Newton pentru probleme neconstr anse, nlocuim
funct ia obiectiv cu aproximarea Taylor de ordin II:
min
dR
n

f(x + d) = f(x) +f(x)


T
d +
1
2
d
T

2
f(x)d
s.l.: A(x + d) = b
Sistemul KKT rezultat pentru problema patratic a convexa anterioar a
este:
_

2
f(x) A
T
A 0
_
. .
K
_
d

_
=
_
f(x)
0
_
. .
l
de unde obt inem direct ia d. Iterat ia metodei Newton extinse const a n
x
k+1
= x
k
+ d
k
,
unde d
k
este solut ia problemei patratice precedente consider and x = x
k
(sau echivalent a sistemului liniar anterior). Denim acum decrementul
Newton:
D(x) =
_
d
T

2
f(x)d
_
1/2
Diferent a dintre f(x) si minimul aproximarii patratice este:
f(x) min
_

f(x + d)[ A(x + d) = b


_
=
D(x)
2
2
,
deci
D(x)
2
2
reprezinta o estimare bun a pentru f(x) f

si poate astfel
utilizata drept criteriu de oprire, i.e. D(x
k
)

2
pentru o precizie > 0
dat a.
6.1.3 Probleme convexe generale
Revenind la problema generala (6.1) convexa (i.e. funct iile f si g
i
sunt
convexe, iar funct ia h este liniar a de forma h(x) = Ax b), introducem
clasa metodelor de punct interior (numite adesea si metode tip bariera)
pentru rezolvarea acestora. Presupunem ca problema (6.1) este strict
fezabila, anume sa existe un xncat Ax = b si g(x) < 0. Astfel, condit iile
Slater pentru constrangeri sunt satisfacute, iar drept urmare dualitatea
puternic a are loc, i.e. exist a un punct dual format din

R
m
si

R
p
,
6.1. Preliminarii 135
care mpreun a cu un x

sa satisfac a condit ia f(x

) = q(

). Mai mult,
condit iile KKT au loc:
f(x

) +
m

i=1

i
g
i
(x

) + A
T

= 0
g(x

) 0, Ax

= b

i
g
i
(x

) = 0

0.
Metodele de punct interior rezolv a problema (6.1) sau condit iile KKT
ment ionate anterior prin aplicarea metodei Newton asupra unei secvent e
de probleme cu constrangeri de egalitate, sau asupra unei secvent e de
condit ii KKT modicate.

In continuare, ne concentr am asupra unei astfel
de metode.
Ideea fundamentala ce st a la baza clasei algoritmilor de punct interior este
reformularea problemei (6.1) ca o problem a cu constrangeri de egalitate,
prin transferul constrangerilor de inegalitate n functia obiectiv:
min
x
f(x) +
m

i=1
I

(g
i
(x))
s.l.: Ax = b,
unde I

: R R este funct ia indicator pentru numere nepozitive:


I

(y) =
_
0, daca y 0
, daca y > 0.
(6.5)
Prin aceasta reformulare am eliminat constrangerile de inegalitate, nsa
apare problema major a a nediferent iabilit at ii noii funct ii obiectiv.

In
acest scop, funct ia indicator I

se aproximeaza cu una diferent iabila:

(y) = log(y),
unde > 0, numit si parametru de bariera, este un parametru ajustabil
pentru acuratet ea aproximarii. Problema noastr a original a (6.1) va
astfel aproximat a cu:
min
xR
n
f(x) + B(x) (6.6)
s.l.: Ax = b,
136 Capitolul 6. Metode pentru probleme de optimizare constrans a
unde B(x) =

m
i=1
log(g
i
(x)) se numeste bariera logaritmica pentru
problema (6.1). Aceasta subproblem a reprezinta o aproximare a
problemei originale si poate rezolvat a prin metoda Newton extins a.
Notam cu x() solut ia acestei subprobleme. Ment ionam ca gradientul si
Hessiana barierei logaritmice sunt date de urmatoarele relat ii:
B(x) =
m

i=1
1
g
i
(x)
g
i
(x)

2
B(x) =
m

i=1
1
g
i
(x)
2
g
i
(x)g
i
(x)
T
+
1
g
i
(x)

2
g
i
(x).
Un concept esent ial n metodele de punct interior este acela de cale
centrala: punctele x() se aa pe calea central a dac a sunt strict fezabile,
anume satisfac constrangerile:
Ax() = b, g(x()) < 0
si exist a un R
p
astfel ncat
f(x()) + B(x()) + A
T
= 0. (6.7)
Astfel, putem deriva o proprietate importanta a punctelor de pe calea
central a: orice punct de pe aceasta cale produce un punct dual fezabil,
si astfel o limita inferioara a lui f

.

In mod specic, consider and:

i
() =

g
i
(x())
si () =
se poate demonstra usor ca perechea () si () este dual fezabila.
Astfel, funct ia duala q((), ()) este nita, iar:
q((), ()) = f(x()) +
m

i=1

i
()g
i
(x

(t)) + ()
T
(Ax() b)
= f(x()) m.

In mod particular, diferent a de dualitate dintre f si q, asociat a cu punctul


x() si perechea duala fezabila (), () este simplu m. Drept urmare,
avem:
f(x()) f

m,
ceea ce conrma ca x() converge catre punctul de optim cand 0,
i.e. avem o aproximare cat mai bun a a funct iei indicator I

.
6.2. Probleme rezolvate de laborator 137
Iterat iile metodei de punct interior sunt denite de urmatorii pasi:
1. Se selecteaz a un punct init ial x = x
0
strict fezabil, un =
0
> 0,
un < 1 si o acuratet e > 0.
2. Cat timp m
k
repet a
(a) calculeaza x
k+1
= x(
k
) ca solut ie a problemei (6.6), pornind
din punctul init ial x
k
(warm start);
(b) descreste
k+1
=
k
.
Dupa cum observam, pentru metoda de punct interior un aspect esent ial
este selectarea unei actualizari corespunz atoare pentru la ecare pas.
6.2 Probleme rezolvate de laborator
6.2.1 Metoda Lagrange-Newton
Exemplul 23. Fie problema de optimizare neconvexa:
min
xR
2
(x
1
6)
4
+ (x
1
4x
2
)
2
s.l.: x
2
1
+ x
2
2
= 1.
Sa se rezolve aceasta problem a n Matlab prin metoda Lagrange-Newton.
Rezolvare. Vom avea nevoie n primul rand de dou a funct ii:
[grad_lagr_x,hess_lagr_x]=eval_lagr_x(x,mu)
[h,jacob_h]=eval_h(x)
care sa returneze
x
L(x, ) si
2
x
L(x, ), respectiv h(x) si Jacobianul
h(x). Vom utiliza norma gradientului Lagrangianului pentru criteriul
de oprire. Astfel, codul Matlab pentru algoritmul Lagrange-Newton este:
x=[0;1];
n=2;
mu=1;
eps=0.0001;
%In norm_grad vom retine norma
%gradientului Lagrangianului
norm_grad=1;
138 Capitolul 6. Metode pentru probleme de optimizare constrans a
while(norm_grad>=eps)
[grad_lagr,hess_lagr]=eval_lagr(x,mu)
[h,grad_h]=eval_h(x);
%Formam sistemul KKT
K=[hess_lagr jacob_h; jacob_h 0]
l=[-grad_lagr; -h];
%Obtinem solutia sistemului KKT si directiile pentru
%x si mu
sol_kkt=K\l;
x=x+sol_kkt(1:n);
mu=mu+sol_kkt(n+1:end);
%Gradientul Lagrangianului va fi chiar -l
%din sistemul KKT
norm_grad=norm(-l);
end

In Fig. 6.1 observam liniile de contur ale funct iei obiectiv si iterat iile
metodei Lagrange-Newton.
0 0.2 0.4 0.6 0.8 1 1.2
1.5
1
0.5
0
0.5
1
1.5
x
1
x
2
Figura 6.1: Liniile de contur si iterat iile metodei Lagrange-Newton.
6.2.2 Metoda Newton extinsa
Fie problema de optimizare convexa:
min
xR
2
(x
1
2)
4
+ (x
1
2x
2
)
2
s.l.: Ax = b
6.2. Probleme rezolvate de laborator 139
unde A =
_
1 2

si b = 16. Sa se rezolve aceasta problem a prin metoda


Newton pentru probleme cu constrangeri de egalitate, cu pasul constant
= 1 si cu pasul ideal.
Rezolvare. Pentru a implementa aceasta metoda n Matlab, vom avea
nevoie de o funct ie care sa returneze f(x), f(x) si
2
f(x):
[f,g,h]=newt_equal(x)
si o funct ie care sa returneze f(x + d)
f=phi_newt_equal(alpha,x,d)
Este impus sa pornim dintr-un punct init ial fezabil, x
0
= [10 3]
T
. Codul
Matlab pentru metoda Newton cu constrangeri de egalitate convexe este:
%Trebuie sa obtinem dimensiunile corespunzatoare matricei A
[p,n]=size(A);
%Folosim decrementul pentru criteriul de oprire
D=1;
while(D>=eps)
%Evaluam functia, gradientul si hessiana
[f,g,h]=newt_equal(x);
%Formam sistemul KKT
K=[h A; A zeros(p,p)];
l=[-g; zeros(p,1)];
%Obtinem solutia la sistemul KKT si
%extragem directia aferenta
sol_kkt=K\l;
d=sol_kkt(1:n);
%Calculam pasul ideal si nouta iteratie
alpha=fminsearch(@(alpha) phi_newt_equal(alpha,x,d),1);
x=x+alpha*d;
%Calculam decrementul Newton
D=sqrt((d*h*d));
end

In Fig. 6.2 observam liniile de contur ale funct iei obiectiv si punctele
obt inute din metoda Newton pentru probleme cu constr angeri de
egalitate cu pasul = 1.
140 Capitolul 6. Metode pentru probleme de optimizare constrans a
0 2 4 6 8 10
0
2
4
6
8
10
x
1
x
2
Figura 6.2: Liniile de contur si punctele obt inute prin metoda Newton
pentru probleme cu constr angeri de egalitate convexe.
6.2.3 Metoda de punct interior
Exemplul 24. Fie problema de optimizare convexa:
min
xR
2
(x
1
4)
4
+ (x
1
6x
2
)
2
s.l.: x
2
1
+ x
2
2
25, Ax = b
unde A =
_
2 3

si b = 12. Sa se rezolve aceasta problem a n Matlab


prin metoda de punct interior descris a la nceputul capitolului. Sa se
compare rezultatul acestei metode cu rezolvarea problemei n CVX.
Rezolvare. Vom utiliza metoda Newton pentru problemele cu
constrangeri de egalitate (6.6) din cadrul metodei de punct
interior. Astfel, vom avea nevoie din nou de funct ii care returneaz a

f(x) = f(x) + B(x), unde B(x) este funct ia bariera,

f(x) si
2

f(x)
si

f(x + d), precum la problema anterioar a, pe care le apel am astfel:
[f,g,h]=barrier_equal(x,t)
f=alpha_barrier_equal(alpha,x,d,tau)
Vom porni dintr-un punct init ial strict fezabil, x
0
= [3 2]
T
. Algoritmul
va astfel format din dou a bucle, una interna pentru gasirea lui x

()
cu metoda Newton, iar cealalt a extern a pentru actualizarea lui . Codul
Matlab al algoritmului va astfel:
%Selectam parametrul initial tau,
%sigma pentru actualizarea lui tau, si dimensiunile lui A
6.2. Probleme rezolvate de laborator 141
t=2;
sigma=0.5;
[p,n]=size(A);
%Din moment ce este doar o
%singura constrangere de inegalitate avem:
m=1;
%Selectam doua tolerante eps_outer si eps_inner
eps_outer=0.001; eps_inner=0.01;
while(m/tau>=eps_outer)
D=1;
%Aici avem bucla interna pentru metoda Newton
while(D>=eps_inner)
[f,g,h]=barrier_equal(x,tau)
K=[h A; A zeros(p,p)]; l=[-g; zeros(p,1)];
sol_kkt=K\l; d=sol_kkt(1:n);
alpha=...
fminsearch(@(alpha)phi_barrier_equal(alpha,x,d,tau),1);
x=x+alpha*d; D=sqrt((d*h*d))
end
%Actualizam tau-ul
tau=tau*sigma;
end

In Fig. 6.3 putem observa iterat iile obt inute de metoda de punct interior
aplicat a problemei din enunt .
Exemplul 25.

In cadrul acestui exemplu abord am rezolvarea unei
probleme de control optimal pentru un sistem discret:
z
t+1
= A
z
z
t
+ B
u
u
t
, (6.8)
unde z
t
R
nz
reprezinta vectorul de stare al sistemului, u
t
R
nu
reprezinta vectorul de intr ari ale sistemului, iar matricele A
z
R
nznz
si
B
u
R
nznu
descriu dinamica sistemului.

In continuare, consider am un caz particular de sistem dinamic discret


des ntalnit n laboratoarele de control, si anume pendulul invers. Acest
sistem zic este compus dintr-un carucior de masa M = 2 kg ce alunec a
unidimensional de-a lungul axei Ox pe o suprafat a orizontala, si un
pendul format dintr-o bila de masa m = 0.1 kg aata la cap atul unei
tije de lungime l = 0.5 m considerata imponderabila. Vectorul de stare
al sistemului este z R
4
, z = [z
1
z
2
z
3
z
4
]
T
, unde z
1
reprezinta
142 Capitolul 6. Metode pentru probleme de optimizare constrans a
1 2 3 4 5 6 7
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
x
1
x
2
Figura 6.3: Liniile de contur si punctele obt inute prin metoda de punct
interior.
unghiul cu verticala , z
2
este viteza unghiular a, z
3
este deplasarea pe
axa 0x, iar z
4
este viteza pe axa Ox. Dinamica discret a a sistemului este
exprimat a prin z
t+1
= A
z
z
t
+B
u
u
t
unde u
t
R este intrarea sistemului,
reprezentand o corect ie de deplasare orizontala aplicat a caruciorului.
Matricele dinamicilor n acest caz sunt:
A
z
=
_

_
1.0259 0.504 0 0
1.0389 1.0259 0 0
0.0006 0.0000 1 0.05
0.0247 0.0006 0 1
_

_
si B
u
=
_

_
0.0013
0.0504
0.0006
0.025
_

_
Scopul pendulului invers este sa ment inem tija sucient de aproape de
verticala, anume sa ment inem z
1
= ntr-un interval admisibil centrat
n 0

, i.e.
min
z
1

max
, ce reprezinta constrangeri pe stare ale
sistemului, unde
max
=
min
= 0.2 rad. Astfel, formul am problema de
control optimal pe un orizont nit N, cu scopul ment inerii tijei n pozit ie
verticala (i.e. referint ele sunt z
ref
t
= 0 si u
ref
t
= 0):
min
zt,ut
N1

t=0
1
2
R
0
u
2
t
+
N

k=1
1
2
z
T
t
Q
0
z
t
(6.9)
s.l.: z
0
= z, z
t+1
= A
z
z
t
+ B
u
u
t

min
z
1
t

max
t = 0, . . . , N,
6.2. Probleme rezolvate de laborator 143
unde z
0
este starea init iala dat a (estimat a sau m asurat a) a pendulului.
Matricele din costurile de etapa sunt:
Q
0
= I
4
si R
0
= 10.
Reformul am problema (6.9) ca o problem a QP convexa si apoi o rezolv am
cu unul din algoritmii prezentat i anterior (e.g. metoda de punct interior).
Rezolvare. Pentru reformularea problemei, denim o variabil a de decizie
x R
N(nz+nu)
care sa cuprinda variabilele de stare si intrare peste ntreg
orizontul de predict ie, i.e:
x =
_
u
T
0
x
T
1
u
T
1
z
T
2
. . . u
T
N1
z
T
N

T
.
Din datele problemei (6.9) vor rezulta dou a tipuri de constr angeri pentru
problema QP rezultata. Prima categorie de constrangeri va cea
de egalitate, rezultata din dinamica sistemului z
t+1
= A
z
z
t
+ B
u
u
t
.
Considerand variabila de decizie aleas a x, vom ncorpora constr angerile
de egalitate rezultate din dinamica sistemului peste tot orizontul de
predict ie ntr-o constrangere Ax = b, unde matricea A R
NnzN(nz+nu)
va formata din componentele bloc corespunz atoare si vectorul b R
Nnz
va depinde de starea init iala a sistemului:
A =
_

_
B
u
I
nz
0 0 . . . 0 0 0
0 A
z
B
u
I
nz
. . . 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 . . . A
z
B
u
I
nz
_

_
, b =
_

_
A
z
z
0
0
.
.
.
0
_

_
.
Fiecare linie de blocuri din sistemul Ax = b reprezinta satisfacerea
constrangerilor rezultate din dinamici la un pas t, i.e. prima linie va
asigura ca z
1
= Az
0
+ Bu
0
sau rescris Bu
0
+ I
nz
z
1
= Az
0
, a doua linie
va asigura ca Az
1
Bu
1
+ I
nz
z
2
= 0, etc . Considerand ca z R
4
,
constrangerea ca prima componenta a vectorului de stare z
t
se aa n
intervalul corespunz ator, anume
min
z
1
t

max
poate rescris a ca:
C
z
z
t
d
z
, unde C
z
=
_
1 0 0 0
1 0 0 0
_
si d
z
=
_

max

min
_
.
Pentru ntreg orizontul de predict ie vom avea Cx d, unde C si d vor
de forma:
C =
_

_
0 C
z
0 . . . . . . 0
0 0 0 C
z
0 0
.
.
.
.
.
.
.
.
. 0
.
.
. 0
0 0 0 . . . 0 C
z
_

_
, d =
_

_
d
z
d
z
.
.
.
d
z
_

_
.
144 Capitolul 6. Metode pentru probleme de optimizare constrans a
Funct ia obiectiv a problemei QP rezultate va x
T
Qx, unde Q este bloc
diagonala, formata din matricele din costurile de etapa pentru stare si
intrare, i.e.:
Q = diag(R
0
, Q
0
, R
0
, Q
0
, . . . , R
0
, Q
0
).
Problema QP nala va de forma:
min
x
1
2
x
T
Qx
s.l.: Ax = b, Cx d.

In Matlab vom implementa dou a funct ii care sa primeasca orizontul


de predict ie N si sa genereze matricele si vectorii A, b, C, d si o
funct ie principala care sa rezolve problema QP nala. Problema poate
rezolvat a prin metode de punct interior. Pentru un orizont de predit ie
N = 70, putem observa n Fig. 6.4 traiectoria unghiului si comanda
rezultate din problema de control optimal. Observam ca unghiul ram ane
n limitele impuse [0.2, 0.2] radiani si apoi dup a un num ar de pasi (i.e.
pentru t 60) se stabilizeaza n jurul lui 0.
0 10 20 30 40 50 60 70
0.2
0.1
0
0.1
0.2
0.3
t
u
n
g
h
i
u
l

(

)
0 10 20 30 40 50 60 70
150
100
50
0
50
100
t
c
o
m
a
n
d
a

(
u
)
Figura 6.4: Unghiul pendulului si comanda aferenta obt inuta din problema
de control optimal cu orizont de predict ie N = 70 folosind metoda de punct
interior.
6.3. Probleme rezolvate de seminar 145
6.3 Probleme rezolvate de seminar
6.3.1 Metoda Newton pentru probleme constranse
Problema 1. Fie problema de minimizare neconvexa:
min
xR
2
3
2
x
2
1
+
3
2
x
2
2
2x
1
+ x
2
s.l.: 3x
2
1
+ 2x
2
2
2x
1
= 2.
Pornind din punctul init ial x
0
= [1 0]
T
si
0
= 1, sa se aplice primul
pas al metodei Lagrange-Newton.
Rezolvare. Observam ca problema se poate rescrie ca o problem a QP:
min
xR
2
1
2
x
T
Qx + q
T
x
s.l.: h(x) = 0
unde Q = 3I
2
, q = [2 1]
T
, h(x) = 3x
2
1
+ 2x
2
2
2x
1
2. Se poate
deduce usor ca mult imea constrangerilor rezultata este neconvexa. Din
condit iile KKT pentru problema anterioare rezulta sistemul:
F(y) = L(x, ) =
_

x
L(x, )
h(x)
_
= 0
unde y = [x
T
]
T
. Lagrangianul problemei este denit de:
L(x, ) =
3
2
x
2
1
+
3
2
x
2
2
2x
1
+ x
2
+ (3x
2
1
+ 2x
2
2
2x
1
2),
unde R, rezultand expresia gradientului sau n raport cu x

x
L(x, ) = Qx + q +h(x)
T
.

Impreuna cu Jacobianul funct iei h(x):
h(x) =
_
6x
1
2 4x
2

,
este determinata expresia operatorului F(y):
F(y) = L(x, ) =
_
_
3x
1
2 + 6x
1
2
3x
2
+ 1 + 4x
2
3x
2
1
+ 2x
2
2
2x
1
2
_
_
.
146 Capitolul 6. Metode pentru probleme de optimizare constrans a
Mai departe, din expresia lui F(y) calculam Jacobianul acesteia:
F(y) =
F
y
(y) =
_
_
3 + 6 0 6x
1
2
0 3 + 4 4x
2
6x
1
2 4x
2
0
_
_
.
Acum, pentru y = y
0
= [1 0 1]
T
avem:
F(y
0
) =
_
_
3
1
1
_
_
, iar F(y
0
) =
_
_
3 0 4
0 1 0
4 0 0
_
_
(6.10)
iar inversa Jacobianului este:
(F(y
0
))
1
=
_
_
0 0
1
4
0 1 0
1
4
0
3
16
_
_
.
Astfel, prima iterat ie a metodei Lagrange-Newton va :
y
1
= y
0

_
F
y
(y
0
)
_
1
F(y
0
) =
_
_
1
0
1
_
_

_
_

1
4
1

15
16
_
_
=
_
_
5
4
1

1
16
_
_
.
Problema 2. Fie problema de optimizare convexa:
min
xR
2
2x
2
1
+ 2x
2
2
+ 2x
1
x
2
x
1
+ x
2
s.l.: x
1
x
2
= 1
Sa se aplice primul pas al metodei Newton extinse, pornind din punctul
init ial x
0
= [0 1]
T
si pasul
0
= 1
Rezolvare. Problema poate scrisa ca o problem a QPn forma standard:
min
xR
2
1
2
x
T
Qx + q
T
x
s.l.: Ax = b
unde:
Q =
2
f(x) =
_
4 2
2 4
_
0, q =
_
1
1
_
, A =
_
1 1

, b = 1.
6.3. Probleme rezolvate de seminar 147
Gradientul funct iei va desigur
f(x) = Qx + q =
_
4x
1
+ 2x
2
1
2x
1
+ 4x
2
+ 1
_
,
iar pentru punctul nostru init ial:
f(x
0
) =
_
3
3
_
.
Formam astfel sistemul KKT:
_

2
f(x) A
T
A 0
_ _
d

_
=
_
f(x)
0
_
,
care pentru punctul nostru init ial se rezuma la:
_
_
4 2 1
2 4 1
1 1 0
_
_
_
_
d
1
0
d
2
0

0
_
_
=
_
_
3
3
0
_
_
de unde rezulta d
0
=
_
1
2
1
2
_
si x
1
= x
0
+
0
d
0
=
_
1
2

1
2
_
.
6.3.2 Probleme de control optimal
Problema 3. Fie un sistem liniar cu dinamica discret a:
z
t+1
= A
z
z
t
+ B
u
u
t
,
unde z
t
R
nz
reprezinta vectorul de stare al sistemului, u
t
R
nu
reprezinta vectorul de intr ari ale sistemului, iar matricele A
z
R
nznz
si
B
u
R
nznu
sunt matricele ce descriu dinamica sistemului. Obiectivul
problemei de control optimal este urmarirea referint ei z
ref
t
pe stare si u
ref
t
pe intrare peste un orizont de predict ie N. Formul am acum problema
de control optimal de urmarire a referint ei pe un orizont nit N, dar cu
satisfacerea unor constrangeri pe stare si intrare, n care utiliz am funct ii
de cost pe etapa patratice:
min
zt,ut
1
2
N

t=1
|z
t
z
ref
t
|
2
Qz
+
1
2
N1

t=0
|u
t
u
ref
t
|
2
Ru
(6.11)
s.l.: z
0
= z, z
t+1
= A
z
z
t
+ B
u
u
t
, lb
z
z
t
ub
z
, C
u
u
t
d
u
,
148 Capitolul 6. Metode pentru probleme de optimizare constrans a
unde |z
t
z
ref
t
|
2
Qz
= (z z
ref
t
)
T
Q
z
(z z
ref
t
). Sa se reformuleze aceast a
problem a ca un QP utiliz and dou a tehnici: pastrarea vectorului st arilor
si eliminarea vectorului st arilor.
Rezolvare. Consideram dou a moduri de abordare (pentru detalii vezi [1]).
Cazul 1: fara eliminarea starilor

In acest caz, vom deni o variabil a de decizie x R


N(nz+nu)
care sa
cuprinda variabilele de stare si intrare peste ntreg orizontul de predict ie,
i.e:
x =
_
u
T
0
z
T
1
u
T
1
z
T
2
. . . u
T
N1
z
T
N

T
.
Din problema (6.11) vor rezulta constrangeri de egalitate si de inegalitate.
Constr angerile de egalitate vor rezulta din faptul ca variabilele de stare si
intrare trebuie sa respecte dinamica procesului z
t+1
= A
z
z
t
+B
u
u
t
peste
ntreg orizontul de predict ie. Luand n calcul forma variabilei x, putem
concatena aceste constrangeri ntr-o constrangere de forma Ax = b unde
A R
NnzN(nz+nu)
si b R
Nnz
vor de forma:
A =
_

_
B
u
I
nz
0 0 . . . 0 0 0
0 A
z
B
u
I
nz
. . . 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 . . . A
z
B
u
I
nz
_

_
, b =
_

_
A
z
z
0
0
.
.
.
0
_

_
.
Privind constrangerile de inegalitate, observam ca avem constr angeri
de tip box pe stare si constrangeri poliedrale pe intrare. Dorim sa
concatenam toate aceste constrangeri peste ntreg orizontul de predict ie
ntr-o singura constrangere de forma Cx d. Constr angerea de tip box
pentru stare poate rescrisa ca:
_
I
I
_
. .
Cz
z
t

_
ub
z
lb
z
_
. .
dz
.
Matricea C si vectorul d vor avea astfel urmatoarea forma:
C =
_

_
C
u
0 0 0 0
0 C
z
0 0 0
0 0
.
.
. 0 0
0 0 0 C
u
0
0 0 0 0 C
z
_

_
si d =
_

_
d
u
d
z
.
.
.
d
u
d
z
_

_
.
6.3. Probleme rezolvate de seminar 149

In privint a funct iei obiectiv, putem lua un vector care sa concateneze


referint ele pentru stare si intrare peste ntreg orizontul de predict ie:
x
ref
=
_
(u
ref
0
)
T
(z
ref
1
)
T
. . . (u
ref
N1
)
T
(z
ref
N
)
T
_
T
.
Cu x si x
ref
putem rescrie ntregul cost din (7.2) sub forma:
|x x
ref
|
2
Q
= (x x
ref
)
T
Q(x x
ref
),
n care Q R
N(nz+nu)N(nz+nu)
va de forma Q =
diag(R
u
, Q
z
, . . . , R
u
, Q
z
). Pentru a aduce n nal problema la forma QP,
observam ca:
(x x
ref
)
T
Q(x x
ref
) = x
T
Qx x
T
Qx
ref
(x
ref
)
T
Qx + (x
ref
)
T
Qx
ref
= x
T
Qx + (Qx
ref
+ Q
T
x
ref
)
T
x + (x
ref
)
T
Qx
ref
.
Dac a lu am q = Qx
ref
+ Q
T
x
ref
si ignor and termenul constant
(x
ref
)
T
Qx
ref
din moment ce nu depinde de variabila x, atunci problema
(7.2) poate rescrisa ca urmatorul QP:
min
x
1
2
x
T
Qx + q
T
x
s.l.: Ax = b, Cx d.
Cazul 2: cu eliminarea starilor
Pentru a elimina st arile din problema (6.11), utiliz am dinamica sistemului
z
t+1
= A
z
z
t
+B
u
u
t
pentru a exprima st arile de-a lungul ntregului orizont
de predict ie:
z
1
= A
z
z
0
+ B
u
u
0
z
2
= A
z
z
1
+ B
u
u
1
= A
2
z
z
0
+ A
z
B
u
u
0
+ B
u
u
1
z
3
= A
z
z
2
+ B
u
u
2
= A
3
z
z
0
+ A
2
z
B
u
u
0
+ A
z
B
u
u
1
+ B
u
u
2
.
.
.
z
N
= A
z
z
N1
+ B
u
u
N1
= A
N
z
z
0
+ A
N1
z
B
u
u
0
+ A
N2
z
B
u
u
1
+ +
+ A
2
z
B
u
u
N3
+ A
z
B
u
u
N2
+ B
u
u
N1
Dac a eliminam st arile, atunci singurele variabile de decizie ram an
intr arile. Notam astfel x = [u
T
0
. . . u
T
N1
]
T
si z = [z
T
1
. . . , z
T
N
]
T
, ecuat iile
150 Capitolul 6. Metode pentru probleme de optimizare constrans a
anterioare pot scrise sub forma z =

ABx + A
p
z
0
, unde:

AB =
_

_
B
u
0 0 0 . . . 0
A
z
B
u
B
u
0 0 . . . 0
A
2
z
B
u
A
z
B
u
B
u
0 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
N1
z
B
u
A
N2
z
B
u
A
N3
z
B
u
A
N4
z
B
u
. . . B
u
_

_
si A
p
=
_

_
A
z
A
2
z
A
3
z
.
.
.
A
N
z
_

_
.
Dac a rescriem constrangerile de tip box pentru stare sub forma C
z
z
t

d
z
, precum n cazul unde nu eliminam st arile, si le concatenam peste
ntreg orizontul de predict ie astfel ncat sa avem

C
z
z

d
z
, unde

C
z
=
diag(C
z
, C
z
, . . . , C
z
) si

d
z
= [d
T
z
d
T
z
. . . d
T
z
]
T
, atunci constr angerile de
inegalitate pentru stare se transforma n constrangeri pentru intrare:

C
z
z

d
z


C
z
(

ABx + A
p
z
0
)

d
z


C
z

AB
. .
=C

x
x

d
z
A
p
z
0
. .
=d

x
.
Pentru constrangerile de inegalitate pentru intrare lu am C

x
x d

x
, unde
matricea este C

x
= diag(C
u
, C
u
, . . . , C
u
) si d

x
= [d
T
u
d
T
u
. . . d
T
u
]
T
.
Concatenam acum cele dou a constrangeri ntr-un singura, Cx d, unde:
C =
_
C

x
C

x
_
si d =
_
d

x
d

x
_
.
Privind funct ia obiectiv, denim mai ntai matricea

Q =
diag(Q
z
, . . . , Q
z
) si de asemenea

R = diag(R
u
, . . . , R
u
) si apoi
z
ref
= [(z
ref
)
T
. . . (z
ref
)
T
]
T
, x
ref
= [(u
ref
)
T
. . . (u
ref
)
T
]
T
.
Atunci, observam ca funct iile de cost pot rescrise:
1
2
N

t=1
|z
t
z
ref
|
2
Qu
=
1
2
| z z
ref
|
Q
=
1
2
|

ABx + A
p
z
0
z
ref
|
Q
=
1
2
_
x
T

AB
T

Q

ABx + x
T

AB
T

QA
p
z
0
+ z
T
0
A
T
p

Q

ABx
_

1
2
_
( z
ref
)
T

Q

ABx + x
T

AB
T

Q z
ref
_
+ termen constant.
De asemenea, avem
1
2
N1

t=0
|u
t
u
ref
|
2
Ru
=
1
2
|x x
ref
|
R
=
1
2
_
x
T

Rx (x
ref
)
T

Rx x
T

Rx
ref
+ (x
ref
)
T

Rx
ref
_
.
6.3. Probleme rezolvate de seminar 151
Ignorand termenii ce nu cont in x si t in and cont ca matricele

Q si

R sunt
simetrice, funct ia obiectiv va de forma f(x) =
1
2
x
T
Qx + q
T
x, unde
Hessiana Q =

R +

AB
T

Q

AB, iar vectorul q este dat de expresia:
q =

AB
T

QA
p
z
0


AB
T

Q z
ref


Rx
ref
.
Problema de optimizare nala va un QP far a constrangeri de egalitate:
min
x
1
2
x
T
Qx + q
T
x
s.l.: Cx d.
Problema 5. Consideram sistemul dublu integrator:
z =

A
z
z +

B
u
u, cu

A
z
=
_
0 1
0 0
_
,

B
u
=
_
0
1
M
_
,
unde z
1
si z
2
reprezinta pozit ia si respectiv viteza unui corp de masa M.
Considerand M = 1, o perioada de esantionare t = 1 si folosing metoda
Euler de discretizare, se obt ine urmatorul sistem liniar discret:
z
t+1
= A
z
z + B
u
u, cu A
z
=
_
1 1
0 1
_
, B
u
=
_
0
1
_
.
Consideram de asemenea restrict ii de tip box pe intrare:
1 u 1
si cost patratic pe etapa de forma:
|z
t
|
2
Q
0
, |u
t
|
2
R
0
, unde Q
0
= 0.1I
2
, R
0
= 1.
Sa se aduca problema de control optimal cu orizont de predict ie N = 2
la o problem a QP prin pastrarea st arilor si respectiv prin eliminarea lor
pornind din starea init iala z
0
= [1 1]
T
.
Rezolvare. Pentru aceasta problem a observam ca referint ele pentru st ari
z
ref
t
si intr ari u
ref
t
sunt 0. Pentru cazul cand pastram starea n variabila
de decizie, avem urmatoarea problem a de optimizare QP convexa:
min
x
1
2
x
T
Qx
s.l.: Ax = b, Cx d,
152 Capitolul 6. Metode pentru probleme de optimizare constrans a
unde matricele si vectorii corespunz atori problemei sunt dat i de:
Q =
_

_
1 0 0 0
0 0.1I
2
0 0
0 0 1 0
0 0 0 0.1I
2
_

_
, x =
_

_
u
0
z
1
u
1
z
2
_

_
R
6
,
A =
_

_
0 1 0 0 0 0
1 0 1 0 0 0
0 1 1 0 1 0
0 0 1 1 0 1
_

_
, b =
_

_
2
1
0
0
_

_
,
C =
_

_
1 0 0 0 0 0
1 0 0 0 0 0
0 0 0 1 0 0
0 0 0 1 0 0
_

_
, d =
_

_
1
1
1
1
_

_
.
Pentru cazul cand eliminam st arile din variabila de decizie, avem
urmatoarea problem a de optimizare QP convexa:
min
xR
2
1
2
x
T
Qx + q
T
x
s.l.: Cx d,
unde matricele si vectorii corespunz atori problemei sunt dat i de:

AB =
_

_
0 0
1 0
1 0
1 1
_

_
, A
p
=
_

_
1 1
0 1
1 2
0 1
_

_
, C =
_

_
1 0
1 0
0 1
0 1
_

_
, d =
_

_
1
1
1
1
_

_
,
x =
_
u
0
u
1
_
, Q = I
2
+

AB
T
(0.1I
4
)

AB =
_
1.3 0.1
0.1 1.1
_
,
q =

AB
T
(0.1I
4
)A
p
z
0
=
_
0.5
0.1
_
.
Problema 6. Fie matricea A R
mn
, m n, cu rang maxim pe linii.
Pentru orice matrice Q R
nn
, ce satisface x
T
Qx > 0, oricare ar
x Ker(A), x ,= 0, sa se arate ca matricea:
_
Q A
T
A 0
_
este nesingulara (inversabil a).
6.4. Probleme propuse 153
Rezolvare. Reamintim denit ia subspat iului kernel(A):
kernel(A) = x R
n
: Ax = 0.
O formulare echivalenta a propriet at ii de inversabilitate pentru o matrice
patratic a implica ca singura solut ie a sistemului:
_
Q A
T
A 0
_
y = 0, (6.12)
sa e vectorul cu elementele 0. Dac a partit ionam solut iile sistemului prin
y =
_
u
v
_
, ramane de ar atat ca singurele instant e ale vectorilor u si v ce
satisfac sistemul (6.12) sunt nule. Din (6.12) avem:
Qu + A
T
v = 0, Au = 0.
A doua ecuat ie indica u kernel(A).

Inmult ind la st anga n prima
ecuat ie cu u
T
obt inem:
u
T
Qu + u
T
A
T
v = 0. (6.13)
T in and cont ca u kernel(A), iar n enunt am presupus ca u
T
Qu > 0,
concluzionam (6.14) este imposibil de satisfacut pentru orice u ,= 0. Pe
de alta parte, consider and u = 0 si v ,= 0, prima ecuat ie a sistemului
(6.12) devine:
A
T
v = 0. (6.14)
Deoarece matricea A are rang maxim pe linii, matricea A
T
are rang
maxim pe coloane, singurul vector ce satisface A
T
v = 0 este v = 0.

In
concluzie, am ar atat ca singurul vector ce satisface sistemul (6.12) este
vectorul nul.
6.4 Probleme propuse
Problema 1. Ce se ntampl a dac a aplicam metoda bariera urmatoarei
probleme:
min
xR
2
x
2
s.l.: x
1
x
2
, 0 x
2
.
154 Capitolul 6. Metode pentru probleme de optimizare constrans a
Problema 2. Fie problema:
min
xR
f(x) (= x
2
+ 1)
s.l.: 2 x 4.
Sa se gaseasca punctele KKT pentru aceasta problem a, funct ia de
bariera logaritmica B(x) corespunz atoare si sa se traseze grac f(x) si
f(x) + B pentru mai multe valori ale lui .
Problema 3. Fie o problem a convexa de forma:
min
xR
n
f(x)
s.l.: g
i
(x) 0 i = 1, . . . , m,
n care g
i
sunt de dou a ori diferent iabile. Denim funct ia de bariera
inversa
inv
(x) =
m

i=1

1
g
i
(x)
si calea central a din aceast a funct ie
drept punctele x(t) = arg min
x
tf(x) +
inv
(x). Sa se demonstreze ca
tf(x) +
inv
(x) este o funct ie convexa n x, pentru orice t > 0. Sa se
arate de asemenea cum se poate construi o variabil a duala fezabila din
x(t).
Problema 4. Consideram din nou problema convexa denit a n ecuat ia
(6.1) la care mai adaugam o constrangere:
min
xR
n
f(x)
s.l.: g(x) 0, Ax = b, x
T
x r
2
,
unde r R, g
i
sunt convexe si de dou a ori diferent iabile, iar A R
pn
cu
rang(A) = p < n. Fie B(x) funct ia de bariera logaritmica pentru aceast a
problem a. Sa se gaseasca un > 0 astfel ncat
2
(f(x) + B(x))I
n
pentru orice x fezabil si > 0.
Problema 5. Consideram problema convexa denita n ecuat ia (6.4),
unde adaug am un termen patratic funct iei obiectiv:
min
xR
n
f(x) + (Ax b)
T
Q(Ax b)
s.l.: Ax = b,
6.4. Probleme propuse 155
unde Q0. Este pasul metodei Newton extinse, d, acelasi pentru aceast a
problem a modicata ca acela al problemei originale (6.4)?
Problema 6. Consideram din nou problema convexa denit a n ecuat ia
(6.4). Preusupunem ca f(x) este de dou a ori diferent iabila si
2
f(x) > 0,
iar Lagrangianul L(x, ) pentru aceasta problem a are un punct de minim
unic. Sa se demonstreze ca dac a exist a un K astfel ncat:
_
_
_
_
_
_

2
f(x) A
T
A 0
_
1
_
_
_
_
_
2
K,
atunci funct ia duala q este puternic concav a in , cu
2
q() _
1
K
I
p
.
Problema 7. Pentru problema neconvexa urmatoare:
min
xR
2
5
2
x
2
1
+
5
2
x
2
2
+ 3x
1
x
2
+ x
1
+ x
2
s.l: x
2
1
+ 2x
2
2
2x
2
= 2,
sa se aplice prima iterat ie a metodei Lagrange-Newton, pornind din
punctul init ial x
0
= [1 1]
T
si
0
= 1.
Problema 8. Fie problema:
min
xR
2
x
4
1
+ x
4
2
+ 2x
2
1
x
2
2
s.l: x
1
+ x
2
= 0,
Sa se gaseasca un punct init ial fezabil si sa se implementeze prima
iterat ie a metodei Newton extins a cu un pas
0
> 0 selectat la alegere.
Problema 9. Fie problema:
min
XR
nn
Tr(X) log det(X)
s.l: X 0, Xs = y,
unde X R
nn
este variabila, y, s R
n
sunt date, iar s
T
y = 1.
Observam ca funct ia B(x) = log det(X) este bariera logaritmica pentru
conul matricelor pozitiv semidenite S
n
+
. Sa se determine condit iile KKT
pentru aceasta problem a. Sa se verice ca punctul optim este:
X

= I + yy
T

1
s
T
s
ss
T
.
156 Capitolul 6. Metode pentru probleme de optimizare constrans a
Problema 10. Pentru problema convexa:
min
xR
2
5
2
x
2
1
+
5
2
x
2
2
+ x
1
x
2
s.l: 4x
1
+ x
2
= 16, x
2
1
+ x
2
2
20,
aplicat i prima iterat ie a metodei bariera pornind din punctul fezabil x
0
.
Capitolul 7
Aplicat ii din inginerie

In acest capitol prezentam o serie de aplicat ii ale metodelor si claselor


de probleme de optimizare descrise n materialul anterior.

In sect iunile
ce urmeaza denim probleme reale din diferite domenii ale ingineriei,
analizam modelele matematice ale acestora si n nal, select am si
aplicam ecarui caz o metoda de optimizare numeric a adecvata rezolv arii
problemei respective.
7.1 Control optimal
Teoria optimizarii se aa n strans a legatura cu teoria sistemelor
si controlului, ambele domenii viz and convergent a traiectorieisirului
generat catre anumite referint e sau puncte de optim. De aceea, multe
probleme din teoria sistemelor se pot formula si rezolva sub forma
problemelor de optimizare. Dac a teoria controlului presupune analiza
stabilitat ii si reglarea proceselor dinamice, controlul optimal propune
n plus, realizarea celor dou a obiective ment in and la minimum un
anumit criteriu si satisfac and constrangeri zice de fezabilitate. De
exemplu, dac a urmarim reglarea si ment inerea nivelului de lichid dintr-un
rezervor, trebuie sa t inem cont de debitul maxim admisibil, performant ele
senzorilor de nivel, puterea pompei hidraulice etc. De aceea, procesul de
reglare vizat trebuie sa ia n calcul si limitele componentelor zice. Fie
un sistem neliniar cu dinamica discret a:
z
t+1
= (z
t
, u
t
), (7.1)
n care z
t
R
nz
reprezinta vectorul de stare al sistemului, u
t
R
nu
reprezinta vectorul de intr ari ale sistemului si funct ia : R
n
R
m
R
n
158 Capitolul 7. Aplicat ii din inginerie
descrie dinamica sistemului. Un caz particular de sistem dinamic este cel
liniar z
t+1
= A
z
z
t
+ B
u
u
t
, unde matricele A
z
R
nznz
si B
u
R
nznu
.
Consideram de asemenea constrangeri de inegalitate liniare pe stare si
intrare, e.g. de forma:
lb
z
z
t
ub
z
, C
u
u
t
d
u
t 0,
unde C
u
R
n
i
nz
si d
u
R
n
i
. Asa cum am precizat anterior, n general
se doreste minimizarea unui criteriu (e.g. combustibil, energie, lucru
mecanic etc.) odat a cu stabilizarea sistemului. Cunoscand starea init iala
z
0
, denim problema de control optimal prin urmatoarea problem a de
optimizare constrans a:
min
zt,ut
1
2
N

t=1
|z
t
z
ref
t
|
2
Qt
+
N1

t=0
|u
t
u
ref
t
|
2
Rt
(7.2)
s.l: z
0
= z, z
t+1
= (z
t
, u
t
)
lb
z
z
t
ub
z
, C
u
u
t
d
u
t = 0, . . . , N 1,
unde presupunem cunoscuta starea init iala a sistemului z
0
= z si denim
|z z
ref
|
2
Q
= (z z
ref
)
T
Q(z z
ref
). Parametrul N se numeste orizont
de predict ie. Mai mult, presupunem ca matricele Q
t
si R
t
sunt pozitiv
denite pentru orice t si z
ref
t
si respectiv u
ref
t
reprezinta anumite referint e
impuse peste orizontul de predict ie pentru starea si intrarea sistemului.
Pe scurt, problema de control optimal presupune determinarea unui sir
de intr ari (u
t
)
0tN1
care, aplicate sistemului (7.1), vor conduce starea
(z
t
)
0tN
pe o traiectorie dorit a. Se observa ca problema de control
optimal se poate reformula ca o problem a de optimizare (e.g. in cazul
sistemului liniar avem o problem a patratic a standard, vezi capitolul
anterior) si se rezolv a cu diferite metode numerice de optimizare (e.g.
metoda Lagrange-Newton, metoda de punct interior etc.).
7.1.1 Control optimal aplicat unui robot E-Puck
O aplicat ie des ntalnita, simpl a si favorabila pentru testarea algortimilor
de optimizare si control este robotul E-Puck (vezi Fig. 7.1). Acest
sistem robotic reprezinta un ansamblu electronic mobil ce suporta
implementarea numeric a si experimentarea cu algoritmi de optimizare
de complexitate relativ ridicat a. Mai exact, structura mecanic a a
robotulului E-Puck este sust inut a de dou a motoare pas-cu-pas atasate
7.1. Control optimal 159
ambelor rot i, iar cea electronica este denita de urmatoarele componente:
microcontroller dsPIC30 (16-bit), dispozitiv de comunicat ie Bluetooth
(folosit n simularea sistemelor de tip ret ea), senzori infrarosu, camera
video CMOS (rez. 640 480), senzor ultrasunete, accelerometru 3D etc.
Figura 7.1: Robot e-Puck.
Chiar si pentru cele mai simple probleme ce implica sisteme multi-robot,
modelul matematic al unui sistem robotic este crucial n proiectarea de
algoritmi numerici.

In acest subcapitol consider am un model simplicat
al robotului E-Puck, si anume cel restrict ionat doar la deplasarea nainte
(far a a considera posibilitatea de deplasare napoi). Modelul dinamic
simplicat este liniar, continuu si este denit de urmatoarele ecuat ii:
y =
ru
1
2
+
ru
2
2

=
ru
1
2l

ru
2
2l
,
n care y reprezinta distant a parcursa n direct ia nainte, unghiul
de viraj, r raza rot ilor, l distant a de la roata la centrul de greutate
al robotului, iar u
1
si u
2
reprezinta viteza unghiular a a primei rot i si
respectiv, a celei de-a doua rot i. Pentru a respecta consistent a notat iilor,
not am starea sistemului cu z =
_
y

_
si intrarea cu u =
_
u
1
u
2
_
. Mai departe,
rescrierea modelului anterior va avea urmatoarea forma:
z =

A
z
z +

B
u
u,
n care

A
z
= 0 R
22
si

B
u
=
_
r
2
r
2
r
2l

r
2l
_
.

In scopul efectu arii de
experimente numerice, discretiz am sistemul liniar continuu denit de
modelul anterior. Una dintre metodele cele mai vechi si mai simple este
160 Capitolul 7. Aplicat ii din inginerie
metoda Euler de discretizare, ce presupune aproximarea derivatei unei
funct ii diferent iabile f(t) cu urmatoarea expresie:
df
dt
(t)
f(t + t) f(t)
t
,
unde intervalul t se determina n funct ie de viteza de evolut ie a
procesului. Obt inem aproximarea discret a a modelului robotului, dat a
de urmatoarea relat ie de recurent a:
z
t+1
=
_
I
2
t

A
z
_
z
t
+ t

B
u
u
t
,
n care I
2
este matricea identitate de ordin 2. Aleg and t = 0.5 s,
obt inem sistemul dinamic si matricele sistemului de forma:
z
t+1
= A
z
z
t
+ B
u
u
u
, unde A
z
= I
2

1
2

A
z
, B
u
=
1
2

B
u
.
Un exemplu simplu de problem a de control optimal poate denit
de urmarirea unei traiectorii sinusoidale pe o suprafata plana de catre
robotul E-Puck.

In acest caz, denim traiectoria discret a z
ref
t
=
(y
ref
t
,
ref
t
)
T
ce se doreste a urmarit a. Caracteristica discret a a referint ei
impune esantionarea funct iei sinus continue cu o anumita perioad a T (n
simul ari am considerat T = 0.1). Acuratet ea cu care robotul urmareste
o curba sinusoidala variaz a n funct ie de perioada de esantionare a
funct iei sinus, orizontul de predict ie considerat si de constr angerile
aplicate problemei de control optimal.

In cel mai simplu caz, consider am
ca robotul pleac a din origine si dorim urmarirea unui sir de puncte
(x
t
, sin x
t
), unde x
t+1
x
t
= T.

In acest caz, nu putem considera ca
referint a este denita de sirul propriu-zis de puncte, deoarece m arimile
x
t
si sin x
t
difer a de m arimile st arii sistemului date de distant a parcursa
y
ref
t
si unghiul de orientare
ref
t
. Pentru a realiza conversia m arimilor
facem urmatoarele observat ii:
observam ca orice punct de pe gracul funct iei sin x se aa la un
unghi = arctan cos x fat a de orizontala;
distant a dintre dou a puncte din sirul denit anterior este data de:
y =
_
(x
t+1
x
t
)
2
+ (sin x
t+1
sin x
t
)
2
.

In concluzie, realiz am conversia sirului (x


t
, sin x
t
) si obt inem referint a:
z
ref
t
= (y
ref
t
,
ref
t
) =
_
_
(x
t+1
x
t
)
2
+ (sin x
t+1
sin x
t
)
2
, arctancos x
t
_
,
u
ref
t
= 0.
7.1. Control optimal 161
Problema de control optimal pentru un orizont de predict ie N = 2 devine:
min
zt,ut
1
2
_
(z
1
z
ref
1
)
T
Q
1
(z
1
z
ref
1
) + (z
2
z
ref
2
)
T
Q
2
(z
2
z
ref
2
)
_
+ (7.3)
1
2
_
u
T
0
R
0
u
0
+ u
T
1
R
1
u
1
_
s.l.: z
0
= z, z
1
= A
z
z
0
+ B
u
u
0
, z
2
= A
z
z
1
+ B
u
u
1
,
u
min
u
0
u
max
, u
min
u
1
u
max
,
unde consider am Q
1
= Q
2
= I
2
si R
0
= R
1
= 0.1I
2
. Mai mult,
consider am r = 2 cm, l = 1 cm, u
max
= [20 20]
T
si u
min
= [2 2]
T
.
Folosim procedura de control bazata pe orizontul alunecator, i.e. la
ecare pas se m asoara/estimeaza starea sistemului si se rezolv a problema
de control optimal cu orizont nit enunt at a anterior; se obt ine o secvent a
de N intr ari optimale, dar se aplica doar primele N
c
N intr ari din
aceasta secvent a, dup a care procedura se repet a. Metoda de control
bazata pe principiul orizontului alunecator se numeste control predictiv
(MPC - Model Predictive Control ). Rescriem compact problema de
control optimal pentru starea init iala z
0
= z si orizont de predict ie N = 2
sub forma unei probleme de optimizare patratic a convexa:
min
xR
8
1
2
x
T
Qx + q
T
x (7.4)
s.l.: Ax = b, Cx d,
unde matricele si vectorii corespunz atori problemei sunt dat i de:
x =
_

_
u
0
z
1
u
1
z
2
_

_
, Q =
_

_
R
0
0 0 0
0 Q
1
0 0
0 0 R
1
0
0 0 0 Q
2
_

_
, A =
_
B
u
I
2
0 0
0 A
z
B
u
I
2
_
,
q =
_

_
0
Q
1
z
ref
1
0
Q
2
z
ref
2
_

_
, b =
_
A
z
z
0
0
_
, C =
_

_
I
2
0 0 0
I
2
0 0 0
0 0 I
2
0
0 0 I
2
0
_

_
, d =
_

_
u
max
u
min
u
max
u
min
_

_
.
Exercit iul 3. Sa se rezolve problema patratic a convexa (7.4) cu metoda
de punct interior.
162 Capitolul 7. Aplicat ii din inginerie
Rezolvare. Reamintim ca primul pas din metoda de punct interior
presupune transformarea echivalenta a problemei (7.4) ntr-una f ar a
constrangeri de inegalitate:
min
xR
8
1
2
x
T
Qx + q
T
x
8

i=1
log(C
i
x d
i
) (7.5)
s.l. Ax = b,
unde C
i
reprezinta linia i a matricei C. Apoi, aplic am algoritmul
propriu-zis:
1. Se dau un punct init ial x = x
0
strict fezabil, =
0
> 0, < 1,
tolerant a > 0 si parametrul m numarul de inegalitat i;
2. Cat timp m/t repet a:
(a) calculeaza x() solut ia problemei (7.5);
(b) actualizeaza x = x() si = .
Funct ia Matlab urmatoare rezolv a problema (7.4) cu ajutorul metodei
de punct interior:
function []=robot_interior_point(eps)
Q=eye(2); R=0.1*eye(2); r=2;
l=1; iter=1; zinit=[0;0];
vec=[0:0.1:40]; z_collect=[];
C=[-eye(4);eye(4)];
d=[2*ones(4,1);20*ones(4,1)];
while (iter<380)
B=[r/2 r/2;r/(2*l) -r/(2*l)];
zref1=[norm([vec(iter+1)-vec(iter)...
sin(vec(iter+1))-sin(vec(iter))]);atan(cos(vec(iter)))];
iter=iter+1;
zref2=[norm([vec(iter+1)-vec(iter)...
sin(vec(iter+1))-sin(vec(iter))]);atan(cos(vec(iter)))];
iter=iter+1; zref=[zref1;zref2];
t=3; ro=5; z0=zinit;
while ((4/t)>eps)
7.1. Control optimal 163
cvx_begin quiet
variable z(4);
variable u(4);
minimize ((1/2)*(z-zref)*(z-zref)+(0.05*u*u)...
-(1/t)*ones(1,8)*log(-C*u+d))
subject to
z(1:2) == z0 + B*u(1:2)/2;
z(3:4) == z(1:2) + B*u(3:4)/2;
cvx_end
t=ro*t;
end
zinit=z(3:4); z_collect=[z_collect z];
end
s=0;
for i=1:length(z_collect)/2
s=s+z_collect(2*i-1)*tan(z_collect(2*i));
delta_x(i)=s;
end
sine=sin([0:0.1:length(delta_x)/10]);
figure;
hold on;
plot(1:length(delta_x),delta_x,LineWidth,2);
plot(1:length(sine),sine,r,LineWidth,2);
xlabel(Numar iteratii); ylabel(Traiectorie);
legend (Pozitia z,Referinta);
end
Rezultatele obt inute pe baza strategiei de control predictiv, unde la
ecare pas problema de control optimal se rezolv a cu metoda de punct
interior pentru probleme convexe, sunt prezentate n Fig. 7.2. Se observa
o urmarire bun a a traiectoriei impuse robotului.

In cea de-a doua gur a
reprezentam traiectoria optima a intr arilor peste orizontul de simulare.
164 Capitolul 7. Aplicat ii din inginerie
0 20 40 60 80 100
1.5
1
0.5
0
0.5
1
1.5
Numar iteratii
T
r
a
i
e
c
t
o
r
i
e


Pozitia z
Referinta
0 20 40 60 80 100
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
t
I
n
t
r
a
r
i

o
p
t
i
m
e

(
u
1
,

u
2
)


viteza unghiulara 1
viteza unghiulara 2
Figura 7.2: Traiectoria robotului folosind tehnica de control optimal cu
orizont alunec ator: evolut ia st arilor sistemului (st anga) si a intr arilor
optimale (dreapta).
7.1.2 Control optimal aplicat unei instalat ii cu
patru rezervoare

In acest subcapitol, consider am o instalat ie cu patru rezervoare


interconectate, prezentata n Fig. 7.3, dispusa cu dou a pompe de
propulsie a apei. Modelul matematic corespunz ator instalat iei este
7.1. Control optimal 165
neliniar, dat de urmatoarele ecuat ii diferent iale:
dh
1
dt
=
a
1
S
_
2gh
1
+
a
4
S
_
2gh
4
+

a
S
q
a
,
dh
2
dt
=
a
2
S
_
2gh
2
+
a
3
S
_
2gh
3
+

b
S
q
b
,
dh
3
dt
=
a
3
S
_
2gh
3
+
(1
a
)
S
q
a
,
dh
4
dt
=
a
4
S
_
2gh
4
+
(1
b
)
S
q
b
,
unde funct iile h
1
, h
2
, h
3
, h
4
reprezinta dinamicile nivelurilor lichidului n
rezervoare, cu rolul de st ari ale sistemului, iar q
a
, q
b
reprezinta debitele
de intrare, cu rolul de comenzi (intr ari). Pentru conformitate cu
subcapitolul anterior, vom renota nivelul h
i
cu z
i
pentru i = 1, . . . , 4,
iar debitele (q
a
, q
b
) cu (u
1
, u
2
).
Figura 7.3: Structura instalat iei cu patru rezervoare.
Pentru discretizare, utiliz am metoda Euler pentru care putem alege
perioada de esantionare t = 5 s, deoarece procesul este unul lent.
Pentru o prezentare simplicata, scriem compact sistemul neliniar discret
prin intermediul urmatoarelor notat ii: z
t+1
= (z
t
) + B
u
u
t
, unde
: R
4
R
4
, (z) =
_

_
z
1

5a
1
S

2gz
1
+
5a
4
S

2gz
4
z
2

5a
2
S

2gz
2
+
5a
3
S

2gz
3
z
3

5a
3
S

2gz
3
z
4

5a
4
S

2gz
4
_

_
,
166 Capitolul 7. Aplicat ii din inginerie
B
u
=
_

_
5a
S
0
0
5
b
S
5(1a)
S
0
0
5(1
b
)
S
_

_
.
Valorile parametrilor din cadrul modelului se pot identica experimental
prin diferite tehnici. Valorile aproximative identicate n laborator sunt
prezentate n Tabelul 7.1. Formul am o problem a de control optimal
Parametri S a
1
a
2
a
3
a
4

a

b
Valori 0.02 5.8e5 6.2e5 2e5 3.6e5 0.58 0.54
Unitate m
2
m
2
m
2
m
2
m
2
Tabelul 7.1: Parametrii procesului cu patru rezervoare.
pentru modelul neliniar al instalat iei, consider and un orizont de predict ie
N si referint e pentru intrare si stare date z
ref
t
si u
ref
t
:
min
zt,ut
1
2
N

t=1
|z
t
z
ref
t
|
2
Q
0
+
1
2
N1

t=0
|u
t
u
ref
t
|
2
R
0
(7.6)
s.l.: z
0
= z, z
t+1
= (z
t
) + B
u
u
t
t = 0, . . . , N 1.
Observam ca problema de optimizare neconvexa ce rezulta din problema
de control optimal far a eliminarea st arilor (7.6) are forma:
min
xR
6N
1
2
x
T
Qx + q
T
x (7.7)
s.l.: h(x) = 0,
n care matricea Q, vectorul q si funct ia h sunt denit i n aceeasi manier a
ca n subcapitolul anterior.
Exercit iul 4. Sa se rezolve problema (7.6) cu metoda Newton-Lagrange,
consider and N = 2 si procedura de orizont alunec ator (i.e.
implementarea controlului predictiv).
Rezolvare. Problema de control optimal (7.6) pentru N = 2 devine:
min
zt,ut
1
2
_
(z
1
z
ref
1
)
T
Q
0
(z
1
z
ref
1
) + (z
2
z
ref
2
)
T
Q
0
(z
2
z
ref
2
)
_
+
1
2
_
u
T
0
R
0
u
0
+ u
T
1
R
0
u
1
_
s.l. z
0
= z, z
1
= (z
0
) + B
u
u
0
, z
2
= (z
1
) + B
u
u
1
,
7.2. Problema Google 167
unde z
t
R
4
si u
t
R
2
, iar z
ref
t
R
4
este o referint a dorit a pentru
nivelurile din cele patru rezervoare. Aceasta problem a de control optimal
se rescrie ca o problem a de optimizare de forma (7.7), unde:
x =
_

_
u
0
z
1
u
1
z
2
_

_
, Q =
_

_
R
0
0 0 0
0 Q
0
0 0
0 0 R
0
0
0 0 0 Q
0
_

_
, q =
_

_
0
Q
0
z
ref
1
0
Q
0
z
ref
2
_

_
,
h : R
12
R
8
, h(x) =
_
(z
0
) z
1
+ B
u
u
0
(z
1
) z
2
+ B
u
u
1
_
.
Reamintim ca metoda Lagrange-Newton presupune rezolvarea sistemului
de ecuat ii:
Qx + q +h(x)
T
= 0 (7.8)
h(x) = 0,
cu metoda Newton clasic a de rezolvare a sistemelor neliniare. Mai exact,
e sistemul de ecuat ii neliniare F(x) = 0, metoda Newton presupune
liniarizarea acestuia n punctul curent x
k
si rezolvarea sistemului liniar
rezultat n x, i.e.
F(x
k
) +F(x
k
)(x x
k
) = 0.
Algoritmul de rezolvare a problemei de control optimal a fost
implementat pe un PLC Siemens din Laboratorul de Optimizare si
Control Distribuit al UPB.

In Fig. 7.4 consider am dou a referint e pentru
ecare rezervor, ecare constanta pe o anumita perioad a de timp. Se
observa ca sistemul urmarest e foarte bine aceste referint e prin strategia
de control optimal folosind principiul de orizont alunecator (i.e. control
predictiv).
7.2 Problema Google
Internetul este dominat progresiv de motoare de cautare, n sprijinul
select iei si gasirii surselor de informat ii cu relevant a maxima. Unul dintre
cele mai vechi si eciente motoare de cautare este Google, care se aa
n continua dezvoltare pe masura ce progresele n domeniul algoritmilor
168 Capitolul 7. Aplicat ii din inginerie
15
20
25
30
35
40
0 500 1000 1500 1800
time(seconds)
level(cm)


h1
sh1
h4
sh4
10
15
20
25
30
35
40
0 500 1000 1500 1800
time(seconds)
level(cm)


h2
sh2
h3
sh3
Figura 7.4: Traiectoria nivelului de ap a din cele patru rezervoare.
avanseaz a. Tehnica folosita de Google pentru cautarea si clasicarea
paginilor web se numeste PageRank, iar pasul central din aceast a tehnica
presupune clasicarea (ranking-ul) unui numar urias de pagini web.

In
acest fel, rezulta o lista ordonat a de site-uri n sensul descresc ator al
relevant ei n legatura cu subiectul cautat.
Datorita conexiunilor permanente dintre paginile web n ret eaua
internet-ului, putem sa reprezentam structura legaturilor dintre pagini
prin intermediul unui graf ponderat orientat. Nodurile grafului reprezinta
paginile, iar muchiile au rolul link-urilor. Ponderea p
ij
(corespunzatoare
muchiei dintre nodurile i si j) reprezinta probabilitatea ca la o navigare
aleatorie n ret eaua de pagini sa se ajung a din pagina i n pagina j.

In plus, putem atribui grafului o matrice de adiacent a E R


nn
, cu
componenta E
ij
,= 0 dac a ntre nodurile i si j exist a muchie, iar E
ij
,= 0
dac a nodurile i si j nu sunt legate de o muchie. Numarul de muchii din
graf se reecta n numarul de elemente nenule ale matricei E; de aceea,
pentru un graf rar (cu put ine muchii), matricea de adiacent a va rar a
(va cont ine preponderent zerouri).
Pentru a analiza mai ndeaproape propriet at ile matricei de adiacent a
7.2. Problema Google 169
Figura 7.5: Exemplu de graf orientat.
rezultate din graful paginilor web, introducem urmatoarele not iuni:
Denit ia 4. O matrice E R
mn
se numeste stocastica pe linii dac a
are elemente nenegative (i.e. E
ij
0), iar suma pe ecare linie este egala
cu 1. O matrice E R
mn
se numeste stocastica pe coloane dac a are
elemente nenegative (i.e. E
ij
0), iar suma pe ecare coloan a este egala
cu 1.
Deoarece componentele nenule ale matricei de adiacent a E au rolul de
probabilit at i, acestea sunt nenegative, iar matricea E este stocastica pe
coloane. Forma algebrica a problemei Google se reduce la a gasi vectorul
propriu corespunz ator valorii proprii maxime 1, adica solut ia urmatorului
sistem liniar supus constrangerilor:
_
Ex = x
e
T
x = 1, x 0.
Problema rezolv arii acestui sistem se poate formula usor n termeni de
optimizare:
min
xR
n
f(x)
_
=
1
2
|Ex x|
2
_
(7.9)
s.l.: e
T
x = 1, x 0,
unde e = [1 . . . 1]
T
, matricea E R
nn
este rara (elementele au valori
preponderent nule). Observam ca problema rezultata este constr ans a,
nsa dac a alegem un parametru > 0 sucient de mare, putem obt ine
o formulare echivalenta far a constrangeri folosind funct ia de penalitate
patratic a:
min
xR
n
F(x, )
_
=
1
2
|Ex x|
2
+

2
(e
T
x 1)
2
_
. (7.10)
170 Capitolul 7. Aplicat ii din inginerie
Pe baza teoremei Peron-Frobenius, observam ca putem elimina
constrangerile de inegalitate x 0, deoarece solut ia optima global a a
problemei de optimizare (7.10) satisface automat aceasta constr angere.
Datorita dimensiunilor foarte mari ale ambelor probleme considerate
(7.9) si (7.10), ne orientam atent ia catre algoritmi de ordinul I deoarece
au o complexitate scazuta per iterat ie:
metoda de gradient proiectat pentru cazul constrans (7.9):
x
k+1
= [x
k
f(x
k
)]
(In,n)
metoda gradient pentru cazul neconstr ans (7.10):
x
k+1
= x
k
F(x
k
, )
unde
n
= x : e
T
x = 1, x 0 este mult imea numit a simplex si
> 0 este un pas constant. Rezultatele obt inute sunt prezentate n
Fig. 7.6 si 7.7. Se observa o convergent a rapid a n ambele metode. De
asemenea, observam ca metoda de penalitate produce o solut ie optima
pentru problema originala pentru valori relativ mici ale parametrului de
penalitate .
Exercit iul 5. Fie o matrice E dat a cu propriet at ile descrise anterior.
Sa se rezolve prima formulare (7.9) cu ajutorul metodei de gradient
proiectat, iar cea de-a doua (7.10) cu metoda gradient pentru cazul
neconstr ans.
Rezolvare. Deoarece mult imea fezabila este descris a de o combinat ie
de inegalitat iegalitat i liniare, nu putem deduce proiect ia ortogonal a
a unui punct pe aceasta mult ime n mod explicit. De accea, n
implementare folosim funct ia Matlab quadprog pentru a obt ine o
proiect ie aproximativa.
Consideram urmatoarea funct ie Matlab ce primeste ca argument
matricea de adiacent a E si rezolv a problema de optimizare prin metoda
gradientului proiectat:
function [x]=google(E,eps)
[m n]=size(E);
if (m~=n)
error(Dimensiunile matricii nu sunt compatibile!);
end
7.2. Problema Google 171
e=ones(n,1);
%%%% Dac\u a matricea E nu este stochastica pe coloane,
%%%% se creaza o noua matrice care
%%%% indeplineste aceasta proprietate.
if (norm(sum(E,1).^(-1)-e)>0.0001)
inv=diag(sum(E,1).^(-1));
E=E*inv;
end
I=eye(n); x=5*rand(n,1); x=x/sum(x);
crit_stop=norm(E*x-x);
L=norm(E-I);
while (crit_stop>eps)
%%% Se calculeaza gradientul %%%%
grad=(E-I)*(E-I)*x;
%%% Se calculeaza pasul metodei gradient %%%%
d=x-(1/L)*grad;
%%% Se proiecteaza pe mul\c timea fezabila%%%%
[grad_proj]=quadprog(eye(n),-d,[],[],e,1,zeros(n,1));
x=grad_proj;
%%% Criteriul de oprire %%%%
crit_stop=norm(E*x-x);
end end
0 5 10 15 20 25
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Iteratii
f
(
x
k
)


f
*
Figura 7.6: Convergent a metodei gradient proiectat aplicat a unei probleme
Google de dimensiune n = 50 n termeni de valorile funct iei obiectiv.
172 Capitolul 7. Aplicat ii din inginerie

In cel de-al doilea caz, implementam metoda gradient cu parametrul


dat de utilizator:
function [x]=google_unc(E,eps,gamma)
[m n]=size(E);
if (m~=n)
error(Dimensiunile matricii nu sunt compatibile!);
end
e=ones(n,1);
%%%% Dac\u a matricea E nu este stochastica pe coloane,
%%%% se creaza o noua matrice cu aceasta proprietate.
if (norm(sum(E,1).^(-1)-e)>0.0001)
inv=diag(sum(E,1).^(-1));
E=E*inv;
end
I=eye(n); x=5*rand(n,1); x=x/sum(x);
crit_vec=[];
crit_stop=norm(E*x-x)/norm(x);
L=norm(E-I+(gamma*e*e));
crit_vec=[crit_vec;crit_stop];
while (crit_stop>eps)
%%% Se calculeaza gradientul %%%%
grad=(E-I)*(E-I)*x + gamma*(e*e*x-e);
%%% Se calculeaza pasul metodei gradient %%%%
x=x-(1/L)*grad;
%%% Criteriul de oprire %%%%
crit_stop=norm(E*x-x)/norm(x);
crit_vec=[crit_vec;crit_stop];
end
figure;
plot(0:length(crit_vec)-1,crit_vec,LineWidth,2);
xlabel(Iteratii); ylabel(f(x_k) - f^*);
end
7.3. Clasicarea de imagini 173
0 0.5 1 1.5 2 2.5 3 3.5 4
x 10
4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Iteratii (k)
f
(
x
k
)


f
*
0 1 2 3 4 5
x 10
4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Iteratii (k)
f
(
x
k
)


f
*


=5
=10
=15
=30
=50
(a) (b)
Figura 7.7: Convergent a metodei gradient pentru problema Google cu
n = 10
3
, = 50 n termeni de valorile funct iei obiectiv (a). Dependent a
convergent ei metodei gradient de parametrul aplicat a problemei Google pe
n = 10
3
(b).
7.3 Clasicarea de imagini
Tehnicile de clasicare si nvat are automata sunt not iuni centrale n
domeniul statisticii, calculatoarelor, prelucr arii semnalelor etc. Ambele
se ocup an mod fundamental cu problema recunoasterii tiparelor (pattern
recognition) prin dezvoltarea de modele matematice ce suport a o etapa
preliminara de antrenare (experient a), pe baza careia realizeaz a operat ii
de clasicare/regresie de obiecte si funct ii. O parte din numeroasele
aplicat ii ale acestor tehnici cuprinde:
1. recunoasterea email-urilor de tip spam sau malware;
2. recunosterea vocii/fet ei;
3. compresia cantitat ilor uriase de date;
4. detect ia de tipare n cadrul unei imagini;
5. recunoasterea scrisului de m ana.
Una dintre cele mai renumite tehnici de recunoastere/clasicare este SVM
- Support Vector Machine. Aceasta tehnica presupune determinarea unui
model matematic ce separ a dou a sau mai multe clase de obiecte cu o
174 Capitolul 7. Aplicat ii din inginerie
Figura 7.8: Hiperplan de separare a doua clase de obiecte.
anumita acuratet e.

In vederea clasic arii sau recunoasterii unui obiect
necunoscut, se introduc datele obiectului n modelul matematic, iar la
iesire se primeste id-ul clasei din care face parte.

In cele mai simple
cazuri, modelul matematic cautat este reprezentat de un hiperplan H =
y R
n
: a
T
y = b caracterizat de parametrii a R
n
si b R. De aceea,
problema se reduce la a gasi parametrii optimi (a, b) care sa separe cat
mai bine clasele de obiecte (vezi Fig. 7.8).

In termenii teoriei optimizarii,
problema se formuleaz a dup a cum urmeaza:
min
aR
n
,bR
1
2
|a|
2
(7.11)
s.l.: c
i
_
a
T
y
i
b
_
1 i = 1, . . . , m,
unde a si b reprezinta parametrii hiperplanului, iar c
i
indic a clasa din
care face parte obiectul y
i
. Variabilele de decizie x = [a
T
b]
T
reprezinta
parametrii unui hiperplan de separare a claselor de obiecte/imagini, asa
cum se observa n Fig. 7.8. Problema de optimizare convexa patratic a
av and numai constrangeri de inegalitate (7.11) o rezolv am prin metoda
de punct interior aplicat a problemelor convexe (CP).

In continuare, exemplicam o aplicat ie practic a a tehnicii SVM prin


problema recunoasterii cifrei 7 dintr-o imagine. Se cunoaste ca orice
imagine poate reprezentata sub forma unei serii de pixeli, unde ecare
pixel la randul sau este denit de o valoare (e.g. ntre 0 256) dat a
de culoarea acestuia. Pentru a simplica exemplul, consider am imagini
mono-colore compuse din 49 de pixeli, n care pixelii sunt reprezentat i de
niveluri de gri cu valori ntre 0 si 5 (vezi Fig. 7.9).

In etapa de init ializare
a tehnicii SVM se xeaza o mult ime de antrenare compusa din diferite
7.3. Clasicarea de imagini 175
imagini ce cont in variante ale cifrei 7 (ce fac parte din clasa I de obiecte)
si imagini aleatorii complet diferite de cifra 7 (ce fac parte din clasa a
II-a de obiecte). Deoarece aceasta etapa se mai numeste si antrenare, se
cunoaste pentru ecare imagine clasa din care face parte. Fiec arei imagini
i i se asociaz a un vector de 49 de componente (ecare componenta lu and
valori ntregi ntre 0 si 5) si un parametru c ce reprezinta indexul clasei din
care face parte imaginea respectiv a (daca c = 1 atunci imaginea cont ine
cifra 7, dac a c = 1 atunci imaginea este aleatorie). Pe baza acestei
mult imi de antrenare, urmarim realizarea unui hiperplan de separare a
acestor dou a clase.
(a)
(b)
Figura 7.9: Mult imea de antrenare a modelului matematic de separare: (a)
imagini ce fac parte din clasa I; (b) imagini ce fac parte din clasa a II-a.
Exercit iul 6. Sa se rezolve problema (7.11) n contextul prezentat
anterior. Sa se testeze ecient a solut iei (hiperplanului) obt inute prin
evaluarea ratei de succes n recunoasterea cifrei 7.
Rezolvare. Alegem un set de imagini ale cifrei 7(vezi Fig. 7.9 (a)) si un
set de imagini aleatorii (vezi Fig. 7.9 (b)) ce reprezinta mult imea de
176 Capitolul 7. Aplicat ii din inginerie
antrenare a hiperplanului de separare. Transform am aceste imagini n
vectori de pixeli cum am descris nainte, ce pot introdusi ntr-o funct ie
Matlab si folosit i n rezolvarea problemei (7.11). Urm atoarea secvent a
de cod rezolv a problema SVM pe baza mult imii de antrenare date de
vectorii de pixeli introdusi de la tastatur a.
function []=pattern()
%% Elemente clasa 1 din mul\c timea de antrenare
C1=zeros(12,49);
C1(1,:)=[zeros(1,16) 2 2 2 zeros(1,6) 2 zeros(1,5) 2...
zeros(1,6) 2 zeros(1,10)];
C1(2,:)=[zeros(1,15) 3 3 3 zeros(1,6) 3 zeros(1,5) 3...
zeros(1,6) 3 zeros(1,11)];
C1(3,:)=[zeros(1,16) 2 2 2 zeros(1,4) 1 0 2...
zeros(1,6) 2 zeros(1,6) 2 zeros(1,9)];
C1(4,:)=[zeros(1,16) 4 4 4 zeros(1,4) 4 0 4 zeros(1,4) 4...
zeros(1,6) 4 zeros(1,11)];
C1(5,:)=[zeros(1,10) 3 zeros(1,5) 3 0 3 zeros(1,3) 3
zeros(1,3) 3 zeros(1,3) 3 zeros(1,3) 3 zeros(1,14)];
C1(6,:)=[zeros(1,8) 2 2 2 2 2 zeros(1,6) 2 zeros(1,5)...
2 zeros(1,5) 2 zeros(1,6) 2 zeros(1,10)];
C1(7,:)=[zeros(1,15) 2 2 2 2 2 zeros(1,6) 2 zeros(1,5)...
2 zeros(1,5) 2 zeros(1,6) 2 zeros(1,3)];
C1(8,:)=[zeros(1,17) 3 3 3 3 zeros(1,6) 3 zeros(1,5)...
3 zeros(1,6) 3 zeros(1,8)];
C1(9,:)=[zeros(1,17) 3 zeros(1,5) 3 0 3 zeros(1,3)...
3 zeros(1,3) 3 0 3 zeros(1,3) 3 zeros(1,9)];
C1(10,:)=[zeros(1,8) 3 3 zeros(1,5) 3 zeros(1,6) 3...
zeros(1,6) 3 3 3 3 zeros(1,16)];
C1(11,:)=[zeros(1,17) 2 2 2 zeros(1,4) 2 0 2 zeros(1,6) 2...
zeros(1,6) 2 zeros(1,8)];
C1(12,:)=[zeros(1,15) 2 2 2 2 zeros(1,3) 2 zeros(1,7) 2...
zeros(1,6) 2 zeros(1,11)];
%% Elemente clasa 2 din mul\c timea de antrenare
C2=zeros(7,49);
for i=1:7
x=full(round(5*sprand(1,49,0.5)));
x(x<2)=0; C2(i,:)=x;
end
7.3. Clasicarea de imagini 177
%% Elemente de testare a hiperplanului rezultat
C3=zeros(8,49);
C3(1,:)=[zeros(1,11) 3 3 zeros(1,6) 3 zeros(1,6)...
3 zeros(1,3) 3 3 3 3 zeros(1,15)];
C3(2,:)=[zeros(1,9) 2 3 3 4 zeros(1,3) 2 0 0 4...
zeros(1,6) 4 zeros(1,6) 4 zeros(1,15)];
C3(3,:)=[zeros(1,9) 2 2 2 2 zeros(1,6) 3 zeros(1,5) 3...
zeros(1,6) 3 zeros(1,16)];
C3(4,:)=[ones(1,15) 4 4 4 ones(1,6) 4 ones(1,5) 4...
ones(1,6) 4 ones(1,11)];
C3(5,:)=[0 3*ones(1,5) 0 0 3*ones(1,5) zeros(1,5) 4 4...
zeros(1,4) 4 4 zeros(1,5) 4 4 zeros(1,5) 4 4 zeros(1,9)];
C3(6,:)=[zeros(1,9) 2*ones(1,5) zeros(1,5) 2 2 zeros(1,4)...
2 2 zeros(1,4) 2 2 zeros(1,5) 2 2 zeros(1,9)];
C3(7,:)=[zeros(1,8) 2*ones(1,6) 0 2 zeros(1,3) 2 2...
zeros(1,5) 2 2 zeros(1,5) 2 2 zeros(1,14)];
C3(8,:)=[0 3*ones(1,5) 0 0 3*ones(1,5) zeros(1,5) 3 3...
zeros(1,4) 3 3 zeros(1,5) 3 3 zeros(1,5) 3 3 zeros(1,9)];
C4=zeros(12,49);
for i=1:12
x=full(round(5*sprand(1,49,0.5)));
x(x<2)=0; C4(i,:)=x;
end
%%% Rezolvare problema SVM
cvx_begin
variable w(49);
variable b(1);
minimize ((1/2)*w*w)
subject to
C1*w-b*ones(12,1)>=ones(12,1);
C2*w-b*ones(7,1)<=-ones(7,1);
cvx_end
end
Pentru a testa solut ia gasit a (a

, b

) prin rezolvarea problemei (7.11),


vericam certitudinea cu care hiperplanul rezultat situeaz a punctele de
178 Capitolul 7. Aplicat ii din inginerie
test n clasele aferente:
a
T
y b
_
< 0, atunci imaginea dat a de y nu cont ine cifra 7
> 0, atunci imaginea dat a de y cont ine cifra 7.

In cazul punctelor considerate n secvent a de cod precedent a, tragem


urmatoarele concluzii:
dac a test am hiperplanul cu diferite imagini aleatorii cu densitate
mare de pixeli gri (vezi Fig. 7.10) si respectiv, imagini cu cifra
7 transformat a n diverse moduri (translat ie la st anga/dreapta,
nclinare etc.) atunci rezulta o rata de succes (recunoastere corecta)
de 80%;
dac a pentru testare consider am imagini aleatorii cu densitate mic a
si respectiv, imagini cu cifra 7 transformat a n diverse moduri
(translat ie la st anga/dreapta, nclinare etc.) atunci rezulta o rat a
de succes de 52%.
Figura 7.10: Exemple de imagini aleatorii cu densitate ridicat a de pixeli
gri.
Motivat ia ratei de succes n al doilea caz este dat a de doi factori: (i)
similaritatea ridicat a ntre imaginile cu densitate mic a de pixeli si cele ce
cont in cifra 7, (ii) numarul relativ mic de imagini de antrenare (cu cat
mult imea de antrenare cont ine mai multe puncte, cu at at hiperplanul
rezultat este mai ecient).

In concluzie, am obt inut un hiperplan de
separare ce recunoaste cu o anumita rata de succes imagini ce cont in sau
nu cifra 7.
Bibliograe
[1] I. Necoara. Metode de Optimizare Numerica. Editura Politehnica
Press, 2013.
[2] D.G. Luenberger. Linear and nonlinear programming. Kluwer, 1994.
[3] J. Nocedal and S. Wright. Numerical Optimization. Springer Verlag,
2006.