14.7 Faça uma iteração do método do aclive máximo para localizar o máximo de
f(x, y)=4 x+2 y+x^2-2 x^4+2 x y-3 y^2
usando as aproximações iniciais x=0 e y=0. Use a bissecção para encontrar o tamanho do passo ótimo na direção de busca do gradiente.

Passo 1

O enunciado pede uma iteração do método do aclive máximo (gradient ascent) para encontrar o máximo de
f(x,y)=4x+2y+x^2-2x^4+2xy-3y^2
a partir do ponto inicial (x0,y0)=(0,0). Vamos precisar de cálculo de gradiente para definir a direção de busca e de uma linha de busca unidimensional usando o método da bissecção para achar o tamanho de passo ótimo alpha^*.

Passo 2

Calculemos o gradiente de f:
nabla f(x,y)=l(partial fpartial x,,partial fpartial yr) =(4+2x-8x^3+2y,;2+2x-6y)
Em (0,0) isso vale
nabla f(0,0)=(4,;2)
Essa é a direção de subida p=(4,2).

Passo 3

Definimos a função unidimensional de linha de busca
phi(alpha)=fl(x0+alpha px,;y0+alpha pyr) =f(4alpha,2alpha)
Substituindo na expressão de f e simplificando, obtemos
phi(alpha) =4(4alpha)+2(2alpha)+(4alpha)^2-2(4alpha)^4+2(4alpha)(2alpha)-3(2alpha)^2 =20alpha+20alpha^2-512alpha^4

Passo 4

Para achar alpha^* maximizadora, derivamos
phi'(alpha)=20+40alpha-2048alpha^3
e resolvemos phi'(alpha)=0. Note que
phi'(0)=20>0 e
phi'(0,5)=20+20-2048cdot0,125=40-256=-216<0,
logo há raiz em [0,0,5]. Aplicaremos a bissecção nesse intervalo.

Passo 5

Usando tolerância varepsilon=10^-3, fazemos bissecção em [a,b]=[0,0,5]:
1) alpha1=(0+0,5)/2=0,25, phi'(0,25)=-2<0; Rightarrow[ 0,0,25]
2) alpha2=(0+0,25)/2=0,125, phi'(0,125)=21>0; Rightarrow[ 0,125,0,25]
3) alpha3=0,1875, phi'(0,1875)=14>0; Rightarrow[ 0,1875,0,25]
4) alpha4=0,21875, phi'(0,21875)=7,3>0; Rightarrow[ 0,21875,0,25]
5) alpha5=0,234375, phi'(0,234375)=3,05>0; Rightarrow[ 0,234375,0,25]
6) alpha6=0,2421875, phi'(0,2421875)=0,50>0; Rightarrow[ 0,2421875,0,25]
7) alpha7=0,24609375, phi'(0,24609375)=0,12>0; Rightarrow[ 0,24609375,0,25]
8) alpha8=0,248046875, phi'(0,248046875)=-1,33<0; Rightarrow[ 0,24609375,0,248046875]
Neste ponto o intervalo tem comprimento <10^-3, e escolhemos
alpha^*approx0,247.

Passo 6

Atualizamos
(x1,y1) =(x0,y0)+alpha^*(px,py) =(0,0)+0,247,(4,2) approx(0,988,;0,494)

Resposta

alpha^*approx0,247, (x1,y1)approx(0,988,;0,494).

Exercícios de Livros Relacionados