65
ISCTE/FCUL - Mestrado Matem´ atica Financeira Aula 4 15 de Janeiro de 2009 Ano lectivo: 2008/2009 Diana Aldea Mendes Departamento de M´ etodos Quantitativos, IBS - ISCTE Business School Gab. 207 AA, [email protected], http://iscte.pt/˜deam Mestrado Matemática Financeira, Optimização, Aula 4 1

Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

ISCTE/FCUL - Mestrado Matematica Financeira

Aula 4

15 de Janeiro de 2009 Ano lectivo: 2008/2009

Diana Aldea Mendes

Departamento de Metodos Quantitativos, IBS - ISCTE Business School

Gab. 207 AA, [email protected], http://iscte.pt/˜deam

Mestrado Matemática Financeira, Optimização, Aula 4

1

Page 2: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Optimizacao multi-dimensional

- Metodos gradiente (gradiente descendente, gradiente conjugado)

- Metodos de Newton e quase-Newton

- Metodo de Powell (non-gradiente search)

- Metodo dos mınimos quadrados (nao-linear) (Levenberg-Marquardt)

Mestrado Matemática Financeira, Optimização, Aula 4

2

Page 3: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Nota-se que:

- Os computadores nao podem encontrar todas as solucoes

- Os computadores nao podem provar a ausencia de solucoes

- Os computadores nao podem provar a existencia de solucoes

- Os computadores nao podem provar a unicidade de uma solucao

http://www2.imm.dtu.dk/˜hbn/Software/ (Software by Hans Bruun Nielsen)

Mestrado Matemática Financeira, Optimização, Aula 4

3

Page 4: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

minx∈D

f (x) ←→ ∇f (x) = 0, ∇2f (x) definida positiva

x ∈ Rn, f : D ⊂ Rn→ R (1)

f (x) funcao objectivo (2)

∇f (x) =

"∂f

∂xi

#i=1,...,n

vector gradiente (3)

(derivadas parciais de primeira ordem) (4)

∇2f (x) = H (x) =

"∂2f

∂xi∂xj

#i,j=1,...,n

matriz Hessiana (5)

(derivadas parciais de segunda ordem) (6)

Mestrado Matemática Financeira, Optimização, Aula 4

4

Page 5: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

• A formulacao do problema de mınimo e muito simples, mas, apesar disto,nao existe um algoritmo perfeito. A arte de minimizar funcoes nao-lineares

consta em saber qual e o metodo a utilizar e como determinar se o metodo

escolhido converge para a solucao correcta. Em geral

- Utilizamos metodos iterativos que calculam uma sequencia de pontos x0, x1, ..... ∈Rn tal que f

¡xk+1

¢< f (xk) . O algoritmo termina quando ∇f (xk) < ε

para ε pre-definido

- Se f e fortemente convexa, isto e, ∃m > 0 tal que ∇2f (x) >> mI, ∀x ∈ Rn,entao existe um criterio de paragem definido por

k∇f (x)k ≤ 2mε ⇒ f (x)− f (x∗) ≤ ε

Mestrado Matemática Financeira, Optimização, Aula 4

5

Page 6: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

• Classificacao dos metodos de optimizacao nao-condicionada multidimen-sional

- Metodos analıticos: resolver ∇f (x) = 0 analiticamente

- Metodos directos: precisam so a computacao de f (x) em cada passo (Powellou DogLeg, Nelder-Mead)

- Metodos gradiente: requerem a computacao de ∇f (x) e f (x) em cada passo(gradiente descendente, gradiente conjugado)

- Metodos de segunda ordem: requerem a computacao de ∇2f (x) , ∇f (x) ef (x) em cada passo (Newton e quase-Newton)

- Outros metodos: arrefecimento simulado, algoritmos geneticos, etc...

Mestrado Matemática Financeira, Optimização, Aula 4

6

Page 7: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodo de Powell

- Requere apenas o calculo de f (x) . Necessita de um grande numero de avaliacoes

da funcao objectivo, o que aumenta o custo computacional

- Ideia basica: considerar um numero elevado de vectores x e calcular o f (x)

associado. O vector correspondente ao menor valor f (x) sera considerado como

o valor optimo x.

- Melhor: seja x0 o ponto que aproxima inicialmente o minimizante de f (x) .

O proximo valor do minimizante, o ponto x1, obtem-se procurando sucessiva-

mente um minimizante de f ao longo de cada um dos vectores da base canonica

{e1, ..., en} de Rn. Este processo gera a sequencia de pontos

x0 = P0, P1, ..., PN = x1.

Mestrado Matemática Financeira, Optimização, Aula 4

7

Page 8: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Ao longo de cada um dos vectores da base canonica, a funcao f torna ser so deuma variavel. Assim, minimizar f signifique aplicar os metodos de optimizacaounidimensional sobre intervalos onde a funcao e unimodal. O ponto x1 e deter-minado como sendo o ponto em qual o mınimo de f ocorre ao longo do vectorPN − P0. Como o vector PN − P0 e considerado ser uma direccao de inves-tigacao viavel, vai substituir um dos vectores direccao para a proxima iterada. Aiteracao e repetida para gerar uma sequencia de pontos {xk}k≥0 .

Algoritmo

1. P0 = xi

