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

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

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

  [Demonstração 1][5]

Folga complementar editar

  para todo   [Demonstração 2][5]

Viabilidade primal editar

  para todo  
  para todo  [5]

Viabilidade dual editar

  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

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

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

  1. Se   é um minimizador local para   (e consequentemente para  ), então o gradiente de   deve ser nulo em  . Isto é:
     
     
  2. 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).
    Portanto:
    •  
    Como   e   (viabilidade dual),   para todo  .
    Logo,   só é verdadeiro se   para todo  .

Referências editar

  1. Kuhn, H. W.; Tucker, A. W. (1951). «Nonlinear programming». Proceedings of 2nd Berkeley Symposium. Berkeley: University of California Press. pp. 481–492 
  2. 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 
  3. 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 
  4. «The Karush-Kuhn-Tucker Theorem» (PDF). Consultado em 11 de março de 2008. Arquivado do original (PDF) em 10 de junho de 2007 
  5. 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 
  6. Ruszczyński, Andrzej (2006). Nonlinear Optimization. Princeton, NJ: Princeton University Press. ISBN 978-0691119151. MR 2199043 
  7. Martin, D. H. (1985). «The Essence of Invexity». J. Optim. Theory Appl. 47 (1): 65–76. doi:10.1007/BF00941316 
  8. Hanson, M. A. (1999). «Invexity and the Kuhn-Tucker Theorem». J. Math. Anal. Appl. 236 (2): 594–604. doi:10.1006/jmaa.1999.6484