Otimização/Método da lagrangiana aumentada
O problema a ser resolvido é:
Sabe-se que se for aplicado o método da lagrangiana, será considerada a função:
- dada por
- .
e também
- , dada por
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:
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
A partir de agora, o problema será:
onde se supõe que são funções de classe e que para todo , o conjunto é 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 é:
- dada por
- .
e ainda, em uma notação mais sintética, considerando a função dada por:
- definida por
tem-se a lagrangiana expressa da seguinte maneira:
Para o método da lagrangiana aumentada serão assumidas as seguintes hipóteses:
- Se é solução, então existe tal que ;
- Para todo , o jacobiano de satizfaz:
Note que a segunda hipótese tem exatamente a mesma forma de uma das condições que aparece no lema de Finsler-Debreu.
Observe que é justamente a aparição do termo 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:
Algoritmo da lagrangiana aumentada
Dados e .
Início: Tome e .
Iteração: Calcule , solução de .
Se , pare: .
Senão, faça
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:
- denota as soluções do problema;
- A igualdade 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.
O segundo teorema é: Predefinição:Teorema Observações:
- A propriedade 2 praticamente segue do fato de não haver salto de dualidade.
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.