2. Para k = 1, ..., n encontre o valor de γk que minimiza f (P0 + γkUk) eescolha

Pk = Pk−1 + γkUk

Mestrado Matemática Financeira, Optimização, Aula 4

8

Page 9: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

3. i = i+ 1

4. Uj = Uj+1 para j = 1, ..., n− 1. Seja

Un = Pn − P0

5. Encontre o valor γ que minimiza f (P0 + γUn) . Escolha

xi = P0 + γUn

6. Repetir os passos (1)-(5).

onde

U = [UT1 ...U

Tn ] = [e

T1 ...e

Tn ].

Mestrado Matemática Financeira, Optimização, Aula 4

9

Page 10: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Exemplo: Seja f (x, y) = cosx+sin y e seja x0 = (5.5, 2) . Determine os pontos

x1 e x2.

0

5

10

15

0

5

10

15-2

-1

0

1

2

2 4 6 8 10 12 14

2

4

6

8

10

12

14

Mestrado Matemática Financeira, Optimização, Aula 4

10

Page 11: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Seja

U =

"1 00 1

#e P0 = x0 = (5.5, 2) . Para i = 1, a funcao f (P0 + γ1U1) = f ((5.5, 2) + γ1 (1, 0)) =

cos (5.5 + γ1)+sin 2 tem um mınimo em γ1 = −2.3584. Logo P1 = (3.1415, 2) .

Para i = 2, a funcao f (P1 + γ2U2) = f ((3.1415, 2) + γ2 (0, 1)) = cos (3.1415)+

sin (2 + γ2) tem um mınimo em γ2 = 2.7123. Logo P2 = (3.1415, 4.7123) .Seja

agora

UT2 = (P2 − P0)

T e U =

"0 −2.35841 2.7123

#.

Mestrado Matemática Financeira, Optimização, Aula 4

11

Page 12: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

A funcao

f (P0 + γU2) = f ((5.5, 2) + γ (−2.3584, 2.7123))= cos (5.5− 2.3584γ) + sin (2 + 2.7123γ)

tem um mınimo em γ = 0.9816. Logo x1 = (3.1848, 4.6626) .

Seja P0 = x1. Quando i = 1, a funcao

f (P0 + γ1U1) = f ((3.1848, 4.6626) + γ1 (0, 1))

= cos (3.1848) + sin (4.6626 + γ1)

tem um mınimo em γ1 = 0.0497. Logo P1 = (3.1484, 4.7123) .

Quando i = 2, a funcao

f (P1 + γ2U2) = f ((3.1848, 4.7123) + γ2 (−2.3584, 2.7123))= cos (3.1848− 2.3584γ2) + sin (4.7123 + 2.7123γ2)

Mestrado Matemática Financeira, Optimização, Aula 4

12

Page 13: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

tem um mınimo em γ2 = 0.0078. Logo P2 = (3.1662, 4.7337) .

Seja

UT2 = (P2 − P0)

T e U =

"−2.3584 −0.01852.7123 0.0710

#.

A funcao

f (P0 + γU2) = f ((3.1848, 4.6626) + γ (−0.0185, 0.0710))= cos (3.1848− 0.0185γ) + sin (4.6626 + 0.0710γ)

tem um mınimo em γ = 0.8035. Logo x2 = (3.1698, 4.7197) .

A funcao f (x, y) = cosx+ sin y tem um mınimo no ponto P = (π, 3π/2) .

Mestrado Matemática Financeira, Optimização, Aula 4

13

Page 14: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodos gradiente ou metodos descendentes

Minimizacao ao longo de uma direccao - Problema geral

Minimizar uma funcao real de n variaveis reais, f , onde: f e regular, o seu

gradiente g = ∇f e conhecido e e dada um direccao descendente u.

Uma direccao u diz-se descendente para a funcao f em x se uTf 0 (x) < 0.

- Consideram-se iteracoes de forma

xk+1 = xk + λkuk,

onde uk e a direccao descendente investigada e λk e o comprimento de passo

obtido por uma procura unidimensional (faz decrescer a funcao f). Em todos

Mestrado Matemática Financeira, Optimização, Aula 4

14

Page 15: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

os metodos consideremos que f¡xk+1

¢< f (xk) , (descending condition) o que

obriga a convergencia para um ponto de mınimo, caso existe. O algoritmo ter-

mina quando satisfaz o crıterio de paragem. Tem convergencia linear e portanto

e um algoritmo bastante lento.

Problema: Dada uma funcao f (x) , x = (x1, ..., xn) ∈ Rn, um ponto inicial

x0 ∈ Rn e uma direccao u = (u1, ..., un) ∈ Rn, como minimizar a funcao f aolongo da direccao u?

Resposta: Comecamos com um ponto inicial x0 e procuramos um novo ponto

x = x0 + λ∗u

tal que a funcao

F (λ) = f (x0 + λu)

Mestrado Matemática Financeira, Optimização, Aula 4

15

Page 16: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

e minimizada quando λ = λ∗. Nesta situacao F (λ) e uma funcao so de uma

variavel (λ).

• Como escolher a direccao descendente:

• Nos metodos do gradiente conjugado nao linear, a direccao de investigacaoe de forma

uk = −gk + βkuk−1

ou seja hk = −∇f (xk) = gk, onde o escalar βk e escolhido de tal maneira

