métodos numéricos c - · pdf filemétodos numéricos c a. ismael f....

216
Métodos Numéricos C A. Ismael F. Vaz 1 1 Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho [email protected] Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho) MN C 2007/2008 1 / 216

Upload: hathuan

Post on 07-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Métodos Numéricos C

A. Ismael F. Vaz1

1Departamento de Produção e SistemasEscola de Engenharia

Universidade do [email protected]

Ano lectivo 2007/2008

A. Ismael F. Vaz (UMinho) MN C 2007/2008 1 / 216

Page 2: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Conteúdo

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 2 / 216

Page 3: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 3 / 216

Page 4: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Apresentação - Docente

Aulas teóricas

A. Ismael F. Vaz - [email protected]

www.norg.uminho.pt/aivaz

Aulas teórico-práticas

Isabel Espírito Santo - [email protected]

www.norg.uminho.pt/iapinho

Horário de atendimentoA combinar...

A. Ismael F. Vaz (UMinho) MN C 2007/2008 4 / 216

Page 5: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Apresentação - Disciplina

Uma primeira parte de métodos numéricos e uma segunda parte deoptimização não linear sem restrições;Página da disciplina;http://www.norg.uminho.pt/aivaz

7 fichas TPs para realizar ao longo do semestre (nas aulas Ts).A classificação final é a soma das notas das fichas TPs.Não é obrigatória a presença nas aulas Ts e TPs. Mas atenção aosmomentos de avaliação.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 5 / 216

Page 6: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Material necessário e de apoio

Calculadora científica;Folhas das fichas TPs;www.norg.uminho.pt/aivaz

Papel e caneta;Livro de Computação Numérica;www.norg.uminho.pt/emgpf

Software CoNum;www.norg.uminho.pt/emgpf

A. Ismael F. Vaz (UMinho) MN C 2007/2008 6 / 216

Page 7: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Programa detalhado / Avaliações

Dia Matéria25-Fev Apresentação da disciplina. Erros. Algarismos significativos.

Fórmula fundamental dos erros. Erros de truncatura.29-Fev Solução de equações não lineares. Método dos gráficos. Mé-

todo da secante e sua convergência. Método de Newton e suaconvergência. Critérios de paragem.

04-Mar Sistemas de equações lineares. Eliminação de Gauss com pi-votagem parcial.

11-Mar Métodos iterativos de Gauss-Seidel e Jacobi. Método de New-ton para sistemas de equações não lineares. Avaliação sobrezeros de funções (2.5 valores).

01-Abr Interpolação polinomial. Diferenças divididas. Fórmula inter-poladora de Newton. Erro da fórmula interpoladora de New-ton. Avaliação sobre sistemas lineares e não lineares (2.5 va-lores).

08-Abr Mínimos quadrados polinomiais e modelos lineares. Mínimosquadrados não lineares. Método de Gauss-Newton.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 7 / 216

Page 8: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Programa detalhado / Avaliações - cont.

Dia Matéria15-Abr Revisões. Avaliação sobre interpolação e mínimos quadrados

(3 valores).22-Abr Integração numérica. Fórmulas simples e compostas do Tra-

pézio, Simpson e 3/8.29-Abr Optimização não linear sem restrições. Condições de optima-

lidade. Avaliação sobre integração numérica (2.5 valores).06-Mai Procura unidimensional. Método DSC. Procura multidimen-

sional. Método de Nelder-Mead.20-Mai Método de Newton. Método de segurança de Newton. Avalia-

ção sobre condições de optimalidade e DSC + NM (3 valores).27-Mai Procura unidimensional com divisões sucessivas de α por 2.

Critério de Armijo. Questionários.03-Jun Método quasi-Newton. Revisões. Avaliação sobre segurança

de Newton (4 valores).17-Jun Revisões. Avaliação sobre quasi-Newton (2.5 valores).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 8 / 216

Page 9: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Motivação da disciplina

Presente em todos os cursos de engenharia (aplicações em todas asáreas da engenharia);A disciplina de métodos numéricos dedica-se à resolução numérica deproblemas matemáticos. Com o desenvolvimento dos computadoresencontra-se direccionada para a implementação de algoritmos estáveis.A optimização consiste em determinar soluções óptimas para problemamatemáticos.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 9 / 216

Page 10: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Controlo óptimo - Um exemplo

Problema de optimização do processo semi-contínuo de produção deEtanol.O problema de optimização é: (t0 = 0 e tf = 61.2 dias)

maxu(t)

J(tf ) ≡ x3(tf )x4(tf )

s.adx1

dt= g1x1 − u

x1

x4

dx2

dt= −10g1x1 + u

150− x2

x4

dx3

dt= g2x1 − u

x3

x4

dx4

dt= u

0 ≤ x4(tf ) ≤ 2000 ≤ u(t) ≤ 12∀t ∈ [t0, tf ]

com

g1 =(

0.4081 + x3/16

)(x2

0.22 + x2

)g2 =

(1

1 + x3/71.5

)(x2

0.44 + x2

)onde x1, x2 e x3 são as concentrações damassa celular, substrato e produto (g/L),e x4 é o volume (L). As condições iniciaissão:

x(t0) = (1, 150, 0, 10)T .

A. Ismael F. Vaz (UMinho) MN C 2007/2008 10 / 216

Page 11: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Introdução

Abordagem para a resolução

Grande exigência em termos numéricos;Grande exigência em termos de programação;Solução da equação diferencial com o CVODE (software em C);Problemas codificados em AMPL (linguagem de modelação);Algoritmo para optimização sem derivadas;

A. Ismael F. Vaz (UMinho) MN C 2007/2008 11 / 216

Page 12: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 12 / 216

Page 13: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Formato de vírgula flutuante normalizado

fl(x) = ±0.d1d2...dk × 10e

onde, 0.d1d2 . . . dk corresponde à mantissa, e e é o expoente.flt(x) representa o valor de x em vírgula flutuante truncado efla(x) representa o valor de x em vírgula flutuante arredondado.

Exemplo

x =23

flt(x) = 0.66666× 100

fla(x) = 0.66667× 100

A. Ismael F. Vaz (UMinho) MN C 2007/2008 13 / 216

Page 14: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Formato de vírgula flutuante

(norma IEEE-754, 32 bits)

σ e + 64 d1 d2 d3 d4 d5 d6

1 bit 7 bits 4 bits 4 bits 4 bits 4 bits 4 bits 4 bits

Exemplox = 2490.125 = 9× 162 + 11× 161 + 10× 160 + 2× 16−1 =(9× 16−1 + 11× 16−2 + 10× 16−3 + 2× 16−4

)× 163

0 1000011 1001 1011 1010 0010 0000 0000σ e + 64 d1 d2 d3 d4 d5 d6

A. Ismael F. Vaz (UMinho) MN C 2007/2008 14 / 216

Page 15: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Exemplo de programação

A. Ismael F. Vaz (UMinho) MN C 2007/2008 15 / 216

Page 16: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Exemplo de programação

A. Ismael F. Vaz (UMinho) MN C 2007/2008 16 / 216

Page 17: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Erros

Seja x o valor exacto e x o seu valor aproximado, que será usado noscálculos

x− x é o erro absoluto (normalmente não se pode calcular, porque xé desconhecido);|x− x| ≤ δx é o limite superior do erro absoluto;

rx = |x−x||x| = δx

|x| ≈δx|x| é o erro relativo.

ExemploPediu-se a duas pessoas para contarem laranjas de dois cestos. A primeira contou980 laranjas num cesto de 1000 e a segunda contou 480 num cesto de 500.Apesar de cometerem o mesmo erro absoluto (δ1 = 20 laranjas e δ2 = 20 laranjas)a segunda cometeu um erro maior, visto que r1 = 20

1000 = 0.02 e r2 = 20500 = 0.04.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 17 / 216

Page 18: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Fórmula fundamental dos erros

Dados n valores aproximados, x1, . . . , xn, e os seus respectivos errosabsolutos é possível calcular um majorante para o erro absoluto cometidoquando se aplica uma função f , através da fórmula fundamental dos erros.

δf ≤Mx1δx1 + Mx2δx2 + ... + Mxnδxn

onde maxx∈I

∣∣∣ ∂f∂xi

∣∣∣ ≤Mxi , com I = Ix1 × · · · × Ixn eIxi = [xi − δxi , xi + δxi ]

rf ≤δf

|f(x1, . . . , xn)|

A. Ismael F. Vaz (UMinho) MN C 2007/2008 18 / 216

Page 19: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Exemplo

Cálculo dos limites do erro absoluto e relativo do cálculo da funçãof(x) = x1 − x2.

Temos que∣∣∣ ∂f∂x1

∣∣∣ ≤Mx1 = 1 e∣∣∣ ∂f∂x2

∣∣∣ ≤Mx2 = 1, logo

δf = δx1 + δx2

e

rf ≤δx1 + δx2

|x1 − x2|

A. Ismael F. Vaz (UMinho) MN C 2007/2008 19 / 216

Page 20: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Erros

Algarismos Significativos

Casa decimais são as casas (algarismos) à direita da vírgula.Os algarismos significativos são aqueles em que temos confiança do seuvalor.

Exemplos:0.1234567 tem 1 algarismo significativo se δ = 0.05, 2 se δ = 0.005 e 7 seδ = 0.00000005.

0.0000020 tem 7 casas decimais e 2 algarismos significativos(δ = 0.00000005).

Quando todas as casas decimais são significativas 0.2 é diferente de 0.20.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 20 / 216

Page 21: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 21 / 216

Page 22: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Forma geral do problema

Pretende-se determinar x∗ tal que

f(x) = 0

ExemploTemos x∗ = −0.567143290409784 como solução para

ex + x = 0

Nota: uma equação não linear pode não ter solução, ou ter mais do queuma.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 22 / 216

Page 23: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Métodos iterativos

Uma sequência diz-se iterativa se é definida por uma função Findependente de k e dependente de um ou vários elementos anteriores a ele,

xk = F (xk−1, xk−2, . . . )

Aproximações iniciaisUm método que se baseie numa sequência iterativa com k − 1 elementosanteriores necessita também de k − 1 valores iniciais.

Exemploxk = xk−1 + xk−2

Partindo de x0 = 1 e x1 = 1 temos x2 = x1 + x0 = 2,x3 = x2 + x1 = 2 + 1 = 3, x4 = x3 + x2 = 3 + 2 = 5 gera uma sequênciacom os números de Fibonacci.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 23 / 216

Page 24: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Convergência

Uma sequência iterativa diz-se convergente quando

limk→∞

xk = x∗

Convergência superlinear

limk→+∞

|x∗ − xk+1||x∗ − xk|1.618 = L ou lim

k→+∞

|x∗ − xk+1||x∗ − xk|

= 0

Convergência quadrática

limk→+∞

|x∗ − xk+1||x∗ − xk|2

= L

A. Ismael F. Vaz (UMinho) MN C 2007/2008 24 / 216

Page 25: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Critério de Paragem

A sequência de aproximações pode ser infinita. Como se pretende obteruma aproximação à solução implementa-se um critério de paragem.

Estimativa do erro relativo

dk =|xk+1 − xk||xk+1|

≤ ε1

Valor da função|f(xk+1)| ≤ ε2

Número máximo de iterações

k ≥ nmax

A. Ismael F. Vaz (UMinho) MN C 2007/2008 25 / 216

Page 26: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Método dos gráficos

Uma aproximação ao zero da função f(x) pode obter-se

pela intersecção do gráfico de f(x) com o eixo dos xx;se f(x) = g(x)− h(x) os zeros de f(x) são os pontos de intersecçãode g(x) com h(x).

O método dos gráficos é frequentemente usado para obtermos umaaproximação inicial para outros métodos mais precisos.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 26 / 216

Page 27: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Exemplo

f(x) = ex + x g(x) = ex h(x) = −x

−1 −0.9 −0.8 −0.7 −0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

f(x)

h(x)

g(x)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 27 / 216

Page 28: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Método da bissecção

Se f(xi)f(xs) < 0 então existe um número ímpar de raízes de f(x) nointervalo [xi, xs].

Aproxima-se da raiz calculando xk = xi+xs2 , k = 1, 2, . . .

Considera-se o intervalo

[xi, xk] se f(xi)f(xk) < 0 e faz-se xs ← xk

ou[xk, xs] se f(xk)f(xs) < 0 e faz-se xi ← xk

A. Ismael F. Vaz (UMinho) MN C 2007/2008 28 / 216

Page 29: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Interpretação gráfica (Bissecção)

f(x) = ex + x

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

0

2

4

6

8

10

x

f(x)

xs

xi

xk

xs

xk+1

A. Ismael F. Vaz (UMinho) MN C 2007/2008 29 / 216

Page 30: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Método da secante

Método iterativo em que se fornece o x1 e x2 (a raiz não estánecessariamente no intervalo [x1, x2]). O próximo valor é calculado pelaseguinte fórmula (equação iterativa):

xk+1 = xk −(xk − xk−1)f(xk)f(xk)− f(xk−1)

, k = 2, 3, . . .

Zeros complexos: O método da secante também calcula zeros complexos,bastando para isso usar aritmética complexa.

