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 f : R n R {\displaystyle f:\mathbb {R} ^{n}\to \mathbb {R} } , une fonction appelée fonction objectif, et des fonctions g j : R n R {\displaystyle g_{j}:\mathbb {R} ^{n}\to \mathbb {R} } , 1 j m {\displaystyle 1\leq j\leq m} , appelées contraintes. On suppose que f {\displaystyle f} et les g j {\displaystyle g_{j}} sont de classe C1[4].

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

Trouver x R n {\displaystyle x^{*}\in \mathbb {R} ^{n}} qui minimise f {\displaystyle f} sous les contraintes g j ( x ) 0 {\displaystyle g_{j}(x^{*})\leq 0} pour tout j {\displaystyle j} .

Théorème

Si f {\displaystyle f} admet un minimum en x {\displaystyle x^{*}} sous les contraintes g j ( x ) 0 {\displaystyle g_{j}(x^{*})\leq 0} pour tout j {\displaystyle j} , alors il existe ( λ j ) 1 j m R m {\displaystyle (\lambda _{j})_{1\leq j\leq m}\in \mathbb {R} ^{m}} vérifiant les conditions suivantes, dites conditions de Karush-Kuhn-Tucker. On dit alors que λ j {\displaystyle \lambda _{j}} est le multiplicateur de Lagrange associé à la j {\displaystyle j} -ème contrainte.

Conditions du premier ordre

Le point x {\displaystyle x^{*}} est un point critique de L λ : x f ( x ) + j = 1 m λ j g j ( x ) {\displaystyle L_{\lambda }:x\longmapsto f(x)+\sum _{j=1}^{m}\lambda _{j}g_{j}(x)} , le lagrangien du problème. Autrement dit, le gradient du lagrangien s'annule en ce point : L λ ( x ) = 0 {\displaystyle \nabla L_{\lambda }(x^{*})=0} , où {\displaystyle \nabla } est le gradient, ou encore, en écrivant les dérivées partielles,

f x k ( x ) + j = 1 m λ j g j x k ( x ) = 0 ,   1 k n {\displaystyle {\frac {\partial f}{\partial x_{k}}}(x^{*})+\sum _{j=1}^{m}\lambda _{j}{\frac {\partial g_{j}}{\partial x_{k}}}(x^{*})=0,\ 1\leq k\leq n}

Conditions de relâchement supplémentaires

Pour tout j {\displaystyle j} , 1 j m {\displaystyle 1\leq j\leq m}
  • λ j 0 {\displaystyle \lambda _{j}\geq 0}
  • λ j = 0 {\displaystyle \lambda _{j}=0} ou g j ( x ) = 0 {\displaystyle g_{j}(x^{*})=0} .

On peut également écrire, de façon plus compacte, que pour tout j {\displaystyle j} , min [ λ j , | g j ( x ) | ] = 0 {\displaystyle \min[\lambda _{j},|g_{j}(x^{*})|]=0} .

Remarques

Les conditions de relâchement supplémentaires impliquent que si g j ( x ) < 0 {\displaystyle g_{j}(x^{*})<0} , alors λ j = 0 {\displaystyle \lambda _{j}=0} . Autrement dit : si la j {\displaystyle j} -è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 λ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]:

P { min f ( x ) g ( x ) b x 0 {\displaystyle P{\begin{cases}\min f(x)\\g(x)\leq b\\x\geq 0\end{cases}}}

x = ( x 1 , . . . , x n ) {\displaystyle x=(x_{1},...,x_{n})} est un élément de R n {\displaystyle R^{n}} , b {\displaystyle b} est une contraine de type c j {\displaystyle c_{j}} et g {\displaystyle g} est une fonction de R n {\displaystyle R^{n}} dans R m {\displaystyle R^{m}} de telle sorte que :

g ( x ) = ( g 1 ( x ) , . . . , g m ( x ) ) {\displaystyle g(x)=(g_{1}(x),...,g_{m}(x))}

La fonction f {\displaystyle f} y est appelée fonction objectif. Le programme consiste à chercher les valeurs ( x 1 , x 2 , . . . , x n ) {\displaystyle (x_{1},x_{2},...,x_{n})} ) 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 : g j ( x 1 , . . . , x n ) = c j , j = 1 , . . . , m {\displaystyle g_{j}(x_{1},...,x_{n})=c_{j},\forall j=1,...,m}
  • contraintes en inéquation : g j ( x 1 , . . . , x n ) c j , j = 1 , . . . , m {\displaystyle g_{j}(x_{1},...,x_{n})\leq c_{j},\forall j=1,...,m}
  • contraintes de non-négativité : x i 0 , i = 1 , . . . , n {\displaystyle x_{i}\geq 0,\forall i=1,...,n}

