Upload
stan-ionescu
View
60
Download
0
Embed Size (px)
DESCRIPTION
Buneci MLimba romana
Citation preview
Mădălina Roxana Buneci
Optimizări
Editura Academica Brâncuşi
Târgu-Jiu, 2008
Mădălina Roxana Buneci
2
ISBN 978-973-144-187-0
Optimizări
3
CUPRINS
Prefaţă...........................................................................................................................5
I. Modelul matematic al problemelor de optimizare...................................................7
II. Optimizări pe mulţimi deschise.............................................................................17
III. Optimizări cu restricţii egalităţi...........................................................................21
IV. Elemente de analiză convexă................................................................................31
IV.1. Mulţimi convexe...................................................................................31
IV.2. Problema celei mai bune aproximări.....................................................38
IV.3. Separarea mulţimilor convexe prin hiperplane......................................42
IV.4. Hiperplan de sprijin...............................................................................48
IV.5.Conuri convexe.......................................................................................51
IV.6. Conuri duale şi inegalităţi generalizate..................................................61
IV.7. Funcţii convexe......................................................................................70
V. Condiţii de optimalitate – cazul problemelor de optimizare cu restricţii
inegalităţi................................................................................................................87
V.1. Condiţii suficiente de optimalitate de tip punct şa..................................88
V.2. Condiţii de optimalitate pentru funcţii convexe.....................................90
V.3. Condiţia necesară de optimalitate Fritz-John..........................................92
V.4. Condiţia de regularitate Slater.................................................................95
V.5. Condiţii necesare şi suficiente de optimalitate – cazul problemelor de
optimizare convexă..............................................................................102
V.6. Restricţii active.....................................................................................104
V.7. Condiţii necesare de optimalitate – cazul funcţiilor diferenţiabile.......105
V.8. Minim în sensul pantei maxime. Minim în sensul lui Lagrange..........108
V.9. Condiţii de optimalitate – cazul funcţiilor convexe diferenţiabile........110
VI. Dualitate în optimizarea convexă.......................................................................115
VI.1. Dualitate în sens Wolfe........................................................................118
Mădălina Roxana Buneci
4
VI.2. Dualitate în sens Lagrange..................................................................123
VII. Metode numerice de rezolvare a problemelor de optimizare fără restricţii......129
VII.1. Proceduri de alegere optimală a pasului.............................................132
VII.1.1. Metoda secţiunii de aur.......................................................137
VII.1.2. Metoda bisecţiei..................................................................140
VII.1.3. Metoda tangentei (metoda lui Newton)..............................142
VII.2. Proceduri de alegere suboptimală a pasului.......................................147
VII.3. Proceduri de alegere a direcţiei..........................................................157
VII.3.1. Metoda gradientului (metoda celei mai rapide descreşteri)......
.............................................................................................158
VII.3.2. Direcţii cvasi-Newton..........................................................170
VII.3.3. Metoda Newton clasică.......................................................174
VII.3.4. Metoda Newton cu pas variabil...........................................184
VII.3.5. Metode Newton modificate.................................................190
VII.3.6. Metoda direcţiilor conjugate. Metoda gradientului
conjugat..............................................................................197
VII.3.7. Metode cvasi-Newton (Metode de metrică variabilă).........215
Anexă (noţiuni de analiză matematică şi algebră liniară).........................................227
A1. Spaţii topologice. Spaţii metrice. Spaţii normate. Spaţii Hilbert ...........227
A2. Elemente de analiză matriceală..............................................................241
Bibliografie...............................................................................................................247
Index ........................................................................................................................249
Optimizări
5
PREFAŢĂ
În prezent tehnicile de optimizare sunt utilizate în inginerie, finanţe, statistică
şi în multe alte domenii.
Această carte reprezintă o introducere în studiu metodelor moderne de
rezolvare a problemelor de optimizare neliniară.
În cele şapte capitole ale acestei lucrări sunt prezentate rezultate privind
optimizările pe mulţimi deschise (optimizări fără restricţii), optimizările cu restricţii
egalităţi şi optimizări cu restricţii inegalităţi. Un capitol al cărţii este destinat
prezentării unor noţiuni fundamentale ale analizei convexe. În ultimul capitol sunt
prezentate metode numerice de rezolvare a problemelor de optimizare fără restricţii.
Sunt evidenţiate atât aspectele teoretice cât şi practice. Algoritmii sunt însoţiţi de
implementarea lor în MAPLE.
Cartea se adresează celor interesaţi de optimizări, care au relativ puţine
cunoştinţe prealabile în domeniul. Noţiunile de analiză matematică şi algebră liniară
necesare pentru înţelegerea materialului prezentat în această carte sunt recapitulate
într-o anexă. Notaţiile utilizate, precum şi câteva rezultate necesare ce ţin calculul
diferenţial (difereţiale, formula Taylor, teorema funcţiilor implicite) sunt prezentate
pe scurt la sfârşitul capitolului I.
Manualul de faţă corespunde programei analitice a cursului de Optimizări /
Metode de Optimizare (de la Ingineria Sistemelor, Automatică). În afară de destinaţia
ei directă de manual pentru studenţii facultăţilor tehnice, cartea poate servi, pentru
cei interesaţi, ca punct de plecare în studiul mai aprofundat al metodelor de
optimizare.
Mădălina Roxana Buneci
6
Optimization
Abstract. The purpose of this book is to describe modern methods for
solving optimization problems. The seven chapters of the book contain results
concerning optimization over an open set (unconstrained optimization), optimization
with equality constraints and inequality constrained problems. Chapter IV provides a
concise introduction to Convex Analysis (basic properties of convex sets and convex
functions, separating and supporting hyperplanes, convex hulls and extremal sets,
convex cones, dual cones and generalized inequalities). Numerical methods for
unconstrained optimization are considered in the last chapter. Theoretical as well as
practical aspects are emphasized. The algorithms are implemented in MAPLE.
The chapters are: I. The mathematical model of optimization problems; II.
Optimization over an open set; III Optimization with equality constraints; IV.
Elements of convex analysis; V. Optimality condition – the case of inequality
constrained problems; VI. Duality in convex optimization; VII. Numerical methods
for unconstrained optimization. The mathematical background needed to
understanding this material is recalled in an annex.
These lecture notes were developed for a fourteen-week course the author has
taught for the students at System Engineering.
Optimizări
7
I. Modelul matematic al problemelor de optimizare
Prin optimizare se înţelege un ansamblu de metode şi tehnici care determină
găsirea soluţiei celei mai bune (soluţie optimă) pentru o problemă dată.
Modelul matematic al oricărei probleme de optimizare presupune
minimizarea sau maximizarea unei funcţii f: X → R, numită funcţie obiectiv. Adică
rezolvarea problemei ( )x Xinf f x∈
sau problemei ( )x Xsup f x∈
.
Un punct x0∈X cu proprietatea că f(x0) ≤ f(x) (respectiv, f(x0) ≥ f(x)) pentru
orice x∈X se numeşte punct de minim global (respectiv, punct de maxim global) al
lui f pe X. Un punct x0∈X cu proprietatea că există V o vecinătate a lui x0
(presupunând că X este spaţiu topologic) astfel încât f(x0) ≤ f(x) (respectiv, f(x0) ≥
f(x)) pentru orice x∈X∩V se numeşte punct de minim local (respectiv, punct de
maxim local) al lui f. Deoarece
( )x Xsup f x∈
= ( )( )x X- inf - f x
∈,
nu se restrânge generalitatea dacă vom trata doar problemele de forma:
( )x Xinf f x∈
(P)
Vom numi soluţie optimă a problemei (P) un punct de minim global al lui f
pe X. Vom numi soluţie optimă locală a problemei (P) un punct de minim local al
lui f.
Există un număr important de subclase de probleme de optimizare. Cele mai
simple sunt aşa numitele optimizări fără restricţii. În cazul optimizărilor fără
restricţii urmărim să rezolvăm probleme de forma:
( )nx
inf f x∈R
Mădălina Roxana Buneci
8
unde funcţia obiectiv este f: Rn → R. Un alt tip de probleme de optimizare sunt
optimizările cu restricţii egalităţi. În cazul acestora urmărim să rezolvăm probleme
de forma:
( )x Xinf f x∈
unde
X = {x∈Rn : ϕ(x) = 0}
cu ϕ: Rn → Rm (ϕ desemnează restricţiile). Pentru consistenţă se presupune că m≤n,
altfel existând probabilitatea să nu existe nici un vector x∈Rn care să îndeplinească
condiţia ϕ(x) = 0 (ţinând cont că ϕ(x) este un vector din Rm condiţia ϕ(x) = 0 trebuie
înţeleasă în sensul că fiecare dintre cele m componente ale lui ϕ(x) să fie nulă, adică
ϕ(x) să fie vectorul nul din Rm). Un alt tip important de probleme de optimizare sunt
optimizările cu restricţii inegalităţii. În cazul acestora urmărim să rezolvăm
probleme de forma:
( )x Xinf f x∈
unde
X = {x∈Rn : ϕ(x) ≥ 0}
cu ϕ: Rn → Rm (ϕ desemnează restricţiile). Ţinând cont că ϕ(x) este un vector din
Rm condiţia ϕ(x) ≥ 0 trebuie înţeleasă în sensul că fiecare dintre cele m componente
ale lui ϕ(x) să fie nenegativă). Cele mai generale probleme de optimizări implică atât
restricţii egalităţi cât şi restricţii inegalităţi (iar inegalităţile pot fi exprimate şi sub
forma : ϕ(x) ≤ 0 ⇔ - ϕ(x) ≥ 0). De asemenea există subclasificări ce ţin cont de
funcţia obiectiv (liniară sau neliniară) şi de restricţii (liniare sau neliniare).
Notaţii
Prezentăm notaţiile care vor fi folosite şi reamintim câteva rezultate legate de
funcţiile diferenţiabile.
Spaţiul Rn
Considerăm spaţiul vectorial real V = Rn, n∈N*. Facem convenţia ca vectorii
din Rn să fie consideraţi vectori coloană. Vom folosi indicii inferiori pentru a
desemna componentele unui vector din Rn şi indicii superiori pentru a desemna
Optimizări
9
diverşi vectori. Vom nota cu ||⋅|| (sau cu ||⋅||2 când vom dori să o distingem de alta)
următoarea normă pe Rn:
||x|| =2/1
n
1j
2
jx
∑
=
pentru orice x = (x1, x2, …, xn)t ∈ Rn.
Norma ||⋅|| se numeşte normă euclidiană şi provine din produsul scalar
<x, y> = ∑=
n
1jjjyx = xt y pentru x = (x1, x2, …, xn)
t şi y = (y1, y2, …, yn)t.
(în sensul că ||x|| = <x,x> ). Este cunoscut că:
Rn este spaţiu Hilbert (în raport cu produsul scalar de mai sus) ⇒ Rn este
spaţiu Banach (în raport cu norma ||⋅|| indusă de produsul scalar)⇒ Rn este spaţiu
metric complet (în raport cu distanţa euclidiană indusă de norma ||⋅||)⇒ Rn este
spaţiu topologic (în raport cu topologia indusă de distanţa euclidiană).
În raport cu această topologie Rn este spaţiu local compact. O submulţime A
lui Rn este compactă dacă şi numai dacă este închisă (echivalent, conţine limita
fiecărui şir convergent cu termeni din A) şi mărginită (echivalent, există M>0 astfel
încât ||x||≤M pentru orice x∈A).
Diferenţiabilitate
Fie X o submulţime deschisă a lui Rn şi x0 ∈ X, x0=( 0 0 01 2 nx , x , ..., x ). Fie f: X
→ R o funcţie şi fie 1≤i≤n. Dacă există şi este finită următoarea limită
0 0 0 0 0 0 0 0 0 01 2 i i+1 n 1 2 i-1 i i+1 n
00x x i ii i
f(x , x , ..., , x , x , ..., x ) - f(x ,x ,..., x , x , x , ...,x )lim
x - x→
atunci ea se notează cu ( )0
i
fx
x
∂∂
şi se numeşte derivata parţială de ordinul 1 a lui f
în x0 în raport cu xi (a i-a variabilă), iar f se spune derivabilă parţial (de ordinul 1)
în x0. Se poate arăta că dacă f este derivabilă parţial, atunci f este continuă. Dacă f
admite derivate parţiale de ordinul 1 într-o vecinătate a lui x0 şi dacă funcţiile
x → ( )i
fx
x
∂∂
Mădălina Roxana Buneci
10
sunt derivabile parţial de ordinul 1 în x0, atunci f derivabilă parţial de ordinul al 2-
lea în x0. Se utilizează notaţiile
( )2
i j
fx
x x
∂∂ ∂
= ( )i j
fx
x x
∂ ∂ ∂ ∂
şi ( )2
2i
fx
x
∂
∂= ( )
i i
fx
x x
∂ ∂ ∂ ∂
, 1≤ i, j ≤n
Funcţia f : X → Rm se numeşte diferenţiabilă în x0 dacă şi numai dacă există
o aplicaţie liniară T : Rn → Rm astfel încât
( ) ( ) ( )0 0
00x x
f x f x T x xlim
x x→
− − −
− = 0
În această situaţie T se numeşte diferenţiala lui f în x0. Funcţia f se numeşte
diferenţiabilă pe X dacă este diferenţiabilă în fiecare punct din X.
Notăm cu f1, f2, ..., fm : X → R, componentele scalare ale funcţiei f (avem
f(x)= (f1(x), f2(x), ..., fm(x))t pentru orice x∈X). Se poate arăta că
• Dacă f este diferenţiabilă în x0, atunci toate componentele scalare ale
lui f admit derivate parţiale de ordinul 1 în x0. Reciproca nu este
adevărată
• Dacă toate componentele scalare ale lui f admit derivate parţiale de
ordinul 1, continue în x0, atunci f este diferenţiabilă în x0.
Presupunem că f : X → Rm este diferenţiabilă. Se arătă că matricea asociată
aplicaţiei liniare T (diferenţiala lui f în x0) este matricea jacobiană a funcţiei f
calculată în punctul x0:
( )
0 0 01 1 1
1 2 n
0 0 02 2 20
1 2 n
0 0 0m m m
1 2 n
f f f(x ) (x ) ... (x )
x x x
f f f(x ) (x ) ... (x )
x x xJf x
...............................................
f f f(x ) (x ) ... (x )
x x x
∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂=
∂ ∂ ∂ ∂ ∂ ∂
unde f1, f2, ..., fm sunt componentele scalare ale funcţiei f . Avem
Optimizări
11
T(x)=Jf(x0) x=
0 0 01 1 1
1 2 n
0 0 02 2 2
1 2 n
0 0 0m m m
1 2 n
f f f(x ) (x ) ... (x )
x x x
f f f(x ) (x ) ... (x )
x x x
...............................................
f f f(x ) (x ) ... (x )
x x x
∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂
∂ ∂ ∂ ∂ ∂ ∂
1
2
n
x
x
...
x
Dacă m = n, determinantul matricei jacobiene det(Jf(x0)) se numeşte
jacobianul sau (determinatul funcţional) al funcţiilor f1, f2, ..., fn în raport cu
variabilele x1, x2, ..., xn calculat în punctul x0.
În cazul particular m=1 (f: X→ R) avem
T(x) = Jf(x0) x= ( ) ( ) ( )0 0 0
1 2 n
f f fx , x , . . . , x
x x x
∂ ∂ ∂ ∂ ∂ ∂
1
2
n
x
x
...
x
= ( )n
0i
ii= 1
fx x
x
∂∂∑ .
Notăm ( )0f x∇ = ( ) ( ) ( )t
0 0 0
1 2 n
f f fx , x , . . . , x
x x x
∂ ∂ ∂ ∂ ∂ ∂
gradientul funcţiei
f. Atunci avem T(x) = ( )t0f x∇ x = < ( )0f x∇ , x> . În cazul n=m=1, avem T(x)
= f ′ (x0)x pentru orice x∈R. În general, vom nota T cu f ′ (x0) sau f(1)(x0) (prin
analogie cu cazul funcţiilor reale de o variabilă reală).
Notăm cu L(Rn, Rm) mulţimea aplicaţiilor liniare de la Rn la Rm. Este bine
cunoscut că L(Rn, Rm) este spaţiu normat: pentru orice A∈ L(Rn, Rm),
|| A|| = 1x
sup≤
||A(x)||.
Teorema creşterilor finite. Fie G o submulţime deschisă a lui Rn şi f:G→R
o funcţie diferenţiabilă. Fie a, b∈ G astfel încât
I(a, b) = {ta+(1-t)b, t ∈[0, 1]} ⊂ G.
Atunci are loc inegalitatea
Mădălina Roxana Buneci
12
||f(b) – f(a)|| ≤ ||b-a|| ( )z I a,b
sup∈
|| ( )f z′ ||.
Dacă funcţia f : X → Rm este diferenţială în fiecare punct dintr-o vecinătate
V a lui x0 şi dacă funcţia
x → f ′ (x) [: V → L(Rn, Rm)]
este diferenţiabilă în x0, atunci f se numeşte de două ori diferenţiabilă în x0 şi în
acest caz se notează cu f ′′ (x0) = ( )f ′′ (x0) şi se numeşte diferenţiala de ordinul 2 a
lui f. Inductiv se definesc diferenţialele de ordin superior:
f(k) = ( )( )k 1f − ′,
unde f(0) = f, iar f(k) reprezintă diferenţiala de ordinul k a lui f. Se poate arăta că
• Dacă f este de două ori diferenţiabilă în x0, atunci toate componentele
scalare ale lui f admit derivate parţiale de ordinul 2 în x0. Reciproca nu este
adevărată.
• Dacă toate componentele scalare ale lui f admit derivate parţiale de ordinul
2, continue în x0, atunci f este de două ori diferenţiabilă în x0.
• Dacă 2
k
i j
f
x x
∂∂ ∂
şi 2
k
j i
f
x x
∂
∂ ∂ sunt continue în punctul x0, atunci ( )
20k
i j
f
x xx
∂∂ ∂
=
( )2
0k
j i
f
x xx
∂∂ ∂
(criteriul de comutativitate al lui Schwarz)
• Dacă f este de două ori diferenţiabilă în x0, atunci ( )2
0k
i j
f
x xx
∂∂ ∂
=
( )2
0k
j i
f
x xx
∂∂ ∂
(criteriul de comutativitate al lui Young)
Dacă f : X → Rm este de două ori diferenţiabilă, atunci diferenţiala de
ordinul 2, ( )0 n n mf x : ( , )′′ →R L R R , are proprietatea
( ) ( )( ) ( )0 n n m n n mf x , , ; ′′ ∈ ≈ 2L R L R R L R , R R
deci f ′′ (x0) poate fi privită ca o aplicaţie 2-liniară (biliniară).
Optimizări
13
În cazul m=1, se arată că matricea asociată formei biliniare f ′′ (x0) din
( )n n2L , ; R R R este hessiana lui f. Vom nota hessiana lui f cu Hf(x0). Avem
Hf(x0) = ( )2
0
i j 1 i, j n
fx
x x≤ ≤
∂ ∂ ∂
Criteriul lui Young implică faptul că f ′′ (x0) este formă biliniară simetrică, sau
echivalent hessiana este matrice simetrică: Hf(x0) = Hf(x0)t.
Diferenţiala de ordinul al 2-lea a lui f în x0 este dată de
( )( ) ( ) ( ) ( )2n
0 0 t 0 0i j
i ji, j 1
ff x u,v =<u, Hf x v>=u Hf x v= x u v
x x=
∂′′∂ ∂∑
unde u = (u1, u2, ...., un)t, v = (v1, v2, ...., vn)
t ∈Rn.
Funcţia f : X → Rm se numeşte de clasă Ck (k≥1) dacă toate componentele
scalare ale lui f admit derivate parţiale de ordinul k continue pe X. Orice funcţie de
clasă Ck este de k-ori diferenţiabilă.
Formula lui Taylor
Începem cu o observaţie. Fie X o submulţime deschisă a lui Rn şi x0∈X
fixate. Deoarece X este deschisă şi x0∈X, există δ0 > 0 astfel încât B(x0, δ0) ⊂ X.
Vom arăta că un vector x∈ Rn este în B(x0, δ0) dacă şi numai dacă x se scrie sub
forma x = x0 + δh cu 0 ≤ δ < δ0 şi h∈ Rn cu ||h|| = 1. Într-adevăr, putem lua
δ = ||x-x0|| şi h = 1
δ(x-x0)
pentru x ≠x0 şi δ=0 pentru x = x0.
Teoremă (formula lui Taylor). Fie X o submulţime deschisă a lui Rn, k∈N
şi f: X → R o funcţie de k ori diferenţiabilă într-un punct x0∈X. Fie δ0 > 0 astfel
încât B(x0, δ0) ⊂ X. Atunci pentru orice h∈ Rn cu ||h|| = 1 şi pentru orice δ∈R cu
δ< δ0, avem
f(x0 + δh)= f(x0)+1
1!δf(1)(x0)(h)+
1
2!δ2 f(2)(x0)(h,h) +
1
k!δk f(k)(x0)(h,h, ..., h) + o(δk),
unde ( )k
kδ 0
o δlim
δ→=0.
Mădălina Roxana Buneci
14
Dacă f este de k+1 ori diferenţiabilă pe B(x0, δ0) ⊂ X, atunci pentru orice h
din Rn cu ||h|| = 1 şi pentru orice δ∈R cu δ< δ0 există θ∈(0, 1) astfel încât
f(x0 + δh)= f(x0)+ 1
1!δf(1)(x0)(h)+
1
2!δ2 f(2)(x0)(h,h) + ....
.... + 1
k!δk f(k)(x0)(h,h, ..., h) +
( )1
k+1 !δk+1 f(k+1)(x0 + θδh)(h,h,...,h).
Vom utiliza în special formulele lui Taylor de ordinul 1 şi 2:
• Dacă X o submulţime deschisă a lui Rn şi f:X → R o funcţie diferenţiabilă în
x0 ∈ X, atunci există δ0>0 astfel încât pentru orice h∈ Rn cu ||h|| = 1 şi pentru
orice δ∈R cu δ< δ0 avem
f(x0 + δh) = f(x0) + δ<∇f(x0), h> + o(δ), unde ( )
δ 0
o δlim
δ→=0
• Dacă X o submulţime deschisă a lui Rn şi f:X → R o funcţie de două ori
diferenţiabilă în x0∈X, atunci există δ0>0 astfel încât pentru orice h∈Rn cu
||h|| = 1 şi pentru orice δ∈R cu δ< δ0 avem
f(x0 + δh) = f(x0) + δ<∇f(x0), h> + 1
2δ2 <h, Hf(x0) h> + o(δ2),
unde ( )2
2δ 0
o δlim
δ→=0.
Derivata după direcţie
Fie X o submulţime deschisă a lui Rn, f: X → R o funcţie, x0 ∈ X şi h∈Rn cu
h ≠0. Dacă există şi este finită următoarea limită
( ) ( )0 0
δ 0
f x +δh - f xlim
δ→
atunci ea se notează cu ( )0fx
h
∂∂
şi se numeşte derivată după direcţia h a funcţiei f în
punctul x0.
Să presupunem că funcţia f: X → R este diferenţiabilă pe X să luăm δ0>0
astfel încât x0 + δh ∈X pentru orice δ∈R cu δ< δ0 (există un astfel de δ0 deoarece
X fiind deschisă există r > 0 astfel încât B(x0, r) ⊂ X şi atunci δ0 = r
h are
proprietatea cerută)
Optimizări
15
Considerăm funcţia ϕ: (-δ0, δ0) → R definită prin
( ) ( ) ( )0 0δ =f x +δh - f xϕ , δ∈(-δ0, δ0)
Pe de o parte avem
( ) ( ) ( ) ( ) ( ) ( )0 0
0
δ 0 δ 0
f x h - f x - 0 f0 = lim = lim = x
0 h→ →
+ δϕ δ ϕ ∂′ϕδ − δ ∂
(*)
iar pe de altă parte, deoarece ( ) ( ) ( ) ( )( ) ( )0 0 0δ =f x +δh - f x f u δ - f xϕ = , unde u(δ)
= x0 + δh = ( 01x + δh1,
02x + δh2, ....,
0nx + δhn)
t , avem
( ) ( ) ( )n
0 0i
ii 1
fx h h f x h ,h
x=
∂′ϕ δ = + δ = ∇ + δ∂∑
şi deci ( ) ( )00 f x ,h′ϕ =< ∇ > . (**)
Din (*) şi (**) rezultă că dacă f: X → R este diferenţiabilă pe X atunci
( )0fx
h
∂∂
= ( )0f x ,h< ∇ >
Funcţii implicite
Teorema funcţiilor implicite. Fie U o submulţime deschisă a lui Rn×Rm ,
(x0, y0) ∈ U şi f = (f1, f2, ..., fm) : U → Rm o funcţie de clasă C1 într-o vecinătate a
punctului (x0, y0) astfel încât f(x0, y0) = 0 şi
( )( )
0 0 0 0 0 01 1 1
1 2 n
0 0 0 0 0 02 2 20 0
1 2 ny
0 0 0 0 0 0m m m
1 2 n
f f f(x , y ) (x , y ) ... (x , y )
f f f(x , y ) (x , y ) ... (x , y )
det J f x ,
...............................................................
f f f(x , y ) (x , y ) ... (x , y
∂ ∂ ∂∂ ∂ ∂∂ ∂ ∂∂ ∂ ∂=
∂ ∂ ∂∂ ∂ ∂
y y y
y y yy
y y y
0
)
≠
Atunci există o vecinătate deschisă V0 a lui x0, o vecinătate W0 a lui y0 şi o aplicaţie
ϕ : V0 → W0 (local unică) cu următoarele proprietăţi:
1. ϕ este clasă C1
2. ϕ(x0) = y0
3. x ∈V0 => f(x, ϕ(x)) = 0
Mădălina Roxana Buneci
16
4. x∈V0, y ∈ W0, f(x, y) = 0 => y =ϕ(x)
Dacă în plus, f este de clasă Ck (k ≥ 1) atunci ϕ este de clasă Ck.
Optimizări
17
II. Optimizări pe mulţimi deschise
Teorema 1. (condiţii necesare de ordinul 1) Fie X o submulţime deschisă a
lui Rn şi f: X → R o funcţie diferenţiabilă pe X. Dacă x0 este o soluţie optimă a
problemei
( )x Xinf f x∈
atunci
∇f(x0) = 0.
Demonstraţie. Deoarece X este deschisă şi x0∈X, există δ0 > 0 astfel încât
B(x0, δ0) ⊂ X. Orice vector x∈ B(x0, δ0) se scrie sub forma x = x0 + δh cu 0 ≤ δ < δ0
şi h∈ Rn cu ||h|| = 1. Deoarece x0 este o soluţie optimă a problemei ( )x Xinf f x∈
, rezultă
că
f(x0 + δh) ≥ f(x0) pentru orice 0 ≤ δ < δ0. (1.1)
Aplicând formula lui Taylor obţinem
f(x0 + δh) = f(x0) + δ<∇f(x0), h> + o(δ),
unde ( )
δ 0
o δlim
δ→=0. Înlocuind în relaţia (1.1) obţinem,
f(x0) + δ<∇f(x0), h> + o(δ) ≥ f(x0) ⇔
δ<∇f(x0), h> + o(δ) ≥ 0 pentru orice 0 ≤ δ < δ0
Împărţind cu δ > 0, rezultă
<∇f(x0), h> + ( )o δ
δ≥ 0
Trecând la limită δ → 0, δ >0 şi ţinând cont că ( )
δ 0
o δlim
δ→= 0, obţinem
<∇f(x0), h> ≥ 0 pentru orice h = (h1, h2, ..., hn)t ∈ Rn.
Mădălina Roxana Buneci
18
Fie 1 ≤ i ≤ n. Dacă luăm hi = 1 şi hj = 0 pentru j ≠ i, atunci ||h|| =1 şi inegalitatea de
mai sus devine
( )0
i
fx
x
∂∂
≥ 0.
Dacă luăm hi = -1 şi hj = 0 pentru j ≠ i, atunci ||h|| =1 şi inegalitatea devine
- ( )0
i
fx
x
∂∂
≥ 0.
În consecinţă ( )0
i
fx
x
∂∂
= 0 pentru orice 1 ≤ i ≤ n, sau echivalent ∇f(x0) = 0.
■
Teorema 2. (condiţii necesare de ordinul 2) Fie X o submulţime deschisă a
lui Rn şi f: X → R o funcţie de două ori diferenţiabilă pe X. Dacă x0 este o soluţie
optimă a problemei
( )x Xinf f x∈
atunci
∇f(x0) = 0 şi Hf(x0) este pozitiv semidefinită.
Demonstraţie. Din teorema 1 rezultă că ∇f(x0) = 0.
Deoarece X este deschisă şi x0∈X, există δ0 > 0 astfel încât B(x0, δ0) ⊂ X.
Orice vector x∈ B(x0, δ0) se scrie sub forma x = x0 + δh cu 0 ≤ δ < δ0 şi h∈ Rn cu
||h|| = 1. Aplicând formula lui Taylor obţinem
f(x0 + δh) = f(x0) + δ<∇f(x0), h> + 1
2δ2 <h, Hf(x0) h> + o(δ2),
= f(x0) + 1
2δ2 <h, Hf(x0) h> + o(δ2) (2.1)
unde ( )2
2δ 0
o δlim
δ→=0. Deoarece x0 este o soluţie optimă a problemei ( )
x Xinf f x∈
, rezultă
că
f(x0 + δh) ≥ f(x0) pentru orice 0 ≤ δ < δ0.
Ţinând cont de relaţia (2.1) obţinem,
f(x0) + 1
2δ2 <h, Hf(x0) h> + o(δ2) ≥ f(x0) ⇔
Optimizări
19
1
2δ2 <h, Hf(x0)h> + o(δ2) ≥ 0 pentru orice 0 ≤ δ < δ0
Împărţind cu δ2 > 0, rezultă
1
2 <h, Hf(x0)h> +
( )2
2
o δ
δ≥ 0
Trecând la limită δ → 0, δ >0 şi ţinând cont că ( )2
2δ 0
o δlim
δ→= 0, obţinem
<h, Hf(x0)h> ≥ 0 pentru orice h ∈ Rn cu ||h|| = 1.
Fie v ∈ Rn, v≠0 şi fie h = 1
vv. Atunci
2
1
v<h, Hf(x0)h> ≥ 0 ⇔ <v, Hf(x0)v> ≥ 0
sau echivalent şi Hf(x0) este pozitiv semidefinită.
■
Observaţia 3. Condiţiile necesare stabilite în teoremele 1 şi 2 sunt valabile şi
pentru soluţiile optime locale. Într-adevăr dacă x0 este o soluţie optimă locală (punct
de minim local al lui f) atunci există o mulţime deschisă V ⊂ X astfel încât x0 ∈ V şi
x0 este punct de minim global pentru restricţia lui f la V, adică x0 este o soluţie
optimă a problemei
( )x Vinf f x∈
,
şi deci ∇f(x0) = 0 iar în cazul în care f este de două ori diferenţiabilă Hf(x0) este
pozitiv semidefinită.
Teorema 4. (condiţii suficiente de ordinul 2) Fie X o submulţime deschisă a
lui Rn şi f: X → R o funcţie de două ori diferenţiabilă pe X. Fie x0 ∈ X astfel încât
∇f(x0) = 0 şi Hf(x0) este pozitiv definită.
Atunci x0 este soluţie optimă locală a problemei ( )x Xinf f x∈
.
Demonstraţie. Deoarece funcţia h → <h, Hf(x0)h> este continuă pe Rn,
rezultă că restricţia ei la mulţimea compactă S(0, 1) = {x∈ Rn: ||x|| = 1} este
mărginită şi îşi atinge extremele (în particular, minimul). Deci există u∈ Rn astfel
încât ||u|| = 1 şi
Mădălina Roxana Buneci
20
<u, Hf(x0)u> ≤ <v, Hf(x0)v> pentru orice v ∈ cu ||v||=1 (4.1).
Fie h ≠0 oarecare din Rn. Dacă în relaţia (4.1) luăm v = 1
hh, obţinem
<u, Hf(x0)u> ≤ 2
1
h <h, Hf(x0)h> ⇔ ||h||2 <u, Hf(x0)u> ≤ <h, Hf(x0)h>
Această ultimă inegalitate este verificată şi de h = 0. Cum u ≠0 (deoarece ||u|| = 1) şi
cum Hf(x0) este pozitiv definită, rezultă că <u, Hf(x0)u > 0. Notând α = <u,Hf(x0)u>
> 0, avem ||h||2 α ≤ <h, Hf(x0)h> pentru orice h ∈ Rn .
Deoarece X este deschisă şi x0∈X, există δ0 > 0 astfel încât B(x0, δ0) ⊂ X.
Orice vector x∈ B(x0, δ0) se scrie sub forma x = x0 + δh cu 0 ≤ δ < δ0 şi h∈ Rn cu
||h|| = 1. Aplicând formula lui Taylor obţinem
f(x0 + δh) = f(x0) + δ<∇f(x0), h> + 1
2δ2 <h, Hf(x0)h> + o(δ2),
= f(x0) + 1
2δ2 <h, Hf(x0)h> + o(δ2)
= f(x0) + δ2 (1
2<h, Hf(x0)h> +
( )2
2
o δ
δ)
≥ f(x0) + δ2 (1
2α+
( )2
2
o δ
δ) (4.2)
Ţinând cont că ( )2
2δ 0
o δlim
δ→= 0, rezultă că există δ1 > 0 astfel încât pentru orice δ cu
0< δ < δ1 să avem ( )2
2
o δ
δ > -
1
2α, şi ca urmare
1
2α+
( )2
2
o δ
δ>0. Deci ţinând cont de
(4.2) rezultă
f(x0 + δh) ≥ f(x0) pentru orice h cu ||h|| = 1 şi δ cu 0 ≤ δ < min(δ0, δ1).
Dacă notăm r = min(δ0, δ1). Atunci orice x ∈ B(x0, r) , x ≠ x0 poate fi scris sub forma
x = x0 + δh cu ||h|| = 1 şi |δ| < r (luăm h = 0
1x x−
(x-x0), δ = ||(x-x0)||). Ca urmare
pentru orice x ∈ B(x0, r), avem f(x) ≥ f(x0). Deci x0 este soluţie optimă locală (punct
de minim local al lui f).
■
Optimizări
21
III. Optimizări cu restricţii egalităţi
Teorema 1. (condiţii necesare de ordinul 1) Fie X0 o submulţime deschisă a
lui Rn, f: X0 → R o funcţie de clasă C1 pe X0 şi m un număr întreg pozitiv, m ≤ n.
Fie ϕ1, ϕ2, ...,ϕm : X0 → R m funcţii de clasă C1 pe X0 şi fie
X = {x∈X0: ϕ1(x) =0, ϕ2(x) =0, ..., ϕm(x) = 0}.
Fie x0 ∈ X astfel încât ( )01 x∇ϕ , ( )0
2 x∇ϕ , ..., ( )0m x∇ϕ sunt liniar independenţi,
sau echivalent rangul matricei
0 0 01 1 1
1 2 n
0 0 02 2 2
1 2 n
0 0 0m m m
1 2 n
(x ) (x ) ... (x )x x x
(x ) (x ) ... (x )x x x
...............................................
(x ) (x ) ... (x )x x x
∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂ ∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂
∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂
este m. Dacă x0 este o soluţie optimă a problemei
( )x Xinf f x∈
atunci există λ0 =( 01λ , 0
2λ , ..., 0mλ )t∈Rm unic astfel încât
∇f(x0) = 01λ ( )0
1 x∇ϕ + 02λ ( )0
2 x∇ϕ + ... + 0mλ ( )0
m x∇ϕ .
Demonstraţie. Deoarece rangul matricei rangul matricei
Mădălina Roxana Buneci
22
0 0 01 1 1
1 2 n
0 0 02 2 2
1 2 n
0 0 0m m m
1 2 n
(x ) (x ) ... (x )x x x
(x ) (x ) ... (x )x x x
...............................................
(x ) (x ) ... (x )x x x
∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂ ∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂
∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂
este m, eventual renumerotând putem presupune că matricea i
j 1 i, j mx
≤ ≤
∂ϕ ∂
este
nesingulară (inversabilă). Notăm ϕ(x) = (ϕ1(x) , ϕ2(x), ..., ϕm(x))t pentru x∈X0, w0
= ( 01x , 0
2x , ..., 0mx )t iar u0 = ( 0
m 1x + , 0m 2x + , ..., 0
nx )t. Fie U şi V două mulţimi
deschise cu proprietatea că u0 ∈ U ⊂ Rn-m, v0∈V⊂ Rm şi V × U ⊂ X0. Aplicând
teorema funcţiilor implicite pentru sistemul de ecuaţii
ϕ(w, u) = 0,
în vecinătatea punctului (w0, u0) cu ϕ(w0, u0) = 0, rezultă că există două numere strict
pozitive r şi s astfel încât B(u0, r) ⊂ U şi B(w0, s) ⊂ V, precum şi o funcţie de clasă
C1, local unică, ψ : B(u0, r) → B(w0, s), cu proprietăţile că ψ(u0) = w0 şi ϕ(ψ(u), u) =
0 pentru orice u∈ B(u0, r). Ca urmare u0 este soluţie optimă a problemei
( )( )( )
0u B u ,rinf f u ,u
∈ψ
(problemă de optimizare pe o mulţime deschisă – fără restricţii). În consecinţă
∇g(x0) = 0, unde g(u) = f(ψ(u), u) pentru orice u ∈ B(u0, r). Deci
( )( )0 0wf u ,u′ ψ ( )0u′ψ + ( )( )0 0
uf u , u′ ψ = 0
( )0 0wf w ,u′ ( )0u′ψ + ( )0 0
uf w ,u′ = 0
( )0wf x′ ( )0u′ψ + ( )0
uf x′ = 0 (1.1)
Deoarece ϕ(ψ(u), u) = 0 pentru orice u∈ B(u0, r), rezultă că
( )( )w u ,u′ϕ ψ ( )u′ψ + ( )( )u u ,u′ϕ ψ = 0
pentru orice u∈ B(u0, r). Deci ( )u′ψ = - ( )( ) 1w u , u
−′ϕ ψ ( )( )u u ,u′ϕ ψ şi
Optimizări
23
( )0u′ψ = - ( ) 10 0w w ,u
−′ϕ ( )0 0
u w ,u′ϕ = - ( ) 10w x
−′ϕ ( )0
u x′ϕ (1.2).
Ţinând cont de (1.1) şi de (1. 2) obţinem
- ( )0wf x′ ( ) 10
w x−
′ϕ ( )0u x′ϕ + ( )0
uf x′ = 0
( )0uf x′ = ( )0
wf x′ ( ) 10w x
−′ϕ ( )0
u x′ϕ
Cum şi
( )0wf x′ = ( )0
wf x′ ( ) 10w x
−′ϕ ( )0
w x′ϕ ,
dacă notăm
t0λ = ( )0
wf x′ ( ) 10w x
−′ϕ
obţinem
( ) ( )( )0 0w uf x , f x′ ′ = t
0λ ( ) ( )( )0 0w ux , x′ ′ϕ ϕ
sau echivalent
∇f(x0) = 01λ ( )0
1 x∇ϕ + 02λ ( )0
2 x∇ϕ + ... + 0mλ ( )0
m x∇ϕ .
■
Observaţie 2. Fie X0 o submulţime deschisă a lui Rn, f: X0 → R o funcţie de
clasă C1 pe X0 şi m un număr întreg pozitiv, m ≤ n. Fie ϕ1, ϕ2, ...,ϕm : X0 → R m
funcţii de clasă C1 pe X0 şi fie
X = {x∈X0: ϕ1(x) =0, ϕ2(x) =0, ..., ϕm(x) = 0}.
Se defineşte funcţia Lagrange asociată problemei de optimizare cu restricţii
egalităţi L: X0 ×Rm → R prin
L(x, λ) = f(x) - ( )m
i ii 1
x=
λ ϕ∑ , λ = (λ1, λ2, ..., λm)t.
Teorema 1 poate fi reformulată: Dacă x0 este o soluţie optimă a problemei
( )x Xinf f x∈
Mădălina Roxana Buneci
24
şi dacă ( )01 x∇ϕ , ( )0
2 x∇ϕ , ..., ( )0m x∇ϕ sunt liniar independenţi, atunci există λ0
∈Rm astfel încât (x0, λ0) să fie punct staţionar al funcţiei Lagrange L, adică
∇xL(x0,λ0) = 0 şi ∇λL(x0, λ0) = 0, unde
∇xL(x0, λ0) = ( ) ( ) ( )t
0 0 0 0 0 0
1 2 n
L L Lx , , x , ,..., x ,
x x x
∂ ∂ ∂λ λ λ ∂ ∂ ∂
=∇f(x0) - ( )m
0 0i i
i 1
x=
λ ∇ϕ∑
∇λL(x0, λ0) = ( ) ( ) ( )t
0 0 0 0 0 0
1 2 m
L L Lx , , x , ,..., x ,
∂ ∂ ∂λ λ λ ∂λ ∂λ ∂λ
= (ϕ1(x0), ϕ2(x
0), ..., ϕm(x0)
Condiţia ∇λL(x0, λ0) = 0 este echivalentă cu condiţia x0∈X.
Teorema 3. (condiţii necesare de ordinul 2) Fie X0 o submulţime deschisă a
lui Rn, f: X0 → R o funcţie de clasă C2 pe X0 şi m un număr întreg pozitiv, m ≤ n.
Fie ϕ1, ϕ2, ...,ϕm : X0 → R m funcţii de clasă C2 pe X0 şi fie
X = {x∈X0: ϕ1(x) =0, ϕ2(x) =0, ..., ϕm(x) = 0}.
Fie x0 ∈ X astfel încât ( )01 x∇ϕ , ( )0
2 x∇ϕ , ..., ( )0m x∇ϕ sunt liniar independenţi.
Dacă x0 este o soluţie optimă a problemei
( )x Xinf f x∈
atunci există λ0 =( 01λ , 0
2λ , ..., 0mλ )t∈Rm unic astfel încât
∇f(x0) = 01λ ( )0
1 x∇ϕ + 02λ ( )0
2 x∇ϕ + ... + 0mλ ( )0
m x∇ϕ .
şi
( ) ( )m
0 0 0i i
i 1
Hf x H x v, v=
< − λ ϕ >
∑ ≥ 0
pentru orice v∈S(x0), unde
S(x0) ={x∈Rn:< ( )01 x∇ϕ , x> = 0, < ( )0
2 x∇ϕ , x> = 0, ...,< ( )0m x∇ϕ , x> = 0}.
Demonstraţie. Din teorema 1 rezultă că există λ0 =( 01λ , 0
2λ , ..., 0mλ )t∈Rm
unic astfel încât
Optimizări
25
∇f(x0) = 01λ ( )0
1 x∇ϕ + 02λ ( )0
2 x∇ϕ + ... + 0mλ ( )0
m x∇ϕ .
Notăm ϕ(x) = (ϕ1(x) , ϕ2(x), ..., ϕm(x))t pentru x∈X0. Fie
v∈S(x0) = {x ∈Rn: ( )( )0x x′ϕ =’}, v≠0.
Arătăm că există ε >0 şi o curbă c = (c1, c2, ..., cn): (-ε, ε) → Rn, de clasă C2 astfel
încât c(0) = x0, c� (0) = v şi ϕ(c(t)) = 0 pentru orice t ∈ (-ε, ε), unde
c� (t) = ( 1c ′ (t), 2c ′ (t),... nc ′ (t))t, t∈(-ε,ε).
Construim curba c de forma c(t) = x0 + tv + ( ) ( )m
0i i
i 1
t x=
ψ ∇ϕ∑ , unde
ψ = (ψ1, ψ2, ..ψm) : (-ε, ε) → Rm
este o funcţie ce urmează să fie determinată astfel încât să avem ϕ(c(t)) = 0 pentru
orice t ∈(-ε, ε) (ε > 0 convenabil ales). Deoarece X0 este deschisă şi x0∈X0 există r>0
astfel încât B(x0, r) ⊂ X0. Luăm δ =
( )m
0 2i
i 1
r
v x=
+ ∇ϕ
∑
. Avem
x0 + tv + ( )m
0i i
i 1
u x=
∇ϕ∑ ∈ B(x0, r) ⊂ X.
pentru orice (t,u ) ∈W = (-δ, δ) × B(0, δ) ⊂ Rm+1. Considerăm funcţia
F : W → Rm, F(t,u) = ( )m
0 0i i
i 1
x tv u x=
ϕ + + ∇ϕ
∑ , u = (u1, u2, ...,un)t
Avem det(JuF(0,0)) = det(Jϕ(x0)Jϕ(x0)t) ≠ 0, deoarece rangul matricei
Jϕ(x0) =
0 0 01 1 1
1 2 n
0 0 02 2 2
1 2 n
0 0 0m m m
1 2 n
(x ) (x ) ... (x )x x x
(x ) (x ) ... (x )x x x
...............................................
(x ) (x ) ... (x )x x x
∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂ ∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂
∂ϕ ∂ϕ ∂ϕ ∂ ∂ ∂
Mădălina Roxana Buneci
26
este m. În plus, F(0,0) = ϕ(x0) = 0. În consecinţa, aplicând teorema funcţiilor
implicite rezultă că există ε > 0 , V o vecinătate a punctului 0 ∈ Rm şi o funcţie de
clasă C2, ψ = (ψ1, ψ2, ..ψm) : (-ε, ε) → V astfel încât ψ(0) = 0 şi
( ) ( )m
0 0i i
i 1
x tv t x=
ϕ + + ψ ∇ϕ
∑ pentru orice t ∈ (-ε, ε).
Ca urmare c(t) = x0 + tv + ( ) ( )m
0i i
i 1
t x=
ψ ∇ϕ∑ îndeplineşte condiţiile: ϕ(c(t)) = 0
pentru orice t ∈(-ε, ε) şi c(0) = x0. Diferenţiind în raport cu t în
( ) ( )m
0 0i i
i 1
x tv t x=
ϕ + + ψ ∇ϕ
∑ = 0
obţinem ( )( ) ( ) ( )m 0i i
i 1c t v t x
=
′′ϕ + ψ ∇ϕ∑
=0. Pentru t = 0, se obţine
( )( )0x v′ϕ + Jϕ(x0)Jϕ(x0)t ( )t′ψ = 0
de unde ţinând cont că v∈ S(x0) şi că det(Jϕ(x0)Jϕ(x0)t) ≠ 0, rezultă ( )t′ψ =0. În
consecinţă c� (0) = v. Deoarece F este de clasă C2, ψ este de clasă C2 şi ca urmare c
este de clasă C2. Notăm
c�� (t) = ( 1c ′′ (t), 2c ′′ (t),... nc ′′ (t))t
Atunci punctul t = 0 este soluţie optimă a problemei
( )( )t [0, )inf f c t
∈ ε
Ca urmare G′′ (0) ≥ 0, unde G(t) = f(c(t)), t ∈[0, ε). Avem
G′ (t) = f ′ (c(t)) c� (t) = f ′ (c(t)) c� (t) – ( )( )m
0i i
i 1
c t=
′ λ ϕ
∑
= f ′ (c(t)) c� (t) – ( )( ) ( )m
0i i
i 1
c t c t=
′λ ϕ∑ � ,
şi în consecinţă
0≤ G′′ (0) = f ′′ (c(0))( c� (0), c� (0)) + f ′ (c(0)) c�� (0) -
- ( )( ) ( ) ( )( )m
0i i
i 1
c 0 c 0 ,c 0=
′′λ ϕ∑ � � - ( )( ) ( )( )m
0i i
i 1
c 0 c 0=
′λ ϕ∑ ��
Optimizări
27
= f ′′ (c(0))( c� (0), c� (0)) - ( )( ) ( ) ( )( )m
0i i
i 1
c 0 c 0 ,c 0=
′′λ ϕ∑ � �
= f ′′ (x0)(v, v) - ( )( )m
0 0i i
i 1
x v, v=
′′λ ϕ∑
= ( ) ( )m
0 0 0i i
i 1
Hf x H x v, v=
< − λ ϕ >
∑
■
Teorema 4. (condiţii suficiente de ordinul 2) Fie X0 o submulţime deschisă
a lui Rn, f: X0 → R o funcţie de clasă C2 pe X0 şi m un număr întreg pozitiv, m ≤ n.
Fie ϕ1, ϕ2, ...,ϕm : X0 → R m funcţii de clasă C2 pe X0 şi fie
X = {x∈X0: ϕ1(x) =0, ϕ2(x) =0, ..., ϕm(x) = 0}.
Fie x0 ∈ X astfel încât ( )01 x∇ϕ , ( )0
2 x∇ϕ , ..., ( )0m x∇ϕ să fie liniar independenţi.
Presupunem că există λ0 =( 01λ , 0
2λ , ..., 0mλ )t∈Rm astfel încât
∇f(x0) = 01λ ( )0
1 x∇ϕ + 02λ ( )0
2 x∇ϕ + ... + 0mλ ( )0
m x∇ϕ .
şi
( ) ( )m
0 0 0i i
i 1
Hf x H x v, v=
< − λ ϕ >
∑ > 0
pentru orice v∈S(x0), v≠0 unde
S(x0) ={x∈Rn:< ( )01 x∇ϕ , x> = 0, < ( )0
2 x∇ϕ , x> = 0, ...,< ( )0m x∇ϕ , x> = 0}.
Atunci x0 este o soluţie optimă locală a problemei
( )x Xinf f x∈
.
Demonstraţie. Presupunem prin absurd că x0 nu este soluţie optimă locală.
Atunci există un şir (xk)k în X astfel încât k
klim x→∞
= x0 şi f(xk) < f(x0) pentru orice k.
Fiecare xk poate fi reprezentat ca xk = x0 + δkhk cu δk>0, ||hk|| = 1 (luăm δk =
0 kx x− şi hk = k
1
δ( xk - x0)). Deoarece hk∈ {x∈Rn, ||x||=1} care este o mulţime
compactă, rezultă că, eventual trecând la un subşir, (hk)k este convergent. Fie
Mădălina Roxana Buneci
28
h0= k
klim h→∞
. Evident h0 ≠0. Din faptul că ϕi(x0 + δkh
k) -ϕi(x0) = 0 pentru orice k,
rezultă că
0 =( ) ( )0 k 0
i k i
k k
x h xlim→∞
ϕ + δ − ϕ
δ=
( ) ( )0 kk i k
k k
x ,h olim→∞
δ < ∇ϕ > + δ
δ
= ( )0 ki
klim x , h→∞
< ∇ϕ > +( )k
k k
olim→∞
δδ
= <∇ϕi(x0), h0>,
deci h0 ∈ S(x0) .
Aplicând formula lui Taylor pentru f obţinem
f(x0 + δkhK) = f(x0) + δk<∇f(x0), hk> +
1
22kδ <hk, Hf(x0)hk> + o( 2
kδ )
f(x0 + δkhk) - f(x0) = δk<∇f(x0), hk> +
1
22kδ <hk, Hf(x0)hk>+ o( 2
kδ )
0 > δk<∇f(x0), hk> + 1
22kδ <hk, Hf(x0)hk>+ o( 2
kδ ) (4.1)
Aplicând formula lui Taylor pentru ϕi obţinem
ϕi(x0 + δkh
k) = ϕi (x0) + δk<∇ϕi(x
0), hk> + 1
22kδ <hk, Hϕi(x
0)hk> + o( 2kδ ),
de unde,
0 = δk<∇ϕi(x0), hk>+
1
22kδ <hk, Hϕi(x
0)hk>+ o( 2kδ ),
şi înmulţind cu 0iλ şi sumând rezultă
0 = δk ( )m
0 0 ki i
i 1
x , h=
λ < ∇ϕ >∑ + 1
22kδ ( )
m0 k 0 ki i
i 1
h ,H x h=
λ < ϕ >∑ + o( 2kδ ) (4.2)
Din (4.1) şi (4.2) rezultă că
0 > δk<∇f(x0), hk> - δk ( )m
0 0 ki i
i 1
x , h=
λ < ∇ϕ >∑ +
+ 1
22kδ <hk, Hf(x0) hk> -
1
22kδ ( )
m0 k 0 ki i
i 1
h ,H x h=
λ < ϕ >∑ + o( 2kδ )
Optimizări
29
unde ( )
k
2k
2δ 0 k
o δlim
δ→= 0. Ţinând cont că <∇f(x0), hk> - ( )
m0 0 ki i
i 1
x , h=
λ < ∇ϕ >∑ =0,
împărţind la 2kδ şi trecând la limită după k, obţinem
0 ≥ <h0, Hf(x0) h0> - ( )m
0 0 0 0i i
i 1
h , H x h=
λ < ϕ >∑ ,
ceea ce contrazice ipoteza. Deci atunci x0 este o soluţie optimă locală.
■
Observaţie 5. Fie X0 o submulţime deschisă a lui Rn, f: X0 → R o funcţie de
clasă C2 pe X0 şi m un număr întreg pozitiv, m ≤ n. Fie ϕ1, ϕ2, ...,ϕm : X0 → R m
funcţii de clasă C2 pe X0 şi fie
X = {x∈X0: ϕ1(x) =0, ϕ2(x) =0, ..., ϕm(x) = 0}.
Fie L: X0 ×Rm → R funcţia Lagrange:
L(x, λ) = f(x) - ( )m
i ii 1
x=
λ ϕ∑ , λ = (λ1, λ2, ..., λm)t.
Notăm
∇xL(x, λ) = ( ) ( ) ( )t
1 2 n
L L Lx, , x, ,..., x,
x x x
∂ ∂ ∂λ λ λ ∂ ∂ ∂
=∇f(x) - ( )m
i ii 1
x=
λ ∇ϕ∑
HxL(x, λ) = ( )2
i j 1 i, j n
Lx,
x x≤ ≤
∂λ
∂ ∂ =Hf(x) - ( )
m
k kk 1
H x=
λ ϕ∑ .
Teorema 8 poate fi reformulată: Dacă x0 este o soluţie optimă a problemei
( )x Xinf f x∈
şi dacă ( )01 x∇ϕ , ( )0
2 x∇ϕ , ..., ( )0m x∇ϕ sunt liniar independenţi, atunci există
λ0∈Rm astfel încât
1. ∇xL(x0, λ0)=0
2. <v, HxL(x0, λ0)v> ≥ 0 pentru orice v ∈ S(x0), unde
S(x0) = {x∈Rn:< ( )01 x∇ϕ ,x> = 0, < ( )0
2 x∇ϕ ,x> = 0, ...,< ( )0m x∇ϕ ,x> = 0}
Mădălina Roxana Buneci
30
Teorema 9 poate fi reformulată: Dacă x0 ∈ X astfel încât ( )01 x∇ϕ , ( )0
2 x∇ϕ , ...,
( )0m x∇ϕ să fie liniar independenţi şi dacă există λ0∈Rm astfel încât
1. ∇xL(x0, λ0)=0
2. <v, HxL(x0, λ0)v> pentru orice v ∈ S(x0), v ≠0, unde
S(x0) = {x∈Rn:< ( )01 x∇ϕ , x> = 0, < ( )0
2 x∇ϕ , x> = 0, ...,< ( )0m x∇ϕ , x > = 0}
atunci x0 este o soluţie optimă locală a problemei
( )x Xinf f x∈
.
Optimizări
31
IV. Elemente de analiză convexă
IV. 1. Mulţimi convexe
Definiţie 1. Fie V un spaţiu liniar peste K (K= R sau K= C). O submulţime
X ⊂ V se numeşte convexă dacă pentru orice x1, x2 ∈ X şi orice λ∈(0,1) avem λx1 +
(1-λ)x2 ∈ X.
Deoarece 1x1 + (1-)x2 = x1 şi 0x1 + (1-0)x2 = x2, rezultă că X ⊂ V este
convexă dacă pentru orice x1, x2 ∈ X şi orice λ∈[0,1] avem λx1 + (1-λ)x2 ∈ X.
Pentru orice x1, x2 ∈ V, mulţimea
{λx1 + (1-λ)x2, λ∈(0,1)}
se numeşte segment deschis de capete x1 şi x2. Mulţimea
{λx1 + (1-λ)x2, λ∈[0,1]}
se numeşte segment închis de capete x1 şi x2.
Interpretare geometrică. V = R2, K=R , x1 = (a1, b1)t, x2 = (a2, b2)
t.
Mulţime convexă Mulţime care nu e convexă
b2 b1
a1 a2
Segmentul de capete x1 şi x2
Mădălina Roxana Buneci
32
Propoziţia 2. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X ⊂ V.
Atunci următoarele afirmaţii sunt echivalente:
1. X este mulţime convexă
2. λX + (1-λ)X = X pentru orice λ ∈ (0,1)
3. αX + βX = (α+β)X pentru orice α, β ∈ [0, ∞)
Demonstraţie. 1 =>>>> 2. Fie λ ∈ (0,1) şi fie y∈λX + (1-λ)X. Atunci există x1,
x2 ∈ X astfel încât y = λx1 + (1-λ)x2 ∈ X, deoarece X este convexă. Deci
λX + (1-λ)X ⊂ X
De asemenea pentru orice x ∈ X, avem x = λx + (1-λ)x ∈λX + (1-λ)X. Ca urmare X
⊂ λX + (1-λ)X.
2 =>>>> 3. Dacă unul dintre α şi β este 0 atunci egalitatea este evidentă. Fie α,
β ∈ (0, ∞). Este uşor de observat că
(α+β)X ⊂ αX + βX
(deoarece pentru orice y ∈ (α+β)X, există x ∈ X astfel încât y = (α+β)x = αx + βx ∈
αX + βX). Fie y ∈ αX + βX. Atunci există x1∈ X şi x2 ∈ X astfel încât y = αx1 +
βx2. Notăm λ = α
α + β∈(0, 1). Avem 1 - λ =
βα + β
şi
y = (α + β) (α
α + βx1 +
βα + β
x2)
= (α + β)(λx1 + (1-λ)x2)∈ (α + β)(λX +(1-λ)X)= (α + β)X
Ca urmare αX + βX ⊂ (α + β)X.
3 =>>>>1. Fie x1, x2 ∈ X şi λ ∈ (0,1). Atunci 1 - λ > 0 şi avem conform 3
λx1 + (1-λ)x2 ∈ λX + (1-λ)X = (λ + 1-λ)X = 1X = X.
Deci X este convexă.
■
Propoziţia 3. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie {Xi}i∈I o
familie de submulţimi convexe ale lui V. Atunci
X = ii I
X∈∩
este mulţime convexă.
Optimizări
33
Demonstraţie. Fie x1, x2 ∈ X şi λ ∈ (0,1). Deoarece Fie x1, x2 ∈ X =
ii I
X∈∩ rezultă că oricare ar fi i ∈I, avem x1, x2 ∈ Xi. Cum Xi este convexă, rezultă că
λx1 + (1-λ)x2 ∈ Xi pentru orice i ∈ I. În consecinţă λx1 + (1-λ)x2 ∈ ii I
X∈∩ , de unde
rezultă că ii I
X∈∩ este convexă.
■
Propoziţia 4. Fie V1 şi V2 două spaţii liniare peste K (K= R sau K= C) şi fie
A : V1 → V2 o aplicaţie liniară. Fie b∈V2 şi fie f: V1→V2, f(x) = A(x) +b. Atunci
1. Dacă X ⊂ V1 este o mulţime convexă, atunci f(X) este convexă.
2. Dacă Y ⊂ V2 este o mulţime convexă, atunci f-1(Y) este convexă
Demonstraţie. 1. Fie y1, y2 ∈ f(X) şi λ ∈ (0,1). Deoarece Fie y1, y2 ∈ f(X)
rezultă că există x1, x2 ∈ X astfel încât y1 = f(x1) şi y2 = f(x2). Avem
λy1 + (1-λ)y2 = λf(x1) + (1-λ)f(x2) = λA(x1) + λb + (1-λ)A(x2) + (1-λ)b
= λA(x1) + (1-λ)A(x2) +b
= A(λx1 + (1-λ)x2) +b
= f(λx1 + (1-λ)x2)
Cum X este convexă λx1 + (1-λ)x2 ∈ X, şi deci λy1 + (1-λ)y2 ∈ f(X), ceea ce implică
f(X) convexă.
2. Fie x1, x2 ∈ f-1(Y) şi λ ∈ (0,1). Deoarece x1, x2 ∈ f-1(Y) rezultă că f(x1)∈Y
şi f(x2) ∈Y. Cum Y este convexă, f(x1), f(x2) ∈Y şi λ∈ (0,1), rezultă că
λf(x1) + (1-λ)f(x2)∈Y. Pe de altă parte avem
f(λx1 + (1-λ)x2) = A(λx1 + (1-λ)x2) +b
= λA(x1) + (1-λ)A(x2) +b
= λA(x1) + (1-λ)A(x2) + (λ + 1-λ)b
= λA(x1) + λb + (1-λ)A(x2) + (1-λ)b
= λf(x1) + (1-λ)f(x2) ∈Y,
de unde rezultă că λx1 + (1-λ)x2 ∈ f-1(Y), ceea ce implică f-1(Y) convexă.
■
Mădălina Roxana Buneci
34
Exemple. Fie V un spaţiu pre-Hilbert peste R, a∈ R şi c ∈ V. Următoarele
mulţimile sunt convexe:
1. H = {x∈V: <x, c> = a }
2. S> = {x∈V: <x, c> > a }
3. S≥ = {x∈V: <x, c> ≥ a }.
Lema 5. Fie V un spaţiu normat peste K (K= R sau K= C) şi fie X o
submulţime convexă a lui V. Dacă x1∈int(X) şi x2∈X, atunci
λx1 + (1-λ)x2 ∈ int(X)
pentru orice λ ∈ (0,1).
Demonstraţie. Fie λ ∈ (0,1). Deoarece x1∈int(X), există r > 0 astfel încât
B(x1, r) ⊂ int(X). Din faptul că x2∈X rezultă că B(x2, λr) ∩ X ≠ ∅. Fie
y∈B(x2,λr)∩X. Avem x2 = x2 – y + y ∈B(0, λr) + y ⊂ B(0, λr) + X. Pe de altă parte
λx1 + (1-λ)x2 + λB(0, λr) ⊂ λx1 + (1-λ) B(0, λr)+ (1-λ)X+ λB(0, λr) =
= λx1 + B(0, λr)+ (1-λ)X = λB(x1, r) + (1-λ)X ⊂ λX + (1-λ)X = X.
În consecinţă λx1 + (1-λ)x2 + λB(0, λr) ⊂ X, ceea ce conduce la
B(λx1 + (1-λ)x2, λ2r) ⊂ X.
Deci λx1 + (1-λ)x2 ∈ int(X).
■
Propoziţie 6. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime convexă a lui V. Atunci int(X) şi X sunt mulţimi convexe.
Demonstraţie. Faptul că int(X) este mulţime convexă rezultă din lema 5. Fie
x, y ∈ X şi fie λ∈(0,1). Deoarece x ∈ X, există un şir (xk)k de elemente din X astfel
încât k
klim x→∞
= x. Analog, există un şir (yk)k de elemente din X astfel încât k
klim y→∞
=
y. Din faptul că X este convexă rezultă că λxk + (1-λ) yk∈X. Ţinând cont că
λx + (1-λ) y = λ k
klim x→∞
+(1-λ) k
klim y→∞
= ( )( )k k
klim x 1 y→∞
λ + − λ ∈X,
deducem că X este mulţime convexă.
■
Optimizări
35
Definiţia 7. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime a lui V. Se numeşte acoperire convexă (sau înfăşurătoare convexă) a
lui X şi se notează cu co(X) cea mai mică (în sensul relaţiei de incluziune) mulţime
convexă în care este inclusă X.
Se numeşte combinaţie liniară convexă a m vectori x1, x2, ...., xm din V orice
vector x = m
ii
i 1
x=
λ∑ cu λi ≥ 0 pentru orice i = 1..m şi m
ii 1=
λ∑ = 1.
Conform definiţiei co(X) este determinată de următoarele proprietăţi:
1. co(X) este convexă
2. X ⊂ co(X)
3. Dacă Y este o mulţime convexă cu X ⊂ Y, atunci co(X) ⊂ Y.
Lema 8. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime lui V. Atunci co(X) este intersecţia tuturor mulţimilor convexe ce includ
pe X.
Demonstraţie. Notăm C intersecţia tuturor mulţimilor convexe ce includ pe
X. Conform propoziţiei 3, C este mulţime convexă. Evident X ⊂ C şi în plus, dacă Y
este o mulţime convexă cu X ⊂ Y, atunci Y este din familia a cărei intersecţie este C,
deci C ⊂ Y. Ca urmare co(X) = Y.
■
Lema 9. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime lui V. Atunci X este convexă dacă şi numai dacă X=co(X).
Demonstraţie. Evident.
■
Lema 10. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime convexă a lui V. Atunci X conţine orice combinaţie liniară convexă de
vectori din X.
Demonstraţie. Fie m vectori x1, x2, ...., xm din V şi fie λ1, λ2, ..., λm ∈ R, cu
λi ≥ 0 pentru orice i = 1..m şi m
ii 1=
λ∑ = 1. Demonstrăm prin inducţie după m că x =
Mădălina Roxana Buneci
36
mi
ii 1
x=
λ∑ ∈ X. Dacă m = 1, atunci 1x = x ∈X. Presupunem afirmaţia adevărată pentru
m şi o demonstrăm pentru m+1. Fie x1, x2, ...., xm+1 din V şi fie λ1, λ2, ..., λm+1 ∈ K,
cu λi ≥ 0 pentru orice i = 1..m+1 şi m 1
ii 1
+
=λ∑ = 1. Dacă λm+1=1, atunci fie λ1= λ2 =...=
λm = 0 şi m 1
ii
i 1
x+
=λ∑ = xm+1 ∈X. Dacă λm+1=0, atunci conform ipotezei de inducţie
m 1i
ii 1
x+
=λ∑ =
mi
ii 1
x=
λ∑ ∈X. Presupunem că λm+1∉{0,1} şi notăm
λ = m
ii 1=
λ∑ ∈ (0,1).
Avem iλλ
≥0 pentru orice i = 1..m şi m
i
i 1=
λλ∑ = 1. Aplicând ipoteza de inducţie rezultă
că m
ii
i 1
x=
λλ∑ ∈ X. Ţinând cont că
m 1i
ii 1
x+
=λ∑ = λ
mii
i 1
x=
λλ∑ + (1-λ) xm+1
şi că X este o mulţime convexă, deducem că m 1
ii
i 1
x+
=λ∑ . Am arătat astfel că dacă
afirmaţia este adevărată pentru m este adevărată şi pentru m+1.
■
Propoziţia 11. Fie Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime lui V. Atunci co(X) este mulţimea tuturor combinaţiilor liniare convexe
de vectori din X.
Demonstraţie. Notăm cu C mulţimea tuturor combinaţiilor liniare convexe de
vectori din X. Pentru orice x ∈ X avem x = 1x ∈C, deci X ⊂ C. Arătăm că C este
mulţime convexă. Fie z1, z2 ∈ C. Atunci există m ∈ N, λ1, λ2, ..., λm ∈ R, cu λi ≥ 0
Optimizări
37
pentru orice i = 1..m şi m
ii 1=
λ∑ = 1, şi există x1, x2, ...., xm ∈X astfel încât z1 = m
ii
i 1
x=
λ∑ .
De asemenea există p ∈ N, µ1, µ2, ..., µp ∈ R, cu µi ≥ 0 pentru orice i = 1..p şi
p
ii 1=
µ∑ = 1, şi există y1, y2, ...., yp ∈ X astfel încât z2 = p
ii
i 1
y=
µ∑ . Pentru orice λ∈ (0, 1)
avem
λz1 + (1-λ)z2 = λm
ii
i 1
x=
λ∑ +(1-λ)p
ii
i 1
y=
µ∑
= m
ii
i 1
x=
λλ∑ + ( )p
ii
i 1
1 y=
− λ µ∑
Ţinând cont căm
ii 1=
λλ∑ + ( )p
ii 1
1=
− λ µ∑ = λm
ii 1=
λ∑ +(1-λ)p
ii 1=
µ∑ = λ + (1-λ) =1, rezultă că
λz1 + (1-λ)z2 este o combinaţie liniară convexă de vectori din X, deci λz1 + (1-λ)z2
∈C, de unde rezultă că C este convexă.
Faptul că C este convexă şi conţine pe X, are drept consecinţă co(X) ⊂ C.
Pentru orice x ∈ C, există m ∈ N, λ1, λ2, ..., λm ∈ K, cu λi ≥ 0 pentru orice i = 1..m
şi m
ii 1=
λ∑ = 1, şi există x1, x2, ...., xm ∈X astfel încât x = m
ii
i 1
x=
λ∑ . Deoarece x1, x2, ....,
xm ∈X ⊂ co(X) şi deoarece co(X) este convexă, aplicând lema 10 obţinem m
ii
i 1
x=
λ∑ ∈
co(X), adică C ⊂ co(X). Astfel C = co(X).
■
Propoziţie 12. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime deschisă a lui V. Atunci co(X) este deschisă.
Demonstraţie. Din faptul că X ⊂ co(X), rezultă că int(X) ⊂ int(co(X)). Cum
X este deschisă, int(X) = X, şi deci X ⊂ int(co(X)). Conform propoziţiei 6,
int(co(X)) este convexă. Cum X ⊂ int(co(X)) convexă, rezultă co(X) ⊂ int(co(X)), de
unde se obţine co(X) este deschisă.
■
Mădălina Roxana Buneci
38
Definiţie 13. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime convexă a lui V. Un vector x0 ∈ X se numeşte punct extremal sau vârf
al lui X dacă şi numai dacă nu există două puncte distincte x1, x2 ∈ X astfel încât x să
se scrie sub forma x0 = λx1 + (1-λ)x2 cu λ∈(0,1). O submulţime convexă A ⊂ X se
numeşte submulţime extremală a lui X dacă pentru orice λ∈(0,1) şi x1, x2∈X cu λx1
+ (1-λ)x2 ∈A rezultă x1 şi x2 ∈A.
Propoziţie 14. Fie V un spaţiu liniar peste K (K= R sau K= C) şi fie X o
submulţime convexă a lui V. Următoarele afirmaţii sunt echivalente
1. x este punct extremal al lui X
2. Mulţimea X - {x0} este convexă
Demonstraţie. Evident.
■
IV.2. Problema celei mai bune aproximări
Definiţie 15. Fie (S, d) un spaţiu metric şi X o submulţime a sa. Fie x0 un
element al lui S. Se numeşte element de cea mai bună aproximare a lui x0 pe X un
element p0∈X astfel încât
d(p0, x0) = x Xinf∈
d(x, x0)
Teoremă 16. Fie H un spaţiu Hilbert (real sau complex), X o submulţime
nevidă convexă închisă a lui H şi x0 ∈ H. Atunci există şi este unic este element p0 de
cea mai bună aproximare a lui x0 pe X.
Demonstraţie. Deoarece pentru orice x ∈ X avem ||x – x0|| ≥ 0, rezultă că
0
0
x Xinf x x∈
− ≥ 0 şi că există un şir (xn)n≥1 în X astfel încât:
n 0
nlim || x x ||→∞
− =0
0
x Xinf || x x ||∈
− .
Optimizări
39
Pentru orice m, n∈N*, avem 1
2xn +
1
2xm ∈X deoarece X este convexă. Ca
urmare
||1
2xn +
1
2xm – x0 || ≥
0
0
x Xinf || x x ||∈
− ⇔
1
2||xn + xm – 2x0 || ≥
0
0
x Xinf || x x ||∈
− ⇔
1
4||xn – x0+ xm – x0 ||2 ≥ (
0
0
x Xinf || x x ||∈
− )2.
Fie ε>0 fixat . Atunci deoarece n 0
nlim || x x ||→∞
− =0
0
x Xinf || x x ||∈
− , există nε ∈ N
astfel încât pentru orice n ≥ nε avem
|| xn – x0 ||2 < (0
0
x Xinf || x x ||∈
− )2 + ε/4.
Pentru orice m, n ≥ nε avem
||xn – xm ||2 = ||xn – x0- (xm – x0) ||2
= 2||xn – x0||2 + 2||xm – x0||2 - ||xn – x0+ xm – x0 ||2
≤ 2||xn – x0||2 + 2||xm – x0||2 - 4(0
0
x Xinf || x x ||∈
− )2
< 4(0
0
x Xinf || x x ||∈
− )2 + ε - 4(0
0
x Xinf || x x ||∈
− )2
= ε.
Deci şirul (xn)n este şir Cauchy şi în consecinţă convergent (fiindcă H este complet).
Fie p0 = n
nlim x→∞
. Din faptul că X este închisă şi xn ∈ X pentru orice n ≥1, rezultă că
p0 ∈ X. Pe de altă parte avem
||p0 – x0|| = || n
nlim x→∞
- x0 || = n 0
nlim || x x ||→∞
− =0
0
x Xinf || x x ||∈
−
şi deci p0 este element de cea mai bună aproximare a lui x0 pe X.
Să demonstrăm unicitatea elementului de cea mai bună aproximare.
Presupunem prin absurd că există p1 ≠ p2 elemente de cea mai bună aproximare a lui
x0 pe X. Deoarece X este o mulţime convexă, p =2
1 p1 + 2
1 p2∈ X. Avem
Mădălina Roxana Buneci
40
||p-x0||2 = ||2
1 p1 + 2
1 p2-x0||2 =4
1 || p1 – x0 + p2 – x0||2 <
<4
1 || p1 – x0 + p2 – x0||2 +4
1 || p1 – x0 – (p2 – x0)||2
=2
1 (|| p1 – x0 ||2 + || p2 – x0||2)
≤|| p1 – x0 ||2.
Deci p ∈ X şi ||p-x0|| < || p1 – x0 ||, contradicţie cu faptul că p1 este element de cea mai
bună aproximare a lui x0 pe X. Rezultă că presupunerea este falsă, şi în consecinţă
elementul de cea mai bună aproximare este unic.
■
Teoremă 17. Fie H un spaţiu pre-Hilbert real, X o submulţime convexă a lui
H şi x0 ∈ H. Un element p0 ∈ X este element de cea mai bună aproximare a lui x0 pe
X dacă şi numai dacă
<p0-x0, p0-x> ≤ 0
pentru orice x∈X.
Demonstraţie. Presupunem că p0 ∈ X este element de cea mai bună
aproximare a lui x0 pe X şi demonstrăm că <p0-x0, p0-x> ≤ 0 pentru orice x∈X.
Presupunem prin absurd că există y0∈X astfel încât
<p0-x0, p0-y0> > 0.
Evident y0 ≠ p0. Fie α astfel încât
0< α <
−
−−200
0000
yp
yp,xp2,1min .
Deoarece X este o mulţime convexă şi α∈(0, 1), αy0 + (1-α)p0∈ X. Avem
||αy0 + (1-α)p0 – x0||2 = <αy0 + (1-α)p0 – x0, αy0 + (1-α)p0 – x0>
= <α(y0 – p0)+ p0 – x0, α(y0 – p0)+ p0 – x0>
= <α(y0 – p0), α(y0 – p0) > + 2 <α(y0 – p0), p0 – x0>+< p0 – x0, p0 – x0>
= α2|| y0 – p0 ||2 - 2α<p0 - y0, p0 – x0> + || p0 – x0||2
=α(α|| y0 – p0 ||2 - 2<p0 - y0, p0 – x0>) + || p0 – x0||2
<|| p0 – x0||2.
Am obţinut astfel o contradicţie cu faptul că p0 este element de cea mai bună
aproximare a lui x0 pe X. În consecinţă, presupunerea este falsă şi deci
Optimizări
41
<p0 -x0, p0 -x> ≤ 0
pentru orice x∈X.
Reciproc, presupunem că <p0-x0, p0-x> ≤ 0 pentru orice x∈X şi demonstrăm
că p0 ∈ X este element de cea mai bună aproximare a lui x0 pe X. Dacă p0 = x0,
atunci este evident că p0 este element de cea mai bună aproximare a lui x0 pe X.
Presupunem p0 ≠ x0 şi considerăm un x∈X oarecare. Avem
||p0-x0||2 = < p0-x0, p0 -x0> = < p0 -x0, p0 - x + x - x0>
= < p0-x0, p0 - x> + < p0 -x0, x- x0>
≤ < p0-x0, x- x0> ≤ || p0-x0|| || x- x0||.
Deci ||p0-x0||2 ≤ || p0-x0|| || x- x0|| pentru orice x∈X. Împărţind inegalitatea cu
|| p0 -x0|| > 0,
obţinem
||p0-x0|| ≤ || x- x0|| pentru orice x∈X,
adică p0 ∈ X este element de cea mai bună aproximare a lui x0 pe X.
■
Teoremă 18. Fie H un spaţiu pre-Hilbert real, H0 un subspaţiu liniar al lui H
şi x0 ∈ H. Un element p0 ∈ H0 este element de cea mai bună aproximare a lui x0 pe
H0 dacă şi numai dacă
p0-x0 ⊥ H0 (sau echivalent, < p0-x0, x> = 0 pentru orice x∈H0).
Demonstraţie. Dacă H0 un subspaţiu liniar al lui H, atunci H0 este în
particular, o mulţime convexă. Dacă < p0-x0, x> = 0 pentru orice x∈H0, atunci în
particular, <p0-x0, p0> = 0 şi < p0-x0, p0 - x> = 0 ≤ 0 pentru orice x∈H0. Conform
teoremei precedente rezultă că p0 ∈ H0 este element de cea mai bună aproximare a
lui x0 pe H0.
Reciproc, să presupunem că p0 ∈ H0 este element de cea mai bună
aproximare a lui x0 pe H0, şi să demonstrăm că < p0-x0, x> = 0 pentru orice x∈H0.
Conform teoremei precedente avem
<p0-x0, p0-x> ≤ 0 pentru orice x∈ H0,
sau echivalent
<p0-x0, p0> ≤ <p0-x0, x> pentru orice x∈ H0. (18.1)
Mădălina Roxana Buneci
42
Fie x∈H0 fixat şi fie α > 0. Pentru orice x ∈ H0, αx şi -αx ∈H0. Înlocuind în relaţia
(18.1) cu αx, respectiv cu -αx, obţinem:
<p0-x0, p0> ≤<p0-x0, αx> (sau echivalent, <p0-x0, p0> ≤α<p0-x0, x>)
<p0-x0, p0> ≤<p0-x0, -αx> (sau echivalent, <p0-x0, p0> ≤-α<p0-x0, x>).
De unde rezultă că,
α1 <p0-x0, p0> ≤ <p0-x0, x> ≤ -
α1 <p0-x0, p0>, pentru orice α>0.
Trecând la limită, α → ∞, obţinem
0 ≤ <p0-x0, x> ≤ 0.
În consecinţă, <p0-x0, x> = 0 pentru orice x∈H0.
■
IV.3. Separarea mulţimilor convexe prin hiperplane
Definiţie 19. Fie H un spaţiu pre-Hilbert real, a∈H\{0} şi b ∈R. Se numeşte
hiperplan determinat de a şi b mulţimea:
Ha,b = {x∈H: <a, x> = b}.
Spunem că hiperplanul Ha,b separă mulţimile X, Y ⊂ H dacă şi numai dacă
x Xsup a, x∈
< > ≤ b ≤ y Yinf a, y∈
< > .
Se spunem că mulţimile X, Y ⊂ H sunt separabile printr-un hiperplan, dacă există
un hiperplan Ha,b care le separă.
Propoziţie 20. Fie H un spaţiu pre-Hilbert real. Mulţimile X, Y ⊂ H nevide
sunt separabile printr-un hiperplan dacă şi numai dacă mulţimile {0} şi Y-X sunt
separabile printr-un hiperplan.
Demonstraţie. Presupunem că Ha,b separă mulţimile X şi Y. Atunci
x Xsup a, x∈
< > ≤ b ≤ y Yinf a, y∈
< >
de unde rezultă că
0 ≤ y Yinf a, y∈
< > -x Xsup a, x∈
< > = y Yinf a, y∈
< > +x Xinf a, x∈
− < >
Optimizări
43
= y Yinf a, y∈
< > +x Xinf a, x∈
< − >
= y Yinf a, y∈
< > +x Xinf a, x∈−
< >
≤ z Y X
inf a, z∈ −
< > .
Deci Ha,0 separă mulţimile {0} şi Y – X.
Reciproc dacă Ha,b separă mulţimile {0} şi Y – X, atunci
0 ≤ b ≤ z Y X
inf a, z∈ −
< > ,
şi ca urmare <a, x> ≤ <a, y> pentru orice x∈X şi y ∈Y, de unde rezultă că
x Xsup a, x∈
< > ≤ y Yinf a, y∈
< > .
Notăm b1 = x Xsup a, x∈
< > , b2 = y Yinf a, y∈
< > şi c = 1 2b b
2
+. Avem b1 ≤ c ≤ b2 şi în
consecinţă:
x Xsup a, x∈
< > ≤ c ≤ y Yinf a, y∈
< > ,
ceea ce este echivalent cu Ha,c separă mulţimile X şi Y.
■
Lema 21. Fie H un spaţiu Hilbert real şi X ⊂ H o mulţime nevidă convexă
închisă. Atunci există p ∈ X astfel încât pentru orice x∈ X avem
<p, p-x> ≤ 0.
Demonstraţie. Conform teoremei 16 există p∈X element de cea mai bună
aproximarea a lui 0 pe X. Conform teoremei 17 pentru orice x∈ X avem
<p, p-x> ≤ 0.
■
Propoziţie 22. Fie H un spaţiu Hilbert real şi fie x0∈H. Fie X ⊂ H o mulţime
convexă nevidă închisă astfel încât x0 ∉ X. Atunci există a∈H\{0} şi b∈R astfel
încât
<a,x0> < b ≤ <a,x>,
pentru orice x ∈X.
Mădălina Roxana Buneci
44
Demonstraţie. Aplicând lema 21 mulţimii convexe închise X - {x0} rezultă că
există a∈X-{x0} astfel încât pentru orice x∈ X avem
<a, a – x + x0> ≤ 0 ⇔
<a, a + x0> ≤ <a, x>
Notăm b = <a, a + x0>. Deoarece a∈X-{x0}, a≠0 (altfel x0∈X). Deci pentru orice x∈
X avem
b ≤ <a, x>
şi pe de altă parte
b = <a, a + x0> = <a, a> + <a, x0> > <a, x0>.
■
Teoremă 23. Fie H un spaţiu Hilbert real finit dimensional. Fie X ⊂ H o
mulţime convexă. Atunci mulţimile {0} şi X sunt separabile printr-un hiperplan dacă
şi numai dacă 0 ∉ int(X).
Demonstraţie. Presupunem că hiperplanul Ha,b separă mulţimile {0} şi X .
Atunci
0 ≤ b ≤ x Xinf a, x∈
< > ,
şi ca urmare 0 ≤ <a, x> pentru orice x∈X. Pentru orice n ∈ N*, avem
< a, - 1
na> = -
1
n <a, a> <0,
deci -1
na ∉ X. Presupunând prin absurd că 0 ∈ int(X), rezultă că există δ>0 astfel
încât B(0, δ) ⊂ X. Pe de altă parte, din faptul că n
1lim a
n→∞− = 0, rezultă că
există nδ ∈ N, astfel încât -1
na ∈ B(0, δ) ⊂ X pentru orice n ≥ nδ , ceea ce contrazice
faptul că -1
nδa ∉ X.
Reciproc, să presupunem că dacă 0 ∉ int(X). Dacă 0 ∉X, atunci aplicând
propoziţia 22, rezultă că există un hiperplan ce separă {0} şi X, şi în consecinţă {0}
şi X. Dacă 0 ∈X, cum 0 ∉int(X), rezultă 0 ∈ Fr(X). Atunci există un şir (xn)n în H-
Optimizări
45
X astfel încât n
nlim x→∞
=0. Pentru fiecare n, xn ∉X. Aplicând propoziţia 22, rezultă
că există an∈H-{0} şi bn ∈ R, astfel încât
<an, xn> ≤ bn ≤ <an, z> (23.1)
pentru orice z ∈ X. Fără a reduce generalitatea putem lua bn = <an, xn>. Împărţind în
(23.1) cu ||an||, obţinem:
<||an||-1 an, xn> ≤ ||an||-1 bn ≤ <||an||-1 an, x> (23.2)
pentru orice x ∈X ⊂X.
Cum pentru orice n, ||an||-1 an ∈S(0,1) = {x∈H : ||x|| = 1} şi S(0,1) este
compactă, eventual trecând la un subşir, rezultă că (||an||-1 an)n este convergent la un a
∈S(0,1). Ca urmare (||an||-1 bn)n este convergent la 0 (ţinând cont că bn = <an,xn> şi
n
nlim x→∞
=0). Trecând la limită în (23.2) cu n → ∞, obţinem
0 ≤ <a, x>
pentru orice x ∈ X. În consecinţă, Ha,0 separă mulţimile {0} şi X.
■
Corolar 24. Fie H un spaţiu Hilbert real finit dimensional. Fie X, Y ⊂ H
două mulţimi convexe nevide. Atunci mulţimile X şi Y sunt separabile printr-un
hiperplan dacă şi numai dacă 0 ∉ int(Y-X).
Demonstraţie. Conform propoziţiei 20, mulţimile X, Y ⊂ H nevide sunt
separabile printr-un hiperplan dacă şi numai dacă mulţimile {0} şi Y-X sunt
separabile printr-un hiperplan. Din teorema 23 rezultă că {0} şi Y-X sunt separabile
printr-un hiperplan dacă şi numai dacă 0 ∉ int(Y-X).
■
Corolar 25. Fie H un spaţiu Hilbert real finit dimensional. Fie X, Y ⊂ H
două mulţimi convexe nevide cu proprietatea că X ∩ Y = ∅. Atunci mulţimile X şi
Y sunt separabile printr-un hiperplan.
Demonstraţie. Dacă X ∩ Y = ∅, atunci 0∉Y-X şi în particular,
0 ∉ int(Y-X) .
Conform corolarului 24, mulţimile X, Y sunt separabile printr-un hiperplan.
Mădălina Roxana Buneci
46
■
Corolar 26. Fie H un spaţiu Hilbert real finit dimensional. Fie X, Y ⊂ H
două mulţimi convexe nevide cu proprietatea că int(X) ≠ ∅ şi int(X) ∩ Y = ∅.
Atunci mulţimile X şi Y sunt separabile printr-un hiperplan care nu conţine nici un
punct din int(X).
Demonstraţie. Dacă int(X) ∩ Y = ∅, atunci conform corolarului 25 există
un hiperplan Ha,b care separă int(X) de Y. Deci există a∈H\{0} şi b∈R astfel încât
<a, x> ≤ b ≤ <a,y> (26.1)
pentru orice x ∈ int(X) şi orice y ∈Y. Deoarece int(X)≠ ∅, există x0 ∈ int(X). Fie
x∈X oarecare şi fie λ ∈(0,1). Atunci λx + (1-λ)x0 ∈ int(X) (conform lemei 5) şi
ţinând cont de (26.1) rezultă că pentru orice y ∈Y avem
<a, λx + (1-λ)x0 > ≤ b ≤ <a,y> (26.2)
Trecând la limită în (26.2) cu λ → 1 (λ <1) obţinem că pentru orice y ∈Y şi x∈X
avem
<a, x > ≤ b ≤ <a,y>. (26.3)
Cum x ∈X a fost ales arbitrar rezultă că hiperplanul Ha,b separă X şi Y.
Presupunem prin absurd că Ha,b ∩ int(X) ≠ ∅. Fie x ∈ Ha,b ∩ int(X). Avem
<a,x> = b şi deoarece x∈int(X), există ε > 0 astfel încât B(x, ε) ⊂ int(X). Deoarece
<a,a> > 0, există k ∈ N astfel încât
<a, ka> = k<a,a> > b
Fie δ = 1
2
1
|| ka x ||−ε. Atunci x + δ(ka-x) ∈B(x, ε) ⊂ int(X) şi ca urmare
< a, x + δ(ka-x)> ≤ b. (26.3)
Pe de altă parte
<a, x + δ(ka-x)> =<a, (1-δ)x + δka>
= (1-δ)<a, x> + δ<a, ka>
= (1-δ)b + δ<a, ka>
Optimizări
47
> (1-δ)b + δb = b. (26.4)
Astfel din (26.3) şi din (26.4) se obţine o contradicţie (b < b). În consecinţă
presupunerea că Ha,b ∩ int(X) ≠ ∅ este falsă.
■
Teoremă 27. Fie H un spaţiu Hilbert real. Fie X ⊂ H o mulţime convexă
compactă şi Y ⊂ H o mulţime convexă închisă cu proprietatea că X ∩Y= ∅. Atunci
există a∈H\{0} şi b∈R astfel încât
<a, x> < b < <a,y>
pentru orice x ∈ X şi orice y ∈Y.
Demonstraţie. Este uşor de observat că mulţimea
X-Y ={x-y: y∈Y şi x∈X>
este o mulţime închisă. Deoarece X∩Y= ∅, rezultă că 0∉X-Y. Conform propoziţie
22 există a∈H\{0} şi c∈R astfel încât
0 < c ≤ <a,z>,
pentru orice z ∈X-Y. Ca urmare,
c + <a,x> ≤ <a,y>, (27.1.)
pentru orice x ∈ X şi orice y ∈Y. Deoarece funcţia
x → <a, x>
este continuă, rezultă că îşi atinge extremele pe mulţimea compactă X. În particular,
există x0 ∈ X astfel încât <a, x> ≤ <a, x0> pentru orice x ∈ X. Pe de altă parte,
ţinând cont de (27.1) şi de faptul că x0 ∈ X, obţinem
c + <a,x0> ≤ <a,y>,
pentru orice y ∈Y, şi deci
<a,x0> < c + <a,x0> ≤ y Yinf a, y∈
< >
Luând
b = 1
2(
y Yinf a, y∈
< > +<a, x0>),
Mădălina Roxana Buneci
48
avem
<a, x> ≤ <a, x0> < b < y Yinf a, y∈
< > ≤ <a, y>
pentru orice x ∈ X şi orice y ∈ Y.
■
IV.4. Hiperplan de sprijin
Definiţie 28. Fie H un spaţiu pre-Hilbert real şi fie X ⊂ H, spunem că
hiperplanul
Ha,b = {x∈H: <a, x> = b}.
(a∈H \ {0} şi b ∈R) este hiperplan de sprijin al lui X dacă
x Xsup a, x∈
< > = b.
Un hiperplan de sprijin Ha,b al lui X ce conţine un punct x0 ∈ H, se spune hiperplan
de sprijin al lui X în x0. Un hiperplan de sprijin Ha,b al lui X în x0∈X se spune
hiperplan de sprijin strict dacă Ha,b ∩ X = {x0} (x0 este unicul punct de intersecţie al
hiperplanului de sprijin Ha,b cu X).
Teoremă 29. Fie H un spaţiu Hilbert real finit dimensional. Fie X ⊂ H o
mulţime convexă şi fie x0∈X. Condiţia necesară şi suficientă de existenţă a unui
hiperplan de sprijin al lui X care să conţină x0 este ca x0∈Fr(X).
Demonstraţie. Fie Ha,b un hiperplan de sprijin al lui X care conţine pe x0.
Arătăm că Ha,b ∩ int(X) = ∅. Presupunem prin absurd că Ha,b ∩ int(X) ≠ ∅. Fie x ∈
Ha,b ∩ int(X). Avem <a,x> = b, iar din faptul că x∈int(X) rezultă căexistă ε > 0 astfel
încât B(x, ε) ⊂ int(X). Deoarece <a,a> > 0, există k ∈ N astfel încât
<a, ka> = k<a,a> > b
Fie δ = 1
2
1
|| ka x ||−ε. Atunci x + δ(ka-x) ∈B(x, ε) ⊂ int(X) ⊂ X şi ca urmare
< a, x + δ(ka-x)> ≤ b. (29. 1)
Optimizări
49
Pe de altă parte
<a, x + δ(ka-x)> =<a, (1-δ)x + δka>
= (1-δ)<a, x> + δ<a, ka>
= (1-δ)b + δ<a, ka>
> (1-δ)b + δb = b (29.2).
Astfel din (29.1) şi din (29.2) se obţine o contradicţie (b < b). În consecinţă
presupunerea că Ha,b ∩ int(X) ≠ ∅ este falsă. În consecinţă, cum x0 ∈ Ha,b, rezultă că
x0∉int(X). Deci x0 ∈ X-int(X) = Fr(X).
Reciproc, fie x0 ∈ Fr(X). Atunci 0 ∉int(X-x0) şi aplicând corolarul 24 rezultă
că există un hiperplan Ha,b care separă X de {x0}, sau echivalent există a ∈ H\{0} şi
b ∈ R astfel încât:
<a, x> ≤ b ≤ <a, x0>
pentru orice x ∈X. Deoarece x0 ∈X rezultă că există un şir (xn)n în X astfel încât
n
nlim x→∞
= x0. Avem
<a, xn> ≤ b ≤ <a, x0>
şi trecând la limită cu n → ∞, obţinem
<a, x0> ≤ b ≤ <a, x0>,
adică b = <a, x0> sau echivalent x0 ∈ Ha,b. Avem pe de o parte
x Xsup a, x∈
< > ≤ b (29.3)
şi pe de altă parte
x Xsup a, x∈
< > ≥ <a, xn>
şi trecând la limită cu n → ∞, obţinem
x Xsup a, x∈
< > ≥ <a, x0>, (29.4)
Mădălina Roxana Buneci
50
Din (29.3) şi (29.4) ţinând cont că b = <a, x0>, rezultă că x Xsup a, x∈
< > = b, deci
Ha,b este hiperplan de sprijin al lui X ce trece prin x0.
■
Teoremă 30 (teorema Krein-Milman). Fie H un spaţiu Hilbert real. Fie X ⊂
H o mulţime convexă nevidă compactă. Atunci închiderea acoperii liniare convexe a
mulţimii punctelor extremale ale lui X este egală cu X.
Demonstraţie. Pasul 1: Arătăm că mulţimea punctelor extremale ale lui X
este nevidă.
Fie A ={A ⊂ X, A submulţime închisă extremală a lui X}. Arătăm A că este
inductiv ordonată relativ la relaţia de ordine definită prin
A < B ⇔ B ⊂ A.
Fie F = {Ai}i∈I o familie total ordonată de elemente din A. Atunci ii I
A∈∩ este nevidă
deoarece {Ai}i∈I este o familie de submulţimi închise ale lui X cu proprietatea
intersecţiei finite iar X este compactă. Se observă vă că ii I
A∈∩ este majorant al lui F.
Deci conform lemei lui Zorn A are un element maximal. Fie A0 un astfel de element
maximal. Arătăm că A0 are un singur element. Presupunem prin absurd că există x0
şi x1∈A0 cu x0 ≠ x1. Atunci există a∈H-{0} astfel încât <a,x0> ≠ <a, x1>. Fie A1 =
{x∈A0, <a,x>=inf{<a,y>, y∈A0}}. Atunci A1 este o submulţime extremală a lui X ce
este inclusă strict în A0, ceea ce contrazice maximalitatea lui A0. Deci A0 are un
singur element şi în consecinţă, mulţimea punctelor extremale ale lui X este nevidă.
Pasul 2: Notăm cu L închiderea acoperii liniare convexe a mulţimii punctelor
extremale ale lui X. Arătăm că L = X. Presupunem prin absurd că există x0 ∈ X
astfel încât x∉ L. Atunci conform propoziţiei 22 există a ∈ H-{0} şi b∈ R astfel
încât
<a, x0> < b ≤ <a,z> (30.1)
pentru orice z ∈ L. Fie B = {x∈X, <a,x>=inf{<a,y>, y∈K}}. Atunci B este o
submulţime extremală a lui X. Conform pasului 1 mulţimea punctelor extremale ale
lui B este nevidă. Fie z0 un punct extremal al lui B. Deoarece z0 este punct extremal
Optimizări
51
şi pentru K (B fiind extremală în K), rezultă că z0 ∈ L. Pe de o parte conform (30.1)
avem
<a, x0> < <a,z0>, (30.2)
iar pe de altă parte, z0∈B deci
<a,z0> = inf{<a,y>, y∈K} ≤ <a, x0> (30.3).
Din (30.2) şi (30.3) se obţine o contradicţie (<a, x0> < <a,z0> ≤ <a, x0> ), în
consecinţă presupunerea că L ≠ X este falsă.
■
Observaţie 31. Dacă H un spaţiu Hilbert real de dimensiune finită n şi X o
submulţime convexă nevidă compactă a lui H, atunci orice x∈X poate fi scris ca o
combinaţie liniară convexă de puncte extremale ale lui X (demonstraţia se face prin
inducţie după n). Mai mult, se poate arăta că orice x∈X poate fi scris ca o
combinaţie liniară convexă de cel mult n+1 puncte extremale ale lui X.
IV.5.Conuri convexe
Definiţie 32. Fie H un spaţiu liniar (real sau complex). Mulţimea K ⊂ H se
numeşte con convex dacă şi numai dacă satisface condiţiile:
1. K este mulţime convexă
2. αx∈K pentru orice x ∈K şi orice α∈R cu α > 0.
O mulţime K ⊂ H se numeşte con convex închis dacă
1. K este închisă
2. K este con convex.
Observaţie 33. 1. Dacă mulţimea K este con convex, atunci pentru orice x,
y∈K, avem x + y ∈ K (într-adevăr, din condiţia 2 din definiţia conului convex avem
1
2x ∈K şi
1
2y ∈K; deoarece K este convexă avem
1
2x +
1
2y ∈K, şi ţinând cont din
nou de condiţia 2, rezultă că 2 (1
2x +
1
2y) ∈ K, adică x +y ∈ K).
2. Dacă H este spaţiu normat şi dacă mulţimea nevidă K ⊂ H este con convex
atunci 0∈K (într-adevăr, fie x ∈K; pentru orice n ≥1, conform condiţiei 2 din
Mădălina Roxana Buneci
52
definiţia conului convex avem 1
nx∈K şi ca urmare
n
1lim x
n→∞∈K, deci 0∈K). În
particular, dacă mulţimea nevidă K este con convex închis atunci 0∈ K.
Propoziţie 34. Fie H un spaţiu normat şi fie K ⊂ H un con convex. Atunci
K şi int(K) sunt conuri convexe.
Demonstraţie. Mulţimea K ⊂ H fiind con convex, K este mulţime convexă,
ceea ce implică K şi int(K) mulţimi convexe (conform propoziţiei 6). Rămâne să
arătăm că int(K) şi K satisfac şi condiţia 2 din definiţia 32 (a conului convex). Fie
x ∈ K şi fie α>0. Deoarece x ∈ X, există un şir (xn)n de elemente din K astfel încât
n
nlim x→∞
= x. Din faptul că mulţimea K este con, rezultă că αxn ∈K şi deci
n
nlim x→∞
α ∈K, ceea ce implică αx = α n
nlim x→∞
= n
nlim x→∞
α ∈K.
Fie x ∈ int(K) şi fie α>0. Dacă α < 1, atunci ţinând cont de faptul că 0∈K şi de
lema 5, rezultă că αx = αx + (1-α)0 ∈int(K). Pentru α ≥1, fie {α} partea fracţională
a lui α şi fie [α] >0 partea întreagă a lui α. Atunci deoarece K este con convex
[α]{ }1
1− αx∈K şi conform lemei 5,
αx = ({α} + [α])x = {α}x + [α]x = {α}x + (1-{α}) [α]{ }1
1− αx ∈int(K).
■
Exemple 35. (de conuri convexe)
1. K= n+R ={x∈Rn, x≥0}, x=(x1, x2, ..., xn)
t≥0 ⇔ xj ≥ 0 pentru orice 1≤j≤n)
2. K= n++R ={x∈Rn, x≥0}, x=(x1, x2, ..., xn)
t>0 ⇔ xj > 0 pentru orice 1≤j≤n)
3. K= nS+ este mulţimea matricelor simetrice pozitiv semidefinite cu n linii şi
n coloane.
4. K= nS++ este mulţimea matricelor simetrice pozitiv definite cu n linii şi n
coloane.
5. K={(x,t)∈Rn × R: p(x) ≤ t } unde p este o normă oarecare pe Rn.
Optimizări
53
Definiţie 36. Fie H un spaţiu pre-Hilbert real şi fie K o submulţime a lui H.
Se numeşte con dual al lui K mulţimea
K* = {y∈H: <x, y> ≥ 0 pentru orice x ∈ K}
Propoziţie 37. Fie H este un spaţiu pre-Hilbert real. Atunci:
1. Pentru orice K ⊂ H, K* (conul dual al lui K) este con convex închis.
2. Dacă L ⊂ K, atunci K*⊂L*.
3. Pentru orice K ⊂ H,( K )* = K*.
Demonstraţie. 1. Fie y1, y2 ∈ K* şi fie λ ∈ (0,1). Atunci pentru orice x∈K
avem
<x, λy1 + (1-λ)y2> = λ <x, y1> + (1-λ) <x, y2> ≥ 0,
deci λy1 + (1-λ)y2 ∈ K*, şi ca urmare K* este mulţime convexă. Fie α > 0 şi fie y∈
K*. Atunci pentru orice x ∈ K,
<x, αy> = α <x, y> ≥ 0,
deci αy ∈ K*. Am arătat că mulţimea K* este convexă şi că pentru orice α > 0 şi
orice y∈ K*, αy ∈ K*. Deci K* este con convex. Fie (yn)n un şir de elemente din K*
convergent la un element z ∈ H. Pentru orice n ∈ N şi pentru orice x∈K, avem
<x,yn> ≥ 0, şi trecând la limită cu n → ∞, obţinem
<x, n
nlim y→∞
> ≥0,
adică <x, z> ≥ 0, de unde rezultă z ∈ K*. În consecinţă, K* este mulţime închisă.
2. Dacă y ∈K*, atunci <x,y> ≥ 0 pentru orice x ∈ K, şi în particular <x,y> ≥0
pentru orice x ∈ L (deoarece L ⊂ K), şi deci y ∈L*.
3. Conform 2 ( K )*⊂ K*. Fie y ∈ K*. Fie x ∈K şi fie (xn)n un şir de
elemente din K convergent la un element x. Pentru orice n ∈ N avem <xn, y> ≥ 0, şi
trecând la limită cu n → ∞, obţinem
< n
nlim x→∞
, y> ≥0,
adică <x, y> ≥ 0, de unde rezultă y ∈( K )*
■
Teoremă 38. Fie H un spaţiu Hilbert real şi fie K ⊂ H un con convex. Atunci
K**= K, unde K** este conul dual al lui K* (conul dual al lui K).
Mădălina Roxana Buneci
54
Demonstraţie. „⊃⊃⊃⊃”. Fie x0 ∈K. Atunci există un şir (xn)n≥1 astfel încât
n
nlim x→∞
= x0. Din faptul că pentru orice n≥1 şi orice y∈K*, avem
<xn, y> ≥ 0,
prin trecere la limită după n → ∞, obţinem
< n
nlim x→∞
, y> ≥ 0,
de unde x0 = n
nlim x→∞
∈K**.
„⊂⊂⊂⊂” Fie x0∈K**. Presupunem prin absurd că x0 ∉ K. Deoarece K este
convexă şi închisă, rezultă că există p0∈K element de cea mai bună aproximare a lui
x0 pe K. Cum x0 ∉ K, rezultă că p0≠x0. Conform teoremei 16 (caracterizarea
elementului de cea mai bună aproximare), avem
<p0-x0, p0-x> ≤ 0,
pentru orice x∈K. Pentru orice x∈K, avem
0 < <p0 – x0, p0 – x0>
= <p0 – x0, p0 – x + x - x0>
= <p0 – x0, p0 – x > +<p0 – x0, x - x0>
≤ <p0 – x0, x - x0>
= <p0 – x0, x> - <p0 – x0, x0>,
Ca urmare
<p0 – x0, x> < <p0 – x0, x0>, (38.1)
pentru orice x∈K. Cum 0∈K, rezultă că <p0 – x0, x0> > 0 sau echivalent
<x0 – p0, x0> < 0. (38.2)
Arătăm că x0 – p0 ∈ K*. Presupunând prin absurd că x0 – p0 ∉ K*, ar rezulta
că există x ∈ K astfel încât <x, x0-p0> < 0. Înmulţind -λ (cu λ >0) se obţine
-λ<x, x0-p0> > 0 ⇔ <λx, p0 – x0 > >0.
Optimizări
55
Ţinând cont că λx∈K şi de (38.1) obţinem
0< <λx, p0 – x0 > < <p0 – x0, x0>.
Trecând la limită cu λ → ∞ se obţine o contradicţie: ∞ ≤ <p0 – x0, x0>. Aşadar x0 –
p0 ∈ K* şi cum x0 ∈ K**, rezultă că
<x0 – p0, x0> ≥ 0,
ceea ce contrazice inegalitatea (38.2). În consecinţă presupunerea x0∉K este falsă.
■
Propoziţie 39. Fie H un spaţiu Hilbert real finit dimensional şi fie K ⊂ H.
Atunci
int(K*) = {y∈H: <x, y> > 0 pentru orice x ∈K\{0}}
Demonstraţie. Fie y ∈ int(K*). Presupunem prin absurd că există x∈ K\{0}
astfel încât <x, y> = 0. Cum y ∈ int(K*), rezultă că există ε>0 astfel încât B(y, ε) ⊂
K*. Deoarece y - 1
|| x || 2
εx ∈ B(y, ε) ⊂ K*, avem
0 ≤ <x, y - 1
|| x || 2
εx> = <x, y> -
1
|| x || 2
ε<x, x> = -
1
|| x || 2
ε<x, x> < 0.
Am obţinut o contradicţie. Deci <x, y> > 0 pentru orice x ∈K \{0}.
Reciproc fie y0∈H cu proprietatea că <x, y0> > 0 pentru orice x ∈ K\{0}.
Fie S(0,1) = {x∈H: ||x|| = 1}. Funcţia x → <x,y0> fiind continuă, îşi atinge extremele
pe mulţimea compactă S(0,1) ∩K. În particular, există x0 ∈ S(0,1) ∩K astfel încât
<x,y0> ≥ <x0, y0> pentru orice x∈ S(0,1) ∩K. Notăm δ = <x0, y0>. Dacă y ∈
B(y0,1
2δ). Atunci pentru orice x ∈ S(0,1) avem
|<x, y-y0>| ≤ ||x|| ||y – y0|| = ||y – y0|| < 1
2δ.
Deci pentru orice y ∈ B(y0, 1
2δ) şi orice x ∈ S(0,1) ∩K, avem
<x, y> = <x, y – y0 + y0> = <x, y – y0> + <x, y0>
Mădălina Roxana Buneci
56
> - 1
2δ + <x, y0> ≥ -
1
2δ + δ =
1
2δ > 0.
Pentru orice y ∈ B(y0, 1
2δ) şi orice x ∈ K\{0}, avem
1
xx ∈K∩S(0,1) şi
<x, y> = ||x||<1
xx, y> > 0.
Deci B(y0, 1
2δ) ⊂ K*, şi în consecinţă y0∈int(K*).
■
Exemplul 40. Fie p o normă pe spaţiul Hilbert Rn şi fie q norma duală a
lui p:
q(u) = sup {<x,u>, p(x) ≤ 1} .
Conul dual al
K={(x,t)∈Rn × R: p(x) ≤ t }.
este
K*={(u,v)∈Rn × R: q(u) ≤ v }.
Pentru a demonstra aceasta este suficient să arătăm că pentru orice x, u∈Rn şi t, v∈R
cu următoarele afirmaţii sunt echivalente:
1. pentru orice x∈Rn şi t∈R cu p(x) ≤ t , avem <x,u> + tv ≥ 0
2. q(u) ≤ v.
1 =>>>>2. Presupunem prin absurd că avem q(u) > v. Atunci există x cu
p(x)≤1 astfel încât
<x,u> > v ⇔ <-x,u> + 1⋅v< 0,
ceea ce contrazice 1 cu t =1.
2=>>>>1. Dacă t= 0, atunci x=0 şi inegalitatea este evidentă. Presupunem t
(strict) pozitiv. Deoarece q(u) ≤ v, rezultă că <y,u> ≤ v pentru orice y cu p(y) ≤1, în
particular pentru y = - 1t
x. Deci
<- 1t
x,u> ≤ v ⇔ 0 ≤ <x,u> + tv.
În particular,
• K={(x,t)∈Rn × R: ||x||2 ≤ t} => K*={(x,t)∈Rn×R: ||x||2 ≤ t}.
Optimizări
57
• K={(x,t)∈Rn × R: ||x||1 ≤ t}=> K*={(x,t)∈Rn×R: ||x||∞ ≤ t}.
Am notat cu ||⋅||∞, ||⋅||1, ||⋅||2 următoarele norme uzuale pe Rn:
||x||∞ = nj1
max≤≤
|xj|
||x||1 = ∑=
n
1jjx
||x||2 =2/1
n
1j
2
jx
∑
=
(x = (x1, x2, …, xn)t ∈ Rn).
Exemplul 41. În spaţiul matricelor Mn,n(R) peste corpul R se consideră
produsul scalar
<A, B> = Trace(Bt A) =∑∑= =
n
1i
n
1jjijiab ,
unde A= (aij)1 ≤ i, j≤n şi B= (bij)1 ≤ i, j ≤n. Fie nS+ este mulţimea matricelor din Mn,n(R)
pozitiv semidefinite. Mulţimea K = nS+ este con convex şi K* = nS+ . Într-adevăr, fie
Y∉ nS+ . Atunci există v ≠0, v∈Rn astfel încât
0 > vtYv = Trace(vvtY),
de unde rezultă că matricea pozitiv semidefinită X = vvt satisface <X, Y> < 0, deci Y
∉K*. Reciproc, fie Y∈ nS+ . Cum orice X ∈ nS+ poate fi scrisă sub forma
X = n
ti i i
i 1
v v=
λ∑
cu λi ≥0 pentru orice i (valorile proprii ale lui X), avem
<X, Y> = <n
ti i i
i 1
v v=
λ∑ , Y> = n
ii 1=
λ∑ Trace( ti iv v Y) =
n
ii 1=
λ∑ tiv Yvi ≥0,
de unde rezultă că Y ∈K*.
Definiţie 42. Fie H un spaţiu pre-Hilbert real şi fie a1, a2, ..., am m vectori în
H. Se numeşte con poliedral mulţimea
K= {m
ii
i 1
a=
λ∑ , λi ≥ 0 pentru orice 1 ≤ i ≤ m}.
Mădălina Roxana Buneci
58
Observaţie. Conul poliedral K= {m
ii
i 1
a=
λ∑ , λi ≥ 0 pentru orice 1 ≤ i ≤ m} este
închis. Arătăm prin inducţie după m că K = K. Dacă m = 1 afirmaţia este evidentă.
Presupunem afirmaţia adevărată pentru m-1 şi o demonstrăm pentru m. Fie x∈ K .
Atunci x = jlim→∞
mj ii
i 1
a=
λ∑ cu jiλ ≥ 0 pentru orice 1 ≤ i ≤ m şi j≥1. Dacă şirurile ( j
iλ )j
sunt mărginite pentru orice i, atunci trecând eventual la un subşir, avem
( j1λ , j
2λ , ..., jmλ )t → ( 1λ , 2λ , ..., mλ )t cu iλ ≥0 0 pentru orice 1 ≤ i ≤ m
de unde, rezultă x =jlim→∞
mj ii
i 1
a=
λ∑ = m
ii
i 1
a=
λ∑ ∈K. Presupunem că unul dintre şirurile
( jiλ )j este nemărginit. Atunci
jlim→∞ { }j
i
1
max ,1 i mλ ≤ ≤=0. Eventual, trecând la un
subşir avem
({ }
j1
jimax ,1 i m
λ
λ ≤ ≤,
{ }j2
jimax ,1 i m
λ
λ ≤ ≤, ...,
{ }jm
jimax ,1 i m
λ
λ ≤ ≤)t → µ
unde µ = (µ1,µ2 , ...,µm)t cu µi ≥ 0 pentru orice 1 ≤ i ≤ m. Deoarece pentru orice j
există i astfel încât { }
ji
jimax ,1 i m
λ
λ ≤ ≤=1, rezultă µ≠0. Pentru fiecare j notăm
γj = ji
ii
min , 1 i m cu proprietatea ca 0 λ ≤ ≤ µ ≠ µ
.
Se observă că jiλ -µiγj ≥ 0 pentru orice i ∈ {1, 2, ..., m} şi că pentru orice j există i
astfel încât jiλ -µiγj = 0. Pentru fiecare i ∈ {1, 2, ..., m} notăm
Ji = {j : jiλ -µiγj = 0 }.
Din faptul că J1 ∪ J2 ∪ ... ∪ Jm = N, rezultă că există i0 astfel încât i0J este infinită.
Ca urmare putem extrage există subşir (jkiλ )k cu proprietatea că jk ∈ i0
J pentru orice
k. Deoarece µ1a1 + µ2a
2 + ...+ µmam = 0, avem
Optimizări
59
x = jlim→∞
mj ii
i 1
a=
λ∑ = jlim→∞
( )m
j ij ii
i 1
a=
λ − γ µ∑ = klim→∞
m j ikj ii k
i 1
a=
λ − γ µ
∑
=klim→∞
m j ikj ii k
i 1i i0
a=≠
λ − γ µ
∑ .
Aplicând ipoteza de inducţie rezultă că x ∈K.
Propoziţie 43. Fie a1, a2, ..., am m vectori în un spaţiul pre-Hilbert real H şi
fie
K = {x ∈H, <ai, x> ≥ 0 pentru orice 1 ≤ i ≤ m}.
Atunci K este un con convex şi
K* = {m
ii
i 1
a=
λ∑ , λi ≥ 0 pentru orice 1 ≤ i ≤ m}.
Demonstraţie. Fie λ∈(0,1) şi fie x1, x2 ∈ K. Atunci pentru orice 1 ≤ i ≤ m
<ai, λx1 + (1-λ)x2> = λ<ai, x1> + (1-λ)<ai, x2> ≥ 0
de unde rezultă λx1 + (1-λ)x2∈K, şi deci K este mulţime convexă. Dacă α>0 şi x
∈K, atunci pentru orice 1 ≤ i ≤ m
<ai, αx> = α<ai, x> ≥ 0
de unde rezultă αx∈K, şi deci K ţinând seama şi de faptul că este mulţimea K este
convexă, rezultă K con convex. Notăm
L = {m
ii
i 1
a=
λ∑ , λi ≥ 0 pentru orice 1 ≤ i ≤ m}.
Atunci L este con convex închis (conform observaţiei de mai sus). Fie y ∈L*. Atunci
<y, m
ii
i 1
a=
λ∑ > ≥ 0
pentru orice λ= (λ1, λ2 ...,λm)t cu λi ≥ 0 pentru orice 1 ≤ i ≤ m. Punând λi = 1 şi λj =0
pentru j ≠ i, se obţine că dacă y ∈ L*, atunci
<y, ai> ≥ 0.
Reciproc dacă <y, ai> ≥ 0 pentru orice 1 ≤ i ≤ m, atunci
<y, m
ii
i 1
a=
λ∑ > ≥ 0 pentru orice λ= (λ1, λ2 ...,λm)t cu λi ≥ 0
Mădălina Roxana Buneci
60
pentru orice 1 ≤ i ≤ m. Ca urmare L* = K, de unde deducem L**=K*. Ţinând seama
că L este con convex închis, rezultă L=K*.
■
Propoziţie 44 (Lema Farkas – Minkowski) . Fie A ∈ Mm,n(R) (mulţimea
matricelor cu m linii şi n coloane având coeficienţi reali) şi fie b ∈ Rm. Considerăm
sistemele:
(S1) Ax = b, x ≥ 0
(S2) Atu ≥ 0, <b,u> < 0
Atunci unul şi numai unul dintre sistemele (S1) şi (S2) este compatibil.
Demonstraţie. Presupunem că sistemul (S1) este compatibil. Atunci pentru
orice u cu Atu ≥ 0 avem
<b, u> = <Ax, u> = <x, Atu> ≥ 0,
deci sistemul (S2) este incompatibil.
Presupunem acum că (S2) este incompatibil. Notăm a1, a2, ..., an coloanele
matricei A şi considerăm conurile
L = {u∈Rm, Atu ≥0} = { u∈Rm, <ai, u> ≥ 0 pentru orice 1 ≤ i ≤ n }
B= {Ax, x ≥ 0} = {x1a1+x2a
2+...+xnan, xi ≥ 0 pentru orice 1 ≤ i ≤ n }.
Conform propoziţiei 43, L* = B. Faptul că sistemul (S2) este incompatibil este
echivalent cu b ∈ L* = B, deci există x1, x2, ..., xn ≥ 0 astfel încât b =
x1a1+x2a
2+...+xnan . Aşadar sistemul (S1) este compatibil.
■
Observaţie. Lema Farkas-Minkowski poate fi generalizată după cum
urmează. Fie H Hilbert real, K un con convex în H şi b ∈H. Atunci fie b∈K, fie
există u ∈ K* astfel încât <b, u> < 0. Într-adevăr, dacă b ∉ K, atunci conform
propoziţiei 22, există u∈H\{0} şi c∈R astfel încât
<u, b> < c ≤ <u, w>,
pentru orice w ∈K. Deoarece 0 ∈ K*, rezultă că c ≤ 0 şi ca urmare <u, b> < 0.
Rămâne să arătăm că u ∈ K*. Presupunem prin absurd că există w ∈K astfel încât
<u, w> < 0. Cum pentru orice λ > 0 avem λw∈K şi <u, λw> ≥ c, trecând la limită
Optimizări
61
cu λ → ∞ se obţine contradicţia -∞ ≥ c. Deci pentru orice w∈K avem <u,w> ≥ 0,
adică u ∈K*.
IV.6. Conuri duale şi inegalităţi generalizate
Definiţie 45. Fie H un spaţiu normat şi fie K ⊂ H. Mulţimea K se numeşte
con propriu dacă sunt satisfăcute următoarele condiţii
1. K este con convex
2. K este mulţime închisă
3. K este solidă (int(K) ≠ ∅)
4. K este punctată (adică pentru orice x ∈ K cu proprietatea că -x∈K, rezultă x
= 0)
Orice con propriu K defineşte o relaţie de ordine parţială (reflexivă, anti-
simetrică şi tranzitivă) pe H după cum urmează
x �K y dacă şi numai dacă y – x ∈K.
Scriem x �K y dacă y �K x. De asemenea orice con propriu K defineşte o relaţie de
ordine strictă (ireflexivă şi tranzitivă) pe H:
x K≺ y dacă şi numai dacă y – x ∈int(K).
Scriem x K� y dacă y K≺ x.
Fie S o submulţime a lui H. Un element x ∈S se numeşte element minim lui
S dacă x �K y pentru orice y ∈S. Un element x ∈S se numeşte element minimal lui
S dacă pentru orice y ∈S cu proprietatea că y �K x, rezultă y = x.
Lema 46. Fie H un spaţiu normat şi fie K ⊂ H un con propriu. Atunci
următoarele afirmaţii sunt adevărate:
1. x �K x pentru orice x∈H (⇔�K este reflexivă)
2. dacă x �K y şi y �K x, atunci x = y (⇔ �K este antisimetrică)
Mădălina Roxana Buneci
62
3. dacă x �K y şi y �K z, atunci x �K z (⇔ �K este tranzitivă)
4. dacă x �K y şi u �K v, atunci x + u �K y + v
5. dacă x �K y şi α ≥0 , atunci αx �K αy
6. dacă xn �K yn pentru orice n ≥ 1 şi n
nlim x→∞
= x iar n
nlim y→∞
=y, atunci
x�K y.
Demonstraţie. Rezultă direct utilizând definiţia relaţiei �K şi ţinând seama că
în particular, K este con convex închis.
■
Lema 47. Fie H un spaţiu normat şi fie K ⊂ H un con propriu. Atunci
următoarele afirmaţii sunt adevărate:
1. x K≺ x pentru orice x∈H (⇔ K≺ este ireflexivă)
2. dacă x K≺ y şi y K≺ z, atunci x K≺ z (⇔ K≺ este tranzitivă)
3. dacă x K≺ y, atunci x �K y
4. dacă x K≺ y şi α > 0 , atunci αx K≺ αz
5. dacă x K≺ y şi u �K v, atunci x + u K≺ y + v
6. dacă x K≺ y iar u şi v suficient de mici (în normă), atunci x+u K≺ y+v
Demonstraţie. 1-4 rezultă direct utilizând definiţia relaţiei K≺ şi ţinând
seama că int(K) este con convex.
5. Fie x,y,u,v∈H astfel încât x K≺ y şi u �K v. Atunci avem 1
2(y-x) ∈int(K)
şi 1
2(v-u) ∈K; ţinând cont că mulţimea K este convexă şi aplicând lema 5 avem
1
2(y-x) +
1
2(v-u) ∈int(K), şi folosind faptul că int(K) este con convex, rezultă că 2
Optimizări
63
(1
2(y-x) +
1
2(v-u)) ∈ int(K), adică (y+v) - (x+u) ∈ int(K), ceea ce este echivalent cu
x + u K≺ y + v.
6. Fie x,y∈H astfel încât x K≺ y. Atunci y-x ∈int(K) şi există ε>0 astfel încât
B(y-x, ε) ⊂ int(K). Pentru orice u,v∈H cu ||u|| < 2
ε şi ||v|| <
2
ε, avem
||y –x- (y-x+v-u)|| = ||- v+u|| ≤ ||v|| + || u|| < ε,
deci (y-x+v-u) ∈ B(y-x, ε) ⊂ int(K), ceea ce implică x + u K≺ y + v.
■
Exemplul 48. Considerăm spaţiul Hilbert Rn. Fie
K= n+R ={x∈Rn, x≥0},
unde pentru x=(x1, x2, …, xn)t ∈ Rn, prin x ≥ 0 înţelegem xj≥0 pentru orice 1≤j≤n.
Este uşor de arătat că K*= n+R şi că int( n
+R ) = n++R , unde
n++R ={x∈Rn, x > 0}.
(pentru x=(x1, x2, …, xn)t ∈ Rn, prin x > 0 înţelegem xj >0 pentru orice 1 ≤ j ≤ n).
Pentru K= n+R şi x=(x1, x2, …, xn)
t, y=(y1, y2, …, yn)t ∈Rn , avem
• x �Ky ⇔ xj ≤ yj pentru orice 1 ≤ j ≤ n
• x K≺ y ⇔ xj < yj pentru orice 1 ≤ j ≤ n.
Propoziţia 49. Fie H un spaţiu pre-Hilbert real şi fie K ⊂ H un con convex.
Atunci următoarele afirmaţii sunt adevărate
1. Dacă int(K) ≠ ∅, atunci K* este mulţime punctată.
2. Dacă H este finit dimensional şi dacă mulţimeaK este punctată, atunci
int(K* ) ≠ ∅.
3. Dacă H este finit dimensional şi dacă mulţimea K este con propriu, atunci
K* este con propriu şi K** = K.
Demonstraţie. 1. Presupunem prin absurd că există y ≠0, astfel încât y, -y
∈K*, ceea ce este echivalent cu
Mădălina Roxana Buneci
64
<x,y> = 0 pentru orice x∈K.
Fie x0∈int(K) şi fie ε > 0 astfel încât B(x0, ε) ⊂ K. Atunci x0 + y
εy∈ B(x0, ε) ⊂ K şi
deci
< x0 + y
εy,y> = 0
Deoarece <x0,y> = 0 (fiindcă x0∈K) şi din egalitatea de mai sus rezultă că
y
ε< y,y> = 0
de unde < y,y> = 0, ceea ce contrazice y≠0.
2. Dacă avemK={0}, atunci K* = H şi afirmaţia este evidentă. Fie
x0∈K\{0}. Există y0∈K* astfel încât <x0, y0> > 0 (altfel ar rezulta că <x0, y> = 0
pentru orice y ∈ K*, de unde s-ar deduce <- x0, y> = 0 ≥ 0, şi deci - x0∈K).
Înlocuind x0 cu 0
1
|| x ||x0 şi y0 cu
0
1
|| y ||y0 putem presupune că ||x0|| = 1 şi ||y0|| =1.
Notăm δ = <x0, y0>. Pentru x ∈ B(x0, 1
2δ) avem
|<x – x0, y0>| ≤ ||x –x0|| ||y0|| = ||x – x0|| < 1
2δ.
Deci pentru orice x ∈ B(x0, 1
2δ), avem
<x, y0> = <x – x0 + x0, y0> = <x – x0, y0> + <x, y0>
> - 1
2δ + <x, y0> ≥ -
1
2δ + δ =
1
2δ > 0.
Pentru orice x ∈ K\{0}, avem 1
3δ
1
xx – x0∈ B(x0,
1
2δ) şi
<x, y0> = 3
δ||x||<
1
3δ
1
xx, y>
Optimizări
65
= 3
δ||x||<
1
3δ
1
xx – x0, y> +
3
δ||x||< x0, y> > 0.
În consecinţă y0∈int(K*), deoarece conform propoziţiei 39
int(K*) = {y∈H: <x, y> > 0 pentru orice x ∈K\{0}}.
3. Rezultă din 2 şi 1.
■
Propoziţia 50. Fie H un spaţiu Hilbert real finit dimensional. Fie K ⊂ H un
con convex propriu. Atunci
1. x �K y ⇔ <u,x> ≤ <u,y> pentru orice u �K* 0
2. x K≺ y ⇔ <u, x> < <u, y> pentru orice u �K* 0 cu u ≠0.
3. u �K* v ⇔ <u, x> ≤ <v, x> pentru orice x �K 0
4. u K≺ v ⇔ <u, x> < <v, x> pentru orice x �K 0 cu x ≠0.
Demonstraţie. Rezultă direct utilizând definiţia relaţiilor �K şi K≺ .
Afirmaţiile 3 şi 4 rezultă din 1 şi 2 înlocuind K cu K*
■
Teorema 51. Fie A ∈ Mm,n(R) (mulţimea matricelor cu m linii şi n coloane
având coeficienţi reali), fie b ∈ Rm şi fie K ⊂ Rm un con propriu. Considerăm
sistemele:
(S1) Ax K� b
(S2) Atu = 0, u �K*0, u ≠ 0 , <b,u> ≥ 0
Atunci unul şi numai unul dintre sistemele (S1) şi (S2) este compatibil.
Demonstraţie. Presupunem că (S1) este incompatibil. Atunci dacă notăm
L = {Ax-b, x ∈ Rn}
avem L ∩ int(K) = ∅. Deoarece L este o mulţime convexă şi L ∩ int(K) = ∅, rezultă
că există un hiperplan care separă L şi K, adică există a ≠0 şi t∈R astfel încât
Mădălina Roxana Buneci
66
<a, z> ≤ t ≤ <a,y> (51.1)
pentru orice z ∈ K şi orice y ∈ L. Presupunem prin absurd că există z ∈ K astfel
încât <a, z> > 0. Ţinând cont că pentru orice λ > 0, λz∈K şi de (51.1) obţinem
0< <a, λz> ≤ t.
Trecând la limită cu λ → ∞ se obţine o contradicţie: ∞ ≤ t. Deci <a, z> ≤ 0 pentru
orice z ∈K, de unde rezultă că dacă notăm u = -a, avem u ∈K* şi din (51.1) rezultă:
<u, Ax –b> ≤ <u, z> (51.2)
pentru orice x ∈Rn şi orice z ∈K. Punând x = 0 şi z = 0 obţinem <u, b> ≥ 0. Din
relaţia (51.1) rezultă că
<u, Ax - b > ≤ -t ⇔ <u, Ax > ≤ - t + <u,b> ⇔
<Atu, x > ≤ -t + <u,b> (51.3)
pentru orice x∈Rn. Presupunem prin absurd că există x ∈ Rn astfel încât <Atu, x> >
0. Înlocuind în (51.3) x cu λx şi trecând la limită cu λ → ∞ se obţine o contradicţie:
∞ ≤ -t + <u,b>. Deci <Atu, x> ≤ 0 pentru orice x ∈Rn, de unde rezultă Atu = 0 (altfel
ar exista x cu <Atu, x> < 0, şi ţinând cont că <Atu, -x> ≤ 0 s-ar ajunge la o
contradicţie).
Reciproc, să presupunem că ambele sistemele, (S1) şi (S2), sunt compatibile.
Atunci există x astfel încât Ax – b ∈int(K) şi u ∈K*, u≠0 astfel încât Atu = 0 şi
<b,u> ≥ 0. Ca urmare avem
0 < <u, Ax -b > = <u, Ax> - <u, b> = <Atu, x> - <u, b> = -<u, b> ≤ 0,
ceea ce conduce la contradicţia 0 < 0. În consecinţă, sistemele (S1) şi (S2) nu pot fi
simultan compatibile.
■
Lema 52 (Lema lui Gordon). Fie A ∈ Mm,n(R) (mulţimea matricelor cu m
linii şi n coloane având coeficienţi reali) şi fie b ∈ Rm. Considerăm sistemele:
(S1) Ax > 0
(S2) Atu = 0, u ≥ 0, u ≠ 0
Atunci unul şi numai unul dintre sistemele (S1) şi (S2) este compatibil.
Optimizări
67
Demonstraţie. Se aplică teorema 51 cu K = m+R (atunci int(K) = m
++R ).
■
Teoremă 53. Fie H un spaţiu Hilbert real finit dimensional. Fie K ⊂ H un con
convex propriu şi fie S o submulţime a lui H. Atunci punctul x0∈ S este elementul
minim al lui S relativ la relaţia �K dacă şi numai dacă pentru orice u K*� 0, x0 este
unicul punct de minim al funcţiei x → <x,u> pe mulţimea S.
Demonstraţie. Presupunem că x0∈ S este elementul minim al lui S relativ la
relaţia �K şi luăm u K� 0. Atunci pentru orice y ∈ S, x0 �K y (⇔y – x0 ∈K), şi deci
<y-x0, u> ≥ 0
de unde rezultă că x0 este punct de minim al funcţiei x → <x,u> pe mulţimea S. Cum
u K*� 0, rezultă că pentru orice y≠x0 (⇔ y-x0 ≠ 0) cu y – x0 ∈K avem
<y-x0, u> > 0
şi ca urmare, x0 este unicul punct de minim al funcţiei x → <x,u> pe mulţimea S.
Reciproc, să presupunem că pentru orice u K*� 0, x0 este unicul punct de
minim al funcţiei x → <x,u> pe mulţimea S şi că x0 nu este elementul minim al lui
S. Atunci există y ∈S astfel încât x0 �K y, adică există u0 ∈ K* astfel încât
<y-x0, u0> < 0.
Ca urmare <y, u0> < <x0, u0>, ceea ce contrazice faptul că x0 este punct de minim al
funcţiei x → <x,u0>.
■
Teoremă 54. Fie H un spaţiu Hilbert real. Fie K ⊂ H un con convex propriu
şi fie S o submulţime a lui H.
1. Dacă există u K*� 0 astfel încât x0 este punct de minim al funcţiei x →
<x,u> pe mulţimea S, atunci punctul x0 este element minimal al lui S
relativ la relaţia �K.
Mădălina Roxana Buneci
68
2. Dacă H este finit dimensional şi mulţimea S este convexă şi dacă x0 este
element minimal al lui S relativ la relaţia �K, atunci există u �K* 0, u ≠0
astfel încât x0 este punct de minim al funcţiei x → <x,u> pe mulţimea S.
Demonstraţie. 1. Fie u K*� 0 astfel încât x0 este punct de minim al funcţiei x
→ <x,u> pe mulţimea S. Presupunem prin absurd că x0∈ S nu este element minimal
al lui S relativ la relaţia �K. Atunci există y ∈S, y≠x astfel încât y �K x, şi ca urmare
<x-y, u> > 0, ceea ce contrazice faptul că x0 este punct de minim al funcţiei x →
<x,u> pe mulţimea S.
2. Presupunem că x0 este element minimal al lui S relativ la relaţia �K sau
echivalent ((x0 – K) \ {x0}) ∩ S = ∅. Deoarece (x0 – K) \ {x0}) şi S sunt mulţimi
convexe nevide rezultă că există un hiperplan care le separă, adică există u ∈ H\{0}
şi b ∈ R astfel încât
<u, x0 - z> ≤ b ≤ <u, y> (54.1)
pentru orice z ∈ K \ {0} şi orice y ∈ S. În particular,
<u, x0> ≤ b + <u, z>, (54.2)
pentru orice z ∈ K \ {0}. Presupunând prin absurd că există z∈K\{0} astfel încât
<u, z> < 0, înlocuind în (54.2) z cu λz şi trecând la limită cu λ → ∞, obţinem o
contradicţie <u, x0> ≤ -∞. Deci u ∈K*. Fie z ∈ K\{0} fixat. Din (54.1) rezultă că
<u, x0 - λz> ≤ <u, y> (54.3)
pentru orice λ >0 şi orice y ∈ S. Trecând la limită cu λ → 0 în (54.3) obţinem
<u, x0> ≤ <u, y>
adică încât x0 este punct de minim al funcţiei x → <x,u> pe S (iar u �K*0, u ≠ 0).
■
Exemplul 55. Considerăm un produs a cărui fabricare necesită n resurse
(cum ar fi forţă de muncă, electricitate, combustibil, apă, etc.). Produsul poate fi
fabricat în mai multe feluri. Fiecărei metode de fabricaţie îi se asociază un vector
x = (x1, x2, ..., xn)t ∈ Rn,
xi semnificând cantitatea de materie primă (resursă) i consumată pentru fabricarea
produsului prin metoda respectivă (1 ≤ i ≤ n). Presupunem de asemenea că resursele
Optimizări
69
au valoare, deci că se preferă consumarea unei cantităţi cât mai mici din fiecare
resursă. Notăm cu P mulţimea vectorilor x asociaţi metodelor de fabricaţie. O metodă
de fabricaţie se numeşte eficientă sau Pareto optimală dacă vectorul x asociat este
element minimal al lui P relativ �K cu K= m+R . Mulţimea vectorilor asociaţi
metodelor eficiente de fabricaţie se numeşte frontiera eficientă. Optimalităţii Pareto
i se poate da următoarea interpretare. Spunem că o metodă de producţie căreia îi
corespunde un vector
x = (x1, x2, ..., xn)t
este mai bună decât o altă metodă căreia îi corespunde un vector
y = (y1, y2, ..., yn)t
dacă xj ≤ yj pentru orice 1 ≤ j ≤ n şi pentru un anumit i, xi < yi, adică x �K y, x ≠ y cu
K = m+R . Cu alte cuvinte o metodă de producţie este mai bună decât alta dacă nu
consumă cantităţi mai mari de resurse, iar pentru una dintre resurse consumă mai
puţin. O metodă de producţie este Pareto optimală dacă nu există nici o altă metodă
de producţie mai bună decât ea.
Pentru a găsim metodele de producţie Pareto optimale se poate proceda în
felul următor. Pentru fiecare u K*� 0 (K* = K = m+R ) se rezolvă problema
x Pmin
∈<x, u>.
Pentru u = (u1, u2, ..., un)t condiţia u K*� 0 ⇔ ui > 0 pentru orice 1≤i≤n. Interpretarea
lui u = (u1, u2, ..., un)t este următoarea: ui reprezintă costul unităţii din resursa i pentru
orice 1 ≤ i ≤ n. Minimul funcţiei x → <x, u> pe mulţimea P reprezintă costul minim
pentru fabricarea produsului, iar un punct de minim x0 al acestei funcţii reprezintă
vectorul asociat unei metode de fabricaţie pentru care costul producţiei va fi minim.
Dacă toate preţurile ui (1≤i≤n) sunt pozitive din teorema 54 (1) rezultă că metoda de
fabricaţie obţinută va fi eficientă (Pareto optimală).
Mădălina Roxana Buneci
70
IV.7. Funcţii convexe
Definiţie 56. Fie V un spaţiu liniar peste K (K= R sau K= C), fie X ⊂ V o
submulţime convexă şi fie f : X → R o funcţie.
Funcţia f se numeşte convexă dacă pentru orice x1, x2 ∈ X avem
f(λx1 + (1-λ)x2) ≤ λf(x1) + (1-λ) f(x2),
oricare ar fi λ∈(0,1) (sau echivalent oricare ar fi λ∈[0, 1]) .
Funcţia f se numeşte strict convexă dacă pentru orice x1, x2 ∈ X cu x1≠x2
avem
f(λx1 + (1-λ)x2) < λf(x1) + (1-λ) f(x2),
oricare ar fi λ∈(0,1).
Funcţia f se numeşte concavă dacă –f este convexă.
Funcţia f se numeşte strict concavă dacă –f este strict convexă.
Propoziţie 57 (Inegalitatea Jensen). Fie V un spaţiu liniar peste K (K= R
sau K= C), X o submulţime convexă a lui V şi f : X → R o funcţie convexă. Atunci
pentru orice x1, x2, ...., xm din V şi orice λ1, λ2, ..., λm ∈ K, cu λi ≥ 0 pentru orice i =
1..m şi m
ii 1=
λ∑ = 1, avem
f(m
ii
i 1
x=
λ∑ ) ≤ m
ii
i 1
f (x )=
λ∑ .
Demonstraţie. Fie m vectori x1, x2, ...., xm din V şi fie λ1, λ2, ..., λm ∈ K, cu
λi ≥ 0 pentru orice i = 1..m şi m
ii 1=
λ∑ = 1. Demonstrăm prin inducţie după m că
f(m
ii
i 1
x=
λ∑ ) ≤ m
ii
i 1
f (x )=
λ∑ .
Dacă m = 1, atunci f(1x) = f(x) ≤ 1⋅ f(x). Presupunem afirmaţia adevărată pentru m şi
o demonstrăm pentru m+1. Fie x1, x2, ...., xm+1 din V şi fie λ1, λ2, ..., λm+1 ∈ K, cu λi
Optimizări
71
≥ 0 pentru orice i = 1..m+1 şi m 1
ii 1
+
=λ∑ = 1. Dacă λm+1=1, atunci λ1= λ2 =...= λm = 0,
m 1i
ii 1
x+
=λ∑ = xm+1 şi
f(m 1
ii
i 1
x+
=λ∑ ) = f(xm+1) ≤ f(xm+1) =
m 1i
ii 1
f (x )+
=λ∑ .
Dacă λm+1=0, atunci m 1
ii
i 1
x+
=λ∑ =
mi
ii 1
x=
λ∑ şi conform ipotezei de inducţie:
f(m 1
ii
i 1
x+
=λ∑ ) = f(
mi
ii 1
x=
λ∑ ) ≤ m
ii
i 1
f (x )=
λ∑ =m 1
ii
i 1
f (x )+
=λ∑ .
Presupunem că λm+1∉{0,1} şi notăm
λ = m
ii 1=
λ∑ ∈ (0,1).
Avem iλλ
≥0 pentru orice i = 1..m şi m
i
i 1=
λλ∑ = 1. Aplicând ipoteza de inducţie rezultă
că
f(m
ii
i 1
x=
λλ∑ ) ≤
mii
i 1
f (x )=
λλ∑ .
Ţinând cont că
m 1i
ii 1
x+
=λ∑ = λ
mii
i 1
x=
λλ∑ + (1-λ) xm+1
şi că f este convexă, deducem că
f(m 1
ii
i 1
x+
=λ∑ ) = f(λ
mii
i 1
x=
λλ∑ + (1-λ) xm+1) ≤ λf(
mii
i 1
x=
λλ∑ ) + (1-λ)f (xm+1)
≤λm
ii
i 1
f (x )=
λλ∑ + (1-λ)f (xm+1) =
mi
ii 1
f (x )=
λ∑ +λm+1 f (xm+1).
Mădălina Roxana Buneci
72
Am arătat astfel că dacă afirmaţia este adevărată pentru m este adevărată şi pentru
m+1.
■
Propoziţie 58 (definiţii echivalente ale funcţiilor convexe). Fie V un spaţiu
liniar peste K (K= R sau K= C), X o submulţime convexă a lui V şi
f : X → R
o funcţie. Următoarele afirmaţii sunt echivalente:
1. Funcţia f convexă pe X
2. Pentru orice x∈X şi y ∈V, funcţia gx,y definită prin gx,y(t) = f(x+ty) este
convexă pe T(x,y) = {t∈R: x +ty∈X}
3. Pentru orice x, y ∈X, funcţia hx,y definită prin hx,y(λ) = f(λx+(1-λ)y) este
convexă pe [0,1].
4. Mulţimea
epi(f) = {(x,α)∈X × R : f(x) ≤ α} (epigraficul lui f)
este convexă.
Demonstraţie. 1 =>>>> 2. Arătăm că mulţimea T(x,y) este convexă. Fie t1, t2 ∈
T(x,y) şi fie λ∈(0,1). Atunci
x + (λt1 + (1-λ)t2) y = λ(x + t1y) + (1-λ)(x + t2 y) ∈ X.
Arătăm că gx,y este convexă. Fie t1, t2 ∈ T(x,y) şi fie λ∈(0,1). Atunci
gx,y(λt1 + (1-λ)t2) = f(x + (λt1 + (1-λ)t2) y)
= f(λ(x + t1y) + (1-λ)(x + t2 y))
f convexa≤ λ f(x + t1y)+ (1-λ)f(x + t2 y)
=λ gx,y(t1) + (1-λ) gx,y(t2).
2 =>>>> 3. Pentru orice x, y ∈ X şi orice λ∈[0,1] avem
hx,y (λ) = f(λx+(1-λ)y) = f(y +λ(x-y)) =gy,x-y(λ),
de unde ţinând cont că [0,1] ⊂ T(y, x-y) şi că gy, x-y este convexă, rezultă că hx,y este
convexă.
Optimizări
73
3 =>>>> 4. Fie z1, z2 ∈ epi(f) şi fie λ∈(0,1). Deoarece z1, z2 ∈ epi(f), rezultă că
există x1, x2 ∈ X şi α1, α2∈R, astfel încât z1 = (x1, α1), z2 = (x2, α2), f(x
1) ≤ α1 şi
f(x2) ≤ α2. Avem
λz1 + (1-λ)z2 = λ(x1, α1) + (1-λ)(x2, α2) =(λx1+ (1-λ)x2, λ α1 + (1-λ)α2).
Pe de altă parte funcţia 1 2x ,xh este convexă pe [0,1] şi ca urmare
1 2x ,xh (λ ⋅1 + λ⋅0) ≤ λ 1 2x ,xh (1) + (1-λ) 1 2x ,xh (0) ⇔
f(λx1+ (1-λ)x2) ≤ λf(x1) + (1-λ) f(x2).
Cum f(x1) ≤ α1 şi f(x2) ≤ α2,
f(λx1+ (1-λ)x2) ≤ λf(x1) + (1-λ) f(x2) ≤λα1 + (1-λ)α2,
adică (λx1+ (1-λ)x2, λ α1 + (1-λ)α2) ∈epi(f), şi deci λz1 + (1-λ)z2 ∈ epi(f).
4 =>>>> 1. Fie x1, x2 ∈ X şi fie λ∈(0,1). Deoarece z1 = (x1, f(x1)) ∈epi(f), z1 =
(x2, f(x2)) ∈epi(f) şi epi(f) este convexă, rezultă că λz1 + (1-λ)z2 ∈epi(f). Ţinând cont
şi de faptul că
λz1 + (1-λ)z2 = λ(x1, f(x1)) + (1-λ)(x2, f(x2))
=(λx1+ (1-λ)x2, λf(x1) + (1-λ), f(x2))∈epi(f),
rezultă că f(λx1+ (1-λ)x2) ≤ λf(x1) + (1-λ)f(x2), deci că f este convexă.
■
Propoziţie 59. Fie V un spaţiu liniar peste K (K= R sau K= C), X o
submulţime convexă a lui V şi f : X → R o funcţie convexă: Atunci pentru orice
α∈R mulţimea:
C(α) = {x∈X: f(x) ≤ α}
este convexă.
Demonstraţie. Fie α∈R, x1, x2 ∈ C(α) şi fie λ∈(0,1). Atunci avem f(x1)≤α,
f(x2) ≤ α şi ţinând cont că f este convexă
f(λx1 + (1-λ)x2) ≤ λf(x1) + (1-λ)f(x2) ≤ λα + (1-λ)α = α,
deci λx1 + (1-λ)x2 ∈C(α), şi ca urmare C(α) este convexă.
■
Mădălina Roxana Buneci
74
Propoziţie 60. Fie H un spaţiu Hilbert real finit dimensional şi fie X o
submulţime convexă deschisă a lui H. Fie f : X → R o funcţie. Următoarele afirmaţii
sunt echivalente:
1. Funcţia f convexă pe X
2. Pentru orice x0∈X există u0 ∈ H astfel încât
f(x) – f(x0) ≥ <u0, x – x0>
pentru orice x∈X.
Demonstraţie. 1 =>>>> 2. Fie x0∈X. Din faptul că f este convexă, rezultă că
epi(f) este mulţime convexă în spaţiu Hibert finit dimensional H × R. Deoarece (x0,
f(x0))∈Fr(epi(F)) rezultă că există un hiperplan de sprijin în (x0, f(x0)), deci există a =
(u,t)∈ H × R, (u,t) ≠ 0, astfel încât
<u,x> + tα ≤ <u,x0> + tf(x0) (60.1)
pentru orice (x, α) ∈epi(f). Arătăm că t < 0. Presupunem prin absurd că t > 0.
Trecând la limită în (60.1) cu α → ∞, obţinem o contradicţie: ∞ ≤ <u,x0> + tf(x0).
Deci t ≤ 0. Presupunem prin absurd că t = 0, şi atunci u ≠0. Din (60.1), obţinem
0 ≤ <u, x0 - x> (60.2)
pentru orice x∈X. Deoarece X este deschisă şi x0∈X, rezultă că există ε>0 astfel
încât B(x0, ε) ⊂ X. Deoarece x0 +2 || u ||
εu ∈ B(x0, ε) ⊂ X, înlocuind în (60.2),
obţinem
0 ≤ -2 || u ||
ε<u, u>,
de unde rezultă <u,u> = 0, ceea ce contrazice u≠0. În consecinţă, t < 0. Notăm
u0 = - 1
tu. Împărţind în (60.1) cu –t şi luând α = f(x), obţinem
<u0, x – x0> ≤ f(x) - f(x0).
2 =>>>> 1. Fie x1, x2 ∈ X şi fie λ∈(0,1). Notăm xλ = λx1 + (1-λ)x2 ∈ X. Ţinând
cont de ipoteză, rezultă că există u0 ∈H astfel încât
f(x) – f(xλ) ≥ <u0, x – xλ>,
Optimizări
75
pentru orice x∈X. În particular, pentru x = x1 şi x = x2 obţinem:
f(x1) – f(xλ) ≥ <u0, x1– xλ>, (60.3)
f(x2) – f(xλ) ≥ <u0, x2 – xλ>. (60.4)
Înmulţind (60.3) cu λ şi (60.4) cu (1-λ) şi adunând relaţii obţinute, rezultă
λf(x1) + (1-λ) f(x2) – λf(xλ) - (1-λ) f(xλ) ≥ λ<u0, x1– xλ> + (1-λ) <u0, x2 – xλ>
λf(x1) + (1-λ) f(x2) –f(xλ) ≥ <u0, λx1– λxλ +(1-λ)x2 –(1-λ) xλ>
λf(x1) + (1-λ) f(x2) –f(xλ) ≥ <u0, λx1 + (1-λ)x2 – xλ>
λf(x1) + (1-λ) f(x2) –f(xλ) ≥ 0
λf(x1) + (1-λ) f(x2) ≥ f(xλ).
În consecinţă, λf(x1) + (1-λ) f(x2) ≥ f(λx1 + (1-λ)x2), adică f este convexă.
■
Propoziţie 61. Fie H un spaţiu Hilbert real finit dimensional şi fie X o
submulţime convexă a lui H. Fie f : X → R o funcţie convexă şi fie x0 ∈ int(X).
Atunci f este continuă în x0.
Demonstraţie. Deoarece x0 ∈ int(X), există ε > 0 astfel încât B(x0, ε) ⊂ X. Fie
{e1, e2, ..., em} o bază ortonormată a lui H şi fie
P = {x0 + m
ii
i 1
e=
λ∑ : i1 i mmax | |≤ ≤
λ ≤ 2m
ε }.
Este uşor de observat că 0B(x , )2m
ε⊂ P ⊂ B(x0, ε) şi că P este o mulţime convexă
şi compactă (este închisă şi mărginită). Mulţimea punctelor extremale ale lui P este
Ex(P) = {x0 + m
ii
i 1
e=
λ∑ : |λi| = 2m
ε pentru orice 1 ≤ i ≤ m}.
Mulţimea Ex(P) conţine 2m puncte. Ca urmare orice punct x ∈ P se scrie sub forma x
=
m2i
ii 1
x=
α∑ cu αi≥0, xi ∈Ex(P) şi
m2
ii 1=
α∑ =0. Dacă notăm M = x Ex(P)
max f (x)∈
(x Ex(P)
max f (x)∈
există deoarece Ex(P) este finită) şi ţinem cont că f este convexă,
rezultă că
f(x) = f(
m2i
ii 1
x=
α∑ ) ≤ ( )m2
ii
i 1
f x=
α∑ ≤ M.
Mădălina Roxana Buneci
76
Ca urmare, pentru orice x∈ 0B(x , )2m
ε⊂ P, avem f(x) ≤ M. Fie x≠x0,
x∈B(x0,2m
ε) şi fie t = 2m
0|| x x ||−ε
∈(0, 1). Notăm
y1 = (1 + 1
t) x0 -
1
tx.
y2 = (1 - 1
t) x0 +
1
tx.
Avem ||y1 – x0|| = ||y2 – x0|| = 2m
ε, şi deci y1, y2 ∈ 0B(x , )
2m
ε. În plus, avem
y1 = (1 + 1
t) x0 -
1
tx ⇔
x0 = t
t 1+y1 +
1
t 1+x,
şi ţinând cont că f este convexă, rezultă că
f(x0) ≤ t
t 1+f(y1) +
1
t 1+f(x) ⇔
(t+1) f(x0) ≤ t f(y1) + f(x) ⇔
f(x0) – f(x) ≤ t((f(y1) – f(x0)) .
Ţinând cont că y1 ∈ 0B(x , )2m
ε ⊂ P, rezultă f(y1) ≤ M şi deci
f(x0) – f(x) ≤ t(M – f(x0)) (61.1).
Pe de altă parte, avem
y2 = (1 - 1
t) x0 +
1
tx ⇔
x = t y2 + (1-t)x0,
şi ţinând cont că f este convexă, rezultă că
f(x) ≤ tf(y2) + (1- t)f(x0) ⇔
f(x) – f(x0) ≤ t((f(y2) – f(x0)) .
Ţinând cont că y2 ∈ 0B(x , )2m
ε ⊂ P, rezultă f(y2) ≤ M şi deci
f(x) – f(x0) ≤ t(M – f(x0)) ⇔
f(x0) – f(x) ≥ t(f(x0)- M) (61. 2).
Optimizări
77
Din (61. 1) şi (61. 2) rezultă că
|f(x) – f(x0) | ≤ t(M – f(x0)) = 2m0|| x x ||−
ε (M – f(x0)),
de unde deducem că f este continuă în x0.
■
Propoziţie 62 (operaţii cu funcţii convexe) Fie V un spaţiu liniar peste K
(K= R sau K= C) şi fie X ⊂ V o submulţime convexă. Atunci
1. Dacă f: X → R este o funcţie convexă şi α ≥ 0, atunci αf este convexă.
2. Dacă f1, f2: X → R sunt două funcţii convexe, atunci f1 + f2 este convexă.
3. Dacă f1, f2: X → R sunt două funcţii convexe, atunci max{f1, f2} este
convexă.
4. Dacă f: X → R este o funcţie convexă, A: V→V un operator liniar şi
b∈V, atunci x →f(A(x)+b) [Y →R] este convexă , unde
Y ={x: A(x) + b ∈ X}
5. Dacă I este o familie de indici şi pentru orice i∈I, fi: X → R este o funcţie
convexă, atunci ii Isup f∈
este convexă, presupunând că pentru orice x∈X,
mulţimea {fi(x): i∈I} este mărginită superior
6. Dacă W un spaţiu liniar peste K (K= R sau K= C), Y ⊂ W o submulţime
convexă, g : X × Y → R o funcţie convexă, şi dacă pentru orice x∈X,
mulţimea {g(x,y): y∈Y} este mărginită inferior, atunci funcţia f: X→R,
definită prin f(x) = y Yinf g(x, y)∈
, este convexă.
Demonstraţie. Se aplică definiţia funcţiei convexe. Să arătăm 4, 5 şi 6.
4. Fie x1, x2 ∈ Y şi λ∈(0,1). Atunci
f(A(λx1 + (1-λ)x2)+b) = f(λ(A(x1) +b) +(1-λ)(A(x2)+b))
f convexa
≤ λf(A(x1) +b) +(1-λ)f(A(x2)+b).
5. Fie x1, x2 ∈ X şi λ∈(0,1). Pentru orice j∈I, avem
fj(λx1 + (1-λ)x2) jf convexa
≤ λfj(x1) + (1-λ)fj(x
2)
≤λ ii Isup f∈
(x1) + (1-λ) ii Isup f∈
(x2),
Mădălina Roxana Buneci
78
de unde deducem
ii Isup f∈
(λx1 + (1-λ)x2) ≤λ ii Isup f∈
(x1) + (1-λ) ii Isup f∈
(x2).
6. Fie x1, x2 ∈ X şi λ∈(0,1). Pentru orice y1, y2∈Y, avem
g(λx1 + (1-λ)x2, λy1 + (1-λ)y2) g convexa
≤ λg(x1, y1) + (1-λ)g(x2, y2)
Ţinând cont de definiţia lui f, avem
f(λx1 + (1-λ)x2) = y Yinf g∈
(λx1 + (1-λ)x2, y)
= y Yinf g∈
(λx1 + (1-λ)x2, λy + (1-λ)y)
≤ 1 2y ,y Yinf g
∈(λx1 + (1-λ)x2, λy1 + (1-λ)y2)
≤ 1 2y ,y Yinf
∈ (λg(x1, y1) + (1-λ)g(x2, y2))
= λy Yinf∈
g(x1, y)) + (1-λ)y Yinf∈
g(x2, y)
= λf(x1) + (1-λ)f(x2).
■
Propoziţie 63 (compunerea funcţiilor convexe) Fie V un spaţiu liniar peste
K (K= R sau K= C) şi fie X ⊂ V o submulţime convexă. Atunci
1. Dacă f: X → R este o funcţie convexă şi g: co(f(X)) → R este monoton
crescătoare şi convexă, atunci g� f este o funcţie convexă.
2. Dacă g: X → Rm, g(x) = (g1(x), g2(x), ..., gm(x))t, are proprietatea că
fiecare componentă scalară gi este convexă şi dacă f: Y → R este
convexă (unde Y este o submulţime convexă a lui Rm ce conţine g(X)) şi
are proprietatea că pentru orice y ≤ z (în Rm), f(y) ≤ f(z), atunci f� g este
o funcţie convexă
Demonstraţie. 1. Fie x1, x2 ∈ X şi λ∈(0,1). Atunci
g� f(λx1 + (1-λ)x2) = g(f(λx1 + (1-λ)x2))
f convexag crescatoare
≤ g(λf(x1) + (1-λ)f(x2))
g convexa≤ λ g(f(x1)) + (1-λ)g(f(x2))
2. Fie x1, x2 ∈ X şi λ∈(0,1). Atunci
Optimizări
79
f� g(λx1 + (1-λ)x2) = f(g1(λx1 + (1-λ)x2), ..., gm(λx1 + (1-λ)x2))
ig convexa
f "crescatoare"
≤ f(λg1(x1) + (1-λ)g1(x
2), ..., λgm(x1) + (1-λ)gm(x2))
= f(λg(x1) + (1-λ)g(x2)).
f convexa
≤ λ f(g(x1)) + (1-λ)f(g(x2))
■
Definiţie 64. Fie H un spaţiu Hilbert real, fie X o submulţime convexă a lui
H şi f : X → R o funcţie convexă . Notăm
Y = {y∈H, x Xsup∈
(<y, x> - f(x)) < ∞}
Funcţia g : Y → R, definită prin g(y) = x Xsup∈
(<y, x> - f(x)), se numeşte conjugata
funcţiei f.
Propoziţie 65. Fie H un spaţiu Hilbert real, fie X o submulţime convexă a lui
H şi f : X → R o funcţie convexă . Conjugata funcţiei f este o funcţie convexă.
Demonstraţie. Fie y1, y2 ∈ Y şi fie λ∈(0,1). Deoarece y1, y2 ∈ Y, avem
x Xsup∈
(<y1, x> - f(x)) + x Xsup∈
(<y2, x> - f(x)) < ∞,
de unde
x Xsup∈
(λ<y1, x> - λf(x)) + x Xsup∈
((1-λ)<y2, x> - (1-λ)f(x)) < ∞,
şi ca urmare
x Xsup∈
(λ<y1, x> - λf(x) + (1-λ)<y2, x> - (1-λ)f(x)) < ∞
x Xsup∈
(<λy1 + (1-λ)y2, x> - f(x)) < ∞,
deci λy1 + (1-λ)y2∈Y, adică Y este convexă. Fie g conjugata funcţiei f. Arătăm că g
este convexă. Fie y1, y2 ∈ Y şi fie λ∈(0,1). Avem
g(λy1 + (1-λ)y2) = x Xsup∈
(<λy1 + (1-λ)y2,x> - f(x))
= x Xsup∈
(λ<y1,x> - λf(x) + (1-λ)<y2,x> - (1-λ)f(x))
≤ x Xsup∈
(λ<y1,x> - λf(x)) + x Xsup∈
((1-λ)<y2,x> - (1-λ)f(x))
Mădălina Roxana Buneci
80
= λx Xsup∈
(<y1,x> - f(x)) + (1-λ)x Xsup∈
(<y2,x> -f(x))
= λg(y1) + (1-λ)g(y2),
de unde rezultă că g este convexă.
■
Propoziţie 66. Fie H un spaţiu Hilbert real, fie X o submulţime convexă
deschisă a lui H şi f : X → R o funcţie convexă. Dacă g : Y → R este conjugata
funcţiei f, atunci
1. <x, y> ≤ f(x) + g(y) pentru orice x, y ∈ Y
2. Pentru orice x ∈ X, există yx ∈ Y, astfel încât <x, yx> = f(x) + g(yx).
3. Dacă Y este deschisă, atunci conjugata lui g este f.
4. V şi W sunt două subspaţii ortogonale ale lui H, atunci
x X Vinf
∈ ∩f(x) ≥
y Y Wsup
∈ ∩-g(y)
Demonstraţie. 1. Din definiţia conjugatei avem
<y, x> - f(x) ≤ g(y)
pentru orice x∈X şi orice y ∈Y, de unde rezultă 1.
2. Fie x0 ∈ X. Conform propoziţiei 60, rezultă că există u0 ∈ H astfel încât
f(x) – f(x0) ≥ <u0, x – x0>
pentru orice x∈X , sau echivalent
<u0, x > - f(x) ≤ <u0, x0> - f(x0)
pentru orice x∈X , de unde trecând la supremum după x, obţinem
<u0, x0> - f(x0) ≤ x Xsup∈
<u0, x > - f(x) ≤ <u0, x0> - f(x0) .
Deci <u0, x0> - f(x0) = x Xsup∈
<u0, x > - f(x), adică <u0, x0> - f(x0) = g(u0). Luând
0xy = u0, rezultă 2.
3. Fie h conjugata lui g. Pentru orice x0 ∈ X şi orice y ∈ Y, din 1 avem
<x0, y> - g(y) ≤ f(x0),
de unde rezultă că
Optimizări
81
f(x0) ≥ y Ysup∈
(<x0, y> - g(y)). (66.1)
Pe de altă parte din 2 rezultă că există 0xy astfel încât <x0, 0xy > - g( 0xy ) = f(x0),
deci
f(x0) ≤ y Ysup∈
(<x0, y> - g(y)). (66.2)
Din (66.1) şi (66.2) rezultă că f(x0) =y Ysup∈
(<x0, y> - g(y)) = h(x0) pentru orice x0∈X.
4. Pentru orice x∈V şi orice y ∈W, avem <x, y> = 0 fiindcă V şi W sunt
ortogonale. Din 1 reyultă că
0 ≤ f(x) + g(y)
pentru orice x ∈ X ∩ V şi orice y∈Y ∩ W. În consecinţă,
x X Vinf
∈ ∩f(x) ≥
y Y Wsup
∈ ∩-g(y)
■
Propoziţie 67. Fie X o submulţime convexă deschisă a lui Rn şi fie f:X→R o
funcţie diferenţiabilă pe X. Următoarele afirmaţii sunt echivalente:
1. f este convexă
2. f(y) – f(x) ≥ <∇f(x), y -x> pentru orice x, y∈X
3. <∇f(y) -∇f(x), y - x> ≥ 0 pentru orice x, y∈X
Demonstraţie. 1 =>>>> 2. Fie x, y ∈X şi fie λ ∈ (0,1). Deoarece f este convexă,
f(λy + (1-λ)x) ≤ λf(y) + (1-λ)f(x)
de unde,
f(y) – f(x) ≥ f (x (y x)) f (x)+ λ − −
λ.
Trecând la limită cu λ → 0, λ >0, obţinem
f(y) – f(x) ≥ f
(x)(y x)
∂∂ −
= <∇f(x), y-x>.
2 =>>>> 1. Rezultă aplicând propoziţia 60 cu u0 = ∇f(x0).
2 =>>>> 3. Fie x, y ∈X. Ţinând cont de 2 avem
Mădălina Roxana Buneci
82
f(y) – f(x) ≥ <∇f(x), y-x>
f(x) – f(y) ≥ <∇f(y), x-y>
şi adunând cele două relaţii obţinem
0 ≥ <∇f(x) - ∇f(y), y-x> ⇔
0 ≤ <∇f(y) - ∇f(x), y-x>.
3 =>>>> 2. Aplicând formula lui Taylor, rezultă că există θ∈(0, 1) astfel încât
f(y) – f(x) = <∇f(y+θ(x-y), y-x> (67.1)
Din 3 rezultă
<∇f(y+θ(x-y)) - ∇f(x), y+θ(x-y) - x> ≥ 0
<∇f(y+θ(x-y)) - ∇f(x), (1-θ)(y – x)> ≥ 0
<∇f(y+θ(x-y)), (1-θ)(y – x)> ≥ <∇f(x), (1-θ)(y – x)>
(1-θ)<∇f(y+θ(x-y)), (y – x)> ≥ (1-θ)<∇f(x), (y – x)>
<∇f(y+θ(x-y)), (y – x)> ≥ <∇f(x), (y – x)> (67.2)
Folosind (67.1) şi (67.2), obţinem
< f(y) – f(x), (y – x)> ≥ <∇f(x), (y – x)>.
■
Propoziţie 68 Fie X o submulţime convexă deschisă a lui Rn şi fie f:X→R o
funcţie de clasă C2. Următoarele afirmaţii sunt echivalente:
1. f este convexă
2. Hf(x) este pozitiv semidefinită pentru orice x∈X
Demonstraţie. 1=>>>>2. Presupunem prin absurd că există x∈X astfel încât Hf(x)
nu este pozitiv semidefinită, adică există v ∈ Rn, v ≠ 0 astfel încât
<v, Hf(x)v> < 0.
Deoarece f este de clasă C2 rezultă că există o vecinătate ε >0 astfel încât
<v, Hf(y)v> < 0
pentru orice y ∈ B(x,ε). De asemenea pentru orice t∈R, t ≠ 0 avem
<tv, Hf(y)(tv)> = t2 <v, Hf(y)v> < 0 (68.1)
pentru orice y ∈ B(x,ε). Fie δ = ε1
2 || v ||. Este uşor de observat că x + t v ∈ B(x,ε)
pentru orice t cu |t| ≤ δ. Aplicând formula lui Taylor, rezultă că există t0 ∈ (0, δ)
astfel încât
Optimizări
83
f(x+δv) = f(x) + <∇f(x), δv> + 1
2<δv, Hf(x+t0v)(δv)>
f(x+δv) - f(x) = <∇f(x), δv> + 1
2<δv, Hf(x+t0v)(δv)> (68.2)
Ţinând cont de propoziţia 67 (2), deoarece f este convexă avem
f(x+δv) - f(x) ≥ <∇f(x), x+δv -x> = <∇f(x), δv> (68.3)
Din (68.2) şi (68.3) rezultă
<∇f(x), δv> + 1
2<δv, Hf(x+t0v)(δv)> ≥ <∇f(x), δv>
1
2<δv, Hf(x+t0v)(δv)> ≥ 0
1
2δ2 <v, Hf(x+t0v)v> ≥ 0
ceea ce contrazice (68.1).
2 =>>>>1. Fie x, y ∈ X. δ. Aplicând formula lui Taylor, rezultă că există z =
x+θ(y-x) astfel încât
f(y) = f(x) + <∇f(x), y-x> + 1
2<y-x, Hf(z)(y-x)> (68.4)
Deoarece Hf(z) este pozitiv semidefinită, <y-x, Hf(z)(y-x)> ≥ 0 şi ţinând seama
de (68.4) rezultă că
f(y) = f(x) + <∇f(x), y-x> ≥ 0,
de unde, folosind propoziţia 67 (2), rezultă că f este convexă
■
Alte tipuri de convexitate
Definiţie 69. Fie V un spaţiu liniar peste K (K= R sau K= C), fie X ⊂ V o
submulţime convexă şi fie f : X → R o funcţie.
Funcţia f se numeşte cvasi-convexă dacă pentru orice x1, x2 ∈ X avem
f(λx1 + (1-λ)x2) ≤ max(f(x1), f(x2)),
oricare ar fi λ∈(0,1) (sau echivalent oricare ar fi λ∈[0, 1]) .
Funcţia f se numeşte strict cvasi-convexă dacă pentru orice x1, x2 ∈ X cu
f(x1) ≠ f(x2) avem
Mădălina Roxana Buneci
84
f(λx1 + (1-λ)x2) < max(f(x1), f(x2)),
oricare ar fi λ∈(0,1).
Funcţia f se numeşte cvasi-concavă dacă –f este cvasi-convexă.
Funcţia f se numeşte strict cvasi-concavă dacă –f este strict cvasi-convexă.
Funcţia f se numeşte cvasi-liniară dacă f este cvasi-convexă şi cvasi-concavă.
Propoziţie 70 (definiţii echivalente ale funcţiilor cvasi-convexe). Fie V un
spaţiu liniar peste K (K= R sau K= C), X o submulţime convexă a lui V şi
f : X → R
o funcţie. Următoarele afirmaţii sunt echivalente:
1. Funcţia f cvasi-convexă pe X
2. Pentru orice x∈X şi y ∈V, funcţia gx,y definită prin gx,y(t) = f(x+ty) este
cvasi-convexă pe T(x,y) = {t∈R: x +ty∈X}
3. Pentru orice x, y ∈X, funcţia hx,y definită prin hx,y(λ) = f(λx+(1-λ)y) este
cvasi-convexă pe [0,1].
4. Pentru orice α∈R mulţimea:
C(α) = {x∈X: f(x) ≤ α}
este convexă.
Dacă în plus X este deschisă şi f este de clasă C1, atunci oricare dintre afirmaţiile 1-4
sunt echivalente cu afirmaţiile 5 şi 6 de mai jos:
5. Pentru orice x1, x2 ∈ X cu f(x1) ≤ f(x2), avem <∇f(x2), x1- x2> ≤ 0
6. Pentru orice x1, x2 ∈ X cu <∇f(x2), x1- x2> >0, avem f(x1) > f(x2).
Definiţie 71. Fie V un spaţiu liniar peste K (K= R sau K= C), fie X ⊂ V o
submulţime convexă şi fie f : X → (0, ∞) o funcţie.
Funcţia f se numeşte log-convexă dacă funcţia x→log(f(x)) este convexă pe
X (adică pentru orice x1, x2 ∈ X avem
f(λx1 + (1-λ)x2) ≤ f(x1)λf(x2)1-λ,
oricare ar fi λ∈(0,1) (sau echivalent oricare ar fi λ∈[0, 1])) .
Funcţia f se numeşte log-concavă dacă funcţia x→log(f(x)) este concavă pe
X (adică pentru orice x1, x2 ∈ X avem
f(λx1 + (1-λ)x2) ≥ f(x1)λf(x2)1-λ,
oricare ar fi λ∈(0,1) (sau echivalent oricare ar fi λ∈[0, 1])) .
Optimizări
85
Definiţie 72. Fie V un spaţiu liniar peste K (K= R sau K= C), fie X ⊂ V o
submulţime convexă, fie H un spaţiu normat şi fie K ⊂ H un con propriu. O funcţie f:
X → H se numeşte convexă relativ la relaţia de ordine parţială definită de conul K
pe H dacă pentru orice x1, x2 ∈ X avem
f(λx1 + (1-λ)x2) �K λf(x1) + (1-λ) f(x2),
oricare ar fi λ∈(0,1) (sau echivalent oricare ar fi λ∈[0, 1]) .(reamintim că y1 �K y2
dacă şi numai dacă y2 – y1 ∈K)
Mădălina Roxana Buneci
86
Optimizări
87
V. Condiţii de optimalitate – cazul problemelor de
optimizare cu restricţii inegalităţi
Notaţii.
1. n+R = {x∈Rn, x≥0}, unde pentru x=(x1, x2, ..., xn)
t, x ≥ 0 dacă şi numai dacă xj
≥ 0 pentru orice 1≤j≤n.
2. n++R = {x∈Rn, x >0}, unde pentru x=(x1, x2, ..., xn)
t, x > 0 dacă şi numai dacă
xj > 0 pentru orice 1≤j≤n.
3. Pentru o funcţie ϕ : X → Rm, notăm ϕi 1≤j≤m componentele scalare ale lui ϕ
(adică ϕ(x) = (ϕ1(x), ϕ2(x), ..., ϕm(x)t pentru orice x ∈X). Prin ϕ(x) ≥ 0
înţelegem ϕi(x) ≥ 0 pentru orice 1≤j≤m, iar prin ϕ(x) > 0 înţelegem ϕi(x)>0
pentru orice 1≤j≤m.
4. Pentru o funcţie ϕ : X → Rm, notăm
Xϕϕϕϕ = {{{{x∈∈∈∈X: ϕϕϕϕ(x) ≥≥≥≥ 0}}}}.
Vom considera problema de optimizare:
( )x Xinf f x
ϕ∈,
unde f: X → R, ϕ : X → Rm, m≥1.
Definiţie 1. Fie X o mulţime, f: X → R, ϕ : X → Rm, m≥1. Funcţia
Lagrange asociată problemei de optimizare cu restricţii inegalităţi
( )x Xinf f x
ϕ∈
se defineşte ca L : X × m+R → R,
Mădălina Roxana Buneci
88
L(x, u) = f(x) - <u,ϕ(x)> = f(x) - m
i ii 1
u (x)=
ϕ∑ ,
pentru orice x∈X şi orice u ∈ m+R . Componentele u1, u2, ..., um ale vectorului u
se numesc variabile duale ale problemei de optimizare sau multiplicatori
Lagrange.
V.1. Condiţii suficiente de optimalitate de tip punct şa
Definiţie 2. Fie X o mulţime, L : X × m+R → R o funcţie. Punctul (x0,u0)∈X
× m+R se numeşte punct şa pentru L dacă
L(x0, u) ≤ L(x0, u0) ≤ L(x, u0)
pentru orice u ∈ m+R şi x∈X. Cu alte cuvinte u0 este punct de maxim pentru funcţia u
→ L(x0, u) iar x0 este punct de minim pentru funcţia x → L(x, u0).
Propoziţie 3. Fie X o mulţime, f: X → R, ϕ : X → Rm, m≥1 şi L:X× m+R → R
funcţia Lagrange asociată problemei de optimizare
( )x Xinf f x
ϕ∈
Dacă (x0,u0)∈X × m+R este punct şa pentru L, atunci x0 este punct de minim global
pentru f pe Xϕ şi are loc condiţia ecarturilor complementare:
<u0, ϕ(x0)>.
Demonstraţie. Deoarece (x0,u0)∈X × m+R este punct şa pentru L, pentru orice
u∈ m+R avem
L(x0, u) ≤ L(x0, u0)
f(x0) - <u,ϕ(x0)> ≤ f(x0) - <u0,ϕ(x0)>
Optimizări
89
- <u,ϕ(x0)> ≤ - <u0,ϕ(x0)>
<u0,ϕ(x0)> - <u,ϕ(x0)> ≤ 0
<u0 - u, ϕ(x0)> ≤ 0 (3.1)
Arătăm că ϕ(x0) ≥ 0. Presupunem prin absurd că există i, 1 ≤ i ≤ m, astfel încât ϕi(x0)
< 0. Luăm
u = ( 01u , 0
2u , ..., 0i 1u − , 1+ 0
iu , 0i 1u + , ..., 0
mu )t ∈ m+R
şi înlocuindu-l în (3.1) obţinem,
-ϕi(x0)> ≤ 0
ceea ce contrazice ϕi(x0) < 0. Deci ϕ(x0) ≥ 0, şi ca urmare x0 ∈ Xϕ. Deoarece ϕ(x0)≥0
şi u0 ≥ 0, avem
<u0, ϕ(x0)> ≥ 0. (3.2)
Înlocuind u = 0 în (3.1) obţinem
<u0, ϕ(x0)> ≤ 0. (3.3)
Din (3.2) şi (3.3) obţinem condiţia ecarturilor complementare:
<u0, ϕ(x0)> = 0.
Deoarece (x0,u0)∈X × m+R este punct şa pentru L, pentru orice x∈X avem
L(x0, u0) ≤ L(x, u0)
f(x0) - <u0,ϕ(x0)> ≤ f(x) - <u0,ϕ(x)>
Ţinând cont de condiţia ecarturilor complementare rezultă pentru orice x∈X
f(x0) ≤ f(x) - <u0,ϕ(x)>. (3.4)
Pentru orice x∈Xϕ, avem ϕ(x) ≥ 0, de unde rezultă
<u0,ϕ(x)> ≥ 0. (3.)
Din (3.4) şi (3.5) obţinem că pentru orice x∈Xϕ
f(x0) ≤ f(x) - <u0,ϕ(x)> ≤ f(x),
Mădălina Roxana Buneci
90
adică x0 este punct de minim global al lui f pe Xϕ.
■
V.2. Condiţii de optimalitate pentru funcţii convexe
Propoziţie 4. Fie V un spaţiu normat, X o submulţime convexă a lui V şi
f:X→R o funcţie convexă. Atunci un punct x0 este punct de minim local pentru f
dacă şi numai dacă x0 este punct de minim global pentru f.
Demonstraţie. Evident dacă x0 este punct de minim global pentru f atunci x0
este punct de minim local pentru f. Reciproc să presupunem că atunci x0 este punct
de minim local pentru f. Fie x ∈ X. Dacă x = x0, atunci f(x) = f(x0) ≥ f(x0).
Presupunem că x ≠ x0. Deoarece x0 este punct de minim local pentru f, rezultă că
există ε > 0 astfel încât
f(x0) ≤ f(y) (4.1)
pentru orice y ∈ X ∩ B(x0, ε) . Dacă luăm
λ = min(1, 02 || x x ||
ε
−),
atunci λ ∈ (0, 1]. Ţinând cont că X este convexă şi că x0, x ∈X, rezultă
x0 + λ(x-x0) = λx + (1-λ)x0 ∈ X (4.2).
Pe de altă parte
|| x0 + λ(x-x0) – x0|| = || λ(x-x0) || = λ || x-x0|| ≤ 02 || x x ||
ε
−|| x-x0|| =
2
ε< ε,
de unde rezultă că x0 + λ(x-x0) ∈ B(x0, ε) şi ţinând cont de (4.2), se obţine
x0 + λ(x-x0) ∈ B(x0, ε) ∩ X.
Folosind (4.1) rezultă
Optimizări
91
f(x0) ≤ f(x0 + λ(x-x0)) = f(λx + (1-λ)x0)f convexa
≤ λf(x) + (1-λ) f(x0)
f(x0) ≤ λf(x) + (1-λ) f(x0)
λf(x0) ≤ λf(x)
f(x0) ≤ f(x),
deci x0 este punct de minim global pentru f.
■
Propoziţie 5. Fie X o submulţime convexă deschisă a lui Rn şi f : X → R o
funcţie convexă diferenţiabilă. Atunci un punct x0∈X este punct de minim global
pentru f dacă şi numai dacă
∇f(x0) = 0.
Demonstraţie. Presupunem că x0∈X este punct de minim global pentru f.
Atunci (deoarece avem o problemă de optimizare pe o mulţime deschisă X) rezultă
∇f(x0) = 0. Reciproc, presupunem că ∇f(x0) = 0. Din faptul că f este convexă, rezultă
că oricare ar fi x ∈ X, avem
f(x) – f(x0) ≥ <∇f(x0), x – x0> = <0, x – x0> = 0,
de unde
f(x) – f(x0) ≥ 0.
Aşadar x0 este punct de minim global pentru f.
■
Propoziţie 6. Fie V un spaţiu liniar peste K (K= R sau K= C), fie X ⊂ V o
submulţime convexă şi fie ϕ = (ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că ϕi:X→R
este concavă pentru orice 1 ≤ i ≤ m. Atunci mulţimea
Xϕ = {x∈X: ϕ(x) ≥ 0}.
este convexă.
Demonstraţie. Fie x1, x2 ∈ Xϕ şi fie λ∈(0,1). Fie i, 1 ≤ i ≤m. Deoarece x1 şi x2
∈ Xϕ, avem ϕi(x1) ≥ 0 şi ϕi(x
2) ≥ 0. Ţinând cont de faptul că ϕi este concavă, obţinem
ϕi(λx1 + (1-λ)x2) ≥ λϕi(x1) + (1-λ)ϕi(x
2) ≥ 0.
Mădălina Roxana Buneci
92
Cum ϕi(λx1 + (1-λ)x2) ≥ 0 pentru orice i, 1 ≤ i ≤m, rezultă λx1 + (1-λ)x2 ∈ Xϕ.
Aşadar Xϕ este convexă.
■
Propoziţie 7. Fie V un spaţiu normat, X o submulţime convexă a lui V,
f:X→R o funcţie convexă şi ϕ= (ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că
ϕi:X→R este concavă pentru orice 1 ≤ i ≤ m. Atunci x0∈Xϕ este soluţie optimă
locală a problemei
( )x Xinf f x
ϕ∈
dacă şi numai dacă x0∈Xϕ este soluţie optimă globală (adică, x0 este punct de minim
local pentru f pe Xϕ dacă şi numai dacă x0 este punct de minim global pentru f pe
Xϕ).
Demonstraţie. Conform propoziţiei 6, Xϕ este mulţime convexă. Se aplică în
continuare propoziţia 4.
■
V.3. Condiţia necesară de optimalitate Fritz-John
Propoziţie 8. (condiţia necesară Fritz-John) Fie V un spaţiu liniar peste K
(K= R sau K= C), X o submulţime convexă a lui V, f:X→R o funcţie convexă şi ϕ =
(ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că ϕi : X → R este concavă pentru orice 1 ≤
i ≤ m. Dacă x0∈Xϕ este punct de minim al lui f pe Xϕ, atunci există t0 ∈R+ şi u0∈ m+R
astfel încât
1. (t0, u0) ≠ 0
2. <u0,ϕ(x0)> = 0
3. (x0,u0) este punct şa pentru funcţia Lagrange-Fritz-John,
0tL :X× m
+R →R, definită prin
Optimizări
93
0tL (x, u) = t0f(x) - <u,ϕ(x)> = t0f(x) -
m
i ii 1
u (x)=
ϕ∑ .
Demonstraţie. Notăm
P = {(α,v) ∈R×Rm : α ≤ f(x0) şi v ≤ 0}
S = {(α,v)∈ R×Rm : există x∈X astfel încât α ≥ f(x) şi v ≥ -ϕ(x)}
Arătăm că P şi S sunt mulţimi convexe. Fie (α1,v1), (α2,v
2)∈P şi λ∈(0, 1). Avem
λ(α1,v1) + (1-λ)(α2,v
2) = (λα1 + (1-λ)α2, λv1 + (1-λ)v2) (8.1)
Deoarece (α1,v1), (α2,v
2)∈P avem α1 ≤ f(x0), α2 ≤ f(x0) şi
λα1 + (1-λ)α2 ≤ λf(x0) + (1-λ)f(x0) = f(x0) (8.2)
Deoarece (α1,v1), (α2,v
2)∈P avem v1 ≤ 0, v2 ≤ 0 şi
λv1 + (1-λ)v2 ≤ 0 (8.3)
Din (8.1), (8.2) şi (8.3) avem λ(α1,v1) + (1-λ)(α2,v
2) ∈P, şi ca urmare P este
convexă. Fie (α1,v1), (α2,v
2)∈S şi λ∈(0, 1). Deoarece (α1,v1), (α2,v
2)∈S, există
x1,x2∈X astfel încât α1 ≥ f(x1) şi v1 ≥ -ϕ(x1) şi α2 ≥ f(x2) şi v2 ≥ -ϕ(x2). Arătăm că
(λα1 + (1-λ)α2, λv1 + (1-λ)v2) ∈ S. Deoarece X este convexă, avem
λx1 + (1-λ) x2∈X.
Din faptul că f este convexă rezultă că
f(λx1 + (1-λ) x2) ≤ λf(x1) + (1-λ)f(x2) ≤λα1 + (1-λ)α2 (8.4)
Deoarece pentru orice i ∈{1, 2, ..., m} funcţia ϕi este concavă, rezultă -ϕi este
convexă şi ca urmare
-ϕi(λx1 + (1-λ) x2) ≤ -λϕi (x1) - (1-λ)ϕi(x
2) ≤λv1 + (1-λ)v2 (8.5)
Ţinând cont de (8.4), (8.5) şi de faptul că
λ(α1,v1) + (1-λ)(α2,v
2) = (λα1 + (1-λ)α2, λv1 + (1-λ)v2)
rezultă că λ(α1,v1) + (1-λ)(α2,v
2) ∈ S şi în consecinţă S este convexă.
Mădălina Roxana Buneci
94
Arătăm că int(P) ∩ S = ∅. Presupunem prin absurd că (α,v)∈int(P) ∩ S. Din
faptul că (α,v)∈int(P) se obţine α < f(x0) şi v < 0. Iar din faptul că (α,v)∈ S rezultă
că există x∈X astfel încât α ≥ f(x) şi v ≥ -ϕ(x). Ca urmare,
ϕ(x) ≥ -v >0
de unde x∈Xϕ. Aşadar se obţine contradicţia
α < f(x0) 0x punct de minim
≤ f(x) ≤ α,
deci int(P) ∩ S = ∅. În consecinţă, P şi S pot fi separate printr-un hiperplan, deci
există a =(t0, u0) ∈Rm+1, a≠0 astfel încât
t0α + <u0, v> ≥ t0β + <u0, w> pentru orice (α,v)∈S şi (β,w)∈P (8.6)
Avem t0 ≥ 0 (presupunând prin absurd că t0 < 0 şi trecând la limită cu β → - ∞ şi cu
α → ∞ în (8.6) obţinem contradicţia -∞ ≥ ∞). De asemenea avem u0 ≥ 0
(presupunând prin absurd că există i astfel încât 0iu < 0 şi luând în (8.6)
v = -ϕ(x0) şi α = f(x0)
w = (-ϕ1(x0), -ϕ2(x
0), ... -ϕi-1(x0), t-ϕi(x
0), -ϕi+1(x0), ... -ϕn(x
0))t , cu t < 0 şi β=f(x0)
obţinem
t0f(x0)+ <u0, -ϕ(x)> ≥ t0f(x
0) + <u0, w>
0 ≥ <u0, w+ϕ(x)>
0 ≥ t 0iu
contradicţie cu 0iu <0.
Ţinând seama de (8.6) şi de faptul că (f(x),-ϕ(x))∈S pentru orice x∈X şi
(f(x0),0)∈P obţinem
t0f(x) -<u0, ϕ(x)> ≥ t0f(x0) pentru orice x∈X (8.7)
Dacă în (8.7) luăm x = x0 obţinem
-<u0, ϕ(x0)> ≥ 0.
Optimizări
95
Pe de altă parte avem ϕ(x0) ≥ 0 şi cum u0 ≥ 0 rezultă
<u0, ϕ(x0)> ≥ 0.
Aşadar <u0, ϕ(x0)> = 0. Pentru orice u ∈ m+R avem
0tL (x0, u) = t0f(x
0) - <u,ϕ(x0)> ≤ t0f(x0) = t0f(x
0) +<u0, ϕ(x0)> = 0t
L (x0, u0),
deci
0tL (x0, u) ≤
0tL (x0, u0) pentru orice u ∈ m
+R . (8.8)
Pentru orice x∈X avem
0tL (x, u0) = t0f(x) - <u0,ϕ(x)> ≥
(8.7)t0f(x
0) = t0f(x0) - <u0, ϕ(x0)> =
0tL (x0, u0),
deci
0tL (x, u0) ≥
0tL (x0, u0) pentru orice x∈X. (8.9)
Din (8.8) şi (8.9) rezultă că (x0, u0) este punct şa pentru funcţia 0t
L .
■
V.4. Condiţia de regularitate Slater
Definiţie 9. Fie V un spaţiu liniar peste K (K= R sau K= C) şi X ⊂ V o
submulţime convexă. Se spune că un punct x ∈X este in interiorul relativ al lui X
dacă pentru orice x1∈X există x2∈X şi λ ∈ (0, 1) astfel încât x = λx1 + (1-λ)x2.
Pentru orice x0 din interiorul relativ al lui X, orice x ∈X şi λ∈ (0,1), λx0+(1-
λ)x este în interiorul relativ al lui X. Interiorul relativ al unei mulţimi convexe
(nevide) este o mulţime convexă (nevidă). Dacă X0 este interiorul relativ al mulţimii
convexe X, atunci interiorul relativ al lui X0 este X0 [22].
Mădălina Roxana Buneci
96
Definiţie 10. Fie V un spaţiu liniar peste K (K= R sau K= C), fie X ⊂ V o
submulţime convexă şi fie ϕ = (ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că ϕj:X→R
este concavă pentru orice 1 ≤ j ≤ m. Spunem că un punct x din interiorul relativ al
mulţimii X este punct Slater dacă
ϕj( x ) > 0 pentru orice j cu ϕj neliniară
ϕj( x ) ≥ 0 pentru orice j cu ϕj liniară
Spunem că mulţimea
Xϕ = {x∈X: ϕj(x) ≥ 0 pentru orice j, 1 ≤ j ≤m}.
satisface condiţia de regularitate Slater dacă există un punct Slater x ∈X.
O restricţie ϕj se numeşte restricţie singulară dacă are proprietatea că ϕj(x) =
0 pentru orice x∈Xϕ. În caz contrar, ϕj se numeşte restricţie regulată. Se notează cu:
Js = {j: 1 ≤ j ≤ m, ϕj(x) = 0 pentru orice x ∈Xϕ}(mulţimea restricţiilor singulare)
Jr = {j: 1 ≤ j ≤ m, există x ∈Xϕ astfel încât ϕj(x)<0}
= { 1, 2, ..., m}\ Js (mulţimea restricţiilor regulate)
Un punct x din interiorul relativ al mulţimii X se numeşte punct Slater ideal
dacă
ϕj( x ) > 0 pentru orice j ∈ Jr (mulţimea restricţiilor regulate)
ϕj( x ) = 0 pentru orice j ∈ Js (mulţimea restricţiilor singulare)
Lema 11. Fie V un spaţiu liniar peste K (K= R sau K= C), fie X ⊂ V o
submulţime convexă şi fie ϕ = (ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că ϕj:X→R
este concavă pentru orice 1 ≤ j ≤ m. Dacă Xϕ satisface condiţia de regularitate Slater,
atunci există un punct Slater ideal x ∈Xϕ.
Demonstraţie. Deoarece Xϕ satisface condiţia de regularitate Slater, există un
punct Slater x0∈Xϕ. Pentru orice j ∈ Jr există xj ∈Xϕ astfel încât ϕj(xj) > 0. Dacă
luăm λ0 > 0, λj > 0 pentru orice j∈Jr astfel încât λ0 + r
jj J∈
λ∑ = 1, atunci ţinând cont de
concavitatea funcţiilor ϕj, rezultă că x = λ0x0 +
r
jj
j J
x∈
λ∑ este un punct Slater ideal.
■
Optimizări
97
Propoziţie 12 (Lema lui Farkas – varianta convexă). Fie V un spaţiu liniar
peste K (K= R sau K= C), X o submulţime convexă a lui V, f:X→R o funcţie
convexă şi ϕ= (ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că ϕj : X → R este concavă
pentru orice 1 ≤ j ≤ m. Presupunem că Xϕ = {x∈X: ϕ(x) ≥ 0} satisface condiţia de
regularitate Slater. Atunci sistemul
nu are nici o soluţie dacă şi numai dacă există v0∈ m+R astfel încât
f(x) - <v0, ϕ(x)> ≥ 0 pentru orice x ∈ X.
Demonstraţie. Dacă sistemul
are o soluţie x0, atunci pentru orice v0∈ m+R
f(x0) - <v0, ϕ(x0)> < - <v0, ϕ(x0)> ≤ 0,
şi ca urmare nu există v0∈ m+R astfel încât
f(x0) - <v0, ϕ(x0)> ≥ 0.
Reciproc să presupunem că sistemul nu admite nici o soluţie. Notăm
S = {(α,v)∈ R×Rm : există x∈X astfel încât α > f(x),
vj ≥ -ϕj(x) pentru orice j∈Jr şi vj = - ϕj(x) pentru orice j∈Js}
Arătăm că S este mulţime convexă. Fie (α1,v1), (α2,v
2)∈S şi λ∈(0, 1). Deoarece
(α1,v1), (α2,v
2)∈S, există x1, x2∈X astfel încât α1 > f(x1) , 1jv ≥ -ϕj(x
1) pentru orice
j∈Jr , 1jv = -ϕj(x
1) pentru orice j∈Js şi α2 > f(x2) 2jv ≥ -ϕj(x
2) pentru orice j∈Jr , 2jv
f(x) < 0
ϕ(x) ≥ 0
x ∈ X
f(x) < 0
ϕ(x) ≥ 0
x ∈ X
Mădălina Roxana Buneci
98
= -ϕj(x2) pentru orice j∈Js. Arătăm că (λα1 + (1-λ)α2, λv1 + (1-λ)v2)∈S. Deoarece X
este convexă, avem
λx1 + (1-λ) x2∈X.
Din faptul că f este convexă rezultă că
f(λx1 + (1-λ) x2) ≤ λf(x1) + (1-λ)f(x2) < λα1 + (1-λ)α2 (12.1)
Deoarece pentru orice j funcţia ϕj este concavă, rezultă -ϕj este convexă şi ca urmare
pentru orice j ∈Jr, avem
-ϕj(λx1 + (1-λ) x2) ≤ -λϕj (x1) - (1-λ)ϕj(x
2) ≤λ 1jv + (1-λ) 2
jv (12.2)
Deoarece Xϕ satisface condiţia de regularitate Slater rezultă că orice restricţie
singulară este liniară. Ca urmare, pentru orice j ∈Js, avem
ϕj(λx1 + (1-λ) x2) = λϕj (x1) + (1-λ)ϕj(x
2) = -λ 1jv - (1-λ) 2
jv (12.3)
Ţinând cont de (12.1), (12.2), (12.3) şi de faptul că
λ(α1,v1) + (1-λ)(α2,v
2) = (λα1 + (1-λ)α2, λv1 + (1-λ)v2)
rezultă că λ(α1,v1) + (1-λ)(α2,v
2) ∈ S şi în consecinţă S este convexă. Fie W=sp(S)
subspaţiul vectorial generat de S. Deoarece sistemul considerat nu are nici o soluţie,
0∉S. Ca urmare, {0} şi S (privite ca submulţimi ale lui W) pot fi separate printr-un
hiperplan, deci există a =(t0, u0) ∈Rm+1, a≠0 astfel încât
t0α + <u0, v> ≥ 0 pentru orice (α,v)∈S (12.4)
Hiperplanul Ha,0={x∈W: <a,x> = 0} nu poate conţine toate punctele din S (în caz
contrar, S ⊂ Ha,0 subspaţiu vectorial, ca urmare W= sp(S) ⊂ Ha,0 = W, ceea ce
contrazice faptul ca dimHa,0 = dim W – 1). Deci există ( α , v )∈S astfel încât
t0 α + <u0, v > > 0 (12.5)
Avem t0 ≥ 0 (presupunând prin absurd că t0 < 0 şi trecând la limită cu α → ∞ în
(12.4) obţinem contradicţia -∞ ≥0). De asemenea avem 0iu ≥ 0 pentru orice i∈ Jr
(presupunând prin absurd că există i∈Jr astfel încât 0iu < 0 şi luând în (12.4)
Optimizări
99
v= (0, 0, ... 0, t, 0, ... , 0)t = tei, cu t > 0 (suficient de mare)
obţinem
t0α + t 0iu ≥ 0
şi trecând la limită cu t → ∞ obţinem contradicţia -∞ ≥ 0).
Ţinând seama de (12.4) şi de faptul că (ε+f(x),-ϕ(x))∈S pentru orice x∈X şi
orice ε>0 obţinem
t0f(x) +t0ε - <u0, ϕ(x)> ≥ 0 pentru orice x∈X
şi trecând la limită cu ε → 0 rezultă
t0f(x) - <u0, ϕ(x)> ≥ 0 (12.6)
pentru orice x∈X. Arătăm că t0≠0. Presupunem prin absurd cã t0 = 0. Atunci u0≠0 şi
din (12.6) ar rezulta cã
0 ≥ <u0,ϕ(x)> (12.7)
pentru orice x∈X. Cum Xϕ satisface condiţia de regularitate Slater, există un punct
Slater ideal x ∈Xϕ, adică un punct x ∈Xϕ pentru care ϕj( x ) > 0 pentru orice j ∈ Jr şi
ϕj( x ) = 0 pentru orice j∈Js. Înlocuind în (12.7) x cu x se obţine
0 ≥ ( )0j ju x
j Jr
ϕ∈∑ (12.8)
Cum 0iu ≥ 0 pentru orice i∈ Jr şi ϕi( x ) ≥ 0, rezultă că ( )0
j ju xj Jr
ϕ∈∑ ≥0, iar ţinând
cont de (12.8), se obţine ( )0j ju x
j Jr
ϕ∈∑ = 0 pentru orice x∈Xϕ. Cum toţi termenii
sumei sunt nenegativi rezultă ( )0j ju xϕ = 0 pentru orice j∈ Jr şi x∈Xϕ. Se obţine
astfel
0ju = 0 pentru orice i∈ Jr, (12.9)
şi ţinând cont de (12.5) rezultă
0j ju v
j Js
∈∑ > 0 (12.10)
Mădălina Roxana Buneci
100
Cum ( α , v )∈S există x*∈X astfel încât jv = - ϕj(x*) pentru orice j∈Js. Înlocuind în
(12.10) obţinem
( )0 *j ju x
j Js
ϕ∈∑ < 0 (12.11)
Deoarece punctul Slater ideal x este în interiorul relativ al lui X şi x*∈X, rezultă că
există �x ∈X şi λ ∈ (0, 1) astfel încât x = λx* + (1-λ) �x . Utilizând faptul că ϕj( x ) = 0
pentru j∈Js şi că toate restricţiile singulare sunt liniare se obţine
0 = ( )0j ju x
j Js
ϕ∈∑ = ( ) �( )0 *
j ju x 1 xj J
s
ϕ λ + − λ∈∑ =
= ( )0 *j ju x
j Js
λ ϕ∈∑ + ( ) �( )0
j j1 u xj J
s
− λ ϕ∈∑ <
( )
>12.11
( ) �( )0j j1 u x
j Js
− λ ϕ∈∑
de unde rezultă că
�( )0j ju x
j Js
ϕ∈∑ > 0 (12.12)
Luând în (12.7) x = �x şi ţinând de relaţia (12.9), conform căreia 0iu = 0 pentru orice
i∈ Jr, se obţine
�( )0j ju x
j Js
ϕ∈∑ ≤ 0,
ceea ce contrazice (12.12). În consecinţă, presupunerea că t0 = 0 este falsă şi deci t0 >
0. Împărţind cu t0 > 0 în (12.6) şi notând w0 = 0
1
tu0 se obţine
f(x) - ( )0j jw x
j J Jr s
ϕ∈ ∪∑ ≥ 0 (12.13)
pentru orice x ∈ X. Avem 0jw ≥ 0 pentru orice j ∈ Jr. Rămâne să arătăm că putem
alege w0 astfel încât 0jw > 0 pentru orice j ∈ Js. Demonstrăm prin inducţie după
Optimizări
101
numărul de elemente din Js (număr de restricţii active). Dacă Js = ∅, atunci evident
lema este adevărată. Dacă Js conţine un singur element s, sistemul
nu are nici o soluţie. Aplicând raţionamentul care ne-a condus la (12.13) sistemului
de mai sus rezultă că există �0jw ≥ 0 pentru orice j ∈ Jr astfel încât
-ϕs(x) - � ( )0j jw x
j Jr
ϕ∈∑ ≥ 0 (12.14)
pentru orice x ∈ X. Luând �0sw > max{ - 0
sw , 0} înmulţind (12.14) cu �0sw şi adunînd-
0 la (12.13) se obţine
f(x) - � �( ) ( )0 00s jj jw w w x
j Jr
+ ϕ∈∑ - ( 0
sw + �0sw )ϕs(x) ≥ 0
pentru orice x ∈X.
Presupunem că lema este adevărată pentru probleme cu număr de restricţii
singulare mai mic sau egal cu k şi demonstram că este adevărată pentru cazul în care
numărul de elemente din Js este k + 1. Fie s ∈ Js. Atunci Js \ {s} are k elemente.
Sistemul
nu are nici o soluţie. Aplicând ipoteza de inducţie, rezultă că există �0jw ≥ 0 pentru
orice j ∈ Jr şi �0jw > 0 pentru orice j∈Js \{s} astfel încât
-ϕs(x) - �
( )( )
0j j
s
w xj J J \{s}r
ϕ∈ ∪
∑ ≥ 0 (12.15)
-ϕs(x) < 0
ϕj(x) ≥ 0, j∈Jr
x ∈ X
-ϕs(x) < 0
ϕj(x) ≥ 0, j∈Jr ∪ (Js \ {s})
x ∈ X
Mădălina Roxana Buneci
102
pentru orice x ∈ X. Luând �0sw > max{ - 0
sw , 0} înmulţind (12.14) cu �0sw şi adunînd-
0 la (12.13) se obţine
f(x) - � �
{ }( )( )
0 00s jj j
s
w w w x
j J J \ sr
+ ϕ ∈ ∪
∑ - ( 0sw + �
0sw )ϕs(x) ≥ 0
pentru orice x ∈X.
Ca urmare există v0 ≥ 0 cu 0jv > 0 pentru orice j ∈ Js astfel încât
f(x) - <v0, ϕ(x)> ≥ 0
■
V.5. Condiţii necesare şi suficiente de optimalitate– cazul
problemelor de optimizare convexă
Propoziţie 13. (condiţii necesare în cazul ipotezei de regularitate Slater)
Fie V un spaţiu liniar peste K (K= R sau K= C), X o submulţime convexă a lui V,
f:X→R o funcţie convexă şi ϕ= (ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că ϕi : X
→ R este concavă pentru orice 1 ≤ i ≤ m. Presupunem că Xϕ satisface condiţia de
regularitate Slater. Dacă x0∈Xϕ este punct de minim al lui f pe Xϕ, atunci există
u0∈ m+R astfel încât (x0,u0) este punct şa pentru funcţia Lagrange, L:X× m
+R →R,
definită prin
L(x, u) = f(x) - <u,ϕ(x)> = f(x) - m
i ii 1
u (x)=
ϕ∑ .
Demonstraţie. Considerăm sistemul
f(x)-f(x0) < 0
ϕ(x) ≥ 0
x ∈ X
Optimizări
103
Deoarece x0∈Xϕ este punct de minim al lui f pe Xϕ, sistemul considerat nu are nici o
soluţie. Aplicând lema lui Farkas-varianta convexă, rezultă că există u0∈ m+R astfel
încât
f(x) – f(x0) - <u0, ϕ(x)> ≥ 0 pentru orice x ∈ X. (13.1)
Luând în (13.1) x = x0 se obţine
- <u0, ϕ(x0)> ≥ 0
sau echivalent <u0, ϕ(x0)> ≤ 0. Cum x0 ∈ Xϕ şi u0∈ m+R avem <u0, ϕ(x0)> ≥ 0. Deci
<u0, ϕ(x0)> = 0. Pentru orice u∈ m+R avem
L(x0, u) = f(x0) - <ϕ(x0), u >
( )0x ,u 0<ϕ > ≥
≤ f(x0) = f(x0) - <u0, ϕ(x0)> = L(x0, u0) (13.2)
Pentru orice x∈ X avem:
L(x0, u0) = f(x0) - <u0, ϕ(x0)> = f(x0)
( )13.1
≤ f(x) – <u0, ϕ(x)> = L(x, u0). (13.3)
Din (13.2) şi (13.3) rezultă că (x0, u0) este punct şa pentru funcţia Lagrange L.
■
Propoziţie 14. (condiţii necesare şi suficiente în cazul ipotezei de
regularitate Slater) Fie V un spaţiu normat, X o submulţime convexă a lui V,
f:X→R o funcţie convexă şi ϕ= (ϕ1, ϕ2, ..., ϕm) : X → Rm cu proprietatea că
ϕi:X→R este concavă pentru orice 1 ≤ i ≤ m. Presupunem că Xϕ satisface condiţia de
regularitate Slater. Următoarele afirmaţii sunt echivalente:
1. x0 este punct de minim local pentru f pe Xϕ
2. x0 este punct de minim global pentru f pe Xϕ
3. Există u0∈ m+R astfel încât (x0,u0) este punct şa pentru funcţia Lagrange,
L:X× m+R →R, definită prin
L(x, u) = f(x) - <u,ϕ(x)> = f(x) - m
i ii 1
u (x)=
ϕ∑ .
Demonstraţie. Echivalenţa dintre 1 şi 2 rezultă din propoziţia 7.
Mădălina Roxana Buneci
104
3 =>>>> 2 rezultă din propoziţia 3
2 =>>>> 3 rezultă din propoziţia 13.
■
V.6. Restricţii active
Definiţie 15. Fie X o mulţime, f: X → R, ϕ = (ϕ1, ϕ2, ..., ϕm): X → Rm, m≥1.
Se consideră problema de optimizare
( )x Xinf f x
ϕ∈,
unde Xϕ = {x∈X: ϕ(x) ≥ 0}. Restricţia ϕi(x) ≥ 0 se numeşte restricţie activă în
punctul x0∈Xϕ dacă ϕi(x0) = 0. Notăm cu
I(x0) = {{{{i: 1 ≤≤≤≤ i ≤≤≤≤ m, ϕϕϕϕi(x0) = 0}}}},
mulţimea restricţiilor active în x0.
Propoziţie 16. Fie V un spaţiu liniar peste K (K= R sau K= C), X o
submulţime convexă a lui V, f:X→R o funcţie convexă şi ϕ=(ϕ1,ϕ2,...,ϕm):X→Rm cu
proprietatea că ϕi : X → R este concavă pentru orice 1 ≤ i ≤ m. Dacă x0∈Xϕ este
soluţie optimă a problemei
( )x Xinf f x
ϕ∈ (16.1)
atunci x0 este soluţie optimă a problemei
( )0x X (x )
inf f xϕ∈
(16.2)
unde Xϕ(x0) = {x∈X: ϕi(x) ≥ 0 pentru orice i∈I(x0)} (I(x0) = {i: ϕi(x0) = 0} este
mulţime restricţiilor active în x0).
Demonstraţie. Presupunem prin absurd că x0 este soluţie optimă pentru
problema (16.1) şi nu este soluţie optimă pentru problema (16.2). Atunci există x ∈
Xϕ(x0) astfel încât f( x ) < f(x0). Pentru orice λ∈(0,1) notăm
xλ = λ x + (1-λ)x0 ∈X.
Optimizări
105
Pentru orice i∈ I(x0) avem
ϕi(xλ) = ϕi(λ x + (1-λ)x0)
i concavaϕ≥ λϕi( x ) + (1-λ)ϕi(x
0) = λϕi( x ) ≥ 0 (16.3)
Pentru orice i∉ I(x0) avem ϕi(x0) > 0. Dacă ϕi( x ) ≥ 0 atunci
ϕi(xλ)
i concavaϕ≥ λϕi( x ) + (1-λ)ϕi(x
0) ≥0
Dacă i∉ I(x0) şi ϕi( x )< 0 atunci
ϕi(xλ)
i concavaϕ≥ λϕi( x ) + (1-λ)ϕi(x
0) =ϕi(x0) + λ(ϕi( x )-ϕi(x
0))
şi luând
λ = ( )0
j 0j0
j j
(x )min : j I x , (x) 0
(x ) (x)
ϕ ∉ ϕ < ϕ − ϕ
∈ (0,1),
se obţine ϕi(xλ) ≥ 0. Ţinând cont şi de (16.3) rezultă că există λ∈(0,1), astfel încât.
ϕi(xλ) ≥ 0 pentru orice i, sau echivalent xλ ∈ Xϕ. Deoarece f( x ) < f(x0), rezultă
f(xλ) f convexa
≤ λf( x ) + (1-λ)f(x0) < λf(x0) + (1-λ)f(x0) = f(x0),
ceea ce contrazice faptul că x0 este soluţie optimă pentru problema (16.1). Aşadar
presupunerea este falsă şi deci x0 este soluţie optimă pentru problema (16.2).
■
V.7. Condiţii necesare de optimalitate – cazul funcţiilor
diferenţiabile
Propoziţie 17. (Fritz-John). Fie X o submulţime deschisă a lui Rn, f:X→R o
funcţie de clasă C1 şi ϕ = (ϕ1,ϕ2, ..., ϕm) : X → Rm de clasă C1 (i.e. ϕi:X→R este de
clasă C1 pentru orice 1 ≤ i ≤ m). Dacă x0 este punct de minim local al lui f pe Xϕ
atunci există u0∈R şi u0∈Rm cu (u0, u0) ≠0 astfel încât
Mădălina Roxana Buneci
106
1. u0∇f(x0) - m
0 0i i
i 1
u (x )=
∇ϕ∑ = 0
2. u0 ≥ 0 şi u0 ≥ 0
3. 0iu ϕi(x
0) = 0 pentru orice i, 1 ≤ i ≤ m.
Demonstraţie. Fie
I(x0) = {i: 1 ≤ i ≤ m, ϕi(x0) = 0},
mulţimea restricţiilor active în x0. Arătăm că nu existã v∈Rn astfel ca
-<∇f(x0), v> > 0
<∇ϕi(x0), v> > 0, i∈I(x0)
Presupunem prin absurd că ar exista v∈Rn, cu proprietăţile anterioare. Atunci v≠0.
Fie mulţimea
S = {x0+tv: t∈(-ε,ε)},
cu ε>0 suficient de mic astfel încât S ⊂ X iar pentru orice t ∈ (-ε,ε) să avem
ϕi(x0+tv) > 0 pentru orice i∉I(x0), <∇ϕi(x
0+tv), v> >0 pentru orice i∈I(x0) şi <∇f(x0
+ tv), v> < 0, (un astfel de ε există; într-adevăr, ţinând cont că x0∈X deschisă,
ϕi(x0) > 0 pentru i∉I(x0) şi ϕi continuă, <∇ϕi(x
0), v> > 0, i∈I(x0) şi ∇ϕi continuă,
<∇f(x0), v> < 0 şi ∇f continuă, rezultă că există δ>0 astfel încât pentru orice
x∈B(x0,δ)⊂X să avem ϕi(x) > 0 pentru i∉I(x0), <∇ϕi(x), v> > 0, i∈I(x0) şi, <∇f(x),
v> < 0; luăm ε = 1
|| v ||δ). Considerăm funcţiile
g : (-ε,ε) → R, g(t) = -f(x0+tv), t ∈ (-ε,ε)
hi : (-ε,ε) → R, hi(t) = ϕi(x0+tv), t∈ (-ε,ε) pentru i∈I(x0).
Deoarece
g′ (t) = -n
0j
jj 1
f(x tv)v
x=
∂+
∂∑ = -<∇f(x0 + tv), v> > 0
ih ′ (t) = n
0ij
jj 1
(x tv)vx=
∂ϕ+
∂∑ = <∇ϕi(x0+tv), v> > 0, i∈I(x0)
rezultă că g şi hi, i∈I(x0) sunt funcţii strict crescătoare pe mulţimea (-ε,ε). Fie t>0,
t∈(-ε,ε). Avem hi(t) > hi(0) pentru i∈I(x0) (deoarece hi este strict crescătoare), de
unde
(17.1)
Optimizări
107
ϕi(x0+tv) > ϕi(x
0) = 0, i∈I(x0).
Pe de altă parte, deoarece t∈(0, ε), avem ϕi(x0+tv)>0 pentru orice i∉I(x0). Ca urmare
x0+tv∈Xϕ. Din faptul că g este strict crescătoare rezultă că g(t) > g(0), de unde
- f(x0+tv) > - f(x0)
f(x0+tv) < f(x0)
şi cum x0+tv∈Xϕ se obţine o contradicţie cu faptul că x0 este punct de minim al lui f
pe Xϕ. În consecinţă, sistemul (17.1) este incompatibil. Aplicând lema lui Gordon
rezultă că există u0 ≥ 0, 0ju ≥ 0, j∈I(x0) nu toate nule astfel încât
- u0∇f(x0) + 0
0 0j j
j I(x )
u (x )∈
∇ϕ∑ = 0.
Dacă luăm 0iu = 0 pentru orice i ∉I(x0) (1 ≤ i ≤m), obţinem
u0∇f(x0) - m
0 0i i
i 1
u (x )=
∇ϕ∑ = 0.
Avem u0 ≥ 0, u0≥0 şi în plus, 0iu ϕi(x
0) = 0 pentru orice i, 1 ≤ i ≤ m (deoarece dacă
i∈I(x0), ϕi(x0) = 0, iar dacă i∉I(x0), 0
iu = 0).
■
Propoziţie 18. Fie X o submulţime deschisă a lui Rn, f:X→R o funcţie de
clasă C1, ϕ : X → Rm de clasă C1 şi ψ : X → Rp de clasă C1. Dacă x0 este punct de
minim local al lui f pe
Xϕ,ψ = {x∈X: ϕ(x) ≥ 0, ψ(x) = 0},
atunci există u0∈R şi u0∈Rm, v0∈Rp nu toţi nuli astfel încât
1. u0∇f(x0) - m
0 0i i
i 1
u (x )=
∇ϕ∑ - p
0 0i i
i 1
v (x )=
∇ψ∑ = 0
2. u0 ≥ 0 şi u0 ≥ 0
3. 0iu ϕi(x
0) = 0 pentru orice i, 1 ≤ i ≤ m.
Mădălina Roxana Buneci
108
V.8. Minim în sensul pantei maxime. Minim în sensul lui
Lagrange
Definiţie 19. Fie X o submulţime deschisă a lui Rn, ϕ : X → Rm şi
Xϕ = {x∈X: ϕ(x) ≥ 0}.
Un vector v∈Rn \{0} se numeşte direcţie admisibilă (relativ la Xϕ) într-un punt
x0∈Xϕ dacă există ε>0 astfel încât x0 + tv∈Xϕ pentru orice t∈[0, ε).
Se observă uşor că dacă x0∈int(Xϕ), atunci orice vector v∈Rn\{0} este direcţie
admisibilã în x0. Într-adevăr dacă x0∈int(Xϕ), atunci există δ>0 astfel încât
B(x0,δ)⊂Xϕ. Dacă luă ε = 1
|| v ||δ, atunci pentru orice t∈[0,ε) avem
x0+tv∈B(x0,δ)⊂Xϕ.
Propoziţie 20. Fie X o submulţime deschisă a lui Rn, ϕ : X → Rm
diferenţiabilă şi Xϕ = {x∈X: ϕ(x) ≥ 0}. Dacă v∈Rn\{0} este direcţie admisibilă în
punctul x0∈Xϕ , atunci este îndeplinită condiţia
<∇ϕi(x0), v> ≥ 0, pentru orice i ∈ I(x0),
unde I(x0) = {i: 1 ≤ i ≤ m, ϕi(x0) = 0} este mulţime restricţiilor active în x0.
Demonstraţie. Presupunem că v∈Rn\{0} este direcţie admisibilă în punctul
x0∈Xϕ . Atunci existã există ε > 0 astfel încât x0 + tv∈Xϕ pentru orice t∈[0, ε). Ca
urmare pentru orice i ∈{1, 2, .., m}, ϕi(x0+tv) ≥ 0. Deoarece pentru orice i∈I(x0)
avem ϕi(x0) = 0, rezultă că
ϕi(x0+tv) - ϕi(x
0) ≥ 0 pentru orice i∈I(x0) şi orice t∈[0, ε). (20.1)
Din (20.1) rezultă că pentru orice i∈I(x0) avem
( ) ( ) ( )0 0i i0i
t 0t 0
x tv xx lim
v t→>
ϕ + − ϕ∂ϕ=
∂ ≥ 0
şi deoarece ( )0i xv
∂ϕ∂
= < ∇ϕi(x0), v>, se obţine
<∇ϕi(x0), v> ≥ 0, pentru orice i ∈ I(x0).
■
Optimizări
109
Observaţie. Fie X o submulţime convexă deschisă a lui Rn, ϕ : X → Rm de
clasă C1 şi x0 ∈ Xϕ = {x∈X: ϕ(x) ≥ 0}. Notăm
M1 = {i: ϕi este convexă}, M2 = {1, 2, ..., m} \ M1.
Dacă v∈Rn \{0}verifică
<∇ϕi(x0), v> ≥ 0, i ∈ M1
<∇ϕi(x0), v> > 0, i ∈ M2
atunci v este direcţie admisibilă în x0. Într-adevăr, ţinând cont că x0∈X deschisă,
ϕi(x0) > 0 pentru i∉I(x0) şi ϕi continuă, <∇ϕi(x
0), v> > 0, i∈M2 şi ∇ϕi continuă,
rezultă că există δ>0 astfel încât pentru orice x∈B(x0,δ)⊂X să avem ϕi(x) > 0 pentru
i∉I(x0) şi <∇ϕi(x), v> > 0, i∈M2. Dacă luăm ε = 1
|| v ||δ, atunci pentru orice t ∈[0, ε)
avem x0 + tv ∈ B(x0,δ) ⊂ X şi ϕi(x0 + tv) > 0 pentru i∉I(x0). Fie i∈ I(x0) ∩ M2.
Aplicând formula lui Taylor, rezultă că există θ ∈ (0, 1) astfel încât
ϕi(x0 + tv) - ϕi(x
0) = <∇ϕi(x0 + θtv), tv> = t<∇ϕi(x
0 + θtv), tv> > 0
ϕi(x0 + tv) > 0 (deoarece, ϕi(x
0) = 0).
Pentru i ∈I(x0) ∩ M1, avem
ϕi(x0 + tv) - ϕi(x
0) ≥ <∇ϕi(x0), tv> = t<∇ϕi(x
0), v> ≥ 0
ϕi(x0 + tv) ≥ 0.
Deci pentru orice i∈{1,2,..., m} şi orice t ∈[0, ε), avem x0 + tv∈Xϕ. Aşadar v este
direcţie admisibilă în x0.
Definiţie 21. Fie X o submulţime deschisă a lui Rn, f: X→R diferenţiabilă, ϕ
: X → Rm şi Xϕ = {x∈X: ϕ(x) ≥ 0}. Un punct x0 ∈ Xϕ se numeşte punct de minim în
sensul pantei maxime pentru f pe Xϕ dacă pentru orice direcţie admisibilă v în x0
avem
<∇f(x0), v> ≥ 0.
Definiţie 22. Fie X o submulţime deschisă a lui Rn, f: X→ R diferenţiabilă, ϕ
: X → Rm diferenţiabilă şi Xϕ = {x∈X: ϕ(x) ≥ 0}. Fie L:X× m+R → funcţia Lagrange
definită prin L(x, u) = f(x) - <u,ϕ(x)>. Un punct x0∈Xϕ se numeşte punct de minim
Mădălina Roxana Buneci
110
în sensul lui Lagrange pentru f pe Xϕ dacă există un vector u0∈ m+R , numit vectorul
multiplicatorilor lui Lagrange, astfel încât
<u0, ϕ(x0)> = 0
∇xL(x0, u0) = 0,
unde ∇xL(x0, u0) reprezintă gradientul funcţiei x → L(x, u0) calculat in x0.
Propoziţie 23. Fie X o submulţime deschisă a lui Rn f: X→ R diferenţiabilă,
ϕ : X → Rm diferenţiabilă şi Xϕ = {x∈X: ϕ(x) ≥ 0}. Dacă (x0,u0)∈X × m+R este punct
şa pentru funcţia Lagrange, L:X× m+R →R, definită prin
L(x, u) = f(x) - <u,ϕ(x)>,
atunci x0 este punct de minim în sensul lui Lagrange pentru f pe Xϕ iar u0 este
vectorul multiplicatorilor Lagrange.
Demonstraţie. Conform propoziţiei 3 dacă (x0,u0)∈X × m+R este punct şa
pentru L, atunci are loc condiţia ecarturilor complementare:
<u0, ϕ(x0)>.
Pe de altă parte deoarece (x0,u0)∈X × m+R este punct şa pentru L, atunci x0 este punct
de minim pentru funcţia x → L(x,u0) pe mulţimea X. Şi cum X este o mulţime
deschisă şi L o funcţie diferenţiabilă, rezultă că x0 este punct staţionar pentru x →
L(x,u0), adică ∇xL(x0, u0) = 0. Aşadar x0 este punct de minim în sensul lui Lagrange
pentru f pe Xϕ iar u0 este vectorul multiplicatorilor Lagrange.
■
V.9. Condiţii de optimalitate – cazul funcţiilor convexe
diferenţiabile
Propoziţie 24. Fie X o submulţime convexă deschisă a lui Rn, f:X→ R
diferenţiabilă şi convexă, ϕ = (ϕ1,ϕ2,...,ϕm) : X → Rm cu proprietatea că ϕi:X→R
este concavă pentru orice 1≤i≤m. Fie Xϕ = {x∈X: ϕ(x) ≥ 0}. Atunci următoarele
afirmaţii sunt echivalente:
Optimizări
111
1. x0 ∈Xϕ este punct de minim în sensul pantei maxime pentru f pe Xϕ,
2. x0 ∈ Xϕ este punct de minim pentru f pe Xϕ.
Demonstraţie. 1 =>>>> 2. Presupunem prin absurd că x0 nu este punct de minim
pentru f pe Xϕ. Atunci există x1 ∈ Xϕ astfel încât f(x1) < f(x0). Pentru orice t∈[0,1),
avem x0 + t(x1 – x0) = tx1 + (1-t)x0 ∈ Xϕ (Xϕ fiind convexă). În consecinţă, x1 – x0
este direcţie admisibilă în x0. Deoarece x0 este punct de minim în sensul pantei
maxime pentru f pe Xϕ şi x1 – x2 este direcţie admisibilă în x0, rezultă că
<∇f(x0), x1-x0> ≥ 0. (24.1)
Ţinând cont că f este convexă şi diferenţiabilă obţinem
f(x1) – f(x0) ≥ <∇f(x0), x1-x0>(24.1)
≥ 0
f(x1) ≥ f(x0)
ceea ce contrazice încât f(x1) < f(x0). În consecinţă, x0 este punct de minim pentru f
pe Xϕ.
2 =>>>> 1. Presupunem că x0 este punct de minim pentru f pe Xϕ şi fie v o
direcţie admisibilă în x0. Deoarece există ε>0 astfel încât x0 + tv∈Xϕ pentru orice
t∈[0, ε) şi deoarece x0 este punct de minim pentru f pe Xϕ avem
f(x0+tv) - f(x0) ≥ 0
de unde
( ) ( ) ( )0 00
t 0t 0
f x tv f xfx lim
v t→>
+ −∂=
∂ ≥ 0
şi deoarece ( )0fx
v
∂∂
= < ∇f(x0), v>, se obţine
<∇f(x0), v> ≥ 0.
Deci x0 este punct de minim în sensul pantei maxime pentru f pe Xϕ
■
Propoziţie 25. Fie X o submulţime convexă deschisă a lui Rn, f:X→ R
diferenţiabilă şi convexă, ϕ = (ϕ1,ϕ2,...,ϕm): X → Rm diferenţiabilă cu proprietatea că
ϕi:X→R este concavă pentru orice 1≤i≤m. Presupunem că Xϕ = {x∈X: ϕ(x) ≥ 0}
Mădălina Roxana Buneci
112
satisface condiţia de regularitate Slater. Atunci următoarele afirmaţii sunt
echivalente:
1. x0 ∈Xϕ este punct de minim în sensul lui Lagrange pentru f pe Xϕ
2. x0 ∈Xϕ este punct de minim în sensul pantei maxime pentru f pe Xϕ
Demonstraţie. 1 =>>>> 2. Presupunem că x0 este punct de minim în sensul lui
Lagrange pentru f pe Xϕ. Atunci există un vector u0∈ m+R astfel încât
<u0, ϕ(x0)> = 0
∇xL(x0, u0) = 0,
unde ∇xL(x0, u0) reprezintă gradientul funcţiei x → L(x, u0) calculat in x0. Deci
0 = <u0, ϕ(x0)> = m
0 0i i
i 1
u (x )=
ϕ∑ ,
şi cum pentru fiecare i, 0 0i iu (x )ϕ ≥ 0 ( u0≥0 şi ϕ(x0) ≥ 0), rezultă că 0 0
i iu (x )ϕ = 0
pentru orice i. Dacă i ∉ I(x0) (mulţimea restricţiilor active în x0), atunci ϕi(x0) > 0, şi
în consecinţă 0iu =0. Aşadar avem
0 = ∇xL(x0, u0) = ∇f(x0) - m
0 0i i
i 1
u (x )=
∇ϕ∑ = ∇f(x0) - 0
0 0i i
i I(x )
u (x )∈
∇ϕ∑
∇f(x0) = 0
0 0i i
i I(x )
u (x )∈
∇ϕ∑ (25.1)
Fie v∈Rn o direcţie admisibilă în x0. Atunci avem
<∇f(x0), v> = <0
0 0i i
i I(x )
u (x )∈
∇ϕ∑ , v> (25.1)
= 0
0 0i i
i I(x )
u (x ), v∈
< ∇ϕ >∑ ≥ 0,
conform propoziţiei 20. Ca urmare x0 ∈Xϕ este punct de minim în sensul pantei
maxime pentru f pe Xϕ.
2 =>>>> 1. Presupunem că x0 ∈Xϕ este punct de minim în sensul pantei maxime
pentru f pe Xϕ. Atunci conform propoziţiei 24, x0 este punct de minim pentru f pe
Xϕ. Conform propoziţiei 13, există u0∈ m+R astfel încât (x0,u0) este punct şa pentru
funcţia Lagrange, L:X× m+R →R, definită prin
Optimizări
113
L(x, u) = f(x) - <u,ϕ(x)> = f(x) - m
i ii 1
u (x)=
ϕ∑ .
Conform propoziţiei 23, x0 este punct de minim în sensul lui Lagrange pentru f pe Xϕ
iar u0 este vectorul multiplicatorilor Lagrange.
■
Teoremă 26. (condiţii necesare şi suficiente de optimalitate în cazul
ipotezei de regularitate Slater: cazul funcţiilor convexe diferenţiabile) Fie X o
submulţime convexă deschisă a lui Rn, f: X→ R diferenţiabilă şi convexă, ϕ =
(ϕ1,ϕ2,...,ϕm): X → Rm diferenţiabilă cu proprietatea că ϕi :X→R este concavă pentru
orice 1≤i≤m. Presupunem că Xϕ ={x∈X:ϕ(x)≥0} satisface condiţia de regularitate
Slater. Următoarele afirmaţii sunt echivalente:
4. x0 este punct de minim local pentru f pe Xϕ
5. x0 este punct de minim global pentru f pe Xϕ
6. Există u0∈ m+R astfel încât (x0,u0) este punct şa pentru funcţia Lagrange,
L:X× m+R →R, definită prin
L(x, u) = f(x) - <u,ϕ(x)> = f(x) - m
i ii 1
u (x)=
ϕ∑
7. x0 este punct de minim în sensul lui Lagrange pentru f pe Xϕ
8. x0 este punct de minim în sensul pantei maxime pentru f pe Xϕ
Demonstraţie. 1 <<<<=>>>> 2 conform propoziţiei 4
3 =>>>> 2 conform propoziţiei 3
2 =>>>> 3 conform propoziţiei 13
4 <<<<=>>>> 5 conform propoziţiei 25
3 =>>>> 4 conform propoziţiei 23
5 <<<<=>>>>1 conform propoziţiei 24
■
Observaţie. Fie X o submulţime convexă deschisă a lui Rn, f: X→ R
convexă diferenţiabilă, ϕ:X→Rm cu proprietatea că ϕi :X→R este concavă
Mădălina Roxana Buneci
114
diferenţiabilă pentru orice 1≤i≤m. Presupunem că Xϕ = {x∈X: ϕ(x) ≥ 0} satisface
condiţia de regularitate Slater şi presupunem dată problema de optimizare
( )x Xinf f x
ϕ∈.
Un punct (x0,u0)∈X×Rm, u0 = ( 01u , 0
2u , .. 0mu )t care îndeplineşte condiţiile
(i) ϕi(x0) ≥ 0 pentru orice i =1, 2, ..., m
(ii) ∇f(x0) - m
0 0i i
i 1
u (x )=
∇ϕ∑ =0
(iii) m
0 0i i
i 1
u (x )=
ϕ∑ = 0
(iv) 0iu ≥ 0 pentru orice i =1, 2, ..., m
se numeşte punct KKT (Karush-Kuhn-Tucker). Se observă că (x0,u0)∈X×Rm este
punct KKT dacă şi numi dacă x0 este punct de minim în sensul lui Lagrange iar u0
este vectorul multiplicatorilor lui Lagrange. În ipotezele teoremei 26 (x0,u0) este
punct KKT dacă şi numai dacă (x0,u0) este punt şa pentru funcţia Lagrange,
L:X× m+R →R, definită prin
L(x, u) = f(x) - <u,ϕ(x)> = f(x) - m
i ii 1
u (x)=
ϕ∑
Evident dacă (x0,u0) este punct KKT, atunci x0 este soluţie optimă a problemei
( )x Xinf f x
ϕ∈.
Optimizări
115
VI. Dualitate în optimizarea convexă
Definiţie 1. Fie X şi Y două mulţimi nevide şi f: X → R şi g: Y→R două
funcţii. Considerăm problemele
x Xinf f (x)∈
(P1)
y Ysup g(y)∈
(P2)
Problema (P2) se numeşte duala problemei (P1) dacă sunt îndeplinite următoarele
două condiţii:
1. f(x) ≥ g(y) pentru orice x ∈ X şi y ∈Y.
2. Dacă una dintre problemele (P1) sau (P2) admite soluţie optimă atunci şi
cealaltă admite soluţie optimă şi valorile optime coincid.
Se mai spune că problemele (P1) şi (P2) sunt probleme duale.
Lema 2. Fie X şi Y două mulţimi nevide şi f: X →R şi g: Y →R două
funcţii astfel încât problemele
x Xinf f (x)∈
(P1)
y Ysup g(y)∈
(P2)
să verifice condiţia 1 din definiţia dualităţii. Dacă x0∈X şi y0∈Y sunt astfel încât
f(x0) = g(y0), atunci x0 este soluţie optimă pentru (P1), iar y0 este soluţie optimă
pentru (P2).
Demonstraţie. Presupunem prin absurd că x0 nu este soluţie optimă pentru
(P1). Atunci există x1 ∈ X astfel încât f(x1) < f(x0) = g(y0), ceea ce contrazice faptul
că f(x1) ≥ g(y0) (conform condiţiei 1 din definiţia 1).
Mădălina Roxana Buneci
116
Presupunem prin absurd că y0 nu este soluţie optimă pentru (P2). Atunci
există y1 ∈ Y astfel încât g(y1) > g(y0) = f(x0), ceea ce contrazice faptul că
f(x0)≥g(y1) (conform condiţiei 1 din definiţia 1).
■
Lema 3. Fie X şi Y două mulţimi nevide şi F: X × Y → R o funcţie.
Considerăm f: X → R, definită prin
f(x) = sup{F(x,y), y ∈Y}
şi g: Y→R, definită prin
g(y) = inf{F(x,y), x ∈X}.
Atunci problemele
x Xinf f (x)∈
(P3)
y Ysup g(y)∈
(P4)
verifică prima condiţie din definiţia dualităţii.
Demonstraţie. Avem
f(x) = sup{F(x,u), u ∈Y} ≥ F(x,y) ≥ inf{F(t,y), t ∈X} = g(y),
pentru orice x ∈ X şi y ∈Y.
■
Definiţie 4. Fie X şi Y două mulţimi nevide şi F: X × Y → R o funcţie. Un
punct (x0, y0) se numeşte punct şa pentru funcţia F dacă
F(x0, y) ≤ F(x0, y0) ≤ F(x, y0),
pentru orice x ∈ X şi y ∈Y.
Propoziţia 5. Fie X şi Y două mulţimi nevide şi F: X × Y → R o funcţie.
Considerăm f: X → R, definită prin
f(x) = sup{F(x,y), y ∈Y}
şi g: Y→R, definită prin
g(y) = inf{F(x,y), x ∈X}.
şi problemele
x Xinf f (x)∈
(P3)
y Ysup g(y)∈
(P4)
Optimizări
117
Atunci următoarele afirmaţii sunt echivalente.
1. (x0, y0) este punct şa pentru F
2. x0 este soluţie optimă pentru (P3), y0 este soluţie optimă pentru (P4), şi
f(x0) = g(y0)
Demonstraţie. 1 =>>>> 2. Deoarece
F(x0, y) ≤ F(x0, y0) ≤ F(x, y0),
pentru orice x ∈ X şi y ∈Y, rezultă că
sup{F(x0, y), y ∈Y}≤ F(x0, y0) ≤ inf{F(x, y0), x ∈X},
f(x0) ≤ F(x0, y0) ≤ g(y0) (5.1)
Dar conform lemei 3, avem f(x0) ≥ g(y0), şi ca urmare din (5.1) rezultă că
f(x0) = F(x0, y0) = g(y0).
Din
g(y) = inf{F(x,y0), x ∈X} ≤ F(x0, y0) = g(y0),
rezultă y0 soluţie optimă a problemei (P4), iar din
f(x0) = F(x0, y0) ≤ sup{F(x0,y), y ∈Y} = f(y),
rezultă x0 soluţie optimă a problemei (P3).
2 =>>>>1. Pentru orice x ∈ X şi y ∈Y, avem
F(x0, y) ≤ sup{F(x0,u), u ∈Y} = f(x0) = g(y0) = inf{F(t,y0), t ∈X}≤ F(x, y0)
deci
F(x0, y) ≤ F(x, y0) (5.2).
Punând în (5.2) y = y0 obţinem
F(x0, y0) ≤ F(x, y0) (5.3)
pentru orice x∈X. Punând în (5.2) x=x0 obţinem
F(x0, y) ≤ F(x0, y0). (5.4)
Din (5.3) şi (5.4) rezultă că (x0, y0) este punct şa pentru F.
■
Observaţie. Dacă funcţia F din propoziţia anterioară admite un punct şa
atunci problemele P3 şi P4 sunt duale. Teoremele de existenţă a punctului şa se
numesc teoreme minmax.
Mădălina Roxana Buneci
118
VI.1. Dualitate în sens Wolfe
Definiţie 6. Fie X o submulţime convexă deschisă a lui Rn, f:X→ R
diferenţiabilă şi convexă, ϕ = (ϕ1, ..., ϕm): X → Rm diferenţiabilă cu proprietatea că
ϕi:X→R este concavă pentru orice 1≤i≤m şi fie Xϕ = {x∈X: ϕ(x) ≥ 0}. Considerăm
problema de optimizare
( )x Xinf f x
ϕ∈ (P)
şi funcţia Lagrange L:X× m+R →R, definită prin
L(x, u) = f(x) - <u,ϕ(x)>.
Se numeşte duală în sens Wolfe a problemei (P) problema
( )(x,u) Y
sup L x,u∈
(W)
unde
Y = {(x,u) ∈ X× m+R : ∇xL(x,u) = 0}.
(pentru (x*,u*) ∈ X× m+R , ∇xL(x*, u*) reprezintă gradientul funcţiei x → L(x, u*)
calculat in x*).
Lema 7. Fie X o submulţime convexă deschisă a lui Rn, f:X→ R
diferenţiabilă şi convexă, ϕ = (ϕ1, ..., ϕm) : X → Rm diferenţiabilă cu proprietatea că
ϕi:X→R este concavă pentru orice 1≤i≤m şi fie Xϕ = {x∈X: ϕ(x) ≥ 0}. Dacă
L:X× m+R →R, este definită prin L(x, u) = f(x) - <u,ϕ(x)> şi
Y = {(x,u) ∈ X× m+R : ∇xL(x,u) = 0},
atunci
f(x1) ≥ L(x2, u)
pentru orice x1∈Xϕ şi orice (x2, u) ∈Y.
Demonstraţie. În cele ce urmează vom ţine cont că dacă x1∈X şi (x2,u)∈Y,
atunci f fiind convexă,
f(x1) – f(x2) ≥ <∇f(x2), x1-x2>
Optimizări
119
ϕi fiind concavă
ϕi(x1) – ϕi (x
2) ≤ <∇ϕi(x2), x1-x2>
şi deoarece (x2,u)∈Y avem ∇xL(x2,u) = 0 sau echivalent,
∇f(x2) - m
2i i
i 1
u (x )=
∇ϕ∑ = 0.
Ca urmare pentru orice (x2, u) ∈Y şi x1∈X avem
L(x2, u) = f(x2) - <u,ϕ(x2)> = f(x1) + f(x2) – f(x1) - <u,ϕ(x2)>
= f(x1) –( f(x1) – f(x2) )- <u,ϕ(x2)>
f convexa
≤ f(x1) –<∇f(x2), x1 – x2 >- <u,ϕ(x2)>
2(x ,u) Y∈
= f(x1) – <m
2i i
i 1
u (x )=
∇ϕ∑ , x1 – x2 >- <u,ϕ(x2)>
i concavaϕ
≤ f(x1) - m
1 2i i i
i 1
u ( (x ) (x ))=
ϕ − ϕ∑ - <u,ϕ(x2)>
= f(x1) - <u, ϕ(x1)> + <u, ϕ(x2)> - <u,ϕ(x2)>
= f(x1) - <u, ϕ(x1)>
1x X ,u 0ϕ∈ ≥
≤ f(x1).
■
Teorema 8 (teorema directă de dualitate) Fie X o submulţime convexă
deschisă a lui Rn, f:X→ R diferenţiabilă şi convexă şi fie ϕ = (ϕ1, ..., ϕm) : X→Rm
diferenţiabilă cu proprietatea că ϕi:X→R este concavă pentru orice 1≤i≤m.
Presupunem că Xϕ = {x∈X: ϕ(x) ≥ 0} satisface condiţia de regularitate Slater. Dacă
x0 este soluţie optimă a problemei de optimizare
( )x Xinf f x
ϕ∈ (P)
atunci există u0 ∈ m+R astfel încât (x0, u0) să fie soluţie optimă a dualei în sens Wolfe
a problemei (P):
( )(x,u) Y
sup L x,u∈
(W)
şi în plus, f(x0) = L(x0, u0).
Mădălina Roxana Buneci
120
Demonstraţie. Deoarece Xϕ satisface condiţia de regularitate Slater, faptul că
x0 este punct de minim global pentru f pe Xϕ este echivalent cu existenţa unui
u0∈ m+R astfel încât x0 să fie punct de minim în sensul lui Lagrange pentru f pe Xϕ
iar u0 vectorul multiplicatorilor Lagrange. Ca urmare există u0 ≥ 0 astfel încât
∇xL(x0, u0) = 0 (de unde, (x0,u0) ∈Y) şi <ϕ(x0), u0> = 0. În consecinţă,
L(x0, u0) = f(x0) - <ϕ(x0), u0> = f(x0).
Din lema 2 şi lema 7 rezultă că (x0, u0) este soluţie optimă pentru problema duală
(W).
■
Lema 9. Fie X o submulţime convexă deschisă a lui Rn, f:X→ R
diferenţiabilă şi convexă şi fie
X0 = {x∈X: x ≥ 0}.
Atunci x0 ∈ X0 este soluţie optimă pentru problema
( )0x X
inf f x∈
dacă şi numai dacă sunt îndeplinite următoarele condiţii
1. x0 ≥ 0
2. ∇f(x0) ≥ 0
3. <x0, ∇f(x0)> = 0
Demonstraţie. Deoarece X0 satisface condiţia de regularitate Slater, faptul că
x0 este punct de minim global pentru f pe X0 este echivalent cu existenţa unui
u0∈ m+R astfel încât x0 să fie punct de minim în sensul lui Lagrange pentru f pe X0 iar
u0 vectorul multiplicatorilor Lagrange. Prin urmare ∇xL(x0, u0) = 0 şi <x0, u0> =0.
Funcţia Lagrange L:X× m+R →R fiind definită prin
L(x, u) = f(x) - <u,x>,
avem ∇xL(x,u) = ∇f(x) –u pentru orice (x,u) ∈ X× m+R . Aşadar ∇xL(x0, u0) = 0 sau
echivalent ∇f(x0) = u0. În consecinţă, x0 este punct de minim global pentru f pe X0
dacă şi numai dacă x0≥0, ∇f(x0)≥0, <x0, ∇f(x0)> = 0 .
■
Lema 10. Fie X o submulţime deschisă a lui Rn, f:X→ R de clasă C1 şi fie
Optimizări
121
X0 = {x∈X: x ≥ 0}.
Dacă x0 ∈ X0 este soluţie optimă pentru problema
( )0x X
inf f x∈
atunci
1. x0 ≥ 0
2. ∇f(x0) ≥ 0
3. <x0, ∇f(x0)> = 0
Demonstraţie. Pentru funcţia f:X→R o funcţie de clasă C1 şi ϕ : X → Rm cu.
ϕi : X → R, ϕi(x) = x pentru orice 1 ≤ i ≤ m, dacă x0 este punct de minim local al lui
f pe Xϕ = X0 atunci există u0∈R şi u0∈Rm cu (u0, u0) ≠0 astfel încât
1. u0∇f(x0) - m
0 0i i
i 1
u (x )=
∇ϕ∑ = 0
2. u0 ≥ 0 şi u0 ≥ 0
3. 0iu ϕi(x
0) = 0 pentru orice i, 1 ≤ i ≤ m.
Cum ∇ϕi(x) = ei = (0,0, ..., 1, 0, ..0)t al i+lea vector al bazei canonice din Rn,
rezultă că există u0∈R şi u0∈Rm cu (u0, u0) ≠0 astfel încât
1. u0∇f(x0) - m
0 ii
i 1
u e=∑ = 0
2. u0 ≥ 0 şi u0 ≥ 0
3. 0iu 0
ix = 0 pentru orice i, 1 ≤ i ≤ m.
Dacă am avea u0 = 0, atunci ar rezulta m
0i
i 1
u=∑ = 0, şi cum 0
iu ≥ 0 pentru orice i, s-ar
deduce că 0iu = 0 pentru orice i, ceea ce ar contrazice (u0, u
0) ≠0. Aşadar u0 ≠ 0 şi ca
urmare
∇f(x0) = 0m
ii
0i 1
ue
u=∑ ≥ 0.
Ţinând cont de faptul că 0iu 0
ix = 0 pentru orice i, 1 ≤ i ≤ m, obţinem
Mădălina Roxana Buneci
122
<x0, ∇f(x0)> = 0m
0ii
0i 1
ux
u=∑ =
m0 0i i
0 i 1
1u x
u =∑ = 0.
■
Teorema 11 (teorema inversă de dualitate) Fie X o submulţime convexă
deschisă a lui Rn, f : X → R de 2 ori diferenţiabilă şi convexă, fie
ϕ=(ϕ1,...,ϕm):X→Rm de 2 ori diferenţiabilă cu ϕi concavă pentru orice 1 ≤ i ≤ m şi fie
Xϕ = {x∈X: ϕ(x) ≥ 0}. Fie L:X× m+R →R funcţia Lagrange definită prin
L(x, u) = f(x) - <u,ϕ(x)>
şi fie problema
( )(x,u) Y
sup L x,u∈
(W)
unde
Y = {(x,u) ∈ X× m+R : ∇xL(x,u) = 0}.
Dacă (x0, u0) este soluţie optimă pentru problema (W) şi HxL(x0,u0) este nesingulară,
atunci x0 este soluţie optimă pentru problema
( )x Xinf f x
ϕ∈ (P)
şi în plus, f(x0) = L(x0, u0).
Demonstraţie. Deoarece (x0, u0) este soluţie optimă pentru problema (W),
atunci x0∈X, u0 ≥ 0 şi ∇xL(x0, u0) = 0. Ţinând cont că
∇xL(x0, u0) = 0
det(HxL(x0,u0)) ≠ 0
şi aplicând teorema funcţiilor implicite, rezultă că există o vecinătate deschisă V a lui
u0 şi o funcţie diferenţiabilă ζ: V → X0 astfel încât
∇xL(ζ(u), u) = 0
ζ(u0) = x0
pentru orice u ∈V. Deoarece (x0, u0) este soluţie optimă pentru problema (W),
rezultă că u0 este soluţie optimă şi pentru problema
Optimizări
123
( )u V,u 0
sup L (u),u∈ ≥
ζ (11.1)
Notăm g(u) = L (ζ(u), u) pentru orice u∈V şi considerăm problema
( )u V,u 0
inf g u∈ ≥
− (11.2)
Ţinând cont că u0 este soluţie optimă pentru problema (11.2) şi aplicând lema 10
obţinem
1. u0 ≥ 0
2. -∇g(u0) ≥ 0
3. <u0, ∇g(u0)> = 0
Cum
∇g(u) = <∇xL(ζ(u), u), ∇ζ(u)> + ∇uL(ζ(u), u) =<∇xL(ζ(u), u), ∇ζ(u)> - ϕ(ζ(u)),
rezultă că
0 ≥ ∇g(u0) = <∇xL(ζ(u0), u0), ∇ζ(u0)> - ϕ(ζ(u0))
= <∇xL(x0, u0), ∇ζ(u0)> - ϕ(x0)
= <0, ∇ζ(u0)> - ϕ(x0)
= - ϕ(x0)
adică ϕ(x0) ≥ 0. Aşadar x0∈Xϕ. Pe de alta parte
0 = <∇g(u0), u0> = <- ϕ(x0) , u0> = - <- ϕ(x0) , u0>.
Avem L(x0, u0) = f(x0) - <ϕ(x0), u0> = f(x0) şi cum conform lemei 7 problemele (P)
şi (W) verifică prima condiţie din definiţia dualităţii, aplicând lema 2 rezultă că x0
este soluţie optimă a problemei (P).
■
VI.2. Dualitate în sens Lagrange
Definiţie 12. Fie o mulţime X, fie funcţiile f: X → R, ϕ : X → Rm şi fie Xϕ =
{x∈X: ϕ(x) ≥ 0}. Considerăm problema de optimizare
( )x Xinf f x
ϕ∈ (P)
Mădălina Roxana Buneci
124
şi funcţia Lagrange L:X× m+R →R, definită prin
L(x, u) = f(x) - <u,ϕ(x)>.
Notăm g(u) = ( )x Xinf L x, u∈
pentru orice u ∈ m+R . Se numeşte duală în sens
Lagrange a problemei (P) problema
( )m+u
sup g uR∈
(L)
Lema 13. Fie X o mulţime, fie funcţiile f: X → R, ϕ: X → Rm şi fie Xϕ =
{x∈X: ϕ(x) ≥ 0}. Fie L:X× m+R →R, definită prin L(x, u) = f(x) - <u,ϕ(x)> (funcţia
Lagrange) şi fie g(u) = ( )x Xinf L x, u∈
pentru orice u ∈ m+R . Atunci g: m
+R → R este o
funcţie concavă.
Demonstraţie. Fie u1, u2 ∈ m+R şi fie λ∈(0,1). Avem
g(λu1 + (1-λ)u2) = x Xinf∈
L(x, λu1 + (1-λ)u2)
=x Xinf∈
(f(x) - <λu1 + (1-λ)u2, ϕ(x)>)
= x Xinf∈
(f(x) - λ<u1, ϕ(x)> - (1-λ)<u2, ϕ(x)>)
= x Xinf∈
(λf(x) - λ<u1, ϕ(x)> + (1-λ)f(x)- (1-λ)<u2, ϕ(x)>)
≥ x Xinf∈
(λf(x) - λ<u1, ϕ(x)>) + x Xinf∈
((1-λ)f(x)- (1-λ)<u2, ϕ(x)>)
= λx Xinf∈
(f(x) - <u1, ϕ(x)>) + (1-λ)x Xinf∈
f(x) - <u2, ϕ(x)>)
= λg(u1) + (1-λ)g(u2),
de unde rezultă că g este concavă.
■
Observaţie Duala în sens Lagrange
( )m+u
sup g uR∈
(L)
este echivalentă cu
( )m+u
inf g uR∈
−
Optimizări
125
care este o problemă de optimizări convexe (chiar dacă funcţiile f şi ϕ din problema
(P) nu sunt convexe) pentru care este îndeplinită condiţia de regularitate Slater.
Propoziţie 14. Fie X o mulţime, fie funcţiile f: X → R, ϕ: X → Rm şi fie Xϕ
= {x∈X: ϕ(x) ≥ 0}. Fie L:X× m+R →R, definită prin L(x, u) = f(x) - <u,ϕ(x)> (funcţia
Lagrange) şi fie g(u) = ( )x Xinf L x,u∈
pentru orice u ∈ m+R . Atunci problemele
( )x Xinf f x
ϕ∈ (P)
şi
( )m+u
sup g uR∈
(L)
satisfac prima condiţie din definiţia dualităţii.
Demonstraţie. Fie x0∈ Xϕ şi u0≥0. Avem
g(u0) = ( )0
x Xinf L x, u∈
= x Xinf∈
(f(x) - <u0, ϕ(x)>)
≤ f(x0) - <u0, ϕ(x0)>
( )0 0x 0,u 0ϕ ≥ ≥
≤ f(x0)
■
Corolar 15. Cu notaţiile din propoziţia anterioară, dacă există x0∈Xϕ şi u0≥0
astfel încât f(x0) = g(u0), atunci x0 este soluţie optimă a problemei (P), u0 este soluţie
optimă a problemei (L) şi în plus (x0, u0) este punct şa pentru L (în particular, dacă f
şi ϕ sunt diferenţiabile, atunci (x0, u0) este punct KKT pentru problema (P)).
Demonstraţie. Faptul că x0 este soluţie optimă a problemei (P) şi u0 este
soluţie optimă a problemei (L) rezultă din propoziţia 14 şi lema 2.
Avem
f(x0) - <u0, ϕ(x0)> ≥x Xinf∈
(f(x) - <u0, ϕ(x)>) = g(u0) = f(x0),
de unde
- <u0, ϕ(x0)> ≥ 0
şi cum <u0, ϕ(x0)> ≥ 0, rezultă că de fapt
<u0, ϕ(x0)> = 0.
Mădălina Roxana Buneci
126
Pentru orice u≥0 avem
L(x0, u) = f(x0) -<u,ϕ(x0)> ≤f(x0) = f(x0) - <u0, ϕ(x0)> = L(x0, u0). (15.1)
Pentru orice x ∈X avem
L( x , u0) = f( x ) -<u0,ϕ( x )> ≥ x Xinf∈
(f(x) - <u0, ϕ(x)>)
= g(u0) = f(x0) = f(x0) - <u0, ϕ(x0)>
= L(x0, u0). (15.2)
Din (15.1) şi (15.2) rezultă că (x0, u0) este punct şa pentru L.
Dacă f şi ϕ sunt diferenţiabile, atunci deoarece (x0, u0) este punct şa pentru L
rezultă că x0 este punct de minim pentru f pe Xϕ în sensul lui Lagrange, iar u0 este
vectorul multiplicatorilor lui Lagrange, adică (x0, u0) punct KKT pentru problema (P)
(conform propoziţiei 26 din capitolul V „Condiţii de optimalitate – cazul problemelor
de optimizare cu restricţii inegalităţi”).
■
Propoziţie 16. Fie X o mulţime, fie funcţiile f: X → R, ϕ: X → Rm şi fie Xϕ
= {x∈X: ϕ(x) ≥ 0}. Fie L:X× m+R →R, definită prin L(x, u) = f(x) - <u,ϕ(x)> (funcţia
Lagrange) şi fie g(u) = ( )x Xinf L x, u∈
pentru orice u ∈ m+R . Dacă (x0, u0) este punct
şa pentru funcţia Lagrange L, atunci x0 este soluţie optimă a problemei
( )x Xinf f x
ϕ∈ (P)
u0 este soluţie optimă a problemei
( )m+u
sup g uR∈
(L)
şi valorile optime coincid: f(x0) = g(u0).
Demonstraţie. Dacă (x0, u0) este punct şa pentru funcţia Lagrange L, atunci x0
este soluţie optimă a problemei
( )x Xinf f x
ϕ∈ (P)
şi în plus, are loc <ϕ(x0), u0> = 0 (propoziţia 3 din capitolul V „Condiţii de
optimalitate – cazul problemelor de optimizare cu restricţii inegalităţi”).
Optimizări
127
Conform propoziţiei 5, faptul că (x0, u0) este punct şa pentru funcţia Lagrange
L implică u0 soluţie optimă a problemei
( )m+u
sup g uR∈
(L)
Conform propoziţiei 14 avem
g(u0) ≤ f(x0). (16.1)
Pe de altă parte, deoarece u0 este soluţie optimă pentru problema (L) avem
g(u0) ≥ g(0) =x Xinf∈
(f(x) - <0, ϕ(x)>) ≥ x Xinf∈
f(x) = f(x0). (16.2)
Din (16.1) şi (16.2) rezultă că g(u0) = f(x0).
■
Propoziţie 17. Fie V un spaţiu liniar peste K (K= R sau K= C), X o
submulţime convexă a lui V, f:X→R o funcţie convexă şi ϕ= (ϕ1, ϕ2, ..., ϕm) : X →
Rm cu proprietatea că ϕi : X → R este concavă pentru orice 1 ≤ i ≤ m. Presupunem
că Xϕ = {x∈X: ϕ(x) ≥ 0} satisface condiţia de regularitate Slater. Fie L:X× m+R →R,
definită prin L(x, u) = f(x) - <u,ϕ(x)> (funcţia Lagrange) şi fie g(u) = ( )x Xinf L x, u∈
pentru orice u ∈ m+R . Atunci x0∈Xϕ
este soluţie optimă a problemei
( )x Xinf f x
ϕ∈ (P)
dacă şi numai dacă există u0 ≥ 0 soluţie optimă a problemei
( )m+u
sup g uR∈
(L)
şi f(x0) = g(u0).
Demonstraţie. În ipoteza de regularitate Slater existenţa unei soluţii optime x0
pentru problema (P) este echivalentă cu existenţa unui punct şa (x0, u0) pentru funcţia
L (cf. propoziţiilor 3 şi 13 din capitolul V „Condiţii de optimalitate – cazul
problemelor de optimizare cu restricţii inegalităţi”). Concluzia propoziţiei rezultă din
corolarul 15 şi propoziţia 16.
■
Mădălina Roxana Buneci
128
Optimizări
129
VII. Metode numerice de rezolvare a problemelor de
optimizare fără restricţii
Considerăm X o submulţime convexă deschisă a lui Rn , f: X → R o funcţie
convexă diferenţiabilă şi problema de optimizare
x Xinf f (x)∈
(P)
Metodele iterative de rezolvare a problemei constau în construirea unui şir
(xk)k îndeplinind condiţia :
f(xk+1) < f(xk), pentru orice k≥0 (x0 ∈ X dat).
şi având un punct limită un x ∈X care să fie punct staţionar pentru f (cu alte cuvinte
şirul (xk)k are un subşir (k jx )j cu proprietatea că
k j
jlim x→∞
= x ∈X şi ∇f( x ) = 0).
Funcţia f fiind convexă, X fiind deschisă şi ∇f( x ) = 0, rezultă că x este punct de
minim global pentru f pe X (soluţie optimă a problemei studiate). Dacă f nu este
convexă, atunci pentru a asigura că x este punct de minim local (soluţie optimă
locală) ar trebui verificate condiţiile de ordinul 2 (Hf( x ) pozitiv definită).
Metodele iterative de rezolvare a problemelor de optimizare fără restricţii pot fi
clasificate în
- Metode de ordin 0: utilizează doar valorile funcţiei f în punctul xk şi
eventual în câteva puncte vecine (de explorare).
- Metode de ordin 1: necesită calculul valorii funcţiei f precum şi al
gradientului lui f în punctul xk. Aceste metode realizează un compromis
între simplitate (volum de calcul) şi eficienţă, fiind frecvent utilizate în
practică
Mădălina Roxana Buneci
130
- Metode de ordin 2: necesită atât valorile funcţiei f, a gradientului şi
hessianei lui f în punctul xk cât şi inversarea hessianei. Prin compensaţie cu
volumul de calcul aceste metode asigură o viteză de convergenţă
superioară.
- Metode de ordin superior: volum de calcul sporit pentru evaluarea valorile
derivatelor de ordin superior lui 2 ale funcţiei f, fiind rar folosite în
practică
Vom prezenta in continuare metode de ordinul 1 şi 2 denumite metode de căutare
liniară („linesearch methods”). Şirul construit are forma
k kk 1 k k
k k n
t , t 0 pas dedeplasarex x t v
v direcţiededeplasare+ ∈ ≥ →
= + ∈ →
R
R (LS)
f(xk+1) < f(xk), pentru orice k≥0.
Definiţie 1. X o submulţime deschisă a lui Rn , f: X → R o funcţie
diferenţiabilă şi x∈X. Un vector v∈Rn se numeşte direcţie descendentă în x dacă
<v, ∇f(x)> < 0.
Dacă v este direcţie descendentă în x atunci există λ >0 astfel încât pentru
orice t ∈ (0, λ ), f(x + tv) < f(x). Într-adevăr, aplicând formula lui Taylor de ordinul
1, există δ0>0 astfel încât pentru orice δ∈R cu δ< δ0 1
v avem
f(x+ δv) = f(x) + δ<∇f(x),v>v + o(δ), unde ( )
δ 0
o δlim
δ→=0
Există λ >0, λ≤ δ0 astfel încât pentru orice 0 < t < λ , ( )o t
t < - <∇f(x),v>v şi ca
urmare:
f(x+ tv) = f(x) + t(<∇f(x),v>v +( )o t
t) < f(x).
Pe de altă parte dacă pentru orice v∈ Rn avem <v, ∇f(x)> ≥ 0, atunci x este punct de
staţionar pentru f (iar dacă presupunem în plus, f convexă, atunci x este punct de
minim pentru f). Într-adevăr, luând v = -∇f(x), rezultă -<∇f(x), ∇f(x)> ≥ 0 sau
echivalent ∇f(x) = 0.
Optimizări
131
Algoritmul generic pentru construcţia şirului (xk)k care să aibă un punct limită
x ∈X care să fie punct staţionar pentru f este schiţat mai jos.
x0∈X dat
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: *se determină o direcţie de deplasare vk care să fie direcţie
descendentă în xk (dacă nu există o astfel de direcţie atunci STOP, xk este
soluţie optimă – mai precis ∇f(xk) = 0)
pasul 2: *se determină pasul de deplasare tk astfel încât
f(xk + tkvk) < f(xk)
pasul 3: xk+1 = xk + tkvk; k:=k+1;
La ieşire xk cu proprietatea ∇f(xk) = 0 este punct staţionar al lui f. În practică se dă ε
> 0 (precizia cu care se identifică soluţia optimă) iar criteriul de oprire ||∇f(xk)|| ≠0
se înlocuieşte cu una din condiţiile
a. ||∇f(xk)|| < ε (gradientul este „suficient de mic”)
b. ||xk+1 - xk|| < ε (cele două iteraţii succesive sunt „suficient de apropiate”)
c. |f(xk) - f(xk+1)| < ε (micşorarea funcţiei obiectiv „nu este semnificativă”)
unde ||⋅|| este o norma convenabil aleasă. În criteriile de oprire pot fi folosite valori
relative, astfel de exemplu condiţia de la c poate fi înlocuită cu
( ) ( )( )
k k 1
k
f x f x
1 f x
+−
+< ε
În cele ce urmează vom presupune că în etapa k a algoritmului de mai sus a
fost determinată o direcţie de deplasare vk şi rămâne să determinăm pasul de
deplasare tk. Metodele de determinare a pasului tk pot fi clasificate în
1. proceduri de alegere optimală a pasului (algoritmi de căutare liniară
exactă)
2. proceduri de alegere suboptimală a pasului (algoritmi de căutare liniară
inexactă
Mădălina Roxana Buneci
132
VII.1. Proceduri de alegere optimală a pasului
Procedurile de alegere optimală a pasului presupun determinarea lui tk din
condiţia
f(xk+tkvk) =
t 0inf
≥f(xk + tvk)
(adică tk este soluţie optimă a problemei t 0inf
≥f(xk + tvk)). Altfel spus procedurile de
alegere optimală a pasului presupun minimizare funcţiei ϕ: [0, λ )→R, definită prin
ϕ(t) = f(xk+tvk), unde λ este ales astfel încât xk+tvk ∈X pentru orice t∈[0, λ ) (ţinând
cont că xk∈X şi X este o mulţime deschisă, rezultă că există δ>0 astfel încât B(xk,δ)
⊂ X, λ = k
1
vδ îndeplineşte condiţia cerută).
Lema 2. X o mulţime convexă şi f: X → R o funcţie convexă. Atunci funcţia
ϕ: [0, λ )→R, definită prin ϕ(t) = f(xk+tvk), este convexă, unde λ ∈ R este ales astfel
încât xk+tvk ∈X pentru orice t∈[0, λ ).
Demonstraţie. Fie t1, t2 ∈ [0, λ ) şi fie λ∈(0,1). Atunci
ϕ(λt1 + (1-λ)t2) = f(xk + (λt1 + (1-λ)t2)vk) = f(λ(xk + t1v
k)+(1-λ)(xk + t2 vk))
f convexa
≤ λ f(xk + t1vk)+ (1-λ)f(xk + t2 v
k) =λ ϕ(t1) + (1-λ) ϕ(t2).
■
Metodele de explorare directă pentru determinarea unui punct de minim al lui
ϕ constau în identificarea în prealabil a unui interval [a0, b0] care conţine un punct de
minim al lui ϕ.
Lema 3. Fie I un interval de numere reale, ϕ : I → R o funcţie convexă care
admite un punct de minim.
1. Dacă t1, t2, t3 ∈ I, t1 < t2 < t3, astfel încât
ϕ(t1) > ϕ(t2) ≤ ϕ(t3).
atunci există un punct de minim al lui ϕ în intervalul [t1, t3].
2. Dacă I = [a, λ ), λ ∈ R şi t∈ (a, λ ) cu ϕ(t) ≥ ϕ(a), atunci există un punct
de minim al lui ϕ în intervalul [a, t].
Optimizări
133
Demonstraţie. Fie t* un punct de minim al lui ϕ .
1. Presupunem prin absurd t* < t1 sau echivalent t1∈(t*, t2). Atunci există
λ∈(0, 1) astfel încât t1 = λt*+(1-λ)t2 şi ca urmare
ϕ(t1) = ϕ(λt*+(1-λ)t2) ≤ λϕ(t*) + (1-λ)ϕ(t2) ≤ λϕ(t2) + (1-λ)ϕ(t2) = ϕ(t2)
ceea ce contrazice ϕ(t1) > ϕ(t2). Deci t* ≥ t1. Dacă t*≤t3, atunci t*∈[t1, t3]. Dacă t*>t3
sau echivalent t3∈(t2, t*), atunci există λ∈(0, 1) astfel încât t3 = λt2+(1-λ)t* şi ca
urmare
ϕ(t3) = ϕ(λt2+(1-λ)t*) ≤ λϕ(t2) + (1-λ)ϕ(t*) ≤ λϕ(t2) + (1-λ)ϕ(t2) = ϕ(t2) ≤ϕ(t3).
De aici rezultă ϕ(t*) = ϕ(t2), adică t2 este punct de minim pentru ϕ şi în plus t2∈[t1,
t3].
2. Dacă t*≤t, atunci t*∈[a, t]. Dacă t*>a sau echivalent t∈(a t*), atunci există
λ∈(0, 1) astfel încât t= λa+(1-λ)t* şi ca urmare
ϕ(t) = ϕ(λa+(1-λ)t*) ≤ λϕ(a) + (1-λ)ϕ(t*) ≤ λϕ(a) + (1-λ)ϕ(a) = ϕ(a) ≤ϕ(t),
de unde rezultă ϕ(t*) = ϕ(a), adică a este punct de minim pentru ϕ şi în plus a∈[a,t].
■
Algoritm de determinare al a unui interval [a0, b0] care conţine un punct
de minim pentru funcţia convexă ϕϕϕϕ: [a, ∞) →→→→ R (presupunând că ϕϕϕϕ admite un
punct de minim):
ϕ: [a, ∞) → R funcţie convexă
c > 0 dat
t1:=a; t2: = a+c; y1:=ϕ(t1); y2:=ϕ(t2);
dacă y1 ≤ y2, atunci a0 : =t1 şi b0 : = t2
altfel cât timp y1 > y2 execută
y1 : = y2;
t1:=t2; t2:= t2+c;
y2: = ϕ(t2);
a0 : = t1-c; b0 : = t2;
Procedura MAPLE de mai jos are drept parametri funcţia convexă ϕ, a
(capatul inferior al intervalului de definiţie al lui ϕ) şi c>0. Procedura returnează
Mădălina Roxana Buneci
134
intervalul [a0, b0] ce conţine un punct de minim pentru ϕ: [a, ∞) → R (presupunând
că ϕ admite un punct de minim):
> init:=proc(phi,a,c)
> local a0,b0,y1,y2,t1,t2;
> t1:=evalf(a); t2:=evalf(a+c); y1:=phi(t1); y2:=phi(t2);
> if y1<=y2 then a0:=t1; b0:=t2 else
> while y1>y2 do y1:=y2;t1:=t2;t2:=t2+c;y2:=phi(t2) od;
> a0:=t1-c; b0:=t2
> fi;
> RETURN([a0, b0])
> end;
Exemplu 4. Aplicăm această procedură funcţiilor ϕ1: [0, ∞) → R, ϕ1(t) = t2 -
3t+5 şi ϕ2: [-3/4,∞) → R, ϕ2(t) = t – ln(t+1):
> phi1:=t->t^2 -3*t-5;
> phi2:=t->t-ln(t+1);
şi obţinem
> I01:=init(phi1,0,1);
:= I01 [ ],0. 2.
> I02:=init(phi2,-3/4,1);
:= I02 [ ],-0.7500000000 1.250000000
După determinarea unui interval [a0, b0] ce conţine un punct de minim pentru
ϕ: [a, λ )→ R ( λ ∈ R ) prin metodele de explorare directă se urmăreşte reducerea
iterativă a lungimii acestui interval până la atingerea unei precizii impuse ε>0 de
localizare a lui unui punct de minim t*. Cu alte cuvinte se urmăreşte construirea unui
şir de intervale [aj, bj], j≥0 cu proprietatea că jlim→∞
Lj=0, unde Lj = |bj - aj| este
lungimea intervalului [aj, bj] pentru orice j≥0.
Lema 5. Fie I un interval de numere reale, ϕ : I → R o funcţie convexă şi
[a,b] ⊂ I un subinterval ce conţine un punct de minim al lui ϕ . Fie a , b ∈ (a,b) cu
a < b .
1. Dacă ϕ( a ) < ϕ( b ), atunci intervalul [a, b ] conţine un punct de minim
pentru ϕ.
Optimizări
135
2. Dacă ϕ( a ) ≥ ϕ( b ), atunci intervalul [ a ,b] conţine un punct de minim
pentru ϕ.
Demonstraţie. Fie t* un punct de minim al lui ϕ .
1. Presupunem prin absurd t* > b sau echivalent b ∈ ( a ,t*). Atunci există
λ∈(0, 1) astfel încât b = λ a +(1-λ)t* şi ca urmare
ϕ( b ) = ϕ(λ a +(1-λ)t*) ≤ λϕ( a ) + (1-λ)ϕ(t*) ≤ λϕ( a ) + (1-λ)ϕ( a ) = ϕ( a )
ceea ce contrazice ϕ( b ) > ϕ( a ). Deci b ≥ t*.
2. Dacă t* ≥ a , atunci t*∈[ a , b]. Dacă t*< a sau echivalent a ∈(t*, b ),
atunci există λ∈(0, 1) astfel încât a = λt*+(1-λ) b şi ca urmare
ϕ( a ) = ϕ(λt*+(1-λ) b ) ≤ λϕ(t*) + (1-λ)ϕ( b ) ≤
≤ λϕ( b ) + (1-λ)ϕ( b ) = ϕ( b ) ≤ϕ( a ),
de unde rezultă ϕ(t*) = ϕ( b ), adică b este punct de minim pentru ϕ şi în plus
b ∈[ a ,b].
■
Această lemă sugerează următorul algoritm de construcţie a şirului de
intervale [aj,bj], j≥0 cu proprietatea că jlim→∞
|bj - aj| =0 (sau cel puţin, având
proprietatea că dacă precizia ε>0 este fixată există jε cu | jbε
- jaε|< ε) şi astfel încât
fiecare interval [aj,bj] să conţină un punct de minim pentru funcţia convexă ϕ:
ϕ - funcţie convexă
ε > 0 dat – precizia de localizare a unui punct de minim t* al lui ϕ
[a0, b0] – interval iniţial ce conţine un punct de minim al lui ϕ
j: = 0;
cât timp |bj-aj| ≥ ε execută
Pasul 1: *se aleg ja < jb , ja , jb ∈(aj, bj)
Pasul 2: dacă ϕ( ja ) <ϕ( jb ) atunci aj+1 =aj ; bj+1 = jb ;
altfel aj+1 = ja ; bj+1 =bj;
j: = j+1;
t* ≈ (bj +aj)/2
Mădălina Roxana Buneci
136
Eroarea absolută cu care (bj+aj)/2 aproximează t* (punct de minim al lui ϕ)
este cel mult 1
2ε.
Există diverse posibilităţi de alegere a ja , jb ∈(aj, bj) cu ja < jb . De
exemplu putem alege ja = 1
2(aj + bj) - δ şi jb =
1
2(aj + bj) + δ cu δ>0 foarte mic.
Atunci Lj+1 = bj+1 –aj+1 = 1
2(bj –aj) + δ =
1
2Lj + δ pentru orice j ≥ 0. Aşadar Lj =
2j
11
2 −
0
1L
2 − + δ
+L0. Avem jlim→∞
Lj = 2δ. Deci dacă δ < 1
2ε, atunci există jε cu
| jbε
- jaε| = jL
ε < ε. Descriem mai jos algoritmul corespunzător:
ϕ - funcţie convexă
ε > 0 dat – precizia de localizare a unui punct de minim t* al lui ϕ
δ > 0 dat (având proprietatea că δ< ε/2)
[a0, b0] – interval iniţial ce conţine un punct de minim al lui ϕ
a: = a0; b: = b0;
cât timp b – a ≥ ε execută
c: = (a+b)/2;
dacă ϕ(c-δ) < ϕ(c+δ) atunci b: = c+δ
altfel a:= c-δ
t* ≈ (b +a)/2;
Procedura MAPLE dichotomous_search implementează algoritmul de mai
sus. Parametrii procedurii sunt: funcţia convexă ϕ, lista I0 cu capetele a0, b0 ale unui
interval ce conţine un punct de minim pentru ϕ, precizia ε de localizare a unui punct
de minim şi δ. Procedura întoarce o aproximaţie a unui punct de minim al lui ϕ cu
eroare cel mult 1
2ε.
> dichotomous_search:=proc(phi,I0,epsilon,delta)
> local a,b,c;
> a:=evalf(I0[1]);b:=evalf(I0[2]);
> while b-a>=epsilon do
Optimizări
137
> c:=(a+b)/2;
> if evalf(phi(c-delta))<evalf(phi(c+delta))then b:=c+delta
> else a:=c-delta fi;
> od;
> RETURN((a+b)/2)
> end;
Exemplu 6. Aplicăm procedura dichotomous_search funcţiilor ϕ1, respectiv
ϕ2 din exemplul 4 şi intervalelor date de listele I01, respectiv I02 obţinute ca urmare
a aplicării procedurii init (în exemplul 4):
> dichotomous_search(phi1,I01,10^(-5),10^(-5)/4);
1.500046434
> dichotomous_search(phi2,I02,10^(-5),10^(-5)/4);
-0.1282343865 10-5
Există însă o modalitate mai bună de alegere a ja , jb ∈(aj, bj) cu ja < jb
astfel încât la fiecare iteraţie să se facă o singură evaluare a funcţiei ϕ (în loc de două
câte se efectuează în algoritmul precedent).
VII.1.1. Metoda secţiunii de aur
Această metodă este bazată pe aşa numita secţiune de aur (golden section).
Secţiunea de aur a unui segment este o diviziunea a acestuia în două subsegmente
astfel încât raportul dintre lungimea subsegmentului mai lung şi lungimea întregului
segment este egală este egal cu raportul dintre lungimea subsegmentului mai scurt şi
cea a subsegmentului mai lung:
α 1-α
1
Mădălina Roxana Buneci
138
Dacă lungimea segmentului considerat este 1 iar lungimea subsegmentului mai lung
este α, atunci 1
α =
1− αα
, sau echivalent α2 + α - 1 = 0. Singura soluţie a acestei
ecuaţii din intervalul [0, 1] este α = 5 1
2
− ≈ 0.618.
Pentru fiecare j ≥ 0 se aleg ja = aj + (1-α)(bj – aj) iar jb = aj + α(bj – aj).
Dacă ϕ( ja )<ϕ( jb ), atunci aj+1= aj şi bj+1= jb şi ca urmare
j 1b + =aj+1 + α( bj+1 – aj+1) =aj +α2(bj-aj) = aj +(1-α)(bj – aj) = ja .
Legătura dintre cele două iteraţii j şi j+1 este ilustrată mai jos:
Deci la iteraţia j+1 va trebui să evaluăm doar ϕ( j 1a + ) deoarece valoarea lui
ϕ( j 1b + )=ϕ( ja ) este cunoscută de la iteraţia j.
Analog dacă ϕ( ja )≥ϕ( jb ), atunci aj+1= ja şi bj+1=bj şi ca urmare
j 1a + =aj+1 + (1-α)( bj+1 – aj+1) = ja +(1-α)α(bj-aj) =
= aj + (1-α)(bj – aj) +(α-α2)(bj – aj) = aj +(1-α2)(bj – aj) =
= aj +α(bj – aj) = jb .
Cazul ϕ( ja )≥ϕ( jb ):
Iteraţia j
Iteraţia j+1 aj+1 j 1a + j 1b + bj+1
aj ja jb bj
Iteraţia j
Iteraţia j+1 aj+1 j 1a + j 1b + bj+1
aj ja jb bj
Optimizări
139
Ca urmare în acest caz va trebui să evaluăm doar ϕ( j 1b + ) deoarece valoarea lui
ϕ( j 1a + )=ϕ( jb ) este cunoscută de la iteraţia j.
În ambele cazuri avem Lj+1 = bj+1 – aj+1 = α(bj – aj) = αLj pentru orice j ≥ 0.
Aşadar Lj = αjL0 pentru orice j ≥ 0 şi ca urmare jlim→∞
Lj = 0. Numărul de iteraţii
necesare pentru reducerea lungimii intervalului Lj < ε este nε =( )
( )0ln L
ln
ε
α +1.
Descriem mai jos algoritmul corespunzător denumit metoda secţiunii de aur:
ε > 0 dat – precizia de localizare a unui punct de minim t* al lui ϕ
[a0, b0] – interval iniţial ce conţine un punct de minim al lui ϕ
α : = 5 1
2
−
a: = a0; b: = b0; L: = b-a; nmax:=( )
( )ln b a
ln
ε −
α +1
a : = a + (1-α)L; b : = a + αL;
y1:=ϕ( a ); y2: = ϕ( b ); j: = 0;
cât timp j < nmax execută
dacă y1 < y2 atunci b:= b ; L:=b-a; b : = a ; y2:=y1;
a : = a + (1-α)L; y1:=ϕ( a );
altfel a: = a ; L:=b-a; a : = b ; y1:=y2;
b : = a + αL; y1:=ϕ( b );
j: = j +1;
t* ≈ (b +a)/2;
Procedura MAPLE golden_section implementează algoritmul de mai sus.
Parametrii procedurii sunt: funcţia convexă ϕ, lista I0 cu capetele a0, b0 ale unui
interval ce conţine un punct de minim pentru ϕ şi precizia ε de localizare a unui
punct de minim al lui ϕ. Procedura întoarce o aproximaţie a unui punct de minim al
lui ϕ cu eroare cel mult 1
2ε.
> golden_section:=proc(phi,I0,epsilon)
> local alpha,beta,a,b,y1,y2,L,u,v,j,nmax;
Mădălina Roxana Buneci
140
> alpha:=evalf((5^(1/2)-1)/2);beta:=1-alpha;
> a:=evalf(I0[1]);b:=evalf(I0[2]);L:=b-a;
> u:=a+beta*L;v:=a+alpha*L;y1:=phi(u);y2:=phi(v);
> nmax:=ceil(ln(epsilon/L)/ln(alpha));j:=0;
> while j<nmax do
> if y1<y2 then b:=v;L:=b-a;
> y2:=y1;v:=u;u:=a+beta*L;y1:=phi(u)
> else a:=u;L:=b-a;
> y1:=y2;u:=v;v:=a+alpha*L;y2:=phi(v);
> fi;
> j:=j+1
> od;
> RETURN((a+b)/2)
> end;
Exemplu 7. Aplicăm procedura golden_section funcţiilor ϕ1, respectiv ϕ2 din
exemplul 4 şi intervalelor date de listele I01, respectiv I02 obţinute ca urmare a
aplicării procedurii init (în exemplul 4):
> golden_section(phi1,I01,10^(-5));
1.500020428
> golden_section(phi2,I02,10^(-5));
0.00001292625968
Alt grup de metode pentru determinarea unui punct de minim al funcţiei
convexe ϕ se bazează pe echivalenţa: t* punct de minim <=> ′ϕ (t*) = 0. Ca urmare
pentru determinarea lui t* se poate aplica orice metodă de rezolvare a ecuaţiei
(neliniare) ′ϕ (t) = 0. Vom exemplifica cu metoda bisecţiei şi metoda tangentei.
VII.1.2. Metoda bisecţiei
Metoda bisecţiei (metoda înjumătăţirii intervalului) presupune cunoscut un
interval [a0,b0] cu proprietatea că ′ϕ (a0) ′ϕ (b0) < 0. Pentru găsirea rădăcinii ecuaţiei
′ϕ (t) = 0 se micşorează la fiecare pas intervalul în care funcţia ′ϕ îşi schimbă
semnul. Metoda bisecţiei presupune înjumătăţirea la fiecare pas a acestui interval.
Astfel
Optimizări
141
• se determină mijlocul c = 0 0a b
2
+ al intervalului (a0,b0).
• dacă ′ϕ (c) ′ϕ (a0)<0, atunci se continuă algoritmul cu intervalul [a0,c]
• dacă ′ϕ (c) ′ϕ (b0)<0, atunci se continuă algoritmul cu intervalul [c,b0]
• dacă ′ϕ (c) =0 s-a determinat o rădăcină a ecuaţiei ′ϕ (t) = 0.
Se construieşte astfel un şir de intervale [aj, bj], j≥0 cu lungimea lui Lj+1 = bj+1 –aj+1 =
1
2Lj . Deci
jlim→∞
Lj= jj
1lim
2→∞L0 =0. În plus, fiecare din aceste intervale conţine o soluţie
a ecuaţiei ′ϕ (t) = 0. Presupunând că se dă o precizie ε>0, considerăm că mijlocul
intervalului [aj, bj] este o aproximaţie satisfăcătoare a soluţiei ecuaţiei ′ϕ (t) = 0 dacă
Lj = bj –aj < ε. Numărul de iteraţii necesare pentru ca Lj < ε este nε =( )
( )0ln L
ln 2
ε
+1.
ϕ convexă derivabilă
[a0,b0] cu ′ϕ (a0) ′ϕ (b0) < 0
ε > 0 dat – precizia de localizare a unui punct de minim t* al lui ϕ (sau
echivalent punct staţionar al lui ϕ)
a: = a0; b:=b0; nmax:=( )
( )ln b a
ln 2
− ε
+1; j: = 0;
cât timp j < nmax execută
c: =2
ba + ;
dacă ′ϕ (c) = 0 atunci a :=c; b:=c; j: = nmax+1;
altfel dacă ′ϕ (c) ′ϕ (a)<0 atunci b : = c; altfel a : = c;
j: = j+1;
t* ≈2
ba +
La ieşire c=2
ba + este o aproximaţie a unei rădăcini t* ∈(a0,b0) a ecuaţiei ′ϕ (t) = 0 cu
eroarea absolută |t*-c| < 2
ε.
Procedura MAPLE bisection implementează algoritmul de mai sus.
Parametrii procedurii sunt: funcţia convexă ϕ, lista I0 cu punctele a0, b0 cu
Mădălina Roxana Buneci
142
proprietatea că ′ϕ (a0) ′ϕ (b0) < 0 şi precizia ε de localizare a unui punct de minim al
lui ϕ. Procedura întoarce o aproximaţie a unui punct staţionar (sau echivalent punct
de minim) al lui ϕ cu eroare cel mult 1
2ε.
> bisection:=proc(phi,I0,epsilon)
> local c,a,b,d,j,nmax;
> a:=evalf(I0[1]);b:=evalf(I0[2]);d:=D(phi);
> nmax:=ceil(ln(abs((b-a)/epsilon))/ln(2)); j:=0;
> while j<nmax do
> c:=(a+b)/2;
> if d(c)=0 then a:=c;b:=c;j:=nmax+1 else
> if evalf(d(c)*d(a))<0 then b:=c else a:=c fi fi;
> j:=j+1 od;
> c:=(a+b)/2;
> RETURN(c)
> end;
Exemplu 8. Aplicăm procedura bisection funcţiilor ϕ1, respectiv ϕ2 din
exemplul 4 şi intervalelor date de listele I01, respectiv I02 obţinute ca urmare a
aplicării procedurii init (în exemplul 4):
> evalf(D(phi1)(I01[1])*D(phi1)(I01[2]));
-3.
> bisection(phi1,I01,10^(-5));
1.500000000
> evalf(D(phi2)(I02[1])*D(phi2)(I02[2]));
-1.666666667
> bisection(phi2,I02,10^(-5));
0.
VII.1.3. Metoda tangentei (metoda lui Newton)
Prin metoda tangentei (metoda lui Newton) se determină o rădăcină a unei
ecuaţii h(t) = 0 ca limita unui şir. Se pleacă de la un punct t0 dat. Presupunând că s-a
construit termenul tj-1, termenul tj se determină ca fiind abscisa intersecţiei dintre
tangenta la graficul funcţiei h în tj-1 şi axa absciselor.
Optimizări
143
Presupunem că funcţia h: [a0, b0] → R este de 2 ori derivabilă şi că h′ nu se
anulează. Ecuaţia tangentei în tn-1 fiind:
y – h(tj-1) = h′ (xj-1)(x – xj-1)
rezultă (luând y = 0)
tj = tj-1 - ( )( )
j 1
j 1
h t
h t
−
−′.
Convergenţa şirului este determinată de termenul iniţial t0. Mai precis dacă t0 se află
într-o vecinătate suficient de mică a soluţiei t* a ecuaţiei h(t) = 0, atunci şirul (tj)j
converge la t*. Mai mult, avem
|t* - tj| ≤ ( )22
j j 11
Mt t
2m −−
unde m1 = [ ]
( )0 0t a ,b
h tinf∈
′ şi M2 = ( )0 0t [a ,b ]
h tsup∈
′′ .
Pentru rezolvarea ecuaţiei ′ϕ (t) = 0, şirul corespunzător metodei tangentei
este definit prin:
tj = tj-1 - ( )( )
j 1
j 1
t
t
−
−
′ϕ
′′ϕ, t0 dat
iar algoritmul corespunzător:
ϕ strict convexă de clasă C2
t00– dat (punct iniţial)
ε > 0 dat – precizia de localizare a unui punct de minim t* al lui ϕ (sau
echivalent punct staţionar al lui ϕ)
t0 : = t00;
tj tj-1
Mădălina Roxana Buneci
144
t1: = t0 - ( )( )
0
0
t
t
′ϕ′′ϕ
;
cât timp |t1 – t0 |2 ≥ ε execută
t0 := t1;
t1 : = t0 - ( )( )
0
0
t
t
′ϕ′′ϕ
;
La ieşire t1 este o aproximaţie a unei rădăcini t* a ecuaţiei ′ϕ (t) = 0 cu eroarea
absolută mai mică decât ε. Prezentăm în continuare o variantă a acestui algoritm
pentru cazul în care şirul construit nu converge. Introducem ca dată suplimentară de
intrare numărul maxim de termeni din şir ce urmează a fi calculaţi (Nmax) şi afişăm
termenul şirului corespunzător fiecărei iteraţii. Condiţia de oprire se transformă
| tj - tj-1 |2 < ε sau n > Nmax
t0 : = t00;
t1: = t0 - ( )( )
0
0
t
t
′ϕ′′ϕ
;
j:=1;
cât timp (|t1 – t0 |2 ≥ ε) şi (j ≤ Nmax) execută
t0 := t1;
t1 : = t0 - ( )( )
0
0
t
t
′ϕ′′ϕ
;
j: = j+1;
afişează t1;
Trebuie verificat la ieşirea din ciclu dacă ′ϕ (t1) ≅ 0. Dacă problema este bine
condiţionată (adică ( )*
1
t′′ϕ mic), aceasta condiţie va asigura acurateţea aproximaţiei.
Procedurile MAPLE corespunzătoare sunt prezentate mai jos:
> newton1:=proc(phi,t00,epsilon)
> local t0,t1,d1,d2;
> d1:=D(phi); d2:=D(d1);t0:=evalf(t00);t1:=t0-d1(t0)/d2(t0);
> while ((t1-t0)^2)>=epsilon do
> t0:=t1;t1:=t0-d1(t0)/d2(t0) od;
> RETURN(t1)
Optimizări
145
> end;
> newton1_:=proc(phi,t00,epsilon,Nmax)
> local t0,t1,d1,d2,j;
> d1:=D(phi); d2:=D(d1);t0:=evalf(t00);t1:=t0-d1(t0)/d2(t0); j:=1;
> while (((t1-t0)^2)>=epsilon) and (j<=Nmax) do
> t0:=t1;t1:=t0-d1(t0)/d2(t0); j:=j+1;
> print(t1)
>od;
> RETURN(t1)
> end;
Exemplu 9. Aplicăm procedura newton1 funcţiei ϕ1 din exemplul 4 cu
punctele iniţiale t0=0, respectiv t0 = 2 :
> newton1(phi1,0,10^(-5));
1.500000000
> newton1(phi1,2,10^(-5));
1.500000000
şi funcţiei ϕ2 din exemplul 4 cu punctele iniţiale t0=0.7, respectiv t0 = -0.7 :
> newton1(phi2,0.7,10^(-5));
-0.7398 10-10
> newton1(phi2,-0.7,10^(-5));
-0.7398 10-10
Aplicăm procedura newton1_ funcţiei ϕ1 cu punctele iniţiale t0=10 (număr
maxim de iteraţii 1) , respectiv t0 = 2 (număr maxim de iteraţii 1) :
> newton1_(phi1,10,10^(-5), 1);
1.500000000
1.500000000
> newton1_(phi1,-30,10^(-5),1);
1.50000000
1.50000000
precum şi funcţiei ϕ2 cu punctele iniţiale: t0=0.7 (număr maxim de iteraţii 5), t0= -0.7
(număr maxim de iteraţii 5) , t0=1.25 (număr maxim de iteraţii 5) , respectiv t0= 1.05
(număr maxim de iteraţii 5):
Mădălina Roxana Buneci
146
> newton1_(phi2,0.7,10^(-5),5);
-0.2400999999
-0.0576480102
-0.00332329345
-0.000011044830
-0.7398 10-10
-0.7398 10-10
> newton1_(phi2,-0.7,10^(-5), 5);
-0.2400999999
-0.0576480102
-0.00332329345
-0.000011044830
-0.7398 10-10
-0.7398 10-10
> newton1_(phi2,1.25,10^(-5),5);
-2.441406250
-5.960464478
-35.52713679
-1262.177449
-0.1593091913 107
-0.1593091913 107
> newton1_(phi2,1.05,10^(-5), 5);
-1.215506252
-1.477455449
-2.182874604
-4.764941536
-22.70466784
-22.70466784
Se observă că pentru punctele iniţiale t0 =1.25 şi t0 = 1.05 şirul construit prin metoda
lui Newton nu converge la punctul staţionar al funcţiei ϕ.
Optimizări
147
VII.2. Proceduri de alegere suboptimală a pasului
Procedurile de alegere suboptimală a pasului presupun determinarea pasului
tk din condiţia realizării unei reduceri semnificative (dar nu neapărat optimale) a
funcţiei f în direcţia vk (vk direcţie descendentă în xk) :
f(xk + tkvk) < f(xk)
Aşa cum am arătat mai înainte dacă f este diferenţiabilă şi vk este o direcţie
descendentă în xk, atunci există kλ >0 astfel încât pentru orice t ∈ (0, kλ )
f(xk + tvk) < f(xk).
Deci orice valoare tk∈(0, kλ ) satisface f(xk + tkvk) < f(xk). Să observăm însă în
exemplul următor ce se întâmplă dacă valorile tk sunt prea mici. Fie f : R → R, f(x) =
x2, x0 = 2, vk = -1, tk = k 1
1
2 + , xk+1 = xk + tkvk pentru orice k ≥ 0.
Deoarece paşii de deplasare tk sunt prea mici şirul construit xk = 2 - k
jj 1
1
2=∑ converge
la 1 şi nu la punctul de minim x =0 al funcţiei f. Algoritmul de alegere a lui tk
prezentat mai jos previne situaţia în care pasul tk ar deveni „prea mic”.
tinit > 0 – valoare iniţială dată (de exemplu, tinit = 1 dacă domeniul de definiţie
al lui f este Rn)
β ∈ (0, 1) – dat (de exemplu, β = 1
2)
t: = tinit
cât timp f(xk+tvk) ≥ f(xk) execută
t : = t * β;
(x0, f(x0))
(x1, f(x1))
(x2, f(x2))
Mădălina Roxana Buneci
148
tk : = t;
Ca urmare tk va lua cea ai mare valoare dintre cele de forma tinitβj, j = 0,1,... care
îndeplineşte condiţia f(xk+tinitβjvk) < f(xk).
Pe de altă parte nici situaţia în care tk este „prea mare relativ la descreşterea
lui f” nu convine după cum rezultă din exemplul următor. Fie f:R→R, f(x) = x2, x0 =
2, vk = (-1)k+1, tk = 2+k 1
3
2 + , xk+1 = xk + tkvk pentru orice k ≥ 0.
În acest exemplu paşi tk sunt prea mari relativ la valorile cu care descreşte f, iar
termenii xk = (-1)k + k
1
2 −
oscilează de o parte şi cealaltă a minimului. Şirul (xk)k
are două subşiruri convergente la 1 şi respectiv -1, fără ca vreunul din punctele -1 sau
1 să fie punct de minim pentru f. Pentru a preveni această situaţie se impune o
condiţie mai tare decât simpla descreştere f(xk + tkvk) < f(xk), şi anume:
f(xk + tkvk) ≤ f(xk) + tkδ<∇f(xk), vk> (10)
unde δ ∈ (0, 1). Condiţia (10) poartă denumirea de condiţia lui Armijo.
Algoritmul backtracking – Armijo (de căutare liniară) pentru determinarea
lui tk este redat mai jos:
tinit > 0 – valoare iniţială dată (de exemplu, tinit = 1)
β ∈ (0, 1) – dat (de exemplu, β = 1
2)
δ ∈ (0, 1) - dat (de exemplu, δ = 0.1 sau 10-4)
t: = tinit;
(x0, f(x0))
(x1, f(x1))
(x2, f(x2))
(x3, f(x3)) (x4, f(x4))
Optimizări
149
cât timp f(xk+tvk) > f(xk) + tkδ<∇f(xk), vk> execută
t : = t * β;
tk : = t;
Procedura MAPLE suboptimal are drept parametri funcţia f, punctul xk, direcţia
descendentă vk, şi valorile tinit, β şi δ. Procedura întoarce pasul tk astfel încât condiţia
Armijo să fie verificată.
> suboptimal:=proc(f,xk,vk,tinit,beta,delta)
> local yk, tk,n,g,gk,xk1;
> n:=vectdim(xk);
>g:=grad(f(seq(x[i],i=1..n)),vector([seq(x[i],i=1..n)]));
>gk:=vector([seq(subs(seq(x[i]=xk[i], i=1..n),g[j]),j=1..n)]);
>yk:=evalf(f(seq(xk[i],i=1..n)));
>tk:=evalf(tinit);xk1:=vector(n);xk1:=evalm(xk+tk*vk);
> while f(seq(xk1[i],i=1..n))>yk+tk*delta*sum(gk[i]*vk[i],i=1..n)
> do tk:=tk*beta; xk1:=evalm(xk+tk*vk)
> od;
> RETURN(tk)
> end;
Aplicând această procedură funcţiei f1 : R2 → R, definită prin
f1(x,y) = 3x2+2y2 -2xy -4x +2y -3
> f1:=(x,y)->3*x^2+2*y^2-2*x*y-4*x+2*y-3;
:= f1 → ( ),x y + − − + − 3 x2 2 y2 2 x y 4 x 2 y 3
şi punctului xk = [0,0], direcţiei vk = [1,-1] şi luând tinit = 1, β = 0.5 şi δ =0.1
(respectiv δ = 0.45) obţinem:
> suboptimal(f1,vector([0,0]),vector([1,-1]),1,0.5,0.1);
0.5
> suboptimal(f1,vector([0,0]),vector([1,-1]),1,0.5,0.45);
0.25
Rămâne să arătăm că algoritmul de determinare a lui tk se termină într-un
număr finit de paşi şi că valoarea lui tk nu „devine prea mică”. În plus vom studia
convergenţa şirului construit (xk)k. Vom presupune că gradientul funcţiei f este o
funcţie Lipschitz continuă.
Mădălina Roxana Buneci
150
Definiţie 11. Fie V şi W două spaţii normate şi X ⊂ V o submulţime. Funcţia
F:X→W se numeşte Lipschitz continuă pe X dacă există o constantă γ>0 (numită
constanta Lipschitz) astfel încât pentru orice x,y ∈X să avem:
||F(y) – F(x)|| ≤ γ||y-x||.
Este uşor de observat că orice Lipschitz continuă pe X este uniform continuă
pe X (în particular, continuă pe X).
Restricţia oricărei funcţii de clasă C1 la o mulţime compactă K este Lipschitz
continuă pe K (rezultă din teorema creşterilor finite).
Observaţie 12. Pentru funcţii având diferenţiale de ordinul 1, respectiv de
ordinul 2, Lipschitz continue sunt valabile următoarele formule Taylor:
• Presupunem că: X este o submulţime deschisă a lui Rn, f:X → R o funcţie de
clasă C1, ∇f Lipschitz continuă (cu constanta Lipschitz γL), x0∈X, h∈Rn cu
proprietatea că x0+λh∈X pentru orice λ ∈[0, 1] . Atunci
|f(x0 + h) - f(x0) - <∇f(x0), h>| ≤ 1
2γL||h||2
• Presupunem că: X o este o submulţime deschisă a lui Rn, f:X → R o funcţie
de clasă C2, Hf Lipschitz continuă (cu constanta Lipschitz γP), x0∈X, h∈Rn
cu proprietatea că x0+λh∈X pentru orice λ ∈[0, 1]. Atunci
|f(x0 + h) - f(x0) - <∇f(x0), h> -1
2<Hf(x0)h, h>| ≤
1
6γP||h||3
Teoremă 13. Fie X o submulţime deschisă a lui Rn, f: X→R o funcţie de
clasă C1 având gradientul ∇f Lipschitz continuu cu constanta Lipschitz γ şi fie x∈X.
Dacă δ∈(0, 1) şi v este o direcţie descendentă în x, atunci condiţia Armijo este
satisfăcută pentru orice t ∈[0, ( )x,vλ ], unde
( )x,vλ = ( ) ( )
2
2 1 v, f x
v
δ − < ∇ >
γ
(norma considerată fiind ||⋅||2).
Demonstraţie. Fie t∈∈[0, ( )x,vλ ]. Deoarece
f(x+ tv) - f(x) - t<∇f(x), v> ≤ |f(x+ tv) - f(x) - t<∇f(x), v>| ≤ 1
2γt2||v||2
Optimizări
151
rezultă că
f(x+tv) ≤ f(x) + t<∇f(x), v> + 1
2γt2||v||2
≤ f(x) + t<∇f(x), v> + 1
2γt
( ) ( )2
2 1 v, f x
v
δ − < ∇ >
γ||v||2
= f(x) + t<∇f(x), v> + t(δ-1) <v, ∇f(x)>
= f(x) + δt<v, ∇f(x)>
■
Corolar 14. Fie f: Rn →R o funcţie de clasă C1 având gradientul ∇f Lipschitz
continuu cu constanta Lipschitz γ şi fie xk∈X. Dacă β∈(0, 1), δ∈(0,1) şi vk este o
direcţie descendentă în xK, atunci pasul tk generat de algoritmul backtracking-Armijo
satisface condiţia
tk ≥ ( ) ( )k k
init 2k
2 1 v , f xmin t ,
v
β δ − < ∇ >
γ
(norma considerată fiind ||⋅||2).
Demonstraţie. Există două posibilităţi
1. tinit satisface condiţia Armijo şi atunci tk = tinit.
2. tinit nu satisface condiţia Armijo şi atunci tk este de forma tinitβi cu i∈N*. Fie
j cel mai mare număr natural cu proprietatea că
tinitβj > ( ) ( )k k
2k
2 1 v , f x
v
δ − < ∇ >
γ. (14.1)
Atunci
tinitβj+1 ≤ ( ) ( )k k
2k
2 1 v , f x
v
δ − < ∇ >
γ
şi conform teoremei precedente tinitβj+1 satisface condiţia Armijo. Aşadar
tk ≥ tinitβj+1 = β tinitβj ( )>
14.1
( ) ( )k k
2k
2 1 v , f x
v
β δ − < ∇ >
γ.
Mădălina Roxana Buneci
152
În consecinţă, în ambele cauze tk ≥ ( ) ( )k k
init 2k
2 1 v , f xmin t ,
v
β δ − < ∇ >
γ
.
■
Teoremă 15 (convergenţa algoritmilor de căutare liniară inexactă în
cazul generării pasului de deplasare prin algoritmul backtracking-Armijo). Fie
f: Rn → R o funcţie de clasă C1 având gradientul ∇f Lipschitz continuu i fie x0∈X.
Se construieşte şirul definit prin
xk+1 = xk + tkvk, k≥0
unde vk este o direcţie descendentă în xk, iar tk este pasul de deplasare obţinut
aplicând algoritmul backtracking-Armijo. Atunci are loc una din următoarele trei
situaţii:
1. ∇f(xk) = 0 pentru un anumit k ≥ 0
2. ( )k
kinf f x = - ∞
3. ( ) ( )k k
k k
kk
v , f xlim min v , f x ,
v→∞
< ∇ > < ∇ >
= 0
(norma considerată fiind ||⋅||2).
Demonstraţie. Presupunem că ( )k
kinf f x >-∞ şi că ∇f(xk)≠0 pentru orice k≥0.
Din condiţia Armijo rezultă că pentru orice k ≥ 0
f(xk + tkvk) ≤ f(xk) + tkδ<∇f(xk), vk>
f(xk+1) - f(xk) ≤ tkδ<∇f(xk), vk>
f(xk) - f(xk+1) ≥ - tkδ<∇f(xk), vk>.
Sumând după k se obţine
f(x0) - f(xj+1) ≥ ( )j
k kk
k 0
t v , f x=
− δ < ∇ >∑ .
Cu alte cuvinte şirul sumelor parţiale ale seriei cu termeni pozitivi
( )k kk
k 0
t v , f x∞
=
− δ < ∇ >∑ este mărginit, deci seria este convergentă şi ca urmare
termenul ei general converge la zero:
Optimizări
153
klim
→∞tk<∇f(xk), vk> = 0. (15.1)
Fie γ constanta Lipschitz asociată gradientului ∇f. Notăm
K1 = ( ) ( )k k
init 2k
2 1 v , f xk, t
v
β δ − < ∇ > > γ
K2 = ( ) ( )k k
init 2k
2 1 v , f xk, t
v
β δ − < ∇ > ≤ γ
.
Ţinând cont de corolarul 14, rezultă că pentru orice k ∈ K1 avem
tk ≥ ( ) ( )k k
2k
2 1 v , f x
v
β δ − < ∇ >
γ
( ) ( )k kkv , f x t
2 1
−γ< ∇ >
β − δ ≥
( ) 2k k
k
v , f x
v
< ∇ >
( ) ( )k k
kv , f x t2 1
−γ< ∇ >
β − δ ≥
( )k k
k
v , f x
v
< ∇ > (15.2)
Pentru orice k∈K2 avem tk ≥ tinit şi ca urmare
|<∇f(xk), vk>| = ( )k k
k
k
v , f x t
t
< ∇ >≤
( )k kk
init
v , f x t
t
< ∇ > (15.3).
Din (15.2) şi (15.3) rezultă că
0≤ ( ) ( )k k
k k
k
v , f xmin v , f x ,
v
< ∇ > < ∇ >
≤ ( ) ( ) ( )k k
kk kk
init
v , f x tmin v , f x t ,
2 1 t
< ∇ >−γ < ∇ > β − δ
.
Dar din (15.1) rezultă că
( ) ( ) ( )k kkk k
kkinit
v , f x tlim min v , f x t ,
2 1 t→∞
< ∇ >−γ < ∇ > β − δ
= 0
Mădălina Roxana Buneci
154
şi ca urmare ( ) ( )k k
k k
kk
v , f xlim min v , f x ,
v→∞
< ∇ > < ∇ >
= 0
■
Observaţie 16. După cum rezultă teorema anterioară algoritmul
backtracking-Armijo (prin care tk este cel mai mare număr de forma tinitβi (cu i∈N)
care satisface condiţia Armijo) asigură convergenţa metodelor de căutare liniară
inexactă, dacă se impun condiţii suplimentare asupra lui f (f să fie mărginită inferior)
şi asupra direcţiei vk astfel încât din condiţia 3 a teoremei 15 să rezulte convergenţa
la 0 a şirului (∇f(xk))k sau măcar a unui subşir al acestuia. Există însă şi alte
modalităţi pentru a evita ca tk să devină prea mic sau prea mare (relativ la
descreşterea lui f) .
Se spune că tk satisface condiţiile Wolfe dacă
f(xk + tkvk) ≤ f(xk) + tkδ1<∇f(xk), vk> (17a)
<∇f(xk + tkvk), vk> ≥ δ2<∇f(xk), vk> (17b)
cu 0 < δ1 < δ2 < 1 (de exemplu, δ1 = 10-4 şi δ2 = 0.9 dacă direcţia vk este aleasă printr-
o metodă de tip Newton sau δ2 = 0.1 dacă direcţia vk este aleasă prin metoda de
gradientului conjugat).
Se spune că tk satisface condiţiile Wolfe în sens tare dacă
f(xk + tkvk) ≤ f(xk) + tkδ1<∇f(xk), vk> (18a)
|<∇f(xk + tkvk), vk>| ≤ δ2|<∇f(xk), vk>| (18b)
cu 0 < δ1 < δ2 < 1.
Se spune că tk satisface condiţiile Goldstein dacă
f(xk) + tk(1-δ)<∇f(xk), vk> ≤ f(xk + tkvk) ≤ f(xk) + tkδ<∇f(xk), vk> (19)
cu 0 < δ < 1
2. Un dezavantaj al condiţiilor lui Goldstein relativ la condiţiile Wolfe
este acela că prima dintre inegalităţi poate exclude toate punctele de minim ale
funcţiei ϕ (ϕ(t) = f(xk + tvk)). Condiţiile Goldstein se utilizează în cazul metodei
Newton, dar nu sunt potrivite pentru metodele cvasi-Newton. De asemenea
algoritmul backtracking-Armijo este foarte potrivit metodei Newton, dar mai puţin
potrivit metodele cvasi-Newton sau de gradient conjugat (ce vor fi descrise în
subcapitolul următor).
Optimizări
155
Ca şi în cazul algoritmului backtracking-Armijo, condiţiile Wolfe nu sunt
suficiente pentru a asigura convergenţa indiferent de alegerea direcţiilor vk.
Următoarea teoremă datorată lui Zoutendijk stă la baza rezultatelor privind
convergenţa diverselor metode în care paşii de deplasare satisfac condiţiile Wolfe.
Teoremă 20 (convergenţa algoritmilor de căutare liniară inexactă în
cazul în care pasul de deplasare satisface condiţiile Wolfe) Fie f:Rn→R o funcţie
de clasă C1 având gradientul ∇f Lipschitz continuu cu constanta Lipschitz γ şi fie
x0∈X. Se construieşte şirul definit prin
xk+1 = xk + tkvk, k≥0
unde vk este o direcţie descendentă în xk, iar pasul de deplasare tk îndeplineşte
condiţiile Wolfe (17a, 17b) pentru orice k≥0. Atunci are loc una din următoarele trei
situaţii:
1. ∇f(xk) = 0 pentru un anumit k ≥ 0
2. ( )k
kinf f x = - ∞
3. Seria
( ) ( )2
2 kk
k 0
cos f x≥
θ ∇∑
este convergentă. În particular, klim
→∞( ) ( ) 2
2 kkcos f xθ ∇ =0, unde
cos(θk) = ( )
( )k k
k k
f x ,v
f x v
− < ∇ >
∇.
Demonstraţie. Presupunem că ( )k
kinf f x >-∞ şi că ∇f(xk)≠0 pentru orice k≥0.
Datorită condiţiilor Wolfe, mai precis, din (17b) rezultă că
<∇f(xk + tkvk) - ∇f(xk), vk> ≥ (δ2-1) <∇f(xk), vk> (20.1)
Din faptul că ∇f este Lipschitz continuă, rezultă că
||∇f(xk + tkvk) - ∇f(xk)|| ≤ γtk||vk||
de unde,
<∇f(xk + tkvk) - ∇f(xk), vk> ≤ γtk||vk||2. (20.2)
Din (20.1) şi din (20.2) obţinem inegalitatea
Mădălina Roxana Buneci
156
tk ≥ 2 1δ −γ
( )k k
2k
f x ,v
v
< ∇ >,
şi folosind prima condiţie Wolfe (17a) rezultă mai departe
f(xk + tkvk) ≤ f(xk) + 2 1δ −
γ
( )( )2k k
2k
f x ,v
v
< ∇ >δ1
Dacă notăm c = 21
1− δδ
γ şi ţinem cont că xk + tkv
k = xk+1 obţinem
f(xk+1) ≤ f(xk) - c( )( )2
k k
2k
f x ,v
v
< ∇ >
iar sumând după k şi ţinând seama că cos(θk) = ( )
( )k k
k k
f x ,v
f x v
− < ∇ >
∇, rezultă
f(xk+1) ≤ f(x0) - c ( ) ( )2k
2 jj
j 0
cos f x=
θ ∇∑
( ) ( )2k
2 jj
j 0
cos f x=
θ ∇∑ ≤ 1
c(f(x0) - f(xk+1))
Cu alte cuvinte şirul sumelor parţiale ale seriei cu termeni pozitivi
( ) ( )2
2 kk
k 0
cos f x≥
θ ∇∑ este mărginit, deci seria este convergentă şi ca urmare
termenul ei general converge la zero: klim
→∞( ) ( ) 2
2 kkcos f xθ ∇ =0.
■
Observaţie 21. Rezultate similare teoremei precedente se obţin în cazul în
care pasul tk satisface condiţiile Goldstein pentru orice k ≥ 0 sau condiţiile Wolfe în
sens tare pentru orice k ≥ 0. Şi în cazul acestor strategii dacă f este mărginită inferior,
fie ∇f(xk) = 0 pentru un anumit k, fie este îndeplinită condiţia
seria ( ) ( )2
2 kk
k 0
cos f x≥
θ ∇∑ convergentă (22)
numită condiţia Zoutendijk.
Observaţie 23. Încheiem acest subcapitol cu un comentariu asupra alegerii
lui tinit (prima încercare pentru determinarea pasului tk). Indiferent de strategie
Optimizări
157
(backtracking-Armijo, Wolfe (sau Wolfe în sens tare), Goldstein), dacă metoda de
determinare a direcţiei este de tip Newton sau cvasi-Newton, atunci tinit = 1. În cazul
metodelor gradientului sau gradientului conjugat este important ca la fiecare pas să
se ţină cont de informaţia curentă. Astfel tinit la pasul k (adică cel folosit pentru
determinarea lui tk) poate fi luat
tk-1 ( )
( )k 1 k 1
k k
f x ,v
f x ,v
− −< ∇ >
< ∇ > sau
( ) ( )( )( )
k k 1
k 1 k 1
2 f x f x
f x ,v
−
− −
−
< ∇ >.
VII.3. Proceduri de alegere a direcţiei
Reamintim că metodele căutare liniară pentru rezolvarea (numerică) a
problemei de optimizare
x Xinf f (x)∈
constau în construirea unui şir (xk)k de forma
k kk 1 k k
k k n
t , t 0 pas dedeplasarex x t v
v direcţiededeplasare+ ∈ ≥ →
= + ∈ →
R
R (LS)
cu x0 ∈ X dat. Şirul (xk)k trebuie să verifice condiţia :
f(xk+1) < f(xk), pentru orice k≥0.
şi să aibă un punct limită un x ∈X care să fie punct staţionar pentru f. În general, în
funcţie de ordinul (I sau II) al metodei de căutare liniară folosită, alegerea unei
direcţii de deplasare vk se face pe baza unor prescripţii generale justificate apriori în
cazul pătratic (cazul în care funcţia obiectiv f:Rn→R este de forma f(x) = 1
2<x,Cx>
+ <x, d> cu C∈Mn,n(R) o matrice simetrică şi d∈Rn un vector fixat; în această
situaţie funcţia f este convexă dacă şi numai dacă C este pozitiv definită) şi
fundamentate pe baza analizei convergenţei şi caracteristicilor numerice ale
algoritmului rezultat.
Mădălina Roxana Buneci
158
VII.3.1. Metoda gradientului (metoda celei mai rapide descreşteri)
Metoda gradientului presupune alegerea drept direcţie de deplasare pentru
construcţia termenului xk+1 = xk + tkvk a vectorului vk = - ∇f(xk) pentru orice k ≥ 0.
Evident dacă ∇f(xk) ≠ 0, atunci vk = - ∇f(xk) este direcţie descendentă în xk, deoarece
<vk, ∇f(xk)> = - <∇f(xk), ∇f(xk)> = - ||∇f(xk)||2 < 0.
(iar în cazul în care ∇f(xk) = 0, algoritmul se opreşte deoarece s-a identificat un punct
staţionar al lui f, x = xk).
Să observăm că viteza de variaţie a unei funcţii diferenţiabile f în xk, într-o
direcţie v cu ||v|| = ||∇f(xk)|| ≠ 0 este dată de derivata în xk după direcţia v, adică
t 0lim
→
( ) ( )k kf x tv f x
t
+ − = ( )kf
xv
∂∂
= <v, ∇f(xk)>
Maximizarea în raport cu v a ( ) ( )k k
t 0
f x tv f xlim
t→
+ − =-
t 0lim
→
( ) ( )k kf x tv f x
t
+ − este
echivalentă cu minimizarea expresiei <v, ∇f(xk)>. Denumirea de metoda celei mai
rapide descreşteri este justificată de faptul că vk = -∇f(xk) reprezintă soluţia optimă a
problemei de minimizare
( )k
v Vk
inf v, f x∈
< ∇ > ,
unde Vk = {v∈Rn : ||v|| = ||∇f(xk)||}= {v∈Rn : ||v||2 = ||∇f(xk)||2}.
Într-adevăr, funcţia Lagrange asociată problemei de minimizare este L:Rn×R →R,
L(v, λ) = <v, ∇f(xk)> - λ(||v||2 - ||∇f(xk)||2) = <v, ∇f(xk)> - λ(<v, v> - ||∇f(xk)||2)
Dacă vk este soluţie optimă, atunci există λ ∈R astfel încât
3. ∇vL(vk, λ)=0
4. ∇λL(vk, λ) = 0 <=> vk ∈ Vk <=> ||v|| = ||∇f(xk)||
5. <u, HvL(vk, λ)u> ≥ 0 pentru orice u ∈{u ∈Rn : <vk, u> = 0}
Ţinând cont că 0 =∇xL(vk, λ) = ∇f(xk) - 2λvk rezultă că 2λvk =∇f(xk), de unde
|λ| = ( )k
k
f x1
2 v
∇ =
1
2.
Optimizări
159
Cum HvL(vk, λ) = diag(-2λ, -2λ, ..., -2λ), rezultă că pentru a fi îndeplinită condiţia 3
este necesar şi suficient ca λ ≤ 0 şi ca urmare:
λ = - 1
2.
Aşadar vk = 1
2λ∇f(xk) = -∇f(xk). Cum <u, HvL(vk, -1/2)u> > 0 pentru orice u≠0,
rezultă că vk=-∇f(xk) este soluţie optimă locală. Deoarece problema admite soluţie
optimă globală (Vk fiind compactă), rezultă de fapt că vk=-∇f(xk) este soluţie optimă
globală.
Teoremă 24 (convergenţa metodei gradientului – în cazul alegerii
optimale a pasului de deplasare) Fie f: Rn → R o funcţie de clasă C1 şi fie x0∈ Rn.
Presupunem că mulţimea D = {x∈ Rn : f(x) ≤ f(x0)} este compactă. Se construieşte
şirul definit prin
xk+1 = xk – tk∇f(xk), k≥0
unde tk este pasul de deplasare optimal asociat direcţiei vk = -∇f(xk), adică tk este
soluţia optimă a problemei
t 0inf
≥f(xk + tvk).
Atunci orice punct limită x al şirului (xk)k este punct staţionar pentru f (adică ∇f( x )
= 0).
Demonstraţie. Fie x un punct limită al şirului (xk)k. Atunci există un subşir
(k jx )j al şirului (xk)k cu proprietatea că x =
jlim→∞
k jx . Limita x ∈D deoarece xk∈D
pentru orice k iar D este o mulţime compactă. Presupunem prin absurd că ∇f( x )≠0.
Pentru orice j ≥ 0 avem
f(k j 1x + ) ≤ f(
k 1jx+
) ≤ f(k jx - t∇f(
k jx ))
pentru orice t ≥ 0. Trecând la limită cu j → ∞ şi ţinând cont că f şi∇f sunt funcţii
continue obţinem
jlim→∞
f(k j 1x + ) ≤
jlim→∞
f(k jx - t∇f(
k jx ))
Mădălina Roxana Buneci
160
f(jlim→∞
k j 1x + ) ≤ f(jlim→∞
(k jx - t∇f(
k jx )))
f( x ) ≤ f( x - t∇f( x ))
0 ≤ f( x - t∇f( x ))-f( x )
0 ≤ ( )( ) ( )f x t f x f x
t
− ∇ −
pentru orice t > 0. Trecând la limită după t → 0 ( t > 0) obţinem
0 ≤ ( )( ) ( )f
xf x
∂
∂ −∇ = <∇f( x ), -∇f( x )> = - ||∇f( x )||2.
||∇f( x )||2 ≤ 0
de unde rezultă că ||∇f( x )|| = 0, ceea ce contrazice presupunerea ∇f( x )≠0. Deci
x este punct staţionar pentru f.
■
Teoremă 25 (convergenţa metodei gradientului – în cazul generării
pasului de deplasare prin algoritmul backtracking-Armijo) Fie f: Rn → R o
funcţie de clasă C1 având gradientul ∇f Lipschitz continuu şi fie x0∈X. Se
construieşte şirul definit prin
xk+1 = xk + tkvk, k≥0
unde vk = -∇f(xk), iar tk este pasul de deplasare obţinut aplicând algoritmul
backtracking-Armijo. Atunci are loc una următoarele trei situaţii:
4. ∇f(xk) = 0 pentru un anumit k ≥ 0
5. ( )k
kinf f x = - ∞
6. ( )k
klim f x
→∞∇ = 0
Demonstraţie. Presupunem că ( )k
kinf f x >-∞ şi că ∇f(xk)≠0 pentru orice k≥0.
Presupunem prin absurd că şirul (∇f(xk))k nu converge la 0. Atunci există ε > 0
astfel încât pentru orice j∈N există kj ≥ j astfel încât
Optimizări
161
||∇f(k jx )|| ≥ ε.
Ca urmare pentru orice j ≥ 0 avem
( ) ( )2k kj jmin f x , f x
∇ ∇
≥ min (ε, ε2) > 0
Aşadar şirul ( ) ( ){ }2k k
k
min f x , f x ∇ ∇
nu converge la 0.
Pe de altă parte din teorema 15, deoarece direcţia de deplasare vk = -∇f(xk),
rezultă că
0 = ( ) ( )k k
k k
kk
v , f xlim min v , f x ,
v→∞
< ∇ > < ∇ >
= ( ) ( ){ }2k k
klim min f x , f x
→∞∇ ∇ .
ceea ce contrazice faptul că şirul ( ) ( ){ }2k k
k
min f x , f x ∇ ∇
nu converge la 0.
În consecinţă presupunerea este falsă şi deci ( )k
klim f x
→∞∇ = 0.
■
Teoremă 26 (convergenţa metodei gradientului – în cazul în care paşii
de deplasare satisfac condiţiile Wolfe) Fie f: Rn → R o funcţie de clasă C1 având
gradientul ∇f Lipschitz continuu şi fie x0∈X. Se construieşte şirul definit prin
xk+1 = xk + tkvk, k≥0
unde vk = -∇f(xk), iar pasul de deplasare tk îndeplineşte condiţiile Wolfe (17a, 17b)
pentru orice k≥0. Atunci are loc una următoarele trei situaţii:
1. ∇f(xk) = 0 pentru un anumit k ≥ 0
2. ( )k
kinf f x = - ∞
3. ( )k
klim f x
→∞∇ = 0
Demonstraţie. Presupunem că ( )k
kinf f x >-∞ şi că ∇f(xk)≠0 pentru orice k≥0.
Conform teoremei 20, klim
→∞( ) ( ) 2
2 kkcos f xθ ∇ =0, unde
Mădălina Roxana Buneci
162
cos(θk) = ( )
( )k k
k k
f x ,v
f x v
− < ∇ >
∇ =
( ) ( )( ) ( )
k k
k k
f x , f x
f x f x
< ∇ ∇ >
∇ ∇=1.
Deci , klim
→∞( ) 2
kf x∇ =0 sau echivalent klim
→∞( )kf x∇ =0.
■
Algoritmul asociat metodei gradientului este schiţat mai jos (se presupune
x0 dat):
k: = 0;
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: *se calculează ∇f(xk);
pasul 2: *se determină pasul de deplasare tk (optimal sau suboptimal)
asociat direcţiei de deplasare -∇f(xk);
pasul 3: xk+1 = xk - tk∇f(xk); k: = k+1;
Prezentăm în continuare implementările în MAPLE ale algoritmului de mai
sus asociate diverselor metode de determinare a pasului tk. Procedurile au drept
parametrii funcţia obiectiv f, punctul iniţial, notat x00, şi precizia ε (criteriul de
oprire este ||∇f(xk)|| < ε). Procedurile folosesc comenzi (vector, grad, etc.) din
pachetul linalg. Ca urmare înainte de utilizarea procedurilor acesta trebuie încărcat:
> with(linalg):
Funcţionare procedurilor va fi exemplificată pentru funcţiile
> f1:=(x,y)->3*x^2+2*y^2-2*x*y-4*x+2*y-3;
:= f1 → ( ),x y + − − + − 3 x2 2 y2 2 x y 4 x 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
:= f2 → ( ),x y + 10 ( ) − y x22
( ) − x 1 2
> f3:=(x,y)->9*x^2-x*y+y^2;
:= f3 → ( ),x y − + 9 x2 x y y2
De asemenea în fiecare caz în parte vom asocia reprezentarea grafică (3D şi contour).
Implementare metoda gradientului cu determinarea optimală a pasului folosind
metoda secţiunii de aur:
> gradient_gold:=proc(f,x00,epsilon)
Optimizări
163
> local x0,x1,n,g,g0,t1,t2,t,y1,y2,alpha,beta,
a,b,L,u,v,nmax,j,phi;
> n:=vectdim(x00); x0:=vector(n);
>g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while norm(g0,2)>=epsilon do
>phi:=t->f(seq(x0[i]-g0[i]*t,i=1..n));
> t1:=0.; t2:=1.; y1:=phi(t1); y2:=phi(t2);
> if y1<=y2 then a:=t1; b:=t2 else
> while y1>y2 do y1:=y2;t1:=t2;t2:=t2+1;y2:=phi(t2) od;
> a:=t1-1; b:=t2
> fi;
> alpha:=evalf((5^(1/2)-1)/2);beta:=1-alpha;
> L:=b-a;u:=a+beta*L;v:=a+alpha*L;y1:=phi(u);y2:=phi(v);
>nmax:=ceil(ln(epsilon/(10*L))/ln(alpha));j:=0;
> while j<nmax do
> if y1<y2 then b:=v;L:=b-a;
> y2:=y1;v:=u;u:=a+beta*L;y1:=phi(u)
> else a:=u;L:=b-a;
> y1:=y2;u:=v;v:=a+alpha*L;y2:=phi(v);
> fi;
> j:=j+1
> od;
> t:=(a+b)/2;
> x0:=evalm(x0-t*g0);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
> RETURN(evalm(x0))
> end;
> gradient_gold(f1,vector([0,0]),10^(-4));
[ ],0.6000033271 -0.2000166075
Mădălina Roxana Buneci
164
Număr de iteraţii: 5
> gradient_gold(f3,vector([0,-1]),10^(-4));
[ ],0.116040 10-8 -0.00003575187253
Număr de iteraţii: 38
Implementare metoda gradientului cu determinarea optimală a pasului folosind
metoda bisecţiei:
> gradient_bisect:=proc(f,x00,epsilon)
> local x0,n,g,g0,t1,t2,t,y1,y2,c,k,nmax,d1;
> n:=vectdim(x00); x0:=vector(n); x0:=map(evalf,x00);
Optimizări
165
> g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while norm(g0,2)>=epsilon do
> d1:=unapply(subs(seq(x[i]=evalm(x0-g0*tt)[i],i=1..n),-
sum(g[j]*g0[j],j=1..n)),tt);
> t1:=0.;y1:=d1(0.);t2:=t1+0.5;y2:=d1(t2);
> while y1*y2>0 do t2:=t2+0.5;y2:=d1(t2) od;
> nmax:=ceil(ln(abs(10*t2/epsilon))/ln(2)); k:=0;
>while k<nmax do
>c:=(t1+t2)/2;
>if d1(c)=0 then t1:=c;t2:=c else
>if evalf(d1(c)*d1(t1))<0 then t2:=c else t1:=c fi
> fi;
>k:=k+1
>od;
>t:=(t1+t2)/2;
> x0:=evalm(x0-t*g0);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
> RETURN(evalm(x0))
> end;
> gradient_bisect(f1,vector([0,0]),10^(-4));
[ ],0.5999972041 -0.2000048879
Număr de iteraţii: 5
Mădălina Roxana Buneci
166
> gradient_bisect(f2,vector([0,1]),10^(-4));
[ ],0.9999073962 0.9998098719
Număr de iteraţii: 796
> gradient_bisect(f3,vector([0,-1]),10^(-4));
[ ],0.157874 10-8 -0.00003579176318
Număr de iteraţii: 38
Implementare metoda gradientului cu determinarea optimală a pasului folosind
metoda Newton:
> gradient_newt:=proc(f,x00,epsilon)
> local x0,x1,n,g,H,g0,t1,t2,t,jj,d1,d2;
Optimizări
167
> n:=vectdim(x00); x0:=vector(n);
>g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
>H:=hessian(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while norm(g0,2)>=epsilon do
> d1:=unapply(subs(seq(x[i]=evalm(x0-g0*tt)[i],i=1..n),-
sum(g[j]*g0[j],j=1..n)),tt);
>d2:=unapply(subs(seq(x[i]=x0[i]-
g0[i]*tt,i=1..n),sum(sum(H[j,k]*g0[j],j=1..n)*g0[k],k=1..n)),tt);
>t1:=1.;t2:=t1-d1(t1)/d2(t1);jj:=1;
>while ((t2-t1)^2>=epsilon/20) and (jj<=1000) do
>t1:=t2;t2:=t1-d1(t1)/d2(t1); jj:=jj+1 od;
>if jj>1000 then print(`Metoda Newton folosita pentru determinarea
pasului optimal nu converge`); RETURN(NULL) fi;
> t:=t2;
> x0:=evalm(x0-t*g0);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
> RETURN(evalm(x0))
> end;
> gradient_newt(f1,vector([0,0]),10^(-4));
[ ],0.5999972004 -0.2000048990
Număr de iteraţii: 5
Mădălina Roxana Buneci
168
> gradient_newt(f2,vector([0,1]),10^(-4));
[ ],0.9999081530 0.9998113778
Număr de iteraţii: 797
> gradient_newt(f3,vector([0,-1]),10^(-4));
[ ],0.4 10-13 -0.00003567952862
Număr de iteraţii: 38
Implementare metoda gradientului cu determinarea suboptimală a pasului
folosind algoritmul backtracking-Armijo:
> gradient:=proc(f,x00,epsilon)
> local x0,x1,i,n,g,g0,t,y0,tinit,beta,delta;
> tinit:=1;beta:=0.5;delta:=0.1;
Optimizări
169
> n:=vectdim(x00); x0:=vector(n); x1:=vector(n);
> g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while norm(g0,2)>=epsilon do
> y0:=evalf(f(seq(x0[i],i=1..n))); t:=evalf(tinit);
> x1:=evalm(x0-t*g0);
> while f(seq(x1[i],i=1..n))>y0-t*delta*sum(g0[i]^2,i=1..n)
> do t:=t*beta; x1:=evalm(x0-t*g0);
> od;
> x0:=evalm(x1);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
> RETURN(eval(x0))
> end;
> gradient(f1,vector([0,0]),10^(-4));
[ ],0.6000061035 -0.2000122071
Număr de iteraţii: 11
> gradient(f2,vector([0,1]),10^(-4));
[ ],0.9999118308 0.9998214641
Mădălina Roxana Buneci
170
Număr de iteraţii: 815
> gradient(f3,vector([0,-1]),10^(-4));
[ ],-0.1 10-13 -0.00003394957258
Număr de iteraţii: 26
VII.3.2. Direcţii cvasi-Newton
Fie Bk ∈Mn.n(R) o matrice pozitiv definită (în particular, Bk este simetrică).
Luăm drept direcţie de deplasare pentru construcţia termenului xk+1 = xk + tkvk
vectorul vk = - 1kB− ∇f(xk) pentru orice k ≥ 0. Evident dacă ∇f(xk) ≠ 0, atunci vk = -
1kB− ∇f(xk) este direcţie descendentă în xk, deoarece
Optimizări
171
<vk, ∇f(xk)> = - < 1kB− ∇f(xk), ∇f(xk)> < 0.
(am utilizat faptul că dacă Bk este pozitiv definită, atunci şi 1kB− este pozitiv definită).
O direcţie de deplasare de forma vk = - 1kB− ∇f(xk), cu Bk o matrice pozitiv definită, se
numeşte direcţie cvasi-Newton.
Să observăm că vk = - 1kB− ∇f(xk) reprezintă soluţia problemei de optimizare:
nv Rinf∈
f(xk) + <v, ∇f(xk)> + 1
2<v, Bkv>.
Un caz de interes particular este dat de posibilitatea ca Bk = Hf(xk) (presupunând că
hesssiana lui f în xk este pozitiv definită). În această situaţie vk = -Hf(xk)-1∇f(xk) se
numeşte direcţie Newton şi reprezintă soluţia problemei de optimizare
nv Rinf∈
f(xk) + <v, ∇f(xk)> + 1
2<v, Hf(xk)v>
(să observăm că f(xk) + <v, ∇f(xk)> + 1
2<v, Hf(xk)v> ≈ f(xk + v) ).
Teoremă 27 (convergenţa metodelor pentru care direcţia de deplasare
este de tip cvasi-Newton – în cazul generării pasului de deplasare prin
algoritmul backtracking-Armijo) Fie f:Rn→R o funcţie de clasă C1 având
gradientul ∇f Lipschitz continuu şi fie x0∈ Rn. Fie (Bk)k un şir de matrice din
Mn,n(R) pozitiv definite cu proprietatea că există două constante reale cmin şi cmax
astfel încât pentru orice valoare proprie λ(Bk) a matricei Bk şi pentru orice k să avem
0 < cmin ≤ λ(Bk) ≤ cmax.
Se construieşte şirul definit prin
xk+1 = xk + tkvk, k≥0
unde vk = - 1kB− ∇f(xk) iar tk este pasul de deplasare obţinut aplicând algoritmul
backtracking-Armijo. Atunci are loc una dintre următoarele trei situaţii:
1. ∇f(xk) = 0 pentru un anumit k ≥ 0
2. ( )k
kinf f x = - ∞
3. ( )k
klim f x
→∞∇ = 0
Mădălina Roxana Buneci
172
Demonstraţie. Presupunem că ( )k
kinf f x >-∞ şi că ∇f(xk)≠0 pentru orice k≥0.
Notăm cu λmin(B), respectiv λmax(B), cea mai mică respectiv cea mai mare valoare
proprie a unei matrice simetrice B∈Mn,n(R). Pentru orice vector nenul p ∈ Rn avem
λmin(B) ≤ 2
Bp, p
p
< > ≤ λmax(B)
şi în particular, pentru B=Bk
0 < cmin ≤ λmin(Bk) ≤ k2
B p,p
p
< > ≤ λmax(Bk) ≤ cmax.
Ca urmare
|<vk, ∇f(xk)>| = |< 1kB− ∇f(xk), ∇f(xk)>| ≥ λmin(
1kB− )||∇f(xk)||2
= ( )max k
1
Bλ||∇f(xk)||2 ≥
max
1
c||∇f(xk)||2. (27.1)
De asemenea
||vk||2 = || 1kB− ∇f(xk)||2 = < 1
kB− ∇f(xk), 1kB− ∇f(xk)> = < 2
kB− ∇f(xk), ∇f(xk)>
≤ λmax(2
kB− )||∇f(xk)||2 ≤ ( )2min k
1
Bλ||∇f(xk)||2
≤ 2min
1
c||∇f(xk)||2 . (27.2)
de unde ţinând cont şi de (27.1) rezultă
( )k k
k
v , f x
v
< ∇ ≥ min
max
c
c||∇f(xk)||. (27.3)
Din teorema 15, deoarece direcţia de deplasare vk = - 1kB− ∇f(xk), rezultă că
0 = ( ) ( )k k
k k
kk
v , f xlim min v , f x ,
v→∞
< ∇ > < ∇ >
(27.4)
Din (27.1) şi (27.3) rezultă
( ) ( )k k
k k
k
v , f xmin v , f x ,
v
< ∇ > < ∇ >
≥ ( ) ( )2k kmin
max max
c1min f x , f x
c c
∇ ∇
şi ţinând cont de (27.4) obţinem
Optimizări
173
0 = ( ) ( )2k kmin
kmax max
c1lim min f x , f x
c c→∞
∇ ∇
. (27.5)
Presupunem prin absurd că şirul (∇f(xk))k nu converge la 0. Atunci există
ε>0 astfel încât pentru orice j∈N există kj ≥ j astfel încât
||∇f(k jx )|| ≥ ε.
Ca urmare pentru orice j ≥ 0 avem
( ) ( )2k kj jmin
max max
c1min f x , f x
c c
∇ ∇
≥ 2 min
max max
c1min ,
c c
ε ε
> 0.
Aşadar şirul ( ) ( )2k kmin
max max k
c1min f x , f x
c c
∇ ∇
nu converge la 0, ceea ce
contrazice (27.5). În consecinţă presupunerea este falsă şi deci ( )k
klim f x
→∞∇ = 0.
■
Teoremă 28 (convergenţa metodelor pentru care direcţia de deplasare
este de tip cvasi-Newton – în cazul în care paşii de deplasare satisfac condiţiile
Wolfe) Fie f:Rn→R o funcţie de clasă C1 având gradientul ∇f Lipschitz continuu şi
fie x0∈ Rn. Fie (Bk)k un şir de matrice din Mn,n(R) pozitiv definite cu proprietatea că
numerele lor de condiţionare sunt uniform mărginite (adică o constantă c > 0 astfel
încât ||Bk||2|| 1kB− ||2 ≤ c pentru orice k ≥ 0 sau echivalent
( )( )
max k
min k
B
B
λλ
≤ c pentru orice
k≥0, unde λmin(Bk), respectiv λmax(Bk), este cea mai mică respectiv cea mai mare
valoare proprie a lui Bk) . Se construieşte şirul definit prin
xk+1 = xk + tkvk, k≥0
unde vk = - 1kB− ∇f(xk) iar pasul de deplasare tk satisface condiţiile Wolfe pentru orice
k≥0. Atunci are loc una dintre următoarele trei situaţii:
1. ∇f(xk) = 0 pentru un anumit k ≥ 0
2. ( )k
kinf f x = - ∞
3. ( )k
klim f x
→∞∇ = 0
Mădălina Roxana Buneci
174
Demonstraţie. Presupunem că ( )k
kinf f x >-∞ şi că ∇f(xk)≠0 pentru orice k≥0.
Pentru orice vector nenul p ∈ Rn şi orice matrice simetrică B avem
λmin(B) ≤ 2
Bp, p
p
< >, (28.1)
unde λmin(B) este cea mai mică valoare proprie a lui B. Conform teoremei 20,
klim
→∞( ) ( ) 2
2 kkcos f xθ ∇ =0, unde
cos(θk) = ( )
( )k k
k k
f x ,v
f x v
− < ∇ >
∇ =
( ) ( )( ) ( )
k 1 kk
k 1 kk
f x ,B f x
f x B f x
−
−
< ∇ ∇ >
∇ ∇≥
( )≥
28.1
( ) ( )( )
1 kmin k
1 kk
B f x
B f x
−
−
λ ∇
∇ =
( )( ) ( )
k
1 kmax k k
f x
B B f x−
∇
λ ∇ =
=( )
( )k
1 kk k
f x
B B f x−
∇
∇ ≥
( )( )
k
1 kk k
f x
B B f x−
∇
∇
= 1
k k
1
B B−≥
1
c.
Deci avem klim
→∞( ) ( ) 2
2 kkcos f xθ ∇ =0 şi cos(θk) ≥
1
c pentru orice k. Ca urmare
klim
→∞( ) 2
kf x∇ =0 sau echivalent klim
→∞( )kf x∇ =0.
■
VII.3.3. Metoda Newton clasică
Teoremă 29 (convergenţa metodei Newton clasice) Fie X o submulţime
deschisă a lui Rn, f: X→R o funcţie de clasă C2 având hessiana Hf Lipschitz
continuă şi fie x0∈ X. Fie x un punct de minim local al lui f cu proprietatea că
Hf( x ) este pozitiv definită (cu alte cuvinte, fie x un punct care îndeplineşte
condiţiile suficiente pentru a fi punct de minim local al lui f). Se construieşte şirul
definit prin
Optimizări
175
xk+1 = xk – Hf(xk)-1∇f(xk), k≥0
Dacă x0 este într-o vecinătate suficient de mică V a lui x , atunci
1. fiecare termen xk ∈V iar şirul (xk)k converge la x .
2. rata de convergenţă a lui (xk)k la x este pătratică, adică există o constantă
c > 0 astfel încât:
k 1
2kk
x xlimsup
x x
+
→∞
−
− = c.
3. rata de convergenţă a şirului (||∇f(xk)||)k la 0 este pătratică.
Demonstraţie. Punctul x fiind punct de minim local al lui f, avem ∇f( x )=0.
Deoarece Hf( x ) este pozitiv definită şi Hf este continuă există r1 > 0 astfel încât
pentru orice x ∈B( x , r1), Hf(x) este pozitiv definită, deci inversabilă. De asemenea
există r2 < r1 astfel încât pentru orice x∈B( x , r2) să avem || Hf(x)-1|| ≤ 2||Hf( x )-1|| .
Notăm r3 =
( )2 1
1min 1, r ,
2 Hf x−
γ
unde γ este constanta Lipschitz asociată funcţiei
Hf. Arătăm prin inducţie după k că dacă x0∈ B( x , r3), atunci xk∈ B( x , r3) pentru
orice k ≥ 0. Avem
||xk - Hf(xk)-1∇f(xk) - x || = ||xk - x - Hf(xk)-1∇f(xk) || =
= || Hf(xk)-1(Hf(xk)(xk - x )- (∇f(xk) -∇f( x ))) ||
≤ || Hf(xk)-1|| ||(Hf(xk)(xk - x )- (∇f(xk) -∇f( x ))) ||
≤ 2||Hf( x )-1|| ||(Hf(xk)(xk - x )- (∇f(xk) -∇f( x ))) ||. (29.1)
Pe de altă parte
||(Hf(xk)(xk - x )- (∇f(xk) -∇f( x ))) || =
= ( ) ( )( )( )( )1 k k k k
0Hf x Hf x t x x x x dt− + − −∫
≤ ( ) ( )( )1 k k k k
0Hf x Hf x t x x x x dt− + − −∫
≤ 21 k
0t x x dtγ −∫
Mădălina Roxana Buneci
176
= 1
2γ||xk - x ||2. (29.2)
Din (29.1) şi (29.2) rezultă că
||xk+1 - x || ≤ C ||xk - x ||2
unde C = γ||Hf( x )-1||. Din inegalitatea de mai sus, rezultă că dacă xk ∈ B( x , r3),
atunci xk+1∈ B( x , 1
2r3) ⊂ B( x , r3), şirul (xk)k converge la x iar rata convergenţei
este pătratică.
Dacă notăm vk = – Hf(xk)-1∇f(xk), atunci ∇f(xk) + Hf(xk)vk = 0 şi
||∇f(xk+1)|| = ||∇f(xk+1)- ∇f(xk) - Hf(xk)vk||
= ( )( ) ( )1 k k k 1 k k k
0Hf x tv x x dt Hf x v++ − −∫
≤ ( ) ( )1 k k k k
0Hf x tv Hf x v dt+ −∫
≤ 1 2k
0t v dtγ∫
= 1
2γ||vk ||2.
= 1
2γ|| Hf(xk)-1∇f(xk)||2
≤ 1
2γ|| Hf(xk)-1||2 ||∇f(xk)||2
≤ 2γ|| Hf( x )-1||2 ||∇f(xk)||2
de unde rezultă că rata de convergenţă a şirului (||∇f(xk)||)k la 0 este pătratică.
■
Observaţie 30 (legătura cu metoda Newton pentru rezolvarea ecuaţiilor
neliniare). Metoda Newton pentru rezolvarea sistemelor neliniare F(x)=0 (unde G
este o submulţime deschisă a lui Rn iar F: G → Rn este o funcţie cu proprietatea că
jacobianul, notat JF(x) = ( )i
j 1 i, j n
Fx
x≤ ≤
∂ ∂
, este o matrice inversabilă pentru x ∈G)
constă în determinarea soluţiei sistemului considerat ca limită a şirului (xk)k, unde
xk+1 = xk – JF(xk)-1 F(xk)
cu termenul iniţial x0∈G într-o vecinătate suficient de mică a soluţiei sistemului.
Optimizări
177
Determinarea punctului de minim al funcţiei convexe diferenţiabile f:X→R
(X o submulţime deschisă a lui Rn) este echivalentă cu rezolvarea sistemului de
ecuaţii ∇f(x) = 0. Dacă notăm F = ∇f şi presupunem în plus, că f este strict convexă,
atunci JF(x) = Hf(x) este o matrice inversabilă pentru orice x. Şirul corespunzător
metodei Newton pentru rezolvarea sistemului ∇f(x) = 0 este definit prin:
xk+1 = xk – JF(xk)-1 F(xk) = xk – Hf(xk)-1∇f(xk)
adică tocmai şirul tratat în teorema 29.
Observaţie 31. Determinarea termenului xk+1 = xk – Hf(xk)-1∇f(xk) al şirului
definit în teorema 29 presupune calculul inversei matricei Hf(xk). Pentru micşorarea
volumului de calcul putem proceda în felul următor. Observăm că
xk+1 = xk – Hf(xk)-1∇f(xk) <=> Hf(xk) (xk+1 - xk) = -∇f(xk)
Astfel în loc să inversăm matricea Hf(xk), rezolvăm sistemul de ecuaţii liniare
Hf(xk)vk = - ∇f(xk) (cu necunoscutele k1v , k
2v , ..., knv ) şi calculăm xk+1 = xk + vk.
Pentru rezolvarea acestui sistem se recomandă factorizarea Cholesky a matricei
Hf(xk), adică scrierea sub forma Hf(xk) = LLt unde L este o matrice inferior
triunghiulară cu elementele de pe diagonala principală pozitive:
Apoi sistemul Hf(xk)vk = - ∇f(xk) se rezolvă în 2 etape: se rezolvă întâi sistemul Ly =
∇f(xk) (cu soluţia y1 =-11
1
λ ( )k
1
fx
x
∂∂
, yi = ii
1
λ(- ( )k
i
fx
x
∂∂
-i 1
ij ij 1
y−
=
λ∑ ), i=2,..,n) şi apoi
sistemul Ltvk = y (cu soluţia knv =
nn
1
λyn,
kiv =
ii
1
λ(yi-
nk
ji jj i 1
v= +
λ∑ ), i = n-1,..,1).
Factorizarea Cholesky a unei matrice pozitiv definite A=(aij)1≤i,j≤n poate fi
calculată direct rezolvând un sistem de n2 ecuaţii. Dacă L = (λij)1≤i,j≤n cu λij = 0
pentru orice j > i =1,2,…,n, atunci relaţia A = LLt este echivalentă cu
aij = ∑=
λλn
1kkjik = ∑
=λλ
m
1kkjik , unde m = min(i, j).
λ11 0 0 … 0
λ21 λ22 0 … 0
λn1 λn2 λn3 … λnn
L =
Mădălina Roxana Buneci
178
pentru orice i,j ∈ {1, 2,…, n}. Dacă se impun condiţiile λii > 0 pentru orice i, acest
sistem este compatibil determinat. Pentru i = j = 1 obţinem
a11 = 2iiλ pentru i =1, 2, .., n.
Pentru j = 1 obţinem ai1 = λi1λ11 (i =2, .., n) iar pentru j = 2, 3, …, n, obţinem
ajj = ∑−
=λ
1j
1k
2jk + 2
jjλ
Pentru orice i ≥ j +1
aij =∑−
=λλ
1j
1kjkik + λijλij,
În consecinţă, putem scrie următorul algoritm de calcul al factorizării Cholesky
pentru o matrice A pozitiv definită:
pentru j =1,2,...,n execută
λjj : = ∑−
=λ−
1j
1k
2jkjja
pentru i = j+1, j+2,...,n execută
λij := jj
1
λ(aji - ∑
−
=λλ
1j
1kjkik ) ;
Matricea inferior triunghiulară L cu proprietatea că A = LLt şi că are elementele de
pe diagonala principală pozitive se numeşte factor Cholesky. Dacă matricea A nu
este pozitiv definită factorizarea Cholesky eşuează (adică dacă pentru un anumit j
avem j 1
2jj jk
k 1
a−
=
− λ∑ ≤0). Exemplificăm algoritmul de mai sus pentru matricea simetrică
4 2 0
A = 2 4 -1
0 -1 1
∆1 = 4, ∆2 = 4⋅4 -2⋅2 = 12 > 0, ∆3 = 8 > 0. Deci A este pozitiv definită. Calculăm
factorul Cholesky L conform algoritmului:
λ11 = 11a = 4 = 2.
λi1 = 11
1ia
λ, i = 2,3: λ21 = 1, λ31 = 0
222λ = a22 -
221λ = 4 - 1 = 3 => λ22 = 3
Optimizări
179
λ22λ32 = a32 - λ31λ21 = -1 => λ32 = -3
1= -
3
3
233λ = a33 -
231λ - 2
32λ = 1 - 3
1=
3
2 => λ33 =
3
2=
3
6.
2 0 0
L = 1 3 0
0 -3
3
3
6
Comanda cholesky(A) din pachetul linalg din Maple calculează factorul Cholesky L
pentru o matrice pozitiv definită A. Verificarea faptului că A este sau nu pozitiv
definită se poate face cu comanda definite(A, tip), unde A este o matrice simetrică,
iar tip poate fi unul dintre şirurile de caractere: 'positive_def', 'positive_semidef',
'negative_def', sau 'negative_semidef'.
> with(linalg):
> A:=matrix(3,3,[[4,2,0],[2,4,-1],[0,-1,1]]);
:= A
4 2 0
2 4 -1
0 -1 1
> definite(A, positive_def);
true
> cholesky(A);
2 0 0
1 3 0
0 −3
36
3
Algoritmul asociat metodei Newton clasice este schiţat mai jos (se
presupune x0 dat):
k: = 0;
Mădălina Roxana Buneci
180
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: *se calculează ∇f(xk) şi Hf(xk)
pasul 2: *se rezolvă sistemul Hf(xk)vk = -∇f(xk) (se recomandă
factorizarea Cholesky a matricei Hf(xk) = LLt)
pasul 3: xk+1 = xk + vk ; k: = k+1;
Prezentăm în continuare implementarea în MAPLE ale algoritmului de mai
sus. Procedura are drept parametri funcţia obiectiv f, punctul iniţial, notat x00, şi
precizia ε (criteriul de oprire este ||∇f(xk)|| < ε). Procedura foloseşte comenzi (vector,
grad, hessian, cholesky, etc.) din pachetul linalg. Ca urmare înainte de utilizarea
procedurii acesta trebuie încărcat:
> with(linalg):
Funcţionare procedurii va fi exemplificată pentru funcţiile
> f1:=(x,y)->3*x^2+2*y^2-2*x*y-4*x+2*y-3;
:= f1 → ( ),x y + − − + − 3 x2 2 y2 2 x y 4 x 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
:= f2 → ( ),x y + 10 ( ) − y x22
( ) − x 1 2
În cazul funcţiei f1, care este o funcţie pătratică strict convexă, se va executa o sigură
iteraţie pentru determinarea soluţiei optime. În cazul celeilalte funcţii hessiana
Hf2(1,1) este pozitiv definită, dar aplicabilitatea metodei Newton depinde de punctul
iniţial x0.
Implementare metodei Newton clasice:
> newton:=proc(f,x00,epsilon)
> local x0,g,H,g0,H0,L,y,v,n,p,md,pp;
> n:=vectdim(x00); x0:=vector(n);y:=vector(n);
>v:=vector(n); L:=matrix(n,n);
> g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> H:=hessian(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while norm(g0,2)>=epsilon do
> H0:=evalm(matrix(n,n,[seq(seq(subs(seq(x[i]=x0[i],i=1..n),
H[j,p]),j=1..n),p=1..n)]));
> for p from 1 to n do md:=H0[p,p]-sum(L[p,i]^2,i=1..p-1);
Optimizări
181
>if md<=0 then
>print(`Hessiana nu este pozitiv definita in`, evalm(x0));
>RETURN(NULL)
>else L[p,p]:=md^(1/2);
>for pp from p+1 to n do
>L[pp,p]:=(H0[pp,p]-sum(L[pp,i]*L[p,i],i=1..p-1))/L[p,p] od
>fi
>od;
>y[1]:=-g0[1]/L[1,1];
>for p from 2 to n do
>y[p]:=(-g0[p]-sum(L[p,j]*y[j],j=1..p-1))/L[p,p] od;
> v[n]:=y[n]/L[n,n];
> for p from n-1 by -1 to 1 do
>v[p]:=(y[p]-sum(L[j,p]*v[j],j=p+1..n))/L[p,p] od;
> x0:=evalm(x0+v);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
> RETURN(evalm(x0))
> end;
> newton(f1,vector([0,0]),10^(-4));
[ ],0.6000000000 -0.2000000001
> newton(f2,vector([1,0]),10^(-4));
[ ],1. 1.000000000
> newton(f2,vector([0,1]),10^(-4));
,Hessiana nu este pozitiv definita in [ ],0. 1.
> newton(f2,vector([-1,0]),10^(-4));
[ ],0.9999999936 0.9999999751
Pentru funcţia f2 şi punctul iniţial (-0.5, 0.2)t prezentăm mai jos şi reprezentarea
grafică (3D şi contour) a iteraţiilor:
> newton(f2,vector([-0.5,0.2]),10^(-4));
[ ],0.9999991806 0.9999983606
Mădălina Roxana Buneci
182
Număr de iteraţii: 6
Prezentăm în continuare o variantă a acestui algoritm pentru cazul în care
şirul construit nu converge. Introducem ca dată suplimentară de intrare numărul
maxim de termeni din şir ce urmează a fi calculaţi (Nmax).
> newton_:=proc(f,x00,epsilon,Nmax)
> local x0,g,H,g0,H0,L,y,v,n,p,k,md,pp;
> n:=vectdim(x00); x0:=vector(n);y:=vector(n);
> v:=vector(n); L:=matrix(n,n);
> g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> H:=hessian(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);k:=0;
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while (norm(g0,2)>=epsilon) and (k<Nmax) do
> H0:=evalm(matrix(n,n,[seq(seq(subs(seq(x[i]=x0[i],i=1..n),
H[j,p]),j=1..n),p=1..n)]));
> for p from 1 to n do md:=H0[p,p]-sum(L[p,i]^2,i=1..p-1);
>if md<=0 then print(`iteratia `, k);
>print(`Hessiana nu este pozitiv definita in`, evalm(x0));
>print(H0); RETURN(NULL)
>else L[p,p]:=md^(1/2);
>for pp from p+1 to n do
>L[pp,p]:=(H0[pp,p]-sum(L[pp,i]*L[p,i],i=1..p-1))/L[p,p] od
>fi
>od;
> y[1]:=-g0[1]/L[1,1];
> for p from 2 to n do
Optimizări
183
>y[p]:=(-g0[p]-sum(L[p,j]*y[j],j=1..p-1))/L[p,p] od;
> v[n]:=y[n]/L[n,n];
> for p from n-1 by -1 to 1 do
>v[p]:=(y[p]-sum(L[j,p]*v[j],j=p+1..n))/L[p,p] od;
> x0:=evalm(x0+v);k:=k+1;
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
>print(`Numar de iteratii`,k);
> RETURN(evalm(x0))
> end;
Considerăm funcţia f4: R2 \ {(1,y)t, y∈R} → R definită prin
> f4:=(x,y)->1/(x-1)^4/4+(y^2-x);
:= f4 → ( ),x y + − 14
1
( ) − x 1 4y2 x
Hessiana Hf4 este pozitiv definită în orice punct din domeniul de definiţie:
> hessian(f4(x,y),[x,y]);
5
( ) − x 1 60
0 2
Punctul (0,0)t este (singurul) punct staţionar pentru f4, deci este punct de minim local
(pentru restricţia lui f4 la mulţimea convexă {(x,y)t∈R2: x < 1}, (0,0)t este punct de
minim global):
> grad(f4(x,y),[x,y]);
,− − 1
( ) − x 1 51 2 y
Aplicăm procedura newton_ pentru diverse puncte iniţiale x0.
> newton_(f4,vector([0.5,2]),10^(-4),10);
,Numar de iteratii 7
[ ],0.12864143 10-5 -0.1 10-62
> newton_(f4,vector([1.1,0.1]),10^(-4),25);
,Numar de iteratii 25
[ ],0.1334916474 1095691723 -0.1 10-225
> newton_(f4,vector([-0.5,0.2]),10^(-4),500);
,iteratia 19
,Hessiana nu este pozitiv definita in [ ],0.3684324304 101580645204 -0.1 10-171
Mădălina Roxana Buneci
184
0. 0
0 2
Se observă că dacă x0 = (0.5, 2)t şirul asociat metodei Newton converge la (0,0), în
timp ce pentru x0 = (1.1, 0.1)t şi x0=(-0.5, 0.2) şirurile asociate nu converg. Faptul că
procedura afişează mesajul „hessiana nu este pozitiv definită” se datorează virgulei
mobile ( ( )k4fx
x
∂∂
devine mic şi este asimilat cu zero).
VII.3.4. Metoda Newton cu pas variabil
Metoda Newton clasică prezentată mai înainte foloseşte drept direcţie de
deplasare aşa numita direcţie Newton vk=-Hf(xk)∇f(xk) şi pasul de deplasare tk=1
pentru orice k≥0. În general, convergenţa metodei Newton cu pasul tk = 1 este
asigurată numai pentru un domeniu relativ restrâns de puncte iniţiale x0. De aceea
având în vedere extinderea domeniului de convergenţă al metodei, în practică paşii tk
asociaţi direcţiilor se aleg prin proceduri optimale sau suboptimale. Metoda
corespunzătoare se numeşte metoda Newton cu pas variabil, rezervându-se termenul
de metodă Newton clasică doar pentru cazul în care tk = 1 pentru orice k≥0.
Teoremă 32 (convergenţa metodei Newton cu pas variabil – în cazul
generării pasului de deplasare prin algoritmul backtracking-Armijo) Fie
f:Rn→R o funcţie de clasă C2 având hessiana Hf Lipschitz continuă şi fie x0∈ Rn. Se
construieşte şirul definit prin
xk+1 = xk – tkHf(xk)-1∇f(xk), k≥0
unde tk este pasul de deplasare asociat direcţiei vk = - Hf(xk)-1∇f(xk). Presupunem în
plus, că pentru fiecare k, Hf(xk) este pozitiv definită şi că pasul tk este obţinut
aplicând algoritmul backtracking-Armijo cu tinit = 1 şi δ < 1
2. Dacă şirul (xk)k
converge la un punct x pentru care Hf( x ) este pozitiv definită, atunci
1. există k0 astfel încât tk = 1 pentru orice k ≥ k0.
2. rata de convergenţă a lui (xk)k la x este pătratică
Optimizări
185
Demonstraţie. Notăm λmin(Hf( x )) cea mai mică valoare proprie a lui Hf( x ).
Datorită faptului că klim
→∞xk = x , există k1 astfel încât pentru orice k ≥ k1 să avem:
<vk, Hf(xk)vk > ≥ 1
2λmin(Hf( x ))||||vk||2.
şi ca urmare
|<vk, ∇f(xk)>| = -<vk, ∇f(vk)> =
= <vk, Hf(xk)vk >
≥ 1
2λmin(Hf( x ))||vk||2 (32.1)
Pe de altă parte
( )k k
k
v , f x
v
< ∇ =
( )k k
k
v , f x
v
− < ∇ >=
( )k k k
k
v , Hf x v
v
< > ≥
≥ 1
2λmin(Hf( x ))|| kv || (32.2)
Din (32.1) şi (32.2) rezultă
( ) ( )k k
k k
k
v , f xmin v , f x ,
v
< ∇ > < ∇ >
≥ ( )( )2k kj j
min
1Hf x min v , v
2 λ
Aplicând teorema 15 obţinem
0 = ( ) ( )k k
k k
kk
v , f xlim min v , f x ,
v→∞
< ∇ > < ∇ >
de unde rezultă că jlim→∞
kv = 0.
Notăm γ constanta Lipschitz asociată lui Hf . Aplicând formula Taylor, rezultă că
există z = xk + θvk cu θ ∈ (0,1) astfel încât
f(xk + vk) – f(xk) - 1
2<∇f(xk), vk> =
1
2<∇f(xk), vk> +
1
2<Hf(z)vk, vk>
= 1
2<∇f(xk), vk> +
1
2<Hf(xk)vk, vk> +
1
2(<Hf(z)vk, vk> - <Hf(xk)vk, vk>)
= 1
2<∇f(xk) +Hf(xk)vk, vk> +
1
2<(Hf(z)- Hf(xk))vk, vk>
Mădălina Roxana Buneci
186
≤ 1
2||Hf(z)- Hf(xk)|| ||vk||2 (am ţinut cont că ∇f(xk) + Hf(xk)vk = 0)
≤ 1
2γ||z- xk|| ||vk||2
=1
2γ||θvk|| ||vk||2
≤1
2γ ||vk||3 (32. 3)
Deoarece klim
→∞
kv = 0, rezultă că există k2 astfel încât pentru orice k ≥ k2 să
avem
γ||vk|| ≤ λmin(Hf( x ))(1-2δ)
Din (32.1) şi (32.3) rezultă că
f(xk + vk) – f(xk) ≤ 1
2<∇f(xk), vk> +
1
2λmin(Hf( x ))(1-2δ)||vk||2 ≤
≤ 1
2<∇f(xk), vk> + (1-2δ)
1
2<vk, Hf(xk)vk >
=1
2<∇f(xk), vk> - (1-2δ)
1
2<vk, ∇f(xk)>
=δ<∇f(xk), vk>
În consecinţă, f(xk + vk) ≤ f(xk) +δ<∇f(xk), vk>, şi deci tk = tinit=1 pentru orice
k≥max(k1, k2). Aşadar pentru orice k ≥ max(k1, k2), termenul xk+1 este definit ca xk+1
= xk – Hf(xk)-1∇f(xk). Aplicăm mai departe teorema 29.
■
Următorul rezultat datorat lui Dennis şi More [7] arată că dacă o direcţie
cvasi-Newton vk = -Bk∇f(xk) aproximează direcţia Newton într-un anumit sens,
atunci pasul tk = 1 satisface condiţiile Wolfe:
Teoremă 33. Fie f:Rn→R o funcţie de clasă C2 având hessiana Hf Lipschitz
continuă, fie x0∈ Rn şi fie (Bk)k un şir de matrice din Mn,n(R) pozitiv definite. Se
construieşte şirul definit prin
xk+1 = xk + tkvk, k≥0
Optimizări
187
unde vk = - 1kB− ∇f(xk) iar pasul de deplasare tk satisface condiţiile Wolfe pentru orice
k≥0. Dacă şirul (xk)k converge la un punct x pentru care ∇f( x ) = 0 şi Hf( x ) este
pozitiv definită şi dacă
klim
→∞
( ) ( )k k k
k
f x Hf x v
v
∇ += 0
atunci există k0 astfel încât pentru orice k ≥ k0 pasul tk = 1 satisface condiţiile Wolfe
(iar convergenţa este superliniară, adică
k 1
kk
x xlimsup
x x
+
→∞
−
− = 0).
O variantă a algoritmului asociat metodei Newton cu pas variabil este schiţat
mai jos (se presupune x0 dat; de asemenea dacă pentru o anumită iteraţie k matricea
Hf(xk) nu este pozitiv definită, atunci se alege drept direcţie de deplasare vk=-∇f(xk)
):
k: = 0;
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: *se calculează ∇f(xk) şi Hf(xk)
pasul 2: dacă Hf(xk) este pozitiv definită atunci
*se rezolvă sistemul Hf(xk)vk = -∇f(xk) (se recomandă
factorizarea Cholesky a matricei Hf(xk))
altfel vk : =∇f(xk)
pasul 3: *se determină pasul de deplasare tk (optimal sau suboptimal)
asociat direcţiei de deplasare vk;
pasul 4: xk+1 = xk + tkvk ; k: = k+1;
Prezentăm în continuare implementarea în MAPLE ale algoritmului de mai
sus. Procedura are drept parametri funcţia obiectiv f, punctul iniţial, notat x00, şi
precizia ε (criteriul de oprire este ||∇f(xk)|| < ε). Procedura foloseşte comenzi (vector,
grad, hessian, cholesky, etc.) din pachetul linalg. Ca urmare înainte de utilizarea
procedurii acesta trebuie încărcat:
> with(linalg):
Funcţionare procedurii va fi exemplificată pentru funcţiile
> f1:=(x,y)->3*x^2+2*y^2-2*x*y-4*x+2*y-3;
Mădălina Roxana Buneci
188
:= f1 → ( ),x y + − − + − 3 x2 2 y2 2 x y 4 x 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
:= f2 → ( ),x y + 10 ( ) − y x22
( ) − x 1 2
> f4:=(x,y)->1/(x-1)^4/4+(y^2-x);
:= f4 → ( ),x y + − 14
1
( ) − x 1 4y2 x
> f6:=(x,y)->x^2*(4-2.1*x^2+x^4/3)+x*y+y^2*(-4+4*y^2);
:= f6 → ( ),x y + + x2
− + 4 2.1 x2 1
3x4 x y y2 ( )− + 4 4 y2
Implementare metodei Newton cu pas variabil (pasul de deplasare este generat
prin algoritmul backtracking-Armijo; în situaţia în care hessiana Hf(xk) nu este
pozitiv definită se utilizează drept direcţie de deplasare -∇∇∇∇f(xk)) :
> newton_var:=proc(f,x00,epsilon)
> local x1,x0,g,H,g0,H0,L,y,v,n,p,t,z0,tinit,beta,delta,
pp,md,test;
> n:=vectdim(x00); x0:=vector(n);x1:=vector(n);
> y:=vector(n);v:=vector(n); L:=matrix(n,n);
>beta:=0.5;delta:=0.1;tinit:=1.;
> g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> H:=hessian(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while norm(g0,2)>=epsilon do
> H0:=evalm(matrix(n,n,[seq(seq(subs(seq(x[i]=x0[i],i=1..n),
H[j,p]),j=1..n),p=1..n)]));test:=1;
> for p from 1 to n do md:=H0[p,p]-sum(L[p,i]^2,i=1..p-1);
>if md<=0 then p:=n+1;test:=0
>else L[p,p]:=md^(1/2);
>for pp from p+1 to n do
>L[pp,p]:=(H0[pp,p]-sum(L[pp,i]*L[p,i],i=1..p-1))/L[p,p] od
>fi
>od;
> if test=1 then y[1]:=-g0[1]/L[1,1];
> for p from 2 to n do
>y[p]:=(-g0[p]-sum(L[p,j]*y[j],j=1..p-1))/L[p,p] od;
> v[n]:=y[n]/L[n,n];
Optimizări
189
> for p from n-1 by -1 to 1 do
>v[p]:=(y[p]-sum(L[j,p]*v[j],j=p+1..n))/L[p,p] od;
>else v:=evalm(-g0) fi;
> z0:=evalf(f(seq(x0[i],i=1..n))); t:=tinit; x1:=evalm(x0+t*v);
> while f(seq(x1[i],i=1..n))>z0+t*delta*sum(g0[i]*v[i],i=1..n)
> do t:=t*beta; x1:=evalm(x0+t*v);
> od;
> x0:=evalm(x1);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
> RETURN(evalm(x0))
> end;
> newton_var(f1,vector([0,0]),10^(-4));
[ ],0.6000000000 -0.2000000001
> newton_var(f2,vector([1,0]),10^(-4));
[ ],1. 1.000000000
> newton_var(f2,vector([-1,0]),10^(-4));
[ ],0.9999993870 0.9999987218
> newton_var(f4,vector([-0.5,0.2]),10^(-4));
[ ],0.2439499 10-7 0.1 10-18
Pentru funcţiile f6 cu punctul iniţial (1, -1)t şi f2 cu punctul iniţial (0, 1)t prezentăm
mai jos şi reprezentarea grafică (3D şi contour) a iteraţiilor:
> newton_var(f6,vector([1,-1]),10^(-4));
[ ],-0.08984201754 0.7126564383
Număr de iteraţii: 6
Mădălina Roxana Buneci
190
> newton_var(f2,vector([0,1]),10^(-4));
[ ],0.9999999666 0.9999999187
Număr de iteraţii: 9
VII.3.5. Metode Newton modificate
În ultimul algoritm prezentat în cursul trecut în situaţia în care hessiana
Hf(xk) nu era pozitiv definită se folosea drept direcţie de deplasare vk = -∇f(xk)
specifică metodei gradientului. Altă variantă este modificarea ad-hoc a matricei
Hf(xk). Mai precis, folosirea unei direcţii de forma Bk = Hf(xk) + Ek unde Ek este o
matrice aleasă astfel încât Hf(xk) + Ek să fie „suficient de pozitiv definită” (Ek = 0
dacă Hf(xk) este „suficient de pozitiv definită”). Metodele de acest tip poartă numele
de metode Newton modificate (sau metode Newton cu modificarea hessianei).
Algoritmul asociat metodelor de tip Newton modificate este schiţat mai
jos (se presupune x0 dat) k: = 0;
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: * se calculează Bk = Hf(xk) + Ek, unde Ek este o matrice aleasă
astfel încât Hf(xk) + Ek să fie „suficient de pozitiv definită” (Ek =
0 dacă Hf(xk) este „suficient de pozitiv definită”)
pasul 2: *se rezolvă sistemul Bkvk = -∇f(xk)
pasul 3: *se determină pasul de deplasare tk (suboptimal) asociat direcţiei
de deplasare vk;
pasul 4: xk+1 = xk + tkvk ; k: = k+1;
Optimizări
191
Pentru determinarea matricei Bk putem pleca de la descompunerea spectrală a
matricei simetrice Hf(xk), adică scrierea ei sub forma Hf(xk) = QDQt, unde Q este o
matrice ortogonală (având pe coloane vectori proprii ai lui Hf(xk)) iar D o matrice
diagonală (având pe diagonala principală valorile proprii ale lui Hf(xk)):
Se poate lua Bk = Hf(xk) + Ek = QDmQt, unde
cu µi = max (ε, |λi|) pentru orice 1 ≤ i ≤ n (sau eventual, µi = max (ε, λi) pentru orice
1 ≤ i ≤ n), ε fiind un număr pozitiv „mic” (de exemplu, ε = machε , unde εmach este
precizia maşinii). O astfel de descompunere necesită un volum mare de calcul dacă n
mare. Un volum mai mic de calcul se obţine dacă se estimează doar cea mai mică
valoare proprie λmin(Hf(xk)) a matricei Hf(xk) şi se ia
ε fiind un număr pozitiv „mic”.
Dacă matricea Hf(xk) are o valoare proprie negativă mare în modul şi restul
valorilor proprii pozitive dar mici în modul, atunci se poate întâmpla ca prin această
metodă direcţia de deplasare obţinută să fie esenţial direcţia celei mai rapide
descreşteri.
λ1 0 0 … 0
0 λ2 0 … 0
0 0 0 … λn
D =
µ1 0 0 … 0
0 µ2 0 … 0
0 0 0 … µn
Dm =
max(0, ε-λmin(Hf(xk))) 0 0 … 0
0 max(0, ε-λmin(Hf(xk))) 0 … 0
0 0 0 … max(0, ε-λmin(Hf(xk)))
Ek = = max(0, ε-λmin(Hf(xk)))In
Mădălina Roxana Buneci
192
Alte metode de modificare a hessianei se bazează pe factorizări Cholesky.
Probabil cea mai simplă idee este de a determina un scalar τ >0 cu proprietatea că
Hf(xk) + τIn este „suficient de pozitiv definită”. Un algoritm pentru determinarea lui
τ (bazat pe factorizări Cholesky) este prezentat mai jos (pentru simplitate notăm
Hf(xk) = A, iar elementele de pe diagonala principală cu aii, 1≤i≤n) :
ρ > 0 dat (de exemplu, ρ = 10-3)
dacă min{aii, 1≤i≤n} > 0 atunci τ0 : = 0
altfel τ0 : = - min{aii, 1≤i≤n} + ρ
pentru k = 0, 1, … execută
* se încearcă factorizarea Cholesky LLt = A + τkIn
dacă factorizarea reuşeşte atunci return L şi STOP
altfel τk+1 : = max (2τk, ρ)
Prezentăm în continuare implementarea în MAPLE ale algoritmului de mai
sus. Procedura are drept parametri funcţia obiectiv f, punctul iniţial, notat x00, şi
precizia ε (criteriul de oprire este ||∇f(xk)|| < ε). Deoarece procedura foloseşte
comenzi (vector, grad, hessian, cholesky, etc.) din pachetul linalg, înainte de
utilizarea ei pachetul trebuie încărcat:
> with(linalg):
Funcţionare procedurii va fi exemplificată pentru funcţiile
> f1:=(x,y)->3*x^2+2*y^2-2*x*y-4*x+2*y-3;
:= f1 → ( ),x y + − − + − 3 x2 2 y2 2 x y 4 x 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
:= f2 → ( ),x y + 10 ( ) − y x22
( ) − x 1 2
> f4:=(x,y)->1/(x-1)^4/4+(y^2-x);
:= f4 → ( ),x y + − 14
1
( ) − x 1 4y2 x
> f6:=(x,y)->x^2*(4-2.1*x^2+x^4/3)+x*y+y^2*(-4+4*y^2);
:= f6 → ( ),x y + + x2
− + 4 2.1 x2 1
3x4 x y y2 ( )− + 4 4 y2
Optimizări
193
Implementarea unei variante a metodei Newton modificate (pasul de deplasare este
generat prin algoritmul backtracking-Armijo) :
> newton_modif:=proc(f,x00,epsilon)
> local x0,x1,g,H,g0,H0,L,y,v,n,t,z0,tinit,
beta,delta,p,pp,rho,tau,md,test,dd;
> n:=vectdim(x00); x0:=vector(n); x1:=vector(n);y:=vector(n);
>v:=vector(n);beta:=0.5;delta:=0.1;tinit:=1.;
>L:=matrix(n,n);dd:=floor(Digits/2);
> g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> H:=hessian(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> while norm(g0,2)>=epsilon do
> H0:=evalm(matrix(n,n,[seq(seq(subs(seq(x[i]=x0[i],i=1..n),
H[j,p]),j=1..n),p=1..n)]));
> rho:=0.001;
>md:=min(seq(H0[i,i],i=1..n));
>if md>0 then tau:=0. else tau:=-md+rho fi;
>test:=1;
>while test=1 do test:=0;
>for p from 1 to n do
>md:=H0[p,p]+tau -sum(L[p,i]^2,i=1..p-1);
>if md<=10^(-dd) then test:=1;tau:=max(rho,2*tau);p:=n+1;
>else L[p,p]:=md^(1/2); for pp from p+1 to n do
>L[pp,p]:=(H0[pp,p]-sum(L[pp,i]*L[p,i],i=1..p-1))/L[p,p] od
>fi
>od;
>od;
> y[1]:=-g0[1]/L[1,1];
> for p from 2 to n do
>y[p]:=(-g0[p]-sum(L[p,j]*y[j],j=1..p-1))/L[p,p] od;
> v[n]:=y[n]/L[n,n];
> for p from n-1 by -1 to 1 do
>v[p]:=(y[p]-sum(L[j,p]*v[j],j=p+1..n))/L[p,p] od;
> z0:=evalf(f(seq(x0[i],i=1..n))); t:=tinit;
>x1:=evalm(x0+t*v);
> while f(seq(x1[i],i=1..n))>z0+t*delta*sum(g0[i]*v[i],i=1..n)
Mădălina Roxana Buneci
194
> do t:=t*beta; x1:=evalm(x0+t*v);
> od;
> x0:=evalm(x1);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
> od;
> RETURN(evalm(x0))
> end;
> newton_modif(f1,vector([0,0]),10^(-4));
[ ],0.6000000001 -0.2000000002
> newton_modif(f2,vector([1,0]),10^(-4));
[ ],1. 1.000000000
> newton_modif(f2,vector([-1,0]),10^(-4));
[ ],0.9999993870 0.9999987218
> newton_modif(f2,vector([-0.5,0.2]),10^(-4));
[ ],1.000000004 0.9999999981
> newton_modif(f3,vector([0,-1]),10^(-4));
[ ],0.4714045208 10-10 0.1 10-8
> newton_modif(f5,vector([2,3]),10^(-4));
[ ],1.565194829 0.1 10-53
> newton_modif(f4,vector([0.5,3]),10^(-4));
[ ],0.12864143 10-5 -0.1 10-62
> newton_modif(f4,vector([-0.5,0.2]),10^(-4));
[ ],0.2439499 10-7 0.1 10-18
> newton_modif(f6,vector([-1,-1]),10^(-4));
[ ],0.08984236139 -0.7126591488
> newton_modif(f6,vector([-1,1]),10^(-4));
[ ],-0.08984201229 0.7126564041
> newton_modif(f6,vector([1,1]),10^(-4));
[ ],-0.08984236139 0.7126591488
Pentru funcţiile f6 cu punctul iniţial (1, -1)t şi f2 cu punctul iniţial (0, 1)t prezentăm
mai jos şi reprezentarea grafică (3D şi contour) a iteraţiilor:
> newton_modif(f6,vector([1,-1]),10^(-4));
[ ],0.08984201229 -0.7126564041
Optimizări
195
Număr de iteraţii: 6
> newton_modif(f2,vector([0,1]),10^(-4));
[ ],1.000000003 0.9999999948
Număr de iteraţii: 5
Deşi simplu de implementat algoritmul prezentat mai înainte poate necesita
un volum mare de calcul (în situaţia în care se încearcă factorizări Cholesky pentru
multe valori τk). Poate fi avantajos ca τ să crească la fiecare iteraţie cu un factor mai
mare, de exemplu 10 în loc de 2.
Altă strategie de modificare hessianei este de a aplica algoritmul de
factorizare Cholesky şi de a mării elementele diagonale care apar în algoritm. Acest
Mădălina Roxana Buneci
196
algoritm Cholesky modificat garantează pe de parte existenţa factorului Cholesky cu
elemente care nu depăşesc în modul norma hessianei, iar pe de altă parte nu modifică
hessiana dacă este „suficient de pozitiv definită”. Începem descrierea acestei strategii
prin recapitularea aşa numitei descompuneri LDLt a unei matrice simetrice A cu
minorii principali nenuli. O scriere a matricei A sub forma A = LDLt, unde L este o
matrice inferior triunghiulară cu elementele de pe diagonala principală egale cu 1, şi
D o matrice diagonală se numeşte factorizare LDLt. Ţinând cont de relaţiile:
aij = ∑=
j
1kjkkkik LDL = ∑
−
=
1j
1kjkkkik LDL + LijDjj pentru i ≥ j =1,2,…,n.
obţinem următorul algoritm pentru calculul factorizării LDLt a unei matrice A
pentru j=1,2,...,n execută
Djj := ajj - ∑−
=
1j
1kkk
2jk DL
pentru i = j+1, j+2,...,n execută
Lij : = jjD
1(aij - ∑
−
=
1j
1kjkkkik LDL )
Algoritmul funcţionează pentru matrice simetrice cu minorii principali nenuli, în
particular pentru matrice A pozitiv definite. Legătura între factorul Cholesky M al
matricei A (A= MMt cu M =(mij)i,j o matrice inferior triunghiulară cu elementele de
pe diagonala principală pozitive) şi factorizare A = LDLt este
mij = Lij jjD pentru orice i,j.
Algoritmul de factorizare Cholelesky modificat aplicat unei matrice A presupune
date două valori ε > 0 şi η >0. Se calculează A + E = LDLt = MMt astfel încât
Djj ≥ ε şi |mij| ≤ η pentru orice i şi j.
Algoritm Cholesky modificat pentru calculul factorizării A + E = LDLt = MM
t
pentru j=1,2,...,n execută
Cjj : = ajj - ∑−
=
1j
1kkk
2jk DL ; θj := max{cij, j<i≤n}
Djj :=
2
jijmax C , ,
θ ε η
Optimizări
197
pentru i = j+1, j+2,...,n execută
Cij : = (aij - ∑−
=
1j
1kjkkkik LDL ); Lij : =
jjD
1Cjj;
Să verificăm că într-adevăr |mij| ≤ η pentru orice i şi j:
|mij| = |Lij| jjD =ij
jj
C
D ≤
ij
j
C η
θ ≤ η.
Pentru a reduce modificările asupra lui A se pot face permutări simetrice de linii şi
coloane (algoritmul Cholesky modificat datorat lui Gill, Murray şi Wright [14])
obţinându-se factorizarea PAPt + E = LDLt = MMt, unde P este matricea de
permutare.
VII.3.6. Metoda direcţiilor conjugate. Metoda gradientului
conjugat
Fie C ∈Mn,n(R) o matrice pozitiv definită. Matricea C induce un produs scalar
pe Rn, notat <⋅, ⋅>C :
<x, y>C : = <Cx, y>, x, y ∈ Rn.
Doi vectori x, y ∈Rn se numesc conjugaţi în raport cu C (sau C – ortogonali) dacă
<Cx, y> = 0 (sau echivalent, <x, y>C = 0).
Dacă vectorii v1, v2, ..., vk sunt nenuli conjugaţi în raport cu C doi câte doi,
atunci v1, v2, ..., vk sunt liniar independenţi (deoarece conjugarea în raport cu C
înseamnă ortogonalitate în raport cu produsul scalar <⋅, ⋅>C şi într-un spaţiu pre-
Hilbert orice familie de vectori nenuli ortogonali doi câte doi este liniar
independentă). În particular, dacă k = n, vectorii v1, v2, ..., vn constituie o bază în Rn.
Lema 34. Fie f:Rn→R o funcţie definită prin f(x) = 1
2<x,Cx> + <x, d> cu
C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un vector fixat, şi fie v0, v1, ..., vn-1 o
familie de vectori nenuli conjugaţi în raport cu C doi câte doi. Atunci există şi este
unic un punct de minim global x* al lui f şi
x* = in 1 i
i ii 0
d, vv
Cv , v
−
=
< >− ∑ < >
.
Mădălina Roxana Buneci
198
Demonstraţie. Avem ∇f(x) = Cx + d şi Hf(x) = C pentru orice x ∈ Rn.
Deoarece C este pozitiv definită rezultă că f este convexă, deci un punct x* este
punct de minim dacă şi numai dacă x* este punct staţionar. Avem
∇f(x*) = 0 <=> x* = -C-1d,
şi ca urmare x* = -C-1d este unicul punct de minim al lui f. Deoarece v0, v1, ..., vn-1
sunt vectori nenuli conjugaţi în raport cu C doi câte doi, ei constituie o bază în Rn. În
consecinţă, există scalarii α0, α1, ..., αn-1∈R astfel încât
-C-1d = n 1 i
ii 0
v−
=α∑
<-C-1d, vj>C = n 1 i j
i Ci 0
v , v−
=α < >∑
-<C-1d, vj>C = αj <vi, vj>C
-<d, vj> = αj <Cvj, vj>
αj = j
j j
d, v
Cv , v
< >−
< >.
Aşadar x* = -C-1d = in 1 i
i ii 0
d, vv
Cv , v
−
=
< >− ∑ < >
■
Lema 35. Fie f:Rn→R o funcţie definită prin f(x) = 1
2<x,Cx> + <x, d> cu
C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un vector fixat. Dacă vk∈Rn este un
vector nenul, atunci soluţia optimă a problemei t 0inf
≥f(xk + tvk) este
tk = ( )k k
k k
f x , v
Cv , v
< ∇ >−
< >
Demonstraţie. Pentru orice t avem
f(xk+tvk) = 1
2 t2<vk,Cvk> + t(<vk, Cxk> + <vk, d>)
1
2<xk,Cxk> +
+1
2<xk,Cxk> + <xk,d>
de unde rezultă că
Optimizări
199
tk =k k
k k
Cx d, v
Cv , v
< + >−
< >=
( )k k
k k
f x , v
Cv , v
< ∇ >−
< >.
■
Propoziţie 36. Fie f:Rn→R o funcţie definită prin f(x) = 1
2<x,Cx> + <x,d>
cu C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un vector fixat, şi fie v0, v1, ..., vn-1
o familie de vectori nenuli conjugaţi în raport cu C doi câte doi. Se construieşte şirul
(xk)k:
xk+1 = xk + tkvk, x0 dat, 0≤ k ≤n-1
unde tk este pasul optimal asociat direcţiei vk, adică tk este soluţia optimă a problemei
t 0inf
≥f(xk + tvk). Atunci xn = x* unicul punct de minim al lui f.
Demonstraţie. Deoarece v0, v1, ..., vn-1 sunt vectori nenuli conjugaţi în raport
cu C doi câte doi, ei constituie o bază în Rn. În consecinţă, există scalarii α0, α1, ...,
αn-1∈R astfel încât
x0 = n 1 i
ii 0
v−
=α∑
<x0, vj>C = n 1 i j
i Ci 0
v , v−
=α < >∑
<x0, vj>C = αj <vi, vj>C
<Cx0, vj> = αj <Cvj, vj>
αj = 0 j
j j
Cx , v
Cv , v
< >
< >.
Aşadar
x0 = 0 in 1 ii ii 0
Cx , vv
Cv , v
−
=
< >∑
< > (36.1)
Adunând relaţiile xi+1 = xi + tivi pentru i =0..k-1, obţinem
xk = x0 + k 1 i
ii 0
t v−
=∑ . (36.2)
<xk, vk>C = x0 + k 1 i k
i Ci 0
t v , v−
=< >∑
<Cxk, vk> = <Cx0, vk> (36.3)
Mădălina Roxana Buneci
200
Deci
<∇f(xk), vk> = <Cxk + d, vk> = <Cxk, vk> + <d, vk>
( )
=36.3
<Cx0, vk> + <d, vk> (36.4)
Din lema 35 rezultă că tk = ( )k k
k k
f x , v
Cv , v
< ∇ >−
< > ( )
=36.4
0 k k
k k k k
Cx , v d, v
Cv , v Cv , v
< > < >− −
< > < >
pentru orice k, şi înlocuind în (36.2) k cu n şi fiecare ti, obţinem:
xn = x0 + ( )k k
n 1 kk k
k 0
f x , vv
Cv , v
−
=
< ∇ > −∑ < >
= x0 + 0 i in 1 ii i i i
i 0
Cx , v d, vv
Cv , v Cv , v
−
=
< > < >− − ∑ < > < >
= x0 + 0 in 1 ii ii 0
Cx , vv
Cv , v
−
=
< >− ∑
< >+
in 1 ii i
i 0
d, vv
Cv , v
−
=
< >− ∑ < >
( )
=36.1
x0 – x0 + in 1 i
i ii 0
d, vv
Cv , v
−
=
< >− ∑ < >
(36.5)
Conform lemei 34, f are unic punct de minim
x* = in 1 i
i ii 0
d, vv
Cv , v
−
=
< >− ∑ < >
,
şi în consecinţă ţinând cont şi de (36.5), rezultă xn =x*.
■
Lema 37. Fie f:Rn→R o funcţie definită prin f(x) = 1
2<x,Cx> + <x,d> cu
C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un vector fixat, şi fie v0, v1, ..., vm-1 (m
un număr natural) o familie de vectori conjugaţi în raport cu C doi câte doi. Se
construieşte şirul (xk)k:
xk+1 = xk + tkvk, x0 dat, 0≤ k ≤m
unde tk este pasul optimal asociat direcţiei vk, adică tk este soluţia optimă a problemei
t 0inf
≥f(xk + tvk). Atunci <∇f(xk+1), vi> = 0 pentru orice i ∈ {0, 1, …, k}.
Demonstraţie. Vom face demonstraţia inductiv după k. Pentru k =0 avem
<∇f(x1), v0> = <Cx1 + d, v0> = <Cx0 + t0Cv0, v0> + <d, v0>
Optimizări
201
= <Cx0, v0> + t0<Cv0, v0> + <d, v0>,
şi ţinând cont că t0 = ( )0 0
0 0
f x , v
Cv , v
< ∇ >−
< >=
0 0 0
0 0 0 0
Cx , v d, v
Cv , v Cv , v
< > < >− −
< > < > (conform,
lemei 35) rezultă că <∇f(x1), v0> = 0. Presupunem afirmaţia adevărată pentru k şi o
demonstrăm pentru k+1. Pentru i = k avem
<∇f(xk+1), vk> = <Cxk+1 + d, vk> = <Cxk + tkCvk, vk> + <d, vk>
= <Cxk, vk> + tk<Cvk, vk> + <d, vk>,
iar din lema 35, tk = ( )k k
k k
f x , v
Cv , v
< ∇ >−
< >=
k k k
k k k k
Cx , v d, v
Cv , v Cv , v
< > < >− −
< > < > . Aşadar
<∇f(xk), vk> = 0. Pentru i ∈ {0, 1, …, k-1}, conform ipotezei de inducţie <∇f(xk),vi>
= 0, şi ca urmare
<∇f(xk+1), vi> = <Cxk+1 + d, vi> = <Cxk + tkCvk + d, vi>
= <∇f(xk), vi> + tk<Cvk, vi> = tk<vk, vi>C = 0.
■
Propoziţie 38. Fie f:Rn→R o funcţie definită prin f(x) = 1
2<x,Cx> + <x,d>
cu C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un vector fixat, şi fie v0, v1, ..., vn-1
o familie de vectori nenuli conjugaţi în raport cu C doi câte doi. Se construieşte şirul
(xk)k:
xk+1 = xk + tkvk, x0 dat, 0≤ k ≤n-1
unde tk este pasul optimal asociat direcţiei vk, adică tk este soluţia optimă a problemei
t 0inf
≥f(xk + tvk). Atunci xk+1 este soluţie optimă a problemei
x Ak
inf∈
f(x), unde Ak = x0 +
Sp{v0, v1, …, vk} = x0 + n 1 i
i ii 0
v ,−
=
λ λ ∈∑
R .
Demonstraţie. Adunând relaţiile xi+1 = xi + tivi pentru i =0..k, obţinem
xk+1 = x0 + k i
ii 0
t v=∑ .
Fie x ∈Ak. Atunci există λ0, λ1, ..., λn-1∈R astfel încât x = x0 + n 1 i
ii 0
v−
=λ∑ . Avem
<∇f(xk+1), x-xk+1> = ( ) ( )kk 1 i
i ii 0
f x , t v+
=< ∇ λ − >∑
Mădălina Roxana Buneci
202
= ( ) ( )k k 1 ii i
i 0t f x , v+
=λ − < ∇ >∑
= 0
conform lemei 37. Deci pentru orice x∈Ak avem
f(x) – f(xk+1) ≥ <∇f(xk+1), x-xk+1> = 0,
şi ca urmare xk+1 este punct de minim pentru f pe Ak.
■
În cazul metodei gradientului conjugat vectorii C- conjugaţi v0, v1, ..., vn-1 se
construiesc prin ortogonalizarea relativ la produsul scalar <⋅, ⋅>C a sistemului de
vectori –∇f(x0), -∇f(x1), ..., ∇f(xn-1) folosind procedeul Gram-Schmidt. Astfel
v0 = -∇f(x0)
vk = -∇f(xk) + k 1 i
kii 0
v−
=λ∑
unde λki (i=0..k-1) se determină astfel încât pentru orice k şi orice j ≤ k-1, <vk, vj> =
0. Astfel
λki = ( )i k
C
i iC
v , f x
v , v
< ∇ >
< >=
( )i k
i i
Cv , f x
Cv , v
< ∇ >
< >
Conform lemei 37, pentru orice k ≥ 1 avem
<∇f(xk), ∇f(x0) > = -<∇f(xk), v0 > = 0
şi pentru orice i ≥1 şi k≥ i+1
<∇f(xi),∇f(xk),> = < - vi +i 1 j
i 1, jj 0
v−
−=
λ∑ , ∇f(xk)> = 0.
Pe de altă parte
∇f(xi+1) = Cxi+1 + d = Cxi + tiCvi + d = ∇f(xi) + tiCvi
şi ca urmare pentru orice i ∈{0, 1, …, k-2}
0 = <∇f(xi+1), ∇f(xk)> = <∇f(xi), ∇f(xk)> + ti<Cvi, ∇f(xk)> = ti<Cvi, ∇f(xk)>.
Aşadar <Cvi, ∇f(xk)> = 0 şi deci λki =0 pentru orice i ∈{0, 1, …, k-2}. Deci
vk = -∇f(xk) + k 1 i
kii 0
v−
=λ∑ = -∇f(xk) + λkk-1vk-1
Optimizări
203
= -∇f(xk) + ( )k 1 k
k 1 k 1
Cv , f x
Cv , v
−
− −
< ∇ >
< >vk-1.
Deci vk+1 = -∇f(xk+1) + βkvk, unde
βk = ( )k k 1
k k
Cv , f x
Cv , v
+< ∇ >
< >
Cum din lema 35 tk = ( )k k
k k
f x , v
Cv , v
< ∇ >−
< > şi
∇f(xk+1) = Cxk+1 + d = Cxk + tkCvk + d = ∇f(xk) + tkCvk
=∇f(xk) ( )k k
k k
f x , v
Cv , v
< ∇ >−
< > Cvk
rezultă că Cvk = ( )
k k
k k
Cv , v
f x , v
< >< ∇ >
(∇f(xk) - ∇f(xk+1)). În consecinţă
βk = ( ) ( ) ( )
( )k k 1 k 1
k k
f x f x , f x
f x , v
+ +< ∇ − ∇ ∇ >
< ∇ >
şi ţinând cont că vk = -∇f(xk) + βk-1vk-1, de unde <∇f(xk), vk> = -<∇f(xk), ∇f(xk)>
(conform lemei 37, <∇f(xk), vk-1> = 0), rezultă
βk = ( ) ( ) ( )
( ) ( )k 1 k k 1
k k
f x f x , f x
f x , f x
+ +< ∇ − ∇ ∇ >
< ∇ ∇ >
Deoarece <∇f(xk), ∇f(xk+1)> = 0, βk poate fi exprimat echivalent:
βk = ( ) ( )
( ) ( )k 1 k 1
k k
f x , f x
f x , f x
+ +< ∇ ∇ >
< ∇ ∇ >.
În virtutea condiţiei de C-ortogonalitate, în cazul funcţiilor pătratice, metoda
gradientului conjugat converge într-un număr finit de paşi k ≤ n (conform propoziţiei
36). Deoarece formulele de calcul pentru βk nu depind explicit de matricea C, metoda
poate fi aplicată unor funcţii mai generale. Dacă funcţia f nu este pătratică atunci cele
două formule de calcul ale lui βk nu sunt echivalente.
În cazul în care
Mădălina Roxana Buneci
204
βk = ( ) ( )
( ) ( )k 1 k 1
k k
f x , f x
f x , f x
+ +< ∇ ∇ >
< ∇ ∇ >.
se obţine algoritmul Fletcher-Reeves, iar în cazul în care
βk = ( ) ( ) ( )
( ) ( )k 1 k k 1
k k
f x f x , f x
f x , f x
+ +< ∇ − ∇ ∇ >
< ∇ ∇ >
se obţine algoritmul Polak-Ribiere. Schiţăm mai jos cei doi algoritmi.
Algoritmul Fletcher-Reeves (se presupune x0 dat)
k: = 0;
v0:=∇f(x0);
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: *se determină pasul de deplasare tk (optimal sau suboptimal)
asociat direcţiei de deplasare vk;
pasul 2: xk+1 = xk + tkvk ;
pasul 3: βk : = ( ) ( )
( ) ( )k 1 k 1
k k
f x , f x
f x , f x
+ +< ∇ ∇ >
< ∇ ∇ >; vk+1:=-∇f(xk+1) + βkv
k.
k: = k+1;
Algoritmul Polak-Ribiere (se presupune x0 dat)
k: = 0;
v0:=∇f(x0);
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: *se determină pasul de deplasare tk (optimal sau suboptimal)
asociat direcţiei de deplasare vk;
pasul 2: xk+1 = xk + tkvk ;
pasul 3: βk : = ( ) ( ) ( )
( ) ( )k 1 k k 1
k k
f x f x , f x
f x , f x
+ +< ∇ − ∇ ∇ >
< ∇ ∇ >;
vk+1:=-∇f(xk+1) + βkvk.
k: = k+1;
Optimizări
205
Prezentăm în continuare implementarea în MAPLE a celor doi algoritmi de mai sus.
Procedurile au drept parametri funcţia obiectiv f, punctul iniţial, notat x00, şi precizia
ε (criteriul de oprire este ||∇f(xk)|| < ε). Procedurile folosesc comenzi din pachetul
linalg. Funcţionare procedurilor va fi exemplificată pentru funcţiile:
> f1:=(x,y)->3*x^2+2*y^2-2*x*y-4*x+2*y-3;
:= f1 → ( ),x y + − − + − 3 x2 2 y2 2 x y 4 x 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
:= f2 → ( ),x y + 10 ( ) − y x22
( ) − x 1 2
> f4:=(x,y)->1/(x-1)^4/4+(y^2-x);
:= f4 → ( ),x y + − 14
1
( ) − x 1 4y2 x
> f6:=(x,y)->x^2*(4-2.1*x^2+x^4/3)+x*y+y^2*(-4+4*y^2);
:= f6 → ( ),x y + + x2
− + 4 2.1 x2 1
3x4 x y y2 ( )− + 4 4 y2
Pentru funcţiile f6 cu punctul iniţial (1, -1)t şi f2 cu punctul iniţial (0, 1)t vom prezenta
şi reprezentarea grafică (3D şi contour) a iteraţiilor (cele două funcţii nu sunt funcţii
convexe!).
Implementarea algoritmului Fletcher-Reeves (pasul optimal de deplasare este
obţinut prin metoda secţiunii de aur) :
> FletcherReeves:=proc(f,x00,epsilon)
> local x0,i,n,g,g0,v,beta,t1,t2,t,
y1,y2,alpha,alpha1,a,b,L,u,w,nmax,j,phi;
> n:=vectdim(x00); x0:=vector(n);v:=vector(n);
>g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>v:=evalm(-g0);
> while norm(g0,2)>=epsilon do
>phi:=t->f(seq(x0[i]+t*v[i],i=1..n));
> t1:=0.; t2:=1.; y1:=phi(t1); y2:=phi(t2);
> if y1<=y2 then a:=t1; b:=t2 else
> while y1>y2 do y1:=y2;t1:=t2;t2:=t2+1;y2:=phi(t2) od;
> a:=t1-1; b:=t2 fi;
> alpha:=evalf((5^(1/2)-1)/2);alpha1:=1-alpha;
Mădălina Roxana Buneci
206
> L:=b-a;u:=a+alpha1*L;w:=a+alpha*L;y1:=phi(u);
>y2:=phi(w);nmax:=ceil(ln(epsilon/(10*L))/ln(alpha));j:=0;
> while j<nmax do
> if y1<y2 then b:=w;L:=b-a;
> y2:=y1;w:=u;u:=a+alpha1*L;y1:=phi(u)
> else a:=u;L:=b-a;
> y1:=y2;u:=w;w:=a+alpha*L;y2:=phi(w);
> fi;
>j:=j+1
> od;
> t:=(a+b)/2;beta:=sum(g0[i]*g0[i],i=1..n);
> x0:=evalm(x0+t*v);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>beta:=sum(g0[i]*g0[i],i=1..n)/beta;v:=evalm(-g0+beta*v);
> od;
> RETURN(evalm(x0))
> end;
> FletcherReeves(f1,vector([0,0]),10^(-4));
[ ],0.6000128098 -0.2000001602
> FletcherReeves(f2,vector([1,0]),10^(-4));
[ ],0.9999779929 0.9999537039
> FletcherReeves(f2,vector([-1,0]),10^(-4));
[ ],0.9999957029 0.9999902214
> FletcherReeves(f2,vector([-0.5,0.2]),10^(-4));
[ ],0.9999864790 0.9999713199
> FletcherReeves(f3,vector([0,-1]),10^(-4));
[ ],0.28487 10-5 -0.0000111958
> FletcherReeves(f4,vector([0.5,3]),10^(-4));
[ ],0.29674978 10-6 0.00003805865244
> FletcherReeves(f4,vector([-0.5,0.2]),10^(-4));
[ ],-0.633170353 10-5 -0.61905436 10-5
> FletcherReeves(f6,vector([-1,-1]),10^(-4));
[ ],-0.08984210733 0.7126526153
> FletcherReeves(f6,vector([-1,1]),10^(-4));
[ ],1.703604624 -0.7960833832
Optimizări
207
> FletcherReeves(f6,vector([1,1]),10^(-4));
[ ],0.08984210733 -0.7126526153
> FletcherReeves(f2,vector([0,1]),10^(-4));
[ ],0.9999789174 0.9999564617
17 iteraţii
> FletcherReeves(f6,vector([1,-1]),10^(-4));
[ ],-1.703604624 0.7960833832
1241 iteraţii
Implementarea algoritmului Polak-Ribiere (pasul optimal de deplasare este obţinut
prin metoda secţiunii de aur) :
> PolakRibiere:=proc(f,x00,epsilon)
> local x0,i,n,g,g0,g1,v,beta,t1,t2,t,y1,y2,
>alpha,alpha1,a,b,L,u,w,nmax,j,phi;
Mădălina Roxana Buneci
208
> n:=vectdim(x00); x0:=vector(n);v:=vector(n);
>g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
> x0:=map(evalf,x00);
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>v:=evalm(-g0);
> while norm(g0,2)>=epsilon do
>phi:=t->f(seq(x0[i]+t*v[i],i=1..n));
> t1:=0.; t2:=1.; y1:=phi(t1); y2:=phi(t2);
> if y1<=y2 then a:=t1; b:=t2 else
> while y1>y2 do y1:=y2;t1:=t2;t2:=t2+1;y2:=phi(t2) od;
> a:=t1-1; b:=t2 fi;
> alpha:=evalf((5^(1/2)-1)/2);alpha1:=1-alpha;
> L:=b-a;u:=a+alpha1*L;w:=a+alpha*L;y1:=phi(u);y2:=phi(w);
>nmax:=ceil(ln(epsilon/(10*L))/ln(alpha));j:=0;
> while j<nmax do
> if y1<y2 then b:=w;L:=b-a;
> y2:=y1;w:=u;u:=a+alpha1*L;y1:=phi(u)
> else a:=u;L:=b-a;
> y1:=y2;u:=w;w:=a+alpha*L;y2:=phi(w);
> fi;
>j:=j+1
> od;
> t:=(a+b)/2;
> x0:=evalm(x0+t*v);
> g1:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>beta:=sum((g1[i]-g0[i])*g1[i],i=1..n)/sum(g0[i]*g0[i],i=1..n);
>g0:=evalm(g1);v:=evalm(-g0+beta*v);
> od;
> RETURN(evalm(x0))
> end;
> PolakRibiere(f1,vector([0,0]),10^(-4));
[ ],0.6000173636 -0.1999812728
> PolakRibiere(f2,vector([1,0]),10^(-4));
[ ],0.9999999306 0.9999998742
> PolakRibiere(f2,vector([-1,0]),10^(-4));
[ ],0.9999998969 0.9999997969
Optimizări
209
> PolakRibiere(f2,vector([-0.5,0.2]),10^(-4));
[ ],1.000002020 1.000004631
> PolakRibiere(f3,vector([0,-1]),10^(-4));
[ ],-0.916052101 10-6 -0.366547736 10-5
> PolakRibiere(f4,vector([0.5,3]),10^(-4));
[ ],-0.1120502499 10-5 -0.00001018277
> PolakRibiere(f4,vector([-0.5,0.2]),10^(-4));
[ ],0.832527387 10-5 0.00001060187505
> PolakRibiere(f6,vector([-1,-1]),10^(-4));
[ ],-0.08984347334 0.7126526183
> PolakRibiere(f6,vector([-1,1]),10^(-4));
[ ],-1.703605085 0.7960854846
> PolakRibiere(f6,vector([1,1]),10^(-4));
[ ],0.08984347334 -0.7126526183 > PolakRibiere(f2,vector([0,1]),10^(-4));
[ ],0.9999999059 0.9999997978
9 iteraţii
> PolakRibiere(f6,vector([1,-1]),10^(-4));
[ ],1.703605085 -0.7960854846
Mădălina Roxana Buneci
210
14 iteraţii
Pentru a limita acumularea erorilor datorate impreciziei calculului paşilor tk,
se recomandă reiniţializarea direcţiei vk sub forma vk = -∇f(xk) după fiecare m
iteraţii, m≥n. Se obţin astfel metodele de gradient conjugat cu reiniţializare
(restart), caracterizate prin calcularea la pasul 3
kβ =
şi alegerea direcţiei de deplasare vk+1:=-∇f(xk+1) + kβ vk.
Prezentăm în continuare implementarea în MAPLE ale algoritmilor Flecher-
Revees şi Polak-Ribiere cu reiniţializare (restart) după fiecare n iteraţii (n este
numărul de variabile de care depinde funcţia obiectiv). Vom opta pentru alegerea
suboptimală a pasului. Procedurile au drept parametri funcţia obiectiv f, punctul
iniţial, notat x00, şi precizia ε (criteriul de oprire este ||∇f(xk)|| < ε). Procedurile
folosesc comenzi din pachetul linalg. Funcţionare procedurilor va fi exemplificată
pentru aceleaşi funcţii ca procedurile fără restart (FlecherReeves, PolakRibiere)
Implementarea algoritmului Fletcher-Reeves cu restart (pasul suboptimal de
deplasare este generat prin algoritmul backtracking-Armijo) :
> FletcherReeves_r:=proc(f,x00,epsilon)
> local x1,x0,i,n,g,g0,v,beta,z0,tinit,beta_pas,delta,t, k;
0, dacă k 1
m
+ întreg
βk, în caz contrar
Optimizări
211
> n:=vectdim(x00); x0:=vector(n);x1:=vector(n);v:=vector(n);
>g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
>beta_pas:=0.5;delta:=0.1;tinit:=1.;
> x0:=map(evalf,x00);k:=0;
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>v:=evalm(-g0);
> while norm(g0,2)>=epsilon do
> z0:=evalf(f(seq(x0[i],i=1..n))); t:=tinit;x1:=evalm(x0+t*v);
> while f(seq(x1[i],i=1..n))>z0+t*delta*sum(g0[i]*v[i],i=1..n)
> do t:=t*beta_pas; x1:=evalm(x0+t*v);
> od;
> beta:=sum(g0[i]*g0[i],i=1..n);
> x0:=evalm(x1);k:=k+1;
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>if irem(k+1,n)=0 then beta:=0 else
>beta:=sum(g0[i]*g0[i],i=1..n)/beta fi;v:=evalm(-g0+beta*v);
> od;
> RETURN(evalm(x0))
> end;
> FletcherReeves_r(f1,vector([0,0]),10^(-4));
[ ],0.6000057569 -0.2000119450
> FletcherReeves_r(f2,vector([1,0]),10^(-4));
[ ],0.9999311774 0.9998613155
> FletcherReeves_r(f2,vector([-1,0]),10^(-4));
[ ],0.9999269533 0.9998499381
> FletcherReeves_r(f2,vector([-0.5,0.2]),10^(-4));
[ ],1.000036412 1.000076377
> FletcherReeves_r(f3,vector([0,-1]),10^(-4));
[ ],-0.876325710 10-6 -0.00001133598715
> FletcherReeves_r(f4,vector([0.5,3]),10^(-4));
[ ],0.44320465 10-5 0.00001173252907
> FletcherReeves_r(f4,vector([-0.5,0.2]),10^(-4));
[ ],0.73348991 10-5 0.
> FletcherReeves_r(f6,vector([-1,-1]),10^(-4));
[ ],-0.08984022516 0.7126573686
Mădălina Roxana Buneci
212
> FletcherReeves_r(f6,vector([-1,1]),10^(-4));
[ ],-0.08984151229 0.7126566759
> FletcherReeves_r(f6,vector([1,1]),10^(-4));
[ ],0.08984022516 -0.7126573686
> FletcherReeves_r(f2,vector([0,1]),10^(-4));
[ ],0.9999125593 0.9998228383
115 iteraţii
> FletcherReeves_r(f6,vector([1,-1]),10^(-4));
[ ],0.08984151229 -0.7126566759
14 iteraţii
Optimizări
213
Implementarea algoritmului Polak-Ribiere cu restart(pasul suboptimal de
deplasare este generat prin algoritmul backtracking-Armijo) :
> PolakRibiere_r:=proc(f,x00,epsilon)
> local x0,x1,i,n,g,g0,g1,v,beta,z0,tinit,beta_pas,delta,t,k;
> n:=vectdim(x00); x0:=vector(n);x1:=vector(n);v:=vector(n);
>g:=grad(f(seq(x[i],i=1..n)),[seq(x[i],i=1..n)]);
>beta_pas:=0.5;delta:=0.1;tinit:=1.;
> x0:=map(evalf,x00);k:=0;;
> g0:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>v:=evalm(-g0);
> while norm(g0,2)>=epsilon do
> z0:=evalf(f(seq(x0[i],i=1..n))); t:=tinit;x1:=evalm(x0+t*v);
> while f(seq(x1[i],i=1..n))>z0+t*delta*sum(g0[i]*v[i],i=1..n)
> do t:=t*beta_pas; x1:=evalm(x0+t*v);
> od;
> x0:=evalm(x1);
> g1:=vector([seq(subs(seq(x[i]=x0[i],i=1..n), g[j]),j=1..n)]);
>k:=k+1;
>if irem(k+1,n)=0 then
>beta:=sum((g1[i]-g0[i])*g1[i],i=1..n)/sum(g0[i]*g0[i],i=1..n) else
beta:=0 fi;
>g0:=evalm(g1);v:=evalm(-g0+beta*v);
> od;
> RETURN(evalm(x0))
> end;
> PolakRibiere_r(f1,vector([0,0]),10^(-4));
[ ],0.5999894627 -0.1999927775
> PolakRibiere_r(f2,vector([1,0]),10^(-4));
[ ],0.9999408998 0.9998813146
> PolakRibiere_r(f2,vector([-1,0]),10^(-4));
[ ],0.9999400952 0.9998796744
> PolakRibiere_r(f2,vector([-0.5,0.2]),10^(-4));
[ ],0.9999424538 0.9998810721
> PolakRibiere_r(f3,vector([0,-1]),10^(-4));
Mădălina Roxana Buneci
214
[ ],-0.274299758 10-5 0.00002535024096
> PolakRibiere_r(f4,vector([0.5,3]),10^(-4));
[ ],-0.00001126654842 -0.3144577122 10-7
> PolakRibiere_r(f4,vector([-0.5,0.2]),10^(-4));
[ ],0.00001096961757 -0.1101010205 10-9
> PolakRibiere_r(f6,vector([-1,-1]),10^(-4));
[ ],-0.08984470254 0.7126608923
> PolakRibiere_r(f6,vector([-1,1]),10^(-4));
[ ],0.08984030100 -0.7126516985
> PolakRibiere_r(f6,vector([1,1]),10^(-4));
[ ],0.08984470254 -0.7126608923
> PolakRibiere_r(f2,vector([0,1]),10^(-4));
[ ],0.9999315557 0.9998621322
445 iteraţii
> PolakRibiere_r(f6,vector([1,-1]),10^(-4));
[ ],-0.08984030100 0.7126516985
Optimizări
215
14 iteraţii
VII.3.7. Metode cvasi-Newton (Metode de metrică variabilă)
În cazul metodelor cvasi-Newton (metode de metrică variabilă) direcţia de
deplasare se alege sub forma
vk= - Hk∇f(xk)
unde Hk este o matrice pozitiv definită reprezentând o aproximare a inversei
hessianei Hf(xk). În cele ce urmează notăm
sk = xk+1 – xk şi yk = ∇f(xk+1) - ∇f(xk) , k ≥ 0.
În cazul unei funcţii pătratice strict convexe f:Rn→R, adică a unei funcţii de
forma f(x) = 1
2<x,Cx> + <x, d> cu C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un
vector fixat, avem ∇f(x) = Cx + d şi Hf(x) = C pentru orice x ∈ Rn. Ca urmare:
yk = ∇f(xk+1) - ∇f(xk) = C(xk+1 - xk) = Csk, k ≥ 0
sk = C-1yk, k≥0
iar C = Hf(xj) pentru orice j. Plecând de la această observaţie se vor căuta Hk,
aproximaţii a inverselor matricelor Hf(xk), care să îndeplinească următoarele
condiţii:
1. si = Hk+1yi pentru orice i, 0≤i≤k (condiţia sk = Hk+1y
k se numeşte condiţia
secantei, iar implicaţia „si = Skyi pentru orice i, 0≤i≤k-1 => si = Sk+1y
i
pentru orice i, 0≤i≤k-1” se numeşte proprietatea de ereditate)
Mădălina Roxana Buneci
216
2. Hk pozitiv definită
Matricele Hk vor fi determinate recursiv:
Hk+1 = Hk + Dk, k ≥0.
Algoritmul generic asociat metodelor cvasi-Newton aplicat funcţiilor
pătratice este schiţat mai jos (se presupune x0 dat şi H0 dat, de exemplu H0 = In )
k: = 0;
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: vk = - Hk∇f(xk)
pasul 2: *se determină pasul de deplasare tk (optimal) asociat direcţiei de
deplasare vk;
pasul 3: xk+1 = xk + tkvk ;
pasul 4: *se alege Dk astfel încât Hk+1 = Hk + Dk să fie pozitiv definită şi în
plus, să fie îndeplinite condiţia secantei ( Hk+1yk = sk) şi
proprietatea de ereditate (Hk+1yi = si pentru orice i , 0≤i≤k-1);
k: = k+1;
Lema 39. Fie f:Rn→R o funcţie definită prin f(x) = 1
2<x,Cx> + <x, d>, cu
C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un vector fixat, şi fie x0∈Rn. Fie k un
număr natural şi fie (xj)j şirul definit prin xj+1 = xj – tjHj∇f(xj), 0≤ j≤ k unde
- Pentru orice 0≤j≤k, matricele Hj sunt pozitiv definite şi îndeplinesc condiţia si
= Hjyi pentru orice i, 0≤i≤j-1 cu si = xi+1 – xi şi yi = ∇f(xi+1) - ∇f(xi)
- tj este pasul optimal asociat direcţiei vj = - Hj∇f(xj).
Atunci vectorii s0, s1, ..., sk sunt conjugaţi în raport cu C doi câte doi.
Demonstraţie. Observăm că pentru orice k ≥0
sk = xk+1 – xk = tkvk = -tkHk∇f(xk)
iar din faptul că ∇f(x) = Cx+d deducem că
yk = ∇f(xk+1) - ∇f(xk) = Csk = tkCvk = -tkCHk∇f(xk).
Vom face demonstraţia prin inducţie după k. Pentru k = 1, obţinem
<s1, Cs0> = -t0<H1∇f(x1), Cs0> = -t0<∇f(x1), H1Cs0> = -t0<∇f(x1), H1y0>
= -t0<∇f(x1), s0> = <Cx1 + d, v0> = <Cx0 + t0Cv0, v0> + <d, v0>
= <Cx0, v0> + t0<Cv0, v0> + <d, v0>,
Optimizări
217
şi ţinând cont că t0 = ( )0 0
0 0
f x , v
Cv , v
< ∇ >−
< >=
0 0 0
0 0 0 0
Cx , v d, v
Cv , v Cv , v
< > < >− −
< > < > (conform,
lemei 35) rezultă că <s1, Cs0> = 0.
Presupunem afirmaţia adevărată pentru k şi o demonstrăm pentru k+1. Avem
<sk+1, Csi> = -tk+1<Hk+1∇f(xk+1), Csi> = -tk+1<∇f(xk+1), Hk+1Csi> =
= -tk+1<∇f(xk+1), Hk+1yi> = -tk+1<∇f(xk+1), si> (39. 1)
Din ipoteza de inducţie rezultă că s0, s1, ..., sk sunt conjugaţi în raport cu C doi câte
doi, şi aplicând lema 37 rezultă că <∇f(xk+1), si> = 0 pentru orice i∈{0,1, ...,k}. Mai
departe din (39.1) obţinem
<sk+1, Csi> = -tk+1<∇f(xk+1), si> = 0.
În consecinţă, s0, s1, ..., sk+1 sunt conjugaţi în raport cu C doi câte doi.
■
În condiţiile lemei 39 dacă la un moment dat sk = 0 (k < n) atunci de fapt vk =
0 sau echivalent ∇f(xk) = 0. Aşadar xk este punctul de minim al lui f (fiind punct
staţionar al funcţiei convexe f). Dacă s0, s1, ..., sn-1 sunt toţi nenuli, atunci fiind
conjugaţi în raport cu C doi câte doi, rezultă că s0, s1, ..., sn-1 sunt liniar independenţi.
Atunci ţinând cont de faptul că si = Hnyi şi că yi = Csi, de unde si =HnCsi pentru orice
i=0..n-1, rezultă că Hn = C-1. Deci vn = -Hn∇f(xn) = -C-1∇f(xn). Atunci pasul optimal
tn asociat direcţiei (Newton) vn = -C-1∇f(xn) este tn = 1. Ca urmare
xn+1 = xn - tnHn∇f(xn) = xn-C-1(Cxn+d) = -C-1d,
Aşadar xn+1 este punctul de minim al lui f (fiind punct staţionar al funcţiei convexe
f). Deci minimul lui f este determinat în urma a cel mult n+1 iteraţii.
Aşa cum precizat matricele Hk se determină recursiv:
Hk+1 = Hk + Dk, k ≥0.
Prezentăm în continuare trei metode de alegere a matricei Dk. Formula de corecţie de
ordinul I presupune utilizarea pe post de Dk a unei matrice de rang 1. Mai precis,
căutăm Dk de forma Dk = akzk ( )tkz , unde ak ∈R, ak≠0 şi zk ∈Rn. Determinăm ak şi
zk astfel încât să fie îndeplinită condiţia secantei. Din condiţia secantei rezultă
(Hk + Dk)yk = sk
Mădălina Roxana Buneci
218
Hkyk + ak z
k ( )tkz yk = sk
Înmulţind la stânga cu ( )tky , obţinem
( )tky Hkyk + ak ( )tky zk ( )tkz yk = ( )tky sk
<yk, Hkyk> + ak (<yk, zk>)2 =<yk, sk>
ak =
( )k k k
k2k k
y ,s H y
y ,z
< − >
< >
Revenind la condiţia secantei Hkyk + ak z
k ( )tkz yk = sk, obţinem
zk = k
1
a k k
1
z , y< >(sk - Hky
k)
de unde,
Dk = akzk ( )tkz = ak 2
k
1
a ( )2k k
1
z , y< >(sk - Hky
k) (sk - Hkyk)t
= k
1
a ( )2k k
1
z , y< >(sk - Hky
k) (sk - Hkyk)t
= ( )2k k
k k kk
y , z
y ,s H y
< >
< − > ( )2k k
1
z , y< >(sk - Hky
k) (sk - Hkyk)t
= ( )( )tk k k k
k k
k k kk
s H y s H y
y ,s H y
− −
< − >
Arătăm prin inducţie după k că dacă funcţia f este pătratică (f(x) = 1
2<x,Cx> +
<x,d>, cu C simetrică), H0 este simetrică şi dacă avem
Dk = ( )( )tk k k k
k k
k k kk
s H y s H y
y ,s H y
− −
< − >,
atunci este îndeplinită condiţia Hk+1yi = si pentru orice 0≤i≤k (Hk+1 = Hk + Dk).
Pentru orice k condiţia este îndeplinită pentru i = k din construcţia lui Dk (chiar dacă
Optimizări
219
funcţia f nu este pătratică). Ca urmare pentru k = 0 afirmaţia este adevărată.
Presupunem afirmaţia adevărată pentru k şi o demonstrăm pentru k +1. Pentru orice
i, 0 ≤ i ≤ k, avem
Hk+2 yi = (Hk+1 + Dk+1) y
i
= Hk+1yi +
( )( )tk 1 k 1 k 1 k 1k 1 k 1
k 1 k 1 k 1k 1
s H y s H y
y ,s H y
+ + + ++ +
+ + ++
− −
< − >yi
= si +( )k 1 k 1
k 1k 1 k 1 ik 1 k 1 k 1 k 1
k 1
s H ys H y , y
y ,s H y
+ +++ +
+ + + ++
−< − >
< − >
= si +( ) ( )k 1 k 1k 1k 1 i k 1 i
k 1 k 1 k 1 k 1k 1
s H ys , y H y , y
y ,s H y
+ +++ +
+ + + ++
−< > − < >
< − >
= si +( ) ( )k 1 k 1k 1k 1 i k 1 i
k 1 k 1 k 1 k 1k 1
s H ys , y y , H y
y ,s H y
+ +++ +
+ + + ++
−< > − < >
< − >
= si +( ) ( )k 1 k 1k 1k 1 i k 1 i
k 1 k 1 k 1k 1
s H ys , y y , s
y ,s H y
+ +++ +
+ + ++
−< > − < >
< − >
= si +( ) ( )k 1 k 1k 1k 1 i k 1 i
k 1 k 1 k 1k 1
s H ys , Cs Cs , s
y ,s H y
+ +++ +
+ + ++
−< > − < >
< − >
= si +( ) ( )k 1 k 1k 1k 1 i k 1 i
k 1 k 1 k 1k 1
s H yCs , s Cs , s
y ,s H y
+ +++ +
+ + ++
−< > − < >
< − >
= si.
Actualizarea matricei Hk sub forma
Hk+1 = Hk + Dk cu Dk = ( )( )tk k k k
k k
k k kk
s H y s H y
y ,s H y
− −
< − >
Poartă denumirea de formula de corecţie de rang 1. Dacă numitorul <yk,sk– Hkyk>
nu este pozitiv, atunci pozitiv definirea matricei Hk+1 nu este garantată.
Formula de corecţie de rang 2 Davidon-Fletcher–Powell (formula DFP)
presupune Hk sub forma Hk+1 = Hk + Dk cu
Mădălina Roxana Buneci
220
Dk = ( )tk k
k k
s s
s , y< >-
( )tk kk k
k kk
H y y H
y ,H y< >
Arătăm că în cazul acestei formule dacă Hk este pozitiv definită şi <sk, yk> >
0, atunci Hk+1 = Hk + Dk este pozitiv definită.
Lema 40. Fie Hk o matrice pozitiv definită şi sk yk∈Rn astfel încât <sk, yk> >
0. Atunci Hk+1 = Hk + Dk este pozitiv definită, unde
Dk = ( )tk k
k k
s s
s , y< >-
( )tk kk k
k kk
H y y H
y ,H y< >
În plus, Hk+1yk = sk.
Demonstraţie. Să observăm mai întâi că dacă z ∈Rn este un vector nenul,
atunci matricea In -tzz
z, z< >este pozitiv semidefinită. Într-adevăr este simetrică şi
pentru orice v∈Rn avem
<v, v-tzz
z, z< >v> = <v, v> - <v,
tzz
z, z< >v> =<v, v> -
t tv zz v
z, z< > =
=<v, v> - ( )2tz v
z, z< > =
( )2z, z v, v z, v
z, z
< >< > − < >< >
≥0
Dacă H este matrice pozitiv definită şi dacă y ∈Rn este un vector nenul, atunci
H - tHyy H
y,Hy< > =
1
2H
1 1t2 2
nH yy H
Iy,Hy
− < >
1
2H
este pozitiv semidefinită, deoarece
1 1t2 2
nH yy H
Iy,Hy
− < >
= In -tzz
z, z< > cu z =
1
2H y.
În plus, y este vector propriu asociat matricei H = H - tHyy H
y,Hy< > asociat valorii
proprii λ = 0, iar dimensiunea subspaţiului corespunzător este 1. Atunci pentru orice
θ > 0 şi orice s cu proprietatea că <s, y> ≠ 0, rezultă că H +θsst este pozitiv definită.
Optimizări
221
Înlocuind H prin Hk, y prin yk, s prin sk şi θ prin k k
1
s , y< > se obţine că Hk -
( )tk kk k
k kk
H y y H
y ,H y< > +
( )tk k
k k
s s
s , y< > este pozitiv definită.
Avem
Hk+1yk = (Hk + Dk)y
k = (Hk + ( )tk k
k k
s s
s , y< >-
( )tk kk k
k kk
H y y H
y ,H y< >)yk
=Hkyk +
( )( )
tk k k
tk k
s s y
s y-
( )( )
tk k kk k
tk kk
H y y H y
y H y
=Hkyk + sk – Hky
k = sk
■
Lema 41. Fie f:Rn→R o funcţie definită prin f(x) = 1
2<x,Cx> + <x, d>, cu
C∈Mn,n(R) o matrice pozitiv definită şi d∈Rn un vector fixat, şi fie x0∈Rn. Fie (xk)k
şirul definit prin xk+1 = xk - tkHk∇f(xk), unde
- şirul de matrice (Hk)k este definit prin H0 = In şi Hk+1 = Hk + Dk, cu
Dk = ( )tk k
k k
s s
s , y< >-
( )tk kk k
k kk
H y y H
y ,H y< >, sk = xk+1 – xk şi yk = ∇f(xk+1) - ∇f(xk)
- tk este pasul optimal asociat direcţiei vk = - Hk∇f(xk).
Atunci pentru orice k≥0, si = Hk+1yi pentru orice i ∈{0, 1, …,k}.
Demonstraţie. Observăm că pentru orice k
sk = xk+1 – xk = tkvk = -tkHk∇f(xk)
iar din faptul că ∇f(x) = Cx+d deducem că
yk = ∇f(xk+1) - ∇f(xk) = Csk = tkCvk = -tkCHk∇f(xk).
Ca urmare <sk, yk> = <sk, Csk> > 0 pentru orice sk ≠ 0. Deci conform lemei 40,
matricele Hk sunt pozitiv definite pentru orice k cu sk ≠ 0 (evident dacă sk = 0, atunci
şi yk = 0; mai mult, în acest caz si=yi =0 pentru orice i ≥ k) .
Vom face demonstraţia prin inducţie după k. Pentru k = 0, obţinem s0=H1y0,
egalitate adevărată conform lemei 40. Presupunem că pentru orice 1≤j ≤k
Mădălina Roxana Buneci
222
si = Hjyi pentru orice i ∈{0, 1, …,j-1}
şi demonstrăm că
si = Hk+1yi pentru orice i ∈{0, 1, …,k}.
Conform lemei 39 vectorii s0, s1, ..., sk sunt conjugaţi în raport cu C doi câte doi.
Deoarece pentru orice i∈{0,1, ..., k-1}
<sk, yi> = <sk, Csi> = 0,
<si, yk> = <si, Csk> = 0,
obţinem
Hk+1yi = (Hk + Dk)y
i = (Hk + ( )tk k
k k
s s
s , y< >-
( )tk kk k
k kk
H y y H
y ,H y< >)yi
= Hkyi +
( )tk k
k k
s s
s , y< >yi -
( )tk kk k
k kk
H y y H
y ,H y< >yi
k is ,y 0< >=
= Hkyi -
( )tk kk k
k kk
H y y H
y ,H y< >yi
i iH y sk =
= si -( )tk k i
k
k kk
H y y s
y ,H y< >
k iy ,s 0< >=
= si.
Faptul că Hk+1yk = sk rezultă din lema 40.
■
Ca o consecinţă a lemei 41 (şi lemei 39) rezultă că pentru o funcţie pătratică
f strict convexă algoritmul Davidon-Fletcher–Powell ( DFP) converge la punctul de
minim al lui f după cel mult n+1 iteraţii. Convergenţa algoritmului pentru clase de
funcţii mai generale este o problemă deschisă.
Până acum am optat pentru aproximarea a inversei hessianei Hf(xk) cu o
matrice pozitiv definită Hk verificând condiţiile Hkyi = si pentru orice i ∈{0, 1, ..., k-
1} unde
Optimizări
223
si = xi+1 – xi şi yi = ∇f(xi+1) - ∇f(xi) , i ≥ 0.
Similar putem opta pentru aproximarea hessianei Hf(xk) cu o matrice pozitiv definită
Bk verificând condiţiile (Bk)-1yi = si (sau echivalent, Bks
i = yi) pentru orice i ∈{0, 1,
..., k-1}. Se observă că în relaţiile Bksi = yi faţă de relaţiile Hky
i = si se schimbă rolul
lui si cu yi. Schimbând în formula de corecţie de rang 2 Davidon-Fletcher–Powell
(formula DFP) rolul lui sk cu yk se obţine formula de corecţie de rang 2 Broyden-
Fletcher–Goldfarb-Shanno (formula BFGS)
Bk+1 = Bk + ( )tk k
k k
y y
y ,s< >-
( )tk kk k
k kk
B s s B
s ,B s< >
Similar cu lema 40, dacă sk yk∈Rn astfel încât <sk, yk> > 0, atunci
Bk+1 = Bk + ( )tk k
k k
y y
y ,s< >-
( )tk kk k
k kk
B s s B
s ,B s< >
este pozitiv definită. În plus, Bk+1sk = yk. Dacă se folosesc actualizarea matricei Bk
atunci direcţia de deplasare se calculează că vk = - (Bk)-1∇f(xk). Pentru a inversa
matricea Bk putem recurge la aşa numita formulă Sherman-Morrison: pentru o
matrice inversabilă A∈Mn,n(R) şi doi vectori u, v∈Rn cu proprietatea că 1 + <v,A-
1u> ≠0, matricea A + uvt este inversabilă şi
(A+uvt)-1 = A-1 - 1 t 1
t 1
A uv A
1 v A u
− −
−+.
Notăm (Bk)-1 = Hk şi aplicând formula Sherman-Morrison obţinem
( )1tk k
k k k
y yB
y ,s
−
+ < >
= Hk -( )tk k
k k
k k k kk
H y y H
y ,s y , H y< > + < >
Aplicând încă o dată formula Sherman-Morrison obţinem
Hk+1 = (Bk+1)-1
= Hk -( )tk k
k
k k
y H y1
y ,s
+ < >
( )tk k
k k
s s
y ,s< >-
( ) ( )t tk k k kk k
k k
H y s s y H
y ,s
+
< >
Mădălina Roxana Buneci
224
sau echivalent
Hk+1 = Hk + Dk cu
Dk = ( ) ( ) ( )t t tk k k k k k
k k k
k k
s s H y s s y H
y ,s
τ − −
< >
τk = ( )tk k
k
k k
y H y1
y ,s+
< >.
Dacă Hk este matrice pozitiv definită şi dacă <sk, yk> > 0, atunci Hk+1 = Hk +
Dk este pozitiv definită. În plus, Hk+1yk = sk. Condiţia <sk, yk> > 0 este echivalentă cu
<∇f(xk+1), sk> > <∇f(xk), sk> sau, deoarece sk = tkvk (tk pasul de deplasare iar vk
direcţia de deplasare) ,
<∇f(xk+1), vk> > <∇f(xk), vk>.
Această inegalitate este adevărată dacă pasul tk satisface condiţia Wolfe (17b).
Convergenţa algoritmului Broyden-Fletcher–Goldfarb-Shanno (BFGS) a fost
demonstrată de Powell în 1976.
Algoritmul Broyden-Fletcher–Goldfarb-Shanno (BFGS) (x0 dat)
k: = 0;
H0 := In;
cât timp ||∇f(xk)|| ≠0 execută
pasul 1: vk = - Hk∇f(xk)
pasul 2: *se determină pasul de deplasare tk suboptimal îndeplinind
condiţiile Wolfe (tk asociat direcţiei de deplasare vk)
pasul 3: xk+1 : = xk + tkvk ;
pasul 4: sk: = xk+1 – xk; yk : = ∇f(xk+1) - ∇f(xk);
τk := ( )tk k
k
k k
y H y1
y ,s+
< >.
Optimizări
225
Dk := ( ) ( ) ( )t t tk k k k k k
k k k
k k
s s H y s s y H
y ,s
τ − −
< >
Hk+1 : = Hk + Dk;
k: = k+1;
Mădălina Roxana Buneci
226
Optimizări
227
Anexă
(noţiuni de analiză matematică şi algebră liniară)
A1. Spaţii topologice. Spaţii metrice. Spaţii normate.
Spaţii Hilbert
Reamintim o serie de definiţii şi teoreme legate de spaţiile topologice,
metrice, normate şi spaţiile Hilbert.
Topologie. Mulţimi deschise. Mulţimi închise. Vecinătăţi. Puncte
interiore, exterioare, aderente, de frontieră.
Fie X o mulţime. O familie τ de submulţimi ale lui X se numeşte topologie pe
X dacă şi numai dacă sunt îndeplinite următoarele condiţii:
1. X şi ∅ sunt elemente ale lui τ
2. Dacă I este o familie oarecare de indici şi dacă Gi ∈ τ pentru orice i ∈ I,
atunci ∪Ii
iG∈
∈τ.
3. Dacă I este o familie finită de indici şi dacă Gi ∈ τ pentru orice i ∈ I,
atunci ∩Ii
iG∈
∈τ.
Mulţimea X înzestrată cu o topologie τ se numeşte spaţiu topologic şi se
notează (X,τ). Dacă nu există posibilitatea unei confuzii, nu se mai precizează
topologia τ. Elementele unui spaţiu topologic se numesc puncte, iar elementele
topologiei se numesc mulţimi deschise (cu alte cuvinte, G⊂X se numeşte mulţime
deschisă dacă şi numai dacă G ∈ τ). O submulţime F a spaţiului topologic X se
numeşte închisă dacă este complementara (în raport cu X) unei mulţimi deschise.
Mădălina Roxana Buneci
228
Topologia în care familia mulţimilor deschise este {∅, X} se numeşte topologia
indiscretă sau trivială pe X. Topologia τd = 2X se numeşte topologia discretă pe X.
Familia reuniunilor de intervale deschise ale lui R împreună cu ∅ dă o topologie pe
R numită topologia uzuală (sau topologia naturală) pe R
O submulţime V a spaţiului topologic X se numeşte vecinătate a punctului
x∈X dacă există o mulţime deschisă G astfel încât x∈G ⊂V. Mai general, V este o
vecinătate a mulţimii A ⊂ X dacă există o mulţime deschisă G astfel încât A ⊂ G ⊂
V. Se poate arăta uşor că o submulţime A ⊂ X este deschisă dacă şi numai dacă este
vecinătate pentru orice punct al său. O mulţime U(x) de vecinătăţi ale unui punct x
∈X se numeşte sistem fundamental de vecinătăţi pentru punctul x dacă pentru orice
V vecinătate a lui x există U∈U (x) astfel încât U ⊂ V. Dacă notăm cu V(x)
mulţimea tuturor vecinătăţilor lui x atunci sunt adevărate următoarele proprietăţi:
V1. Dacă V ∈ V(x) atunci x∈V.
V2. Dacă V ∈ V(x) şi V⊂ U, atunci U ∈ V(x).
V3. Dacă V, U ∈ V(x), atunci V∩U ∈ V(x).
V4. Dacă V ∈ V(x), atunci există U ∈ V(x) astfel încât V este vecinătate
pentru fiecare punct y∈U.
Se poate arăta că proprietăţile V1-V4 definesc unic topologia lui X, în sensul
că dacă funcţia x → V(x) satisface condiţiile V1-V4, atunci
τ= {G⊂X: G∈ V(x) pentru orice x∈G } ∪ {∅}
este o topologie pe X şi V(x) este mulţimea vecinătăţilor lui x în această topologie.
Se spune că această topologie a fost generată cu ajutorul vecinătăţilor. Această
observaţie ne permite să definim o topologie pe X pornind de la o familie {U(x)}x∈X
de submulţimi ale lui X cu proprietatea că
V(x) = {V⊂X: există U∈ U(x) astfel încât U⊂V}
satisface condiţii V1-V4 pentru orice x.
În cele ce urmează A este o submulţime a spaţiului topologic X.
Se numeşte interiorul mulţimii A, şi se notează cu int(A) (sau �
A ), reuniunea
tuturor mulţimilor deschise incluse în A. Int(A) poate fi definit în mod echivalent ca
fiind cea mai mare mulţime deschisă (relativ la relaţia de incluziune) conţinută în A.
Punctele mulţimii int(A) se numesc puncte interioare ale lui A. În consecinţă,
Optimizări
229
x∈int(A) dacă şi numai dacă există o mulţime deschisă G astfel încât x∈G⊂A.
Mulţimea A este deschisă dacă şi numai dacă A=int(A).
Se numeşte închiderea mulţimii A, şi se notează cu A, intersecţia tuturor
mulţimilor închise ce conţin pe A.A poate fi definită în mod echivalent ca fiind cea
mai mică mulţime închisă (relativ la relaţia de incluziune) care conţine pe A.
Punctele mulţimii A se numesc puncte aderente ale lui A. Se observă imediat că
x∈A dacă şi numai dacă pentru orice vecinătate V a lui x, V∩A≠∅. Mulţimea A
este închisă dacă şi numai dacă A=A. Mulţimea A se numeşte densă în X dacă
A=X. Se poate arăta că
X\ A =int(X\A) şi X\int(A)= X \ A .
Se numeşte exteriorul mulţimii A, şi se notează cu exterior(A), mulţimea
int(X\A). Un punct x∈exterior(A) se numeşte punct exterior lui A. Rezultă imediat
că x∈exterior(A) dacă şi numai dacă există o vecinătate V a lui x astfel încât
V∩A=∅.
Se numeşte frontiera mulţimii A, şi se notează cu Fr(A) sau ∂∂∂∂(A), mulţimea
A∩ X \ A . Elementele mulţimii Fr(A) se numesc puncte frontieră ale lui A (puncte
care nu aparţin nici interiorului nici exteriorului mulţimii A). Vom nota cu
frn(A)=Fr(A)\A=A\A (mulţimea punctelor frontieră ale lui A care nu aparţin lui A).
Se poate arăta că:
• int(A)=A\Fr(A)
• A =A∪Fr(A)
• Fr(X-A)=Fr(A)
• Fr(A∪B)⊂Fr(A)∪Fr(B)
• Fr(A∩B)⊂Fr(A)∪Fr(B)
• X=int(A)∪exterior(A)∪Fr(A)
• Fr(A)⊂Fr(A)
• Fr(int(A))⊂Fr(A)
• A este deschisă dacă şi numai dacă Fr(A)=A\A
• A este închisă dacă şi numai dacă Fr(A)=A\int(A)
Mulţimea A se numeşte mulţime de tipul Gδδδδ dacă se poate scrie sub forma
unei intersecţii numărabile de mulţimi deschise ale lui X. Mulţimea A se numeşte
Mădălina Roxana Buneci
230
mulţime de tipul Fσσσσ dacă se poate scrie sub forma unei reuniuni numărabile de
mulţimi închise ale lui X.
Dacă (X, τ) este un spaţiu topologic şi A o submulţime a lui X, atunci
τA = {A∩G: G ∈τ}
este o topologie pe A numită topologia indusă pe A de topologia τ, sau restricţia
(urma) topologiei τ pe A. Se mai spune că A este subspaţiu topologic al lui X. Orice
element al lui τA se numeşte mulţime deschisă în A, iar orice submulţime a lui A
închisă în topologia τA (i.e. complementara unui element al lui τA) se numeşte
mulţime închisă în A. Mulţimea B este τA-închisă (închisă în A) dacă şi numai dacă
există o mulţime închisă F (relativ la τ) astfel încât B = F ∩A. Închiderea lui B în
topologia τA este intersecţia dintre închiderea lui B în topologia τ şi A.
Fie τ1 şi τ2 două topologii pe X. Se spune că τ1 este mai slabă (sau mai puţin
fină) decât τ2 sau că τ2 este mai tare (sau mai fină) decât τ1 dacă orice mulţime
deschisă în topologia τ1 este deschisă şi în topologia τ2 (cu alte cuvinte, G∈τ1 =>
G∈τ2).
Un spaţiu topologic X se numeşte spaţiu T2 sau spaţiu (separat) Hausdorff
dacă şi numai dacă oricare ar fi punctele distincte x, y ∈ X, există două mulţimi
deschise disjuncte Gx şi Gy astfel încât x∈ Gx şi y∈ Gy.
Şiruri în spaţii topologice
Se numeşte şir în spaţiul topologic X (sau cu termeni din spaţiu topologic X)
o funcţie x: N→ X. Un şir x: N→ X se notează cu (xn)n, xn = x(n) pentru orice n∈N.
Se numeşte subşir al şirului x: N→ X şirul x� g unde g: N →N este o funcţie strict
crescătoare (adică, g(n) < g(n+1) pentru orice n). Notând kn = g(n), obţinem x� g(n) =
x(kn) = knx . Un subşir x� g se notează cu ( )kn n
x .
Un punct a∈X se numeşte limita şirului (xn)n din X (sau se spune că (xn)n
converge la a în X) şi se scrie nnlim x→∞
=a dacă şi numai dacă pentru orice vecinătate
V a lui a există nV∈N astfel încât pentru orice n≥nV avem xn ∈V.
Dacă X este spaţiu T2 (Hausdorff), atunci limita unui şir (dacă există) este
unică.
Optimizări
231
Un şir din spaţiu topologic X care are limită în X se numeşte convergent în
X. Un şir care nu este convergent se numeşte divergent.
Un punct a∈X se numeşte punct limită al şirului (xn)n dacă şi numai dacă
pentru orice vecinătate V a lui a şi orice n∈N există k≥n, astfel încât xk ∈V. Un
punct a este punct limită al şirului (xn)n dacă şi numai dacă există un subşir al şirului
(xn)n convergent la a.
Fie A o submulţime nevidă a mulţimii numerelor reale. Un element M ∈R
(respectiv m∈R) se numeşte majorant respectiv, minorant) al mulţimii A dacă
pentru orice x∈A avem x≤ M (respectiv x≥m). Cel mai mic majorant (respectiv, cel
mai mare minorant) al mulţimii A se numeşte margine superioară (respectiv,
margine inferioară) a mulţimii A şi se notează cu sup A sau x Asup x∈
, respectiv inf A
sau x Ainf x∈
. Dacă A nu admite majoranţi (respectiv, minoranţi), sup A = ∞ (respectiv,
inf A = -∞). Este uşor de observat că M (respectiv, m) este marginea superioară
(respectiv, marginea inferioară) a mulţimii A dacă şi numai dacă sunt îndeplinite
următoarele două condiţii:
1. x ≤ M (respectiv, x≥m) pentru orice x∈A.
2. pentru orice ε > 0, există xε ∈ A astfel încât xε > M-ε (respectiv, xε <
m+ε)
Pentru un şir de numere reale ( )n n n0x ≥ se notează
nsup xn = sup{xn, n≥n0} şi
ninf xn = inf {xn, n≥n0}.
Este uşor de arătat că dacă şirul de numere reale (xn)n este crescător (adică xn ≤ xn+1
pentru orice n) atunci nnlim x→∞
=n
sup xn. De asemenea, dacă şirul (xn)n este
descrescător (adică xn ≥ xn+1 pentru orice n) atunci nnlim x→∞
=n
inf xn.
Pentru şirul de numere reale (xn)n notăm An = {xk, k≥n}. Se numeşte limita
superioară (respectiv limita inferioară) a şirului (xn)n şi se notează n
limsup→∞
xn
(respectiv, n
liminf→∞
xn) limita şirului descrescător (respectiv, crescător) (bn)n, unde bn =
inf An (respectiv, bn = sup An). Altfel spus,
Mădălina Roxana Buneci
232
nlimsup
→∞xn =
ninf
k nsup
≥xk,
nliminf
→∞xn =
nsup
k ninf
≥xk.
Evident, n
inf xn ≤ n
liminf→∞
xn ≤n
limsup→∞
xn ≤ n
sup xn. Pentru orice şir de numere reale
(xn)n se poate arăta că
• Există nnlim x→∞
dacă şi numai dacă n
liminf→∞
xn = n
limsup→∞
xn, şi în acest caz
cele trei limite coincid.
• Orice punct limită a al lui (xn)n are proprietatea că :
nliminf
→∞xn ≤ a ≤
nlimsup
→∞xn.
Funcţii continue pe spaţii topologice
Fie X şi Y două spaţii topologice, A o submulţime a lui X şi fie f : A →Y o
funcţie. Fie a un punct de acumulare al lui A (adică un punct cu proprietatea că
pentru orice U vecinătate a lui a, A ∩ (U \ {a})≠∅). Se spune că f are limita b∈Y în
punctul a şi se scrie ( )x alim f x→
= b dacă pentru orice vecinătate V a lui b există o
vecinătate UV a lui a astfel încât f(x) ∈ V pentru orice x ∈ (UV \ {a}) ∩A.
Se spune că f : A →Y este continuă într-un punct a ∈ A dacă pentru orice
vecinătate V a lui f(a) există o vecinătate UV a lui a astfel încât f(x) ∈ V pentru orice
x ∈ UV ∩A. Se observă că f este continuă în orice punct izolat (adică un punct a∈A
pentru care există o vecinătate U a lui a astfel încât A ∩ U = {a}). Dacă a∈A este
punct de acumulare pentru A, atunci f este continuă în a dacă şi numai dacă
( )x alim f x→
= f(a). Dacă f este continuă în a şi (xn)n este un şir din X astfel
încât nnlim x→∞
=a, atunci ( )nnlim f x→∞
=f(a).
Se spune că f : A →Y este continuă pe A dacă f este continuă în orice punct
a ∈ A.
Dacă X şi Y sunt două spaţii topologice şi f:X→Y este o funcţie, atunci
următoarele afirmaţii sunt echivalente:
1. f continuă pe X
2. Pentru orice mulţime deschisă G ⊂ Y, f-1(G) este deschisă în X
3. Pentru orice mulţime închisă F ⊂ Y, f-1(F) este închisă în X
Optimizări
233
4. Pentru orice A ⊂ X avem
f(A) ⊂ ( )f A
5. Pentru orice B ⊂ Y avem
( )-1f B ⊂ ( )-1f B .
Dacă X şi Y sunt două spaţii topologice şi f:X→Y este o funcţie bijectivă,
atunci f se numeşte homeomorfism dacă f şi f-1 sunt continue.
Spaţii compacte
Un spaţiu topologic X se numeşte compact dacă este Hausdorff şi din orice
acoperire deschisă a sa se poate extrage o subacoperire finită (mai precis, oricare ar fi
familia (Gi)i de mulţimi deschise cu proprietatea că ii
G∪ = X, există o subfamilie
finită 1i
G , 2i
G , ..., ni
G astfel încât j
n
ij=1
G∪ = X). O submulţime A a unui spaţiu
topologic X se numeşte compactă dacă înzestrată cu topologia indusă de X este
spaţiu compact. Orice submulţime compactă a unui spaţiu Hausdorff este închisă. O
submulţime A a unui spaţiu topologic X se numeşte relativ compactă dacă A
compactă.
Dacă X este un spaţiu compact, Y este un spaţiu topologic Hausdorff şi
f:X→Y este o funcţie continuă, atunci f(X) este compactă în Y.
O submulţime a lui R (cu topologia uzuală) este compactă dacă şi numai dacă
este închisă şi mărginită. Dacă X este un spaţiu compact şi f:X→R este o funcţie
continuă, atunci f este mărginită şi îşi atinge extremele, adică există xmin, xmax∈X
astfel încât:
f(xmin) ≤ f(x) ≤ f(xmax) pentru orice x∈X.
Spaţii local compacte
Un spaţiu topologic X se numeşte local compact dacă este Hausdorff şi dacă
orice punct al său are o vecinătate compactă. Se poate arăta că X este local compact
dacă şi numai dacă este o submulţime deschisă a unui spaţiu compact.
Mădălina Roxana Buneci
234
Pentru orice submulţime compactă K a spaţiului local compact X şi pentru
orice vecinătate V a lui K, există o funcţie continuă f: K →[0, 1] astfel încât f (x) = 1
pentru orice x∈K şi f (x) = 0 pentru orice x∈X-V.
R (cu topologia uzuală) este spaţiu local compact.
Spaţii metrice
Fie X o mulţime. Se numeşte distanţă (sau metrică) pe X o funcţie
d: X × X → R
cu următoarele proprietăţi: 1. d(x, y) ≥ 0 pentru orice x, y ∈X; 2. d(x, y) = 0 dacă şi numai dacă x = y;
3. d(x,y) = d(y,x) pentru orice x, y ∈X; 4. d(x,y) ≤ d(x,z) + d(z,y) pentru orice x, y, y ∈X.
Perechea (X, d) se numeşte spaţiu metric. Petru orice a∈X şi orice r >0 se numeşte
bila (deschisă) din X centrată în a de rază r şi se notează cu B(a, r) mulţimea:
B(a, r) = {x ∈ X: d(a,x)< r}.
Familia bilelor din spaţiul metric (X, d) definesc o topologie numită
topologia asociată (canonic) distanţei (metricii) d. Mai precis, o mulţime G este
deschisă în această topologie dacă pentru orice x ∈ G există rx>0 astfel încât
B(x,rx)⊂G. Două distanţe (metrice) se numesc echivalente dacă topologiile asociate
coincid. Un spaţiu topologic se numeşte metrizabil dacă există o distantă (metrică) d
pe X cu proprietatea că topologia asociată lui d coincide cu topologia de pe X.
Fie (X, d) un spaţiu metric şi fie (xn)n un şir din X. Punctul a∈X este limita
şirului (xn)n din X (relativ la topologia indusă de metrica d) dacă şi numai dacă
pentru orice ε>0 există nε∈N astfel încât pentru orice n≥nε avem d(a,xn) <ε.
Fie (X, d) un spaţiu metric şi fie (xn)n un şir din X. Şirul (xn)n se numeşte şir
Cauchy (sau fundamental) dacă şi numai dacă pentru orice ε>0 există nε∈N astfel
încât pentru orice m,n≥nε avem d(xm,xn) <ε (sau echivalent, pentru orice ε>0 există
nε∈N astfel încât pentru orice n≥nε şi orice p∈N avem d(xn+p,xn) <ε).
Optimizări
235
Orice şir convergent este şir Cauchy. Reciproca nu este adevărată. Un spaţiu
metric (X, d) în care orice şir Cauchy este convergent se numeşte spaţiu metric
complet.
Fie (X, dX) şi (Y, dY) două spaţii metrice şi fie f :X→Y o funcţie. Pentru
orice a∈X următoarele afirmaţii sunt echivalente
1. f continuă în a
2. Dacă (xn)n este un şir din X astfel încât nnlim x→∞
=a, atunci
( )nnlim f x→∞
=f(a).
3. pentru orice ε>0 există δε>0 astfel încât pentru orice x∈X cu dX(x,a)<δε
rezultă dY(f(x), f(a))<ε.
O funcţie f : X → Y între spaţiile metrice (X, dX) şi (Y, dY) se numeşte
uniform continuă dacă pentru orice ε > 0 există δε > 0 astfel încât pentru orice x, y
∈X cu proprietatea că dX(x, y) < δε, să avem dY(f(x), f(y)) < ε. Evident, orice funcţie
uniform continuă este continuă. Dacă X este spaţiu compact, atunci orice funcţie
continuă f :X→Y este uniform continuă.
Spaţii normate şi spaţii Hilbert
Un spaţiu liniar (vectorial) V peste corpul K (K=R sau K=C) este o
mulţime nevidă înzestrată cu două operaţii: o operaţie internă
+ : V x V→ V, (x, y) → x + y,
numită adunarea vectorilor, împreună cu care V are o structură de grup abelian, adică
satisface axiomele:
1. (x + y)+ z = x + (y + z), oricare ar fi x, y , z ∈V ( legea este asociativă);
2. x + y = y + x oricare ar fi x, y ∈V ( legea este comutativă);
3. există în V un element 0, numit vectorul nul, astfel încât x + 0 = 0 + x
oricare ar fi x ∈V ( există element neutru);
4. oricare ar fi x ∈ V există - x∈V astfel încât x + (- x) = (-x) + x = 0 (orice
element admite simetric)
şi o operaţie externă :
K x V→ V, (α, x) → α x
(de înmulţire a vectorilor cu scalari) care satisface axiomele:
Mădălina Roxana Buneci
236
a. dacă 1∈K este elementul neutru la înmulţire din K, atunci 1x = x, oricare
ar fi x∈K.
b. (αβ)x = α(βx) oricare ar fi α, β∈K şi x∈V;
c. (α + β) x = α x + β x oricare ar fi α, β ∈K şi x∈V;
d. α (x + y) = α x + α y oricare ar fi α∈K şi x, y∈V.
Pentru spaţiul liniar V peste K, elementele lui V se numesc vectori, corpul K
se numeşte corpul scalarilor, iar elementele lui se numesc scalari.
Două spaţii liniare V şi W peste corpul K se numesc spaţii liniare izomorfe
dacă există o aplicaţie bijectivă h: V → W cu proprietăţile: h(x+y) = h(x) + h(y)
pentru orice x, y ∈V şi h(αx) = αh(x) pentru orice α∈K şi orice x∈V. Aplicaţia h
(cu proprietăţile de mai sus) se numeşte izomorfism de spaţii liniare.
Fie V un spaţiu liniar peste corpul K. Vectorul x∈V este combinaţie liniară a
familiei de vectori {xi, i∈I}, dacă x se poate scrie sub forma x = i iieI
xα∑ , unde
numai un număr finit dintre coeficienţii αi sunt nenuli. Familia {xi,i∈I} de vectori
din V se numeşte familie liniar independentă (sistem liniar independent) dacă şi
numai dacă vectorul nul 0 se poate scrie ca o combinaţie liniară de vectori ai familiei
numai cu scalari nuli: mai precis, pentru orice mulţime finită I0 ⊂ I pentru care
există scalarii αi, i∈ I0 astfel încât i iieI0
xα∑ =0 rezultă αi = 0 pentru orice i∈I0.
Familia {xi, i∈I} de vectori din V se numeşte sistem de generatori pentru V dacă
pentru orice x∈V există mulţimea finită I0 ⊂ I şi scalarii αi ∈ I0 astfel încât x =
i iieI0
xα∑ . Se numeşte bază a spaţiului liniar V o familie de vectori care este liniar
independentă şi sistem de generatori. Un spaţiu liniar se numeşte finit dimensional
dacă există o bază a sa cu un număr finit de vectori. Orice două baze ale lui V au
acelaşi cardinal. Se numeşte dimensiunea spaţiului liniar V peste corpul K şi se
notează cu dimKV numărul cardinal al unei baze.
Dacă pe Kn = {(α1, α2,…, αn )t : αi ∈ K, oricare ar fi i ∈{1, 2,…n}} (K=R
sau K=C) definim adunarea şi înmulţirea cu scalari din K în maniera de mai jos
(α1, α2,…, αn ) + (β1, β2,…, βn ) = (α1+ β1, α2 + β2,…, αn + βn)
Optimizări
237
α(α1, α2,…, αn ) = (αα1, αα2,…, ααn ),
atunci este uşor de observat că sunt îndeplinite condiţiile cerute de definiţia spaţiului
vectorial şi deci Kn este spaţiu vectorial peste K. Dacă pentru orice i ∈{1, 2, ..., n}
notăm
atunci B = {e1, e2, ..., en} este o bază în Kn numită baza canonică. Deci dimKKn = n.
Se poate arătă că orice spaţiu liniar V peste K a cărui dimensiune dimKV = n este
izomorf cu Kn.
Fie V un spaţiu liniar peste corpul K. O submulţime G a lui V se numeşte
subspaţiu liniar (sau subspaţiu vectorial) dacă din x, y ∈G rezultă x+y∈G şi αx ∈G
pentru orice α∈K (sau echivalent, oricare ar fi x, y ∈V şi α, β∈ K, avem αx+βy
∈G). Orice subspaţiu liniar G al lui V este spaţiu liniar peste K în raport cu operaţiile
induse de pe V. Dacă A este o submulţime a lui V, atunci cel mai mic (în raport cu
relaţia de incluziune) subspaţiu liniar al lui V care conţine A se numeşte subspaţiul
liniar generat de A şi se notează cu Sp(A). Se poate arăta că mulţimea Sp(A)
coincide cu mulţimea tuturor combinaţiilor liniare formate cu vectori din A.
Fie V un spaţiu vectorial peste corpul K (K=R sau K=C). O normă pe V este
o funcţie p: V → [0, ∞) care satisface următoarele condiţii:
1. p(x) = 0 dacă şi numai dacă x = 0.
2. p(x +y) ≤ p(x) + p(y) pentru orice x şi y ∈ V.
3. p(λx) = |λ| p(x) pentru orice λ∈K şi orice x ∈V.
Perechea (V, p) se numeşte spaţiu normat. În cele ce urmează vom nota p(x) = ||x||
pentru orice x∈V şi vom spune că V este un spaţiu normat în loc de (V, ||⋅||), atunci
când norma ||⋅|| se subînţelege. Pe orice spaţiu normat se poate defini o metrică
(distanţă) canonică d prin d(x, y) = ||x - y|| pentru orice x, y ∈V. Prin urmare oricărui
spaţiu normat i se pot asocia în mod canonic o structură metrică şi o structură
topologică. Petru orice x0∈V şi orice r >0 vom nota cu B(x0, r) bila din V centrată în
x0 de rază r:
B(x0, r) = {x ∈ V: || x - x0 || < r}.
ei = (0, 0, ... , 1, 0, ...0)t poziţia i
Mădălina Roxana Buneci
238
Pentru orice spaţiu normat V (înzestrat cu structura metrică şi structura topologică
asociate în mod canonic) sunt adevărate următoarele afirmaţii:
1. Şirul (xn)n din V converge la x∈V dacă şi numai dacă ∞→n
lim || xn - x || = 0
2. Şirul (xn)n din V este şir Cauchy (fundamental) dacă şi numai dacă pentru orice
ε>0 există nε ∈ N astfel încât || xn - xm || < ε pentru orice m,n ≥ nε.
3. || ⋅ || : V → [0, ∞) este o aplicaţie continuă
4. Funcţiile (x, y) → x + y [: V × V → V] şi (λ, x) → λx [: K × V → V] sunt
continue (V × V şi K × V sunt înzestrate cu topologia produs).
O normă se numeşte completă dacă metrica asociată ei este completă (i.e. dacă orice
şir Cauchy este convergent). Un spaţiu normat se numeşte spaţiu Banach dacă
norma cu care este înzestrat este completă. Normele p1 şi p2 definite pe spaţiul
vectorial V se numesc echivalente dacă topologiile asociate (în mod canonic) lor
coincid. Pentru a desemna faptul că p1 şi p2 sunt echivalente vom folosi notaţia p1 ~
p2. Se poate arăta că normele p1 şi p2 sunt echivalente dacă şi numai dacă există M, m
>0 astfel încât
m p1(x) ≤ p2(x) ≤ M p1(x) pentru orice x ∈ V.
V se numeşte K algebră normată dacă V este K algebră şi în plus este
înzestrat cu o normă ||⋅|| ce satisface următoarele două proprietăţi:
1. (V, ||⋅||) este spaţiu normat
2. ||xy|| ≤ ||x|| ||y|| pentru orice x, y ∈V,
O algebră normată înzestrată cu o normă completă se numeşte algebră Banach.
Fie V şi W două spaţii liniare peste corpul K (K=R sau K=C). O aplicaţie
f:V→W se numeşte liniară dacă şi numai dacă f(λx + µy) = λf(x) + µf(y) pentru
orice λ, µ∈ K şi x, y∈ V. Dacă f : V → W este o aplicaţie liniară, iar V şi W sunt
spaţii normate, atunci următoarele afirmaţii sunt echivalente:
1. f este continuă
2. f este continuă în origine
3. Există M > 0 cu proprietatea că || f(x) || ≤ M||x || pentru orice x∈E.
4. 1x
sup≤
||f(x)||< ∞.
5. 1x
sup=
||f(x)||< ∞.
Optimizări
239
Vom nota cu L(V, W) spaţiul aplicaţiilor liniare şi continue f : V → W. Pentru orice
f∈ L(V, W), avem
1x
sup≤
||f(x)|| =1x
sup=
||f(x)||= inf {M > 0 : || f(x) || ≤ M||x || pentru orice x∈V }.
Dacă pentru orice f∈ L(V, W), definim || f || = 1x
sup≤
||f(x)||, atunci (L(V, W), ||⋅||)
devine un spaţiu normat. Spaţiul L(V, W) este denumit spaţiul operatorilor liniari şi
mărginiţi definiţi pe V cu valori în W, iar elementele din L(V, W) se mai numesc
operatori liniari mărginiţi. Spaţiul operatorilor liniari şi mărginiţi L(V, W) este
spaţiu Banach dacă şi numai dacă W este spaţiu Banach.
Dacă V este un spaţiu normat iar pe spaţiul L(V, V) introducem drept lege de
"înmulţire" compunerea operatorilor, atunci L(V, V) devine o algebră normată. Dacă
V este un spaţiu normat peste corpul K, atunci spaţiul normat L(V, K) se numeşte
dualul lui V şi se notează V'.
Fie H un spaţiu vectorial peste corpul K (K=R sau K=C). Se numeşte
produs scalar pe H o aplicaţie ϕ : H × H → K care are următoarele proprietăţi:
1. ϕ(x+y, z) = ϕ(x, z) + ϕ(y, z) pentru orice x, y, z ∈ H.
2. ϕ(λx, y) = λϕ(x, y) pentru orice λ∈K şi x ∈ H
3. ϕ(x, y) = ( )x,yϕ pentru orice x, y ∈ H.
4. ϕ(x,x) > 0 pentru orice x ≠ 0.
Vom nota ϕ(x,y) = <x, y> pentru orice x, y ∈ H. Se spune că norma spaţiului normat
(H, || ⋅ ||) provine dint-un produs scalar <⋅, ⋅> dacă ||x|| = x,x pentru orice x din
H. Un spaţiu pre-Hilbert este un spaţiu normat în care norma provine dintr-un
produs scalar, iar un spaţiu Hilbert este un spaţiu pre-Hilbert complet (cu normă
completă).
Dacă H un spaţiu pre-Hilbert, atunci:
1. Două elemente x şi y din H se numesc ortogonale dacă <x, y> =0.
2. Pentru A ⊂ H şi x∈H, x se spune ortogonal pe A şi se notează x⊥A, dacă
<x,y>=0 pentru orice y∈A.
3. O familie (xi)i de elemente ale lui H se numeşte sistem ortogonal sau familie
ortogonală dacă <xi, xj> =0 pentru orice i ≠ j.
4. Un sistem ortogonal (xi)i se numeşte ortonormal dacă ||xi|| = 1 pentru orice i.
Mădălina Roxana Buneci
240
5. Se numeşte bază ortonormată a spaţiului Hilbert H un sistem ortonormal
maximal (în raport cu relaţia de incluziune).
Este uşor de arătat că orice sistem ortogonal de vectori nenuli este liniar
independent. Dacă H este un spaţiu Hilbert şi (xi)i este un sistem ortonormal, atunci
următoarele afirmaţii sunt echivalente:
1. (xi)i bază ortonormală
2. Dacă x∈H şi x⊥xi pentru orice i, atunci x = 0.
3. Dacă x∈H, atunci x = ∑i
ii xx,x .
4. Dacă x, y∈H, atunci <x, y> = ∑i
ii y,xx,x .
5. Dacă x∈H, atunci ||x|| = ∑i
2
ix,x .
Orice două baze ortonormale ale unui spaţiu Hilbert au acelaşi cardinal.
Dimensiunea (hilbertiană) a unui spaţiu Hilbert este cardinalul unei baze
ortonormate.
Dacă F este un subspaţiu al spaţiului Hilbert H, atunci se notează cu
F⊥ = {x, x⊥F}
complementul ortogonal al lui F. Dacă F este un subspaţiu închis, atunci H = F ⊕ F⊥
(orice element din H poate fi reprezentat în mod unic ca suma dintre un element din
F şi unul din F⊥).
Se numeşte adjunctul operatorului liniar şi mărginit A ∈ L(H1, H2) (unde H1,
H2 sunt spaţii Hilbert) operatorul liniar şi mărginit A*∈ L(H2, H1) care satisface
condiţia:
<A(x), y > =<x, A*(y) > pentru orice x∈H1, y∈H2.
Orice operator liniar şi mărginit admite un unic adjunct.
Dacă H este un spaţiu Hilbert şi A∈L(H, H), atunci
1. A se numeşte autoadjunct (sau hermitian) dacă A = A*.
2. A se numeşte unitar dacă AA* = A*A =I.
3. A se numeşte pozitiv dacă A este autodjunct şi <A(x), x> ≥ 0 pentru orice
x ∈H.
Optimizări
241
Considerăm spaţiul vectorial V = Kn (K=R sau K=C), n∈N*. Pe acest spaţiu
orice două norme complete sunt echivalente. Vom nota cu ||⋅||∞, ||⋅||1, ||⋅||2 următoarele
norme uzuale pe Kn:
||x||∞ = nj1
max≤≤
|xj|
||x||1 = ∑=
n
1jjx
||x||2 =2/1
n
1j
2
jx
∑
=
pentru orice x = (x1, x2, …, xn) ∈ Kn.
Norma ||⋅||2 se numeşte normă euclidiană şi provine din produsul scalar
<x, y> = ∑=
n
1jjj yx pentru x = (x1, x2, …, xn) şi y = (y1, y2, …, yn)
(dacă K = R, atunci <x, y> = ∑=
n
1jjjyx ). Acest produs scalar este numit produsul
scalar canonic pe Kn.
Pentru K = R sau K = C avem:
Kn este spaţiu Hilbert (în raport cu produsul scalar de mai sus) ⇒ Kn este spaţiu
Banach (în raport cu norma ||⋅||2 indusă de produsul scalar)⇒ Kn este spaţiu metric
complet (în raport cu distanţa euclidiană indusă de norma ||⋅||2)⇒ Kn este spaţiu
topologic (în raport cu topologia indusă de distanţa euclidiană).
În raport cu această topologie Kn este spaţiu local compact. O submulţime A lui Kn
este compactă dacă şi numai dacă este închisă (echivalent, conţine limita fiecărui şir
convergent cu termeni din A) şi mărginită (echivalent, există M>0 astfel încât
||x||2≤M pentru orice x∈A).
A2. Elemente de analiză matriceală
Vom nota cu Mm,n(K) mulţimea matricelor cu m linii şi n coloane (K = R sau
K = C). Mm,n(K) are o structură de spaţiu vectorial relativ la operaţiile:
adunare: A = (aij)i,j,B=(bij)i,j,C=(cij)i,j ∈ Mm,n(K),
C = A+B dacă şi numai dacă cij = aij + bij pentru orice 1≤i≤m şi 1≤j≤n.
Mădălina Roxana Buneci
242
înmulţire cu scalari: A = (aij)i,j, C=(cij)i,j ∈ Mm,n(K), λ∈K.
C = λA dacă şi numai dacă cij = λaij pentru orice 1≤i≤m şi 1≤j≤n.
Produsul AB a două matrice A = (aij)i,j∈ Mm,n(K) şi B=(bij)i,j∈ Mn,p(K) este o matrice
C=(cij)i,j ∈ Mm,p(K) pentru care
cij = ∑=
n
1kkjik ba pentru orice 1≤i≤m şi 1≤j≤p.
Transpusa unei matrice A=(aij)i,j, este o matrice notată At = ( tj,ia )i,j, ale cărei
elemente sunt: tj,ia = aj,i pentru orice 1≤i≤n, 1≤j≤m.
Conjugata unei matrice A=(aij)i,j, este o matrice notată A* = ( *j,ia )i,j, ale cărei
elemente sunt: *j,ia = i,ja pentru orice 1≤i≤n, 1≤j≤m. Conjugata este caracterizată
prin :
<Ax, y> = <x, A*y> pentru orice x∈Cn şi orice y∈Cm.
(unde <⋅, ⋅> este produsul scalar canonic pe Cn)
O matrice pentru care m=n se numeşte pătratică. Elementul neutru la înmulţire în
Mn,n(K) este matricea unitate In:
1 0 0 … 0
0 1 0 … 0
0 0 0 … 1
O matrice A∈ Mn,n(K) este inversabilă dacă există B∈ Mn,n(K) astfel încât
AB=BA=In. Inversa unei matrice A se notează A-1. Matricea A este inversabilă dacă
şi numai dacă det(A) ≠ 0 - în acest caz se zice nesingulară.
Matricele pentru care A=At se numesc matrice simetrice, iar cele pentru care
A=A* se numesc matrice hermitiene (evident, pentru matrice cu coeficienţi reali cele
două noţiuni coincid). O matrice A se zice ortogonală dacă A-1 =At şi unitară dacă
A-1 =A*. Matricea A este diagonală dacă aij=0 pentru orice i≠j
a1 0 … 0
A = 0 a2 … 0 = diag(a1, a2,…, an)
0 0 … an
O matrice A ∈ Mm,n(K) poate fi tratată ca un vector din Knm:
Optimizări
243
(a11, a12,…, a1n, a21, a22, …, a2n,…, am1, am2, …, amn).
Datorită acestui fapt norma unei matrice poate fi introdusă în mod similar cu norma
unui vector din Knm. Pe de altă parte, se ştie că există un izomorfism de spaţii liniare
între Mm,n(K) şi L(Kn, Km).
Fiecărei matrice A = (ai,j)i,j i se asociază operatorul liniar S(A) definit prin
S(A)(x) = Ax = (∑=
n
1jjijxa )1≤i≤m pentru orice x = (x1, x2, …, xn)
t∈Kn.
În cele ce urmează vom identifica A cu S(A). Cele mai des utilizate norme de
matrice sunt normele operatoriale: astfel pentru o matrice A∈ Mm,n(K), dacă pe Km
se consideră norma ||⋅||α, iar pe Kn se consideră norma ||⋅||β, atunci se notează cu
||A||αβ norma de aplicaţie liniară:
||A||αβ : =1x
sup≤β
||Ax||α =1x
sup=β
||Ax||α.
În cazul în care α=β se utilizează notaţia ||A||α = ||A||αα şi se spune că ||A||α este
norma operatorială a lui A subordonată normei vectoriale ||⋅||α.
Fie A∈ Mn,n(C). Scalarul λ din C se numeşte valoare proprie pentru A dacă
există vectorul nenul x ∈ Cn astfel încât:
Ax= λx
Vectorul x se numeşte vector propriu asociat valorii proprii λ. Se numeşte subspaţiu
propriu asociat valorii proprii λ, subspaţiul liniar
Vλ = {x∈Cn: Ax = λx}
Mulţimea valorilor proprii ale lui A formează spectrul lui A şi se notează cu σ(A).
Raza spectrală a lui A se defineşte prin:
ρ(A) = ( )
λσ∈λ A
max
Normele operatoriale pentru o matrice A ∈ Mm,,n(C) subordonate normelor vectoriale
||⋅||∞, ||⋅||1, ||⋅||2 sunt respectiv:
||A||∞ = n
ijj 1
max a1 i m =
∑≤ ≤
||A||1 = m
iji 1
max a1 j n =
∑≤ ≤
||A||2 = ( )AA*ρ .
Mădălina Roxana Buneci
244
Pentru orice matrice A∈ Mn,n(C) şi orice norma operatorială ||⋅|| avem ρ(A) ≤ ||A||.
Dacă ||⋅|| este o normă operatorială pe Mn,n(C), atunci k
kAlim
∞→=0 dacă şi
numai dacă ρ(A) < 1.
Fie <⋅, ⋅> produsul scalar canonic pe Kn (K = R sau C) O matrice A∈Mn,n(K),
K = R (respectiv, K = C) se numeşte
• pozitiv definită dacă este simetrică (respectiv, hermitiană) şi dacă
<Ax, x> > 0 pentru orice x≠0 din Kn.
• negativ definită dacă este simetrică (respectiv, hermitiană) şi dacă
<Ax, x> < 0 pentru orice x≠0 din Kn.
• pozitiv semidefinită dacă este simetrică (respectiv, hermitiană) şi
dacă
<Ax, x> ≥ 0 pentru orice x ∈ Kn.
• negativ semidefinită dacă este simetrică (respectiv, hermitiană) şi
dacă
<Ax, x> ≤ 0 pentru orice x ∈ Kn.
O matrice pozitiv definită introduce un produs scalar pe Kn prin formula:
<x, y>A = <Ax, y> pentru orice x, y∈ Kn.
În cele ce urmează ne vom concentra asupra matricelor A ∈ Mn,n(R) simetrice.
Pentru o astfel de matrice notăm determinanţii situaţi pe diagonala principală cu
a11 a12 … a1k
∆k = a12 a22 … a2k
a1k a2k … akk
(k =1,2,…n) şi îi numim minori principali.
• O matrice A∈ Mn,n(R) este pozitiv definită dacă şi numai dacă este
simetrică şi minorii principali ∆k (k∈{1,2,…n}) sunt toţi pozitivi.
• O matrice A∈ Mn,n(R) este negativ definită dacă şi numai dacă este
simetrică şi minorii principali ∆k (k∈{1,2,…n}) respectă următoarea
alternanţă a semnelor:
∆1 < 0, ∆2 >0, ∆3 <0, ∆4 >0, ..., (-1)n∆n >0.
Optimizări
245
Dacă A ∈ Mn,n(R) este o matrice simetrică, atunci toate valorile ei proprii
sunt reale şi există o bază ortonormată a lui Rn formată din vectori proprii ai lui A. În
consecinţă, există o matrice ortogonală Q (având pe coloane vectori proprii al lui A)
astfel încât:
unde λ1, λ2, ..., λn sunt valorile proprii ale lui A.
Matricea simetrică A ∈ Mn,n(R) este o matrice pozitiv semidefinită dacă şi
numai dacă toate valorile ei proprii sunt nenegative. De asemenea, A ∈ Mn,n(R) este
pozitiv definită dacă şi numai dacă toate valorile ei proprii sunt (strict) pozitive.
Factorul de condiţionare al unei matrice pătrate A∈Mn,n(R) se defineşte
prin
cond(A) = ||A|| ⋅ ||A-1||
unde ||⋅|| este o norma operatorială a matricei A. Prin convenţie cond(A) = ∞ dacă A
este singulară. Dacă A este pozitiv definită, atunci ||A||2 = ρ(A) = λmax, unde λmax este
cea mai mare valoare proprie a lui A, iar ||A-1||2 = ρ(A-1) = min
1
λ, unde λmin este cea
mai mică valoare proprie a lui A. În consecinţă, pentru o matrice pozitiv definită A,
factorul de condiţionare cond(A) = max
min
λλ
, unde λmax (respectiv, λmin) este cea mai
mare, respectiv cea mai mică valoare proprie a lui A.
Se numeşte câtul Rayleigh asociat matricei A∈Mn,n(R), funcţia
RA : Rn \{0} → R, RA(x) = x,Ax
x, x
< >< >
.
Se observă uşor că RA(αx) = RA(x) pentru orice x ∈ Rn \{0} şi orice α∈R. Dacă A
este o matrice simetrică, atunci x∈ Rn \{0} este punct staţionar pentru RA (adică
∇RA(x) = 0) dacă şi numai dacă x este vector propriu al matricei A.
Principiul de minmax Courant-Fischer: Dacă A∈Mn,n(R) este o matrice
simetrică cu valorile proprii λ1≥λ2 ≥ ...≥λn, atunci
λ1 0 0 … 0
0 λ2 0 … 0
0 0 0 … λn
QtAQ* =
Mădălina Roxana Buneci
246
λk = ( )dim S k
sup=R
x S,x 0
x,Axinf
x, x∈ ≠
< >< >
, 1 ≤ k ≤ n.
(S este subspaţiu liniar al lui Rn).
Ca o consecinţă a principiului de minmax Courant-Fischer, rezultă că pentru
o matrice simetrică A
λmax = x 0max
≠
x,Ax
x, x
< >< >
, λmin = x 0min
≠
x,Ax
x, x
< >< >
,
unde λmax (respectiv, λmin) este cea mai mare, respectiv cea mai mică valoare proprie
a lui A. Ca urmare
λmin ≤ x,Ax
x, x
< >< >
≤ λmax pentru orice x≠0.
x 0max
≠|RA(x)| = max {|λmax|, |λmin|} = ||A||2.
Lema Gershgorin: Valorile proprii ale matricei A∈Mn,n(R) sunt conţinute în
reuniunea discurilor n
jj 1
K=∪ , unde
Kj = n
jj jkk 1k j
: a a=≠
λ ∈ λ − ≤ ∑
C , 1 ≤ j ≤ n.
Optimizări
247
Bibliografie
1. L. Armijo, Minimization of functions having Lipschitz continuous first partial
derivatives, Pacific Journal of Mathematics, 16 (1966), 1-3.
2. E. Boroş, D. Opriş, Programare neliniară, Tipografia Univ, Timişoara, 1981.
3. S. Boyd, L. Vandenberghe, Convex Optimization, Cambridge University
Press, 2004.
4. C. G. Broyden, The convergence of a class of double-rank minimization
algorithms, J. Inst. Math. Apples. 6 (1970), 76-90.
5. Gh. H. Chiorescu, Introducere matematică în optimizare şi control, Editura
Matrix Rom, 2001.
6. I. Chiriac, N. Chiriac, Analiză Matematică, Editura Universitaria, 2007.
7. J.E. Dennis, J.J. More, Quasi-Newton methods, motivation and theory, SIAM
Review, 19(1977), 46 -89.
8. J.E. Dennis, R.B. Schnabel, Numerical Methods for Unconstrained
Optimization and Nonlinear Equations, Prentice-Hall, Englewood Cliffs,
1983 (republicată de SIAM,1996).
9. R. Flecther, A new approach to variable metric algorithms, Computer J. 3
(1970), 317-322.
10. R. Fletcher, Practical Methods of Optimization (second edition), Wiley,
1987.
11. R. Fletcher, C. M. Reeves, Function minimization by conjugate gradients,
Computer J. (1964), 149-154.
12. R. Fletcher, M.J.D. Powell, A rapidly convergent descent method for
minimization, Computer Journal, 6 (1963), 163-168.
13. P.E. Gill, W. Murray, M.H. Wright, Practical Optimization, Academic Press,
New York, 1981.
14. P.E. Gill, W. Murray, M.H. Wright, Numerical Linear Algebra and
Optimization, Vol.1. Addison Wiley P.C. New York, 1991.
15. D. Goldfarb, A family of variable metric methods derived by variational
means, Math. Computation 24 (1970), 23-26.
Mădălina Roxana Buneci
248
16. N. I. M. Gould, S. Leyffer, An introduction to algorithms for nonlinear
optimization. In J. F. Blowey, A. W. Craig, and T. Shardlow, Frontiers in
Numerical Analysis, pages 109-197. Springer Verlag, Berlin, 2003.
17. V. Ionescu şi C. Popeea, Optimizarea sistemelor, Editura Didactică şi
Pedagogică, Bucureşti, 1981.
18. H. W. Kuhn, Nonlinear programming. A historical view. In R. W. Cottle and
C. E. Lemke, editors, Nonlinear Programming, volume 9 of SIAM-AMS
Proceedings, pages 1-26. American Mathematical Society, 1976.
19. H. W. Kuhn, A. W. Tucker, Nonlinear programming. In J. Neyman, editor,
Proceedings of the Second Berkeley Symposium on Mathematical Statistics
and Probability, pages 481-492. University of California Press, 1951.
20. J. Nocedal, S.J. Wright, Numerical Optimization, Springer Series in
Operations Research. Springer, New York, 1999.
21. E. Polak, G. Ribiere, Note sur la convergence de methodes de directions
conjuguees, Revue Francais d’informatique et de recherche operationelle 16
(1969), 35-43.
22. R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970 (R. T.
Rockafellar, Analiză Convexă, traducere, Theta, Bucureşti 2002).
23. D.F. Shanno, Conditioning of quasi-Newton methods for function
minimization, Math. Computation 24 (1970), 647-657.
24. M. Slater, Lagrange multipliers revisited: a contribution to non-linear
programming. Cowles Commission Discussion Paper, Math. 403, 1950.
25. A. Ştefănescu, C. Zidăroiu, Cercetări Operaţionale, Editura Didactică şi
Pedagogică, Bucureşti, 1981.
26. V. Ungureanu, M. Buneci, Algebră Liniară: teorie şi aplicaţii, Editura Mirton
Timişoara, 2004.
27. P.P. Varaiya, Notes on optimization, Van Nostrand Reinhold Notes on
System Sciences. New York etc.: Van Nostrand Reinhold Company, 1972.
28. P. Wolfe, Convergence conditions for ascent methods. SIAM Review,
11(1969), 226-235.
29. G. Zoutendijk, Nonlinear programming, computational methods. In J.
Abadie, editor, Integer and Nonlinear Programming, pages 37-86. North-
Holland, Amsterdam,1970.
Optimizări
249
INDEX
A
acoperire convexă, 35
adjunctul unui operator liniar şi mărginit, 240
algebră Banach, 238
algoritmul backtracking – Armijo, 148
algoritmul Fletcher-Reeves, 204
algoritmul Polak-Ribiere, 204
aplicaţie (transformare) liniară, 238
B
bază, 236
bază ortonormată, 240
bilă (într-un spaţiu metric), 234
C
câtul Rayleigh, 245
combinaţie liniară, 35
combinaţie liniară convexă, 236
complement ortogonal, 240
con convex, 51
con convex închis, 51
con dual, 53
con poliedral, 57
con propriu, 61
condiţia de optimalitate necesară Fritz-John (optimizari cu restricţii inegalităţi), 92
condiţia de regularitate Slater, 96
condiţia ecarturilor complementare, 88
condiţia lui Armijo,148
condiţia secantei, 215
condiţia Zoutendijk, 156
condiţii de optimalitate suficiente de ordinul 2– în cazul optimizărilor cu restricţii egalităţi, 27
condiţii necesare de optimalitate în cazul ipotezei de regularitate Slater (optimizari cu restricţii inegalităţi), 102
condiţii necesare de optimalitate de ordinul 1 – în cazul optimizărilor pe mulţimi deschise, 17
condiţii necesare de optimalitate de ordinul 1 – în cazul optimizărilor cu restricţii egalităţi, 21
condiţii necesare de optimalitate de ordinul 2 – în cazul optimizărilor pe mulţimi deschise, 18
condiţii necesare de optimalitate de ordinul 2 – în cazul optimizărilor cu restricţii egalităţi, 24
condiţii necesare de optimalitate pentru problemele de optimizare cu restricţii inegalităţi– cazul funcţiilor diferenţiabile, 105
condiţii necesare şi suficiente de optimalitate în cazul ipotezei de regularitate Slater (optimizari convexe cu restricţii inegalităţi), 103
condiţii necesare şi suficiente de optimalitate în cazul ipotezei de regularitate Slater (optimizari cu restricţii inegalităţi: cazul funcţiilor diferenţiabile convexe ), 113
Mădălina Roxana Buneci
250
condiţii suficiente de optimalitate de ordinul 2– în cazul optimizărilor pe mulţimi deschise, 19
condiţiile Goldstein, 154
condiţiile Wolfe, 154
condiţiile Wolfe în sens tare, 154
conjugata unei funcţii convexe, 79
constanta Lipschitz, 150
D
derivata după direcţie, 14
derivata parţială, 9
diferenţiala de ordinul 2, 12
diferenţiala de ordinul k, 12
diferenţială, 10
dimensiunea unui spaţiu liniar, 236
direcţie admisibilă, 108
direcţie cvasi-Newton, 171
direcţie descendentă, 130
direcţie Newton, 171
distanţă (metrică), 234
distanţe (metrice) echivalente, 234
duala în sens Lagrange, 124
duala în sens Wolfe, 118
E
element de cea mai bună aproximare, 38
element minim al unei mulţimi, 61
element minimal al unei mulţimi, 61
epigrafic, 70
exteriorul unei mulţimi, 229
F
factor Cholesky, 178
factorizare Cholesky, 177
factorizare LDLt, 196
factorul de condiţionare al unei matrice, 245
familie liniar independentă, 236
formula BFGS, 223
formula de corecţie de rang 1, 219
formula de corecţie de rang 2 Broyden-Fletcher–Goldfarb-Shanno, 223
formula de corecţie de rang 2 Davidon-Fletcher–Powell, 219
formula DFP, 219
formula lui Taylor, 13
formula Sherman-Morrison, 223
frontiera unei mulţimi, 229
frontieră eficientă (Pareto), 69
funcţia Lagrange asociată problemei de optimizare cu restricţii inegalităţi, 87
funcţia Lagrange asociată problemei de optimizare cu restricţii egalităţi, 23
funcţia Lagrange-Fritz-John, 92
funcţie concavă, 70
funcţie continuă, 232
funcţie convexă relativ la relaţia de ordine parţială definită de un con propriu, 85
funcţie convexă, 70
funcţie cvasi-concavă, 84
funcţie cvasi-convexă, 83
funcţie cvasi-liniară, 84
funcţie de clasă Ck (k≥1), 13
funcţie derivabilă parţial, 9
funcţie diferenţiabilă, 10
funcţie liniară, 238
Optimizări
251
funcţie Lipschitz continuă, 150
funcţie log-concavă, 84
funcţie log-convexă, 84
funcţie obiectiv, 7
funcţie strict concavă, 70
funcţie strict convexă, 70
funcţie strict cvasi-concavă
funcţie strict cvasi-concavă, 84
funcţie strict cvasi-convexă, 83
funcţie uniform continuă, 235
G
gradient, 11
H
hessiana, 13
hiperplan care separă două mulţimi, 42
hiperplan de sprijin, 48
hiperplan de sprijin strict, 48
hiperplan, 42
I
inegalitatea Jensen, 70
interiorul relativ al unei mulţimi convexe, 95
interiorul unei mulţimi, 228
izomorfism, 236
Î
închiderea unei mulţimi, 229
înfăşurătoare convexă, 35
J
jacobian, 11
L
lema Farkas – Minkowski, 60
lema Gershgorin, 246
lema lui Farkas – varianta convexă, 97
lema lui Gordon, 66
limita inferioară a unui şir, 231
limita superioară a unui şir, 231
limita unei funcţii, 232
limita unui şir, 230
M
majorant, 231
margine inferioară (inf) a unei mulţimi, 231
margine superioară (sup) a unei mulţimi, 231
matrice negativ definită, 244
matrice negativ semidefinită, 244
matrice ortogonală, 242
matrice pozitiv definită, 244
matrice pozitiv semidefinită, 244
matrice simetrică, 242
matricea jacobiană, 10
metoda bisecţiei, 140
metoda direcţiilor conjugate, 197
metoda gradientului conjugat, 202
metoda gradientului, 158
metoda Newton clasică, 174
metoda Newton cu pas variabil, 184
metoda secţiunii de aur, 137
metoda tangentei (metoda lui Newton), 142
metodă de gradient conjugat cu reiniţializare (restart), 210
metode cvasi-Newton, 215
Mădălina Roxana Buneci
252
metode de alegere optimală a pasului, 132
metode de alegere suboptimală a pasului, 147
metode de căutare liniară, 130
metode de metrică variabilă, 215
metode Newton modificate, 190
minorant, 231
mulţime deschisă, 227
mulţime compactă, 233
mulţime convexă, 31
mulţime de tipul Fσ, 230
mulţime de tipul Gδ, 229
mulţime închisă, 227
mulţime relativ compactă, 233
mulţimi separabile printr-un hiperplan, 42
N
normă, 237
normă completă, 238
normă euclidiană, 241
normă operatorială a unei matrice, 243
norme echivalente, 238
O
operator liniar mărginit, 239
optimalitate Pareto, 69
optimizări cu restricţii egalităţi, 8
optimizări cu restricţii inegalităţii, 8
optimizări fără restricţii, 7
P
principiul de minmax Courant-Fischer, 245
probleme duale, 115
produs scalar, 239
produsul scalar canonic pe Kn (K = R sau K = C), 241
proprietatea de ereditate, 215
punct de maxim local, 7
punct de maxim global, 7
punct de minim global, 7
punct de minim local, 7
punct de minim în sensul lui Lagrange, 109
punct de minim în sensul pantei maxime, 109
punct extremal, 38
punct KKT (Karush-Kuhn-Tucker), 114
punct limită al unui şir, 231
punct Slater ideal, 96
punct Slater, 96
punct şa pentru funcţia Lagrange, 88
punct şa, 116
R
rază spectrală, 243
relaţie de ordine parţială indusă de un con propriu, 61
relaţie de ordine strictă indusă de un con propriu, 61
restricţie activă, 104
restricţie regulată, 96
restricţie singulară, 96
restricţii, 8
S
secţiune de aur, 137
segment deschis, 31
Optimizări
253
segment închis, 31
sistem de generatori, 236
sistem fundamental de vecinătăţi, 228
sistem liniar independent, 236
sistem ortogonal (familie ortogonală), 239
sistem ortonormat, 239
soluţie optimă locală,7
soluţie optimă, 7
spaţii liniare izomorfe, 236
spaţiu Banach, 238
spaţiu compact, 233
spaţiu Hausdorff (spaţiu separat T2), 230
spaţiu Hilbert, 239
spaţiu liniar (vectorial), 235
spaţiu local compact, 233
spaţiu metric complet, 235
spaţiu metric, 234
spaţiu normat, 237
spaţiu pre-Hilbert, 239
spaţiu topologic, 227
spaţiul operatorilor liniari şi mărginiţi, 239
spectru, 243
submulţime extremală, 38
subspaţiu liniar (vectorial), 237
subspaţiu propriu (asociat unei valori proprii), 243
subspaţiul liniar generat de o mulţime, 237
subşir, 230
Ş
şir, 230
şir Cauchy (şir fundamental), 234
şir convergent, 231
şir divergent, 231
T
teorema creşterilor finite, 11
teorema de convergenţă a algoritmilor de căutare liniară inexactă în cazul generării pasului de deplasare prin algoritmul backtracking-Armijo, 152
teorema de convergenţă a algoritmilor de căutare liniară inexactă în cazul în care pasul de deplasare satisface condiţiile Wolfe, 155
teorema de convergenţă a metodei gradientului – în cazul alegerii optimale a pasului de deplasare, 159
teorema de convergenţă a metodei gradientului – în cazul generării pasului de deplasare prin algoritmul backtracking-Armijo, 160
teorema de convergenţă a metodei gradientului în cazul în care paşii de deplasare satisfac condiţiile Wolfe, 161
teorema de convergenţă a metodelor pentru care direcţia de deplasare este de tip cvasi-Newton – în cazul generării pasului de deplasare prin algoritmul backtracking-Armijo, 171
teorema de convergenţă a metodelor pentru care direcţia de deplasare este de tip cvasi-Newton – în cazul în care paşii de deplasare satisfac condiţiile Wolfe, 173
teorema de convergenţă metodei Newton clasice, 174
teorema de convergenţă metodei Newton cu pas variabil – în cazul generării pasului de deplasare prin algoritmul backtracking-Armijo, 184
teorema funcţiilor implicite, 15
Mădălina Roxana Buneci
254
teorema Krein-Milman, 50
topologia asociată (canonic) distanţei, 24
topologia discretă, 228
topologia indiscretă (trivială), 228
topologia uzuală (naturală) pe R, 228
topologie indusă (urma unei topologii), 230
topologie, 227
V
valoare proprie, 243
vârf, 38
vecinătate, 228
vector propriu, 243
vectori conjugaţi în raport cu o matrice, 197
vectori ortogonali, 239
vectorul multiplicatorilor lui Lagrange, 110