que o metodo reduz-se ao metodo linear dos gradientes conjugados, quando

a funcao e quadratica e a linha de investigacao e exacta.

Mestrado Matemática Financeira, Optimização, Aula 4

16

Page 17: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

• Uma outra classe de metodos define a linha (direccao) de investigacao por

uk = −B−1k gk

onde Bk e uma matriz regular (|Bk| 6= 0) e simetrica (bij = bji). Casosespeciais sao dados quando

Bk = I the steepest descent method

Bk = ∇2f (xk) = H (f (xk)) o metodo de Newton.

• Os metodos quase-Newton ou metricos variaveis sao tambem deste tipo,mas neste caso Bk depende ainda de Bk−1 e de xk−1.

Matlab: m-file opt steep.m

[xo,fo] = opt steep (f, x0, TolX, TolFun, alpha0, MaxIter)

Mestrado Matemática Financeira, Optimização, Aula 4

17

Page 18: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Minimizacao ao longo de uma direccao - exemplo

Seja f (x) = f (x1, x2) = 1 + x1 − x2 + x21 + 2x22. Minimize f na direccao

u = (−2, 1) para o ponto inicial x0 = (0, 0) .

Definimos a linha de investigacao

x = x0 + λu = (0, 0) + λ (−2, 1) = (−2λ, λ)

e a nova funcao F, isto e

F (λ) = f (x0 + λu) = f (−2λ, λ) = 1− 3λ+ 6λ2.

O minimizante de F (λ) e obtido de F 0 (λ) = 0, isto e

F 0 (λ) = 12λ− 3 = 0⇒ λ∗ =1

4,

Mestrado Matemática Financeira, Optimização, Aula 4

18

Page 19: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

e como F 00 (λ∗) = 12 > 0, temos que λ∗ = 14 e um mınimo.

Tem-se entao que x∗ = x0 + λ∗u =³−12,

14

´e o mınimo de f (x) ao longo da

linha x = x0 + λu.

Mais, podemos mostrar que x∗ e o mınimo global da funcao f (x) . Escrevendo

f (x) = f (x1, x2) = 1 + x1 − x2 + x21 + 2x22 =

µx1 +

1

2

¶2+ 2

µx2 −

1

4

¶2+5

8

a ultima funcao tem curvas de nıvel (contorno) definidas por elipses centradas no

ponto de mınimo x∗ =³−12,

14

´. Observa-se que o mınimo ao longo da direccao

Mestrado Matemática Financeira, Optimização, Aula 4

19

Page 20: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

x = x0 + λu passa pelo centro³−12,

14

´.

05

1015

2025

0

10

20

300

100

200

300

400

Funco f (x1, x2) = 1 + x1 − x2 + x21 + 2x22

Mestrado Matemática Financeira, Optimização, Aula 4

20

Page 21: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodo do gradiente conjugado (Fletcher-Reeves)

A introducao do metodo do gradiente conjugado por Fletcher-Reeves nos anos

1960 conduz a possibilidade de optimizar problemas nao lineares de larga es-

cala, pois so sao precissos O (n) operacoes por iteracao e pouco espaco para

armazenagem. Sao metodos simples e bastante faceis de implementar. Sao su-

periores aos metodos que nao utilizam informacao sobre o gradiente, mas sao

inferiores aos metodos de tipo Newton.

Considerando uma equacao da forma f(x) = 0, e claro que f(x) = 0 sse

f(x)f(x) = 0. Logo, se existirem, os zeros de f, sao os pontos de mınimo

absoluto de f2.

Mestrado Matemática Financeira, Optimização, Aula 4

21

Page 22: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

De forma semelhante, no caso de funcoes com varias variaveis, usando a norma

euclidiana, obtemos:

F (x) = 0 <=> ||F (x)||2 = 0 <=> F (x).F (x) = 0

e, se existirem, as solucoes de F (x) = 0 sao os pontos de mınimo absoluto de

f(x) = F (x).F (x).

Seja A uma matriz simetrica e definida positiva, e consideremos uma forma

quadratica auxiliar:

f (x) = a− bTx+1

2xTAx

que transforma vectores em numeros reais. Como a forma e quadratica, ha

apenas um vector que minimiza f e e exactamente o ponto crıtico, ou seja, a

Mestrado Matemática Financeira, Optimização, Aula 4

22

Page 23: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

solucao de f 0(x) = 0, e neste caso,

f 0(x) =1

2(AT +A)x− b = Ax− b.

Assim, se encontrarmos o ponto de mınimo, ele sera solucao do sistema linear

Ax = b.

Consideramos metodos iterativos de optimizacao de tipo investigacao de linha,

ou seja:

xn+1 = xn + anhn

de forma que haja uma direccao descendente, ou seja, f(xn+1) < f(xn). O

vector hn define a direccao de investigacao descendente.

Mestrado Matemática Financeira, Optimização, Aula 4

23

Page 24: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodo do Gradiente

No caso do metodo do gradiente (ou declive maximo - steepest descent), a

direccao de descida escolhida e

hn = −∇f(xn) = b−Axn,

e neste caso (de sistemas lineares) e tambem designado por resıduo.

Resta encontrar o valor an que minimiza f , de entre os possıveis valores xn+ahn.

