Documente Academic
Documente Profesional
Documente Cultură
Optimizri
ISBN 978-973-144-187-0
Optimizri
CUPRINS
Prefa...........................................................................................................................5 I. Modelul matematic al problemelor de optimizare...................................................7 II. Optimizri pe mulimi deschise.............................................................................17 III. Optimizri cu restricii egaliti...........................................................................21 IV. Elemente de analiz convex................................................................................31 IV.1. Mulimi convexe...................................................................................31 IV.2. Problema celei mai bune aproximri.....................................................38 IV.3. Separarea mulimilor convexe prin hiperplane......................................42 IV.4. Hiperplan de sprijin...............................................................................48 IV.5.Conuri convexe.......................................................................................51 IV.6. Conuri duale i inegaliti generalizate..................................................61 IV.7. Funcii convexe......................................................................................70 V. Condiii de optimalitate cazul problemelor de optimizare cu restricii inegaliti................................................................................................................87 V.1. Condiii suficiente de optimalitate de tip punct a..................................88 V.2. Condiii de optimalitate pentru funcii convexe.....................................90 V.3. Condiia necesar de optimalitate Fritz-John..........................................92 V.4. Condiia de regularitate Slater.................................................................95 V.5. Condiii necesare i suficiente de optimalitate cazul problemelor de optimizare convex..............................................................................102 V.6. Restricii active.....................................................................................104 V.7. Condiii necesare de optimalitate cazul funciilor difereniabile.......105 V.8. Minim n sensul pantei maxime. Minim n sensul lui Lagrange..........108 V.9. Condiii de optimalitate cazul funciilor convexe difereniabile........110 VI. Dualitate n optimizarea convex.......................................................................115 VI.1. Dualitate n sens Wolfe........................................................................118
3
VI.2. Dualitate n sens Lagrange..................................................................123 VII. Metode numerice de rezolvare a problemelor de optimizare fr restricii......129 VII.1. Proceduri de alegere optimal a pasului.............................................132 VII.1.1. Metoda seciunii de aur.......................................................137 VII.1.2. Metoda biseciei..................................................................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 direciei..........................................................157 VII.3.1. Metoda gradientului (metoda celei mai rapide descreteri)...... .............................................................................................158 VII.3.2. Direcii 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 direciilor conjugate. Metoda gradientului conjugat..............................................................................197 VII.3.7. Metode cvasi-Newton (Metode de metric variabil).........215 Anex (noiuni de analiz matematic i algebr liniar).........................................227 A1. Spaii topologice. Spaii metrice. Spaii normate. Spaii Hilbert ...........227 A2. Elemente de analiz matriceal..............................................................241 Bibliografie...............................................................................................................247 Index ........................................................................................................................249
Optimizri
PREFA
n prezent tehnicile de optimizare sunt utilizate n inginerie, finane, 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 lucrri sunt prezentate rezultate privind optimizrile pe mulimi deschise (optimizri fr restricii), optimizrile cu restricii egaliti i optimizri cu restricii inegaliti. Un capitol al crii este destinat prezentrii unor noiuni fundamentale ale analizei convexe. n ultimul capitol sunt prezentate metode numerice de rezolvare a problemelor de optimizare fr restricii. Sunt evideniate att aspectele teoretice ct i practice. Algoritmii sunt nsoii de implementarea lor n MAPLE. Cartea se adreseaz celor interesai de optimizri, care au relativ puine cunotine prealabile n domeniul. Noiunile de analiz matematic i algebr liniar necesare pentru nelegerea materialului prezentat n aceast carte sunt recapitulate ntr-o anex. Notaiile utilizate, precum i cteva rezultate necesare ce in calculul diferenial (difereiale, formula Taylor, teorema funciilor implicite) sunt prezentate pe scurt la sfritul capitolului I. Manualul de fa corespunde programei analitice a cursului de Optimizri / Metode de Optimizare (de la Ingineria Sistemelor, Automatic). n afar de destinaia ei direct de manual pentru studenii facultilor tehnice, cartea poate servi, pentru cei interesai, ca punct de plecare n studiul mai aprofundat al metodelor de optimizare.
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.
Optimizri
Prin optimizare se nelege un ansamblu de metode i tehnici care determin gsirea soluiei celei mai bune (soluie optim) pentru o problem dat. Modelul matematic al oricrei probleme de optimizare presupune minimizarea sau maximizarea unei funcii f: X R, numit funcie obiectiv. Adic rezolvarea problemei inf f ( x ) sau problemei sup f ( x ) .
xX
xX
Un punct x0X cu proprietatea c f(x0) f(x) (respectiv, f(x0) f(x)) pentru orice xX se numete punct de minim global (respectiv, punct de maxim global) al lui f pe X. Un punct x0X cu proprietatea c exist V o vecintate a lui x0 (presupunnd c X este spaiu topologic) astfel nct f(x0) f(x) (respectiv, f(x0) f(x)) pentru orice xXV se numete punct de minim local (respectiv, punct de
sup f ( x ) = - inf ( - f ( x ) ) ,
xX
inf f ( x ) (P)
Vom numi soluie optim a problemei (P) un punct de minim global al lui f pe X. Vom numi soluie optim local a problemei (P) un punct de minim local al lui f. Exist un numr important de subclase de probleme de optimizare. Cele mai simple sunt aa numitele optimizri fr restricii. n cazul optimizrilor fr restricii urmrim s rezolvm probleme de forma:
xR n
inf f ( x )
inf f ( x )
unde X = {xRn : (x) = 0} cu : Rn Rm ( desemneaz restriciile). Pentru consisten se presupune c mn, altfel existnd probabilitatea s nu existe nici un vector xRn care s ndeplineasc condiia (x) = 0 (innd cont c (x) este un vector din Rm condiia (x) = 0 trebuie neleas 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 optimizrile cu restricii inegalitii. n cazul acestora urmrim s rezolvm
probleme de forma:
xX
inf f ( x )
unde X = {xRn : (x) 0} cu : Rn Rm ( desemneaz restriciile). innd cont c (x) este un vector din
Notaii
Prezentm notaiile care vor fi folosite i reamintim cteva rezultate legate de funciile difereniabile.
Spaiul Rn
Considerm spaiul vectorial real V = Rn, nN*. Facem convenia ca vectorii din Rn s fie considerai vectori coloan. Vom folosi indicii inferiori pentru a desemna componentele unui vector din Rn i indicii superiori pentru a desemna
8
Optimizri
diveri vectori. Vom nota cu |||| (sau cu ||||2 cnd vom dori s o distingem de alta) urmtoarea norm pe Rn:
1/ 2
<x, y> =
(n sensul c ||x|| =
Difereniabilitate
0 0 Fie X o submulime deschis a lui Rn i x0 X, x0=( x1 , x 2 , ..., x 0 n ). Fie f: X
x x0 i i
atunci ea se noteaz cu
( )
n x0 n raport cu xi (a i-a variabil), iar f se spune derivabil parial (de ordinul 1) n x0. Se poate arta c dac f este derivabil parial, atunci f este continu. Dac f admite derivate pariale de ordinul 1 ntr-o vecintate a lui x0 i dac funciile x f ( x) xi
9
x x 0
lim
f ( x ) f x0 T x x0 x x0
( ) (
=0 Funcia f se numete
( )
unde f1, f2, ..., fm sunt componentele scalare ale funciei f . Avem
10
Optimizri
f1 0 f1 0 f1 0 x (x ) x (x ) ... x (x ) x1 2 n 1 x 2 f 2 0 f 2 0 f 2 0 (x ) (x ) ... (x ) x 2 x n T(x)=Jf(x0) x= x1 ... ............................................... f f f m (x 0 ) m (x 0 ) ... m (x 0 ) x n x x x 1 2 n Dac m = n, determinantul matricei jacobiene det(Jf(x0)) se numete
f T(x) = Jf(x0) x=
f f x 0 ), x 0 ) , . .. , ( ( (x 0 ) x 2 x n x1
=
i= 1
f x i
(x 0 ) x i .
(x )
0
Notm f x 0 = f
( )
x1
f , x 2
t
(x )
0
f , ..., x n
(x )
0
gradientul funciei
= f (x0)x pentru orice xR. n general, vom nota T cu f (x0) sau f(1)(x0) (prin analogie cu cazul funciilor reale de o variabil real). Notm cu L(Rn, Rm) mulimea aplicaiilor liniare de la Rn la Rm. Este bine cunoscut c L(Rn, Rm) este spaiu normat: pentru orice A L(Rn, Rm), || A|| = sup ||A(x)||.
x 1
zI( a,b )
sup || f ( z ) ||.
Dac funcia f : X Rm este diferenial n fiecare punct dintr-o vecintate V a lui x0 i dac funcia x f (x) [: V L(Rn, Rm)] este difereniabil n x0, atunci f se numete de dou ori difereniabil n x0 i n acest caz se noteaz cu f (x0) = ( f ) (x0) i se numete difereniala de ordinul 2 a lui f. Inductiv se definesc diferenialele de ordin superior: f(k) = f (
k 1)
) ,
unde f(0) = f, iar f(k) reprezint difereniala de ordinul k a lui f. Se poate arta c
Dac toate componentele scalare ale lui f admit derivate pariale de ordinul
2, continue n x0, atunci f este de dou ori difereniabil n x0.
Dac
( )
( )
2f k x0 = x i x j
( )
( )
Dac f : X Rm este de dou ori difereniabil, atunci difereniala de ordinul 2, f x 0 :R n L ( R n , R m ) , are proprietatea
( ) f ( x 0 ) L ( R n , L ( R n ,R m ) ) L 2 ( R n , R n ; R m )
12
Optimizri
n cazul m=1, se arat c matricea asociat formei biliniare f (x0) din L 2 R n , R n ; R este hessiana lui f. Vom nota hessiana lui f cu Hf(x0). Avem
2f Hf(x0) = x0 x i x j
( )
1 i, j n
Criteriul lui Young implic faptul c f (x0) este form biliniar simetric, sau echivalent hessiana este matrice simetric: Hf(x0) = Hf(x0)t. Difereniala de ordinul al 2-lea a lui f n x0 este dat de f x 0 f ( ) ( u,v ) =<u, Hf ( x0 ) v>=u t Hf ( x0 ) v=i,j x x ( x 0 ) ui v j =1 i j
n 2
unde u = (u1, u2, ...., un)t, v = (v1, v2, ...., vn)t Rn. Funcia f : X Rm se numete de clas Ck (k1) dac toate componentele scalare ale lui f admit derivate pariale de ordinul k continue pe X. Orice funcie de clas Ck este de k-ori difereniabil.
Formula lui Taylor
ncepem cu o observaie. Fie X o submulime deschis a lui Rn i x0X fixate. Deoarece X este deschis i x0X, exist 0 > 0 astfel nct B(x0, 0) X. Vom arta 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-adevr, putem lua = ||x-x0|| i h = pentru x x0 i =0 pentru x = x0.
Teorem (formula lui Taylor). Fie X o submulime deschis a lui Rn, kN
1 (x-x0)
unde lim
( ) =0.
k
13
Dac f este de k+1 ori difereniabil pe B(x0, 0) X, atunci pentru orice h din Rn cu ||h|| = 1 i pentru orice R cu < 0 exist (0, 1) astfel nct f(x0 + h)= f(x0)+ .... +
Vom utiliza n special formulele lui Taylor de ordinul 1 i 2: Dac X o submulime deschis a lui Rn i f:X R o funcie difereniabil n x0 X, atunci exist 0>0 astfel nct pentru orice h Rn cu ||h|| = 1 i pentru orice R cu < 0 avem f(x0 + h) = f(x0) + <f(x0), h> + o(), unde lim
o () =0 0
Dac X o submulime deschis a lui Rn i f:X R o funcie de dou ori difereniabil n x0X, atunci exist 0>0 astfel nct pentru orice hRn cu ||h|| = 1 i pentru orice R cu < 0 avem f(x0 + h) = f(x0) + <f(x0), h> + o 2
unde lim
( ) =0.
2
Fie X o submulime deschis a lui Rn, f: X R o funcie, x0 X i hRn cu h 0. Dac exist i este finit urmtoarea limit lim f x 0 +h - f x 0
) ( )
atunci ea se noteaz cu
( )
punctul x0.
S presupunem c funcia f: X R este difereniabil pe X s lum 0>0 astfel nct x0 + h X pentru orice R cu < 0 (exist un astfel de 0 deoarece X fiind deschis exist r > 0 astfel nct B(x0, r) X i atunci 0 = proprietatea cerut)
14
r h
are
Optimizri
( ) =f x 0 +h - f x 0 , (-0, 0)
Pe de o parte avem
) ( )
) ( )
( ) =
f x 0 + h h i = f x 0 + h , h x i i=1
( )
( )
( )
(x0, y0) U i f = (f1, f2, ..., fm) : U Rm o funcie de clas C1 ntr-o vecintate a punctului (x0, y0) astfel nct f(x0, y0) = 0 i f1 0 0 f1 0 0 f (x , y ) (x , y ) ... 1 (x 0 , y0 ) y1 y2 yn det J y f x , y
( (
))
Atunci exist o vecintate deschis V0 a lui x0, o vecintate W0 a lui y0 i o aplicaie : V0 W0 (local unic) cu urmtoarele proprieti: 1. este clas C1 2. (x0) = y0 3. x V0 => f(x, (x)) = 0
15
4. xV0, y W0, f(x, y) = 0 => y =(x) Dac n plus, f este de clas Ck (k 1) atunci este de clas Ck.
16
Optimizri
inf f ( x )
atunci f(x0) = 0.
c f(x0 + h) f(x0) pentru orice 0 < 0. Aplicnd formula lui Taylor obinem f(x0 + h) = f(x0) + <f(x0), h> + o(), unde lim
(1.1)
o () 0 o () = 0, obinem 0
Fie 1 i n. Dac lum hi = 1 i hj = 0 pentru j i, atunci ||h|| =1 i inegalitatea de mai sus devine f x 0 0. x i Dac lum hi = -1 i hj = 0 pentru j i, atunci ||h|| =1 i inegalitatea devine n consecin f x 0 0. x i
( )
( )
( )
lui R i f: X R o funcie de dou ori difereniabil pe X. Dac x0 este o soluie optim a problemei
xX
inf f ( x )
unde lim c
( ) =0. Deoarece x
Optimizri
( )
( ) = 0, obinem
2
1 v. Atunci v
1 v
2
pentru soluiile optime locale. ntr-adevr dac x0 este o soluie optim local (punct de minim local al lui f) atunci exist o mulime deschis V X astfel nct x0 V i x0 este punct de minim global pentru restricia lui f la V, adic x0 este o soluie optim a problemei
xV
inf f ( x ) ,
i deci f(x0) = 0 iar n cazul n care f este de dou ori difereniabil Hf(x0) este
pozitiv semidefinit.
Teorema 4. (condiii suficiente de ordinul 2) Fie X o submulime deschis a
<u, Hf(x0)u>
(4.1).
1 h, obinem h
1 h
2
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. Notnd = <u,Hf(x0)u>
> 0, avem ||h||2 <h, Hf(x0)h> pentru orice h Rn .
Deoarece X este deschis i x0X, exist 0 > 0 astfel nct 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. Aplicnd formula lui Taylor obinem
( )
o 2 1 f(x ) + ( + ) 2 2
0 2
( )
(4.2)
o 2
( ) = 0, rezult c exist
2
o 2
f(x0 + h) f(x0) pentru orice h cu ||h|| = 1 i cu 0 < min(0, 1). Dac notm 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 (lum h =
1 x x0
pentru orice x B(x0, r), avem f(x) f(x0). Deci x0 este soluie optim local (punct de minim local al lui f).
20
Optimizri
lui Rn, f: X0 R o funcie de clas C1 pe X0 i m un numr ntreg pozitiv, m n. Fie 1, 2, ...,m : X0 R m funcii de clas C1 pe X0 i fie X = {xX0: 1(x) =0, 2(x) =0, ..., m(x) = 0}. Fie x0 X astfel nct 1 x 0 , 2 x 0 , ..., m x 0 sunt liniar independeni, sau echivalent rangul matricei
1 0 1 0 1 0 x (x ) x (x ) ... x (x ) 2 n 1 2 0 2 0 2 0 (x ) (x ) ... (x ) x 2 x n x1 ............................................... m (x 0 ) m (x 0 ) ... m (x 0 ) x x 2 x n 1
( )
( )
( )
inf f ( x )
0 0 0 0 f(x0) = 1 1 x 0 + 0 2 2 x + ... + m m x .
( )
( )
( )
21
deschise cu proprietatea c u0 U Rn-m, v0V Rm i V U X0. Aplicnd teorema funciilor implicite pentru sistemul de ecuaii (w, u) = 0, n vecintatea punctului (w0, u0) cu (w0, u0) = 0, rezult c exist dou numere strict pozitive r i s astfel nct B(u0, r) U i B(w0, s) V, precum i o funcie de clas C1, local unic, : B(u0, r) B(w0, s), cu proprietile c (u0) = w0 i ((u), u) = 0 pentru orice u B(u0, r). Ca urmare u0 este soluie optim a problemei
uB u 0 ,r
inf
f ( ( u ) , u )
(problem de optimizare pe o mulime deschis fr restricii). n consecin g(x0) = 0, unde g(u) = f((u), u) pentru orice u B(u0, r). Deci f w u 0 , u 0 u 0 + f u u 0 , u 0 = 0
( ( ) ) ( )
( ( ) )
( ) ( ) ( ) f w ( x 0 ) ( u 0 ) + f u ( x 0 ) = 0 (1.1)
f w w 0 , u 0 u 0 + f u w 0 , u 0 = 0
w ( ( u ) , u ) ( u ) + u ( ( u ) , u ) = 0
pentru orice u B(u0, r). Deci ( u ) = - w ( ( u ) , u )
1
u ( ( u ) , u ) i
22
Optimizri
u 0 = - w w 0 , u 0
( )
0 0 0 u w , u = - w x
( )
0 u x
( )
(1.2).
( ) ( )
0 + f u x 0 = 0 u x
1
( )
( )
0 f u x 0 = f w x 0 w x
( )
( ) ( ) ( )
0 u x
( )
1
Cum i
f w x 0 = f w x 0 w x 0
dac notm
( ) ( )
0 w x ,
( )
t 0 = f w x 0 w x 0
( ) ( )
t 0
obinem
( f ( x ) , f ( x )) = ( ( x ) , ( x ))
w 0 u 0 w 0 u 0
sau echivalent
0 0 0 0 f(x0) = 1 1 x 0 + 0 2 2 x + ... + m m x .
( )
( )
( )
clas C1 pe X0 i m un numr ntreg pozitiv, m n. Fie 1, 2, ...,m : X0 R m funcii de clas C1 pe X0 i fie X = {xX0: 1(x) =0, 2(x) =0, ..., m(x) = 0}. Se definete funcia Lagrange asociat problemei de optimizare cu restricii
egaliti L: X0 Rm R prin
L(x, ) = f(x) -
inf f ( x )
23
( )
( )
( )
)
L 0 0 L 0 0 L 0 0 xL(x0, 0) = x , , x , ,..., x , x 2 x n x1
=f(x0) -
i0i ( x 0 )
i=1
L 0 0 L 0 0 L L(x , ) = x , , x , ,..., x 0 , 0 2 m 1
0 0
= (1(x0), 2(x0), ..., m(x0) Condiia L(x0, 0) = 0 este echivalent cu condiia x0X.
Teorema 3. (condiii necesare de ordinul 2) Fie X0 o submulime deschis a
lui Rn, f: X0 R o funcie de clas C2 pe X0 i m un numr ntreg pozitiv, m n. Fie 1, 2, ...,m : X0 R m funcii de clas C2 pe X0 i fie X = {xX0: 1(x) =0, 2(x) =0, ..., m(x) = 0}. Fie x0 X astfel nct 1 x 0 , 2 x 0 , ..., m x 0 sunt liniar independeni. Dac x0 este o soluie optim a problemei
xX
( )
( )
( )
inf f ( x )
0 0 0 0 f(x0) = 1 1 x 0 + 0 2 2 x + ... + m m x .
( )
( )
( )
i
m 0 < Hf x 0 i Hi x 0 i=1
( )
( ) v, v >
pentru orice vS(x0), unde S(x0) ={xRn:< 1 x 0 , x> = 0, < 2 x 0 , x> = 0, ...,< m x 0 , x> = 0}.
m 0 0 t Demonstraie. Din teorema 1 rezult c exist 0 =( 1 , 0 2 , ..., m ) R
( )
( )
( )
Optimizri
0 0 0 0 f(x0) = 1 1 x 0 + 0 2 2 x + ... + m m x .
( )
( )
( )
Notm (x) = (1(x) , 2(x), ..., m(x))t pentru xX0. Fie vS(x0) = {x Rn: x 0
( ) ( x ) =}, v0.
Artm c exist >0 i o curb c = (c1, c2, ..., cn): (-, ) Rn, de clas C2 astfel nct c(0) = x0, c (0) = v i (c(t)) = 0 pentru orice t (-, ), unde c (t) = ( c1 (t), c 2 (t),... cn (t))t, t(-,).
( )
= (1, 2, ..m) : (-, ) Rm este o funcie ce urmeaz s fie determinat astfel nct s avem (c(t)) = 0 pentru orice t (-, ) ( > 0 convenabil ales). Deoarece X0 este deschis i x0X0 exist r>0 astfel nct B(x0, r) X0. Lum =
r v +
i ( x 0 )
i=1
. Avem
x0 + tv +
uii ( x 0 ) B(x0, r) X.
i=1
( ) , u = (u , u , ...,u )
1 2 n
Avem det(JuF(0,0)) = det(J(x0)J(x0)t) 0, deoarece rangul matricei 1 0 1 0 1 0 x (x ) x (x ) ... x (x ) 2 n 1 2 0 2 0 2 0 (x ) (x ) ... (x ) x 2 x n J(x0) = x1 ............................................... m (x 0 ) m (x 0 ) ... m (x 0 ) x x 2 x n 1
25
este m. n plus, F(0,0) = (x0) = 0. n consecina, aplicnd teorema funciilor implicite rezult c exist > 0 , V o vecintate a punctului 0 Rm i o funcie de clas C2, = (1, 2, ..m) : (-, ) V astfel nct (0) = 0 i
m x 0 + tv + i ( t ) i x 0 i =1 m
Ca urmare c(t) = x0 + tv + i ( t ) i x 0
i=1
( ) ndeplinete condiiile:
( ) = 0
(c(t)) = 0
( )
x 0
( ) ( v ) + J(x )J(x ) ( t ) = 0
0 0 t
de unde innd 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. Notm c (t) = ( c1 (t), c2 (t),... cn (t))t Atunci punctul t = 0 este soluie optim a problemei
t[0, )
inf f ( c ( t ) )
i0 i ( c ( t ) ) c ( t ) ,
i=1
i0 i ( c ( 0 ) ) ( c ( 0 ) , c ( 0 ) ) i=1
i0 i ( c ( 0 ) ) ( c ( 0 ) )
i=1
26
Optimizri
i0 i ( c ( 0 ) ) ( c ( 0 ) , c ( 0 ) )
i=1
= f (x0)(v, v) -
i0i ( x 0 ) ( v, v )
i=1
m 0 = < Hf x 0 i Hi x 0 i=1
( )
( ) v, v >
a lui R , f: X0 R o funcie de clas C2 pe X0 i m un numr ntreg pozitiv, m n. Fie 1, 2, ...,m : X0 R m funcii de clas C2 pe X0 i fie X = {xX0: 1(x) =0, 2(x) =0, ..., m(x) = 0}. Fie x0 X astfel nct 1 x 0 , 2 x 0 , ..., m x 0 s fie liniar independeni.
m 0 0 t , 0 Presupunem c exist 0 =( 1 2 , ..., m ) R astfel nct
( )
( )
( )
0 0 0 0 f(x0) = 1 1 x 0 + 0 2 2 x + ... + m m x .
( )
( )
( )
i
m 0 < Hf x 0 i Hi x 0 i=1
( )
( ) v, v >
>
pentru orice vS(x0), v0 unde S(x0) ={xRn:< 1 x 0 , x> = 0, < 2 x 0 , x> = 0, ...,< m x 0 , x> = 0}. Atunci x0 este o soluie optim local a problemei
xX
( )
( )
( )
inf f ( x ) .
x 0 x k i hk =
h0= lim h k . Evident h0 0. Din faptul c i(x0 + khk) -i(x0) = 0 pentru orice k,
k
rezult c 0 = lim
i x 0 + k h k i x 0 k
) ( )=
k
lim
k < i x 0 , h k > +o ( k ) k
= <i(x0), h0>,
( )
( )
o ( k ) k
deci h0 S(x0) . Aplicnd formula lui Taylor pentru f obinem f(x0 + khK) = f(x0) + k<f(x0), hk> + f(x0 + khk) - f(x0) = k<f(x0), hk> + 0 > k<f(x0), hk> +
1 2 k <hk, Hf(x0)hk> + o( 2 k) 2
1 2 k <hk, Hf(x0)hk>+ o( 2 k) 2
Aplicnd formula lui Taylor pentru i obinem i(x0 + khk) = i (x0) + k<i(x0), hk> + de unde, 0 = k<i(x0), hk>+
0 i nmulind cu i i sumnd rezult 0 0 = k i < i x 0 , h k > + i =1 m
1 2 k <hk, Hi(x0)hk> + o( 2 k ), 2
1 2 k k <h , Hi(x0)hk>+ o( 2 k ), 2
( )
1 2 k 2
i0 < h k , Hi ( x 0 ) h k >
i=1
+ o( 2 k ) (4.2)
( )
i0 < h k , Hi ( x 0 ) h k > + o( 2 k)
i=1
28
Optimizri
unde lim
o 2 k 2 k
k 0
i0 < i ( x 0 ) , h k
i =1
> =0,
i0 < h 0 , Hi ( x 0 ) h 0 > ,
i=1
0
clas C2 pe X0 i m un numr ntreg pozitiv, m n. Fie 1, 2, ...,m : X0 R m funcii de clas C2 pe X0 i fie X = {xX0: 1(x) =0, 2(x) =0, ..., m(x) = 0}. Fie L: X0 Rm R funcia Lagrange: L(x, ) = f(x) Notm L L L xL(x, ) = ( x, ) , ( x, ) ,..., ( x, ) =f(x) x 2 x n x1 2L x, ) =Hf(x) HxL(x, ) = ( x i x j 1i, j n
t
ii ( x )
i=1
k =1
k H k ( x ) .
inf f ( x )
i dac 1 x 0 , 2 x 0 , ..., m x 0
( )
( )
0Rm astfel nct 1. xL(x0, 0)=0 2. <v, HxL(x0, 0)v> 0 pentru orice v S(x0), unde S(x0) = {xRn:< 1 x 0 ,x> = 0, < 2 x 0 ,x> = 0, ...,< m x 0 ,x> = 0}
( )
( )
( )
29
( )
( )
( )
( )
( )
( )
inf f ( x ) .
30
Optimizri
X V se numete 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, mulimea {x1 + (1-)x2, (0,1)} se numete segment deschis de capete x1 i x2. Mulimea {x1 + (1-)x2, [0,1]} se numete segment nchis de capete x1 i x2.
Interpretare geometric. V = R2, K=R , x1 = (a1, b1)t, x2 = (a2, b2)t.
b2 b1
Segmentul de capete x1 i x2
a1
a2
Mulime convex
31
Atunci urmtoarele afirmaii sunt echivalente: 1. X este mulime convex 2. X + (1-)X = X pentru orice (0,1) 3. X + X = (+)X pentru orice , [0, )
(0, ). Este uor de observat c (+)X X + X (deoarece pentru orice y (+)X, exist x X astfel nct y = (+)x = x + x X + X). Fie y X + X. Atunci exist x1 X i x2 X astfel nct y = x1 + x2. Notm =
Xi
iI
32
Optimizri
rezult c
Xi este convex.
iI
A : V1 V2 o aplicaie liniar. Fie bV2 i fie f: V1V2, f(x) = A(x) +b. Atunci 1. Dac X V1 este o mulime convex, atunci f(X) este convex. 2. Dac Y V2 este o mulime convex, atunci f-1(Y) este convex
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.
33
mulimile sunt convexe: 1. H = {xV: <x, c> = a } 2. S> = {xV: <x, c> > a } 3. S = {xV: <x, c> a }.
Lema 5. Fie V un spaiu normat peste K (K= R sau K= C) i fie X o
submulime convex a lui V. Dac x1int(X) i x2X, atunci x1 + (1-)x2 int(X) pentru orice (0,1).
Demonstraie. Faptul c int(X) este mulime 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 nct lim x k = x. Analog, exist un ir (yk)k de elemente din X astfel nct lim y k =
k k
y. Din faptul c X este convex rezult c xk + (1-) ykX. innd cont c x + (1-) y = lim x k +(1-) lim y k = lim x k + (1 ) y k X,
k k
k
Optimizri
submulime a lui V. Se numete acoperire convex (sau nfurtoare convex) a lui X i se noteaz cu co(X) cea mai mic (n sensul relaiei de incluziune) mulime convex n care este inclus X. Se numete combinaie liniar convex a m vectori x1, x2, ...., xm din V orice vector x =
i = 1.
i=1
Conform definiiei co(X) este determinat de urmtoarele proprieti: 1. co(X) este convex 2. X co(X) 3. Dac Y este o mulime convex cu X Y, atunci co(X) Y.
Lema 8. Fie V un spaiu liniar peste K (K= R sau K= C) i fie X o
submulime lui V. Atunci co(X) este intersecia tuturor mulimilor convexe ce includ pe X.
Demonstraie. Evident.
submulime convex a lui V. Atunci X conine orice combinaie liniar convex de vectori din X.
35
m i o demonstrm 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 i =1 m +1 i=1
m = 0 i
m +1 i =1
=
m
i
i =1
(0,1).
Avem
m
i xi X. innd cont c
i=1 m +1 i =1
i x i
i xi + (1-) xm+1
i=1 m +1 i =1
Propoziia 11. Fie Fie V un spaiu liniar peste K (K= R sau K= C) i fie X o
submulime lui V. Atunci co(X) este mulimea tuturor combinaiilor liniare convexe de vectori din X.
36
Optimizri
i x i .
i=1
=
m p
i xi + (1 ) i yi
i=1 i=1 m p
innd cont c i +
i=1
z1 + (1-)z2 este o combinaie liniar convex de vectori din X, deci z1 + (1-)z2 C, de unde rezult c C este convex. Faptul c C este convex i conine 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
xm X co(X) i deoarece co(X) este convex, aplicnd lema 10 obinem co(X), adic C co(X). Astfel C = co(X).
i x i
i=1
submulime convex a lui V. Un vector x0 X se numete punct extremal sau vrf al lui X dac i numai dac nu exist dou puncte distincte x1, x2 X astfel nct x s se scrie sub forma x0 = x1 + (1-)x2 cu (0,1). O submulime convex A X se numete submulime extremal a lui X dac pentru orice (0,1) i x1, x2X cu x1 + (1-)x2 A rezult x1 i x2 A.
Propoziie 14. Fie V un spaiu liniar peste K (K= R sau K= C) i fie X o
submulime convex a lui V. Urmtoarele afirmaii sunt echivalente 1. x este punct extremal al lui X 2. Mulimea X - {x0} este convex
Demonstraie. Evident.
element al lui S. Se numete element de cea mai bun aproximare a lui x0 pe X un element p0X astfel nct d(p0, x0) = inf d(x, x0)
xX
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.
lim || x n x 0 || = inf || x x 0 || .
xX 0
38
Optimizri
1 n 1 m 0 x + x x || inf || x x 0 || 2 2 xX 0
xX 0
= . Deci irul (x )n este ir Cauchy i n consecin convergent (fiindc H este complet). Fie p0 = lim x n . Din faptul c X este nchis i xn X pentru orice n 1, rezult c
n
n
S demonstrm 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 mulime convex, p = p1 +
1 2 1 2 p X. 2
Avem
39
||p-x0||2 = || p1 + <
1 2
1 2 0 2 1 p -x || = || p1 x0 + p2 x0||2 < 2 4
1 2
Deci p X i ||p-x0|| < || p1 x0 ||, contradicie 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.
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
= <(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 obinut astfel o contradicie cu faptul c p0 este element de cea mai bun aproximare a lui x0 pe X. n consecin, presupunerea este fals i deci
40
Optimizri
pentru orice xX. Reciproc, presupunem c <p0-x0, p0-x> 0 pentru orice xX i demonstrm 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 considerm un xX oarecare. Avem
||p0-x0||2 = < p0-x0, p0 -x0> = < p0 -x0, p0 - x + x - x0>
obinem
||p0-x0|| || x- x0|| pentru orice xX,
H0 dac i numai dac p0-x0 H0 (sau echivalent, < p0-x0, x> = 0 pentru orice xH0).
sau echivalent
<p0-x0, p0> <p0-x0, x> pentru orice x H0. (18.1)
41
Fie xH0 fixat i fie > 0. Pentru orice x H0, x i -x H0. nlocuind n relaia
(18.1) cu x, respectiv cu -x, obinem:
<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>
Trecnd la limit, , obinem 0 <p0-x0, x> 0. n consecin, <p0-x0, x> = 0 pentru orice xH0.
Se spunem c mulimile X, Y H sunt separabile printr-un hiperplan, dac exist un hiperplan Ha,b care le separ.
Propoziie 20. Fie H un spaiu pre-Hilbert real. Mulimile X, Y H nevide
sunt separabile printr-un hiperplan dac i numai dac mulimile {0} i Y-X sunt separabile printr-un hiperplan.
de unde rezult c 0 inf < a, y > - sup < a, x > = inf < a, y > + inf < a, x >
yY xX yY xX
42
Optimizri
zY X
Deci Ha,0 separ mulimile {0} i Y X. Reciproc dac Ha,b separ mulimile {0} i Y X, atunci 0 b inf < a, z > ,
zY X
b1 + b 2 . Avem b1 c b2 i n 2
consecin:
xX
nchis. Atunci exist p X astfel nct pentru orice x X avem <p, p-x> 0.
Propoziie 22. Fie H un spaiu Hilbert real i fie x0H. Fie X H o mulime
convex nevid nchis astfel nct x0 X. Atunci exist aH\{0} i bR astfel nct <a,x0> < b <a,x>, pentru orice x X.
43
i pe de alt parte
b = <a, a + x0> = <a, a> + <a, x0> > <a, x0>.
mulime convex. Atunci mulimile {0} i X sunt separabile printr-un hiperplan dac
i ca urmare 0 <a, x> pentru orice xX. Pentru orice n N*, avem
< a, deci -
1 nct B(0, ) X. Pe de alt parte, din faptul c lim a = 0, rezult c n n exist n N, astfel nct faptul c 1 a X. n 1 a B(0, ) X pentru orice n n , ceea ce contrazice n
Reciproc, s presupunem c dac 0 int(X). Dac 0 X, atunci aplicnd propoziia 22, rezult c exist un hiperplan ce separ {0} i X, i n consecin {0}
44
Optimizri
X astfel nct lim x n =0. Pentru fiecare n, xn X. Aplicnd propoziia 22, rezult
n
c exist anH-{0} i bn R, astfel nct <an, xn> bn <an, z> (23.1) pentru orice z X. Fr a reduce generalitatea putem lua bn = <an, xn>. mprind n
(23.1) cu ||an||, obinem:
<||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) = {xH : ||x|| = 1} i S(0,1) este compact, eventual trecnd la un subir, rezult c (||an||-1 an)n este convergent la un a S(0,1). Ca urmare (||an||-1 bn)n este convergent la 0 (innd cont c bn = <an,xn> i
n
dou mulimi convexe nevide. Atunci mulimile X i Y sunt separabile printr-un hiperplan dac i numai dac 0 int(Y-X).
dou mulimi convexe nevide cu proprietatea c X Y = . Atunci mulimile X i Y sunt separabile printr-un hiperplan.
dou mulimi convexe nevide cu proprietatea c int(X) i int(X) Y = . Atunci mulimile X i Y sunt separabile printr-un hiperplan care nu conine nici un punct din int(X).
pentru orice x int(X) i orice y Y. Deoarece int(X) , exist x0 int(X). Fie xX oarecare i fie (0,1). Atunci x + (1-)x0 int(X) (conform lemei 5) i
(26.3)
Optimizri
> (1-)b + b = b.
(26.4)
Astfel din (26.3) i din (26.4) se obine o contradicie (b < b). n consecin presupunerea c Ha,b int(X) este fals.
compact i Y H o mulime convex nchis cu proprietatea c X Y= . Atunci exist aH\{0} i bR astfel nct <a, x> < b < <a,y> pentru orice x X i orice y Y.
avem <a, x> <a, x0> < b < inf < a, y > <a, y>
yY
hiperplanul Ha,b = {xH: <a, x> = b}. (aH \ {0} i b R) este hiperplan de sprijin al lui X dac
xX
Un hiperplan de sprijin Ha,b al lui X ce conine un punct x0 H, se spune hiperplan de sprijin al lui X n x0. Un hiperplan de sprijin Ha,b al lui X n x0X se spune
hiperplan de sprijin strict dac Ha,b X = {x0} (x0 este unicul punct de intersecie al
hiperplanului de sprijin Ha,b cu X).
Teorem 29. Fie H un spaiu Hilbert real finit dimensional. Fie X H o
mulime convex i fie x0X. Condiia necesar i suficient de existen a unui hiperplan de sprijin al lui X care s conin x0 este ca x0Fr(X).
(29. 1)
Optimizri
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 obine o contradicie (b < b). n consecin presupunerea c Ha,b int(X) este fals. n consecin, cum x0 Ha,b, rezult c x0int(X). Deci x0 X-int(X) = Fr(X). Reciproc, fie x0 Fr(X). Atunci 0 int(X-x0) i aplicnd corolarul 24 rezult c exist un hiperplan Ha,b care separ X de {x0}, sau echivalent exist a H\{0} i b R astfel nct: <a, x> b <a, x0> pentru orice x X. Deoarece x0 X rezult c exist un ir (xn)n n X astfel nct
n
i pe de alt parte
xX
Din (29.3) i (29.4) innd cont c b = <a, x0>, rezult c sup < a, x > = b, deci
xX
H o mulime convex nevid compact. Atunci nchiderea acoperii liniare convexe a mulimii punctelor extremale ale lui X este egal cu X.
Ai este nevid
iI
deoarece {Ai}iI este o familie de submulimi nchise ale lui X cu proprietatea interseciei finite iar X este compact. Se observ v c
Ai
iI
Deci conform lemei lui Zorn A are un element maximal. Fie A0 un astfel de element maximal. Artm c A0 are un singur element. Presupunem prin absurd c exist x0
i x1A0 cu x0 x1. Atunci exist aH-{0} astfel nct <a,x0> <a, x1>. Fie A1 =
{xA0, <a,x>=inf{<a,y>, yA0}}. Atunci A1 este o submulime 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, mulimea punctelor extremale ale lui X este nevid. Pasul 2: Notm cu L nchiderea acoperii liniare convexe a mulimii punctelor extremale ale lui X. Artm c L = X. Presupunem prin absurd c exist x0 X astfel nct x L. Atunci conform propoziiei 22 exist a H-{0} i b R astfel nct <a, x0> < b <a,z> (30.1) pentru orice z L. Fie B = {xX, <a,x>=inf{<a,y>, yK}}. Atunci B este o submulime extremal a lui X. Conform pasului 1 mulimea punctelor extremale ale lui B este nevid. Fie z0 un punct extremal al lui B. Deoarece z0 este punct extremal
50
Optimizri
submulime convex nevid compact a lui H, atunci orice xX poate fi scris ca o combinaie liniar convex de puncte extremale ale lui X (demonstraia se face prin inducie dup n). Mai mult, se poate arta c orice xX poate fi scris ca o combinaie liniar convex de cel mult n+1 puncte extremale ale lui X.
IV.5.Conuri convexe
Definiie 32. Fie H un spaiu liniar (real sau complex). Mulimea K H se
numete con convex dac i numai dac satisface condiiile: 1. K este mulime convex 2. xK pentru orice x K i orice R cu > 0. O mulime K H se numete con convex nchis dac 1. K este nchis 2. K este con convex.
Observaie 33. 1. Dac mulimea K este con convex, atunci pentru orice x,
yK, avem x + y K (ntr-adevr, din condiia 2 din definiia conului convex avem 1 1 1 1 x K i y K; deoarece K este convex avem x + y K, i innd cont din 2 2 2 2 1 1 nou de condiia 2, rezult c 2 ( x + y) K, adic x +y K). 2 2 2. Dac H este spaiu normat i dac mulimea nevid K H este con convex atunci 0K (ntr-adevr, fie x K; pentru orice n 1, conform condiiei 2 din
51
lim x n = x. Din faptul c mulimea K este con, rezult c xn K i deci lim x n K, ceea ce implic x = lim x n = lim x n K.
n n
Fie x int(K) i fie >0. Dac < 1, atunci innd cont de faptul c 0K i de lema 5, rezult c x = x + (1-)0 int(K). Pentru 1, fie {} partea fracional a lui i fie [] >0 partea ntreag a lui . Atunci deoarece K este con convex []
1 {}
xK i conform lemei 5,
1 {}
x int(K).
3. K= Sn + este mulimea matricelor simetrice pozitiv semidefinite cu n linii i n coloane. 4. K= Sn ++ este mulimea 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.
52
Optimizri
deci y1 + (1-)y2 K*, i ca urmare K* este mulime convex. Fie > 0 i fie y K*. Atunci pentru orice x K,
<x, y> = <x, y> 0,
deci y K*. Am artat c mulimea 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 xK, avem
<x,yn> 0, i trecnd la limit cu n , obinem <x, lim y n > 0,
n
adic <x, z> 0, de unde rezult z K*. n consecin, K* este mulime nchis.
2. Dac y K*, atunci <x,y> 0 pentru orice x K, i n particular <x,y> 0
elemente din K convergent la un element x. Pentru orice n N avem <xn, y> 0, i trecnd la limit cu n , obinem
< lim x n , y> 0,
n
Teorem 38. Fie H un spaiu 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).
53
convex i nchis, rezult c exist p0K element de cea mai bun aproximare a lui x0 pe K. Cum x0 K, rezult c p0x0. Conform teoremei 16 (caracterizarea elementului de cea mai bun aproximare), avem
<p0-x0, p0-x> 0,
pentru orice xK. Pentru orice xK, avem 0 < <p0 x0, p0 x0> = <p0 x0, p0 x + x - x0> = <p0 x0, p0 x > +<p0 x0, x - x0>
<p0 x0, x - x0>
(38.1)
pentru orice xK. Cum 0K, rezult c <p0 x0, x0> > 0 sau echivalent
<x0 p0, x0> < 0. (38.2)
Artm c x0 p0 K*. Presupunnd prin absurd c x0 p0 K*, ar rezulta c exist x K astfel nct <x, x0-p0> < 0. nmulind - (cu >0) se obine -<x, x0-p0> > 0 <x, p0 x0 > >0.
54
Optimizri
0 <x, y -
Am obinut o contradicie. Deci <x, y> > 0 pentru orice x K \{0}. Reciproc fie y0H cu proprietatea c <x, y0> > 0 pentru orice x K\{0}. Fie S(0,1) = {xH: ||x|| = 1}. Funcia x <x,y0> fiind continu, i atinge extremele pe mulimea compact S(0,1) K. n particular, exist x0 S(0,1) K astfel nct
<x,y0> <x0, y0> pentru orice x S(0,1) K. Notm = <x0, y0>. Dac y
B(y0,
1 . 2
>-
1 x, y> > 0. x
Deci B(y0,
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 artm c pentru orice x, uRn i t, vR cu urmtoarele afirmaii sunt echivalente: 1. pentru orice xRn i tR 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
(strict) pozitiv. Deoarece q(u) v, rezult c <y,u> v pentru orice y cu p(y) 1, n particular pentru y = - 1 x. Deci t
<- 1 x,u> v 0 <x,u> + tv. t
n particular,
Optimizri
||x||1 =
xj
j=1 2
n ||x||2 = x j j=1
1/ 2
produsul scalar
<A, B> = Trace(Bt A) = b ji a ji ,
i =1 j=1 n n
0 > vtYv = Trace(vvtY), de unde rezult c matricea pozitiv semidefinit X = vvt satisface <X, Y> < 0, deci Y
n K*. Reciproc, fie Y Sn + . Cum orice X S+ poate fi scris sub forma
X=
i vi vit
i=1 n
57
nchis. Artm prin inducie dup m c K = K. Dac m = 1 afirmaia este evident. Presupunem afirmaia adevrat pentru m-1 i o demonstrm pentru m. Fie x K . Atunci x = lim
ija i j
i=1 m
j i=1
ija i =
j
i a i
i=1
max ij ,1 i m
subir avem (
max
j 1
ij ,1
im
max
j 2
ij ,1
im
, ...,
max
j m
ij ,1 i
)t
unde = (1,2 , ...,m)t cu i 0 pentru orice 1 i m. Deoarece pentru orice j exist i astfel nct
max ij ,1 i m
ij
j i j = min , 1 i m cu proprietatea ca i 0 . i
j Se observ c i -ij 0 pentru orice i {1, 2, ..., m} i c pentru orice j exist i j astfel nct i -ij = 0. Pentru fiecare i {1, 2, ..., m} notm
Ji = {j : ij -ij = 0 }. Din faptul c J1 J2 ... Jm = N, rezult c exist i0 astfel nct Ji este infinit.
0
Optimizri
x = lim
j i=1 m
ija i = lim
j
( j
m i=1
ij ji a i = lim
k i i j k i a k
i=1
= lim
k i =1 i i 0
i k i j k i a .
fie K = {x H, <ai, x> 0 pentru orice 1 i m}. Atunci K este un con convex i K* = { i a i , i 0 pentru orice 1 i m}.
i=1 m
Atunci L este con convex nchis (conform observaiei de mai sus). Fie y L*. Atunci <y,
i a i > 0
i=1
pentru orice = (1, 2 ...,m)t cu i 0 pentru orice 1 i m. Punnd i = 1 i j =0 pentru j i, se obine c dac y L*, atunci <y, ai> 0. Reciproc dac <y, ai> 0 pentru orice 1 i m, atunci <y,
i 0
59
pentru orice 1 i m. Ca urmare L* = K, de unde deducem L**=K*. innd seama c L este con convex nchis, rezult L=K*.
matricelor cu m linii i n coloane avnd coeficieni reali) i fie b Rm. Considerm sistemele:
(S1) Ax = b, x 0 (S2) Atu 0, <b,u> < 0
Atunci unul i numai unul dintre sistemele (S1) i (S2) este compatibil.
urmeaz. Fie H Hilbert real, K un con convex n H i b H. Atunci fie bK, fie exist u K* astfel nct <b, u> < 0. ntr-adevr, dac b K, atunci conform propoziiei 22, exist uH\{0} i cR astfel nct <u, b> < c <u, w>, pentru orice w K. Deoarece 0 K*, rezult c c 0 i ca urmare <u, b> < 0. Rmne s artm c u K*. Presupunem prin absurd c exist w K astfel nct <u, w> < 0. Cum pentru orice > 0 avem wK i <u, w> c, trecnd la limit
60
Optimizri
y dac y
x, rezult y = x.
x pentru orice xH (
K
este reflexiv)
K
dac x
y i y
x, atunci x = y (
61
este antisimetric)
3. 4. 5. 6.
y i y y i u
z, atunci x
z (
K
este tranzitiv)
v, atunci x + u
K
y+v
y i 0 , atunci x
K
i innd seama c
urmtoarele afirmaii sunt adevrate: 1. x K x pentru orice xH ( 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
v, atunci x + u K y + v
v. Atunci avem
1 (y-x) int(K) 2
1 1 (y-x) + (v-u) int(K), i folosind faptul c int(K) este con convex, rezult c 2 2 2
62
Optimizri
1 1 ( (y-x) + (v-u)) int(K), adic (y+v) - (x+u) int(K), ceea ce este echivalent cu 2 2
x + u K y + v.
6. Fie x,yH astfel nct x K y. Atunci y-x int(K) i exist >0 astfel nct
||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.
unde pentru x=(x1, x2, , xn)t Rn, prin x 0 nelegem xj0 pentru orice 1jn.
n n Este uor de artat c K*= R n + i c int( R + ) = R ++ , unde
n Rn ++ ={xR , x > 0}.
(pentru x=(x1, x2, , xn)t Rn, prin x > 0 nelegem xj >0 pentru orice 1 j n).
t t n Pentru K= R n + i x=(x1, x2, , xn) , y=(y1, y2, , yn) R , avem
Ky
xj yj pentru orice 1 j n
Atunci urmtoarele afirmaii sunt adevrate 1. Dac int(K) , atunci K* este mulime punctat. 2. Dac H este finit dimensional i dac mulimeaK este punctat, atunci int(K* ) . 3. Dac H este finit dimensional i dac mulimea K este con propriu, atunci K* este con propriu i K** = K.
<x,y> = 0 pentru orice xK. Fie x0int(K) i fie > 0 astfel nct B(x0, ) K. Atunci x0 + deci < x0 +
y,y> = 0 y
y B(x0, ) K i y
< y,y> = 0 y
de unde < y,y> = 0, ceea ce contrazice y0.
2. Dac avemK={0}, atunci K* = H i afirmaia este evident. Fie
x0K\{0}. Exist y0K* astfel nct <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 - x0K). nlocuind x0 cu
1 || x ||
0
x0 i y0 cu
1 || y ||
0
1 ) avem 2 1 . 2
1 ), avem 2
<x, y0> = <x x0 + x0, y0> = <x x0, y0> + <x, y0> >-
<x, y0> =
3 1 1 ||x||< x, y> 3 x
64
Optimizri
n consecin y0int(K*), deoarece conform propoziiei 39 int(K*) = {yH: <x, y> > 0 pentru orice x K\{0}}.
3. Rezult din 2 i 1.
K*
0 0 cu u 0.
K*
0 0 cu x 0.
K
Demonstraie.
i K .
u 0 , <b,u> 0
Atunci unul i numai unul dintre sistemele (S1) i (S2) este compatibil.
(51.1)
pentru orice z K i orice y L. Presupunem prin absurd c exist z K astfel nct <a, z> > 0. innd cont c pentru orice > 0, zK i de (51.1) obinem 0< <a, z> t. Trecnd la limit cu se obine o contradicie: t. Deci <a, z> 0 pentru orice z K, de unde rezult c dac notm 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. Punnd x = 0 i z = 0 obinem <u, b> 0. Din relaia (51.1) rezult c
<u, Ax - b > -t <u, Ax > - t + <u,b> <Atu, x > -t + <u,b> (51.3)
pentru orice xRn. Presupunem prin absurd c exist x Rn astfel nct <Atu, x> > 0. nlocuind n (51.3) x cu x i trecnd la limit cu se obine o contradicie:
-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 innd cont c <Atu, -x> 0 s-ar ajunge la o contradicie). Reciproc, s presupunem c ambele sistemele, (S1) i (S2), sunt compatibile. Atunci exist x astfel nct Ax b int(K) i u K*, u0 astfel nct 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 contradicia 0 < 0. n consecin, sistemele (S1) i (S2) nu pot fi simultan compatibile.
Atunci unul i numai unul dintre sistemele (S1) i (S2) este compatibil.
66
Optimizri
m Demonstraie. Se aplic teorema 51 cu K = R m + (atunci int(K) = R ++ ).
Teorem 53. Fie H un spaiu Hilbert real finit dimensional. Fie K H un con
convex propriu i fie S o submulime a lui H. Atunci punctul x0 S este elementul minim al lui S relativ la relaia
K
K* 0,
x0 este
y (y x0 K), i deci
<y-x0, u> 0
de unde rezult c x0 este punct de minim al funciei x <x,u> pe mulimea S. Cum u K* 0, rezult c pentru orice yx0 ( y-x0 0) cu y x0 K avem
<y-x0, u> > 0
i ca urmare, x0 este unicul punct de minim al funciei x <x,u> pe mulimea S.
K* 0,
minim al funciei x <x,u> pe mulimea S i c x0 nu este elementul minim al lui S. Atunci exist y S astfel nct x0
K
Ca urmare <y, u0> < <x0, u0>, ceea ce contrazice faptul c x0 este punct de minim al funciei x <x,u0>.
Teorem 54. Fie H un spaiu Hilbert real. Fie K H un con convex propriu
1. Dac exist u
K* 0
relativ la relaia
K.
67
2. Dac H este finit dimensional i mulimea S este convex i dac x0 este element minimal al lui S relativ la relaia
K,
atunci exist u
K*
0, u 0
Demonstraie. 1. Fie u
K* 0
K.
x, i ca urmare
<x-y, u> > 0, ceea ce contrazice faptul c x0 este punct de minim al funciei x <x,u> pe mulimea S.
2. Presupunem c x0 este element minimal al lui S relativ la relaia
K
sau
echivalent ((x0 K) \ {x0}) S = . Deoarece (x0 K) \ {x0}) i S sunt mulimi convexe nevide rezult c exist un hiperplan care le separ, adic exist u H\{0}
i b R astfel nct
pentru orice z K \ {0}. Presupunnd prin absurd c exist zK\{0} astfel nct
<u, z> < 0, nlocuind n (54.2) z cu z i trecnd la limit cu , obinem o
contradicie <u, x0> -. Deci u K*. Fie z K\{0} fixat. Din (54.1) rezult c
<u, x0 - z> <u, y> (54.3)
K*0,
u 0).
(cum ar fi for de munc, electricitate, combustibil, ap, etc.). Produsul poate fi fabricat n mai multe feluri. Fiecrei metode de fabricaie i se asociaz un vector x = (x1, x2, ..., xn)t Rn, xi semnificnd cantitatea de materie prim (resurs) i consumat pentru fabricarea produsului prin metoda respectiv (1 i n). Presupunem de asemenea c resursele
68
Optimizri
au valoare, deci c se prefer consumarea unei cantiti ct mai mici din fiecare resurs. Notm cu P mulimea vectorilor x asociai metodelor de fabricaie. O metod de fabricaie se numete eficient sau Pareto optimal dac vectorul x asociat este element minimal al lui P relativ
K
metodelor eficiente de fabricaie se numete frontiera eficient. Optimalitii Pareto i se poate da urmtoarea interpretare. Spunem c o metod de producie creia i corespunde un vector x = (x1, x2, ..., xn)t este mai bun dect o alt metod creia 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 = Rm + . Cu alte cuvinte o metod de producie este mai bun dect alta dac nu consum cantiti mai mari de resurse, iar pentru una dintre resurse consum mai puin. O metod de producie este Pareto optimal dac nu exist nici o alt metod de producie mai bun dect ea. Pentru a gsim metodele de producie Pareto optimale se poate proceda n felul urmtor. Pentru fiecare u K* 0 (K* = K = R m + ) se rezolv problema min <x, u>.
xP
Pentru u = (u1, u2, ..., un)t condiia u K* 0 ui > 0 pentru orice 1in. Interpretarea lui u = (u1, u2, ..., un)t este urmtoarea: ui reprezint costul unitii din resursa i pentru orice 1 i n. Minimul funciei x <x, u> pe mulimea P reprezint costul minim pentru fabricarea produsului, iar un punct de minim x0 al acestei funcii reprezint vectorul asociat unei metode de fabricaie pentru care costul produciei va fi minim. Dac toate preurile ui (1in) sunt pozitive din teorema 54 (1) rezult c metoda de fabricaie obinut va fi eficient (Pareto optimal).
69
Definiie 56. Fie V un spaiu liniar peste K (K= R sau K= C), fie X V o
submulime convex i fie f : X R o funcie. Funcia f se numete 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]) . Funcia f se numete strict convex dac pentru orice x1, x2 X cu x1x2 avem f(x1 + (1-)x2) < f(x1) + (1-) f(x2), oricare ar fi (0,1). Funcia f se numete concav dac f este convex. Funcia f se numete strict concav dac f este strict convex.
Propoziie 57 (Inegalitatea Jensen). Fie V un spaiu liniar peste K (K= R
sau K= C), X o submulime convex a lui V i f : X R o funcie convex. Atunci pentru orice x1, x2, ...., xm din V i orice 1, 2, ..., m K, cu i 0 pentru orice i = 1..m i
i = 1, avem
i=1
f( i x i )
i=1
if (xi ) .
i=1
f( i x i )
i=1
if (xi ) .
i=1
Dac m = 1, atunci f(1x) = f(x) 1 f(x). Presupunem afirmaia adevrat pentru m i o demonstrm pentru m+1. Fie x1, x2, ...., xm+1 din V i fie 1, 2, ..., m+1 K, cu i
70
Optimizri
m +1 i =1
i xi = xm+1 i
m +1
f(
m +1 i =1
m +1
i x i = i x i
i=1 m +1 i =1 m
f(
i xi ) = f( i xi ) if (xi ) = if (xi ) .
i=1 i=1 m
i
i =1
(0,1).
Avem c
f(
innd cont c
m +1 i =1
i i x ) i=1
i f (xi ) .
i=1
i x i =
i xi + (1-) xm+1
i=1
f(
71
Am artat astfel c dac afirmaia este adevrat pentru m este adevrat i pentru m+1.
liniar peste K (K= R sau K= C), X o submulime convex a lui V i f:XR o funcie. Urmtoarele afirmaii sunt echivalente: 1. Funcia f convex pe X 2. Pentru orice xX i y V, funcia gx,y definit prin gx,y(t) = f(x+ty) este convex pe T(x,y) = {tR: x +tyX} 3. Pentru orice x, y X, funcia hx,y definit prin hx,y() = f(x+(1-)y) este convex pe [0,1]. 4. Mulimea epi(f) = {(x,)X R : f(x) } (epigraficul lui f) este convex.
hx,y () = f(x+(1-)y) = f(y +(x-y)) =gy,x-y(), de unde innd cont c [0,1] T(y, x-y) i c gy, x-y este convex, rezult c hx,y este convex.
72
Optimizri
3 => 4. Fie z1, z2 epi(f) i fie (0,1). Deoarece z1, z2 epi(f), rezult c
exist x1, x2 X i 1, 2R, astfel nct z1 = (x1, 1), z2 = (x2, 2), f(x1) 1 i f(x2) 2. Avem
z1 + (1-)z2 = (x1, 1) + (1-)(x2, 2) =(x1+ (1-)x2, 1 + (1-)2).
(x2, f(x2)) epi(f) i epi(f) este convex, rezult c z1 + (1-)z2 epi(f). innd cont
i de faptul c
=(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.
submulime convex deschis a lui H. Fie f : X R o funcie. Urmtoarele afirmaii sunt echivalente: 1. Funcia f convex pe X 2. Pentru orice x0X exist u0 H astfel nct f(x) f(x0) <u0, x x0> pentru orice xX.
pentru orice (x, ) epi(f). Artm c t < 0. Presupunem prin absurd c t > 0. Trecnd la limit n (60.1) cu , obinem o contradicie: <u,x0> + tf(x0). Deci t 0. Presupunem prin absurd c t = 0, i atunci u 0. Din (60.1), obinem 0 <u, x0 - x>
(60.2)
pentru orice xX. Deoarece X este deschis i x0X, rezult c exist >0 astfel nct B(x0, ) X. Deoarece x0 + obinem 0 u B(x0, ) X, nlocuind n (60.2), 2 || u ||
<u, u>, 2 || u ||
de unde rezult <u,u> = 0, ceea ce contrazice u0. n consecin, t < 0. Notm u0 = 1 u. mprind n (60.1) cu t i lund = f(x), obinem t
<u0, x x0> f(x) - f(x0).
2 => 1. Fie x1, x2 X i fie (0,1). Notm x = x1 + (1-)x2 X. innd
cont de ipotez, rezult c exist u0 H astfel nct f(x) f(x) <u0, x x>,
74
Optimizri
pentru orice xX. n particular, pentru x = x1 i x = x2 obinem: f(x1) f(x) <u0, x1 x>, f(x2) f(x) <u0, x2 x>.
(60.3) (60.4)
submulime convex a lui H. Fie f : X R o funcie convex i fie x0 int(X). Atunci f este continu n x0.
i ei :
i=1
1im
max | i |
}. 2m
i compact (este nchis i mrginit). Mulimea punctelor extremale ale lui P este
Ex(P) = {x0 +
i ei :
i=1
|i| =
Mulimea Ex(P) conine 2m puncte. Ca urmare orice punct x P se scrie sub forma x =
i x
i=1
2m
cu i0,
x Ex(P) i
i =0.
i=1
2m
Dac notm M =
xEx(P)
max f (x)
( max f (x) exist deoarece Ex(P) este finit) i inem cont c f este convex,
xEx(P)
rezult c f(x) = f( i x )
i i=1 2m
if ( xi ) M.
i=1
2m
75
) i fie t = 2m
2m
t 1 1 y + x, t +1 t +1
f(x0)
t 1 f(y1) + f(x) t +1 t +1
1 0 1 )x + x t t
x = t y2 + (1-t)x0,
i innd cont c f este convex, rezult c
(61. 2).
Optimizri
Din (61. 1) i (61. 2) rezult c |f(x) f(x0) | t(M f(x0)) = de unde deducem c f este continu n x0.
2m
|| x x 0 || (M f(x0)),
(K= R sau K= C) i fie X V o submulime convex. Atunci 1. Dac f: X R este o funcie convex i 0, atunci f este convex. 2. Dac f1, f2: X R sunt dou funcii convexe, atunci f1 + f2 este convex. 3. Dac f1, f2: X R sunt dou funcii convexe, atunci max{f1, f2} este convex. 4. Dac f: X R este o funcie convex, A: VV un operator liniar i bV, 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 iI, fi: X R este o funcie convex, atunci sup fi este convex, presupunnd c pentru orice xX,
iI
mulimea {fi(x): iI} este mrginit superior 6. Dac W un spaiu liniar peste K (K= R sau K= C), Y W o submulime convex, g : X Y R o funcie convex, i dac pentru orice xX, mulimea {g(x,y): yY} este mrginit inferior, atunci funcia f: XR, definit prin f(x) = inf g(x, y) , este convex.
yY
fj(x1) + (1-)fj(x2)
77
de unde deducem sup fi (x1 + (1-)x2) sup fi (x1) + (1-) sup fi (x2).
iI iI iI
y ,y Y y ,y Y
1
= f(x1) + (1-)f(x2).
Propoziie 63 (compunerea funciilor convexe) Fie V un spaiu liniar peste K (K= R sau K= C) i fie X V o submulime convex. Atunci
1. Dac f: X R este o funcie convex i g: co(f(X)) R este monoton cresctoare i convex, atunci g f este o funcie 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 submulime convex a lui Rm ce conine g(X)) i are proprietatea c pentru orice y z (n Rm), f(y) f(z), atunci f g este o funcie convex
g(f(x1) + (1-)f(x2))
g(f(x1)) + (1-)g(f(x2))
Optimizri
= f(g(x1) + (1-)g(x2)).
f convexa
f(g(x1)) + (1-)f(g(x2))
Definiie 64. Fie H un spaiu Hilbert real, fie X o submulime convex a lui
Funcia g : Y R, definit prin g(y) = sup (<y, x> - f(x)), se numete conjugata
xX
funciei f.
Propoziie 65. Fie H un spaiu Hilbert real, fie X o submulime convex a lui
de unde
xX
i ca urmare
xX xX
deci y1 + (1-)y2Y, adic Y este convex. Fie g conjugata funciei f. Artm c g este convex. Fie y1, y2 Y i fie (0,1). Avem g(y1 + (1-)y2) = sup (<y1 + (1-)y2,x> - f(x))
xX xX
= sup (<y1,x> - f(x) + (1-)<y2,x> - (1-)f(x)) sup (<y1,x> - f(x)) + sup ((1-)<y2,x> - (1-)f(x))
xX xX
79
deschis a lui H i f : X R o funcie convex. Dac g : Y R este conjugata funciei f, atunci 1. <x, y> f(x) + g(y) pentru orice x, y Y 2. Pentru orice x X, exist yx Y, astfel nct <x, yx> = f(x) + g(yx). 3. Dac Y este deschis, atunci conjugata lui g este f. 4. V i W sunt dou subspaii ortogonale ale lui H, atunci
xX V
inf
f(x)
yY W
sup -g(y)
f(x) f(x0) <u0, x x0> pentru orice xX , sau echivalent <u0, x > - f(x) <u0, x0> - f(x0) pentru orice xX , de unde trecnd la supremum dup x, obinem <u0, x0> - f(x0) sup <u0, x > - f(x) <u0, x0> - f(x0) .
xX
Deci <u0, x0> - f(x0) = sup <u0, x > - f(x), adic <u0, x0> - f(x0) = g(u0). Lund
xX
y x 0 = u , 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
80
Optimizri
(66.1)
Pe de alt parte din 2 rezult c exist y x 0 astfel nct <x0, y x 0 > - g( y x 0 ) = f(x0), deci f(x0) sup (<x0, y> - g(y)).
yY
(66.2)
Din (66.1) i (66.2) rezult c f(x0) = sup (<x0, y> - g(y)) = h(x0) pentru orice x0X.
yY
inf
f(x)
yY W
sup
-g(y)
funcie difereniabil pe X. Urmtoarele afirmaii sunt echivalente: 1. f este convex 2. f(y) f(x) <f(x), y -x> pentru orice x, yX 3. <f(y) -f(x), y - x> 0 pentru orice x, yX
f (x + (y x)) f (x) .
2 => 1. Rezult aplicnd propoziia 60 cu u0 = f(x0). 2 => 3. Fie x, y X. innd cont de 2 avem
81
<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)>
(67.2)
funcie de clas C2. Urmtoarele afirmaii sunt echivalente: 1. f este convex 2. Hf(x) este pozitiv semidefinit pentru orice xX
<0
(68.1)
pentru orice t cu |t| . Aplicnd formula lui Taylor, rezult c exist t0 (0, ) astfel nct
82
Optimizri
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 <v, Hf(x+t0v)(v)> 2
0
0
<f(x), v>
Deoarece Hf(z) este pozitiv semidefinit, <y-x, Hf(z)(y-x)> de (68.4) rezult c f(y) = f(x) + <f(x), y-x> 0, de unde, folosind propoziia 67 (2), rezult c f este convex
Alte tipuri de convexitate Definiie 69. Fie V un spaiu liniar peste K (K= R sau K= C), fie X V o
submulime convex i fie f : X R o funcie. Funcia f se numete 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]) . Funcia f se numete strict cvasi-convex dac pentru orice x1, x2 X cu f(x1) f(x2) avem
83
f(x1 + (1-)x2) < max(f(x1), f(x2)), oricare ar fi (0,1). Funcia f se numete cvasi-concav dac f este cvasi-convex. Funcia f se numete strict cvasi-concav dac f este strict cvasi-convex. Funcia f se numete cvasi-liniar dac f este cvasi-convex i cvasi-concav.
Propoziie 70 (definiii echivalente ale funciilor cvasi-convexe). Fie V un
spaiu liniar peste K (K= R sau K= C), X o submulime convex a lui V i f:XR o funcie. Urmtoarele afirmaii sunt echivalente: 1. Funcia f cvasi-convex pe X 2. Pentru orice xX i y V, funcia gx,y definit prin gx,y(t) = f(x+ty) este cvasi-convex pe T(x,y) = {tR: x +tyX} 3. Pentru orice x, y X, funcia hx,y definit prin hx,y() = f(x+(1-)y) este cvasi-convex pe [0,1]. 4. Pentru orice R mulimea: C() = {xX: f(x) } este convex. Dac n plus X este deschis i f este de clas C1, atunci oricare dintre afirmaiile 1-4 sunt echivalente cu afirmaiile 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).
Definiie 71. Fie V un spaiu liniar peste K (K= R sau K= C), fie X V o
submulime convex i fie f : X (0, ) o funcie. Funcia f se numete log-convex dac funcia xlog(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])) . Funcia f se numete log-concav dac funcia xlog(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])) .
84
Optimizri
Definiie 72. Fie V un spaiu liniar peste K (K= R sau K= C), fie X V o
submulime convex, fie H un spaiu normat i fie K H un con propriu. O funcie f: X H se numete convex relativ la relaia de ordine parial definit de conul K
oricare ar fi (0,1) (sau echivalent oricare ar fi [0, 1]) .(reamintim c y1 dac i numai dac y2 y1 K)
y2
85
86
Optimizri
Notaii.
n t 1. R n + = {xR , x0}, unde pentru x=(x1, x2, ..., xn) , x 0 dac i numai dac xj
xj > 0 pentru orice 1jn. 3. Pentru o funcie : X Rm, notm i 1jm componentele scalare ale lui (adic (x) = (1(x), 2(x), ..., m(x)t pentru orice x X). Prin (x) 0 nelegem i(x) 0 pentru orice 1jm, iar prin (x) > 0 nelegem i(x)>0 pentru orice 1jm. 4. Pentru o funcie : X Rm, notm
X = {xX: (x) 0}.
inf f ( x ) ,
inf f ( x )
se definete ca L : X R m + R,
87
uii (x) ,
i=1
pentru orice xX i orice u R m + . Componentele u1, u2, ..., um ale vectorului u se numesc variabile duale ale problemei de optimizare sau multiplicatori
Lagrange.
inf f ( x )
0 Dac (x0,u0)X R m + este punct a pentru L, atunci x este punct de minim global
<u0, (x0)>.
Optimizri
- <u,(x0)> - <u0,(x0)>
< 0. Lum
0 0 0 0 0 0 t m u = ( u1 , u 2 , ..., u i 1 , 1+ u i , u i+1 , ..., u m ) R +
-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.
Deoarece (x0,u0)X R m + este punct a pentru L, pentru orice xX avem L(x0, u0) L(x, u0) f(x0) - <u0,(x0)> f(x) - <u0,(x)>
innd cont de condiia ecarturilor complementare rezult pentru orice xX
f(x0) f(x) - <u0,(x)>. (3.4) Pentru orice xX, avem (x) 0, de unde rezult
<u0,(x)> 0. (3.)
Din (3.4) i (3.5) obinem c pentru orice xX f(x0) f(x) - <u0,(x)> f(x),
89
f:XR o funcie convex. Atunci un punct x0 este punct de minim local pentru f dac i numai dac x0 este punct de minim global pentru f.
= min(1,
2 || x x 0 ||
),
atunci (0, 1]. innd cont c X este convex i c x0, x X, rezult x0 + (x-x0) = x + (1-)x0 X Pe de alt parte
(4.2).
2 || x x ||
0
|| x-x0|| =
< , 2
de unde rezult c x0 + (x-x0) B(x0, ) i innd cont de (4.2), se obine x0 + (x-x0) B(x0, ) X. Folosind (4.1) rezult
90
Optimizri
f convexa
f(x0) f(x)
f(x0) f(x), deci x0 este punct de minim global pentru f.
funcie convex difereniabil. Atunci un punct x0X este punct de minim global pentru f dac i numai dac
f(x0) = 0.
submulime convex i fie = (1, 2, ..., m) : X Rm cu proprietatea c i:XR este concav pentru orice 1 i m. Atunci mulimea X = {xX: (x) 0}. este convex.
Cum i(x1 + (1-)x2) 0 pentru orice i, 1 i m, rezult x1 + (1-)x2 X. Aadar X este convex.
i:XR este concav pentru orice 1 i m. Atunci x0X este soluie optim
local a problemei
xX
inf f ( x )
dac i numai dac x0X este soluie 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).
(K= R sau K= C), X o submulime convex a lui V, f:XR o funcie convex i = (1, 2, ..., m) : X Rm cu proprietatea c i : X R este concav pentru orice 1 i m. Dac x0X este punct de minim al lui f pe X, atunci exist t0 R+ i u0 R m + astfel nct 1. 2. 3. (t0, u0) 0
<u0,(x0)> = 0
(x0,u0) este punct
a
pentru
funcia
Lagrange-Fritz-John,
L t 0 :X R m + R, definit prin
92
Optimizri
uii (x) .
i=1
S = {(,v) RRm : exist xX astfel nct f(x) i v -(x)} Artm c P i S sunt mulimi convexe. Fie (1,v1), (2,v2)P i (0, 1). Avem
v1 + (1-)v2 0 (8.3)
Din (8.1), (8.2) i (8.3) avem (1,v1) + (1-)(2,v2) P, i ca urmare P este convex. Fie (1,v1), (2,v2)S i (0, 1). Deoarece (1,v1), (2,v2)S, exist x1,x2X astfel nct 1 f(x1) i v1 -(x1) i 2 f(x2) i v2 -(x2). Artm c (1 + (1-)2, v1 + (1-)v2) S. Deoarece X este convex, avem
x1 + (1-) x2X.
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} funcia i este concav, rezult -i este convex i ca urmare -i(x1 + (1-) x2) -i (x1) - (1-)i(x2) v1 + (1-)v2
innd cont de (8.4), (8.5) i de faptul c
(8.5)
93
Artm c int(P) S = . Presupunem prin absurd c (,v)int(P) S. Din faptul c (,v)int(P) se obine < f(x0) i v < 0. Iar din faptul c (,v) S rezult c exist xX astfel nct f(x) i v -(x). Ca urmare,
(x) -v >0
de unde xX. Aadar se obine contradicia
< f(x0)
x 0 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, a0 astfel nct t0 + <u0, v> t0 + <u0, w> pentru orice (,v)S i (,w)P (8.6) Avem t0 0 (presupunnd prin absurd c t0 < 0 i trecnd la limit cu - i cu
v = -(x0) i = f(x0) w = (-1(x0), -2(x0), ... -i-1(x0), t-i(x0), -i+1(x0), ... -n(x0))t , cu t < 0 i =f(x0) obinem t0f(x0)+ <u0, -(x)> t0f(x0) + <u0, w> 0 <u0, w+(x)>
0 0 t ui 0 contradicie cu u i <0.
(f(x0),0)P obinem t0f(x) -<u0, (x)> t0f(x0) pentru orice xX (8.7) Dac n (8.7) lum x = x0 obinem -<u0, (x0)> 0.
94
Optimizri
<u0, (x0)> 0.
Aadar <u0, (x0)> = 0. Pentru orice u R m + avem
(8.8)
L t 0 (x, u0) = t0f(x) - <u0,(x)> t0f(x0) = t0f(x0) - <u0, (x0)> = L t 0 (x0, u0),
(8.7)
deci
(8.9)
Din (8.8) i (8.9) rezult c (x0, u0) este punct a pentru funcia L t 0 .
submulime convex. Se spune c un punct x X este in interiorul relativ al lui X dac pentru orice x1X exist x2X i (0, 1) astfel nct x = x1 + (1-)x2. Pentru orice x0 din interiorul relativ al lui X, orice x X i (0,1), x0+(1-
95
Definiie 10. Fie V un spaiu liniar peste K (K= R sau K= C), fie X V o
submulime convex i fie = (1, 2, ..., m) : X Rm cu proprietatea c j:XR este concav pentru orice 1 j m. Spunem c un punct x din interiorul relativ al mulimii X este punct Slater dac
j( x ) > 0 pentru orice j Jr (mulimea restriciilor regulate) j( x ) = 0 pentru orice j Js (mulimea restriciilor singulare)
Lema 11. Fie V un spaiu liniar peste K (K= R sau K= C), fie X V o
submulime convex i fie = (1, 2, ..., m) : X Rm cu proprietatea c j:XR este concav pentru orice 1 j m. Dac X satisface condiia de regularitate Slater, atunci exist un punct Slater ideal x X.
jJ r
96
Optimizri
peste K (K= R sau K= C), X o submulime convex a lui V, f:XR o funcie convex i = (1, 2, ..., m) : X Rm cu proprietatea c j : X R este concav pentru orice 1 j m. Presupunem c X = {xX: (x) 0} satisface condiia de regularitate Slater. Atunci sistemul f(x) < 0
(x) 0
xX nu are nici o soluie dac i numai dac exist v0 R m + astfel nct f(x) - <v0, (x)> 0 pentru orice x X.
xX are o soluie x0, atunci pentru orice v0 R m + f(x0) - <v0, (x0)> < - <v0, (x0)> 0,
i ca urmare nu exist v0 R m + astfel nct
f(x0) - <v0, (x0)> 0. Reciproc s presupunem c sistemul nu admite nici o soluie. Notm S = {(,v) RRm : exist xX astfel nct > f(x), vj -j(x) pentru orice jJr i vj = - j(x) pentru orice jJs} Artm c S este mulime convex. Fie (1,v1), (2,v2)S i (0, 1). Deoarece
1 (1,v1), (2,v2)S, exist x1, x2X astfel nct 1 > f(x1) , v1 j -j(x ) pentru orice 1 2 2 2 2 jJr , v1 j = -j(x ) pentru orice jJs i 2 > f(x ) v j -j(x ) pentru orice jJr , v j
97
= -j(x2) pentru orice jJs. Artm c (1 + (1-)2, v1 + (1-)v2)S. Deoarece X este convex, avem
x1 + (1-) x2X.
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 funcia j este concav, rezult -j este convex i ca urmare pentru orice j Jr, avem
2 -j(x1 + (1-) x2) -j (x1) - (1-)j(x2) v1 j + (1-) v j
(12.2)
Deoarece X satisface condiia de regularitate Slater rezult c orice restricie singular este liniar. Ca urmare, pentru orice j Js, avem
2 j(x1 + (1-) x2) = j (x1) + (1-)j(x2) = - v1 j - (1-) v j
(12.3)
rezult c (1,v1) + (1-)(2,v2) S i n consecin S este convex. Fie W=sp(S) subspaiul vectorial generat de S. Deoarece sistemul considerat nu are nici o soluie, 0S. Ca urmare, {0} i S (privite ca submulimi ale lui W) pot fi separate printr-un hiperplan, deci exist a =(t0, u0) Rm+1, a0 astfel nct t0 + <u0, v> 0 pentru orice (,v)S (12.4) Hiperplanul Ha,0={xW: <a,x> = 0} nu poate conine toate punctele din S (n caz contrar, S Ha,0 subspaiu vectorial, ca urmare W= sp(S) Ha,0 = W, ceea ce contrazice faptul ca dimHa,0 = dim W 1). Deci exist ( , v )S astfel nct t0 + <u0, v > > 0 (12.5) Avem t0 0 (presupunnd prin absurd c t0 < 0 i trecnd la limit cu n
0 (12.4) obinem contradicia - 0). De asemenea avem u i 0 pentru orice i Jr 0 (presupunnd prin absurd c exist iJr astfel nct u i < 0 i lund n (12.4)
98
Optimizri
i trecnd la limit cu t obinem contradicia - 0). innd seama de (12.4) i de faptul c (+f(x),-(x))S pentru orice xX i
t0f(x) - <u0, (x)> 0 (12.6) pentru orice xX. Artm c t00. Presupunem prin absurd c t0 = 0. Atunci u00 i din (12.6) ar rezulta c 0 <u0,(x)>
(12.7)
pentru orice xX. Cum X satisface condiia 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 jJs. nlocuind n (12.7) x cu x se obine
j Jr
u0 j j x
( )
(12.8)
j Jr
u0 j j x 0, iar innd
( )
j Jr
( )
( )
(12.9)
u0 j vj > 0
(12.10)
99
Cum ( , v )S exist x*X astfel nct v j = - j(x*) pentru orice jJs. nlocuind n
(12.10) obinem
jJ s
* u0 j j x < 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 nct x = x* + (1-) x . Utiliznd faptul c j( x ) = 0 pentru jJs i c toate restriciile singulare sunt liniare se obine 0= jJ s
u0 j j x =
( ) u 0j j ( x* + (1 ) x ) =
jJ s jJ s
jJ s
* u0 j j x + (1 )
( )
u0 j j x <
()
(12.11)
de unde rezult c
>
(1 )
jJ s
u0 j j x
()
(12.12)
jJ
u0 j j (x) > 0
s
i Jr, se obine jJ s
u0 j j x 0,
()
ceea ce contrazice (12.12). n consecin, presupunerea c t0 = 0 este fals i deci t0 > 0. mprind cu t0 > 0 n (12.6) i notnd w0 = f(x) 1 0 u se obine t0
j J r Js
w0 j j ( x ) 0 (12.13)
pentru orice x X. Avem w 0 j 0 pentru orice j Jr. Rmne s artm c putem alege w0 astfel nct w 0 j > 0 pentru orice j Js. Demonstrm prin inducie dup
100
Optimizri
numrul de elemente din Js (numr de restricii active). Dac Js = , atunci evident lema este adevrat. Dac Js conine un singur element s, sistemul -s(x) < 0 j(x) 0, jJr xX nu are nici o soluie. Aplicnd raionamentul care ne-a condus la (12.13) sistemului de mai sus rezult c exist w j 0 pentru orice j Jr astfel nct -s(x) 0
j Jr
w j j ( x ) 0 (12.14)
0
w ( j J
0 j
0 + ws w j j ( x ) - ( ws + w s )s(x) 0
Presupunem c lema este adevrat pentru probleme cu numr de restricii singulare mai mic sau egal cu k i demonstram c este adevrat pentru cazul n care numrul de elemente din Js este k + 1. Fie s Js. Atunci Js \ {s} are k elemente. Sistemul -s(x) < 0 j(x) 0, jJr (Js \ {s}) xX nu are nici o soluie. Aplicnd ipoteza de inducie, rezult c exist w j 0 pentru orice j Jr i w j > 0 pentru orice jJs \{s} astfel nct -s(x) 0 0
j J r ( Js \ {s})
w j j ( x ) 0 (12.15)
101
w 0 + w w x - ( w 0 + w ) (x) 0 s s s j j( ) j s j J r ( Js \ {s} )
pentru orice x X. Ca urmare exist v0 0 cu v0 j > 0 pentru orice j Js astfel nct f(x) - <v0, (x)> 0
Fie V un spaiu liniar peste K (K= R sau K= C), X o submulime convex a lui V, f:XR o funcie convex i = (1, 2, ..., m) : X Rm cu proprietatea c i : X R este concav pentru orice 1 i m. Presupunem c X satisface condiia de regularitate Slater. Dac x0X este punct de minim al lui f pe X, atunci exist
0 0 m u0 R m + astfel nct (x ,u ) este punct a pentru funcia Lagrange, L:X R + R,
uii (x) .
i=1
102
Optimizri
Deoarece x0X este punct de minim al lui f pe X, sistemul considerat nu are nici o soluie. Aplicnd lema lui Farkas-varianta convex, rezult c exist u0 R m + astfel nct f(x) f(x0) - <u0, (x)> 0 pentru orice x X. (13.1) Lund n (13.1) x = x0 se obine - <u0, (x0)> 0
0 0 sau echivalent <u0, (x0)> 0. Cum x0 X i u0 R m + avem <u , (x )> 0. Deci
( )
(13.1)
(13.3)
Din (13.2) i (13.3) rezult c (x0, u0) este punct a pentru funcia Lagrange L.
Propoziie 14. (condiii necesare i suficiente n cazul ipotezei de regularitate Slater) Fie V un spaiu normat, X o submulime convex a lui V,
f:XR o funcie convex i = (1, 2, ..., m) : X Rm cu proprietatea c i:XR este concav pentru orice 1 i m. Presupunem c X satisface condiia de regularitate Slater. Urmtoarele afirmaii sunt echivalente: 1. x0 este punct de minim local pentru f pe X 2. x0 este punct de minim global pentru f pe X
0 0 3. Exist u0 R m + astfel nct (x ,u ) este punct a pentru funcia Lagrange,
uii (x) .
i=1
inf f ( x ) ,
unde X = {xX: (x) 0}. Restricia i(x) 0 se numete restricie activ n punctul x0X dac i(x0) = 0. Notm cu
I(x0) = {i: 1 i m, i(x0) = 0},
submulime convex a lui V, f:XR o funcie convex i =(1,2,...,m):XRm cu proprietatea c i : X R este concav pentru orice 1 i m. Dac x0X este soluie optim a problemei
xX
inf f ( x )
(16.1)
inf
f ( x ) (16.2)
unde X(x0) = {xX: i(x) 0 pentru orice iI(x0)} (I(x0) = {i: i(x0) = 0} este mulime restriciilor active n x0).
Optimizri
i( x ) + (1-)i(x0) = i( x ) 0 (16.3)
i( x ) + (1-)i(x0) 0
i concava
i lund
( )
se obine i(x) 0. innd cont i de (16.3) rezult c exist (0,1), astfel nct. i(x) 0 pentru orice i, sau echivalent x X. Deoarece f( x ) < f(x0), rezult f(x)
f convexa
ceea ce contrazice faptul c x0 este soluie optim pentru problema (16.1). Aadar presupunerea este fals i deci x0 este soluie optim pentru problema (16.2).
funcie de clas C1 i = (1,2, ..., m) : X Rm de clas C1 (i.e. i:XR este de clas C1 pentru orice 1 i m). Dac x0 este punct de minim local al lui f pe X atunci exist u0R i u0Rm cu (u0, u0) 0 astfel nct
105
1. 2. 3.
u0f(x0) -
ui0i (x 0 )
i=1
=0
u0 0 i u0 0
0 ui i(x0) = 0 pentru orice i, 1 i m.
Demonstraie. Fie
I(x0) = {i: 1 i m, i(x0) = 0}, mulimea restriciilor active n x0. Artm c nu exist vRn astfel ca -<f(x0), v> > 0 <i(x ), v> > 0, iI(x ) Presupunem prin absurd c ar exista vRn, cu proprietile anterioare. Atunci v0. Fie mulimea S = {x0+tv: t(-,)}, cu >0 suficient de mic astfel nct S X iar pentru orice t (-,) s avem i(x0+tv) > 0 pentru orice iI(x0), <i(x0+tv), v> >0 pentru orice iI(x0) i <f(x0 + tv), v> < 0, (un astfel de exist; ntr-adevr, innd cont c x0X deschis, i(x0) > 0 pentru iI(x0) i i continu, <i(x0), v> > 0, iI(x0) i i continu, <f(x0), v> < 0 i f continu, rezult c exist >0 astfel nct pentru orice xB(x0,)X s avem i(x) > 0 pentru iI(x0), <i(x), v> > 0, iI(x0) i, <f(x), v> < 0; lum =
0 0
(17.1)
1 ). Considerm funciile || v ||
g : (-,) R, g(t) = -f(x0+tv), t (-,) hi : (-,) R, hi(t) = i(x0+tv), t (-,) pentru iI(x0). Deoarece g (t) = -
n n
h i (t) =
rezult c g i hi, iI(x0) sunt funcii strict cresctoare pe mulimea (-,). Fie t>0, t(-,). Avem hi(t) > hi(0) pentru iI(x0) (deoarece hi este strict cresctoare), de unde
106
Optimizri
i(x0+tv) > i(x0) = 0, iI(x0). Pe de alt parte, deoarece t(0, ), avem i(x0+tv)>0 pentru orice iI(x0). Ca urmare x0+tvX. Din faptul c g este strict cresctoare rezult c g(t) > g(0), de unde - f(x0+tv) > - f(x0) f(x0+tv) < f(x0)
- u0f(x0) +
jI(x )
0
0 u0 j j (x ) = 0.
u0f(x0) -
ui0i (x 0 )
i=1
= 0.
0 Avem u0 0, u00 i n plus, u i i(x0) = 0 pentru orice i, 1 i m (deoarece dac 0 iI(x0), i(x0) = 0, iar dac iI(x0), u i = 0).
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, = {xX: (x) 0, (x) = 0}, atunci exist u0R i u0Rm, v0Rp nu toi nuli astfel nct 1. u0f(x0) -
ui0i (x 0 ) i=1
vi0i (x 0 ) = 0
i=1
2. u0 0 i u0 0
0 3. u i i(x0) = 0 pentru orice i, 1 i m.
107
X = {xX: (x) 0}. Un vector vR \{0} se numete direcie admisibil (relativ la X) ntr-un punt x0X dac exist >0 astfel nct x0 + tvX pentru orice t[0, ). Se observ uor c dac x0int(X), atunci orice vector vRn\{0} este direcie admisibil n x0. ntr-adevr dac x0int(X), atunci exist >0 astfel nct 1 , atunci pentru orice t[0,) avem || v || x0+tvB(x0,)X.
Propoziie 20. Fie X o submulime deschis a lui Rn, : X Rm
n
B(x0,)X. Dac lu =
difereniabil i X = {xX: (x) 0}. Dac vRn\{0} este direcie admisibil n punctul x0X , atunci este ndeplinit condiia <i(x0), v> 0, pentru orice i I(x0), unde I(x0) = {i: 1 i m, i(x0) = 0} este mulime restriciilor active n x0.
i x 0 + tv i x 0 i 0 x = lim v t t 0
( )
) ( ) 0
t >0
i deoarece
( )
Optimizri
clas C1 i x0 X = {xX: (x) 0}. Notm M1 = {i: i este convex}, M2 = {1, 2, ..., m} \ M1. Dac vRn \{0}verific <i(x0), v> 0, i M1 <i(x0), v> > 0, i M2 atunci v este direcie admisibil n x0. ntr-adevr, innd cont c x0X deschis, i(x0) > 0 pentru iI(x0) i i continu, <i(x0), v> > 0, iM2 i i continu, rezult c exist >0 astfel nct pentru orice xB(x0,)X s avem i(x) > 0 pentru iI(x0) i <i(x), v> > 0, iM2. Dac lum = 1 , atunci pentru orice t [0, ) || v ||
avem x0 + tv B(x0,) X i i(x0 + tv) > 0 pentru iI(x0). Fie i I(x0) M2. Aplicnd formula lui Taylor, rezult c exist (0, 1) astfel nct i(x0 + tv) - i(x0) = <i(x0 + tv), tv> = t<i(x0 + tv), tv> > 0 i(x0 + tv) > 0 (deoarece, i(x0) = 0). Pentru i I(x0) M1, avem i(x0 + tv) - i(x0) <i(x0), tv> = t<i(x0), v> 0 i(x0 + tv) 0. Deci pentru orice i{1,2,..., m} i orice t [0, ), avem x0 + tvX. Aadar v este direcie admisibil n x0.
Definiie 21. Fie X o submulime deschis a lui Rn, f: XR difereniabil,
: X Rm difereniabil i X = {xX: (x) 0}. Fie L:X R m + funcia Lagrange definit prin L(x, u) = f(x) - <u,(x)>. Un punct x0X se numete punct de minim
109
n sensul lui Lagrange pentru f pe X dac exist un vector u0 R m + , numit vectorul multiplicatorilor lui Lagrange, astfel nct
<u0, (x0)> = 0 xL(x0, u0) = 0, unde xL(x0, u0) reprezint gradientul funciei x L(x, u0) calculat in x0.
Propoziie 23. Fie X o submulime deschis a lui Rn f: X R difereniabil,
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.
de minim pentru funcia x L(x,u0) pe mulimea X. i cum X este o mulime deschis i L o funcie difereniabil, rezult c x0 este punct staionar pentru x L(x,u0), adic xL(x0, u0) = 0. Aadar x0 este punct de minim n sensul lui Lagrange pentru f pe X iar u0 este vectorul multiplicatorilor Lagrange.
difereniabil i convex, = (1,2,...,m) : X Rm cu proprietatea c i:XR este concav pentru orice 1im. Fie X = {xX: (x) 0}. Atunci urmtoarele afirmaii sunt echivalente:
110
Optimizri
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.
(24.1)
ceea ce contrazice nct 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
direcie admisibil n x0. Deoarece exist >0 astfel nct x0 + tvX pentru orice t[0, ) i deoarece x0 este punct de minim pentru f pe X avem f(x0+tv) - f(x0) 0 de unde f x 0 + tv f x 0 f 0 x = lim 0 t v t 0
( )
) ( )
t >0
i deoarece
( )
difereniabil i convex, = (1,2,...,m): X Rm difereniabil cu proprietatea c i:XR este concav pentru orice 1im. Presupunem c X = {xX: (x) 0}
111
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
ui0i (x 0 ) ,
i=1
pentru orice i. Dac i I(x0) (mulimea restriciilor active n x0), atunci i(x0) > 0, i
0 n consecin u i =0. Aadar avem
ui0i (x 0 ) = f(x0) -
i=1 iI(x 0 )
iI(x 0 )
0 ui i (x 0 )
0 ui i (x 0 ) (25.1)
Fie vRn o direcie admisibil n x0. Atunci avem <f(x0), v> = <
iI(x 0 )
0 ui i (x 0 ) , v>
(25.1) iI(x 0 )
0 ui < i (x 0 ), v > 0,
conform propoziiei 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
112
Optimizri
uii (x) .
i=1
Conform propoziiei 23, x0 este punct de minim n sensul lui Lagrange pentru f pe X iar u0 este vectorul multiplicatorilor Lagrange.
n cazul
submulime convex deschis a lui Rn, f: X R difereniabil i convex, = (1,2,...,m): X Rm difereniabil cu proprietatea c i :XR este concav pentru orice 1im. Presupunem c X ={xX:(x)0} satisface condiia de regularitate Slater. Urmtoarele afirmaii sunt echivalente: 4. x0 este punct de minim local pentru f pe X 5. x0 este punct de minim global pentru f pe X
0 0 6. Exist u0 R m + astfel nct (x ,u ) este punct a pentru funcia Lagrange,
uii (x)
i=1
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
difereniabil pentru orice 1im. Presupunem c X = {xX: (x) 0} satisface condiia de regularitate Slater i presupunem dat problema de optimizare
xX
inf f ( x ) .
(i) (ii)
ui0i (x 0 ) =0
i=1
(iii) (iv)
ui0i (x 0 ) = 0
i=1
0 ui 0 pentru orice i =1, 2, ..., m
se numete punct KKT (Karush-Kuhn-Tucker). Se observ c (x0,u0)XRm 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 funcia Lagrange, L:X R m + R, definit prin L(x, u) = f(x) - <u,(x)> = f(x) -
uii (x)
i=1
Evident dac (x0,u0) este punct KKT, atunci x0 este soluie optim a problemei
xX
inf f ( x ) .
114
Optimizri
inf f (x)
(P1) (P2)
sup g(y)
Problema (P2) se numete duala problemei (P1) dac sunt ndeplinite urmtoarele dou condiii: 1. f(x) g(y) pentru orice x X i y Y. 2. Dac una dintre problemele (P1) sau (P2) admite soluie optim atunci i cealalt admite soluie optim i valorile optime coincid. Se mai spune c problemele (P1) i (P2) sunt probleme duale.
Lema 2. Fie X i Y dou mulimi nevide i f: X R i g: Y R dou
inf f (x)
(P1) (P2)
sup g(y)
s verifice condiia 1 din definiia dualitii. Dac x0X i y0Y sunt astfel nct f(x0) = g(y0), atunci x0 este soluie optim pentru (P1), iar y0 este soluie optim pentru (P2).
Presupunem prin absurd c y0 nu este soluie optim pentru (P2). Atunci exist y1 Y astfel nct g(y1) > g(y0) = f(x0), ceea ce contrazice faptul c f(x0)g(y1) (conform condiiei 1 din definiia 1).
inf f (x)
(P3) (P4)
sup g(y)
verific prima condiie din definiia dualitii.
Demonstraie. 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.
punct (x0, y0) se numete punct a pentru funcia F dac F(x0, y) F(x0, y0) F(x, y0), pentru orice x X i y Y.
Propoziia 5. Fie X i Y dou mulimi nevide i F: X Y R o funcie.
inf f (x)
(P3) (P4)
116
sup g(y)
Optimizri
Atunci urmtoarele afirmaii sunt echivalente. 1. (x0, y0) este punct a pentru F 2. x0 este soluie optim pentru (P3), y0 este soluie optim pentru (P4), i f(x0) = g(y0)
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) Punnd n (5.2) y = y0 obinem F(x0, y0) F(x, y0) pentru orice xX. Punnd n (5.2) x=x0 obinem F(x0, y) F(x0, y0).
0 0
(5.2). (5.3)
(5.4)
atunci problemele P3 i P4 sunt duale. Teoremele de existen a punctului a se numesc teoreme minmax.
117
difereniabil i convex, = (1, ..., m): X Rm difereniabil cu proprietatea c i:XR este concav pentru orice 1im i fie X = {xX: (x) 0}. Considerm problema de optimizare
xX
inf f ( x )
(P)
L(x, u) = f(x) - <u,(x)>. Se numete dual n sens Wolfe a problemei (P) problema
(x,u)Y
sup L ( x, u )
(W)
unde Y = {(x,u) X R m + : xL(x,u) = 0}. (pentru (x*,u*) X R m + , xL(x*, u*) reprezint gradientul funciei x L(x, u*) calculat in x*).
Lema 7. Fie X o submulime convex deschis a lui Rn, f:X R
difereniabil i convex, = (1, ..., m) : X Rm difereniabil cu proprietatea c i:XR este concav pentru orice 1im i fie X = {xX: (x) 0}. Dac L:X R m + R, este definit prin L(x, u) = f(x) - <u,(x)> i Y = {(x,u) X R m + : xL(x,u) = 0}, atunci f(x1) L(x2, u) pentru orice x1X i orice (x2, u) Y.
Optimizri
f(x2) -
uii (x 2 ) = 0.
i=1
Ca urmare pentru orice (x2, u) Y i x1X 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
(x ,u)Y
= 2
i concava
f(x1) -
ui (i (x1 ) i (x 2 )) - <u,(x2)>
i=1
f(x1).
deschis a lui Rn, f:X R difereniabil i convex i fie = (1, ..., m) : XRm difereniabil cu proprietatea c i:XR este concav pentru orice 1im. Presupunem c X = {xX: (x) 0} satisface condiia de regularitate Slater. Dac x0 este soluie optim a problemei de optimizare
xX
inf f ( x )
(P)
0 0 atunci exist u0 R m + astfel nct (x , u ) s fie soluie optim a dualei n sens Wolfe
a problemei (P):
(x,u)Y
sup L ( x, u )
(W)
iar u0 vectorul multiplicatorilor Lagrange. Ca urmare exist u0 0 astfel nct 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 soluie optim pentru problema dual
(W).
difereniabil i convex i fie X0 = {xX: x 0}. Atunci x X0 este soluie optim pentru problema
xX0
0
inf f ( x )
dac i numai dac sunt ndeplinite urmtoarele condiii 1. x0 0 2. f(x0) 0 3. <x0, f(x0)> = 0
u0 vectorul multiplicatorilor Lagrange. Prin urmare xL(x0, u0) = 0 i <x0, u0> =0. Funcia Lagrange L:X R m + R fiind definit prin L(x, u) = f(x) - <u,x>,
0 0 avem xL(x,u) = f(x) u pentru orice (x,u) X R m + . Aadar xL(x , u ) = 0 sau
echivalent f(x0) = u0. n consecin, x0 este punct de minim global pentru f pe X0 dac i numai dac x00, f(x0)0, <x0, f(x0)> = 0 .
Lema 10. Fie X o submulime deschis a lui Rn, f:X R de clas C1 i fie
120
Optimizri
inf f ( x )
ui0i (x 0 )
i=1
=0
2. u0 0 i u0 0
0 3. u i i(x0) = 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 u0R i u0Rm cu (u0, u0) 0 astfel nct 1. 2. 3. u0f(x0) -
ui0ei
i=1
=0
u0 0 i u0 0
0 0 ui xi = 0 pentru orice i, 1 i m.
ui0 = 0, i cum
i=1
urmare f(x0) =
0 ui u ei 0. i=1 0 m
121
<x0, f(x0)> =
0 ui 1 m 0 0 0 x = u i u ui xi = 0. 0 i=1 i=1 0 m
deschis a lui Rn, f : X R de 2 ori difereniabil i convex, fie =(1,...,m):XRm de 2 ori difereniabil cu i concav pentru orice 1 i m i fie X = {xX: (x) 0}. Fie L:X R m + R funcia 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 R m + : xL(x,u) = 0}. Dac (x0, u0) este soluie optim pentru problema (W) i HxL(x0,u0) este nesingular, atunci x0 este soluie optim pentru problema
xX
inf f ( x )
(P)
Demonstraie. Deoarece (x0, u0) este soluie optim pentru problema (W),
atunci x0X, u0 0 i xL(x0, u0) = 0. innd cont c xL(x0, u0) = 0 det(HxL(x0,u0)) 0
i aplicnd teorema funciilor implicite, rezult c exist o vecintate deschis V a lui
u0 i o funcie difereniabil : V X0 astfel nct xL((u), u) = 0 (u0) = x0 pentru orice u V. Deoarece (x0, u0) este soluie optim pentru problema (W), rezult c u0 este soluie optim i pentru problema
122
Optimizri
uV,u 0
sup L ( (u), u )
(11.1)
inf
g (u)
(11.2)
innd cont c u0 este soluie optim pentru problema (11.2) i aplicnd lema 10
obinem 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. Aadar x0X. 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 condiie din definiia dualitii, aplicnd lema 2 rezult c x0
inf f ( x )
(P)
123
L(x, u) = f(x) - <u,(x)>. Notm g(u) = inf L ( x, u ) pentru orice u R m + . Se numete dual n sens
xX
sup g ( u )
(L)
{xX: (x) 0}. Fie L:X R m + R, definit prin L(x, u) = f(x) - <u,(x)> (funcia
m Lagrange) i fie g(u) = inf L ( x, u ) pentru orice u R m + . Atunci g: R + R este o xX
funcie concav.
= inf (f(x) - <u1, (x)> - (1-)<u2, (x)>) = inf (f(x) - <u1, (x)> + (1-)f(x)- (1-)<u2, (x)>) inf (f(x) - <u1, (x)>) + inf ((1-)f(x)- (1-)<u2, (x)>)
xX xX
sup g ( u ) (L)
este echivalent cu
uR m +
inf g ( u )
124
Optimizri
care este o problem de optimizri convexe (chiar dac funciile f i din problema
(P) nu sunt convexe) pentru care este ndeplinit condiia de regularitate Slater. Propoziie 14. Fie X o mulime, fie funciile f: X R, : X Rm i fie X
= {xX: (x) 0}. Fie L:X R m + R, definit prin L(x, u) = f(x) - <u,(x)> (funcia Lagrange) i fie g(u) = inf L ( x, u ) pentru orice u R m + . Atunci problemele
xX
xX
inf f ( x )
(P)
i
uR m +
sup g ( u ) (L)
xX
( )
f(x0)
Corolar 15. Cu notaiile din propoziia anterioar, dac exist x0X i u00
astfel nct f(x0) = g(u0), atunci x0 este soluie optim a problemei (P), u0 este soluie optim a problemei (L) i n plus (x0, u0) este punct a pentru L (n particular, dac f
i sunt difereniabile, atunci (x0, u0) este punct KKT pentru problema (P)).
<u0, (x0)> = 0.
125
Pentru orice u0 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 )> inf (f(x) - <u0, (x)>)
xX
= g(u0) = f(x0) = f(x0) - <u0, (x0)> = L(x0, u0). Din (15.1) i (15.2) rezult c (x , u ) este punct a pentru L. Dac f i sunt difereniabile, 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 propoziiei 26 din capitolul V Condiii de optimalitate cazul problemelor de optimizare cu restricii inegaliti).
0 0
(15.2)
= {xX: (x) 0}. Fie L:X R m + R, definit prin L(x, u) = f(x) - <u,(x)> (funcia
0 0 Lagrange) i fie g(u) = inf L ( x, u ) pentru orice u R m + . Dac (x , u ) este punct
xX
inf f ( x )
(P)
sup g ( u )
(L)
Demonstraie. Dac (x0, u0) este punct a pentru funcia Lagrange L, atunci x0
este soluie optim a problemei
xX
inf f ( x )
(P)
126
Optimizri
Conform propoziiei 5, faptul c (x0, u0) este punct a pentru funcia Lagrange L implic u0 soluie optim a problemei
uR m +
sup g ( u )
(L)
Pe de alt parte, deoarece u0 este soluie optim pentru problema (L) avem g(u0) g(0) = inf (f(x) - <0, (x)>) inf f(x) = f(x0). (16.2)
xX xX
c X = {xX: (x) 0} satisface condiia de regularitate Slater. Fie L:X R m + R, definit prin L(x, u) = f(x) - <u,(x)> (funcia Lagrange) i fie g(u) = inf L ( x, u )
xX
0 pentru orice u R m + . Atunci x X este soluie optim a problemei
xX
inf f ( x )
(P)
sup g ( u ) (L)
i f(x0) = g(u0).
127
128
Optimizri
Considerm X o submulime convex deschis a lui Rn , f: X R o funcie convex difereniabil i problema de optimizare
xX
Metodele iterative de rezolvare a problemei constau n construirea unui ir (x )k ndeplinind condiia : f(xk+1) < f(xk), pentru orice k0 (x0 X dat).
i avnd un punct limit un x X care s fie punct staionar pentru f (cu alte cuvinte irul (xk)k are un subir ( x j )j cu proprietatea c lim x j = x X i f( x ) = 0).
j
k
Funcia f fiind convex, X fiind deschis i f( x ) = 0, rezult c x este punct de minim global pentru f pe X (soluie optim a problemei studiate). Dac f nu este convex, atunci pentru a asigura c x este punct de minim local (soluie optim local) ar trebui verificate condiiile de ordinul 2 (Hf( x ) pozitiv definit). Metodele iterative de rezolvare a problemelor de optimizare fr restricii pot fi clasificate n - Metode de ordin 0: utilizeaz doar valorile funciei f n punctul xk i eventual n cteva puncte vecine (de explorare). - Metode de ordin 1: necesit calculul valorii funciei 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
129
- Metode de ordin 2: necesit att valorile funciei f, a gradientului i hessianei lui f n punctul xk ct i inversarea hessianei. Prin compensaie 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 funciei f, fiind rar folosite n practic Vom prezenta in continuare metode de ordinul 1 i 2 denumite metode de cutare
difereniabil i xX. Un vector vRn se numete direcie descendent n x dac <v, f(x)> < 0. Dac v este direcie descendent n x atunci exist >0 astfel nct pentru orice t (0, ), f(x + tv) < f(x). ntr-adevr, aplicnd formula lui Taylor de ordinul 1, exist 0>0 astfel nct pentru orice R cu < 0 1 avem v o ()
f(x+ v) = f(x) + <f(x),v>v + o(), unde lim Exist >0, 0 astfel nct pentru orice 0 < t < , urmare: f(x+ tv) = f(x) + t(<f(x),v>v + o(t) t ) < f(x).
=0
Pe de alt parte dac pentru orice v Rn avem <v, f(x)> 0, atunci x este punct de staionar pentru f (iar dac presupunem n plus, f convex, atunci x este punct de minim pentru f). ntr-adevr, lund v = -f(x), rezult -<f(x), f(x)> 0 sau echivalent f(x) = 0.
130
Optimizri
Algoritmul generic pentru construcia irului (xk)k care s aib un punct limit x X care s fie punct staionar pentru f este schiat mai jos. x0X dat
ct timp ||f(xk)|| 0 execut pasul 1: *se determin o direcie de deplasare vk care s fie direcie
descendent n xk (dac nu exist o astfel de direcie atunci STOP, xk este soluie optim mai precis f(xk) = 0)
pasul 2: *se determin pasul de deplasare tk astfel nct
La ieire xk cu proprietatea f(xk) = 0 este punct staionar al lui f. n practic se d > 0 (precizia cu care se identific soluia optim) iar criteriul de oprire ||f(xk)|| 0 se nlocuiete cu una din condiiile a. ||f(xk)|| < (gradientul este suficient de mic) b. ||xk+1 - xk|| < (cele dou iteraii succesive sunt suficient de apropiate) c. |f(xk) - f(xk+1)| < (micorarea funciei obiectiv nu este semnificativ) unde |||| este o norma convenabil aleas. n criteriile de oprire pot fi folosite valori relative, astfel de exemplu condiia de la c poate fi nlocuit cu f ( x k ) f ( x k +1 ) 1+ f (xk ) <
n cele ce urmeaz vom presupune c n etapa k a algoritmului de mai sus a fost determinat o direcie de deplasare vk i rmne s determinm pasul de deplasare tk. Metodele de determinare a pasului tk pot fi clasificate n 1. proceduri de alegere optimal a pasului (algoritmi de cutare liniar exact) 2. proceduri de alegere suboptimal a pasului (algoritmi de cutare liniar inexact
131
(adic tk este soluie optim a problemei inf f(xk + tvk)). Altfel spus procedurile de
t 0
alegere optimal a pasului presupun minimizare funciei : [0, )R, definit prin (t) = f(xk+tvk), unde este ales astfel nct xk+tvk X pentru orice t[0, ) (innd cont c xkX i X este o mulime deschis, rezult c exist >0 astfel nct B(xk,) X, =
: [0, )R, definit prin (t) = f(xk+tvk), este convex, unde R este ales astfel nct xk+tvk X pentru orice t[0, ).
Metodele de explorare direct pentru determinarea unui punct de minim al lui constau n identificarea n prealabil a unui interval [a0, b0] care conine un punct de minim al lui .
Lema 3. Fie I un interval de numere reale, : I R o funcie convex care
admite un punct de minim. 1. Dac t1, t2, t3 I, t1 < t2 < t3, astfel nct (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].
132
Optimizri
(0, 1) astfel nct 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 nct 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 nct 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 conine un punct de minim pentru funcia convex : [a, ) R (presupunnd c admite un punct de minim):
: [a, ) R funcie convex c > 0 dat t1:=a; t2: = a+c; y1:=(t1); y2:=(t2);
dac y1 y2, atunci a0 : =t1 i b0 : = t2 altfel ct 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 funcia convex , a (capatul inferior al intervalului de definiie al lui ) i c>0. Procedura returneaz
133
intervalul [a0, b0] ce conine un punct de minim pentru : [a, ) R (presupunnd 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;
i obinem
> 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 conine un punct de minim pentru
ir de intervale [aj, bj], j0 cu proprietatea c lim Lj=0, unde Lj = |bj - aj| este
j
Optimizri
2. Dac ( a ) ( b ), atunci intervalul [ a ,b] conine un punct de minim pentru . Demonstraie. Fie t* un punct de minim al lui .
b [ a ,b].
Aceast lem sugereaz urmtorul algoritm de construcie a irului de intervale [aj,bj], j0 cu proprietatea c lim |bj - aj| =0 (sau cel puin, avnd
j
proprietatea c dac precizia >0 este fixat exist j cu | b j - a j |< ) i astfel nct
- funcie convex > 0 dat precizia de localizare a unui punct de minim t* al lui
[a0, b0] interval iniial ce conine un punct de minim al lui j: = 0;
ct timp |bj-aj| execut Pasul 1: *se aleg a j < b j , a j , b j (aj, bj) Pasul 2: dac ( a j ) <( b j ) atunci aj+1 =aj ; bj+1 = b j ; altfel aj+1 = a j ; bj+1 =bj;
j: = j+1; t* (bj +aj)/2
135
Eroarea absolut cu care (bj+aj)/2 aproximeaz t* (punct de minim al lui ) este cel mult
1 . 2
Exist diverse posibiliti de alegere a a j , b j (aj, bj) cu a j < b j . De exemplu putem alege a j = Atunci Lj+1 = bj+1 aj+1 = 1 1 (aj + bj) - i b j = (aj + bj) + cu >0 foarte mic. 2 2
- funcie convex > 0 dat precizia de localizare a unui punct de minim t* al lui > 0 dat (avnd proprietatea c < /2)
[a0, b0] interval iniial ce conine un punct de minim al lui a: = a0; b: = b0;
ct timp b a execut
c: = (a+b)/2;
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 136
Optimizri > 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;
1.500046434
> dichotomous_search(phi2,I02,10^(-5),10^(-5)/4);
-0.1282343865 10 -5 Exist ns o modalitate mai bun de alegere a a j , b j (aj, bj) cu a j < b j astfel nct la fiecare iteraie s se fac o singur evaluare a funciei (n loc de dou cte se efectueaz n algoritmul precedent).
Aceast metod este bazat pe aa numita seciune de aur (golden section). Seciunea de aur a unui segment este o diviziunea a acestuia n dou subsegmente astfel nct 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-
137
Dac lungimea segmentului considerat este 1 iar lungimea subsegmentului mai lung este , atunci
Pentru fiecare j 0 se aleg a j = aj + (1-)(bj aj) iar b j = aj + (bj aj). Dac ( a j )<( b j ), atunci aj+1= aj i bj+1= b j i ca urmare b j+1 =aj+1 + ( bj+1 aj+1) =aj +2(bj-aj) = aj +(1-)(bj aj) = a j . Legtura dintre cele dou iteraii j i j+1 este ilustrat mai jos: aj Iteraia j bj
aj
bj
Iteraia j+1
aj+1
a j+1
b j+1
bj+1
Deci la iteraia j+1 va trebui s evalum doar ( a j+1 ) deoarece valoarea lui
bj
Iteraia j+1
aj+1
a j+1
b j+1
bj+1
138
Optimizri
Ca urmare n acest caz va trebui s evalum doar ( b j+1 ) deoarece valoarea lui
) +1.
:=
5 1 2
a : = a + (1-)L; b : = a + L;
y1:=( a ); y2: = ( b ); j: = 0;
altfel
j: = j +1; t* (b +a)/2; Procedura MAPLE golden_section implementeaz algoritmul de mai sus. Parametrii procedurii sunt: funcia convex , lista I0 cu capetele a0, b0 ale unui interval ce conine un punct de minim pentru i precizia de localizare a unui punct de minim al lui . Procedura ntoarce o aproximaie a unui punct de minim al lui cu eroare cel mult
1 . 2
Mdlina Roxana Buneci > 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;
1.500020428
> golden_section(phi2,I02,10^(-5));
0.00001292625968 Alt grup de metode pentru determinarea unui punct de minim al funciei convexe se bazeaz pe echivalena: t* punct de minim <=> (t*) = 0. Ca urmare pentru determinarea lui t* se poate aplica orice metod de rezolvare a ecuaiei (neliniare) (t) = 0. Vom exemplifica cu metoda biseciei i metoda tangentei.
VII.1.2. Metoda biseciei Metoda biseciei (metoda njumtirii intervalului) presupune cunoscut un
interval [a0,b0] cu proprietatea c (a0) (b0) < 0. Pentru gsirea rdcinii ecuaiei
Optimizri
se determin mijlocul c =
a 0 + b0 al intervalului (a0,b0). 2
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 rdcin a ecuaiei (t) = 0.
Se construiete astfel un ir de intervale [aj, bj], j0 cu lungimea lui Lj+1 = bj+1 aj+1 =
1 1 Lj . Deci lim Lj= lim j L0 =0. n plus, fiecare din aceste intervale conine o soluie j j 2 2
a ecuaiei (t) = 0. Presupunnd c se d o precizie >0, considerm c mijlocul intervalului [aj, bj] este o aproximaie satisfctoare a soluiei ecuaiei (t) = 0 dac
. 2
lista I0 cu punctele a0, b0 cu
Procedura MAPLE bisection implementeaz algoritmul de mai sus. Parametrii procedurii sunt: funcia convex ,
141
proprietatea c (a0) (b0) < 0 i precizia de localizare a unui punct de minim al lui . Procedura ntoarce o aproximaie a unui punct staionar (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;
-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.
Optimizri
tj tj-1
Presupunem c funcia h: [a0, b0] R este de 2 ori derivabil i c h nu se anuleaz. Ecuaia tangentei n tn-1 fiind: y h(tj-1) = h (xj-1)(x xj-1) rezult (lund y = 0) tj = tj-1 h t j1 . h t j1
( ) ( )
Convergena irului este determinat de termenul iniial t0. Mai precis dac t0 se afl ntr-o vecintate suficient de mic a soluiei t* a ecuaiei h(t) = 0, atunci irul (tj)j converge la t*. Mai mult, avem |t* - tj| unde m1 = inf h ( t ) i M2 = sup
2 M2 t j t j1 ) ( 2m1
t[ a 0 ,b 0 ]
t[a 0 ,b0 ]
h ( t ) .
Pentru rezolvarea ecuaiei (t) = 0, irul corespunztor metodei tangentei este definit prin: tj = tj-1 iar algoritmul corespunztor:
t j1 , t0 dat t j1
( ) ( )
t1: = t0 -
( t 0 ) ; ( t 0 )
( t 0 ) ; ( t 0 )
La ieire t1 este o aproximaie a unei rdcini t* a ecuaiei (t) = 0 cu eroarea absolut mai mic dect . Prezentm n continuare o variant a acestui algoritm pentru cazul n care irul construit nu converge. Introducem ca dat suplimentar de intrare numrul maxim de termeni din ir ce urmeaz a fi calculai (Nmax) i afim termenul irului corespunztor fiecrei iteraii. Condiia de oprire se transform | tj - tj-1 |2 < sau n > Nmax t0 : = t00; t1: = t0 j:=1;
( t 0 ) ; ( t 0 )
( t 0 ) ; ( t 0 )
afieaz t1;
Trebuie verificat la ieirea din ciclu dac (t1) 0. Dac problema este bine condiionat (adic
Optimizri > 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;
1.500000000
> newton1(phi1,2,10^(-5));
1.500000000
-0.7398 10 -10
> newton1(phi2,-0.7,10^(-5));
-0.7398 10 -10 Aplicm procedura newton1_ funciei 1 cu punctele iniiale t0=10 (numr maxim de iteraii 1) , respectiv t0 = 2 (numr maxim de iteraii 1) :
> newton1_(phi1,10,10^(-5), 1);
1.500000000 1.500000000
> newton1_(phi1,-30,10^(-5),1);
1.50000000 1.50000000 precum i funciei 2 cu punctele iniiale: t0=0.7 (numr maxim de iteraii 5), t0= -0.7 (numr maxim de iteraii 5) , t0=1.25 (numr maxim de iteraii 5) , respectiv t0= 1.05 (numr maxim de iteraii 5):
145
-0.1593091913 10 7
> newton1_(phi2,1.05,10^(-5), 5);
-1.215506252 -1.477455449 -2.182874604 -4.764941536 -22.70466784 -22.70466784 Se observ c pentru punctele iniiale t0 =1.25 i t0 = 1.05 irul construit prin metoda lui Newton nu converge la punctul staionar al funciei .
146
Optimizri
2
j=1
1
j
converge
la 1 i nu la punctul de minim x =0 al funciei f. Algoritmul de alegere a lui tk prezentat mai jos previne situaia n care pasul tk ar deveni prea mic. tinit > 0 valoare iniial dat (de exemplu, tinit = 1 dac domeniul de definiie al lui f este Rn) 1 ) 2
tk : = t; Ca urmare tk va lua cea ai mare valoare dintre cele de forma tinitj, j = 0,1,... care ndeplinete condiia f(xk+tinitjvk) < f(xk). Pe de alt parte nici situaia n care tk este prea mare relativ la descreterea lui f nu convine dup cum rezult din exemplul urmtor. Fie f:RR, f(x) = x2, x0 = 2, vk = (-1)k+1, tk = 2+
3 2
k +1
n acest exemplu pai tk sunt prea mari relativ la valorile cu care descrete f, iar
1 ) 2
148
Optimizri
Aplicnd aceast procedur funciei 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 x 2 + 2 y2 2 x y 4 x + 2 y 3
0.5
> suboptimal(f1,vector([0,0]),vector([1,-1]),1,0.5,0.45);
0.25 Rmne s artm c algoritmul de determinare a lui tk se termin ntr-un numr finit de pai i c valoarea lui tk nu devine prea mic. n plus vom studia convergena irului construit (xk)k. Vom presupune c gradientul funciei f este o funcie Lipschitz continu.
149
Presupunem c: X o este o submulime deschis a lui Rn, f:X R o funcie de clas C2, Hf Lipschitz continu (cu constanta Lipschitz P), x0X, hRn cu proprietatea c x0+hX pentru orice [0, 1]. Atunci |f(x0 + h) - f(x0) - <f(x0), h> 1 1 <Hf(x0)h, h>| P||h||3 2 6
( x,v) =
(norma considerat fiind ||||2).
2 ( 1) < v, f ( x ) > v
2
Demonstraie. Fie t[0, ( x,v ) ]. Deoarece f(x+ tv) - f(x) - t<f(x), v> |f(x+ tv) - f(x) - t<f(x), v>|
150
1 2 2 t ||v|| 2
Optimizri
rezult c f(x+tv) f(x) + t<f(x), v> + f(x) + t<f(x), v> + 1 2 2 t ||v|| 2 1 2 ( 1) < v, f ( x ) > t ||v||2 2 2 v
2 ( 1) < v k , f ( x k ) >
vk
(14.1)
= tinit
(14.1)
>
2 ( 1) < v k , f ( x k ) >
vk
151
Teorem 15 (convergena algoritmilor de cutare liniar inexact n cazul generrii pasului de deplasare prin algoritmul backtracking-Armijo). Fie
f: Rn R o funcie de clas C1 avnd gradientul f Lipschitz continuu i fie x0X. Se construiete irul definit prin xk+1 = xk + tkvk, k0 unde vk este o direcie descendent n xk, iar tk este pasul de deplasare obinut aplicnd algoritmul backtracking-Armijo. Atunci are loc una din urmtoarele trei situaii: 1. f(xk) = 0 pentru un anumit k 0 2. inf f ( x k ) = -
k
Din condiia 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>. Sumnd dup k se obine f(x0) - f(xj+1) Cu
t < v
k =0 k
alte
k
cuvinte
k
irul
sumelor
pariale
t < v
k =0
Optimizri
2 ( 1) < v k , f ( x k ) >
vk
< v k , f ( x k ) > t k tk
(15.3).
< v k , f ( x k ) > k k 0 min < v , f ( x ) > , k v < v k , f ( x k ) > t k k k min < v , f ( x ) > t k , 2 (1 ) t init
Dar din (15.1) rezult c
= 0
Observaie
16.
Dup
cum
rezult
teorema
anterioar
algoritmul
backtracking-Armijo (prin care tk este cel mai mare numr de forma tiniti (cu iN) care satisface condiia Armijo) asigur convergena metodelor de cutare liniar inexact, dac se impun condiii suplimentare asupra lui f (f s fie mrginit inferior)
este acela c prima dintre inegaliti poate exclude toate punctele de minim ale funciei ((t) = f(xk + tvk)). Condiiile 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 puin potrivit metodele cvasi-Newton sau de gradient conjugat (ce vor fi descrise n subcapitolul urmtor).
154
Optimizri
Ca i n cazul algoritmului backtracking-Armijo, condiiile Wolfe nu sunt suficiente pentru a asigura convergena indiferent de alegerea direciilor vk. Urmtoarea teorem datorat lui Zoutendijk st la baza rezultatelor privind convergena diverselor metode n care paii de deplasare satisfac condiiile Wolfe.
Teorem 20 (convergena algoritmilor de cutare liniar inexact n cazul n care pasul de deplasare satisface condiiile Wolfe) Fie f:RnR o funcie
de clas C1 avnd gradientul f Lipschitz continuu cu constanta Lipschitz i fie x0X. Se construiete irul definit prin xk+1 = xk + tkvk, k0 unde vk este o direcie descendent n xk, iar pasul de deplasare tk ndeplinete condiiile Wolfe (17a, 17b) pentru orice k0. Atunci are loc una din urmtoarele trei situaii: 1. f(xk) = 0 pentru un anumit k 0 2. inf f ( x k ) = -
k
3. Seria
cos 2 ( k ) f ( x k )
k 0 k
cos(k) =
< f ( x k ) , v k > f ( x k ) v k
Datorit condiiilor 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. Din (20.1) i din (20.2) obinem inegalitatea
155
(20.2)
Dac notm c =
vk
< f ( x k ) , v k > f ( x k ) v k
j
, rezult
f(x
k
k+1
) f(x ) - c cos ( j ) f ( x
0
2 j=0
2
cos2 ( j ) f ( x j )
j=0
1 (f(x0) - f(xk+1)) c
ale seriei cu termeni pozitivi
Cu
alte
cuvinte
irul
2
sumelor
pariale
cos 2 ( k ) f ( x k )
k 0
cos ( ) f ( x )
2 k k 0 k
convergent (22)
Optimizri
(backtracking-Armijo, Wolfe (sau Wolfe n sens tare), Goldstein), dac metoda de determinare a direciei 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 informaia curent. Astfel tinit la pasul k (adic cel folosit pentru determinarea lui tk) poate fi luat tk-1 < f ( x k 1 ) , v k 1 > < f ( x k ) , v k > sau 2 f ( x k ) f ( x k 1 ) < f ( x k 1 ) , v k 1 >
).
inf f (x)
+ <x, d> cu CMn,n(R) o matrice simetric i dRn un vector fixat; n aceast situaie funcia f este convex dac i numai dac C este pozitiv definit) i fundamentate pe baza analizei convergenei i caracteristicilor numerice ale algoritmului rezultat.
157
f ( x k + tv ) f ( x k ) t
f k x ) = <v, f(xk)> ( v
=- lim
t 0
f ( x k + tv ) f ( x k ) t
f ( x k + tv ) f ( x k ) t
este
echivalent cu minimizarea expresiei <v, f(xk)>. Denumirea de metoda celei mai rapide descreteri este justificat de faptul c vk = -f(xk) reprezint soluia optim a problemei de minimizare
vV k
( )
unde Vk = {vRn : ||v|| = ||f(xk)||}= {vRn : ||v||2 = ||f(xk)||2}. ntr-adevr, funcia Lagrange asociat problemei de minimizare este L:RnR R, L(v, ) = <v, f(xk)> - (||v||2 - ||f(xk)||2) = <v, f(xk)> - (<v, v> - ||f(xk)||2) Dac vk este soluie optim, atunci exist R astfel nct 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}
158
Optimizri
Cum HvL(vk, ) = diag(-2, -2, ..., -2), rezult c pentru a fi ndeplinit condiia 3 este necesar i suficient ca 0 i ca urmare: =Aadar vk =
1 . 2
1 f(xk) = -f(xk). Cum <u, HvL(vk, -1/2)u> > 0 pentru orice u0, 2
rezult c vk=-f(xk) este soluie optim local. Deoarece problema admite soluie optim global (Vk fiind compact), rezult de fapt c vk=-f(xk) este soluie optim global.
Teorem 24 (convergena metodei gradientului n cazul alegerii optimale a pasului de deplasare) Fie f: Rn R o funcie de clas C1 i fie x0 Rn.
Presupunem c mulimea D = {x Rn : f(x) f(x0)} este compact. Se construiete
Atunci orice punct limit x al irului (xk)k este punct staionar pentru f (adic f( x ) = 0).
Demonstraie. Fie x un punct limit al irului (xk)k. Atunci exist un subir
pentru orice k iar D este o mulime compact. Presupunem prin absurd c f( x )0. Pentru orice j 0 avem f( x
k j+1
) f( x
kj+1
) f( x j - tf( x j ))
pentru orice t 0. Trecnd la limit cu j i innd cont c f if sunt funcii continue obinem lim f( x
j k j+1
) lim f( x j - tf( x j ))
j
159
f( lim x
j
k j+1
( )) ( )
f x
( ))
||f( x )||2 0 de unde rezult c ||f( x )|| = 0, ceea ce contrazice presupunerea f( x )0. Deci x este punct staionar pentru f.
Teorem 25 (convergena metodei gradientului n cazul generrii pasului de deplasare prin algoritmul backtracking-Armijo) Fie f: Rn R o
funcie de clas C1 avnd gradientul f Lipschitz continuu i fie x0X. Se construiete irul definit prin xk+1 = xk + tkvk, k0 unde vk = -f(xk), iar tk este pasul de deplasare obinut aplicnd algoritmul backtracking-Armijo. Atunci are loc una urmtoarele trei situaii: 4. f(xk) = 0 pentru un anumit k 0 5. inf f ( x k ) = -
k
6. lim f ( x k ) = 0
k
Presupunem prin absurd c irul (f(xk))k nu converge la 0. Atunci exist > 0 astfel nct pentru orice jN exist kj j astfel nct
160
Optimizri
( )
, f x
min (, ) > 0 ( )
kj
Pe de alt parte din teorema 15, deoarece direcia de deplasare vk = -f(xk), rezult c
Teorem 26 (convergena metodei gradientului n cazul n care paii de deplasare satisfac condiiile Wolfe) Fie f: Rn R o funcie de clas C1 avnd
gradientul f Lipschitz continuu i fie x0X. Se construiete irul definit prin xk+1 = xk + tkvk, k0 unde vk = -f(xk), iar pasul de deplasare tk ndeplinete condiiile Wolfe (17a, 17b) pentru orice k0. Atunci are loc una urmtoarele trei situaii: 1. f(xk) = 0 pentru un anumit k 0 2. inf f ( x k ) = -
k
3. lim f ( x k ) = 0
k
161
cos(k) =
< f ( x k ) , v k > f ( x k ) v k
< f ( x k ) , f ( x k ) > f ( x k ) f ( x k )
=1.
Algoritmul asociat metodei gradientului este schiat mai jos (se presupune
x0 dat): k: = 0;
ct timp ||f(xk)|| 0 execut pasul 1: *se calculeaz f(xk); pasul 2: *se determin pasul de deplasare tk (optimal sau suboptimal)
asociat direciei de deplasare -f(xk);
f1 := ( x, y ) 3 x 2 + 2 y2 2 x y 4 x + 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
2
f2 := ( x, y ) 10 ( y x 2 ) + ( x 1 ) 2
> f3:=(x,y)->9*x^2-x*y+y^2;
f3 := ( x, y ) 9 x 2 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 seciunii de aur:
> gradient_gold:=proc(f,x00,epsilon) 162
Optimizri > 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 ]
163
Numr de iteraii: 5
> gradient_gold(f3,vector([0,-1]),10^(-4));
Numr de iteraii: 38
Optimizri > 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 ]
Numr de iteraii: 5
165
[ 0.9999073962 , 0.9998098719 ]
Numr de iteraii: 38
Optimizri > 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 ]
Numr de iteraii: 5
167
[ 0.9999081530 , 0.9998113778 ]
Numr de iteraii: 38
Optimizri > 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 ]
Numr de iteraii: 11
> gradient(f2,vector([0,1]),10^(-4));
[ 0.9999118308 , 0.9998214641 ]
169
Numr de iteraii: 26
170
Optimizri
k k 1 <vk, f(xk)> = - < B k f(x ), f(x )> < 0.
1 (am utilizat faptul c dac Bk este pozitiv definit, atunci i B k este pozitiv definit).
vR n
1 <v, Bkv>. 2
Un caz de interes particular este dat de posibilitatea ca Bk = Hf(xk) (presupunnd c hesssiana lui f n xk este pozitiv definit). n aceast situaie vk = -Hf(xk)-1f(xk) se numete direcie Newton i reprezint soluia problemei de optimizare
vR n
1 <v, Hf(xk)v> 2
Teorem 27 (convergena metodelor pentru care direcia de deplasare este de tip cvasi-Newton n cazul generrii pasului de deplasare prin algoritmul backtracking-Armijo) Fie f:RnR o funcie de clas C1 avnd
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 nct pentru orice valoare proprie (Bk) a matricei Bk i pentru orice k s avem 0 < cmin (Bk) cmax. Se construiete irul definit prin xk+1 = xk + tkvk, k0
k 1 unde vk = - B k f(x ) iar tk este pasul de deplasare obinut aplicnd algoritmul
backtracking-Armijo. Atunci are loc una dintre urmtoarele trei situaii: 1. f(xk) = 0 pentru un anumit k 0 2. inf f ( x k ) = -
k
3. lim f ( x k ) = 0
k
171
Notm cu min(B), respectiv max(B), cea mai mic respectiv cea mai mare valoare proprie a unei matrice simetrice BMn,n(R). Pentru orice vector nenul p Rn avem
min(B)
max(B)
< Bk p, p >
p
2
max(Bk) cmax.
= De asemenea
max ( Bk )
||f(xk)||2
1 c max
||f(xk)||2. (27.1)
k 2 k k k k 1 1 1 2 ||vk||2 = || B k f(x )|| = < Bk f(x ), Bk f(x )> = < Bk f(x ), f(x )> k 2 2 max( B k )||f(x )||
min ( B
2 k
||f(xk)||2
1 c
2 min
||f(xk)||2 . (27.2)
< v k , f ( x k )
v
k
< v k , f ( x k ) > 2 1 c k k k min < v , f ( x ) > , min f x , min f ( x k ) ( ) k c max v cmax i innd cont de (27.4) obinem
172
Optimizri
2 1 c 0 = lim min f ( x k ) , min f ( x k ) . (27.5) k c max cmax
>0 astfel nct pentru orice jN exist kj j astfel nct ||f( x j )|| .
Ca urmare pentru orice j 0 avem
k
1 k min f x j cmax
( )
( )
> 0.
nu converge la 0, ceea ce k
k
Teorem 28 (convergena metodelor pentru care direcia de deplasare este de tip cvasi-Newton n cazul n care paii de deplasare satisfac condiiile Wolfe) Fie f:RnR o funcie de clas C1 avnd 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 condiionare sunt uniform mrginite (adic o constant c > 0 astfel
1 nct ||Bk||2|| B k ||2 c pentru orice k 0 sau echivalent
k0, unde min(Bk), respectiv max(Bk), este cea mai mic respectiv cea mai mare valoare proprie a lui Bk) . Se construiete irul definit prin xk+1 = xk + tkvk, k0
k 1 unde vk = - B k f(x ) iar pasul de deplasare tk satisface condiiile Wolfe pentru orice
k0. Atunci are loc una dintre urmtoarele trei situaii: 1. f(xk) = 0 pentru un anumit k 0 2. inf f ( x k ) = -
k
3. lim f ( x k ) = 0
k
173
, (28.1)
unde min(B) este cea mai mic valoare proprie a lui B. Conform teoremei 20, lim cos 2 ( k ) f ( x k ) =0, unde
2 k
cos(k) =
< f ( x k ) , v k > f ( x k ) v k
1 k < f ( x k ) , B k f ( x ) >
1 f ( x k ) B k f ( x k )
( 28.1)
1 k min ( B k ) f ( x ) 1 k B k f ( x )
1 max ( Bk ) Bk f ( x k )
f ( x k )
1 k Bk B k f ( x )
f ( x k )
1 B k B f ( x k ) k
f ( x k )
1 1 . 1 c Bk Bk
2
condiiile suficiente pentru a fi punct de minim local al lui f). Se construiete irul
Optimizri
xk+1 = xk Hf(xk)-1f(xk), k0 Dac x0 este ntr-o vecintate 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 ptratic, adic exist o constant c > 0 astfel nct: lim sup
k
x k +1 x xk x
2
= c.
1 Notm r3 = min 1, r2 , 2 Hf x
( )
Hf. Artm prin inducie dup k c dac x0 B( x , r3), atunci xk B( x , r3) pentru orice k 0. Avem ||xk - Hf(xk)-1f(xk) - x || = ||xk - x - Hf(xk)-1f(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 ))) ||. Pe de alt parte ||(Hf(xk)(xk - x )- (f(xk) -f( x ))) || = =
(29.1)
( Hf ( x ) Hf ( x
1 k 0
+ t x xk
))) ( x
))
x dt
0 1
Hf ( x k ) Hf x k + t x x k
x k x dt
t
0
x k x dt
175
unde C = ||Hf( x )-1||. Din inegalitatea de mai sus, rezult c dac xk B( x , r3), atunci xk+1 B( x , este ptratic. Dac notm vk = Hf(xk)-1f(xk), atunci f(xk) + Hf(xk)vk = 0 i ||f(xk+1)|| = ||f(xk+1)- f(xk) - Hf(xk)vk|| = 1 r3) B( x , r3), irul (xk)k converge la x iar rata convergenei 2
Hf ( x
1 0 1 0
+ tv k )( x k +1 x k ) dt Hf ( x k ) v k
Hf ( x k + tv k ) Hf ( x k ) v k dt = =
t
0
vk
dt
2|| Hf( x )-1||2 ||f(xk)||2 de unde rezult c rata de convergen a irului (||f(xk)||)k la 0 este ptratic.
Observaie 30 (legtura cu metoda Newton pentru rezolvarea ecuaiilor neliniare). Metoda Newton pentru rezolvarea sistemelor neliniare F(x)=0 (unde G
este o submulime deschis a lui Rn iar F: G Rn este o funcie cu proprietatea c
Optimizri
Determinarea punctului de minim al funciei convexe difereniabile f:XR (X o submulime deschis a lui Rn) este echivalent cu rezolvarea sistemului de ecuaii f(x) = 0. Dac notm F = f i presupunem n plus, c f este strict convex, atunci JF(x) = Hf(x) este o matrice inversabil pentru orice x. irul corespunztor metodei Newton pentru rezolvarea sistemului f(x) = 0 este definit prin: xk+1 = xk JF(xk)-1 F(xk) = xk Hf(xk)-1f(xk) adic tocmai irul tratat n teorema 29.
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: 11 L= 21 n1 0 22 n2 0 0 n3 0 0 nn
Apoi sistemul Hf(xk)vk = - f(xk) se rezolv n 2 etape: se rezolv nti sistemul Ly = f(xk) (cu soluia y1 =i 1 1 f 1 f x k ) , yi = (x k ) - ij yi ), i=2,..,n) i apoi ( ( 11 x1 ii x i j=1 n 1 1 yn, vik = (yi- ji v k j ), i = n-1,..,1). nn ii j=i +1
Factorizarea Cholesky a unei matrice pozitiv definite A=(aij)1i,jn poate fi calculat direct rezolvnd un sistem de n2 ecuaii. Dac L = (ij)1i,jn cu ij = 0 pentru orice j > i =1,2,,n, atunci relaia A = LLt este echivalent cu aij =
ik kj
k =1
177
pentru orice i,j {1, 2,, n}. Dac se impun condiiile ii > 0 pentru orice i, acest sistem este compatibil determinat. Pentru i = j = 1 obinem a11 = 2ii pentru i =1, 2, .., n. Pentru j = 1 obinem ai1 = i111 (i =2, .., n) iar pentru j = 2, 3, , n, obinem ajj = Pentru orice i j +1 aij = ik jk + ijij,
k =1 j1
2jk + 2jj
k =1
j1
n consecin, putem scrie urmtorul algoritm de calcul al factorizrii Cholesky pentru o matrice A pozitiv definit:
ik jk ) ;
k =1
j1
Matricea inferior triunghiular L cu proprietatea c A = LLt i c are elementele de pe diagonala principal pozitive se numete factor Cholesky. Dac matricea A nu este pozitiv definit factorizarea Cholesky eueaz (adic dac pentru un anumit j avem a jj 2 jk 0). Exemplificm algoritmul de mai sus pentru matricea simetric
k =1 j1
4 A= 2 0
2 4 -1
0 -1 1
1 = 4, 2 = 44 -22 = 12 > 0, 3 = 8 > 0. Deci A este pozitiv definit. Calculm factorul Cholesky L conform algoritmului: 11 = i1 =
a 11 = 4 = 2. a i1 , i = 2,3: 11
21 = 1, 31 = 0 3
Optimizri
1 3
=-
3 3 2 6 = . 3 3
1 2 = => 33 = 3 3
0 0 6 3
2 L= 1 0 -
0 3 3 3
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 'negative_def', sau 'negative_semidef'.
> with(linalg): > A:=matrix(3,3,[[4,2,0],[2,4,-1],[0,-1,1]]);
4 A := 2 0
> definite(A, positive_def);
2 4 -1
0 -1 1
true
> cholesky(A);
2 1 0
0 3
3 3
0 0 6 3
Algoritmul asociat metodei Newton clasice este schiat mai jos (se
presupune x0 dat): k: = 0;
179
pasul 2: *se rezolv sistemul Hf(xk)vk = -f(xk) (se recomand pasul 3: xk+1 = xk + vk ; k: = k+1;
Prezentm n continuare implementarea n MAPLE ale algoritmului de mai sus. Procedura are drept parametri funcia obiectiv f, punctul iniial, notat x00, i precizia (criteriul de oprire este ||f(xk)|| < ). Procedura folosete comenzi (vector, grad, hessian, cholesky, etc.) din pachetul linalg. Ca urmare nainte de utilizarea procedurii acesta trebuie ncrcat:
> with(linalg):
f1 := ( x, y ) 3 x 2 + 2 y2 2 x y 4 x + 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
2
f2 := ( x, y ) 10 ( y x 2 ) + ( x 1 ) 2
n cazul funciei f1, care este o funcie ptratic strict convex, se va executa o sigur iteraie pentru determinarea soluiei optime. n cazul celeilalte funcii hessiana Hf2(1,1) este pozitiv definit, dar aplicabilitatea metodei Newton depinde de punctul iniial x0.
Optimizri >if md<=0 then >print(`Hessiana nu este pozitiv definita >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; in`, evalm(x0));
> 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));
[ 0.9999999936 , 0.9999999751 ] Pentru funcia f2 i punctul iniial (-0.5, 0.2)t prezentm mai jos i reprezentarea grafic (3D i contour) a iteraiilor:
> newton(f2,vector([-0.5,0.2]),10^(-4));
[ 0.9999991806 , 0.9999983606 ]
181
Numr de iteraii: 6 Prezentm n continuare o variant a acestui algoritm pentru cazul n care
Optimizri >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;
f4 := ( x, y )
1 1 + y2 x 4 ( x 1 )4
Hessiana Hf4 este pozitiv definit n orice punct din domeniul de definiie:
> hessian(f4(x,y),[x,y]);
5 ( x 1 )6 0
0 2
Punctul (0,0)t este (singurul) punct staionar pentru f4, deci este punct de minim local (pentru restricia lui f4 la mulimea convex {(x,y)tR2: x < 1}, (0,0)t este punct de minim global):
> grad(f4(x,y),[x,y]);
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 10 95691723 , -0.1 10 -225 ]
> newton_(f4,vector([-0.5,0.2]),10^(-4),500);
iteratia , 19 Hessiana nu este pozitiv definita in, [ 0.3684324304 10 1580645204 , -0.1 10 -171 ]
183
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 afieaz mesajul hessiana nu este pozitiv definit se datoreaz virgulei mobile (
Metoda Newton clasic prezentat mai nainte folosete drept direcie de deplasare aa numita direcie Newton vk=-Hf(xk)f(xk) i pasul de deplasare tk=1 pentru orice k0. n general, convergena metodei Newton cu pasul tk = 1 este asigurat numai pentru un domeniu relativ restrns de puncte iniiale x0. De aceea avnd n vedere extinderea domeniului de convergen al metodei, n practic paii tk asociai direciilor se aleg prin proceduri optimale sau suboptimale. Metoda corespunztoare se numete metoda Newton cu pas variabil, rezervndu-se termenul de metod Newton clasic doar pentru cazul n care tk = 1 pentru orice k0.
Teorem 32 (convergena metodei Newton cu pas variabil n cazul generrii pasului de deplasare prin algoritmul backtracking-Armijo) Fie
f:RnR o funcie de clas C2 avnd hessiana Hf Lipschitz continu i fie x0 Rn. Se construiete irul definit prin xk+1 = xk tkHf(xk)-1f(xk), k0 unde tk este pasul de deplasare asociat direciei vk = - Hf(xk)-1f(xk). Presupunem n plus, c pentru fiecare k, Hf(xk) este pozitiv definit i c pasul tk este obinut aplicnd algoritmul backtracking-Armijo cu tinit = 1 i < 1 . Dac irul (xk)k 2
converge la un punct x pentru care Hf( x ) este pozitiv definit, atunci 1. exist k0 astfel nct tk = 1 pentru orice k k0. 2. rata de convergen a lui (xk)k la x este ptratic
184
Optimizri
Demonstraie. Notm min(Hf( x )) cea mai mic valoare proprie a lui Hf( x ).
Datorit faptului c lim xk = x , exist k1 astfel nct pentru orice k k1 s avem:
k
1 min(Hf( x ))||||vk||2. 2
i ca urmare
|<vk, f(xk)>| = -<vk, f(vk)> =
Pe de alt parte
< v k , f ( x k ) vk
< v k , f ( x k ) > vk
< v k , Hf ( x k ) v k > vk
(32.2)
1 k min(Hf( x ))|| v || 2
( ( ))
Notm constanta Lipschitz asociat lui Hf . Aplicnd formula Taylor, rezult c exist z = xk + vk cu (0,1) astfel nct f(xk + vk) f(xk) = = 1 1 1 <f(xk), vk> = <f(xk), vk> + <Hf(z)vk, vk> 2 2 2
185
1 ||Hf(z)- Hf(xk)|| ||vk||2 (am inut cont c f(xk) + Hf(xk)vk = 0) 2 1 ||z- xk|| ||vk||2 2
avem
||vk|| min(Hf( x ))(1-2)
1 1 <f(xk), vk> + min(Hf( x ))(1-2)||vk||2 2 2 1 1 <f(xk), vk> + (1-2) <vk, Hf(xk)vk > 2 2
Urmtorul rezultat datorat lui Dennis i More [7] arat c dac o direcie cvasi-Newton vk = -Bkf(xk) aproximeaz direcia Newton ntr-un anumit sens, atunci pasul tk = 1 satisface condiiile Wolfe:
186
Optimizri
k 1 unde vk = - B k f(x ) iar pasul de deplasare tk satisface condiiile Wolfe pentru orice
k0. Dac irul (xk)k converge la un punct x pentru care f( x ) = 0 i Hf( x ) este pozitiv definit i dac lim
f ( x k ) + Hf ( x k ) v k
vk
=0
atunci exist k0 astfel nct pentru orice k k0 pasul tk = 1 satisface condiiile Wolfe (iar convergena este superliniar, adic lim sup
k
x k +1 x xk x
= 0).
O variant a algoritmului asociat metodei Newton cu pas variabil este schiat mai jos (se presupune x0 dat; de asemenea dac pentru o anumit iteraie k matricea Hf(xk) nu este pozitiv definit, atunci se alege drept direcie de deplasare vk=-f(xk) ): k: = 0;
ct timp ||f(xk)|| 0 execut pasul 1: pasul 2: *se calculeaz f(xk) i Hf(xk) 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 direciei de deplasare vk;
f1 := ( x, y ) 3 x 2 + 2 y2 2 x y 4 x + 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
2
f2 := ( x, y ) 10 ( y x 2 ) + ( x 1 ) 2
> f4:=(x,y)->1/(x-1)^4/4+(y^2-x);
f4 := ( x, y )
1 1 + y2 x 4 ( x 1 )4
> f6:=(x,y)->x^2*(4-2.1*x^2+x^4/3)+x*y+y^2*(-4+4*y^2);
1 4 2 2 2 f6 := ( x, y ) x 2 4 2.1 x + 3 x + x y + y ( 4 + 4 y )
Implementare metodei Newton cu pas variabil (pasul de deplasare este generat prin algoritmul backtracking-Armijo; n situaia n care hessiana Hf(xk) nu este pozitiv definit se utilizeaz drept direcie 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]; 188
Optimizri > 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));
Pentru funciile f6 cu punctul iniial (1, -1)t i f2 cu punctul iniial (0, 1)t prezentm mai jos i reprezentarea grafic (3D i contour) a iteraiilor:
> newton_var(f6,vector([1,-1]),10^(-4));
[ -0.08984201754 , 0.7126564383 ]
Numr de iteraii: 6
189
[ 0.9999999666 , 0.9999999187 ]
Numr de iteraii: 9
ct timp ||f(xk)|| 0 execut pasul 1: * se calculeaz Bk = Hf(xk) + Ek, unde Ek este o matrice aleas
astfel nct Hf(xk) + Ek s fie suficient de pozitiv definit (Ek = 0 dac Hf(xk) este suficient de pozitiv definit)
pasul 2:
pasul 3: *se determin pasul de deplasare tk (suboptimal) asociat direciei pasul 4: xk+1 = xk + tkvk ; k: = k+1;
190
Optimizri
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 (avnd pe coloane vectori proprii ai lui Hf(xk)) iar D o matrice diagonal (avnd pe diagonala principal valorile proprii ale lui Hf(xk)): 1 D= 0 0 0 2 0 0 0 0 0 0 n
1 Dm = 0 0
0 2 0
0 0 0
0 0 n
cu i = max (, |i|) pentru orice 1 i n (sau eventual, i = max (, i) pentru orice 1 i n), fiind un numr pozitiv mic (de exemplu, = mach , unde mach este
precizia mainii). O astfel de descompunere necesit un volum mare de calcul dac n mare. Un volum mai mic de calcul se obine dac se estimeaz doar cea mai mic valoare proprie min(Hf(xk)) a matricei Hf(xk) i se ia max(0, -min(Hf(xk))) 0 0 Ek = 0 0 0 0 = max(0, -min(Hf(xk)))In
max(0, -min(Hf(xk))) 0 0 0
max(0, -min(Hf(xk)))
fiind un numr 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 ntmpla ca prin aceast metod direcia de deplasare obinut s fie esenial direcia celei mai rapide descreteri.
191
Alte metode de modificare a hessianei se bazeaz pe factorizri 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 factorizri Cholesky) este prezentat mai jos (pentru simplitate notm Hf(xk) = A, iar elementele de pe diagonala principal cu aii, 1in) : > 0 dat (de exemplu, = 10-3)
dac min{aii, 1in} > 0 atunci 0 : = 0 altfel 0 : = - min{aii, 1in} + pentru k = 0, 1, execut
* se ncearc factorizarea Cholesky LLt = A + kIn
dac factorizarea reuete atunci return L i STOP altfel k+1 : = max (2k, )
Prezentm n continuare implementarea n MAPLE ale algoritmului de mai sus. Procedura are drept parametri funcia obiectiv f, punctul iniial, notat x00, i precizia (criteriul de oprire este ||f(xk)|| < ). Deoarece procedura folosete comenzi (vector, grad, hessian, cholesky, etc.) din pachetul linalg, nainte de utilizarea ei pachetul trebuie ncrcat:
> with(linalg):
f1 := ( x, y ) 3 x 2 + 2 y2 2 x y 4 x + 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
2
f2 := ( x, y ) 10 ( y x 2 ) + ( x 1 ) 2
> f4:=(x,y)->1/(x-1)^4/4+(y^2-x);
f4 := ( x, y )
1 1 + y2 x 4 ( x 1 )4
> f6:=(x,y)->x^2*(4-2.1*x^2+x^4/3)+x*y+y^2*(-4+4*y^2);
1 4 2 2 2 f6 := ( x, y ) x 2 4 2.1 x + 3 x + x y + y ( 4 + 4 y )
192
Optimizri
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) 193
Mdlina Roxana Buneci > 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.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 funciile f6 cu punctul iniial (1, -1)t i f2 cu punctul iniial (0, 1)t prezentm mai jos i reprezentarea grafic (3D i contour) a iteraiilor:
> newton_modif(f6,vector([1,-1]),10^(-4));
[ 0.08984201229 , -0.7126564041 ]
194
Optimizri
Numr de iteraii: 6
> newton_modif(f2,vector([0,1]),10^(-4));
[ 1.000000003 , 0.9999999948 ]
Numr de iteraii: 5 Dei simplu de implementat algoritmul prezentat mai nainte poate necesita un volum mare de calcul (n situaia n care se ncearc factorizri Cholesky pentru multe valori k). Poate fi avantajos ca s creasc la fiecare iteraie 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 mrii elementele diagonale care apar n algoritm. Acest
195
algoritm Cholesky modificat garanteaz pe de parte existena factorului Cholesky cu elemente care nu depesc n modul norma hessianei, iar pe de alt parte nu modific hessiana dac este suficient de pozitiv definit. ncepem descrierea acestei strategii prin recapitularea aa 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 numete factorizare LDLt. innd cont de relaiile: aij =
j1
L2jk D kk
k =1
j1
1 (aij D jj
L ik D kk L jk )
k =1
j1
Algoritmul funcioneaz pentru matrice simetrice cu minorii principali nenuli, n particular pentru matrice A pozitiv definite. Legtura 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 D jj 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 nct Djj i |mij| pentru orice i i j.
196
Optimizri
L ik D kk L jk ); Lij : =
k =1
j1
1 Cjj; D jj
Cij D jj
Cij j
Pentru a reduce modificrile asupra lui A se pot face permutri simetrice de linii i coloane (algoritmul Cholesky modificat datorat lui Gill, Murray i Wright [14]) obinndu-se factorizarea PAPt + E = LDLt = MMt, unde P este matricea de permutare.
CMn,n(R) o matrice pozitiv definit i dRn un vector fixat, i fie v0, v1, ..., vn-1 o familie de vectori nenuli conjugai n raport cu C doi cte doi. Atunci exist i este unic un punct de minim global x* al lui f i
n 1 < d, vi > i x* = v . i i i =0 < Cv , v >
197
Demonstraie. 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 staionar. 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 conjugai n raport cu C doi cte doi, ei constituie o baz n Rn. n consecin, exist scalarii 0, 1, ..., n-1R astfel nct -C-1d = i vi
i =0 n 1
n 1
-<C-1d, vj>C = j <vi, vj>C -<d, vj> = j <Cvj, vj> j = < d, v j > < Cv j , v j > .
CMn,n(R) o matrice pozitiv definit i dRn un vector fixat. Dac vkRn este un vector nenul, atunci soluia optim a problemei inf f(xk + tvk) este
t 0
tk =
de unde rezult c
198
Optimizri
1 <x,Cx> + <x,d> 2
cu CMn,n(R) o matrice pozitiv definit i dRn un vector fixat, i fie v0, v1, ..., vn-1 o familie de vectori nenuli conjugai n raport cu C doi cte doi. Se construiete irul (xk)k: xk+1 = xk + tkvk, x0 dat, 0 k n-1 unde tk este pasul optimal asociat direciei vk, adic tk este soluia optim a problemei inf f(xk + tvk). Atunci xn = x* unicul punct de minim al lui f.
t0
Demonstraie. Deoarece v0, v1, ..., vn-1 sunt vectori nenuli conjugai n raport cu C doi cte doi, ei constituie o baz n Rn. n consecin, exist scalarii 0, 1, ..., n-1R astfel nct x0 = i v i
i =0 n 1
n 1
(36.1)
(36.2)
k 1
(36.3)
Deci <f(xk), vk> = <Cxk + d, vk> = <Cxk, vk> + <d, vk> = <Cx0, vk> + <d, vk> ( 36.3 ) Din lema 35 rezult c tk = < f ( x k ) , v k > < Cv k , v k >
(36.4)
< Cx 0 , v k > < d, v k > < Cv k , v k > < Cv k , v k >
( 36.4 )
pentru orice k, i nlocuind n (36.2) k cu n i fiecare ti, obinem: < f x k , v k > v k x = x + k k k =0 < Cv , v >
n 0
n 1
( )
= x0 +
n 1 <
(36.5)
1 <x,Cx> + <x,d> cu 2
CMn,n(R) o matrice pozitiv definit i dRn un vector fixat, i fie v0, v1, ..., vm-1 (m un numr natural) o familie de vectori conjugai n raport cu C doi cte doi. Se construiete irul (xk)k: xk+1 = xk + tkvk, x0 dat, 0 k m unde tk este pasul optimal asociat direciei vk, adic tk este soluia optim a problemei inf f(xk + tvk). Atunci <f(xk+1), vi> = 0 pentru orice i {0, 1, , k}.
t0
Demonstraie. Vom face demonstraia inductiv dup k. Pentru k =0 avem <f(x1), v0> = <Cx1 + d, v0> = <Cx0 + t0Cv0, v0> + <d, v0>
200
Optimizri
i innd cont c t0 =
lemei 35) rezult c <f(x1), v0> = 0. Presupunem afirmaia adevrat pentru k i o demonstrm 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 = < f ( x k ) , v k > < Cv k , v k > < Cx k , v k > < d, v k > = . Aadar < Cv k , v k > < Cv k , v k >
<f(xk), vk> = 0. Pentru i {0, 1, , k-1}, conform ipotezei de inducie <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.
1 <x,Cx> + <x,d> 2
cu CMn,n(R) o matrice pozitiv definit i dRn un vector fixat, i fie v0, v1, ..., vn-1 o familie de vectori nenuli conjugai n raport cu C doi cte doi. Se construiete irul (xk)k: xk+1 = xk + tkvk, x0 dat, 0 k n-1 unde tk este pasul optimal asociat direciei vk, adic tk este soluia optim a problemei inf f(xk + tvk). Atunci xk+1 este soluie optim a problemei inf f(x), unde Ak = x0 +
t0
xA k
n 1 Sp{v0, v1, , vk} = x0 + i vi , i R . i =0 Demonstraie. Adunnd relaiile xi+1 = xi + tivi pentru i =0..k, obinem xk+1 = x0 + t i vi .
i =0 k
n 1
) i =0
k
= ( i t i ) < f x k +1 , vi >
i =0
=0 conform lemei 37. Deci pentru orice xAk avem f(x) f(xk+1) <f(xk+1), x-xk+1> = 0,
n cazul metodei gradientului conjugat vectorii C- conjugai 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) + ki vi
i =0 k 1
unde ki (i=0..k-1) se determin astfel nct pentru orice k i orice j k-1, <vk, vj> = 0. Astfel ki = < v i , f x k > C < vi , vi > C
( )
( )
Conform lemei 37, pentru orice k 1 avem <f(xk), f(x0) > = -<f(xk), v0 > = 0
202
Optimizri
= -f(x ) +
( ) (
,v
k 1
>
vk-1.
Cvk
rezult c Cv =
< f ( x
< Cv k , v k >
k
), v
>
k =
n virtutea condiiei de C-ortogonalitate, n cazul funciilor ptratice, metoda gradientului conjugat converge ntr-un numr finit de pai k n (conform propoziiei 36). Deoarece formulele de calcul pentru k nu depind explicit de matricea C, metoda poate fi aplicat unor funcii mai generale. Dac funcia f nu este ptratic atunci cele dou formule de calcul ale lui k nu sunt echivalente. n cazul n care
203
k =
ct timp ||f(xk)|| 0 execut pasul 1: *se determin pasul de deplasare tk (optimal sau suboptimal)
asociat direciei de deplasare vk;
)>
; vk+1:=-f(xk+1) + kvk.
ct timp ||f(xk)|| 0 execut pasul 1: *se determin pasul de deplasare tk (optimal sau suboptimal)
asociat direciei de deplasare vk;
204
Optimizri
Prezentm n continuare implementarea n MAPLE a celor doi algoritmi de mai sus. Procedurile au drept parametri funcia obiectiv f, punctul iniial, notat x00, i precizia (criteriul de oprire este ||f(xk)|| < ). Procedurile folosesc comenzi din pachetul linalg. Funcionare procedurilor va fi exemplificat pentru funciile:
> f1:=(x,y)->3*x^2+2*y^2-2*x*y-4*x+2*y-3;
f1 := ( x, y ) 3 x 2 + 2 y2 2 x y 4 x + 2 y 3
> f2:=(x,y)->10*(y-x^2)^2+(x-1)^2;
2
f2 := ( x, y ) 10 ( y x 2 ) + ( x 1 ) 2
> f4:=(x,y)->1/(x-1)^4/4+(y^2-x);
f4 := ( x, y )
1 1 + y2 x 4 ( x 1 )4
> f6:=(x,y)->x^2*(4-2.1*x^2+x^4/3)+x*y+y^2*(-4+4*y^2);
1 4 2 2 2 f6 := ( x, y ) x 2 4 2.1 x + 3 x + x y + y ( 4 + 4 y ) Pentru funciile f6 cu punctul iniial (1, -1)t i f2 cu punctul iniial (0, 1)t vom prezenta
i reprezentarea grafic (3D i contour) a iteraiilor (cele dou funcii nu sunt funcii
convexe!).
Implementarea algoritmului Fletcher-Reeves (pasul optimal de deplasare este obinut prin metoda seciunii 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; 205
Mdlina Roxana Buneci > 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.29674978 10 -6 , 0.00003805865244 ]
> FletcherReeves(f4,vector([-0.5,0.2]),10^(-4));
[ -0.08984210733 , 0.7126526153 ]
> FletcherReeves(f6,vector([-1,1]),10^(-4));
[ 1.703604624 , -0.7960833832 ]
206
[ 0.08984210733 , -0.7126526153 ]
> FletcherReeves(f2,vector([0,1]),10^(-4));
[ 0.9999789174 , 0.9999564617 ]
17 iteraii
> FletcherReeves(f6,vector([1,-1]),10^(-4));
[ -1.703604624 , 0.7960833832 ]
1241 iteraii
Implementarea algoritmului Polak-Ribiere (pasul optimal de deplasare este obinut prin metoda seciunii 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; 207
Mdlina Roxana Buneci > 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 ]
208
[ 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.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 iteraii
> PolakRibiere(f6,vector([1,-1]),10^(-4));
[ 1.703605085 , -0.7960854846 ]
209
14 iteraii Pentru a limita acumularea erorilor datorate impreciziei calculului pailor tk, se recomand reiniializarea direciei vk sub forma vk = -f(xk) dup fiecare m iteraii, mn. Se obin astfel metodele de gradient conjugat cu reiniializare
0, dac
k =
k +1 ntreg m
k, n caz contrar
Implementarea algoritmului Fletcher-Reeves cu restart (pasul suboptimal 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;
de
210
Optimizri > 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 ]
211
[ -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 iteraii
> FletcherReeves_r(f6,vector([1,-1]),10^(-4));
[ 0.08984151229 , -0.7126566759 ]
14 iteraii
212
Optimizri
cu restart(pasul suboptimal de
[ 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)); 213
[ -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 iteraii
> PolakRibiere_r(f6,vector([1,-1]),10^(-4));
[ -0.08984030100 , 0.7126516985 ]
214
Optimizri
14 iteraii
ct timp ||f(xk)|| 0 execut pasul 1: vk = - Hkf(xk) pasul 2: *se determin pasul de deplasare tk (optimal) asociat direciei de
deplasare vk;
pasul 3: xk+1 = xk + tkvk ; pasul 4: *se alege Dk astfel nct Hk+1 = Hk + Dk s fie pozitiv definit i n
plus, s fie ndeplinite condiia secantei ( Hk+1yk = sk) i proprietatea de ereditate (Hk+1yi = si pentru orice i , 0ik-1); k: = k+1; 1 <x,Cx> + <x, d>, cu 2
CMn,n(R) o matrice pozitiv definit i dRn un vector fixat, i fie x0Rn. Fie k un numr natural i fie (xj)j irul definit prin xj+1 = xj tjHjf(xj), 0 j k unde Pentru orice 0jk, matricele Hj sunt pozitiv definite i ndeplinesc condiia si = Hjyi pentru orice i, 0ij-1 cu si = xi+1 xi i yi = f(xi+1) - f(xi) tj este pasul optimal asociat direciei vj = - Hjf(xj). Demonstraie. Observm c pentru orice k 0 sk = xk+1 xk = tkvk = -tkHkf(xk) iar din faptul c f(x) = Cx+d deducem c yk = f(xk+1) - f(xk) = Csk = tkCvk = -tkCHkf(xk). Vom face demonstraia prin inducie dup k. Pentru k = 1, obinem <s1, Cs0> = -t0<H1f(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>,
216
Atunci vectorii s0, s1, ..., sk sunt conjugai n raport cu C doi cte doi.
Optimizri
i innd cont c t0 =
lemei 35) rezult c <s1, Cs0> = 0. Presupunem afirmaia adevrat pentru k i o demonstrm pentru k+1. Avem <sk+1, Csi> = -tk+1<Hk+1f(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 inducie rezult c s0, s1, ..., sk sunt conjugai n raport cu C doi cte doi, i aplicnd lema 37 rezult c <f(xk+1), si> = 0 pentru orice i{0,1, ...,k}. Mai departe din (39.1) obinem <sk+1, Csi> = -tk+1<f(xk+1), si> = 0. n consecin, s0, s1, ..., sk+1 sunt conjugai n raport cu C doi cte doi.
n condiiile lemei 39 dac la un moment dat sk = 0 (k < n) atunci de fapt vk = 0 sau echivalent f(xk) = 0. Aadar xk este punctul de minim al lui f (fiind punct staionar al funciei convexe f). Dac s0, s1, ..., sn-1 sunt toi nenuli, atunci fiind conjugai n raport cu C doi cte doi, rezult c s0, s1, ..., sn-1 sunt liniar independeni. Atunci innd 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 = -Hnf(xn) = -C-1f(xn). Atunci pasul optimal tn asociat direciei (Newton) vn = -C-1f(xn) este tn = 1. Ca urmare xn+1 = xn - tnHnf(xn) = xn-C-1(Cxn+d) = -C-1d, Aadar xn+1 este punctul de minim al lui f (fiind punct staionar al funciei convexe f). Deci minimul lui f este determinat n urma a cel mult n+1 iteraii. Aa cum precizat matricele Hk se determin recursiv: Hk+1 = Hk + Dk, k 0. Prezentm n continuare trei metode de alegere a matricei Dk. Formula de corecie de ordinul I presupune utilizarea pe post de Dk a unei matrice de rang 1. Mai precis, cutm Dk de forma Dk = akzk z k
( ) , unde a
t
zk astfel nct s fie ndeplinit condiia secantei. Din condiia secantei rezult (Hk + Dk)yk = sk
217
( )y
t k
= sk
( ) , obinem
t t
k k
( yk ) H y
+ ak y k
( ) z ( z k ) y = ( yk ) s
t k t k
t k
< y k ,s k H k y k >
( < yk , z k > )
Revenind la condiia secantei Hkyk + ak zk z k yk = sk, obinem zk = de unde, Dk = akzk z k 1 1 (sk - Hkyk) k k ak < z , y >
( )
( ) = a a12
t
k
( < zk , yk > )
2
1 ak
s k H k y k )( s k H k y k ) ( = < yk , sk H k y k >
Artm prin inducie dup k c dac funcia f este ptratic (f(x) = <x,d>, cu C simetric), H0 este simetric i dac avem Dk s k H k y k )( s k H k y k ) ( = < yk , sk H k y k >
t
1 <x,Cx> + 2
atunci este ndeplinit condiia Hk+1yi = si pentru orice 0ik (Hk+1 = Hk + Dk). Pentru orice k condiia este ndeplinit pentru i = k din construcia lui Dk (chiar dac
218
Optimizri
funcia f nu este ptratic). Ca urmare pentru k = 0 afirmaia este adevrat. Presupunem afirmaia adevrat pentru k i o demonstrm pentru k +1. Pentru orice i, 0 i k, avem Hk+2 yi = (Hk+1 + Dk+1) yi = Hk+1 s k +1 H k +1 y k +1 )( s k +1 H k +1 y k +1 ) ( y +
i
<y
k +1
,s
k +1
H k +1 y
k +1
>
yi
= s +< s
k +1
H k +1 y
k +1
,y >
(sk+1 Hk+1yk+1 )
< y k +1 ,s k +1 H k +1 y k +1 >
k +1
=s + <s
( (
k +1
, y > < H k +1 y
,y >
) < yk +1 ,sk +1 H
(sk+1 Hk+1yk +1 )
k +1 y k +1
>
=s + <s
k +1
, y ><y
k +1
, H k +1 y >
(sk +1 Hk+1yk+1 )
k +1 y k +1
>
=s + <s
k +1
, y ><y
k +1
,s >
) < yk +1 ,sk +1 H
(sk+1 Hk+1yk +1 )
k +1
>
=s + <s
( (
k +1
, Cs > < Cs
k +1
,s >
(sk+1 Hk+1yk +1 )
k +1 y k +1
>
= s + < Cs = si.
k +1
, s > < Cs
k +1
,s >
(sk+1 Hk+1yk +1 )
k +1 y k +1
>
< y k ,s k H k y k >
Poart denumirea de formula de corecie de rang 1. Dac numitorul <yk,sk Hkyk> nu este pozitiv, atunci pozitiv definirea matricei Hk+1 nu este garantat.
219
Dk =
sk sk
( )
< sk , yk >
H k yk yk
( ) Hk
t
< yk , H k y k >
Artm 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 ykRn astfel nct <sk, yk> >
sk sk
( )
< sk , yk >
H k yk yk
( ) Hk
t
< yk , H k y k >
atunci matricea In -
zz t zz t v t zz t v v> = <v, v> - <v, v> =<v, v> = < z, z > < z, z > < z, z >
zt v) ( =<v, v> -
< z, z >
Dac H este matrice pozitiv definit i dac y Rn este un vector nenul, atunci
1 H2
1 1 t 2 H yy H 2 In < y, Hy >
1 H2
1 zz t cu z = H 2 y. = In < z, z >
proprii = 0, iar dimensiunea subspaiului corespunztor este 1. Atunci pentru orice > 0 i orice s cu proprietatea c <s, y> 0, rezult c H +sst este pozitiv definit.
220
Optimizri
1 < s , yk >
k
se obine c Hk -
( ) Hk
t
sk sk
( )
< sk , yk >
sk sk
k
( )
k
< s ,y >
H k yk yk
k
< y , Hk y >
( ) Hk )y
t k
=Hkyk +
( ) y k - H k yk ( y k ) H k yk t t ( sk ) yk ( yk ) H k y k
CMn,n(R) o matrice pozitiv definit i dRn un vector fixat, i fie x0Rn. Fie (xk)k
irul definit prin xk+1 = xk - tkHkf(xk), unde
Dk = -
sk sk
k
( )
k
< s ,y >
H k y k yk
k
< y , Hk y >
( ) Hk , s = x
t
k
k+1
xk i yk = f(xk+1) - f(xk)
Atunci pentru orice k0, si = Hk+1yi pentru orice i {0, 1, ,k}. sk = xk+1 xk = tkvk = -tkHkf(xk) iar din faptul c f(x) = Cx+d deducem c yk = f(xk+1) - f(xk) = Csk = tkCvk = -tkCHkf(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 demonstraia prin inducie dup k. Pentru k = 0, obinem s0=H1y0, egalitate adevrat conform lemei 40. Presupunem c pentru orice 1j k
221
si = Hk+1yi pentru orice i {0, 1, ,k}. Conform lemei 39 vectorii s0, s1, ..., sk sunt conjugai n raport cu C doi cte doi. Deoarece pentru orice i{0,1, ..., k-1} <sk, yi> = <sk, Csi> = 0, <si, yk> = <si, Csk> = 0, obinem Hk+1yi = (Hk + Dk)yi = (Hk + sk sk
k
sk sk
k
( )
k
< s ,y >
t
H k yk yk
k
< y , Hk y >
( ) Hk )y
t k t
i
Hkyi +
( )
k
< s ,y > H k yk yk
k
yi t
H k yk yk
k
< y , Hk y >
i
( ) Hk y
k
Hkyi -
< y , Hk y >
( ) Hk y
k t
H yi =si k
si si.
H k yk y k
( ) si
< yk , Hk yk >
Ca o consecin a lemei 41 (i lemei 39) rezult c pentru o funcie ptratic f strict convex algoritmul Davidon-FletcherPowell ( DFP) converge la punctul de minim al lui f dup cel mult n+1 iteraii. Convergena algoritmului pentru clase de funcii mai generale este o problem deschis. Pn acum am optat pentru aproximarea a inversei hessianei Hf(xk) cu o matrice pozitiv definit Hk verificnd condiiile Hkyi = si pentru orice i {0, 1, ..., k1} unde
222
Optimizri
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 verificnd condiiile (Bk)-1yi = si (sau echivalent, Bksi = yi) pentru orice i {0, 1, ..., k-1}. Se observ c n relaiile Bksi = yi fa de relaiile Hkyi = si se schimb rolul lui si cu yi. Schimbnd n formula de corecie de rang 2 Davidon-FletcherPowell (formula DFP) rolul lui sk cu yk se obine formula de corecie de rang 2 Broyden-
( ) ( )
< y k ,s k >
Bk s k s k
( ) Bk
t
< s k , Bk s k >
Similar cu lema 40, dac sk ykRn astfel nct <sk, yk> > 0, atunci Bk+1 = Bk + y k yk
t
< y k ,s k >
Bk s k s k
( ) Bk
t
< s k , Bk s k >
este pozitiv definit. n plus, Bk+1sk = yk. Dac se folosesc actualizarea matricei Bk atunci direcia de deplasare se calculeaz c vk = - (Bk)-1f(xk). Pentru a inversa matricea Bk putem recurge la aa numita formul Sherman-Morrison: pentru o matrice inversabil AMn,n(R) i doi vectori u, vRn cu proprietatea c 1 + <v,A1
A 1uv t A 1 1 + v t A 1u
t y k yk Bk + < y k ,s k >
( )
= Hk -
H k yk y k
( ) Hk
t
( )
( )
( )
( ) Hk
t
223
( )
t
H k yk sk
( )
sk yk
( ) Hk
t
< yk , sk >
yk ) Hk yk ( = 1+ .
k
< yk , sk >
Dac Hk este matrice pozitiv definit i dac <sk, yk> > 0, atunci Hk+1 = Hk + Dk este pozitiv definit. n plus, Hk+1yk = sk. Condiia <sk, yk> > 0 este echivalent cu <f(xk+1), sk> > <f(xk), sk> sau, deoarece sk = tkvk (tk pasul de deplasare iar vk direcia de deplasare) , <f(xk+1), vk> > <f(xk), vk>. Aceast inegalitate este adevrat dac pasul tk satisface condiia Wolfe (17b). Convergena algoritmului Broyden-FletcherGoldfarb-Shanno (BFGS) a fost demonstrat de Powell n 1976.
Algoritmul Broyden-FletcherGoldfarb-Shanno (BFGS) (x0 dat)
k: = 0; H0 := In;
ct timp ||f(xk)|| 0 execut pasul 1: vk = - Hkf(xk) pasul 2: *se determin pasul de deplasare tk suboptimal ndeplinind
yk ) Hk yk ( := 1 + .
t
k
< yk , sk >
224
Optimizri
Dk :=
k s k s k
( )
H k yk sk
( )
sk yk
( ) Hk
t
< yk , sk >
225
226
Optimizri
Fie X o mulime. O familie de submulimi ale lui X se numete topologie pe X dac i numai dac sunt ndeplinite urmtoarele condiii: 1. X i sunt elemente ale lui 2. Dac I este o familie oarecare de indici i dac Gi pentru orice i I, atunci
G i .
iI
G i .
iI
Mulimea X nzestrat cu o topologie se numete spaiu topologic i se noteaz (X,). Dac nu exist posibilitatea unei confuzii, nu se mai precizeaz topologia . Elementele unui spaiu topologic se numesc puncte, iar elementele topologiei se numesc mulimi deschise (cu alte cuvinte, GX se numete mulime deschis dac i numai dac G ). O submulime F a spaiului topologic X se numete nchis dac este complementara (n raport cu X) unei mulimi deschise.
227
Optimizri
xint(A) dac i numai dac exist o mulime deschis G astfel nct xGA. Mulimea A este deschis dac i numai dac A=int(A). Se numete nchiderea mulimii A, i se noteaz cu A, intersecia tuturor mulimilor nchise ce conin pe A.A poate fi definit n mod echivalent ca fiind cea mai mic mulime nchis (relativ la relaia de incluziune) care conine pe A. Punctele mulimii A se numesc puncte aderente ale lui A. Se observ imediat c xA dac i numai dac pentru orice vecintate V a lui x, VA. Mulimea A este nchis dac i numai dac A=A. Mulimea A se numete dens n X dac A=X. Se poate arta c X\ A =int(X\A) i X\int(A)= X \ A . Se numete exteriorul mulimii A, i se noteaz cu exterior(A), mulimea int(X\A). Un punct xexterior(A) se numete punct exterior lui A. Rezult imediat c xexterior(A) dac i numai dac exist o vecintate V a lui x astfel nct VA=. Se numete frontiera mulimii A, i se noteaz cu Fr(A) sau (A), mulimea A X \ A . Elementele mulimii Fr(A) se numesc puncte frontier ale lui A (puncte care nu aparin nici interiorului nici exteriorului mulimii A). Vom nota cu
frn(A)=Fr(A)\A=A\A (mulimea punctelor frontier ale lui A care nu aparin lui A).
Se poate arta c:
int(A)=A\Fr(A) A =AFr(A) Fr(X-A)=Fr(A) Fr(AB)Fr(A)Fr(B) Fr(AB)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)
Mulimea A se numete mulime de tipul G dac se poate scrie sub forma unei intersecii numrabile de mulimi deschise ale lui X. Mulimea A se numete
229
mulime de tipul F dac se poate scrie sub forma unei reuniuni numrabile de
mulimi nchise ale lui X. Dac (X, ) este un spaiu topologic i A o submulime a lui X, atunci A = {AG: G } este o topologie pe A numit topologia indus pe A de topologia , sau restricia
fin) dect 2 sau c 2 este mai tare (sau mai fin) dect 1 dac orice mulime
deschis n topologia 1 este deschis i n topologia 2 (cu alte cuvinte, G1 => G2). Un spaiu topologic X se numete spaiu T2 sau spaiu (separat) Hausdorff dac i numai dac oricare ar fi punctele distincte x, y X, exist dou mulimi deschise disjuncte Gx i Gy astfel nct x Gx i y Gy.
( ).
n n
V a lui a exist nVN astfel nct pentru orice nnV avem xn V. Dac X este spaiu T2 (Hausdorff), atunci limita unui ir (dac exist) este unic.
230
Optimizri
Un ir din spaiu topologic X care are limit n X se numete convergent n X. Un ir care nu este convergent se numete divergent. Un punct aX se numete punct limit al irului (xn)n dac i numai dac pentru orice vecintate V a lui a i orice nN exist kn, astfel nct xk V. Un punct a este punct limit al irului (xn)n dac i numai dac exist un subir al irului (xn)n convergent la a. Fie A o submulime nevid a mulimii numerelor reale. Un element M R (respectiv mR) se numete majorant respectiv, minorant) al mulimii A dac pentru orice xA avem x M (respectiv xm). Cel mai mic majorant (respectiv, cel mai mare minorant) al mulimii A se numete margine superioar (respectiv,
inf A = -). Este uor de observat c M (respectiv, m) este marginea superioar (respectiv, marginea inferioar) a mulimii A dac i numai dac sunt ndeplinite urmtoarele dou condiii: 1. x M (respectiv, xm) pentru orice xA. 2. pentru orice > 0, exist x A astfel nct x > M- (respectiv, x < m+) Pentru un ir de numere reale ( x n )n n se noteaz
0
Este uor de artat c dac irul de numere reale (xn)n este cresctor (adic xn xn+1 pentru orice n) atunci
n
Pentru irul de numere reale (xn)n notm An = {xk, kn}. Se numete limita
(respectiv, lim inf xn) limita irului descresctor (respectiv, cresctor) (bn)n, unde bn =
n
lim sup xn = inf sup xk, lim inf xn = sup inf xk.
n n kn n n kn
Evident, inf xn lim inf xn lim sup xn sup xn. Pentru orice ir de numere reale
n n n n
(xn)n se poate arta c Exist lim x n dac i numai dac lim inf xn = lim sup xn, i n acest caz
n
n n
cele trei limite coincid. Orice punct limit a al lui (xn)n are proprietatea c : lim inf xn a lim sup xn.
n n
Fie X i Y dou spaii topologice, A o submulime a lui X i fie f : A Y o funcie. Fie a un punct de acumulare al lui A (adic un punct cu proprietatea c pentru orice U vecintate a lui a, A (U \ {a})). Se spune c f are limita bY n punctul a i se scrie lim f ( x ) = b dac pentru orice vecintate V a lui b exist o
x a
vecintate UV a lui a astfel nct 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 vecintate V a lui f(a) exist o vecintate UV a lui a astfel nct f(x) V pentru orice x UV A. Se observ c f este continu n orice punct izolat (adic un punct aA pentru care exist o vecintate U a lui a astfel nct A U = {a}). Dac aA este punct de acumulare pentru A, atunci f este continu n a dac i numai dac
x a
nct lim x n =a, atunci lim f ( x n ) =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 spaii topologice i f:XY este o funcie, atunci urmtoarele afirmaii sunt echivalente: 1. f continu pe X 2. Pentru orice mulime deschis G Y, f-1(G) este deschis n X 3. Pentru orice mulime nchis F Y, f-1(F) este nchis n X
232
Optimizri
4. Pentru orice A X avem f(A) f ( A ) 5. Pentru orice B Y avem f -1 ( B ) f -1 B . Dac X i Y sunt dou spaii topologice i f:XY este o funcie bijectiv, atunci f se numete homeomorfism dac f i f-1 sunt continue.
Spaii compacte
( )
Un spaiu topologic X se numete 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 mulimi deschise cu proprietatea c
n
G i = X, exist o subfamilie
i
Gi
j=1
topologic X se numete compact dac nzestrat cu topologia indus de X este spaiu compact. Orice submulime compact a unui spaiu Hausdorff este nchis. O submulime A a unui spaiu topologic X se numete relativ compact dac A compact. Dac X este un spaiu compact, Y este un spaiu topologic Hausdorff i f:XY este o funcie continu, atunci f(X) este compact n Y. O submulime a lui R (cu topologia uzual) este compact dac i numai dac este nchis i mrginit. Dac X este un spaiu compact i f:XR este o funcie continu, atunci f este mrginit i i atinge extremele, adic exist xmin, xmaxX astfel nct: f(xmin) f(x) f(xmax) pentru orice xX.
Spaii local compacte
Un spaiu topologic X se numete local compact dac este Hausdorff i dac orice punct al su are o vecintate compact. Se poate arta c X este local compact dac i numai dac este o submulime deschis a unui spaiu compact.
233
Pentru orice submulime compact K a spaiului local compact X i pentru orice vecintate V a lui K, exist o funcie continu f: K [0, 1] astfel nct f (x) = 1 pentru orice xK i f (x) = 0 pentru orice xX-V.
R (cu topologia uzual) este spaiu local compact. Spaii metrice
Fie X o mulime. Se numete distan (sau metric) pe X o funcie d: X X R cu urmtoarele proprieti: 1. 2. 3. 4. d(x, y) 0 pentru orice x, y X; d(x, y) = 0 dac i numai dac x = y; d(x,y) = d(y,x) pentru orice x, y X; d(x,y) d(x,z) + d(z,y) pentru orice x, y, y X.
Perechea (X, d) se numete spaiu metric. Petru orice aX i orice r >0 se numete
pentru orice >0 exist nN astfel nct pentru orice nn avem d(a,xn) <. Fie (X, d) un spaiu metric i fie (xn)n un ir din X. irul (xn)n se numete ir
Cauchy (sau fundamental) dac i numai dac pentru orice >0 exist nN astfel
nct pentru orice m,nn avem d(xm,xn) < (sau echivalent, pentru orice >0 exist nN astfel nct pentru orice nn i orice pN avem d(xn+p,xn) <).
234
Optimizri
Orice ir convergent este ir Cauchy. Reciproca nu este adevrat. Un spaiu metric (X, d) n care orice ir Cauchy este convergent se numete spaiu metric
complet.
Fie (X, dX) i (Y, dY) dou spaii metrice i fie f :XY o funcie. Pentru orice aX urmtoarele afirmaii sunt echivalente 1. f continu n a 2. Dac
n
(xn)n
este
un
ir
din
astfel
atunci
lim f ( x n ) =f(a).
3. pentru orice >0 exist >0 astfel nct pentru orice xX cu dX(x,a)< rezult dY(f(x), f(a))<. O funcie f : X Y ntre spaiile metrice (X, dX) i (Y, dY) se numete
uniform continu dac pentru orice > 0 exist > 0 astfel nct pentru orice x, y
X cu proprietatea c dX(x, y) < , s avem dY(f(x), f(y)) < . Evident, orice funcie uniform continu este continu. Dac X este spaiu compact, atunci orice funcie continu f :XY este uniform continu.
Spaii normate i spaii Hilbert
Un spaiu liniar (vectorial) V peste corpul K (K=R sau K=C) mulime nevid nzestrat cu dou operaii: o operaie intern + : V x V V, (x, y) x + y,
este o
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 nct x + 0 = 0 + x oricare ar fi x V ( exist element neutru); 4. oricare ar fi x V exist - xV astfel nct x + (- x) = (-x) + x = 0 (orice element admite simetric)
i o operaie extern :
K x V V, (, x) x
a. dac 1K este elementul neutru la nmulire din K, atunci 1x = x, oricare ar fi xK. b. ()x = (x) oricare ar fi , K i xV; c. ( + ) x = x + x oricare ar fi , K i xV; d. (x + y) = x + y oricare ar fi K i x, yV. Pentru spaiul liniar V peste K, elementele lui V se numesc vectori, corpul K se numete corpul scalarilor, iar elementele lui se numesc scalari. Dou spaii liniare V i W peste corpul K se numesc spaii liniare izomorfe dac exist o aplicaie bijectiv h: V W cu proprietile: h(x+y) = h(x) + h(y) pentru orice x, y V i h(x) = h(x) pentru orice K i orice xV. Aplicaia h (cu proprietile de mai sus) se numete izomorfism de spaii liniare. Fie V un spaiu liniar peste corpul K. Vectorul xV este combinaie liniar a familiei de vectori {xi, iI}, dac x se poate scrie sub forma x =
i xi , unde
ieI
numai un numr finit dintre coeficienii i sunt nenuli. Familia {xi,iI} de vectori din V se numete familie liniar independent (sistem liniar independent) dac i numai dac vectorul nul 0 se poate scrie ca o combinaie liniar de vectori ai familiei
numai cu scalari nuli: mai precis, pentru orice mulime finit I0 I pentru care
i xi =0
ieI 0
Familia {xi, iI} de vectori din V se numete sistem de generatori pentru V dac pentru orice xV exist mulimea finit I0 I i scalarii i I0 astfel nct x =
independent i sistem de generatori. Un spaiu liniar se numete finit dimensional dac exist o baz a sa cu un numr finit de vectori. Orice dou baze ale lui V au acelai cardinal. Se numete dimensiunea spaiului liniar V peste corpul K i se noteaz cu dimKV numrul 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 nmulirea cu scalari din K n maniera de mai jos (1, 2,, n ) + (1, 2,, n ) = (1+ 1, 2 + 2,, n + n)
236
Optimizri
(1, 2,, n ) = (1, 2,, n ), atunci este uor de observat c sunt ndeplinite condiiile cerute de definiia spaiului vectorial i deci Kn este spaiu vectorial peste K. Dac pentru orice i {1, 2, ..., n} notm ei = (0, 0, ... , 1, 0, ...0)t poziia i atunci B = {e1, e2, ..., en} este o baz n Kn numit baza canonic. Deci dimKKn = n. Se poate art c orice spaiu liniar V peste K a crui dimensiune dimKV = n este izomorf cu Kn. Fie V un spaiu liniar peste corpul K. O submulime G a lui V se numete
237
Pentru orice spaiu normat V (nzestrat cu structura metric i structura topologic asociate n mod canonic) sunt adevrate urmtoarele afirmaii: 1. irul (xn)n din V converge la xV dac i numai dac lim || xn - x || = 0
n
2. irul (xn)n din V este ir Cauchy (fundamental) dac i numai dac pentru orice >0 exist n N astfel nct || xn - xm || < pentru orice m,n n. 3. || || : V [0, ) este o aplicaie continu 4. Funciile (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 numete complet dac metrica asociat ei este complet (i.e. dac orice
ir Cauchy este convergent). Un spaiu normat se numete spaiu Banach dac
norma cu care este nzestrat este complet. Normele p1 i p2 definite pe spaiul 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 notaia p1 ~ p2. Se poate arta c normele p1 i p2 sunt echivalente dac i numai dac exist M, m >0 astfel nct m p1(x) p2(x) M p1(x) pentru orice x V. V se numete K algebr normat dac V este K algebr i n plus este nzestrat cu o norm |||| ce satisface urmtoarele dou proprieti: 1. (V, ||||) este spaiu normat 2. ||xy|| ||x|| ||y|| pentru orice x, y V, O algebr normat nzestrat cu o norm complet se numete algebr Banach. Fie V i W dou spaii liniare peste corpul K (K=R sau K=C). O aplicaie f:VW se numete 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 aplicaie liniar, iar V i W sunt spaii normate, atunci urmtoarele afirmaii 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 xE. 4. sup ||f(x)||< .
x 1
5. sup ||f(x)||< .
x =1
238
Optimizri
Vom nota cu L(V, W) spaiul aplicaiilor liniare i continue f : V W. Pentru orice f L(V, W), avem
sup ||f(x)|| = sup ||f(x)||= inf {M > 0 : || f(x) || M||x || pentru orice xV }.
x 1 x =1
Dac pentru orice f L(V, W), definim || f || = sup ||f(x)||, atunci (L(V, W), ||||)
x 1
devine un spaiu normat. Spaiul L(V, W) este denumit spaiul operatorilor liniari i
mrginii definii pe V cu valori n W, iar elementele din L(V, W) se mai numesc operatori liniari mrginii. Spaiul operatorilor liniari i mrginii L(V, W) este
spaiu Banach dac i numai dac W este spaiu Banach. Dac V este un spaiu normat iar pe spaiul L(V, V) introducem drept lege de "nmulire" compunerea operatorilor, atunci L(V, V) devine o algebr normat. Dac V este un spaiu normat peste corpul K, atunci spaiul normat L(V, K) se numete
H. Un spaiu pre-Hilbert este un spaiu normat n care norma provine dintr-un produs scalar, iar un spaiu Hilbert este un spaiu pre-Hilbert complet (cu norm complet). Dac H un spaiu pre-Hilbert, atunci: 1. Dou elemente x i y din H se numesc ortogonale dac <x, y> =0. 2. Pentru A H i xH, x se spune ortogonal pe A i se noteaz xA, dac <x,y>=0 pentru orice yA. 3. O familie (xi)i de elemente ale lui H se numete sistem ortogonal sau familie
5. Se numete baz ortonormat a spaiului Hilbert H un sistem ortonormal maximal (n raport cu relaia de incluziune). Este uor de artat c orice sistem ortogonal de vectori nenuli este liniar independent. Dac H este un spaiu Hilbert i (xi)i este un sistem ortonormal, atunci urmtoarele afirmaii sunt echivalente: 1. (xi)i baz ortonormal 2. Dac xH i xxi pentru orice i, atunci x = 0. 3. Dac xH, atunci x =
x, x i x i .
x, x i x i , y .
2
x, x i
Orice dou baze ortonormale ale unui spaiu Hilbert au acelai cardinal.
240
Optimizri
Considerm spaiul vectorial V = Kn (K=R sau K=C), nN*. Pe acest spaiu orice dou norme complete sunt echivalente. Vom nota cu ||||, ||||1, ||||2 urmtoarele norme uzuale pe Kn: ||x|| = max |xj|
1 j n n
||x||1 =
xj
j=1 2
n ||x||2 = x j j=1
1/ 2
pentru orice x = (x1, x2, , xn) Kn. Norma ||||2 se numete norm euclidian i provine din produsul scalar <x, y> =
xjyj
j=1
x j y j ).
j=1
Banach (n raport cu norma ||||2 indus de produsul scalar) Kn este spaiu metric complet (n raport cu distana euclidian indus de norma ||||2) Kn este spaiu topologic (n raport cu topologia indus de distana euclidian). n raport cu aceast topologie Kn este spaiu local compact. O submulime A lui Kn este compact dac i numai dac este nchis (echivalent, conine limita fiecrui ir convergent cu termeni din A) i mrginit (echivalent, exist M>0 astfel nct ||x||2M pentru orice xA).
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 1im i 1jn.
241
nmulire cu scalari: A = (aij)i,j, C=(cij)i,j Mm,n(K), K. C = A dac i numai dac cij = aij pentru orice 1im i 1jn. 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 =
Transpusa unei matrice A=(aij)i,j, este o matrice notat At = ( a it, j )i,j, ale crei
elemente sunt: a it, j = aj,i pentru orice 1in, 1jm.
Conjugata unei matrice A=(aij)i,j, este o matrice notat A* = ( a * i , j )i,j, ale crei
elemente sunt: a * i , j = a j,i pentru orice 1in, 1jm. Conjugata este caracterizat prin : <Ax, y> = <x, A*y> pentru orice xCn i orice yCm. (unde <, > este produsul scalar canonic pe Cn) O matrice pentru care m=n se numete ptratic. Elementul neutru la nmulire n Mn,n(K) este matricea unitate In: 1 0 0 0 1 0 0 0 0 0 0 1
O matrice A Mn,n(K) este inversabil dac exist B Mn,n(K) astfel nct 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 coeficieni reali cele dou noiuni 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 ij a1 A= 0 0 0 a2 0
242
Optimizri
(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 spaii liniare ntre Mm,n(K) i L(Kn, Km). Fiecrei matrice A = (ai,j)i,j i se asociaz operatorul liniar S(A) definit prin S(A)(x) = Ax = ( a ij x j )1im pentru orice x = (x1, x2, , xn)tKn.
j=1 n
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 aplicaie liniar: ||A|| : = sup ||Ax|| = sup ||Ax||.
x 1 x =1
n cazul n care = se utilizeaz notaia ||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 numete valoare proprie pentru A dac exist vectorul nenul x Cn astfel nct: Ax= x Vectorul x se numete vector propriu asociat valorii proprii . Se numete subspaiu
Normele operatoriale pentru o matrice A Mm,,n(C) subordonate normelor vectoriale ||||, ||||1, ||||2 sunt respectiv: ||A|| = ||A||1 = ||A||2 = max a ij 1 i m j=1 max a ij 1 j n i=1 (A * A ) .
243
m
Pentru orice matrice A Mn,n(C) i orice norma operatorial |||| avem (A) ||A||. Dac |||| este o norm operatorial pe Mn,n(C), atunci lim A k =0 dac i
k
numai dac (A) < 1. Fie <, > produsul scalar canonic pe Kn (K = R sau C) O matrice AMn,n(K),
K = R (respectiv, K = C) se numete
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 notm determinanii situai pe diagonala principal cu a11 k = a12 a1k 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 toi 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 urmtoarea alternan a semnelor: 1 < 0, 2 >0, 3 <0, 4 >0, ..., (-1)nn >0.
244
Optimizri
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 (avnd pe coloane vectori proprii al lui A) astfel nct: 1 QtAQ* = 0 0 0 2 0 0 0 0 0 0 n
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.
mai mic valoare proprie a lui A. n consecin, pentru o matrice pozitiv definit A, factorul de condiionare cond(A) =
mare, respectiv cea mai mic valoare proprie a lui A. Se numete ctul Rayleigh asociat matricei AMn,n(R), funcia RA : Rn \{0} R, RA(x) = < x, Ax > . < x, x >
Se observ uor 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 staionar pentru RA (adic RA(x) = 0) dac i numai dac x este vector propriu al matricei A.
Principiul de minmax Courant-Fischer: Dac AMn,n(R) este o matrice
k =
(S este subspaiu liniar al lui Rn). Ca o consecin a principiului de minmax Courant-Fischer, rezult c pentru o matrice simetric A max = max < x, Ax > < x, Ax > , min = min , x 0 < x, x > x 0 < x, x >
unde max (respectiv, min) este cea mai mare, respectiv cea mai mic valoare proprie a lui A. Ca urmare min < x, Ax > max pentru orice x0. < x, x >
n Kj = C : a jj a jk k =1 k j
, 1 j n.
246
Optimizri
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, Timioara, 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.
247
Numerical Analysis, pages 109-197. Springer Verlag, Berlin, 2003. 17. V. Ionescu i C. Popeea, Optimizarea sistemelor, Editura Didactic i Pedagogic, Bucureti, 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 dinformatique 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, Bucureti 2002). 23. D.F. Shanno, Conditioning of quasi-Newton methods for function
minimization, Math. Computation 24 (1970), 647-657.
25. A. tefnescu, C. Zidroiu, Cercetri Operaionale, Editura Didactic i Pedagogic, Bucureti, 1981. 26. V. Ungureanu, M. Buneci, Algebr Liniar: teorie i aplicaii, Editura Mirton Timioara, 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. NorthHolland, Amsterdam,1970.
248
Optimizri
INDEX
A
condiia lui Armijo,148 condiia secantei, 215 condiia Zoutendijk, 156 condiii de optimalitate suficiente de ordinul 2 n cazul optimizrilor cu restricii egaliti, 27 condiii necesare de optimalitate n cazul ipotezei de regularitate Slater (optimizari cu restricii inegaliti), 102 condiii necesare de optimalitate de ordinul 1 n cazul optimizrilor pe mulimi deschise, 17 condiii necesare de optimalitate de ordinul 1 n cazul optimizrilor cu restricii egaliti, 21 condiii necesare de optimalitate de ordinul 2 n cazul optimizrilor pe mulimi deschise, 18 condiii necesare de optimalitate de ordinul 2 n cazul optimizrilor cu restricii egaliti, 24 condiii necesare de optimalitate pentru problemele de optimizare cu restricii inegaliti cazul funciilor difereniabile, 105 condiii necesare i suficiente de optimalitate n cazul ipotezei de regularitate Slater (optimizari convexe cu restricii inegaliti), 103 condiii necesare i suficiente de optimalitate n cazul ipotezei de regularitate Slater (optimizari cu restricii inegaliti: cazul funciilor difereniabile convexe ), 113
acoperire convex, 35 adjunctul unui operator liniar i mrginit, 240 algebr Banach, 238 algoritmul backtracking Armijo, 148 algoritmul Fletcher-Reeves, 204 algoritmul Polak-Ribiere, 204 aplicaie (transformare) liniar, 238
B
baz, 236 baz ortonormat, 240 bil (ntr-un spaiu metric), 234
C
ctul Rayleigh, 245 combinaie liniar, 35 combinaie liniar convex, 236 complement ortogonal, 240 con convex, 51 con convex nchis, 51 con dual, 53 con poliedral, 57 con propriu, 61 condiia de optimalitate necesar FritzJohn (optimizari cu restricii inegaliti), 92 condiia de regularitate Slater, 96 condiia ecarturilor complementare, 88
249
condiii suficiente de optimalitate de ordinul 2 n cazul optimizrilor pe mulimi deschise, 19 condiiile Goldstein, 154 condiiile Wolfe, 154 condiiile Wolfe n sens tare, 154 conjugata unei funcii convexe, 79 constanta Lipschitz, 150
D
factorizare Cholesky, 177 factorizare LDLt, 196 factorul de condiionare matrice, 245 formula BFGS, 223 formula de corecie de rang 1, 219 formula de corecie de rang 2 Broyden-FletcherGoldfarb-Shanno, 223 formula de corecie de rang Davidon-FletcherPowell, 219 formula DFP, 219 formula lui Taylor, 13 formula Sherman-Morrison, 223 frontiera unei mulimi, 229 frontier eficient (Pareto), 69 funcia Lagrange asociat problemei de optimizare cu restricii inegaliti, 87 funcia Lagrange asociat problemei de optimizare cu restricii egaliti, 23 funcia Lagrange-Fritz-John, 92 funcie concav, 70 funcie continu, 232 funcie convex relativ la relaia de ordine parial definit de un con propriu, 85 funcie convex, 70 funcie cvasi-concav, 84 funcie cvasi-convex, 83 funcie cvasi-liniar, 84 funcie de clas Ck (k1), 13 funcie derivabil parial, 9 funcie difereniabil, 10 funcie liniar, 238
250
al
unei
derivata dup direcie, 14 derivata parial, 9 difereniala de ordinul 2, 12 difereniala de ordinul k, 12 diferenial, 10 dimensiunea unui spaiu liniar, 236 direcie admisibil, 108 direcie cvasi-Newton, 171 direcie descendent, 130 direcie Newton, 171 distan (metric), 234 distane (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 mulimi, 61 element minimal al unei mulimi, 61 epigrafic, 70 exteriorul unei mulimi, 229
F
Optimizri
funcie Lipschitz continu, 150 funcie log-concav, 84 funcie log-convex, 84 funcie obiectiv, 7 funcie strict concav, 70 funcie strict convex, 70 funcie strict cvasi-concav funcie strict cvasi-concav, 84 funcie strict cvasi-convex, 83 funcie uniform continu, 235
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 funcii, 232 limita unui ir, 230
M
gradient, 11
H
hessiana, 13 hiperplan care separ dou mulimi, 42 hiperplan de sprijin, 48 hiperplan de sprijin strict, 48 hiperplan, 42
I
margine superioar (sup) a unei mulimi, 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 biseciei, 140 metoda direciilor conjugate, 197 metoda gradientului conjugat, 202 metoda gradientului, 158 metoda Newton clasic, 174 metoda Newton cu pas variabil, 184 metoda seciunii de aur, 137 metoda tangentei Newton), 142 (metoda lui cu
inegalitatea Jensen, 70 interiorul relativ al unei mulimi convexe, 95 interiorul unei mulimi, 228 izomorfism, 236
jacobian, 11
metode de alegere optimal a pasului, 132 metode de alegere suboptimal a pasului, 147 metode de cutare liniar, 130 metode de metric variabil, 215 metode Newton modificate, 190 minorant, 231 mulime deschis, 227 mulime compact, 233 mulime convex, 31 mulime de tipul F, 230 mulime de tipul G, 229 mulime nchis, 227 mulime relativ compact, 233 mulimi separabile printr-un hiperplan, 42
N
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 Lagrange, 109 n sensul lui
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 funcia Lagrange, 88 punct a, 116
R
norm, 237 norm complet, 238 norm euclidian, 241 norm operatorial a unei matrice, 243 norme echivalente, 238
O
raz spectral, 243 relaie de ordine parial indus de un con propriu, 61 relaie de ordine strict indus de un con propriu, 61 restricie activ, 104 restricie regulat, 96 restricie singular, 96 restricii, 8
S
operator liniar mrginit, 239 optimalitate Pareto, 69 optimizri cu restricii egaliti, 8 optimizri cu restricii inegalitii, 8 optimizri fr restricii, 7
P
Optimizri
segment nchis, 31 sistem de generatori, 236 sistem fundamental de vecinti, 228 sistem liniar independent, 236 sistem ortogonal (familie ortogonal), 239 sistem ortonormat, 239 soluie optim local,7 soluie optim, 7 spaii liniare izomorfe, 236 spaiu Banach, 238 spaiu compact, 233 spaiu Hausdorff (spaiu separat T2), 230 spaiu Hilbert, 239 spaiu liniar (vectorial), 235 spaiu local compact, 233 spaiu metric complet, 235 spaiu metric, 234 spaiu normat, 237 spaiu pre-Hilbert, 239 spaiu topologic, 227 spaiul operatorilor liniari i mrginii, 239 spectru, 243 submulime extremal, 38 subspaiu liniar (vectorial), 237 subspaiu propriu (asociat unei valori proprii), 243 subspaiul liniar generat de o mulime, 237 subir, 230
teorema creterilor finite, 11 teorema de convergen a algoritmilor de cutare liniar inexact n cazul generrii pasului de deplasare prin algoritmul backtracking-Armijo, 152 teorema de convergen a algoritmilor de cutare liniar inexact n cazul n care pasul de deplasare satisface condiiile 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 generrii pasului de deplasare prin algoritmul backtracking-Armijo, 160 teorema de convergen a metodei gradientului n cazul n care paii de deplasare satisfac condiiile Wolfe, 161 teorema de convergen a metodelor pentru care direcia de deplasare este de tip cvasi-Newton n cazul generrii pasului de deplasare prin algoritmul backtracking-Armijo, 171 teorema de convergen a metodelor pentru care direcia de deplasare este de tip cvasi-Newton n cazul n care paii de deplasare satisfac condiiile Wolfe, 173 teorema de convergen Newton clasice, 174 metodei
teorema de convergen metodei Newton cu pas variabil n cazul generrii pasului de deplasare prin algoritmul backtracking-Armijo, 184 teorema funciilor implicite, 15
teorema Krein-Milman, 50 topologia asociat (canonic) distanei, 24 topologia discret, 228 topologia indiscret (trivial), 228 topologia uzual (natural) pe R, 228 topologie indus topologii), 230 topologie, 227 (urma unei
valoare proprie, 243 vrf, 38 vecintate, 228 vector propriu, 243 vectori conjugai n raport cu o matrice, 197 vectori ortogonali, 239 vectorul multiplicatorilor Lagrange, 110 lui
254