Sunteți pe pagina 1din 56

Calcul Numeric

Cursul 13
2015

Anca Ignat

Optimizare numeric

min { f ( x ) ; x n } , f : n
Un punct x* n se numete punct de minim global pentru
funcia f dac f ( x*) f ( x ) x n .
Un punct x* n se numete punct de minim local pentru
funcia f dac exist o vecintate V a punctului x * pentru
care f ( x*) f ( x ) x V .
Un punct x* n se numete punct de minim strict local
pentru funcia f dac exist o vecintate V a punctului x *
pentru care f ( x*) f ( x ) x V , x x * .
V S ( x*, r ) x n ; x x * r .

Dac funcia f C 1 ( n ) se numete gradient al funciei f


n punctul x vectorul:
T
f f
f
f ( x )
,
, ,
.
x n
x1 x2
Dac funcia f C 2 ( n ) se numete matrice hessian a
funciei f n punctul x matricea:
2

2
f ( x)
( x)
x x

i
j

i , j 1,...,n

2 f

2 f
2 f
( x)
( x)
( x)

2
x1x2
x1xn

x1
2 f

2 f
2 f
( x)
( x)
( x)

2
2
f ( x ) x2x1
x 2
x 2 x n

2
2
f
f
f

x
x
x
(
)
(
)

(
)
2
x x

x
x
x

n
n
2
n 1

Teorema lui Taylor


Dac funcia f C 1 ( n ) este continuu difereniabil atunci
exist t (0,1) astfel ca:

f ( x p ) f ( x ) f ( x tp )T p .

(1)

Dac f C 2 ( n ) este de dou ori continuu difereniabil


atunci exist t (0,1) astfel ca:
1 T 2
f ( x p ) f ( x ) f ( x ) p p f ( x tp ) p . (2)
2
T

Teorema 1 (condiii necesare de optim de ordinul nti)


Fie f C 1 ( n ) i x* n un punct de minim local pentru f.
Atunci f ( x*) 0 .
Demonstraie: Presupunem prin reducere la absurd c
f ( x*) 0 . Fie p f ( x*) . Avem:
pT f ( x*) f ( x*) 0.
Deoarece f este continu n vecintatea lui x *, exist T > 0
astfel ca:
pT f ( x tp ) 0 , t 0, T .
Pentru orice s (0, T ], din Teorema lui Taylor avem:
f ( x * s p ) f ( x*) spT f ( x * tp ) , pentru un t (0, s ) .

Prin urmare f ( x * s p ) f ( x*) s (0, T ] , ceea ce implic


faptul c x * nu este punct de minim local.
Un punct x * pentru care f ( x*) 0 se numete punct
staionar. Teorema de mai sus spune c orice punct de minim
local trebuie s fie punct staionar.

Teorema 2 (condiii necesare de optim de ordinul al doilea)


Fie f C 2 ( n ) i x* n un punct de minim local pentru f.
Atunci f ( x*) 0 i matricea hessian 2 f ( x*) este pozitiv
semidefinit.

O matrice A nn este pozitiv semidefinit dac


Ax , x n 0 x n
i este pozitiv definit dac
Ax , x n 0 x n , x 0.
Demonstraie: Din Teorema 1 rezult c f ( x*) 0 .
Presupunem prin reducere la absurd c matricea hessian n
x * nu este pozitiv semidefinit, adic exist un vector p
pentru care pT 2 f ( x*) p 0 i deorece matricea hessian
pT 2 f ( x * tp ) p 0 t [0, T ].
este continu avem
Folosind relaia (2) din Teorema lui Taylor, avem s (0, T ]:
1 2 T 2
f ( x * sp ) f ( x*) sf ( x*) p s p f ( x tp ) p f ( x*) .
2
T

Teorema 3 (condiii suficiente de ordinul al doilea)


Fie f C 2 ( n ) i x* n un punct pentru care f ( x*) 0
i matricea hessian 2 f ( x*) este pozitiv definit. Atunci x *
este punct de minim strict local pentru f.
Demonstraie: Deoarece 2 f este continu matricea hessian
este pozitiv definit ntr-o vecintate V S ( x*, r ) a punctului
x *. Fie p 0 cu p r atunci x * p V i:
1 T 2
T
f ( x * p ) f ( x*) f ( x*) p p f ( x * tp ) p
2
1 T 2
f ( x*) p f ( x * tp ) p , t (0,1)
2
de unde deducem c:
8