Encontramos o ponto de mınimo, derivando f (nesses pontos) em ordem a a,

ou seja,

d

da(f (xn + ahn)) = f 0(xn + ahn).hn

= (b−A(xn + ahn)).hn

= hn.hn − aAhn.hn

Mestrado Matemática Financeira, Optimização, Aula 4

24

Page 25: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Assim, o valor mınimo an sera obtido com o zero da derivada,

hn.hn − anA hn.hn = 0 <=> an =hn.hn

A hn.hn.

Em conclusao, dado um vector inicial x0, o metodo do gradiente resume-se a

iteracao

xn+1 = xn + anhn = xn +hn.hn

hn.A hnhn com hn = b−Axn

Um criterio de paragem consiste em exigir que

||hn||2 = hn.hn < ε

com ε pequeno, notando que isso implica que Axn e proximo de b.

Mestrado Matemática Financeira, Optimização, Aula 4

25

Page 26: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodo das Direccoes Conjugadas

Comecamos por definir direccoes conjugadas: Um conjunto de direccoes {h1, h2, ...}diz-se conjugado com respeito a uma matriz A simetrica e definida positiva se

hTi Ahj = 0 para qualquer i 6= j.

Com este produto interno, dois vectores dizem-se A-ortogonais se < hi, hj >

A = hi.Ahj = hTi Ahj = 0, como sinonimo diz-se que as direccoes hi e hj sao

conjugadas.

Seja N a dimensao da matriz A e sejam h1, h2, ..., hN direccoes conjugadas, que

constituem uma base A-ortogonal em RN. Se considerarmos hn como direccoesde descida, temos a iteracao

xn+1 = xn + anhn

Mestrado Matemática Financeira, Optimização, Aula 4

26

Page 27: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

e queremos agora encontrar o valor an que minimiza f , de entre os possıveis

valores xn + ahn.

De forma, semelhante, podemos obter

an =rn.hn

hn. A hn, com rn = b−Axn

e portanto o metodo de direccoes conjugadas e

xn+1 = xn +rn.hn

hn. A hnhn

Teorema: Um metodo de direccoes conjugadas atinge a solucao ao fim de N

iteracoes.

Mestrado Matemática Financeira, Optimização, Aula 4

27

Page 28: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodo dos Gradientes Conjugados

Consideramos agora o caso particular do metodo das direccoes conjugadas, em

que elas sao obtidas atraves do gradiente. Recordamos que no caso linear o

gradiente e dado pelo resıduo rn = b−Axn.

Atraves de um processo de ortogonalizacao (ou melhor, A-ortogonalizacao) de

Gram-Schmidt, atraves dos sucessivos resıduos (gradientes) podemos construir

as direccoes hn que serao conjugadas (A-ortogonais).

Assim, podemos resumir o Metodo dos Gradientes Conjugados,

1. Dado x0 definimos h0 = r0 = b−Ax0 ,

Mestrado Matemática Financeira, Optimização, Aula 4

28

Page 29: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

2. Definimos xn+1 = xn + anhn com

an =rn.hn

hn. A hn

3. Definimos rn+1 = rn − anAhn e

hn+1 = rn+1 + bnhn, com bn =rn+1.rn+1rn.rn

.

4. Regressamos ao 2o passo, ate que sejam efectuados N passos.

Nota: Apesar de termos dito que o metodo atinge a solucao exacta ao fim de

N passos, um mau condicionamento da matriz podera impedir que a solucao

seja efectivamente obtida. Nesse caso ha que utilizar um criterio de paragem,

por exemplo, exigindo que o resıduo seja suficientemente pequeno.

Mestrado Matemática Financeira, Optimização, Aula 4

29

Page 30: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

(a). Metodo de Fletcher-Reeves (1964)

bn =rn+1.rn+1rn.rn

=f 0 (xn+1)

T f 0 (xn+1)

f 0 (xn)T f 0 (xn)

onde xprev e a iterada previa.

(b). Metodo de Polak-Ribiere (1971)

bn =(rn+1 − rn) .rn+1

rn.rn=

¡f 0 (xn+1)− f 0 (xn)

¢T f 0 (xn+1)f 0 (xn)T f 0 (xn)

Para uma funcao quadratica os dois metodos sao identicos.

Mestrado Matemática Financeira, Optimização, Aula 4

30

Page 31: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Mtodo do gradiente conjugado

Mestrado Matemática Financeira, Optimização, Aula 4

31

Page 32: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Em Matlab o programa mincg.m esta baseado neste metodo de optimizacao.

[res, noiter]=mincg(f, derf, ftau, x, tol)

onde f e a funcao a optimizar, derf sao as derivadas paciais de 1a ordem da

funcao (gradiente), ftau represente o metodo de investigacao de linhas, x a

condicao inicial e tol a tolerancia permitida.

De forma alternativa tem-se o m-file opt conjg.m

[xo,fo] = opt conjg(f,x0,TolX,TolFun,alpha0,MaxIter,KC)

Exemplo: Seja

A =

"2 −1−1 2

#.

Mestrado Matemática Financeira, Optimização, Aula 4

32

Page 33: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Determine os vectores proprios de A e motra que sao A-conjugados.

Primeira vez determinam-se os valores proprios, isto e |A− λI| = 0⇐⇒ λ1 = 1