Convergência: A convergência do método da Secante depende do valor deM2m ser pequeno. M é o max |f ′′(ξ)| e m é o min |f ′(η)|, onde ξ, η ∈ I.

εk+1 = − f ′′(ξ)2f ′(η)

εk−1εk

A. Ismael F. Vaz (UMinho) MN C 2007/2008 30 / 216

Page 31: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Interpretação gráfica (Secante)

f(x) = ex + x

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

0

2

4

6

8

10

x

f(x)

xk xk−1 xk+1 xk+2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 31 / 216

Page 32: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Método de Newton

Método iterativo em que se fornece o x0. O próximo valor é calculado pelaseguinte formula (equação iterativa):

xk+1 = xk −f(xk)f ′(xk)

, k = 1, 2, ...

Zeros complexos: O método de Newton também calcula zeroscomplexos, bastando para isso usar aritmética complexa.

Convergência: A convergência do método de Newton depende do valor deM2m ser pequeno. M é o max |f ′′(ξ)| e m é o min |f ′(η)|, onde ξ, η ∈ I.

εk+1 = − f ′′(ξ)2f ′(η)

ε2k

A. Ismael F. Vaz (UMinho) MN C 2007/2008 32 / 216

Page 33: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Interpretação gráfica (Newton)

f(x) = ex + x

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

0

2

4

6

8

10

x

f(x)

xk xk+1 xk+2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 33 / 216

Page 34: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Principais propriedades

Ambos possuem convergência local. Superlinear no caso do métododa secante e quadrática no método de newton.

O método da secante não usa derivadas.

O método da secante e de Newton podem falhar quando odenominador da equação iterativa é próximo de zero, i.e., quandof(xk) ≈ f(xk−1) ou f ′(xk) ≈ 0.

O método da secante e de Newton não convergem necessariamentepara o zero mais próximo da aproximação inicial.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 34 / 216

Page 35: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Zeros de funções

Exemplo ex + x = 0

Método de Newton com x0 = −0.5, ε1 = 0.5, ε2 = 0.1, nmax = 2.

Temos então que f(x) = ex + x e que f ′(x) = ex + 1.

1a iteração x0 = −0.5

f(−0.5) = e−0.5 − 0.5 = 0.1065 e f ′(−0.5) = 1.6065.

x1 = x0 − f(−0.5)f ′(−0.5) = −0.5− 0.1065

1.6065 = −0.5665

CP:

f(−0.5665) = 1.0082× 10−3 ≤ 0.1 (Verdadeiro)

|x1−x0||x1| = |−0.56665+0.5|

|−0.5665| = 0.1174 ≤ 0.5 (Verdadeiro)

O processo iterativo pára com x∗ ≈ x1 = −0.5665.

E se o ε1 fosse 0.1?A. Ismael F. Vaz (UMinho) MN C 2007/2008 35 / 216

Page 36: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 36 / 216

Page 37: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Forma geral do problema

a11x1+ a12x2+ · · ·+ a1nxn = b1

a21x1+ a22x2+ · · ·+ a2nxn = b2

. . .an1x1+ an2x2+ · · ·+ annxn = bn

É um sistema com n equações lineares nas n incógnitas, x1, x2, . . . , xn. Osistema pode ser escrito na forma matricial Ax = b

a11 a12 . . . a1n

a21 a22 . . . a2n

. . .an1 an2 . . . ann

x1

x2

. . .xn

=

b1

b2

. . .bn

A. Ismael F. Vaz (UMinho) MN C 2007/2008 37 / 216

Page 38: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Exemplo

3 2 −29 7 −96 8 −8

x1

x2

x3

=

111

É um sistema linear de dimensão 3× 3. A matriz dos coeficientes

A =

3 2 −29 7 −96 8 −8

∈ R3×3 e o vector b = (1, 1, 1)T ∈ R3 é o vector dos

termos independentes.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 38 / 216

Page 39: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Definições

A característica de uma matriz A, c(A), é o número máximo de linhasparalelas, ou colunas, linearmente independentes que existem namatriz.Para que um sistema seja possível e determinado temos de terc(A) = n. Caso contrário (c(A) < n) o sistema é indeterminado ouimpossível.À matrix (A|b) que se obtém ampliando A com a coluna do termoindependente b chama-se matriz ampliada do sistema.Triangular superior (inferior): É uma matriz em que os elementosabaixo (acima) da diagonal principal são zeros.Tridiagonal: Matriz em que aij = 0, se |i− j| ≥ 2, i, j = 1, . . . , n.Uma matriz com muitos elementos nulos diz-se esparsa.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 39 / 216

Page 40: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Tipos de métodos

Métodos directos e estáveis. Métodos que calculam a solução exactado sistema ao fim de um número finito de operações elementares, casonão ocorram erros de arredondamento.

Matrizes dos coeficientes densas e de pequena dimensão.

Métodos iterativos. Métodos que definem uma sequência infinita deoperações, determinando uma sequência de aproximações, cujo limiteé a solução exacta do sistema.

Matrizes dos coeficientes esparsas e de grande dimensão.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 40 / 216

Page 41: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Estabilidade numérica