f ( x*) f ( x * p ) p , || p || r , p 0
O funcie f se numete convex dac:
f a x1 (1 a ) x2 af ( x1 ) (1 a ) f ( x2 ) , x1 , x2 n , a [0,1].

Teorema
Dac f este funcie convex orice punct de minim local este
punct de minim global. Dac n plus f C 1 ( n ) atunci orice
punct staionar este punct de minim global.

Metode de descretere
Se numete direcie de descretere a funciei f n punctul x
un vector d n pentru care
f ( x d ) f ( x ) , [0, ) .

Teorema
Fie f C 1 ( n ) . Un vector d este direcie de descretere
pentru f n x dac i numai dac:
f ( x )T d d , f ( x ) n 0 .

10

Algoritm de descretere
1. alege x n
2. do
- gsete o direcie de descretere d a lui f n x
- gsete 0 astfel ca
f ( x d ) min{ f ( x d ); (0, )}
(ajustarea pasului line search)
- x x d
while (nu am gsit soluia)

11

Ajustarea pasului (line search)


Trebuie rezolvat o problem de minimizare unidimensional
min{ g(a ) ; a [b, c ]}

Metoda Newton
Fie ak aproximarea curent a soluiei problemei de minimizare
de mai sus. Vom folosi dezvoltarea n serie Taylor a funciei g
1
1
2
g (a ) g (ak ) g (ak )(a ak ) g(ak )(a ak ) g(bk )(a ak )3
2
3!
q(a ) g (ak ) g(ak )(a ak )

12

1
g (ak )(a ak )2
2

Pentru a ak putem considera c funcia q aproximeaz


funcia g , q(a ) g (a ) i
min{ g (a ) ; a [c , b]} min{q(a ) ; a [c , b]}.

Construim elementul ak+1 ca fiind soluia problemei:


q(ak 1 ) min{q(a ) ; a [c , b]}

ak+1 este soluia ecuaiei


q(a ) 0 q(a ) g(ak ) g "(ak )(a ak ) ak 1

13

g ( a k )
ak
g "(ak )

Metoda secantei
Dac n relaiile de mai sus se face urmtoarea aproximare:
g '(ak ) g '(ak 1 )
g "(ak )
a k a k 1

obinem urmtoarea metod de aproximare, numit i metoda


secantei:
a k 1

a k a k 1
a k g ( a k )
g '(ak ) g '(ak 1 )

14

Aproximare spline cubic


Vom folosi pentru a construi ak+1 pe ak-1 , ak , g(ak-1), g(ak),
g(ak-1), g(ak). Aproximm funcia g cu un polinom de grad 3
g (a ) q(a ) c0 a 3 c1a 2 c2 a c3

Funcia q (respectiv constantele ci) se calculeaz a..


q(ak 1 ) g (ak 1 ) , q(ak ) g (ak )
q '(ak 1 ) g '(ak 1 ) , q '(ak ) g '(ak )

ak+1 este punctul de minim al funciei q


15

a k 1

g '(ak ) u2 u1
ak (ak ak 1 )

g
'(
a
)
g
'(
a
)
2
u
k
k 1
2

g ( a k ) g ( a k 1 )
u1 g '(ak 1 ) g '(ak ) 3
a k a k 1
u2 u12 g '(ak 1 ) g '(ak )

16

Ajustarea inexact a pasului


f ( x d ) min{ f ( x d ); (0, )}

- nu se obine optimal
- pentru reducerea timpului de calcul optimizarea se oprete
nainte de a ajunge la soluie, n funcie de anumite
criterii/teste de oprire

Regula lui Armijo


g (a ) f ( xk a d k ) , g (a ) g (0) a g'(0) , (0,1)
a este acceptabil dup regula lui Armijo dac

17

(1)
(2)

g(a ) g (a )
g ( a ) g ( a )

k 0;
se alege a0
while ( g (ak ) g (ak ) )
a k 1

ak

k k 1

2 sau 10

0.2

18

Testul Goldstein
Dat (0, 2), este considerat acceptabil dac:

g ( ) g ( ) si g ( ) g (0) (1 ) g '(0)
xk 1 xk d k

este acceptat dac


f ( xk 1 ) f ( xk )

1
f ( xk )d k

19

Testul Wolfe

(0, 2)
:

g ( ) g ( ) g (0) g '(0)
g '( ) (1 ) g '(0)

20

21

Metoda pantei maxime


min{ f ( x ) ; x n } , f : n
x0 dat , xk 1 xk k d k , k 0,1,...
d k direcie de descretere a lui f n xk

