Otimização/Métodos de região de confiança

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa


Considere o seguinte problema de programação diferenciável não linear sem restrições:

(P){minf(x)xn

onde f:n é de classe C2(n).

Observação: Como f não é necessariamente convexa, a matriz 2f(x) pode não ser definida positiva, apesar de ser simétrica. Neste caso, o método de Newton ou suas variantes (direções conjugadas, quase Newton, etc) não servem.

O primeiro método de região de confiança (em inglês, Trust region method), foi introduzido por Powel em 1970 (qual artigo?) mas oficialmente introduzido por Dennis em 1978 (artigo?). Ele consiste no seguinte:

A cada iteração, se constrói um modelo quadrático e uma região de confiança

este princípio pode ser considerado como uma extensão da busca de Armijo unidimensional.

Breve revisão da busca de Armijo

Para entender a geometria do método de região de confiança, é bom lembrar a geometria da busca de Armijo unidimensional.

Seja d uma direção de descida de uma função f a partir do ponto x. Então f(x)d<0. Agora, considerando θ:, definida por θ(t)=f(x+td), tem-se:

θ(t)=f(x+td)d. Assim, θ(0)=f(x)d<0. Se α(0,1), então θ(0)<αθ(0)<0.

Predefinição:Exercício Predefinição:Resolução

A busca de Armijo consiste em tomar t>0.

Se f(x+td)f(x)t>αθ(0)>θ(0)

Mas como θ(0)=limt0f(x+td)f(x)t, então existe algum t>0 tal que vale f(x+td)f(x)tαθ(0). A tal ponto, chama-se ponto de Armijo.

Introduzindo as seguinte notação

m(x+h)=f(x)+f(x)h (modelo linear para a função f)
pred=m(x)m(x+td)=tθ(0) (redução predita por este modelo)
ared=f(x)f(x+td) (redução real no valor da função)

a pergunta é:

Quando um ponto t vai ser ponto de Armijo com essa notação?

Tem-se:

αpred=αtθ(0)f(x)f(x+td)=ared

Logo, se αpredared segue que t é um ponto de Armijo.

Observações: Note que a essência da busca linear de Armijo é construir um modelo linear e um intervalo compacto [0,t], sendo t>0 e o ponto inicial da busca e logo procurar o ponto de Armijo em [0,t].

De volta ao método

O método de região de confiança será uma generalização da busca de Armijo, consistindo da construção de um modelo quadrático e uma região R, chamada de região de confiança, e nessa região calcular o novo iterando.

Algoritmo da região de confiança

Primeiro passo: Escolha x0n, r>0, α(0,1), β(0,1) e k=0.

Passo iterativo k: Enquanto f(xk)=0, construa o modelo quadrático:
 mk(h)=f(xk)h+12hHkh
Calcule d, solução de
 (P){minmk(h)hr
Tome ared=f(xk)f(xk+d) e pred=mk(d)
Se aredpred>α, fazer xk+1=xk+d
Senão xk+1=xk, r=βr e k=k+1

Comentários: No algoritmo anterior, quando se tem um passo falho, a região de confiança sempre diminui. Seria bom incluir casos bons, onde a região deve crescer.

Algoritmo da região de confiança melhorado

Primeiro passo: Escolha x0n, r>0, 0<α<γ<1, β(0,1), β2>1, ϵ(0,1) e k=0.

Passo iterativo k: Enquanto f(xk)>ϵ, construa o modelo quadrático:
 mk(h)=f(xk)h+12hHkh
Continue = 1
Enquanto (Continue = 1)
  Calcule d, solução de
   (P){minmk(h)hr
  Tome ared=f(xk)f(xk+d) e pred=mk(d)
  Se aredpred>α, fazer xk+1=xk+d
    Se r>γ, r=β2r; Continue = 0
    k = k+1
  Senão r=β1r


O subproblema quadrático

Conforme foi explicado, o método das regiões de confiança constrói um modelo quadrático da forma:

m(h)=gh+12hHh

onde, no método, g=f(xk) e H=Hk. Em tal modelo, tem-se

  • g um vetor não nulo;
  • h uma matriz simétrica (que pode não ser definida positiva)

O problema quadrático é

(PQ){minm(h)hr

com r>0.

Este é o problema que será tratado a seguir.

Predefinição:Exercício Predefinição:Resolução O exercício anterior garante que o método está bem definido, quer dizer, todas as etapas podem ser realizadas.

Predefinição:AutoCat