e λ2 = 3. Logo

(A− λI) v = 0⇐⇒"2− 1 −1−1 2− 1

# "v1v2

#=

"00

#⇐⇒ v1 =

³v11, v

12

´=³v11, v

11

´= v11 (1, 1) , ∀v11 ∈ R

⇐⇒"2− 3 −1−1 2− 3

# "v1v2

#=

"00

#⇐⇒ v2 =

³v21, v

22

´=³v21,−v21

´= v21 (1,−1) , ∀v21 ∈ R

Mestrado Matemática Financeira, Optimização, Aula 4

33

Page 34: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Agora ³v1´T

Av2 =h1 1

i " 2 −1−1 2

# "1−1

#= 0

Exemplo: Aplicando o metodo das direccoes conjugadas, minimiza a seguinte

funcao quadratica minx1,x2∈R f (x1, x2) =12x

TAx− bTx+ c, onde

A =

"2 −1−1 2

#, b =

"38

#, c = 5 e x0 =

"00

#.

Calculamos os vectores conjugados de A (exemplo anterior) h0 = (1, 1) e h1 =

(1,−1).

Mestrado Matemática Financeira, Optimização, Aula 4

34

Page 35: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Agora

r0 = b−Ax0 =

"38

#−"2 −1−1 2

# "00

#=

"38

#6= 0

a0 =rT0 h0

hT0Ah0=11

2

x1 = x0 + a0h0 =h112

112

iTr1 = b−Ax1 =

"38

#−"2 −1−1 2

# "112112

#=

"−5252

#

a1 =rT1 h1

hT1Ah1=5

6

x2 = x1 + a1h1 =

"112112

#−"5656

#=

"143143

#

r2 = b−Ax2 =

"38

#−"2 −1−1 2

# "143143

#=

"−53103

#.

Mestrado Matemática Financeira, Optimização, Aula 4

35

Page 36: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Exemplo: Aplicando o metodo do gradiente conjugado (Fletcher-Reeves), min-

imiza a seguinte funcao quadratica

minx1,x2∈R

f (x1, x2) = x21 − x1x2 + 3x22,

onde o ponto inicial e x0 = (1, 2) .

Calculamos o vector gradiente

∇f (x) = f 0 (x) =

"2x1 − x2−x1 + 6x2

#logo

f 0 (x0) =

"011

#e r0 = h0 =

"011

#

Mestrado Matemática Financeira, Optimização, Aula 4

36

Page 37: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Agora

x1 = x0 + a0h0 =h1 1

6

iTe f 0 (x1) =

"1160

#

b1 =f 0 (x1)

T f 0 (x1)

f 0 (x0)T f 0 (x0)

=1

36

h1 = f 0 (x1) + b1h0 =

"116−1136

#

x2 = x1 + a1h1 =

"00

#.

Exemplo: Determinar um mınimo local da funcao

f (x, y) = 0.5(x4 − 16x2 + 5x) + 0.5(y4 − 16y2 + 5y)

Mestrado Matemática Financeira, Optimização, Aula 4

37

Page 38: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

-4 -3 -2 -1 0 1 2 3 4-4

-3

-2

-1

0

1

2

3

4

05

1015

20

05

10

1520

-80

-60

-40

-20

0

20

Funcao f801.m

>> x1=mincg(’f801’,’f801pd’,’ftau2cg’, x0, 0.000005)

Mestrado Matemática Financeira, Optimização, Aula 4

38

Page 39: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

> number of iter= 6, > Solution 2.7468 -2.9035

>> x=-4:0.1:4;y=-4:0.1:4; [X,Y]=meshgrid(x,y);

>> z=0.5.*(X.ˆ4-16.*X.ˆ2+5.*X)+0.5.*(Y.ˆ4-16.*Y.ˆ2+5.*Y);

>> x1=[0 1.691 -2.560 -2.909 -2.903 -2.903]; y1=[0.5 -2.948 -3.210 -2.893

-2.903 -2.903];

>> figure; axis([-4 4 -4 4 -80 20]); contour(-4:0.1:4, -4:0.1:4, z,15)

>> hold on; plot(x1,y1,x1,y1,’o’)

Mestrado Matemática Financeira, Optimização, Aula 4

39

Page 40: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodo de Newton

O metodo de Newton inicıa uma classe importante de algoritmos que, para serem

aplicados, requerem a computacao do vector gradiente

g = ∇f (x) =

⎡⎢⎢⎢⎢⎢⎣∂f

∂x1(x)

...∂f

∂xn(x)

⎤⎥⎥⎥⎥⎥⎦ , onde f : D ⊂ Rn→ R e x = (x1, ..., xn)

Mestrado Matemática Financeira, Optimização, Aula 4

40

Page 41: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

e da matriz Hessiana

H (f (x)) = ∇2f (x) =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

∂2f

∂x21(x)

∂2f

∂x1∂x2(x) ...

∂2f

∂x1∂xn(x)

∂2f

∂x2∂x1(x)

∂2f

∂x22(x) ...

∂2f

∂x2∂xn(x)

... ... . . . ...∂2f

∂xn∂x1(x)

∂2f

∂xn∂x2(x) ...

∂2f

∂x2n(x)

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦.

Teorema: Suponhamos que f : D ⊂ Rn → R e duas vezes diferenciavel e

