Otimização/Método da lagrangiana aumentada

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


O problema a ser resolvido é:

{minf(x)hj(x)=0;j=1,,q

Sabe-se que se for aplicado o método da lagrangiana, será considerada a função:

l:n×q dada por
l(x,v)=f(x)+j=1qvjhj(x).

e também

β:q{}, dada por
β(v)=infxnl(x,v)

A grande dificuldade seria saber quando o valor de β é finito. Uma idéia seria modificar um pouco a lagrangiana (aumentando-a, com um termo extra), da seguinte maneira:

l(x,v)=f(x)+j=1qvjhj(x)+rj=1q(hj(x))2

Com isso, seria necessário garantir que a idéia de fato resolve o problema. Por este motivo, é preciso desenvolver alguns resultados teóricos. Para fazer a análise deste método, um primeiro resultado importante é o seguinte:

Predefinição:Lema Predefinição:Demonstração

Predefinição:Exercício

A partir de agora, o problema será:

{minf(x)hj(x)=0;j=1,,q

onde se supõe que f,hi:n são funções de classe 𝒞2(n) e que para todo λ, o conjunto {xn;f(x)λ} é compacto (em inglês costuma-se usar a expressão inf-compact para descrever tais funções).

Sabe-se que a lagrangiana associada ao problema (P) é:

l:n×q dada por
l(x,v)=f(x)+j=1qvjhj(x).

e ainda, em uma notação mais sintética, considerando a função H dada por:

H:nq definida por
H(x)=[h1(x)hq(x)]

tem-se a lagrangiana expressa da seguinte maneira:

l(x,v)=f(x)+H(x)v

Para o método da lagrangiana aumentada serão assumidas as seguintes hipóteses:

  1. Se x¯ é solução, então existe u¯q tal que xl(x¯,u¯)=0;
  2. Para todo d=0, o jacobiano de H satizfaz:
JH(x)d=0dHx2l(x¯,u¯)d>0

Note que a segunda hipótese tem exatamente a mesma forma de uma das condições que aparece no lema de Finsler-Debreu.

Predefinição:Definição

Observe que é justamente a aparição do termo ρ2H(x)H(x) sendo somado à lagrangiana que justifica o nome lagrangiana aumentada.

Esse conceito possui algumas interpretações: Predefinição:Exercício Predefinição:Demonstração

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

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

Predefinição:Proposição Predefinição:Demonstração

Com essas condições, mostrou-se que em um ponto que seja solução, a lagrangiana aumentada é fortemente convexa.

Antes de apresentar o algoritmo, será fixada mais uma notação:

(Pρ,u){minlρ(x,u)xn

Algoritmo da lagrangiana aumentada

Dados ρ>0 e ϵ(0,ρ).

Início: Tome u0q e k=0.

Iteração: Calcule xk, solução de (Pρ,uk).
     Se H(xk)=0, pare: x¯=xk.
     Senão, faça
           uk+1=uk+ϵH(xk)
           k=k+1


Este é um dos algoritmos mais usados e mais eficientes para problemas de programação não linear. A garantia de convergência segue dos próximos teoremas.

Predefinição:Teorema Observações:

  • X(ρ,u) denota as soluções do problema;
  • A igualdade βρ(u¯)=f(x¯) significa que não há salto de dualidade.
  • Já foi mostrado que a função é fortemente convexa em uma vizinhança. Logo, os minimizadores devem estar em tal vizinhança.
  • A prova é um pouco técnica, e usa as condições de KKT, mostrando que o cone linearizado é igual ao cone tangente.

Predefinição:Prova

O segundo teorema é: Predefinição:Teorema Observações:

  • A propriedade 2 praticamente segue do fato de não haver salto de dualidade.

Predefinição:Justificativa

Com esses resultados, tem-se a garantia de que o algoritmo realmente converge para uma solução, desde que os parâmetros sejam tomados adequadamente. A questão que ainda permanece é como identificar os valores adequados de ρ e de δ para que tal convergência ocorra.

Predefinição:Exercício

Predefinição:AutoCat