Condições de Karush-Kuhn-Tucker
Em otimização, as Condições de Karush-Kuhn-Tucker (também conhecidas como Condições de Kuhn-Tucker ou condições KKT) são condições de primeira ordem para que uma solução de um problema de programação não linear seja ótima, desde que valham condições chamadas de condições de qualificação ou, em inglês, constraint qualifications. Permitindo restrições de desigualdade, as condições KKT generalizam, na programação não linear, o método de multiplicadores de Lagrange, que permite somente restrições de igualdade. O sistema de equações e inequações correspondente às condições KKT em geral não é resolvido diretamente, exceto em alguns casos especiais onde uma solução pode ser obtida analiticamente. Nos demais casos, diversos algoritmos de otimização podem ser usados para resolver numericamente o sistema.
As condições KKT foram originalmente nomeadas após Harold W. Kuhn e Albert W. Tucker, que primeiro publicaram essas condições em 1951.[1] Porém, estudiosos posteriores descobriram que as condições necessárias para esse problema já haviam sido ditadas por William Karush em sua tese de mestrado em 1939.[2][3]
O problema
[editar | editar código-fonte]Seja o seguinte problema de otimização não-linear (também conhecido como PNL):
onde
- é a variável de otimização,
- é a função a ser minimizada (chamada também de função objetivo),
- , com são as restrições de desigualdade,
- , com são restrições de igualdade,
sendo e as quantidades de restrições de desigualdade e igualdade, respectivamente.
Condições necessárias
[editar | editar código-fonte]Seja um PNL definido como na seção acima. Seja também o operador Lagrangeano definido como:
Suponha que a função objetivo e as restrições e sejam continuamente diferenciáveis em um ponto .
Se é um mínimo local para e o PNL satisfaz algumas condições de regularidade então existem constantes com e com , chamadas de multiplicadores KKT tais que[4]:
Estacionariedade
[editar | editar código-fonte]Folga complementar
[editar | editar código-fonte]- para todo [Demonstração 2][5]
Viabilidade primal
[editar | editar código-fonte]- para todo
- para todo [5]
Viabilidade dual
[editar | editar código-fonte]- para todo [5]
As restrições em que são chamadas restrições ativas em .
No caso particular em que , isto é, não há nenhuma restrição de desigualdade, as condições KKT se transformam nas condições de Lagrange e os multiplicadores KKT são chamados multiplicadores de Lagrange.
Se algumas das funções não são diferenciáveis, versões subdiferenciáveis das condições KKT estão disponíveis.[6]
Condições suficientes
[editar | editar código-fonte]Em alguns casos, as condições necessárias são também suficientes para otimalidade, mas em geral, isso não ocorre e informações adicionais são necessárias, como as condições suficientes de segunda ordem. Para funções suaves, essas condições envolvem as segundas derivadas, o que explica seu nome.
As condições necessárias são suficientes para otimalidade se a função objetivo de um problema de maximização é uma função côncava, as restrições de desigualdade são funções convexas continuamente diferenciáveis e as restrições de igualdade são funções afim.
H.D. Martin provou em 1985 que a ampla classe de funções em que as condições KKT garantem a otimalidade global é chamada funções invexas tipo 1.[7][8]
Condições suficientes de segunda ordem
[editar | editar código-fonte]Para problemas não-lineares suaves, uma condição suficiente de segunda ordem é dada como segue:
Considere , , que achem um mínimo local usando as condições KKT. Com tal que a complementaridade estrita é mantida em (i.e. todo ), então para todo tal que
A seguinte equação deve se manter:
Se a condição acima é satisfeita estritamente, a função é estritamente restrita a um mínimo local.
Demonstrações
[editar | editar código-fonte]- ↑ Se é um minimizador local para (e consequentemente para ), então o gradiente de deve ser nulo em . Isto é:
- ↑ Com as suposições e resultados da primeira condição de KKT obtém-se que:
- (o gradiente da função objetivo no mínimo local é nulo) e;
- (por conta da viabilidade primal).
Logo, só é verdadeiro se para todo .
Referências
[editar | editar código-fonte]- ↑ Kuhn, H. W.; Tucker, A. W. (1951). «Nonlinear programming». Proceedings of 2nd Berkeley Symposium. Berkeley: University of California Press. pp. 481–492
- ↑ W. Karush (1939). «Minima of Functions of Several Variables with Inequalities as Side Constraints». Dept. of Mathematics, Univ. of Chicago, Chicago, Illinois. M.Sc. Dissertation
- ↑ Kjeldsen, Tinne Hoff (2000). «A contextualized historical analysis of the Kuhn-Tucker theorem in nonlinear programming: the impact of World War II». Historia Math. 27 (4): 331–361. MR 1800317. doi:10.1006/hmat.2000.2289
- ↑ «The Karush-Kuhn-Tucker Theorem» (PDF). Consultado em 11 de março de 2008. Arquivado do original (PDF) em 10 de junho de 2007
- ↑ a b c d Boyd, Stephen; Vandenberghe, Lieven (2004). Convex Optimization (PDF) (em inglês). Cambridge, United Kingdom: Cambridge University Press. pp. 225, 243. ISBN 978-0-521-83378-3. Consultado em 8 de abril de 2017
- ↑ Ruszczyński, Andrzej (2006). Nonlinear Optimization. Princeton, NJ: Princeton University Press. ISBN 978-0691119151. MR 2199043
- ↑ Martin, D. H. (1985). «The Essence of Invexity». J. Optim. Theory Appl. 47 (1): 65–76. doi:10.1007/BF00941316
- ↑ Hanson, M. A. (1999). «Invexity and the Kuhn-Tucker Theorem». J. Math. Anal. Appl. 236 (2): 594–604. doi:10.1006/jmaa.1999.6484