Conditions de Karush-Kuhn-Tucker

(Redirigé depuis Conditions de 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 :

Trouver qui minimise sous les contraintes pour tout .

Théorème

modifier

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

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
Pour tout  ,  
  •  
  •   ou  .

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

Remarques

modifier

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

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]:

 

  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
  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   [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   [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

modifier