x∗ ∈ Rn satisfaz

1. ∇f (x∗) = 0

Mestrado Matemática Financeira, Optimização, Aula 4

41

Page 42: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

2. ∇2f (x∗) e definida positiva (em particular, nao-singular)

3. ∇2f e Lipschitz contınua numa vizinhanca do ponto x∗.

Entao x∗ e um mınimo local de f e para qualquer x0 suficientemente proximo

de x∗, o metodo de Newton define uma sequencia que converge (local) quadrati-camente para x∗.

Nota: O metodo ainda converge se a matriz Hessiana e semidefinida positiva e

singular.

O metodo de Newton determina um modelo quadratico para a funcao objectivo

em torno da iterada corrente xk definida por

qk (hk) = f (xk) +∇Tf (xk)hk +1

2hTk∇2f (xk)hk.

Mestrado Matemática Financeira, Optimização, Aula 4

42

Page 43: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Na versao basica do metodo de Newton, a proxima iterada e obtida a partir

do minimizante de qk. Quando a matriz Hessiana e definida positiva, o modelo

quadratico tem um unico minimizante que pode ser obtido resolvendo o seguinte

sistema simetrico (n× n)

∇2f (xk)hk = −∇f (xk) ⇔ hk = −³∇2f (xk)

´−1∇f (xk)Agora, a nova iterada vai ser

xk+1 = xk + hk = xk −³∇2f (xk)

´−1∇f (xk)Como ja referido a convergencia (local) e garantida se o ponto de partida e

suficientemente proximo de um minimizante local x∗. O criterio de paragem e

dado por

α2

2≤ ε onde α (x) =

µ∇Tf (x)

³∇2f (x)

´−1 ∇f (x)¶1/2 = kx− x∗k

Mestrado Matemática Financeira, Optimização, Aula 4

43

Page 44: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Figura 1: Metodo de Newton. Caso (a), convergencia imediata para p mınimo

(1 iterada) e caso (b) convergencia ao fim de 10 iteradas.

Mestrado Matemática Financeira, Optimização, Aula 4

44

Page 45: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

O algoritmo de Newton se funciona bem, funciona muito bem. Com tudo isto

nao e o metodo ideal, pois requere a computacao da matriz hessiana em cada

iterada, tambem como a resolucao do sistema linear que envolve a hessiana.

Falha facilmente se a matriz hessiana nao e definida positiva ou regular.

Nestes casos (quando a matriz hessiana nao e definida positiva ou regular)

convem substituir a matriz Hessiana H por uma nova matriz H = H + E.

O metodo de Levenberg-Marquardt pode ser utilizado com sucesso, fazendo a

substituicao: H = H + γI, com I matriz identidade. O papel de γ e manter a

matriz H definida positiva.

Matlab: m-file newtons.m

[x,fx,xx] = newtons(f,x0,TolX,MaxIter,varargin)

Mestrado Matemática Financeira, Optimização, Aula 4

45

Page 46: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Exemplo: Minimizar a funcao

f (x) = f (x1, x2) =1

2x21

Ãx216+ 1

!+ x2 arctanx2 −

1

2ln³x22 + 1

´.

010

2030

05101520250

10

20

30

40

50

60

70

Mestrado Matemática Financeira, Optimização, Aula 4

46

Page 47: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Precisamos do gradiente e da matriz Hessiana

∇f (x) =

⎡⎢⎢⎢⎣x313+ x1

arctanx2

⎤⎥⎥⎥⎦ e ∇f (x) =

⎡⎢⎣ x21 + 1 0

01

1 + x22

⎤⎥⎦

A tabela seguinte da os resultados de iteracao quando x0 = (1, 0.7) . Ha con-

vergencia local quadratica.

Mestrado Matemática Financeira, Optimização, Aula 4

47

Page 48: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Mudando a condicao inicial, nomeadamente x0 = (1, 2) , o metodo de Newton

comporta-se muito mal (nao ha convergencia global), como pode ser visto na

proxima tabela

Na maioria dos casos, o metodo basico de Newton nao converge e para se obter

bons resultados e preciso modificar o algoritmo. Basicamente, ha dois metodos

para modificar o algoritmo de Newton em ordem a obter convergencia:

Mestrado Matemática Financeira, Optimização, Aula 4

48

Page 49: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

1. Abordagem baseada numa investigacao de linhas (direccoes) (modifica a

direccao da linha de investigacao para obter uma outra direccao descendent

para f)

2. Abordagem baseada numa regiao de confianca (utiliza a funcao quadratica

original, mas condiciona-se que a nova iterada pertencer a uma vizinhanca

da iterada corrente)

Estas tecnicas sao adequadas se o numero de variaveis da funcao objectivo nao e

muito elevado e se a matriz Hessiana e acessıvel e facil de calcular. Os algoritmos

ficam nao-alterados se a matriz Hessiana vem substituıda por uma boa aprox-

imacao sua. Existem dois tipos de metodos que aproximam a matriz Hessiana,

nomeadamente: Aproximacoes com diferencas e Metodos quase-Newton

Mestrado Matemática Financeira, Optimização, Aula 4

49

Page 50: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodos Quase-Newton ou metodos metricos variaveis