k 0 f ( xk k d k ) min{ f ( xk d k ) ; [0, ]}
d k direcie de descretere dac :
f ( xk ) T d k 0.
22

Metoda pantei maxime:


d k f ( xk )

Cazul ptratic:
1 T
1
T
f ( x ) x Ax x b Ax , x n b, x n
2
2
b n , A nn simetric i pozitiv definit
A pozitiv definit det A 0, f este strict convex
f ( x ) Ax b ,
23

2 f ( x) A

f ( x*) min{ f ( x ); x n } x * punct unic de minim


x * soluia sistemului liniar Ax b , x* A1b

g( x ) Ax b
xk 1 xk k gk , gk Axk b

k arg min{ f ( xk gk ) ; [0, ]}

24

1
f ( xk gk ) ( xk gk )T A( xk gk ) ( xk gk )T b
2
1 T

gk Agk 2 gkT Axk gkT b f ( xk )


2
1 T

gk Agk 2 gkT gk f ( xk )
2

f ( xk gk ) ecuaie de gr. 2 n , coef. lui 2 , gkT Agk 0

min

gkT gk
k T
gk Agk

25

Metoda pantei maxime pentru funcionale ptratice:

x0 dat
gkT gk
xk 1 xk T
gk , k 0,1,...
gk Agk
gk Axk b
1
1 T
T
E ( x ) ( x x*) A( x x*) f ( x ) x * Ax *
2
2
E ( x ) f ( x ) g ( x )
26

irul construit cu metoda pantei maxime satisface:

2
T

gk gk
E ( xk 1 ) 1 T

gk Agk gkT A1 gk

E ( xk )

Inegalitatea lui Kantorovich


A nn , A AT , A 0 pozitiv definit

x x
4cC

x Ax x A x (c C )
2

c, C - cea mai mica i cea mai mare valoare proprie a lui A.


27

Teorem
Cazul ptratic: Pentru orice iteraie iniial x0 , irul construit
cu metoda pantei maxime converge la x * unicul punct de
minim al funciei f. Avem:
2
C c
E ( xk 1 )
E ( xk )

Cc
Cazul general: f : n , f C 2 ( n ), f are un punct de
minim local x *. Presupunem c F ( x*) 2 f ( x*) are c > 0
cea mai mic valoare proprie i C > 0 cea mai mare valoare
proprie. Dac irul xk construit cu metoda pantei maxime
converge la x * (la fiecare pas A 2 f ( xk ) , b f ( xk ) ),
28

xk x * atunci f ( xk ) f ( x*) converge liniar cu o rat de


2

C c
.
convergen

Cc
Metoda Newton
xk - punctul curent de aproximare
1
f ( x ) f ( xk ) f ( xk ) ( x xk ) ( x xk )T 2 f ( xk )( x xk ) g ( y )
2
T

g funcional ptratic, y x xk ,

29

1 T
g ( y ) y Ay yT b c
2
A 2 f ( xk ) , b f ( xk ) , c f ( xk )
y* arg min{ g ( y ); y n } este unica soluie a sistemului
1

liniar Ay b , y* A b f ( xk ) f ( xk )
1

Metoda Newton
1

xk 1 xk f ( xk ) f ( xk ) , k 0,1,... , x0 - dat
2

30

Teorem
Fie f C 3 ( n ) care are un punct de minim local x * astfel ca
matricea 2 f ( x*) 0 este pozitiv definit. Dac punctul de
nceput x0 este suficient de aproape de x *, || x x* || r ,
atunci irul xk generat cu metoda lui Newton converge la
x * i ordinul de convergen este cel puin 2.
Variante ale metodei lui Newton
1

xk 1 xk k f ( xk ) f ( xk ) , k 0,1,...
2

k se alege astfel ca :
31

f ( xk 1 ) min{ f ( xk f ( xk ) f ( xk )); [0, ]}


2

xk 1 xk M k gk , 0 , M k nn , gk f ( xk )

M k I n k panta maxim
M k f ( xk )
2

metoda Newton

Cum alegem M k ? d k M k gk direcie de descretere


f ( xk 1 ) f ( xk ) f ( xk )T ( xk 1 xk ) O(|| xk 1 xk ||2 )
f ( xk 1 ) f ( xk ) gkT M k gk O( 2 )
32

f ( xk 1 ) f ( xk ) , 0 gkT M k gk 0
Lum M k 0 pozitiv definit
M k k I n f ( xk )
2