Considere-se o seguinte sistema linear:{0.0001x1+ x2 = 1.0001

x1+ x2 = 2

cuja solução é x = (1, 1)T . Usando aritmética de três algarismossignificativos e considerando o multiplicador igual a− 1

0.100×10−3 = −0.100× 105, surge o sistema condensado{0.100× 10−3x1+ x2 = 0.100× 101

− 0.1× 105x2 = −0.1× 105

cuja solução é x = (0, 1)T !!!

A. Ismael F. Vaz (UMinho) MN C 2007/2008 41 / 216

Page 42: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Motivação - Continuação

Se nas mesmas condições usarmos a pivotagem parcial temos{x1+ x2 = 2

0.100× 10−3x1+ x2 = 0.100× 101

m = −0.100×10−3

1 = −0.100× 10−3

{x1+ x2 = 2

x2 = 0.100× 101

cuja solução é x = (1, 1)T .

A. Ismael F. Vaz (UMinho) MN C 2007/2008 42 / 216

Page 43: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Eliminação de Gauss com Pivotagem Parcial (EGPP)

Corresponde a eliminação de Gauss, mas em que a linha usada naeliminação dos elementos da coluna das linhas seguintes é o maior emmódulo.Exemplo: 3 2 −2

9 7 −96 8 −8

∣∣∣∣∣∣111

→ 9 7 −9

3 2 −26 8 −8

∣∣∣∣∣∣111

m21 = −39

m31 = −69 9 7 −9

0 −0.333333 10 3.333333 −2

∣∣∣∣∣∣1

0.6666670.333333

=

A. Ismael F. Vaz (UMinho) MN C 2007/2008 43 / 216

Page 44: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Eliminação de Gauss com Pivotagem Parcial (EGPP)

9 7 −90 3.333333 −20 −0.333333 1

∣∣∣∣∣∣1

0.3333330.666667

m32 = −−0.333333

3.333333 = 0.1=

9 7 −90 3.333333 −20 0 0.8

∣∣∣∣∣∣1

0.3333330.7

A. Ismael F. Vaz (UMinho) MN C 2007/2008 44 / 216

Page 45: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Substituição inversa

Quando a matriz é triangular superior pode-se determinar a soluçãodirectamente, através da substituição inversa.Exemplo 9 7 −9

0 3.333333 −20 0 0.8

∣∣∣∣∣∣1

0.3333330.7

vem que

x3 =0.70.8

= 0.875, x2 =0.333333− (−2)× 0.875

3.333333= 0.625

x1 =1− (−9)× 0.875− 7× 0.625

9= 0.5

A. Ismael F. Vaz (UMinho) MN C 2007/2008 45 / 216

Page 46: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Substituição directa

Quando a matriz é triangular inferior pode-se determinar a soluçãodirectamente, através da substituição directa.Exemplo 1 0 0

2 1 03 2 1

∣∣∣∣∣∣234

vem que

x1 =21

= 2, x2 =3− 2× 2

1= −1

x3 =4− 3× 2− 2× (−1)

1= 0

A. Ismael F. Vaz (UMinho) MN C 2007/2008 46 / 216

Page 47: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Decomposição LU

Da eliminação de Gauss com Pivotagem Parcial resulta

(A |I )→ (U |J )

Exemplo(1 2 1 02 1 0 1

)→(

2 1 0 11 2 1 0

)→(

2 1 0 10 1.5 1 −0.5

)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 47 / 216

Page 48: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Determinantes de Matrizes

det(A) = (−1)sn∏

i=1

uii

onde uii corresponde aos elementos da diagonal da matriz U e s é onúmero de trocas de linhas para obter a matriz U .Exemplo

det

(1 22 1

)= (−1)1det

(2 10 1.5

)= (−1)1 × 2× 1.5 = −3

A. Ismael F. Vaz (UMinho) MN C 2007/2008 48 / 216

Page 49: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Cálculo da Inversa de Matrizes

A matriz inversa de A (A−1) verifica

AA−1 = I = A−1A.

O cálculo da matriz inversa reduz-se a resolução de n sistemas lineares daforma

Axj = ej , j = 1, . . . , n,

em que os vectores independentes ej são as colunas da matriz identidade.O vector solução xj corresponde à coluna j da matriz inversa.Na prática resolve-se os n sistemas em simultâneo, i.e., resolve-se aequação

(U |J )

por substituição inversa.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 49 / 216

Page 50: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Cálculo da Inversa de Matrizes - Exemplo

(1 2 1 02 1 0 1

)→(

2 1 0 11 2 1 0

)→(

2 1 0 10 1.5 1 −0.5

)(

2 1 00 1.5 1

)→{

x11 = 0−1×0.66672 = −0.3334

x21 = 11.5 = 0.6667(

2 1 10 1.5 −0.5

)→{

x12 = 1−1×(−0.3333)2 = 0.6667

x22 = −0.51.5 = −0.3333

A inversa de(

1 22 1

)é(−0.3334 0.6667

0.6667 −0.3333

)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 50 / 216

Page 51: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Métodos iterativos

Nos métodos iterativos a solução exacta só é obtida ao fim de umasequência infinita de operações.O processo parte de uma aproximação inicial para a solução do sistema eusa uma equação iterativa da forma

Mx(k+1) = Nx(k) + b, para k = 1, 2, . . .

Os métodos em que M e N não dependem de k dizem-se estacionários.Os métodos de Jacobi e Gauss-Seidel são métodos estacionário.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 51 / 216

Page 52: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Método Iterativo Jacobi

D matriz dos elementos da diagonal principal, L matriz dos simétricos doselementos abaixo da diagonal principal e U matriz dos simétricos doselementos acima da diagonal principal.O método de Jacobi usa a partição de A em D − (L + U), i.e, M = D eN = L + UA equação iterativa fica

Dx(k+1) = (L + U)x(k) + b ou x(k+1) = D−1(L + U)x(k) + D−1b

A matriz iteração é

CJ = M−1N = D−1(L + U)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 52 / 216

Page 53: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Método Iterativo Gauss-Seidel

M = D − L

N = U

A equação iterativa fica

Mx(k+1) = Nx(k) + b ou x(k+1) = M−1Nx(k) + M−1b

A matriz iteração é

CGS = M−1N = (D − L)−1U.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 53 / 216

Page 54: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Critério de Paragem

Erro relativo na aproximação∥∥x(k+1) − x(k)∥∥∥∥x(k+1)

∥∥ < ε1

Resíduo ∥∥∥Ax(k+1) − b∥∥∥ < ε2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 54 / 216

Page 55: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Convergência dos métodos iterativos

Condições suficientesA simétrica e definida positiva =⇒ GS exibe convergência global;A é estrita e diagonalmente dominante =⇒ J e GS exibemconvergência global;‖C‖p < 1, para qualquer normal p, =⇒ J e GS exibem convergênciaglobal;

C é a matriz iteração de Jacobi ou Gauss-Seidel.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 55 / 216

Page 56: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Algumas definições

Uma matriz A diz-se simétrica se A = AT .Uma matriz é definida positiva se dT Ad > 0, ∀d 6= 0. É equivalente averificar que todos os determinante das sub-matrizes principais sãomaiores do que zero.Uma matriz A diz-se estrita e diagonalmente dominante se|aii| >

∑nj=1j 6=i

|aij |, i = 1, . . . , n

A. Ismael F. Vaz (UMinho) MN C 2007/2008 56 / 216

Page 57: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Exemplo - convergência de Gauss-Seidel

Considere-se a seguinte matriz dos coeficientes de um sistema linear

A =(

3 11 2

)Como a A = AT a matriz é simétrica.(

3 11 2

)det(|3|) = 3 > 0 det(A) = 3× 2− 1× 1 = 5 > 0

Logo A é simétrica e definida positiva e o método de Gauss-Seidelconverge.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 57 / 216

Page 58: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Exemplo - convergência de Jacobi

Considere-se o seguinte sistema(1 2 13 1 1

)Como |1| ≯ |2| a matriz dos coeficientes não é estrita e diagonalmentedominante e nada se pode concluir acerca da convergência do método deJacobi. No entanto se trocarmos as linhas temos(

3 1 11 2 1

)e como |3| > |1| e |2| > |1| a matriz é estrita e diagonalmente dominante,logo o método de Jacobi converge.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 58 / 216

Page 59: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Exemplo - convergência de Jacobi

Considere-se a seguinte matriz dos coeficientes de um sistema linear

A =(

3 23 1

)Como |3| > |2|, mas |1| ≯ |3| a matriz dos coeficientes não é estrita ediagonalmente dominante e nada se pode concluir acerca da convergênciado método de Jacobi.

D =(

3 00 1

)L =

(0 0−3 0

)U =

(0 −20 0

)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 59 / 216

Page 60: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Continuação

CJ = D−1(L + U) =(

0.3333 00 1

)(0 −2−3 0

)=(

0 −0.6666−3 0

)Como

‖CJ‖∞ = max{|0|+ | − 0.6666|, | − 3|+ |0|} = 3 ≥ 1

e‖cJ‖1 = max{|0|+ | − 3|, | − 0.6666|+ |0|} = 3 ≥ 1

nada se pode concluir acerca da convergência do método de Jacobi.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 60 / 216

Page 61: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Uma iteração do método de Gauss-Seidel

Considere-se o seguinte sistema linear

A =(

3 1 11 2 1

),

x(1) = (0, 0)T e ε1 = ε = 0.1

D =(

3 00 2

)L =

(0 0−1 0

)U =

(0 −10 0

)Equação iterativa é

(D − L)x(k+1) = Ux(k) + b

A. Ismael F. Vaz (UMinho) MN C 2007/2008 61 / 216

Page 62: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas lineares

Continuação

1a iteração(3 01 2

)x(2) =

(0 −10 0

)(00

)+(

11

)=(

11

)(

3 0 11 2 1

)→

{x

(2)1 = 1

3 = 0.3333x

(2)2 = 1−1×0.3333

2 = 0.3334

C.P.

∥∥x(2) − x(1)∥∥∥∥x(2)

∥∥ =

∥∥∥∥( 0.33330.3334

)−(

00

)∥∥∥∥∞∥∥∥∥( 0.3333

0.3334

)∥∥∥∥∞

=0.33340.3334

= 1 ≮ 0.1

Como o critério não se verifica deve-se continuar com a próxima iteração.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 62 / 216

Page 63: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 63 / 216

Page 64: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Sistemas de equações não lineares

Forma geral do problemaf1(x1, x2, . . . , xn) = 0f2(x1, x2, . . . , xn) = 0. . .fn(x1, x2, . . . , xn) = 0

em que f = (f1, f2, . . . , fn)T é um vector de funções pelo menos uma vezcontinuamente diferenciáveis.Pretende-se determinar um x∗ = (x∗1, x

∗2, . . . , x

∗n)T tal que

f(x∗) = (0, 0, . . . , 0)T = 0.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 64 / 216

Page 65: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Fórmula de Taylor a uma dimensão

Se f : R→ R for l + 1 vezes diferenciável temos que

f(x) =l∑

k=0

f (k)(a)k!

(x− a)k +f (l+1)(ξ)(l + 1)!

(x− a)l+1

com ξ ∈ [a, x] e a função definida em torno de a.

Exemplo: Valor da função em x(k+1) definido em torno de x(k).

f(x(k+1)) ≈ f(x(k)) + f ′(x(k))(x(k+1) − x(k))

ou seja, quando se pretende que f(x(k+1)) = 0 vem

x(k+1) = x(k) − f(x(k))f ′(x(k))

Eq. it. do método de Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 65 / 216

Page 66: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Fórmula de Taylor para dimensão n

Se f : Rn → Rn temos que

f(x(k+1)) ≈ f(x(k))+∂f1(x(k))

∂x1

∂f1(x(k))∂x2

. . . ∂f1(x(k))∂xn

∂f2(x(k))∂x1

∂f2(x(k))∂x2

. . . ∂f2(x(k))∂xn

. . .∂fn(x(k))

∂x1

∂fn(x(k))∂x2

. . . ∂fn(x(k))∂xn

x(k+1)1 − x

(k)1

x(k+1)2 − x

(k)2

. . .

x(k+1)n − x

(k)n

e deduzindo a equação iterativa do método de Newton para sistemas deequações não lineares temos,

J(x(k))∆(k)x = −f(x(k)), com x(k+1) = x(k) + ∆(k)

x

em que J(x) é o Jacobiano da função.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 66 / 216

Page 67: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Critério de paragem

‖x(k+1) − x(k)‖2‖x(k+1)‖2

=‖∆(k)

x ‖2‖x(k+1)‖2

≤ ε1

Se ‖x(k+1)‖2 é zero, ou próximo de zero, então o critério deve ser‖∆(k)

x ‖2 ≤ ε1

‖f(x(k+1))‖2 ≤ ε2

Número máximo de iterações.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 67 / 216

Page 68: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Propriedades

Convergência local quadrática.

Determina a solução de um sistema linear numa única iteração.

Inconveniente do cálculo do Jacobiano. (Também existe um métododa secante para sistemas.)

O método falha quando o Jacobiano é singular (nova aproximaçãoinicial).

O método de Newton não converge necessariamente para a soluçãomais próxima da aproximação inicial.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 68 / 216

Page 69: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Um exemplo

Considere-se o seguinte sistema não linear{3x2 + 2y2 = 354x2 − 3y2 = 24

cujo Jacobiano é J(x, y) =(

6x 4y8x −6y

)Temos

f(x, y) =(

3x2 + 2y2 − 354x2 − 3y2 − 24

)e a aproximação inicial é (x, y)(1) = (2.5, 2). Pretende-se determinar asolução com uma precisão de ε1 = ε2 = 10−1.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 69 / 216

Page 70: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Continuação

1a iteração

J((x, y)(1)) = J(2.5, 2) =(

15 820 −12

)f((x, y)(1)) = f(2.5, 2) =

(−8.25−11

)

(15 8 8.2520 −12 11

)→(

20 −12 1115 8 8.25

)→(

20 −12 110 17 0

)→ ∆(1)

(x,y) =(

0.550

)e (x, y)(2) = (x, y)(1) + ∆(1)

(x,y) = (3.05, 2)T

A. Ismael F. Vaz (UMinho) MN C 2007/2008 70 / 216

Page 71: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Resolução de sistemas não lineares

Continuação

C.P. ∥∥∥f ((x, y)(2))∥∥∥

∞=∥∥∥∥( 0.9075

1.21

)∥∥∥∥∞

= 1.21 � ε2 = 0.1

Como o critério não se verifica faz-se uma nova iteração.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 71 / 216

Page 72: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 72 / 216

Page 73: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Motivação

Pretende-se determinar uma função aproximação que descreva o melhorpossível o comportamento de um conjunto de pontos (x0, f0), (x1, f1),. . . , (xm, fm).

Este conjunto de pontos pode ter sido obtido de:

observações de uma experiência (função desconhecida);uma função complexa cujo cálculo é difícil (função pode serconhecida).

A função aproximação server para:formular um modelo matemático que descreve o processo em causa;obter valores da função em pontos que são desconhecidos.

Problema: Como implementar a função sin(x) num microcontrolador?

A. Ismael F. Vaz (UMinho) MN C 2007/2008 73 / 216

Page 74: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Continuação

Pretende-se então, dado um conjunto de pontos (xi, fi), i = 1, . . . ,m,determinar uma função aproximação p(x) que melhor descreve ocomportamento dos dados, de acordo com uma certa medida.

No nosso caso vamos apenas considerar funções aproximação polinomiais,i.e., pn(x) é um polinómio interpolador de grau n.

Para construirmos o polinómio interpolador de Newton são necessárias asdiferenças divididas.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 74 / 216

Page 75: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Diferenças divididas com espaçamento não constante

Considere-se uma função f(x) tabelada em m + 1 pontos x0, x1, . . . , xm

não igualmente espaçados.

Diferenças divididas de primeira ordem são

[xj , xj+1] =fj − fj+1

xj − xj+1j = 0, . . . ,m− 1

onde fj = f(xj).

A diferença dividida de primeira ordem corresponde ao declive da recta quepassa em (xj , fj) e (xj+1, fj+1).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 75 / 216

Page 76: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Continuação

As diferenças divididas de segunda ordem são

[xj , xj+1, xj+2] =[xj , xj+1]− [xj+1, xj+2]

xj − xj+2, j = 0, . . . ,m− 2.

As diferenças divididas de ordem n são

[xj , xj+1, . . . , xj+n] =[xj , xj+1, . . . , xj+n−1]− [xj+1, xj+2, . . . , xj+n]

xj − xj+n

para j = 0, . . . ,m− n.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 76 / 216

Page 77: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Tabela das diferenças divididas

x0 f0[x0, x1]

x1 f1 [x0, x1, x2][x1, x2] [x0, x1, x2, x3]

x2 f2 [x1, x2, x3][x2, x3] [x1, x2, x3, x4]

. . . . . . [x0, . . . , xm−1, xm]xm−2 fm−2 [xm−3, xm−2, xm−1]

[xm−2, xm−1] [xm−3, xm−2, xm−1, xm]xm−1 fm−1 [xm−2, xm−1, xm]

[xm−1, xm]xm fm

A. Ismael F. Vaz (UMinho) MN C 2007/2008 77 / 216

Page 78: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Exemplo

xi fi dd1 dd2 dd3 dd4 dd51 2

0.50003 3 0.1667

1.0000 −0.06674 4 −0.1667 0.0250

0.5000 0.0833 −0.00436 5 0.1667 −0.0139

1.0000 −0.01397 6 0.0833

1.333310 10

A. Ismael F. Vaz (UMinho) MN C 2007/2008 78 / 216

Page 79: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Propriedades das diferenças divididas

Simétrica nos argumentos, i.e., é independente da ordem dos argumentos;Exemplo

xi fi

6 51.0000

7 6 0.08331.3333

10 10

xi fi

7 61.3333

10 10 0.08331.25

6 5

A. Ismael F. Vaz (UMinho) MN C 2007/2008 79 / 216

Page 80: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Propriedades das diferenças divididas

Se fj = uj + vj para valores de xj , j = 0, . . . ,m então a tabela das DD def é igual à soma das tabelas das DD de u e v.Exemplo: f(x) = sin(x) + ex, u(x) = sin(x) e v(x) = ex.

xi ui

1 0.84150.0678

2 0.9093 −0.4180−0.7682

3 0.1411

xi vi

1 2.71834.6708

2 7.3891 4.012812.6964

3 20.0855

xi fi

1 3.55984.7386

2 8.2984 3.594811.9282

3 20.2266

A. Ismael F. Vaz (UMinho) MN C 2007/2008 80 / 216

Page 81: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Propriedades das diferenças divididas

A diferença dividida de cf(x), com c constante, é igual ao produto dadiferença dividida de f(x) por c.Exemplo: f(x) = sin(x), cf(x) = 2 sin(x)

xi fi

1 0.84150.0678

2 0.9093 −0.4180−0.7682

3 0.1411

xi 2fi

1 1.68300.1356

2 1.8186 −0.8360−1.5364

3 0.2822

A. Ismael F. Vaz (UMinho) MN C 2007/2008 81 / 216

Page 82: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Propriedades das diferenças divididas

As diferenças divididas de ordem n da função xn são iguais a 1 e as deordem r > n são nulas. Como consequência as diferenças divididas deordem n de um polinómio de ordem n são iguais e diferentes de zero.Exemplo: f(x) = x2 + 3x + 1

xi fi dd1 dd2 dd3 dd4−1 −1

20 1 1

4 01 5 1 0

6 02 11 1

83 19

A. Ismael F. Vaz (UMinho) MN C 2007/2008 82 / 216

Page 83: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Fórmula interpoladora de Newton

Das definições das diferenças divididas pode-se concluir que

f(x) = f0 + (x− x0)[x0, x] = f0 + (x− x0)f(x)− f0

x− x0

[x0, x] = [x0, x1] + (x− x1)[x0, x1, x][x0, x1, x] = [x0, x1, x2] + (x− x2)[x0, x1, x2, x]. . .

[x0, x1, . . . , xn−1, x] = [x0, x1, . . . , xn−1, xn] + (x− xn)[x0, x1, . . . , xn−1, xn, x]. . .

deduzindo-se a fórmula interpoladora de Newton

f(x) = f0 + (x− x0)[x0, x1] + (x− x0)(x− x1)[x0, x1, x2] + · · ·+(x− x0) . . . (x− xn−1)[x0, x1, . . . , xn] + · · ·

A. Ismael F. Vaz (UMinho) MN C 2007/2008 83 / 216

Page 84: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Polinómio interpolador de Newton

O polinómio interpolador de grau n obtém-se usado apenas n + 1 termosda fórmula interpoladora de Newton,

pn(x) = f0 + (x− x0)[x0, x1] + (x− x0)(x− x1)[x0, x1, x2] + · · ·+(x− x0) . . . (x− xn−1)[x0, x1, . . . , xn]

e temos queR(x) = f(x)− pn(x) = (x− x0)(x− x1) . . . (x− xn−1)(x− xn)f (n+1)(ξ)

(n+1)! ,ξ ∈ [x0, xn].

A. Ismael F. Vaz (UMinho) MN C 2007/2008 84 / 216

Page 85: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Diferenças divididas e derivadas

Da dedução da fórmula do erro de truncatura temos que

[x0, x1, . . . , xn] =f (n)(ξ)

n!, ξ ∈ [x0, xn],

ou seja, as diferenças divididas de primeira ordem são aproximações asprimeiras derivadas e a diferença dividida de ordem n é uma aproximação àderivada de ordem n da função sobre n!.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 85 / 216

Page 86: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Determinação do polinómio interpolador

Em geral temos que m > n. Para construirmos o polinómio interpolador degrau n são necessários n + 1 pontos. A escolha dos pontos está relacionadacom o valor de x̄ para o qual se pretende obter uma estimativa da funçãof(x̄).

A escolha dos pontos deve obedecer as seguintes regras:os pontos xj e xj+1 em que xj < x̄ < xj+1 devem ser incluídos.os restantes, até formar os n + 1 necessários, são aqueles que estãomais próximos de x̄.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 86 / 216

Page 87: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Exemplo

Considere-se a seguinte tabela de pontos

i 0 1 2 3 4 5xi 1 3 4 6 7 10fi 2 3 4 5 6 10

pretende-se obter uma estimativa de f(8) através usando uma interpolaçãoquadrática (polinómio de colocação de grau 2).Precisamos de 3 pontos para construir o polinómio de grau 2. x4 e x5

devem ser incluídos, uma vez que x4 < 8 < x5, e o restante será o x3.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 87 / 216

Page 88: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Continuação

Construindo a tabela das diferenças divididas temos que

xi fi

6 51.0000

7 6 0.08331.3333

10 10

e p2(x) = 5 + (x− 6)× 1 + (x− 6)(x− 7)× 0.0833, ficandof(8) ≈ p2(8) = 5 + (8− 6)× 1 + (8− 6)(8− 7)× 0.0833 = 7.1666.Nota: x0 = 6, x1 = 7, e x2 = 10 para efeitos do cálculo do polinómio.Sendo o polinómio interpolador único qualquer combinação de pontosresulta no mesmo polinómio.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 88 / 216

Page 89: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Continuação

xi fi

7 61.3333

10 10 0.08331.25

6 5

e p2(x) = 6 + (x− 7)× 1.3333 + (x− 7)(x− 10)× 0.0833, ficandof(8) ≈ p2(8) = 6 + (8− 7)× 1.333 + (8− 7)(8− 10)× 0.0833 = 7.1667.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 89 / 216

Page 90: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Cálculo do majorante do erro absoluto

ET (x) =

∣∣∣∣∣(x− x0)(x− x1)(x− x2)f (3)(ξ)

3!

∣∣∣∣∣ , ξ ∈ [6, 10]

Como necessitámos de uma estimativa para f (3)(ξ) e a função f(x) édesconhecida vamos usar as diferenças divididas para a obter.

Com os pontos usados na construção do polinómio não é possível obteruma diferença dividida de ordem 3 e por isso vamos acrescentar mais umponto à tabela anterior.

É indiferente inserir o ponto no início ou no final da tabela, uma vez que ovalor de dd3 será o mesmo.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 90 / 216

Page 91: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Interpolação polinomial

Continuação

xi fi

4 40.5000

6 5 0.16671.0000 −0.0139

7 6 0.08331.3333

10 10

ET (8) = |(8− 6)(8− 7)(8− 10)× (−0.0139)| = 0.0556

A. Ismael F. Vaz (UMinho) MN C 2007/2008 91 / 216

Page 92: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 92 / 216

Page 93: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Mínimos quadrados lineares

MotivaçãoOs mínimos quadrados são usados quando os dados obtidos para umadeterminada função f(x) estão afectados de erros (ou ruídos). Neste casonão faz muito sentido usar uma interpolação, mas sim construir umafunção que reflicta, na generalidade, o comportamento dos dados.

ExemploSuponhamos que se pretende estimar o consumo de um automóvel emfunção da velocidade. Através da realização de várias experiênciaschegou-se aos seguintes valores:

xi(velocidade - km/h) 20 40 50 60 60 70 80fi(consumo l/100km) 5.5 5.6 5.7 5.9 5.85 6.1 7.5

A. Ismael F. Vaz (UMinho) MN C 2007/2008 93 / 216

Page 94: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Cont.

Seria correcto usar um polinómio interpolador para modelar a função f(x)?

20 30 40 50 60 70 805.4

5.6

5.8

6

6.2

6.4

6.6

6.8

7

7.2

7.4

Velocidade (km/h)

Con

sum

o (l/

100k

m)

O mais correcto seria determinar um polinómio de grau 2 (ou c1 + c2ex?)

que melhor se aproxima-se dos dados da tabela.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 94 / 216

Page 95: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Forma geral do problema - Caso discreto

Dado um conjunto de valores (xi, fi), i = 1, . . . ,m, pretende-se determinarum modelo M(x) que aproxima o melhor possível a função dada, ou seja,

minimizar〈f −M(x), f −M(x)〉

em que

〈g(x), h(x)〉 =m∑

i=1

ω(xi)g(xi)h(xi).

Pretende-se então

minimizar

m∑i=1

(fi −M(xi))2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 95 / 216

Page 96: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Caso polinomial - estabilidade numérica

No caso polinomial, ou seja, no caso em que M(x) = pn(x) e é usado oconjunto dos polinómios base {1, x, x2, . . . , xn−1, xn} na definição domodelo, temos que

M(x) = pn(x) = c0 + c1x + c2x2 + · · ·+ cn−1x

n−1 + cnxn

e a resolução do problema

minm∑

i=1

(fi − pn(xi))2

resulta num sistema linear mal condicionado.

A introdução dos polinómios ortogonais é suficiente para resolver oproblema de mau condicionamento.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 96 / 216

Page 97: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Polinómios ortogonais

Definições:Duas funções g(x) e h(x) dizem-se ortogonais se o seu produtoescalar for nulo, i.e., se 〈g(x), h(x)〉 = 0.A sequência P0(x), P1(x), . . . , Pn(x) forma uma sequência de n + 1polinómios ortogonais se os polinómios Pi(x), i = 0, . . . , n, foremortogonais dois a dois e cada Pi(x) for um polinómio de grau igual a i.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 97 / 216

Page 98: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Propriedades dos polinómios ortogonais

Os polinómios ortogonais Pn(x) são também linearmenteindependentes. Assim, qualquer polinómio pn(x), de grau n, pode serexpresso na seguinte forma única

pn(x) = c0P0(x) + c1P1(x) + · · ·+ cnPn(x),

como uma combinação linear de uma sequência de polinómiosortogonais.Os polinómios Pn(x) têm zeros reais e distintos que pertencem a[x1, xm].

A. Ismael F. Vaz (UMinho) MN C 2007/2008 98 / 216

Page 99: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Determinação dos polinómios ortogonais

Pi+1(x) = Ai(x−Bi)Pi(x)− CiPi−1(x), para i = 0, . . . , n− 1

sendo P−1(x) = 0, P0(x) = 1 e os coeficientes da relação

Ai = 1, para todo o i,

Bi =〈xPi(x), Pi(x)〉〈Pi(x), Pi(x)〉

, para todo o i,

C0 = 0 e Ci =〈Pi(x), Pi(x)〉〈Pi−1(x), Pi−1(x)〉

para i > 0.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 99 / 216

Page 100: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Determinação dos coeficientes

c0 =∑m

i=1 fiP0(xi)∑mi=1 P0(xi)2

, c1 =∑m

i=1 fiP1(xi)∑mi=1 P1(xi)2

, . . . ,

cn =∑m

i=1 fiPn(xi)∑mi=1 Pn(xi)2

sendo o modelo

pn(x) = c0P0(x) + c1P1(x) + · · ·+ cnPn(x).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 100 / 216

Page 101: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Exemplo

Determinação da recta (polinómio de grau 1) que melhor se ajusta (nosentido dos mínimos quadrados) aos dados da tabela

xi 20 40 50 60 60 70 80fi 5.5 5.6 5.7 5.9 5.85 6.1 7.5

O modelo a determinar será p1(x) = c0P0(x) + c1P1(x). Em primeiro lugardetermina-se os polinómios ortogonais. P0(x) = 1 por definição e

P1(x) = A0(x−B0)P0(x)− C0P−1(x)

com A0 = 1, C0 = 0, P−1(x) = 0 e

B0 =〈xP0(x), P0(x)〉〈P0(x), P0(x)〉

=∑7

i=1 xiP20 (xi)∑7

i=1 P 20 (xi)

=3807

= 54.285714

A. Ismael F. Vaz (UMinho) MN C 2007/2008 101 / 216

Page 102: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Cont.

Temos então que p1(x) = c0 + c1(x− 54.285714) e falta determinar oscoeficientes.

c0 =∑7

i=1 fiP0(xi)∑7i=1 P0(xi)2

=42.15

7= 6.021429

c1 =∑7

i=1 fiP1(xi)∑7i=1 P1(xi)2

=5.5(20− 54.285714) · · · 7.5(80− 54.285714)

(20− 54.285714)2 · · · (80− 54.285714)2

=62.5714412371.4286

= 0.026386 (0.026506 CoNum)

ficando p1(x) = 6.021429 + 0.026386(x− 54.285714)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 102 / 216

Page 103: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Exemplo - Interpretação gráfica

20 30 40 50 60 70 805

5.5

6

6.5

7

7.5

8

p1(x)

p2(x)

p2(x) = 6.021429 + 0.026506(x− 54.285714)+0.000946 ∗ ((x− 44.991394)(x− 54285714)− 338.775510)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 103 / 216

Page 104: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Modelo linear não polinomial - Caso discreto

Pretende-se determinar o modelo, linear nos coeficientes, que melhor seaproxima (no sentido dos mínimos quadrados) à função f(x). Sendo omodelo linear nos coeficientes pode-se escrever como

M(x) = c1φ1(x) + c2φ2(x) + · · ·+ cnφn(x)

ExemploM(x) = c1 + c2e

x

em que φ1(x) = 1 e φ2(x) = ex.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 104 / 216

Page 105: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Dedução das equações normais

Pretende-se

minimizarS ≡m∑

i=1

(fi − c1φ1(xi)− · · · − cnφn(xi))2

e derivando S em ordem aos ci, i = 1, . . . , n e igualando a zero, obtém-se

∂S

∂c1=

m∑i=1

(fi − c1φ1(xi)− · · · − cnφn(xi))φ1(xi) = 0

· · ·

∂S

∂cn=

m∑i=1

(fi − c1φ1(xi)− · · · − cnφn(xi))φn(xi) = 0

A. Ismael F. Vaz (UMinho) MN C 2007/2008 105 / 216

Page 106: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Sistema das equações normais

Na forma matricial vem0BBBBBBBBBBBB@

mXi=1

φ1(xi)φ1(xi)

mXi=1

φ1(xi)φ2(xi) ...

mXi=1

φ1(xi)φn(xi)

mXi=1

φ2(xi)φ1(xi)

mXi=1

φ2(xi)φ2(xi) ...

mXi=1

φ2(xi)φn(xi)

...... ......mX

i=1

φn(xi)φ1(xi)

mXi=1

φn(xi)φ2(xi) ...

mXi=1

φn(xi)φn(xi)

1CCCCCCCCCCCCA

0BBB@c1

c2

...

cn

1CCCA =

0BBBBBBBBBBBB@

mXi=1

fiφ1(xi)

mXi=1

fiφ2(xi)

...mX

i=1

fiφn(xi)

1CCCCCCCCCCCCA

A. Ismael F. Vaz (UMinho) MN C 2007/2008 106 / 216

Page 107: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Exemplo

Consideremos o exemplo já apresentado

xi(velocidade - km/h) 20 40 50 60 60 70 80fi(consumo l/100km) 5.5 5.6 5.7 5.9 5.85 6.1 7.5

pretendendo-se ajustar o modelo M(x) = c1 + c2ex20 à tabela dada. Temos

que φ1(x) = 1 e φ2(x) = ex20 , resolvendo o sistema linear (EGPP)( ∑7

i=1 1∑7

i=1 exi20

∑7i=1 fi∑7

i=1 exi20

∑7i=1 e

xi10

∑7i=1 fie

xi20

)

vem c1 = 5.231132, c2 = 0.036838 e consequentemente

M(x) = 5.231132 + 0.036838ex20 .

A. Ismael F. Vaz (UMinho) MN C 2007/2008 107 / 216

Page 108: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Exemplo - Gráfico

10 20 30 40 50 60 70 80 905

5.5

6

6.5

7

7.5

Velocidade (km/h)

Con

sum

o (l/

100k

m)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 108 / 216

Page 109: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Resíduo

O resíduo é determinado por

m∑i=1

(fi − c1φ1(xi)− · · · − cnφn(xi))2 .

No caso do polinómio de grau um, p1(x), temos um resíduo de 1.123193.Para o polinómio de grau 2 temos um resíduo de 0.302736 e no modelolinear um resíduo de 0.247494.O melhor modelo é o linear, porque tem menor resíduo.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 109 / 216

Page 110: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados lineares

Exemplo - Gráficos

10 20 30 40 50 60 70 80 905

5.5

6

6.5

7

7.5

Velocidade (km/h)

Con

sum

o (l/

100k

m)

p1(x)

p2(x)

M(x)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 110 / 216

Page 111: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 111 / 216

Page 112: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Forma geral do problema - Caso discreto

Dado um conjunto de valores (xi, fi), i = 1, . . . ,m, pretende-se determinarum modelo M(x) que aproxima o melhor possível a função dada, ou seja,

minimizarS =m∑

i=1

(fi −M(xi))2

em que o modelo M(x) é não linear nos coeficientes.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 112 / 216

Page 113: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Exemplo

Suponhamos que se pretende estimar o consumo de um automóvel emfunção da velocidade. Através da realização de várias experiênciaschegou-se aos seguintes valores:

xi(velocidade - km/h) 20 50 60 80fi(consumo l/100km) 5.5 5.7 5.9 7.5

Pretende-se ajustar o modelo

M(x) = c1 + ec2x

aos pontos da tabela, no sentido dos mínimos quadrados.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 113 / 216

Page 114: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Dedução das equações normais

Pretende-se

minimizarS ≡m∑

i=1

(fi −M(xi))2

e derivando S em ordem aos ci, i = 1, . . . , n e igualando a zero, obtém-se

∂S

∂c1= −

m∑i=1

(fi −M(xi))∂M(xi)

∂c1= 0

· · ·

∂S

∂cn= −

m∑i=1

(fi −M(xi))∂M(xi)

∂cn= 0

A. Ismael F. Vaz (UMinho) MN C 2007/2008 114 / 216

Page 115: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Sistema das equações normais

Uma vez que M(x) é não linear nos coeficiente o sistema resultante étambém não linear nos coeficientes

F1(c) = −m∑

i=1

(fi −M(xi))∂M(xi)

∂c1= 0

· · ·

Fn(c) = −m∑

i=1

(fi −M(xi))∂M(xi)

∂cn= 0

e vamos aplicar o método de Newton para sistemas não lineares.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 115 / 216

Page 116: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Método de Newton

A equação iterativa do método de Newton é

J(c)∆c = −F (c)

com ck+1 = ck + ∆c e em que o cada elemento do Jacobiano é

Jjk =∂Fj

∂ck=

m∑i=1

{∂M(xi)

∂ck

∂M(xi)∂cj

− (fi −M(xi))∂2M(xi)∂ck∂cj

},

para j, k = 1, . . . , n.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 116 / 216

Page 117: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Método de Gauss-Newton

Como, próximo da solução, se espera que

(fi −M(xi))

seja próximo de zero, o método de Gauss-Newton despreza o segundotermo dos elementos do Jacobiano, tomando como aproximação aoJacobiano a matriz A cujos elementos são

∂Fj

∂ck≈ Ajk =

m∑i=1

{∂M(xi)

∂ck

∂M(xi)∂cj

},

para j, k = 1, . . . , n.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 117 / 216

Page 118: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Resíduo

O resíduo é determinado por

S =m∑

i=1

(fi −M(xi))2 ,

sendo um resultado obtido em cada iteração do algoritmo deGauss-Newton.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 118 / 216

Page 119: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Exemplo - Uma iteração

Considere novamente o modelo M(x) = c1 + ec2x que se pretende ajustaraos pontos da tabela (c(1) = (3.7, 0.015)T e ε1 = ε2 = 0.1)

xi(velocidade - km/h) 20 50 60 80fi(consumo l/100km) 5.5 5.7 5.9 7.5

Temos que∂M(x)

∂c1= 1 e

∂M(x)∂c2

= xec2x

e consequentemente

F (c) =

4∑i=1

(fi − c1 − ec2xi)

−4∑

i=1

(fi − c1 − ec2xi) xiec2xi

.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 119 / 216

Page 120: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Exemplo - Cont.

A matriz aproximação do Jacobiano é

A(c) =

∑4i=1

(∂M(xi)

∂c1

)2 ∑4i=1

∂M(xi)∂c1

∂M(xi)∂c2∑4

i=1∂M(xi)

∂c2

∂M(xi)∂c1

∑4i=1

(∂M(xi)

∂c2

)2

A(c) =( ∑4

i=1 1∑4

i=1 xiec2xi∑4

i=1 xiec2xi

∑4i=1 (xie

c2xi)2

)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 120 / 216

Page 121: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Exemplo - 1a iteração

c(1) = (3.7, 0.015)T

xi fi M(xi)∂M(xi)

∂c2

(∂M(xi)

∂c2

)2

− (fi −M(xi))

20 5.5 5.0499 26.9972 728.8475 −0.450150 5.7 5.8170 105.8500 11204.2227 0.117060 5.9 6.1596 147.5762 21778.7309 0.259680 7.5 7.0201 265.6094 70548.3288 −0.4799

546.0328 104260.1299 −0.5534

− (fi −M(xi))∂M(xi)

∂c2(fi −M(xi))2

−12.1514 0.202612.3845 0.013738.3108 0.0674−127.4659 0.2303−88.9220 0.5140

A. Ismael F. Vaz (UMinho) MN C 2007/2008 121 / 216

Page 122: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Cont.

Temos então que S(1) = 0.5140 e o seguinte sistema linear para resolver(por EGPP)(

4 546.0328 0.5534546.0328 104260.1299 88.9220

)→ ∆c =

(0.07690.0005

)e consequentemente

c(2) = c(1) + ∆c =(

3.70.015

)+(

0.07690.0005

)=(

3.77690.0155

)Falta-nos confirmar que há decréscimo da função objectivo, i.e.,S(2) < S(1) e o critério de paragem.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 122 / 216

Page 123: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Cont.

c(2) = (3.7769, 0.0155)T

xi fi M(xi)∂M(xi)

∂c2− (fi −M(xi)) − (fi −M(xi))

∂M(xi)∂c2

20 5.5 5.1403 27.2685 −0.3597 −9.808550 5.7 5.9475 108.5296 0.2475 26.861160 5.9 6.3114 152.0706 −0.4114 −62.561880 7.5 7.2325 276.4491 0.2675 73.9501

−0.2561 28.4409

(fi −M(xi))2

0.12940.06130.16920.07160.4315

A. Ismael F. Vaz (UMinho) MN C 2007/2008 123 / 216

Page 124: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Critério de paragem

Temos então que 0.4315 = S(2) < S(1) = 0.5140,

F (c(2)) =(−0.256128.4409

)e∥∥∥F (c(2))

∥∥∥ = 28.4420 > ε2 = 0.01

por outro lado também temos que

‖∆c‖∥∥c(2)∥∥ =

∥∥∥∥( 0.07690.0005

)∥∥∥∥∥∥∥∥( 3.77690.0155

)∥∥∥∥ =0.07693.7769

= 0.0204 > ε1 = 0.01

e temos que passar para a próxima iteração.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 124 / 216

Page 125: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Mínimos quadrados não lineares

Gráfico com c(2)

O resíduo em c(2) é S(2) = 0.4314.

10 20 30 40 50 60 70 80 905

5.5

6

6.5

7

7.5

Velocidade (km/h)

Con

sum

o (l/

100k

m)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 125 / 216

Page 126: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 126 / 216

Page 127: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Forma geral do problema

Pretende-se calcular uma aproximação ao integral definido

I =∫ b

af(x)dx

com a e b constantes.A técnica a utilizar consiste na aproximação da função f(x) por umpolinómio interpolador, pn(x), e posteriormente aproxima-se I por∫ ba pn(x)dx.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 127 / 216

Page 128: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Motivação para a integração numérica

As situações mais frequentes onde se torna necessário calcular umaaproximação ao integral definido são:

a função primitiva não pode vir expressa em termos de funçõeselementares;a expressão da primitiva é muito complexa;a função integranda é conhecida apenas num conjunto discreto depontos.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 128 / 216

Page 129: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Fórmulas com intervalos de amplitudes constantes

Fórmulas Newton-Cotes (simples)As fórmulas simples são aplicadas a um intervalo que contém o númeromínimo de pontos para a interpolação entre a e b.Regra do Trapézio (n = 1)∫ b

af(x)dx ≈ b− a

2[f(a) + f(b)]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 129 / 216

Page 130: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Cont.

Regra de Simpson (n = 2)∫ b

af(x)dx ≈ b− a

6

[f(a) + 4f

(a + b

2

)+ f(b)

]

Regra dos 38 (n = 3, regra de Newton dos três oitavos)∫ b

af(x)dx ≈ b− a

8

[f(a) + 3f

(2a + b

3

)+ 3f

(a + 2b

3

)+ f(b)

]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 130 / 216

Page 131: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Interpretação geométrica - Trapézio

0 0.5 1 1.5 2 2.5 3 3.50

0.2

0.4

0.6

0.8

1

1.2

1.4

x

sin(

x)

p1(x)

sin(x)

I

p1(x) =sen(1) + sen(1)−sen(1.5)

1−1.5 (x− 1)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 131 / 216

Page 132: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Erro de truncatura

As fórmulas do erro de truncatura são deduzidas a partir da fórmula para oerro da interpolação polinomial.Regra do Trapézio

ETT = −(b− a)3

12f ′′(ξ), ξ ∈ [a, b]

Uma vez que ξ é um valor desconhecido calcula-se um majorante do erroabsoluto, através da expressão∣∣∣∣−(b− a)3

12M

∣∣∣∣ , em que M ≥ maxξ∈[a,b]

f ′′(ξ)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 132 / 216

Page 133: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Cont.

Regra de Simpson

ETS = −(b− a)5

2880f (iv)(ξ), ξ ∈ [a, b]

Regra dos 38

ET 38

= −(b− a)5

6480f (iv)(ξ), ξ ∈ [a, b]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 133 / 216

Page 134: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Fórmulas compostas - caso do Trapézio

Suponhamos que se pretende aplicar a regra do Trapézio a um conjunto depontos, igualmente espaçados, x0, x1, x2, . . . , xn, para determinar∫ xn

x0f(x)dx (dados os valores de f(x0) = f0, . . . , f(xn) = fn).

Como∫ xn

x0

f(x)dx =∫ x1

x0

f(x)dx +∫ x2

x1

f(x)dx + · · ·+∫ xn

xn−1f(x)dx

e ∫ x1

x0

f(x)dx ≈ x1 − x0

2[f0 + f1] ,∫ xi+1

xi

f(x)dx ≈ xi+1 − xi

2[fi + fi+1]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 134 / 216

Page 135: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Cont.

Temos então que∫ xn

x0

f(x)dx ≈ x1 − x0

2[f0 + f1] +

x2 − x1

2[f1 + f2] + . . .

+xn − xn−1

2[fn−1 + fn]

Usando o facto de que h = x1 − x0 = x2 − x1 = · · · = xn − xn−1, ecolocando em evidencia o termo h

2 vem que∫ xn

x0

f(x)dx ≈ h

2[f0 + 2f1 + 2f2 + · · ·+ 2fn−1 + fn]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 135 / 216

Page 136: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Cont.

As fórmulas compostas de Simpson e 38 são deduzidas de forma semelhante

à do Trapézio, mas no caso da regra de Simpson consideram-se múltiplosde 2 intervalos e no caso dos 3

8 múltiplos de 3 intervalos.

Composta de Simpson∫ xn

x0

f(x)dx ≈ h

3[f0 + 4f1 + 2f2 + 4f3 + · · ·+ 2fn−2 + 4fn−1 + fn]

Composta dos 38∫ xn

x0

f(x)dx ≈ 3h

8[f0 + 3f1 + 3f2 + 2f3 + · · ·+

+ · · ·+ 2fn−3 + 3fn−2 + 3fn−1 + fn]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 136 / 216

Page 137: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Erros de truncatura

As fórmulas dos erros de truncatura são deduzidas a partir da fórmula doerro de truncatura simples.Trapézio

ETT (h) =−n−1∑i=0

(xi+1 − xi)3

12f ′′(ξi) = −h2

12(b− a)

n

n−1∑i=0

f ′′(ξi)

=− h2

12(b− a)f ′′(η), η ∈ [a, b].

A. Ismael F. Vaz (UMinho) MN C 2007/2008 137 / 216

Page 138: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Cont.

Simpson

ETS(h) = − h4

180(b− a)f (iv)(η), η ∈ [a, b]

38

ET 38(h) = −h4

80(b− a)f (iv)(η), η ∈ [a, b]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 138 / 216

Page 139: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Intervalos de amplitudes variadas

Os intervalos de amplitudes variadas devem ser divididos em intervalos deamplitudes constantes e posteriormente aplicar-se as fórmulasNewton-Cotes.

Da análise das fórmulas do erro de truncatura conclui-se a aplicação dasseguintes regras (para valores de h ≤ 1):

quando o número de intervalos é par aplica-se a regra de Simpson;quando o número de intervalos é múltiplo de 3 aplica-se a regra dos 3

8 ;aplica-se a regra do trapézio nos restantes casos.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 139 / 216

Page 140: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Exemplo [Edite Fernandes, 1998, adaptado]

Um carro inicia um percurso, num dia de Inverno, e um aparelho mede oconsumo de gasolina no instante em que percorreu x km. Os resultadosregistados são:

x km 0.00 1.25 2.50 3.75 5.00 6.50 8.00 9.50 10.00f(x) l/hm 0.260 0.208 0.172 0.145 0.126 0.113 0.104 0.097 0.092

em que f(x) designa o consumo no fim do percurso, naquele instante, eml/km. Calcule o consumo total de gasolina no fim do percurso de 10km.∫ 10

0f(x)dx ≈1.25

3[0.260 + 4× 0.208 + 2× 0.172 + 4× 0.145 + 0.126]

+3× 1.5

8[0.126 + 3× 0.113 + 3× 0.104 + 0.097]

+0.52

[0.097 + 0.092]

A. Ismael F. Vaz (UMinho) MN C 2007/2008 140 / 216

Page 141: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Erro absoluto de truncatura

É a soma dos majorantes das fórmulas aplicadas. Como a função f(x) édesconhecida usamos uma tabela das diferenças divididas para as estimar.

ET =∣∣∣∣−1.254

180(5.00− 0.00)0.000102× 4!

∣∣∣∣+∣∣∣∣−1.54

80(9.50− 5.00)0.000016× 4!

∣∣∣∣+∣∣∣∣−0.52

12(10− 9.5)(−0.002667)× 2!

∣∣∣∣

A. Ismael F. Vaz (UMinho) MN C 2007/2008 141 / 216

Page 142: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Cont.

x f(x)0.00 0.260

-0.0416001.25 0.208 0.005120

-0.028800 -0.0005972.50 0.172 0.002880 0.000102

-0.021600 -0.0000853.75 0.145 0.002560 0.000007

-0.015200 -0.0000465.00 0.126 0.002376 -0.000055

-0.008667 -0.0003506.50 0.113 0.000889 0.000044

-0.006000 -0.0000998.00 0.104 0.000444 0.000016

-0.004667 -0.0000009.50 0.097 -0.002667

-0.01000010.00 0.092

A. Ismael F. Vaz (UMinho) MN C 2007/2008 142 / 216

Page 143: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Integração numérica

Falta cálculo de espaçamento dado o majorante do erro detruncatura

Pois...

A. Ismael F. Vaz (UMinho) MN C 2007/2008 143 / 216

Page 144: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 144 / 216

Page 145: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Forma geral do problema

A formulação matemática de um problema de optimização, na sua formamais geral, é

minx∈Rn

f(x)

s.a ci(x) = 0, i = 1, . . . ,m

cj(x) ≥ 0, j = m + 1, . . . , t

onde f(x) é a função objectivo, ci(x) = 0 são as restrições de igualdade ecj(x) ≥ são as restrições de desigualdade.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 145 / 216

Page 146: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Equivalência entre problemas

O problema de optimização (maximização)

maxx∈Rn

g(x)

s.a ci(x) = 0, i = 1, . . . ,m

c̃j(x) ≤ 0, j = m + 1, . . . , t

é equivalente ao problema de optimização (minimização)

minx∈Rn

f(x) ≡ −g(x)

s.a ci(x) = 0, i = 1, . . . ,m

cj(x) ≡ −c̃j(x) ≥ 0, j = m + 1, . . . , t

A. Ismael F. Vaz (UMinho) MN C 2007/2008 146 / 216

Page 147: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Interpretação geométrica

−1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−6

−4

−2

0

2

4

6

x

f(x)

, −f(

x)

x*

f(x*)

−f(x*)

f(x) = (x− 0.5)2 + 2g(x) = −f(x) = −(x− 0.5)2 − 2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 147 / 216

Page 148: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Exemplo

Pretende-se determinar o volume máximo de uma lata (cilindro), fechadanas duas extremidades, sabendo que a quantidade de chapa a usar é de1000 cm2. Sendo r o raio da tampa e h a altura da lata, uma possívelformulação do problema de optimização é

max(r,h)∈R2

πr2h

s.a 2πr2 + 2πrh = 1000

que pode ser transformado no problema de minimização

minx∈R2

−πx21x2

s.a 2πx21 + 2πx1x2 = 1000

A. Ismael F. Vaz (UMinho) MN C 2007/2008 148 / 216

Page 149: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Optimização sem restrições

Apenas iremos considerar problemas de minimização e sem restrições. Asua formulação é pois

minx∈Rn

f(x).

Classificação dos problemas (mais usuais)

Problemas unidimensionais (n = 1, ou seja, x ∈ R);

Problemas multidimensionais (n > 1, ou seja, x = (x1, . . . , xn)T ∈ Rn);

Problemas de programação linear (f(x) e c(x) são funções lineares, i.e.,f(x) = Ax, c(x) = Ax− b);

Problemas de programação quadrática (f(x) é uma função quadrática, i.e.,f(x) = 1

2xT Gx + dT x, e c(x) são funções lineares);

Problemas com limites simples (restrições nas variáveis do tipo al ≤ xl ≤ bl,l = 1, . . . , n);

Problemas de programação não linear (pelo menos uma das funçõesenvolvidas, f(x), c(x) é não linear).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 149 / 216

Page 150: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Classificação de mínimos

x∗ éminimizante local forte se ∃δ tal que f(x∗) < f(x̄), ∀x̄ ∈ Vδ(x∗);minimizante local fraco se ∃δ tal que f(x∗) ≤ f(x̄), ∀x̄ ∈ Vδ(x∗);minimizante global forte se f(x∗) < f(x̄), ∀x̄ ∈ Rn;minimizante global fraco se f(x∗) ≤ f(x̄), ∀x̄ ∈ Rn;

Onde Vδ(x∗) é uma vizinhança de x∗ de raio δ (||x̄− x∗|| < δ).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 150 / 216

Page 151: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Mínimo global

Mínimo global forte Função ilimitada Mínimo global fraco

f(x∗) < f(x̄) f(x∗) ≤ f(x̄)∀x̄ ∈ R ∀x̄ ∈ R

A. Ismael F. Vaz (UMinho) MN C 2007/2008 151 / 216

Page 152: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Mínimo local

∃δ : f(x∗) < f(x̄), ∀x̄ ∈ Vδ(x∗).∃δ : f(x∗) ≤ f(x̄), ∀x̄ ∈ Vδ(x∗).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 152 / 216

Page 153: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Conceitos

Máximo e maximizante;Mínimo e minimizante;Óptimo local ou global;Convergência local e global de algoritmos. Um algoritmo diz-se globalse determina um minimizante (maximizante) dada uma qualqueraproximação inicial. Um algoritmo diz-se local se determina umminimizante partindo apenas de uma aproximação inicialsuficientemente perto do minimizante. (Não confundir com adeterminação de mínimos locais ou globais).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 153 / 216

Page 154: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Condições de optimalidade

Condições necessárias para a existência de um mínimof ′(x∗) = 0;f ′′(x∗) ≥ 0.

Condições suficientes para a existência de um mínimof ′(x∗) = 0;f ′′(x∗) > 0.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 154 / 216

Page 155: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Exemplos

f(x) = (x− 1.5)2 f(x) = sin(x)f ′(1.5) = 2× (1.5− 1.5) = 0 f ′(π

2 ) = cos(π2 ) = 0

f ′′(1.5) = 2 > 0 f ′′(π2 ) = − sin(π

2 ) = −1 < 0

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 20

0.05

0.1

0.15

0.2

0.25

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 20.84

0.86

0.88

0.9

0.92

0.94

0.96

0.98

1

1.02

Pelas condições necessária e suficiente

A. Ismael F. Vaz (UMinho) MN C 2007/2008 155 / 216

Page 156: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Exemplos

f(x) = x4 f(x) = x3

f ′(0) = 3× (0)3 = 0 f ′(0) = 3× (0)2 = 0f ′′(0) = 12× (0)2 = 0 f ′′(0) = 6× (0) = 0

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Verifica-se a condição necessária, mas não a condição suficiente

A. Ismael F. Vaz (UMinho) MN C 2007/2008 156 / 216

Page 157: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Alguma notação

Gradiente de f(x) : Rn → R, x = (x1, . . . , xn)T , vector de dimensão n

∇f(x) = g(x) =

∂f∂x1∂f∂x2

. . .∂f∂xn

=(

∂f

∂x1,

∂f

∂x2, . . . ,

∂f

∂xn

)T

Matriz Hessiana, matriz de dimensão n× n

∇2f(x) = G(x) =

∂2f∂x2

1. . . ∂2f

∂xn∂x1

. . . . . .∂2f

∂x1∂xn. . . ∂2f

∂x2n

A. Ismael F. Vaz (UMinho) MN C 2007/2008 157 / 216

Page 158: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Condições de optimalidade

Condições necessárias para a existência de um mínimog(x∗) = 0 (sistema não linear);G(x∗) � 0 (semi-definida positiva).

Condições suficientes para a existência de um mínimog(x∗) = 0 (sistema não linear);G(x∗) � 0 (definida positiva).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 158 / 216

Page 159: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Exemplo

Pretende-se determinar todos os pontos óptimos do seguinte problema deoptimização

minx∈R2

x21 + x3

2 + 2x1x2 ≡ f(x)

Da condição de necessária e suficiente de primeira ordem temos queg(x) = (2x1 + 2x2, 3x2

2 + 2x1)T = (0, 0)T ,

ou seja,{2x1 + 2x2 = 0

3x22 + 2x1 = 0

{x1 = −x2

3x22 − 2x2 = 0

x1 = −x2

x2 = 0 ∨ x2 =23

Os pontos x̄ = (0, 0)T e x̂ = (−23 , 2

3)T são pontos estacionários de f(x).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 159 / 216

Page 160: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Cont.

Para verificar as condições de segunda ordem temos que estudar G(x̄) eG(x̂).

G(x) =(

2 22 6x2

), G(x̄) =

(2 22 0

), G(x̂) =

(2 22 4

)

det(|2|) = 2, det

(∣∣∣∣ 2 22 0

∣∣∣∣) = −4, det

(∣∣∣∣ 2 22 4

∣∣∣∣) = 4

e temos que G(x̄) é indefinida (x̄ é ponto sela - descanso) e G(x̂) édefinida positiva (x̂ é mínimo local forte).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 160 / 216

Page 161: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Representação gráfica/Curvas de nível

−1.5−1

−0.50

0.51

1.5

−2

−1

0

1

2−10

−5

0

5

10

15

x1x2

f(x)

−1.5 −1 −0.5 0 0.5 1 1.5−1.5

−1

−0.5

0

0.5

1

1.5

f(x) = x21 + x3

2 + 2x1x2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 161 / 216

Page 162: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Optimização não linear sem restrições

Motivação para os métodos numéricos

Na determinação analítica dos pontos estacionários é necessário resolverum sistema não linear, que é quase sempre de difícil resolução.

ExemploConsidere-se a função f(x) = x1e

x2 − 2x1x2.Os pontos estacionários de f(x) obtêm-se através da resolução do sistemanão linear {

ex2 − 2x2 = 0x1e

x2 − 2x1 = 0

A. Ismael F. Vaz (UMinho) MN C 2007/2008 162 / 216

Page 163: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 163 / 216

Page 164: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Forma geral do problema

A formulação matemática de um problema de optimização unidimensional,sem restrições é

minx∈R

f(x),

com f(x) : R→ R (n = 1).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 164 / 216

Page 165: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Exemplo

Pretende-se determinar o volume máximo de uma lata (cilindro), fechadanas duas extremidades, sabendo que a quantidade de chapa a usar é de1000 cm2. Sendo r o raio da tampa e h a altura da lata, uma possívelformulação do problema de optimização é

max(r,h)∈R2

πr2h

s.a 2πr2 + 2πrh = 1000

A restrição 2πr2 + 2πrh = 1000 pode ser usada para eliminar h na funçãoobjectivo, originando o seguinte problema de minimização unidimensional

minx∈R−πx2

(10002πx

− x

)= −500x + πx3

A. Ismael F. Vaz (UMinho) MN C 2007/2008 165 / 216

Page 166: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Interpolação quadrática

O método DSC procura três pontos igualmente espaçados, x1 < x2 < x3,que formam uma zona convexa da função objectivo. Os três pontosigualmente espaçados (x1, x2 e x3 com espaçamento δ) são usados paraestimar o mínimo da função f(x), usando uma interpolação quadrática.

x∗(q) = x2 + δf(x1)− f(x3)

2 (f(x3)− 2f(x2) + f(x1))

A. Ismael F. Vaz (UMinho) MN C 2007/2008 166 / 216

Page 167: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Método DSC

O método DSC gera uma sequência de pontos de procura definidos por

x1

x2 = x1 + pδ

x3 = x2 + p2δ

x4 = x3 + p4δ

. . .

xn = xn−1 + p2n−2δ,

com p = 1 se a procura é no sentido positivo (para a direita) e p = −1 nosentido negativo (para a esquerda).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 167 / 216

Page 168: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Cont.

A procura pára no ponto xk se f(xk) > f(xk−1). Nessa altura tem-se

xk−2 < xk−1 < xk (quando p = 1. Sendo análogo para p = −1.)

em que f(xk−2) ≥ f(xk−1), f(xk−1) < f(xk) e a distância entre xk exk−1 é o dobro da distância entre xk−1 e xk−2. O último valor é o pontomédio do último intervalo,

xm =xk + xk−1

2

Para a interpolação quadrática é necessário escolher três dos quarto pontosencontrados. Se f(xk−1) ≤ f(xm) os três pontos escolhidos são xk−2,xk−1 e xm. Caso contrário escolhe-se os pontos xk−1, xm e xk.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 168 / 216

Page 169: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Cont.

O algoritmo começa a procura no sentido positivo e caso f(x2) > f(x1) aprocura dá-se no sentido negativo. Se por sua vez obtivermosf(x̄2 ≡ x1 − δ) > f(x1) procede-se à aproximação do mínimo da funçãousando, na interpolação quadrática, os três pontos igualmente espaçados.O algoritmo necessita de uma aproximação inicial (x1) e usa nas próximasiterações a última aproximação ao mínimo encontrada (x∗(q)). O algoritmotermina quando o valor de δ usado na interpolação quadrática for inferior aε. O valor de δ é reduzido em cada iteração por um factor M (M < 1).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 169 / 216

Page 170: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Exemplo

Considere-se o problema de minimização da função f(x) = −500x + πx3,usando x1 = 7.5, δ = 0.1, M = 0.5 e ε = 0.1.1a iteração

x1 = 7.5 f1 = −2.4246e + 003x2 = x1 + δ = 7.6 f2 = −2.4209e + 003Como f2 > f1, inverte-se a procurax̄2 = x1 − δ = 7.4 f̄2 = −2.4270e + 003x̄3 = x̄2 − 2δ = 7.2 f̄3 = −2.4274e + 003x̄4 = x̄3 − 4δ = 6.8 f̄4 = −2.4122e + 003Como f̄4 > f̄3, pára-se a procura

xm = x̄4+x̄32 = 7.0 fm = −2.4224e + 003

A. Ismael F. Vaz (UMinho) MN C 2007/2008 170 / 216

Page 171: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Interpretação gráfica

6.5 7 7.5 8−2430

−2428

−2426

−2424

−2422

−2420

−2418

−2416

−2414

−2412

−2410

x

f(x)

x1

x2

x2 x3

x4

xm

A. Ismael F. Vaz (UMinho) MN C 2007/2008 171 / 216

Page 172: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Interpolação quadrática

Os pontos escolhidos para a interpolação são: x1 = 7.0, x2 = 7.2 ex3 = 7.4 com f1 = −2.4224e + 003, f2 = −2.4274e + 003 ef3 = −2.4270e + 003. O espaçamento entre pontos é δ = 0.2.Vem então que

x∗(q) = 7.2 + 0.2×−2.4224e + 003 + 2.4270e + 003

2 (−2.4270e + 003− 2× (−2.4274e + 003)− 2.4224e + 003))= 7.2852,

valor que deve inicial a próxima iteração, uma vez que δ = 0.2 ≮ ε = 0.1.Na próxima iteração temos então x1 = 7.2852 e δ = 0.1× 0.5 = 0.05.Não confundir o δ da interpolação quadrática com o δ da procura

A. Ismael F. Vaz (UMinho) MN C 2007/2008 172 / 216

Page 173: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Cont.

2a iteração

x1 = 7.2852 f1 = −2.4279e + 003x2 = x1 + δ = 7.3352 f2 = −2.4277e + 003Como f2 > f1, inverte-se a procurax̄2 = x1 − δ = 7.2352 f̄2 = −2.4277e + 003Como f̄2 > f1, pára-se a procura.

Temos três pontos igualmente espaçados e procede-se à interpolaçãoquadrática. x1 = 7.2352, x2 = 7.2852 e x3 = 7.3352 comf1 = −2.4277e + 003, f2 = −2.4279e + 003 e f3 = −2.4277e + 003. Oespaçamento entre pontos é δ = 0.05 e vem quex∗(q) = 7.2852 + 0.05−2.4277e+003+2.4277e+003

... = 7.2852. Como0.05 = δ < ε = 0.1 pára-se com x∗ = 7.2852. (A solução analítica é√

5003π = 7.283656.)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 173 / 216

Page 174: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Davies Swann e Campey

Interpretação gráfica

7.22 7.24 7.26 7.28 7.3 7.32 7.34 7.36−2427.9

−2427.85

−2427.8

−2427.75

−2427.7

−2427.65

x

f(x)

x1

x2

x2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 174 / 216

Page 175: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 175 / 216

Page 176: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Forma geral do problema

A formulação matemática de um problema de optimizaçãomultidimensional, sem restrições é

minx∈Rn

f(x),

com f(x) : Rn → R (n > 1).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 176 / 216

Page 177: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Exemplo - Poluição atmosférica

Assumindo que a dispersão do penacho segue uma distribuição Gaussiana,a concentração C, de gás ou aerosol (partículas com menos de 20 micronsde diâmetro) na posição x, y e ao nível do solo, de uma fonte contínua deemissão é dada por (modelo muito simplificado)

C(x, y) =1

πσyσze− 1

2

“y

σy

”2 (e− 1

2

“1

σz

”2)

com σy = σz ={ √

x2 se x > 0

0 se x ≤ 0.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 177 / 216

Page 178: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Exemplo - Cont.

O cálculo da poluição máxima pode ser formulado no seguinte problema

minx∈R2

{− 2

πx1e− 1

x1(y2

2+1) se x > 00 se x ≤ 0

0.5 1 1.5 2 2.5 3 3.5 4−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

A. Ismael F. Vaz (UMinho) MN C 2007/2008 178 / 216

Page 179: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Algoritmo de Nelder-Mead

O algoritmo de Nelder-Mead destina-se a problemas de optimizaçãomultidimensional e é um método de procura directa (apenas usainformação da função objectivo, não usa derivadas nem as estima).

Seja n a dimensão do problema. O algoritmo usa um conjunto de n + 1pontos no início de cada iteração. Os pontos x1, x2, . . . , xn+1 sãoconsiderados os vértices de um simplex de dimensão n. Em R2, os 3(n + 1) pontos formam um triângulo.

Em cada iteração considera-se o simplex

Sk = 〈x1, x2, . . . , xn+1〉

A. Ismael F. Vaz (UMinho) MN C 2007/2008 179 / 216

Page 180: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Cont.

Em cada iteração considera-se sempre que o simplex está ordenado porordem crescente dos valores da função objectivo, i.e.,

Sk = 〈X1, X2, . . . , Xn+1〉

em que f(X1) ≤ f(X2) ≤ · · · ≤ f(Xn+1).

O algoritmo consiste em determinar um novo simplex, através dasubstituição do ponto Xn+1 por um ponto com melhor valor da funçãoobjectivo (valor menor) ou encolhendo o simplex.

A determinação do novo ponto pode ser feita através de pontos auxiliaresque podem definir vértices reflectidos, expandidos, contraídos (para ointerior ou para o exterior) ou de um simplex encolhido.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 180 / 216

Page 181: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Pontos auxiliares

Vértice reflectido xr = (1 + α)x̄− αXn+1, com x̄ = 1n

∑ni=1 Xi e

α = 1.Se xr for bom (f(X1) ≤ f(xr) < f(Xn)) aceita-se xr.Se xr for muito bom (f(xr) < f(X1)) faz-se uma expansão dosimplex.

Vértice expandido xe = γxr + (1− γ)x̄ com γ = 2.Se xe for muito bom (f(xe) < f(X1)) aceita-se xe, senão aceita-se xr.

Se xr for fraco (f(Xn) ≤ f(xr) < f(Xn+1)) faz-se uma contracçãopara o exterior.

Calcula-se x̂c = βxr + (1− β)x̄ com β = 0.5.Se x̂c for bom (f(x̂c) < f(Xn)) aceita-se x̂c, senão encolhe-se osimplex.

Se xr for muito fraco (f(xr) ≥ f(Xn+1)) faz-se uma contracção parao interior.

Calcula-se xc = βXn+1 + (1− β)x̄ com β = 0.5.Se xc for bom (f(xc) < f(Xn)) aceita-se xc, senão encolhe-se osimplex.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 181 / 216

Page 182: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Encolher o simplex - Critério de paragem

Encolher o simplex consiste em substituir os vértices Xi, i = 2, . . . , n + 1,pelo ponto médio do segmento que os une a X1, i.e.

xi =Xi + X1

2.

O critério de paragem consiste em verificar se o tamanho relativo dosimplex não é superior a uma quantidade pequena, i.e., o processo iterativopára se

1∆

max2≤i≤n+1

||Xi −X1||2 ≤ ε com ∆ = max(1, ||X1||2).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 182 / 216

Page 183: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Interpretação gráfica

0 2 4 6 8 10−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

X1

X2

X3

xr xe

xc

xc

x x2

x3 S = 〈(4, 0)T , (2, 3)T , (0, 1)T 〉x̄ = (3, 1.5)T

xr = (6, 2)T

xe = (9, 2.5)T

xc = (1.5, 1.25)T

x̂c = (4.5, 1.75)T

A. Ismael F. Vaz (UMinho) MN C 2007/2008 183 / 216

Page 184: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Exemplo

Considere-se o problema de minimização

minx∈R2

{− 2

πx1e− 1

x1(y2

2+1) se x > 00 se x ≤ 0.

Pretende-se determinar a solução usando o método de Nelder-Mead. Osimplex inicial é 〈(2,−1)T , (0.5,−0.5)T , (1.25, 1)T 〉 e ε = 0.1.

O primeiro passo é ordenar o simplex pelos valores da função objectivo.Temos f(x1) = −0.1171, f(x2) = −0.1045 e f(x3) = −0.1028, o quesignifica que o simplex ordenado na primeira iteração é

S1 = 〈(2,−1)T , (0.5,−0.5)T , (1.25, 1)T 〉

A. Ismael F. Vaz (UMinho) MN C 2007/2008 184 / 216

Page 185: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Cont.

1a iteração

x̄ =12((2,−1)T + (0.5,−0.5)T

)= (1.25,−0.75)T

exr = 2x̄−X3 = 2(1.25,−0.75)T − (1.25, 1)T = (1.25,−2.5)T

com f(xr) = −0.0015. Como xr é muito fraco f(xr) ≥ f(X3) faz-se umacontracção para o interior.

xc = 0.5X3 + 0.5x̄ = 0.5(1.25, 1)T + 0.5(1.25− 0.75)T = (1.25, 0)T

com f(xc) = −0.2288 e como f(xc) < f(X2) aceita-se xc.O novo simplex é

S2 = 〈(1.25, 0)T , (2,−1)T , (0.5,−0.5)T 〉

A. Ismael F. Vaz (UMinho) MN C 2007/2008 185 / 216

Page 186: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Cont.

Critério de paragem

∆ = max(1, ||X1||2) = max(1,∥∥(1.25, 0)T

∥∥2) = 1.25

11.25

max(||X2 −X1||2, ||X3 −X1||2) =

11.25

max(∥∥(0.75,−1)T

∥∥2,∥∥(−0.75,−0.5)T

∥∥2) =

11.25

max(√

1.5625,√

0.8125) =

1 � ε = 0.1

e continua-se com a próxima iteração.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 186 / 216

Page 187: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Nelder Mead

Interpretação gráfica

0.5 1 1.5 2 2.5 3 3.5 4−3

−2

−1

0

1

2

3

A. Ismael F. Vaz (UMinho) MN C 2007/2008 187 / 216

Page 188: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 188 / 216

Page 189: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Forma geral do problema

A formulação matemática de um problema de optimizaçãomultidimensional, sem restrições é

minx∈Rn

f(x),

com f(x) : Rn → R (n > 1) duas vezes diferenciável.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 189 / 216

Page 190: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Notação

Gradiente de f(x) : Rn → R, x = (x1, . . . , xn)T , vector de dimensão n

∇f(x) = g(x) =

∂f∂x1∂f∂x2

. . .∂f∂xn

=(

∂f

∂x1,

∂f

∂x2, . . . ,

∂f

∂xn

)T

Matriz Hessiana, matriz de dimensão n× n

∇2f(x) = G(x) =

∂2f∂x2

1. . . ∂2f

∂xn∂x1

. . . . . .∂2f

∂x1∂xn. . . ∂2f

∂x2n

A. Ismael F. Vaz (UMinho) MN C 2007/2008 190 / 216

Page 191: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Alguns conceitos

O vector gradiente ‘aponta’ no sentido de subida da função.

−10−5

05

10 −10

−5

0

5

10

−200

−100

0

100g(x)

−g(x)

f(x) =

− x21 − x2

2 − 2x1x2 + 10g(x) =

(−2x1 − 2x2,−2x2 − 2x1)T

g(1, 1) = (−4,−4)T

A. Ismael F. Vaz (UMinho) MN C 2007/2008 191 / 216

Page 192: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Alguns conceitos - Cont.

A matrix Hessiana indica a concavidade (convexa ou côncava).

−10−5

05

10 −10

−5

0

5

10−200

−150

−100

−50

0

50

f(x) =

− x21 − x2

2 − 2x1x2 + 10

G(x) =(−2 −2−2 −2

)Semi-definida negativa.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 192 / 216

Page 193: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Método de Newton

A função f(x), em x∗ = x + d pode ser aproximada por

f(x∗) ≈ f(x) + g(x)T d +12dT G(x)d (1)

que resulta da expansão em série de Taylor de f(x), com x∗

suficientemente perto de x.

A aproximação quadrática (1) pode ser usada para determinar o vector dem que x é um vector fixo. Derivando em ordem a d e igualando a zeroobtemos

g(x) + G(x)d = 0 ⇔ G(x)d = −g(x) (2)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 193 / 216

Page 194: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Cont.

Quando a função f(x) é quadrática obtém-se a solução resolvendo osistema linear (2). No caso em que f(x) não é quadrática, o novo pontox + d não é mínimo e o processo deve ser repetido iterativamente. Asequações iterativas do processo são

x(k+1) = x(k) + d(k)

G(x(k))d(k) = −g(x(k)), para k = 1, 2, . . .

Nota: O método de Newton possui terminação quadrática, i.e., se f(x) foruma função quadrática convexa o método de Newton necessita no máximode n iterações para encontrar a solução exacta.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 194 / 216

Page 195: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Método de Newton - Falhas de convergência

O método de Newton pode falhar nas seguintes condições:A matriz G(x(k)) é singular e d(k) não é sequer definido.O vector direcção d(k) é quase ortogonal a g(x(k)) e não é possívelprogredir ao longo de d(k).O vector direcção d(k) não aponta no sentido descendente de f e nãoé possível garantir a descida do valor da função.A matriz G(x(k))−1 existe e é definida positiva, o vector direcção d(k)

é de descida, no entanto o comprimento é tal quef(x(k+1)) > f(x(k)), e o novo ponto não é melhor que o anterior.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 195 / 216

Page 196: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Método de segurança de Newton

O método de segurança de Newton resolve as possíveis falhas do métodode Newton.

A matriz G(x(k)) é singular e d(k) não é sequer definido. Neste casotoma-se como direcção de procura a direcção de descida máxima(d(k) = −g(x(k))).

Como a direcção de descida máxima resolve os restantes problemas(excepto o problema do comprimento da direcção) não e necessárioverificar a quase-ortogonalidade e a descida da função objectivo.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 196 / 216

Page 197: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Cont.

O vector direcção d(k) é quase ortogonal a g(x(k)) e não é possívelprogredir ao longo de d(k).

−6 −4 −2 0 2 4 6

−6

−4

−2

0

2

4

6

−g(1,1)

g(1,1)

Quase ortogonal se

|g(x(k))T d(k)| ≤ η‖g(x(k))‖‖d(k)‖Se for quase ortogonal então

d(k) = −g(x(k))

A. Ismael F. Vaz (UMinho) MN C 2007/2008 197 / 216

Page 198: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Cont.

O vector direcção d(k) não aponta no sentido descendente de f e não épossível garantir a descida do valor da função.

d(k) é direcção de descida se

g(x(k))T d(k) ≤ η‖g(x(k))‖‖d(k)‖.

Caso d(k) não seja direcção de descida faz-se

d(k) = −d(k).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 198 / 216

Page 199: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Cont.

A matriz G(x(k))−1 existe e é definida positiva, o vector direcção d(k) é dedescida, no entanto o comprimento é tal que f(x(k+1)) > f(x(k)), e o novoponto não é melhor que o anterior.

O método de Newton tem convergência local, i.e., x(k) tem de sersuficientemente próximo de x∗ para que o método funcione.

A convergência global obtém-se através da introdução da procuraunidimensional (regiões de confiança!!).

x(k+1) = x(k) + αd(k)

em que o α deve ser calculado para garantir que

f(x(k+1)) < f(x(k)) Decréscimo simples

A. Ismael F. Vaz (UMinho) MN C 2007/2008 199 / 216

Page 200: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Procura unidimensional exacta

Na procura unidimensional exacta pretende-se determinar (exactamente)qual o valor de α que minimiza a função

φ(α) = f(x(k+1)) com x(k+1) = x(k) + αd(k),

usando as condições de optimalidade

φ′(α) = 0 e φ′′(α) > 0.

No entanto a solução para o problema minα∈R φ(α) não é de fácilresolução (difícil implementação e cálculos computacionais pesados).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 200 / 216

Page 201: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Procura unidimensional

Critério de Armijo e divisões sucessivas de α por dois.

Pressupondo que a direcção de procura é de descida, gera-se umasequência de valores,

{ωjα}, j = 0, 1, 2, . . . com α = 1 e ω =12

até se encontrar um elemento que origine uma redução (significativa) novalor de f

f(x(k))− f(x(k) + ωjαd(k)) ≥ −µ1ωjαg(x(k))T d(k).

O primeiro elemento encontrado é usado como o comprimento do passo naiteração k (α(k) = ωjα).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 201 / 216

Page 202: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Critério de paragem

Considera-se as três condições para o critério de paragem

‖x(k+1) − x(k)‖‖x(k+1)‖

≤ ε1

|f (k+1) − f (k)||f (k+1)|

≤ ε2

‖g(k+1)‖ ≤ ε3

A. Ismael F. Vaz (UMinho) MN C 2007/2008 202 / 216

Page 203: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Exemplo

Considere-se o seguinte problema de optimização

minx∈R2

x41 + x2

2 − 3x1

partindo de x(1) = (0, 1)T e com ε = 0.5.Temos que

g(x) = (4x31 − 3, 2x2)T

e

G(x) =(

12x21 0

0 2

)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 203 / 216

Page 204: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

1a iteração

g(1) = g(x(1)) = (−3, 2)T G(1) = G(x(1)) =(

0 00 2

)(

0 0 30 2 −2

)→ Impossível

Como a matriz G(x(1)) é singular temos que d(1) = −g(1) = (3,−2)T .

Não é necessário verificar a quase ortogonalidade e passa-se para a procuraunidimensional.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 204 / 216

Page 205: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Procura unidimensional

x(1) = (0, 1)T f (1) = 1 g(1)T d(1) = −13

α = 1 x̄ = x(1) + d(1) = (0, 1)T + 1(3,−2)T = (3,−1)T f(x̄) = 73

1− 73 = f(x(1))− f(x̄) � 10−3 × 1× 13

α = 0.5 x̄ = (0, 1)T + 0.5(3,−2)T = (1.5, 0)T f(x̄) = 0.5625

1− 0.5625 = f(x(1))− f(x̄) ≥ 10−3 × 0.5× 13

Aceita-se α(1) = 0.5 e tem-se x(2) = (1.5, 0)T .

A. Ismael F. Vaz (UMinho) MN C 2007/2008 205 / 216

Page 206: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

Critério de paragem

‖x(2) − x(1)‖‖x(2)‖

=√

1.52 + 12

1.5= 1.201 � 0.5

Logo passa-se à próxima iteração. As restantes condições seriam (nestecaso não é necessário verificar)

|f (2) − f (1)||f (2)|

=1− 0.5625

0.5625= 0.7778 � 0.5

e‖g(2)‖ = ‖(10.5, 0)T ‖ = 10.5 � 0.5

A. Ismael F. Vaz (UMinho) MN C 2007/2008 206 / 216

Page 207: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

2a iteração x(2) = (1.5, 0)T

g(2) = (10.5, 0)T G(2) =(

27 00 2

)(

27 0 −10.50 2 0

)→ d(2) = (−0.3889, 0)T

d(2) é quase ortogonal com o gradiente?

‖d(2)‖ = 0.3889 ‖g(2)‖ = 10.5

(g(2))T d(2) = (10.5, 0)(−0.3889, 0)T = −4.0835

4.0835 = |(g(2))T d(2)| � 10−4 × 0.3889× 10.5 = 4.0835× 10−4,

logo d(2) não é quase ortogonal com o gradiente (se fosse d(2) = −g(2)).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 207 / 216

Page 208: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método de Segurança de Newton

2a iteração - Cont.

d(2) é direcção de descida?

‖d(2)‖ = 0.3889 ‖g(2)‖ = 10.5

(g(2))T d(2) = (10.5, 0)(−0.3889, 0)T = −4.0835

− 4.0835 = (g(2))T d(2) ≤ 10−4 × 0.3889× 10.5 = 4.0835× 10−4,

logo d(2) é direcção de descida (se não fosse d(2) = −d(2)).Inicia-se a procura unidimensional.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 208 / 216

Page 209: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Contents

1 Introdução2 Erros3 Zeros de funções4 Resolução de sistemas lineares5 Resolução de sistemas não lineares6 Interpolação polinomial7 Mínimos quadrados lineares8 Mínimos quadrados não lineares9 Integração numérica10 Optimização não linear sem restrições11 Método de Davies Swann e Campey12 Método de Nelder Mead13 Método de Segurança de Newton14 Método quasi-Newton

A. Ismael F. Vaz (UMinho) MN C 2007/2008 209 / 216

Page 210: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Método Quasi-Newton

O método Quasi-Newton usa uma matriz aproximação à matrizHessiana (ou à sua inversa) da função objectivo.O uso de uma matriz aproximação evita o cálculo da matriz Hessiana(segundas derivadas) que pode ser difícil de obter.A aproximação à inversa da Hessiana, em vez da própria Hessiana,substituí a resolução de um sistema linear em cada iteração, por umproduto matriz vector. (G(x)d = −g(d)→ d = −G(x)−1g(x)).

A. Ismael F. Vaz (UMinho) MN C 2007/2008 210 / 216

Page 211: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Cont.

A matriz aproximação é actualizada em cada iteração usando a informaçãodas derivadas (gradiente) da iteração anterior.

A fórmula mais conhecida é devida a Broyden, Fletcher, Goldfarb e Shanno(B.F.G.S.)

H(k+1) =

(I − s(k)y(k)T

s(k)T y(k)

)H(k)

(I − y(k)s(k)T

y(k)T s(k)

)+

s(k)s(k)T

s(k)T y(k)

em que s(k) = α(k)d(k) = x(k+1) − x(k) e y(k) = g(k+1) − g(k).

Quando s(k)T y(k) > 0 e H(k) é simétrica e definida positiva, a formula deactualização garante que a matriz H(k+1) é simétrica e definida positiva.

A fórmula B.F.G.S. satisfaz a propriedade de terminação quadrática.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 211 / 216

Page 212: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Cont.

Na primeira iteração temos que H(1) = I (simétrica e definida positiva).Quando se usa a técnica de recomeço a matriz H(k) = I sempre que(k − 1) mod n = 0.

Como H(k) é simétrica e definida positiva não é necessário verificar a quaseortogonalidade e se a direcção calculada é de descida para a funçãoobjectivo.

Os problemas numéricos com a matriz H(k), tais como‘overflow’ na actualização de H(k),um deslocamento ao longo da direcção de procura muito longo devidoà quase ortogonalidade da direcção com o gradiente,

podem ser ultrapassados usando a técnica do recomeço.

A. Ismael F. Vaz (UMinho) MN C 2007/2008 212 / 216

Page 213: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Exemplo

Considere-se o seguinte problema de optimização (x(1) = (0, 1)T e ε = 0.5)

minx∈R2

x41 + x2

2 − 3x1

Temos que g(x) = (4x31 − 3, 2x2)T .

1a iteração

g(1) = g(x(1)) = (−3, 2)T H(1) = I d(1) = −Hg(1) = (3,−2)T .

Procura unidimensional

. . . (ver exemplo do segurança de Newton)

Aceita-se α(1) = 0.5 e vem que x(2) = (1.5, 0)T .

A. Ismael F. Vaz (UMinho) MN C 2007/2008 213 / 216

Page 214: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Critério de paragem

‖x(2) − x(1)‖‖x(2)‖

=√

1.52 + 12

1.5= 1.201 � 0.5

Logo passa-se à próxima iteração.2a iteração x(2) = (1.5, 0)T e g(2) = (10.5, 0)T

H(2) =

(I − s(1)y(1)T

s(1)T y(1)

)H(1)

(I − y(1)s(1)T

y(1)T s(1)

)+

s(1)s(1)T

s(1)T y(1)

s(1) = x(2) − x(1) = (1.5, 0)T − (0, 1)T = (1.5,−1)T

y(1) = g(2) − g(1) = (10.5, 0)T − (−3, 2)T = (13.5,−2)T

A. Ismael F. Vaz (UMinho) MN C 2007/2008 214 / 216

Page 215: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Cont.

s(1)y(1)T =(

1.5−1

)(13.5,−2) =

(20.25 −3−13.5 2

)s(1)T y(1) = (1.5,−1)(13.5,−2)T = 22.25

I − s(1)y(1)T

s(1)T y(1)=(

1 00 1

)−(

0.9101 −0.1348−0.6067 0.0899

)=(

0.0899 0.13480.6067 0.9101

)

s(1)s(1)T =(

1.5−1

)(1.5,−1) =

(2.25 −1.5−1.5 2

)H(2) =

(0.0899 0.13480.6067 0.9101

)H(1)

(0.0899 0.60670.1348 0.9101

)+(

0.1011 −0.0674−0.0674 0.0899

)

H(2) =(

0.1274 0.10980.1098 0.8202

)

A. Ismael F. Vaz (UMinho) MN C 2007/2008 215 / 216

Page 216: Métodos Numéricos C - · PDF fileMétodos Numéricos C A. Ismael F. Vaz1 1Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano

Método quasi-Newton

Cont.

d(2) = −H(2)g(2) = −(

0.1274 0.10980.1098 0.8202

)(10.5

0

)d(2) =

(−1.3377−1.1529

)Procura unidimensional. . .

A. Ismael F. Vaz (UMinho) MN C 2007/2008 216 / 216