cn - curs 13 - 2015

56
Calcul Numeric Cursul 13 2015 Anca Ignat

Upload: alexbulgaru

Post on 07-Nov-2015

237 views

Category:

Documents


2 download

DESCRIPTION

cn

TRANSCRIPT

  • Calcul Numeric

    Cursul 13

    2015

    Anca Ignat

  • 1

    Optimizare numeric

    min { ( ) ; } , :n nf x x f Un punct * nx se numete punct de minim global pentru funcia f dac ( *) ( ) nf x f x x . Un punct * nx 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 * nx 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 . ( *, ) ; *nV S x r x x x r .

  • 2

    Dac funcia 1( )nf C se numete gradient al funciei f n punctul x vectorul:

    1 2

    ( ) , , ,T

    n

    f f ff xx x x

    .

    Dac funcia 2( )nf C se numete matrice hessian a funciei f n punctul x matricea:

    22

    , 1,...,

    ( ) ( )i j i j n

    ff x xx x

  • 3

    2 2 2

    21 1 2 1

    2 2 2

    2 22 1 2 2

    2 2 2

    21 2

    ( ) ( ) ( )

    ( ) ( ) ( )( )

    ( ) ( ) ( )

    n

    n

    n n n

    f f fx x xx x x x x

    f f fx x xf x x x x x x

    f f fx x xx x x x x

  • 4

    Teorema lui Taylor Dac funcia 1( )nf C este continuu difereniabil atunci exist (0,1)t astfel ca:

    ( ) ( ) ( )Tf x p f x f x tp p . (1)

    Dac 2( )nf C este de dou ori continuu difereniabil atunci exist (0,1)t astfel ca:

    21( ) ( ) ( ) ( )2

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

  • 5

    Teorema 1 (condiii necesare de optim de ordinul nti) Fie 1( )nf C i * nx un punct de minim local pentru f. Atunci ( *) 0f x . Demonstraie: Presupunem prin reducere la absurd c

    ( *) 0f x . Fie ( *)p f x . Avem: ( *) ( *) 0.Tp f x f x

    Deoarece f este continu n vecintatea lui *x , exist T > 0 astfel ca: ( ) 0 , 0,Tp f x tp t T . Pentru orice (0, ]s T , din Teorema lui Taylor avem:

    ( * ) ( *) ( * ) , pentru un (0, )Tf x sp f x sp f x tp t s .

  • 6

    Prin urmare ( * ) ( *) (0, ]f x sp f x s T , ceea ce implic faptul c *x nu este punct de minim local. Un punct *x pentru care ( *) 0f x 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 2( )nf C i * nx un punct de minim local pentru f. Atunci ( *) 0f x i matricea hessian 2 ( *)f x este pozitiv semidefinit.

  • 7

    O matrice n nA este pozitiv semidefinit dac , 0n nAx x x i este pozitiv definit dac , 0 , 0n nAx x x x . Demonstraie: Din Teorema 1 rezult c ( *) 0f x . Presupunem prin reducere la absurd c matricea hessian n

    *x nu este pozitiv semidefinit, adic exist un vector p pentru care 2 ( *) 0Tp f x p i deorece matricea hessian este continu avem 2 ( * ) 0 [0, ]Tp f x tp p t T . Folosind relaia (2) din Teorema lui Taylor, avem (0, ]s T :

    2 21( * ) ( *) ( *) ( ) ( *)2

    T Tf x sp f x s f x p s p f x tp p f x .

  • 8

    Teorema 3 (condiii suficiente de ordinul al doilea) Fie 2( )nf C i * nx un punct pentru care ( *) 0f x 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 0 cu p p r atunci *x p V i: 2

    2

    1( * ) ( *) ( *) ( * )2

    1( *) ( * ) , (0,1)2

    T T

    T

    f x p f x f x p p f x tp p

    f x p f x tp p t

    de unde deducem c:

  • 9

    ( *) ( * ) , || || , 0f x f x p p p r p O funcie f se numete convex dac:

    1 2 1 2 1 2(1 ) ( ) (1 ) ( ) , , , [0,1].nf a x a x af x a f x x x a

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

  • 10

    Metode de descretere Se numete direcie de descretere a funciei f n punctul x un vector nd pentru care

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

  • 11

    Algoritm de descretere

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

  • 12

    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

    2 31 1( ) ( ) ( )( ) ( )( ) ( )( )2 3!k k k k k k k

    g a g a g a a a g a a a g b a a

    21( ) ( ) ( )( ) ( )( )2k k k k k

    q a g a g a a a g a a a

  • 13

    Pentru ka a putem considera c funcia q aproximeaz funcia g , ( ) ( )q a g a i

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

    Construim elementul ak+1 ca fiind soluia problemei:

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

    ak+1 este soluia ecuaiei

    1( )

    ( ) 0 ( ) ( ) "( )( )"( )

    kk k k k k

    k

    g aq a q a g a g a a a a ag a

  • 14

    Metoda secantei Dac n relaiile de mai sus se face urmtoarea aproximare:

    1

    1

    '( ) '( )"( ) k kk

    k k

    g a g ag aa a

    obinem urmtoarea metod de aproximare, numit i metoda secantei:

    11

    1

    ( )'( ) '( )

    k kk k k

    k k

    a aa a g ag a g a

  • 15

    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

    3 20 1 2 3( ) ( )g a q a c a c a c a c

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

    1 1

    1 1

    ( ) ( ) , ( ) ( )'( ) '( ) , '( ) '( )

    k k k k

    k k k k

    q a g a q a g aq a g a q a g a

    ak+1 este punctul de minim al funciei q

  • 16

    2 11 1

    1 2

    11 1

    1

    22 1 1

    '( )( )

    '( ) '( ) 2

    ( ) ( )'( ) '( ) 3

    '( ) '( )

    kk k k k

    k k

    k kk k

    k k

    k k

    g a u ua a a ag a g a u

    g a g au g a g aa a

    u u g a g a

  • 17

    Ajustarea inexact a pasului

    ( ) min{ ( ); (0, )}f x d f x d - 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 ( ) ( ) , ( ) (0) '(0) , (0,1)k kg a f x a d g a g a g a este acceptabil dup regula lui Armijo dac

  • 18

    (1) ( ) ( )(2) ( ) ( )

    g a g ag a g a

    0

    1

    0;se alege

    ( ( ) ( ) )1

    1

    k k

    k k

    ka

    while g a g a

    a a

    k k

    2 sau 10 , 0.2

  • 19

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

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

    1k k kx x d este acceptat dac

    1( ) ( ) 1( )

    k k

    k k

    f x f xf x d

  • 20

    Testul Wolfe

    (0,2)

    : ( ) ( ) (0) '(0)'( ) (1 ) '(0)

    g g g gg g

  • 21

  • 22

    Metoda pantei maxime

    dat

    direcie de descretere a lui n

    direcie de descretere dac :

    0 1

    min{ ( ) ; } , :

    , , 0,1, ...

    0 ( ) min{ ( ) ; [0, ]}

    ( ) 0.

    n n

    k k k k

    k k

    k k k k k k

    kT

    k k

    f x x f

    x x x d k

    d f x

    f x d f x d

    d

    f x d

  • 23

    Metoda pantei maxime:

    ( )k kd f x

    Cazul ptratic:

    1 1( ) , ,2 2 n n

    T Tf x x Ax x b Ax x b x

    ,n n nb A simetric i pozitiv definit

    A pozitiv definit det A 0, f este strict convex

    2( ) , ( )f x Ax b f x A

  • 24

    punct unic de minim

    soluia sistemului liniar 1

    ( *) min{ ( ); } *

    * , *

    nf x f x x x

    x Ax b x A b

    ( )g x Ax b

    1 ,

    argmin{ ( ) ; [0, ]}

    k k k k k k

    k k k

    x x g g Ax b

    f x g

  • 25

    2

    2

    1( ) ( ) ( ) ( )21 ( )21 ( )2

    T Tk k k k k k k k

    T T Tk k k k k k

    T Tk k k k k

    f x g x g A x g x g b

    g Ag g Ax g b f x

    g Ag g g f x

    ecuaie de gr. 2 n , coef. lui 2( ) , 0Tk k k kf x g g Ag

    min

    Tk k

    k Tk k

    g gg Ag

  • 26

    Metoda pantei maxime pentru funcionale ptratice:

    dat0

    1 , 0,1, ...Tk k

    k k kTk k

    k k

    x

    g gx x g kg Ag

    g Ax b

    1 1( ) ( *) ( *) ( ) * *2 2

    ( ) ( ) ( )

    T TE x x x A x x f x x Ax

    E x f x g x

  • 27

    irul construit cu metoda pantei maxime satisface:

    2

    1 1( ) 1 ( )

    Tk k

    k kT Tk k k k

    g gE x E x

    g Ag g A g

    Inegalitatea lui Kantorovich

    pozitiv definit

    2

    21

    , , 0

    4( )

    n n T

    T

    T T

    A A A A

    x x cCc Cx Ax x A x

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

  • 28

    Teorem Cazul ptratic: Pentru orice iteraie iniial 0x , irul construit cu metoda pantei maxime converge la *x unicul punct de minim al funciei f. Avem:

    2

    1( ) ( )k kC cE x E xC c

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

  • 29

    *kx x atunci ( ) ( *)kf x f x converge liniar cu o rat de convergen

    2C cC c .

    Metoda Newton

    kx - punctul curent de aproximare

    21( ) ( ) ( ) ( ) ( ) ( )( ) ( )2

    T Tk k k k k kf x f x f x x x x x f x x x g y

    g funcional ptratic, ky x x ,

  • 30

    2

    1( )2

    ( ) , ( ) , ( )

    T T

    k k k

    g y y Ay y b c

    A f x b f x c f x

    * argmin{ ( ); }ny g y y este unica soluie a sistemului

    liniar 11 2, * ( ) ( )k kAy b y A b f x f x

    Metoda Newton

    - dat12

    1 0( ) ( ) , 0,1, ... ,k k k kx x f x f x k x

  • 31

    Teorem Fie 3( )nf C care are un punct de minim local *x astfel ca matricea 2 ( *) 0f x este pozitiv definit. Dac punctul de nceput 0x este suficient de aproape de *x , || * ||x x r , atunci irul kx generat cu metoda lui Newton converge la

    *x i ordinul de convergen este cel puin 2. Variante ale metodei lui Newton

    121 ( ) ( ) , 0,1, ...k k k k kx x f x f x k

    k se alege astfel ca :

  • 32

    121( ) min{ ( ( ) ( )); [0, ]}k k k kf x f x f x f x

    1 , 0 , , ( )

    n nk k k k k k kx x M g M g f x

    panta maxim

    metoda Newton12 ( )

    k n

    k k

    M I k

    M f x

    Cum alegem ? direcie de descreterek k k kM d M g

    2

    1 1 1( ) ( ) ( ) ( ) (|| || )T

    k k k k k k kf x f x f x x x O x x

    21( ) ( ) ( )

    Tk k k k kf x f x g M g O

  • 33

    1( ) ( ) , 0 0T

    k k k k kf x f x g M g Lum 0kM pozitiv definit

    12 ( ) , 0k k n k kM I f x

    ntotdeauna exist 0k astfel ca matricea 0kM s fie pozitiv definit. - Fie i constant fixat2 ( ) 0k kF f x . - Se calculeaz valorile proprii ale matricii 1 2: , , ...,k nF

  • 34

    - Se alege 0k cea mai mic constant nenegativ pentru care matricea k n kI F are valorile proprii :

    0 & , 1, ...,

    0 & max{ ; 1, ..., }

    k k i

    k k i

    i n

    i n

    Noua direcie de descretere este:

    1k k n k kd I F g .

    - se det. cu ajustarea pasului1 ,k k k k kx x d

  • 35

    Metoda gradienilor conjugai (a direciilor conjugate)

    , , 0n n TA A A A pozitiv definit

    1min{ ( ) ; }2

    T T nf x x Ax x b x

    Definiie Pentru o matrice ,n n TA A A simetric, doi vectori

    1 2,nd d se numesc A-ortogonali sau conjugai n raport

    cu A dac: 1 2 2 1 2 1 1 2, , , 0n n nTd Ad Ad d d Ad Ad d

  • 36

    sunt ortogonali

    ortogonalitate clasic

    1 2

    1 2

    0 ,

    , 0n

    n n

    n

    A d d A

    A I d d

    Vectorii 0 1, , , kd d d se numesc A-ortogonali sau A-conjugai dac: , 0 , , , 0,1, ...,nTi j j id Ad Ad d i j i j k

    Propoziie Fie , , 0n n TA A A A , i 0 1, , , kd d d direcii A-conjugate, 0 , 0, ...,id i k . Atunci vectorii 0 1, , , kd d d sunt liniar independeni.

  • 37

    baz n - direcii conjugate

    0 1 1

    0 1 1

    , , 0, , ,

    , , ,

    n n T

    nn

    n

    A A A Ad d d

    d d d A

    soluia sist. * argmin{ ( ); } *nx f x x x Ax b

    0 0 1 1 1 1*

    *, *n

    n n

    T Ti i i i i

    b

    x d d d

    Ax d d Ax d Ad

  • 38

    1

    0

    ,,

    ,*

    ,

    n

    n

    n

    n

    Tii

    i Ti i i i

    ni

    ii i i

    b dd bd Ad Ad d

    b dx d

    Ad d

    Considerm procesul iterativ

    dat01 , 0,1,2, ..., 1

    ,

    n

    k k k kTk k

    k k kTk k

    xx x d k n

    g d g Ax bd Ad

    are proprietatea c *nx x .

  • 39

    0 0 0 1 1 1 1

    0 0 0 1 1 1 1*

    k k k

    n n

    x x d d d

    x x d d d

    , 0 0( ) ( * )T Ti k i

    i iT Ti i i i

    d A x x d A x xd Ad d Ad

    0( ) 0Tk kd A x x

    0 0 0 1 1 1 1 1* ( ) ( )k k k k k k n nx x d d d d

    Corolar

    0Tk ig d i k

  • 40

    Algoritmul gradienilor conjugai

    sau

    0 0 0

    0 0 0

    1

    1 1 1

    1

    1 1

    ,n

    Tk k

    k Tk k

    k k k k

    k k k k k kTk k

    k Tk k

    k k k k

    x g Ax bd g b Ax

    g dd Ad

    x x dg Ax b g g Ad

    g Add Ad

    d g d

  • 41

    span

    = subspaiul generat de vectorii

    1 2

    1 2 1 1

    1 2

    , , ... ,

    { , , ... , } { ; , 1, ..., }

    , , ... ,

    np

    np p p i

    p

    y y y

    y y y y a y a y a i p

    y y y

    Teorem Presupunem c * .kx x Avem urmtoarele relaii: (1) 0 0,1, ..., 1Tk ig g i k (2) span span0 1 0 0 0{ , , ..., } { , , ..., }

    kkg g g g Ag A g

    (3) span span0 1 0 0 0{ , , ..., } { , , ..., }

    kkd d d g Ag A g

  • 42

    (4) 0 0,1, ..., 1Tk id Ad i k irul *kx x n cel mult n pai. span0 0 0 0( , ) { , , ..., }

    kg k g Ag A gK - se numete subspaiu Krylov de grad k pentru 0g .

  • 43

    Forma practic a metodei gradienilor conjugai dat

    0

    0 0 0 0

    1

    1

    1 1

    1 1

    , 0,

    ( 0)

    1;

    n

    k

    Tk k

    k Tk k

    k k k k

    k k k kTk k

    k Tk k

    k k k k

    x kg Ax b d gwhile g

    g gd Ad

    x x dg g Ad

    g gg g

    d g dk k

  • 44

    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:

    22 21

    1 01

    21 1

    2

    11 0

    1

    || * || || * ||

    || * || 2 ( )

    ( ) ( ).

    n kk A A

    n k

    k A k

    n kk

    n k

    x x x x

    x x E x

    E x E x

  • 45

    Metodele neliniare ale gradienilor conjugai 21( ) ( ) ( )( ) ( ) ( )( )

    2T

    k k k k k kf x f x f x x x x x f x x x

    2

    ( )

    ( )

    k k

    k

    g f x

    A f x

    Varianta pentru funcii oarecare a metodei gradienilor conjugai:

  • 46

    dat00 0 0 0

    2

    1

    1 1

    1

    1 1

    , 0( ),

    ( 0)

    ( )

    ( )

    1;

    n

    k

    k

    Tk k

    k Tk k

    k k k k

    k kTk k

    k Tk k

    k k k k

    x kg f x d gwhile g

    A f x

    g dd Ad

    x x dg f x

    g Add Ad

    d g dk k

  • 47

    Metoda Fletcher-Reeves

    k se calculeaz folosind metoda ajustrii pasului

    1 1Tk k

    k Tk k

    g gg g

    dat00 0 0 0

    ,( ), , 0

    nxg f x d g k

  • 48

    exact sau inexact cu testul lui Wolfe

    1

    1 1

    1

    1 1

    ( 0)min{ ( ); [0, )}

    ( )

    ( )

    1;

    k

    k k k

    k k k k

    k kT

    FR k kk T

    k kFR

    k k k k

    while gf x d

    x x dg f x

    g gg g

    d g dk k

    Se pune problema dac kd sunt direcii de descretere?

  • 49

    1 1

    1 1

    k k k k

    T T Tk k k k k k k

    d g d

    g d g g g d

    Dac se folosete ajustarea pasului exact:

    1k este punct de minim local pentru f pe direcia 1kd prin urmare 1 0 ( ( ))

    Tk k k kg d g f x .

    22|| || 0

    T Tk k k k k kg d g g g d direcie de descretere

    Dac se folosete ajustarea pasului inexact am putea avea

    0Tk kg d ( kd direcie de cretere!!) dar folosind testul lui Wolfe deducem:

  • 50

    ( ) ( )

    | ( ) | (1 ) | |10, 02

    Tk k k k k k k

    T Tk k k k k k

    Tk k

    f x d f x g d

    f x d d g d

    g d

    Metoda Polak-Ribire

    - variant a metodei Fletcher-Reeves

    1 1( )T

    PR k k kk T

    k k

    g g gg g

    Dac se face ajustarea pasului inexact cu testul lui Wolfe nu putem deduce c kd sunt direcii de descretere.

  • 51

    Se folosete max{ ,0}PRk k i un test Wolfe adaptat pentru a obine kd direcii de descretere. Varianta Hestenes-Stiefel

    1 1

    1

    ( )( )

    THS k k kk T

    k k k

    g g gg g d

  • 52

    Precondiionare Se consider norma:

    || || , nAx Ax x

    Evaluarea erorii n metoda pantei maxime:

    ( ) (0)

    1

    1 2

    ( ) 1|| || || ||( ) 1

    ( ) numrul de condiionare spectral

    0 < valorile proprii ale matricii

    kk

    A A

    n

    n

    k Ax x x xk A

    k A

    A

  • 53

    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.

    , cu ( ) ( )Ax b Ax b k A k A Precondiionare

    1 1

    1 1

    1 1 1 11 2 1 2 1 2

    ( la stnga)( la dreapta)

    (split)

    Ax b M Ax M bAM y b x M yM AM y M b x M y M M M

  • 54

    cu M matrice nesingular , M A. Matricea M sau M-1 poart numele de matrice de precondiionare. Cum trebuie s alegem matricea M?

    - sistemul precondiionat ( Ax b ) s fie uor de rezolvat (convergen rapid)

    - matricea de precondiionare s fie economic de construit i aplicat ietariile s nu fie costisitor de construit

  • 55

    Matricea de precondiionare Jacobi

    11 22diag[ , , , ]nnM a a a Matrici de precondiionare SSOR

    1( ) ( ) ( )T TM D L D D L A L D L 11 1 1 1( ) (0,2)

    2

    T

    M D L D D L

    Pentru - optimal, n anumite cazuri: 1( ( ) ) ( ( ))optk M A O k A

    ( opt - foarte costisitor de calculat)