, k 0

ntotdeauna exist k 0 astfel ca matricea M k 0 s fie


pozitiv definit.
- Fie Fk 2 f ( xk ) i 0 constant fixat .
- Se calculeaz valorile proprii ale matricii Fk : 1 , 2 ,..., n

33

- Se alege k 0 cea mai mic constant nenegativ pentru


care matricea k I n Fk are valorile proprii :

k 0 & k i , i 1,..., n
k 0 & k max{ i ; i 1,..., n}
Noua direcie de descretere este:
d k k I n Fk gk .
1

xk 1 xk k d k , k - se det. cu ajustarea pasului

34

Metoda gradienilor conjugai (a direciilor conjugate)

A nn , A AT , A 0 pozitiv definit
1 T
min{ f ( x ) x Ax x T b ; x n }
2
Definiie
Pentru o matrice A nn , A AT simetric, doi vectori
d1 , d 2 n se numesc A-ortogonali sau conjugai n raport
cu A dac:
d1T Ad 2 Ad 2 , d1 n d 2 , Ad1 n Ad1 , d 2 n 0

35

A 0nn d1 , d 2 sunt A ortogonali


A I n ortogonalitate clasic d1 , d 2 n 0
Vectorii d 0 , d1 , , d k se numesc A-ortogonali sau
A-conjugai dac:

d iT Ad j Ad j , d i

0 , i j , i , j 0,1,..., k

Propoziie
Fie A nn , A AT , A 0 , i d 0 , d1 , , d k direcii
A-conjugate,
d i 0 , i 0,..., k .
Atunci
vectorii
d 0 , d1 , , d k sunt liniar independeni.
36


d 0 , d 1 , , d n 1

n
baz
n

- direcii A conjugate

A nn , A AT , A 0

d 0 , d 1 , , d n 1

x* arg min{ f ( x ); x n } x * soluia sist. Ax b


x* 0 d 0 1 d 1 n 1 d n 1

T
T
*,
*

Ax
d
d
Ax
d

i
i i Ad i
i
b
n
37

b, d i n
d iT b
i T

d i Ad i Ad i , d i n
b, d i
x*
i 0 Ad i , d i
n 1

di
n

Considerm procesul iterativ


x0 n dat
xk 1 xk k d k , k 0,1, 2,..., n 1
gkT d k
, gk Axk b
k T
d k Ad k
are proprietatea c xn x * .
38

x k x0 0 d 0 1 d 1 k 1 d k 1
x* x 0 0 d 0 1 d 1 n 1 d n 1

d iT A( xk x0 )
i
d iT Ad i

d iT A( x * x0 )
i
d iT Ad i

d kT A( xk x0 ) 0
x * xk ( 0 0 )d 0 ( k 1 k 1 )d k 1 k d k n1d n1
Corolar

gkT d i 0 i k
39

Algoritmul gradienilor conjugai


x0 n , g0 Ax0 b
d 0 g0 b Ax0
gkT d k
k T
d k Ad k
xk 1 xk k d k
gk 1 Axk 1 b sau gk 1 gk k Ad k
gkT1 Ad k
k T
d k Ad k
d k 1 gk 1 k d k

40

y1 , y2 ,..., y p n
span{ y1 , y2 ,..., y p } { y a1 y1 a p y p n ; ai , i 1,..., p}
= subspaiul generat de vectorii y1 , y2 ,..., y p
Teorem
Presupunem c xk x * . Avem urmtoarele relaii:
(1)
gkT gi 0 i 0,1,..., k 1
(2)

span{ g0 , g1 ,..., gk } span{ g0 , Ag0 ,..., Ak g0 }

(3)

span{d 0 , d1 ,..., d k } span{ g0 , Ag0 ,..., Ak g0 }

41

(4)

d kT Ad i 0 i 0,1,..., k 1

irul xk x * n cel mult n pai.


K ( g0 , k ) span{ g0 , Ag0 ,..., Ak g0 } - se numete subspaiu
Krylov de grad k pentru g0 .

42

Forma practic a metodei gradienilor conjugai


x0 n dat , k 0
g0 Ax0 b, d 0 g0
while ( gk 0)

gkT gk
k T
d k Ad k

xk 1 xk k d k

gk 1 gk k Ad k

T
g
k 1 gk 1
k
gkT gk

d k 1 gk 1 k d k
k k 1;

43

