Conditions de Karush-Kuhn-Tucker
En mathématiques, les conditions de Karush-Kuhn-Tucker[1] ou anciennement conditions de Kuhn-Tucker[2] 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[3].
Soit , une fonction appelée fonction objectif, et des fonctions , , appelées contraintes. On suppose que et les sont de classe C1[4].
Le problème à résoudre est le suivant :
Théorème
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]On peut également écrire, de façon plus compacte, que pour tout , .
Remarques
[modifier | modifier le code]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
[modifier | modifier le code]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 λj 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[5].
On utilise fréquemment les conditions de Karush-Kuhn Tucker pour résoudre des programmes d’optimisation convexe de type[6]:
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[6].
Les contraintes peuvent prendre plusieurs formes distinctes[6]:
- 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[7].
À 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[6].
À 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 [6].
Notes et références
[modifier | modifier le code]- (en) W. Karush, Minima of Functions of Several Variables with Inequalities as Side Constraints, Dept. of Mathematics, Univ. of Chicago, Chicago, Illinois,
- William Karush fut le premier à énoncer ce résultat dans sa thèse de Master non publiée en 1939. Mais son travail fut redécouvert en 1951 à l'occasion d'une conférence par Harold W. Kuhn et Albert W. Tucker.
- (en) H. W. Kuhn et A. W. Tucker, « Nonlinear programming », dans Proceedings of 2nd Berkeley Symposium, Berkeley, University of California Press, (MR 47303, lire en ligne), p. 481-492.
- Pour plus de détails sur les conditions de régularité imposées, voir « Conditions d'optimalité (dimension finie) ».
- Julien Grenet, « TD d’Économie », Fiches de Td., École Normale Supérieure, (lire en ligne
[PDF])
- B.Desgraupes, « Méthodes Numériques », Universite Paris Ouest Nanterre La Défense U.F.R. SEGMI, (lire en ligne
[PDF])
- Jean-Pierre Leca, Mathématiques pour l'économie : analyse-algèbre, dl 2019 (ISBN 978-2-10-078912-2 et 2-10-078912-0, OCLC 1103713868, lire en ligne)
Lien externe
[modifier | modifier le code]- Jeremy Kun, « Duality for the SVM », (utilisation du théorème en apprentissage statistique)