Podem ser utilizados quando a matriz Hessiana e difıcil de calcular ou demoramuito tempo para ser avaliada. Este metodo constroi gradualmente uma matrizHessiana aproximada utilizando informacoes a partir do gradiente avaliado paraquase todas as iteradas anteriores visitadas pelo algoritmo. Consta de dois passosfundamentais

- Determinacao de uma direccao de investigacao

- Escolha do metodo de investigacao da linha

Dada a iterada corrente xk e a matriz Hessiana aproximada Bk em xk, a solucaodo sistema linear

Bkhk = −∇f (xk) ⇔ hk = −B−1k ∇f (xk)

Mestrado Matemática Financeira, Optimização, Aula 4

50

Page 51: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

gera uma direccao hk. A proxima iterada encontra-se fazendo uma investigacao

linear sobre hk e considerando

xk+1 = xk + αkhk,

onde o comprimentos de passo αk satisfaz as condicoes de Wolfe, isto e,

f (xk + αkhk) ≤ f (xk) + σ1αk∇Tf (xk)hk∇Tf (xk + αkhk)hk ≤ σ2∇Tf (xk)hk

onde 0 < σ1 < σ2 < 1.

Para obter a aproximacao Bk+1 a partir de Bk e precisso considerar o Teorema

Fundamental de Calculo Integral. Se definimos

sk = xk+1 − xkyk = ∇f

¡xk+1

¢−∇f (xk)

Mestrado Matemática Financeira, Optimização, Aula 4

51

Page 52: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

entao (Z 10∇2f (xk + tsk) dt

)media da Hessiana sobre o segmento [xk,xk+sk]

sk = yk.

A partir dessa observacao podemos obter a aproximacao Bk+1 imitando o com-portamento da matriz ∇2f e considerando a condicao de quase-Newton

Bk+1sk = yk.

Ao fim de cada passo a aproximacao da matriz Hessiana vem actualizada. Amais comum (e utilizada) famılia de actualizacoes consideradas no metodo dequase-Newton (para determinacao da direccao de investigacao) e a de Broydende rang 2, isto e

Bk+1 = Bk −Bksk (Bksk)

T

sTk Bksk+yky

Tk

yTk sk+ φk[s

Tk Bksk]vkv

Tk ,

Mestrado Matemática Financeira, Optimização, Aula 4

52

Page 53: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

onde

φk ∈ [0, 1] e vk ="

ykyTk sk

− BksksTk Bksk

#.

Para φk = 0 tem-se a actualizacao de Broyden-Fletcher-Goldfarb-Shanno (BFGS)

e para φk = 1 tem-se a actualizacao de Davidon-Fletcher-Powell (DFP).

Aplicando qualquer uma dessas actualizacoes a matriz Hessiana aproximada per-

manence definida positiva e portanto a direccao de procura e sempre uma di-

reccao descendente. Sao algoritmos que convergem rapidamente e evitam a

computacao das derivadas de segunda ordem.

Mestrado Matemática Financeira, Optimização, Aula 4

53

Page 54: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Matlab

fminunc e o m-file que determine extremos livres de uma funcao real de varias

variaveis reais.

>> x=fminunc(’fname’,x0)

Inicia em x0 e tenta encontrar o mınimo local x da funcao ’fname’ (definida

como m-file tambem)

Exemplo

>>x = fminunc(’ffdi’,[2 3]) % sem gradiente

Mestrado Matemática Financeira, Optimização, Aula 4

54

Page 55: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

> f = -0.2750

...

> f = -2.0000

Optimization terminated: relative infinity-norm of gradient less than options.TolFun.

x = 3.1416 4.7124

Para minimizar esta funcao ja com o gradiente dado modificamos a funcao

como a seguir (indicando no comando fminunc que o gradiente esta disponıvel

utilizando OPTIONS)

Mestrado Matemática Financeira, Optimização, Aula 4

55

Page 56: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

>>x = fminunc(’fname’, x0, options);

>> options=optimset(’GradObj’,’on’); x0=[2 3]

>> [x,fval]=fminunc(’dffdi’, x0, options)

Optimization terminated: first-order optimality less than OPTIONS.TolFun,

and no negative/zero curvature detected in trust region model.

x = 3.1416 10.9956

fval = -2

Mestrado Matemática Financeira, Optimização, Aula 4

56

Page 57: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Metodo dos mınimos quadrados (problema nao-linear)

Consideremos, de novo, um conjunto de pontos x0, ..., xn a que estao associados,

respectivamente, os valores f(x0), ..., f(xn). Temos que considerar agora uma

classe de funcoes, entre as quais vamos tentar encontrar a que ”melhor aproxima”

aquele conjunto de valores, nos pontos dados. Vamos concentrar em funcoes da

forma:

g(x) = a0f0(x) + ...+ amfm(x)

em que f0, ..., fm sao funcoes base (linearmente independentes), e sao conheci-

das.

Neste caso, apenas teremos que determinar os parametros a0, ..., an, de forma

que a soma quadratica das diferencas entre os f(xi) e os g(xi) seja mınima. Faz

Mestrado Matemática Financeira, Optimização, Aula 4

57

Page 58: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

entao sentido introduzir a distancia ||f − g|| em que

||u||2 =nXi=0

u2 (xi)

a que esta associada o produto interno

< u, v >=nXi=0