Teorem
Dac matricea A are doar r valori proprii distincte,
algoritmul gradienilor conjugai calculeaz soluia x * n cel
mult r iteraii.
Teorem
Dac 1 2 n sunt valorile proprii ale matricii A
atunci:
2
n k 1
2
2

|| xk 1 x* || A
||
x
x
*
||

0
A
n k 1
|| xk 1 x* ||2A 2 E ( xk 1 )
2

n k 1
E ( xk 1 )
E ( x0 ).
n k 1
44

Metodele neliniare ale gradienilor conjugai


1
f ( x ) f ( xk ) f ( xk )( x xk ) ( x xk )T 2 f ( xk )( x xk )
2
gk f ( xk )
A 2 f ( xk )
Varianta pentru funcii oarecare a metodei gradienilor
conjugai:

45

x0 n dat , k 0
g0 f ( x0 ), d 0 g0
while ( gk 0)
A 2 f ( xk )

gkT d k
k d T Ad
k
k

xk 1 xk k d k

gk 1 f ( xk 1 )

T
g
k k 1 Ad k

d kT Ad k

d k 1 gk 1 k d k
k k 1;

46

Metoda Fletcher-Reeves

k se calculeaz folosind metoda ajustrii pasului


gkT1 gk 1
k T
gk gk
x0 n dat ,
g0 f ( x0 ), d 0 g0 , k 0

47

while ( gk 0)
k min{ f ( xk d k ); [0, )}

(exact sau inexact cu testul lui Wolfe)

xk 1 xk k d k
g f ( x )
k 1
k 1
T

g
g
kFR kT1 k
gk gk

FR
d
g

k 1
k dk
k 1
k k 1;

Se pune problema dac d k sunt direcii de descretere?


48

d k g k k 1d k 1
gkT d k gkT gk k 1 gkT d k 1
Dac se folosete ajustarea pasului exact:
k 1 este punct de minim local pentru f pe direcia d k 1 prin
urmare gkT d k 1 0 ( gk f ( xk )) .
gkT d k gkT gk || gk ||22 0 d k direcie de descretere
Dac se folosete ajustarea pasului inexact am putea avea
gkT d k 0 ( d k direcie de cretere!!) dar folosind testul lui
Wolfe deducem:

49

f ( xk k d k ) f ( xk ) k gkT d k
| f ( xk k d k )T d k | (1 ) | gkT d k |
1
0, gkT d k 0
2
Metoda Polak-Ribire
- variant a metodei Fletcher-Reeves
T
g
PR
k 1 ( gk 1 gk )
k
gkT gk
Dac se face ajustarea pasului inexact cu testul lui Wolfe nu
putem deduce c d k sunt direcii de descretere.
50

Se folosete k max{ kPR ,0} i un test Wolfe adaptat pentru


a obine d k direcii de descretere.

Varianta Hestenes-Stiefel

kHS

gkT1 ( gk 1 gk )

( gk 1 gk )T d k

51

Precondiionare
Se consider norma:

|| x || A

Ax , x

Evaluarea erorii n metoda pantei maxime:


k

|| x

(k )

k ( A) 1
(0)

||
x
x
|| A
x || A

k ( A) 1

n
k ( A) numruldecondiionarespectral
1
0<1 2 n valorilepropriialematricii A
52

Avem convergen rapid dac numrul de condiionare


spectral al matricii A este apropiat de 1 (k(A)1
ntotdeauna).
Ideea precondiionrii este de a transforma sistemul Ax=b
astfel nct s mbuntim proprietile spectrale.
b,cuk ( A )k ( A)
Ax b Ax

Precondiionare
Ax b M 1 Ax M 1b(lastnga)
AM 1 yb x M 1 y(ladreapta)
M 11 AM 21 yM 11b x M 21 y(split) M M 1 M 2

53

cu M matrice nesingular , M A. Matricea M sau M-1


poart numele de matrice de precondiionare.
Cum trebuie s alegem matricea M?
b ) s fie uor de rezolvat
- sistemul precondiionat ( Ax
(convergen rapid)

- matricea de precondiionare s fie economic de construit


i aplicat ietariile s nu fie costisitor de construit

54

Matricea de precondiionare Jacobi


M diag[a11 ,a22 , , ann ]
Matrici de precondiionare SSOR

M ( D L) D 1 ( D L)T ( A L D LT )
1
T
1 1
1 1

M ( )
D L D D L (0, 2)

Pentru - optimal, n anumite cazuri:


k ( M ( opt )1 A)O( k ( A))

(opt - foarte costisitor de calculat)

55

S-ar putea să vă placă și