Você está na página 1de 3

IM380 – Métodos de Otimização de Sistemas

Gabriela Otsubo

Método da secante

O algoritmo de minimização unidimensional pelo método da secante foi implementado limitando-se o


número máximo de iterações em 10000 e definindo ε = 0.001, conforme os exercícios anteriores. O método consiste
df
em encontrar o ponto no qual =0.
dx
O primeiro passo do algoritmo é encontrar um intervalo [a,b] que contém o zero do gradiente da função, a
partir do ponto inicial x0 dado. Para isso, estima-se o valor da derivada no ponto corrente conforme a equação:

df ( x 0 ) f ( x 0+ h ) −f ( x 0−h )

dx 2h
onde h é uma variação definida arbitrariamente como 0.1.

df ( x 0 ) df
Analisando o sinal de f ( x 0 ) e de , é possível definir se o ponto no qual =0 estará à direita ou à
dx dx
esquerda de x0. Então, escolhe-se outro ponto a uma distância h de x0 na direção do zero, definindo-se um intervalo
df ( a ) df ( b )
[a,b]. Verifica-se se este intervalo contem o zero através do sinal da multiplicação das derivadas. Se . > 0,
dx dx
df ( a ) df ( b )
o intervalo não contem o zero e aumenta-se a variação h sucessivamente até que . < 0.
dx dx
Definido o intervalo, é possível obter a equação da reta que passa pelos pontos a e b, conforme a Figura 1.

Figura 1. Método da secante para uma função genérica

Pela semelhança de triângulos:

b−a b−x i
=
df ( b ) df ( a ) df ( b ) df ( x i )
− −
dx dx dx dx
Como:

df ( xi )
=0
dx
IM380 – Métodos de Otimização de Sistemas
Gabriela Otsubo

Pode-se escrever:

x i=b−
b−a
( dfdx( b) )
( df ( b ) df ( a )
dx

dx )
df ( xi )
O critério de convergência escolhido foi < ε . Se o critério não foi satisfeito, atualiza-se o intervalo a
dx
df ( a ) df ( xi b )
partir da estimativa da derivada em x i. Ou seja, se . <0 , este subintervalo contem o zero e passa a ser
dx dx
o novo intervalo [a, x i] ou (b = x i). Caso contrário, [ x i,b ] ou (a = x i).

Assim como o método de Newton, o da secante utiliza um ponto inicial e não um intervalo inicial, como o
caso dos outros métodos. Então, como feito anteriormente, o ponto inicial utilizado foi a média do intervalo dado.

Resultado
Problema Busca dicotômica Fibonacci Newton Secante
analítico:
x = -1.0000 x = -1.0000 x = -1 x = -1
f(x) = x²+2x x = -1
f(x) = -1.0000 f(x) = -1 f(x) = -1 f(x) = -1
I0 = [-3,5] f(x) = -1
Nº de iter. = 18 Nº de iter. = 20 Nº de iter. = 2 Nº de iter. = 1

x = 1.1582e-07 x = 5.4815e-04 x=0 x = -1.3878e-17


f(x) = x² x=0
f(x) = 1.3414e-14 f(x) = 3.0046e-07 f(x) = 0 f(x) = 1.9259e-34
I0 = [-3,5] f(x) = 0
Nº de iter. = 24 Nº de iter. = 20 Nº de iter. = 1 Nº de iter. = 1

Observa-se que o método da secante converge em apenas uma iteração. Isso porque, para as funções
analisadas, que são de segunda ordem, a derivada é uma equação de primeira ordem, e, independente do ponto
inicial, o primeiro passo já vai direto para a resposta. Para verificar o comportamento do método para uma função
de grau maior, resolveu-se a função f(x) = x4+x²+2.

Figura 2. Gráfico da função f(x) = x4+x²+2 Figura 3. Gráfico da derivada da função f(x) = x4+x²+2

Os resultados mostrados na tabela abaixo confirmam a afirmação feita anteriormente. Ou seja, quanto mais
próximo de uma reta for a derivada da função e mais próximo o ponto inicial estiver do resultado, mais rápido o
método irá convergir.

Problema Secante Resultado analítico:


IM380 – Métodos de Otimização de Sistemas
Gabriela Otsubo

x = 3.0202e-06
f(x) = x4+x²+2
f(x) = 2.0000
x0 = -5
Nº de iter. = 13 x=0
x = 1.2534e-04 f(x) = 2
f(x) = x4+x²+2
f(x) = 2.0000
x0 = 1
Nº de iter. = 4

Você também pode gostar