Deux situations sont envisageables pour ces contraintes j {\displaystyle j} . Avec x {\displaystyle x^{*}} la solution de ce programme, on dit que pour g j ( x ) = c j {\displaystyle g_{j}(x^{*})=c_{j}} la contrainte j {\displaystyle j} est saturée à l'optimum et pour g j ( x ) < c j {\displaystyle g_{j}(x*)<c_{j}} la contrainte j {\displaystyle j} est non saturée à l'optimum.

En supposant que les fonctions f {\displaystyle f} et g {\displaystyle g} sont continûment différentiables, le lagrangien associé à ce programme est la fonction

L ( x , λ ) = f ( x ) λ ( g ( x ) b ) = f ( x ) λ 1 × ( g 1 ( x ) b 1 ) λ m × ( g m ( x ) b m ) {\displaystyle {\begin{aligned}L(x,\lambda )&=f(x)-\lambda \cdot (g(x)-b)\\&=f(x)-\lambda _{1}\times (g_{1}(x)-b_{1})-\ldots -\lambda _{m}\times (g_{m}(x)-b_{m})\\\end{aligned}}}

Les coefficients λ {\displaystyle \lambda } s'appellent les coefficients de Kuhn-Tucker ou multiplicateurs de Lagrange associés aux j {\displaystyle j} contraintes. Il y en a autant que de contraintes. Le coefficient λ j {\displaystyle \lambda _{j}} est associé à la contrainte g j ( x ) b j {\displaystyle g_{j}(x)\ll b_{j}} .

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 :

x L 0 , x 0 , x x L = 0 {\displaystyle \nabla _{x}L\leq 0,x\geq 0,x\cdot \nabla _{x}L=0}
λ L 0 , λ 0 , λ λ L = 0 {\displaystyle \nabla _{\lambda }L\geq 0,\lambda \geq 0,\lambda \cdot \nabla _{\lambda }L=0} .

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

L ( x , λ ) = f ( x ) λ ( g ( x ) b ) = f ( x ) λ 1 ( g 1 ( x ) b 1 ) λ m ( g m ( x ) b m ) {\displaystyle {\begin{aligned}L(x,\lambda )&=f(x)-\lambda \cdot (g(x)-b)\\&=f(x)-\lambda _{1}(g_{1}(x)-b_{1})-\ldots -\lambda _{m}(g_{m}(x)-b_{m})\end{aligned}}}

d'exprimer les variables x {\displaystyle x} en fonction des λ {\displaystyle \lambda } et les λ {\displaystyle \lambda } en fonction des x {\displaystyle x} et de résoudre chacune de ces expressions E {\displaystyle E} pour E = 0 {\displaystyle E=0} , les relations d'exclusion.

Les valeurs qui s'en dégagent pour les variables x {\displaystyle x} et λ {\displaystyle \lambda } sont solutions du problème de minimisation ( P ) {\displaystyle (\mathrm {P} )} .

On peut dégager la proposition suivante : supposons que le problème ( P ) {\displaystyle (\mathrm {P} )} 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 à f {\displaystyle f} 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 ( x , λ ) {\displaystyle (x,\lambda )} 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 f {\displaystyle f} et les fonctions g j {\displaystyle g_{j}} 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 x 1 0 , x 2 0...   e t   x j 0 {\displaystyle x_{1}\geq 0,x_{2}\geq 0...\ \mathrm {et} \ x_{j}\geq 0} . et λ 1 0 , λ 2 0   e t   λ j 0 {\displaystyle \lambda _{1}\geq 0,\lambda _{2}\geq 0\ \mathrm {et} \ \lambda _{j}\geq 0} [6].

Notes et références

  1. (en) W. Karush, Minima of Functions of Several Variables with Inequalities as Side Constraints, Dept. of Mathematics, Univ. of Chicago, Chicago, Illinois,
  2. 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.
  3. (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.
  4. Pour plus de détails sur les conditions de régularité imposées, voir « Conditions d'optimalité (dimension finie) ».
  5. Julien Grenet, « TD d’Économie », Fiches de Td., École Normale Supérieure,‎ (lire en ligne Accès libre [PDF])
  6. a b c d et e B.Desgraupes, « Méthodes Numériques », Universite Paris Ouest Nanterre La Défense U.F.R. SEGMI,‎ (lire en ligne Accès libre [PDF])
  7. 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

  • Jeremy Kun, « Duality for the SVM », (utilisation du théorème en apprentissage statistique)
v · m
Convexité
Géométrie convexe
Interactions géométrie-analyse
Analyse convexe
Utilisations de la convexité
  • icône décorative Portail de l'analyse