Conditions de Karush-Kuhn-Tucker

En mathématiques, les conditions de Karush-Kuhn-Tucker ou anciennement conditions de Kuhn-Tucker  sont une généralisation des multiplicateurs de Lagrange qui permettent de résoudre des problèmes d'optimisation sous contraintes non linéaires d'inégalités.

Soit , une fonction appelée fonction objectif, et des fonctions , , appelées contraintes. On suppose que  et les  sont de classe C.

Le problème à résoudre est le suivant :

Théorème 
Si  admet un minimum en sous les contraintes  pour tout , alors il existe  vérifiant les conditions suivantes, dites conditions de Karush-Kuhn-Tucker. On dit alors que  est le multiplicateur de Lagrange associé à la -ème contrainte.

Conditions du premier ordre 
Le point  est un point critique de , le lagrangien du problème. Autrement dit, le gradient du lagrangien s'annule en ce point : , où  est le gradient, ou encore, en écrivant les dérivées partielles,

Conditions de relâchement supplémentaires 

On peut également écrire, de façon plus compacte, que pour tout , .

Remarques 
Les conditions de relâchement supplémentaires impliquent que si , alors . Autrement dit : si la -ème contrainte n'est pas saturée, alors le multiplicateur de Lagrange associé est nul.

La démonstration de ce résultat repose essentiellement sur le lemme de Farkas.

Application 
En pratique, la résolution des conditions de Kuhn et Tucker est compliquée par le fait qu’il faut envisager successivement toutes les configurations possibles : toutes les contraintes sont saturées à l’équilibre, toutes sauf une, deux, ..., aucune (tous les λ sont nuls à l’équilibre). Pour trouver la bonne solution, il faut procéder par élimination, en montrant que parmi l’ensemble de ces possibilités, certaines aboutissent à des contradictions.

On utilise fréquemment les conditions de Karush-Kuhn Tucker pour résoudre des programmes d’optimisation convexe de type:

où  est un élément de ,  est une contraine de type  et  est une fonction de  dans  de telle sorte que :

La fonction  y est appelée fonction objectif. Le programme consiste à chercher les valeurs  ) pour laquelle la valeur de cette fonction est minimale (ou maximale) sous les contraintes. On appelle optimum la solution d’un programme d’optimisation : il s’agit soit d’un minimum, soit d’un maximum.

Les contraintes peuvent prendre plusieurs formes distinctes:

 contraintes en équations : 
 contraintes en inéquation : 
 contraintes de non-négativité : 
Deux situations sont envisageables pour ces contraintes . Avec  la solution de ce programme, on dit que pour  la contrainte  est saturée à l'optimum et pour  la contrainte  est non saturée à l'optimum.

En supposant que les fonctions  et  sont continûment différentiables, le lagrangien associé à ce programme est la fonction

Les coefficients  s'appellent les coefficients de Kuhn-Tucker ou multiplicateurs de Lagrange associés aux  contraintes. Il y en a autant que de contraintes. Le coefficient  est associé à la contrainte .

Pour résoudre un tel programme, il faudra poser les conditions de Kuhn-Tucker, qui sont des conditions nécessaires réalisées à l'optimum du problème. Elles s'écrivent vectoriellement ainsi :

.

En pratique, il s'agira de reprendre le lagrangien associé au programme

d'exprimer les variables  en fonction des  et les  en fonction des  et de résoudre chacune de ces expressions  pour , les relations d'exclusion.

Les valeurs qui s'en dégagent pour les variables  et  sont solutions du problème de minimisation .

On peut dégager la proposition suivante : supposons que le problème  possède une solution globale, et supposons qu'il existe des candidats fournis par les conditions de Kuhn et Tucker, alors parmi ces candidats ceux qui donnent à  la plus grande valeur sont solutions globales du problème.

À noter que qu'en toute généralité, les conditions de Kuhn-Tucker sont des conditions nécessaires, autrement dit, si on est en un point optimum, elles sont toujours réalisées. Mais elles ne sont pas forcément suffisantes : autrement dit, ce n’est pas parce qu’elles sont réalisées en un point  que ce point est obligatoirement un optimum. Néanmoins, il existe des situations où on peut affirmer qu’elles sont effectivement suffisantes. C’est le cas en particulier lorsque la fonction  et les fonctions  sont convexes. C’est pourquoi on s’intéresse à l'optimisation convexe.

À noter également qu'il y a la plupart du temps des conditions de signe sur les variables, c'est-à-dire que les variables doivent être positives, typiquement . et .

Notes et références

Lien externe 
  (utilisation du théorème en apprentissage statistique)

Optimisation

de:Konvexe Optimierung#Karush-Kuhn-Tucker-Bedingungen