u (xi) v (xi) .

A norma e o produto interno estao bem definidos para funcoes que assumem

quaisquer valores nos pontos x0, ..., xn.

Pretende-se pois encontrar os parametros a0, ..., an que minimizem a distancia

entre f e g , isto e:

Q = ||f − g||2 =< f − g, f − g >

Mestrado Matemática Financeira, Optimização, Aula 4

58

Page 59: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Para obtermos esse mınimo, comecamos por procurar os valores a0, ..., am tais

que todas as derivadas parciais de Q sejam nulas, isto e:

∂Q

∂aj(a0, ..., am) = 0, para j = 0, ...,m.

Calculamos a derivada parcial, usando as propriedades de derivacao do produto

interno:

∂Q

∂aj=

∂aj< f − g, f − g >=

*∂

∂aj(f − g) , f − g

++

*f − g,

∂aj(f − g)

+

= 2

*f − g,

∂aj(f − g)

+= −2

*f − g,

∂ajg

+.

Por outro lado∂g

∂aj=

∂aj(a0φ0 + ...+ amφm) = φj

Mestrado Matemática Financeira, Optimização, Aula 4

59

Page 60: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

e assim obtemos, para cada j de 0 ate m:Df − g, φj

E= 0

Podemos ainda substituir a expressao de g e obtemos um sistema linear:

nXi=0

ai < φi, φj >=< f, φj > para cada j = 0, ...,m

designado por sistema normal.

Teorema: Se as funcoes base φ0, ..., φm forem linearmente independentes, a

matriz do sistema normal e definida positiva.

Observacoes:

1) A matriz Hessiana de Q coincide justamente com a matriz do sistema normal.

Fica assim justificado que a solucao do sistema normal, tratando-se de um ponto

Mestrado Matemática Financeira, Optimização, Aula 4

60

Page 61: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

crıtico de Q, e como a matriz Hessiana e definida positiva, seja o mınimo do

funcional Q.

2) Como a matriz e simetrica e definida positiva, um metodo apropriado para

resolver o sistema normal e o metodo de Cholesky.

Mais geral: Seja f : Rn→ Rm, com m ≥ n. Objectivo: minimizar kf (x)k , ouequivalente, encontrar um x∗, tal que x∗ = minx {F (x)} onde

F (x) =1

2

mXi=1

(fi (x))2 =

1

2kf (x)k2 = 1

2fT (x) f (x) .

Os problemas dos mınimos quadrados podem ser resolvidos pelos metodos usuais

de optimizacao ou pelos metodos dos mınimos quadrados que se tornam mais

efficientes

Mestrado Matemática Financeira, Optimização, Aula 4

61

Page 62: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Temos F 0 (x) = J (x)T f (x) e

F 00 (x) = J (x)T J (x) +mXi=1

fi (x) f00i (x) .

Metodo de Levenberg-Marquardt

O passo hlm e definido por³JTJ + μI

´hlm = −JTf.

A principal dificuldade em implementar este algoritmo consta em encontrar uma

estrategia efectiva para controlar o tamanho de μ em cada iteracao de tal forma

que sera eficiente para um conjunto grande de problemas. O metodo utilizado

neste algoritmo consta na medicao da nao linearidade relativa de f (x) utilizando

uma soma linear de quadrados. Nao procura explicitamente a direccao de inves-

tigacao o que torna o algoritmo bastante rapido e exacto.

Mestrado Matemática Financeira, Optimização, Aula 4

62

Page 63: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Algoritmo

Iniciar k = 0; υ = 2; x = x0; A = J (x)T J (x) ; g = J (x)T f (x)

found = (kgk∞ ≤ ε1) ; μ = τ max {aii}while (not found) e (k < kmax)

k = k + 1; resolver (A+ μI)hlm = −gif khlmk ≤ ε2 (kxk+ ε2)

found = true // else

xnew = x+ hlm; ρ =F (x)− F (xnew)

L (0)− L (hlm)if ρ > 0

x = xnew; A = J (x)T J (x) ; g = J (x)T f (x)

found = (kgk∞ ≤ ε1)

μ = μ maxn1/3, 1− (2ρ− 1)3

o; υ = 2

else μ = μν; ν = 2ν

end

Mestrado Matemática Financeira, Optimização, Aula 4

63

Page 64: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

Matlab Optimization Toolbox - lsqnonlin.m

>> x=lsqnonlin(fun,x0)

>> function F = lsqDi(x,a)

>> F = [ 2*x(1) - exp(a*x(1)) -x(1) - exp(a*x(2)) x(1) - x(2) ];

>> a = -1; x = lsqnonlin(@(x) lsqDi(x,a),[1;1])

Optimization terminated: relative function value changing by less than OP-

TIONS.TolFun.

Mestrado Matemática Financeira, Optimização, Aula 4

64

Page 65: Diana Aldea Mendeshome.iscte-iul.pt/~deam/html/slidesa4.pdf · Mestrado Matemática Financeira, Optimização, Aula 4 1 . Optimiza¸c˜ao multi-dimensional-M´etodos gradiente (gradiente

x = 0.2983 0.6960

05

1015

20

0

20

40

60-80

-60

-40

-20

0

20

Funcao lsqDi.m

Mestrado Matemática Financeira, Optimização, Aula 4

65