Conditions de Karush-Kuhn-Tucker

En mathématiques, les conditions de Karush-Kuhn-Tucker[1], parfois appelées conditions de Kuhn-Tucker[2] ou Théorème KKT sont des critères d'optimalité qui permettent de résoudre des problèmes d'optimisation sous contraintes non linéaires d'inégalités et d'égalité [3].

Soit une fonction appelée fonction objectif, d'un ouvert dans , une famille de contraintes d'inégalité, et une famille de contraintes d'égalité. On suppose que , et sont dérivables sur leurs domaines[4].

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

Trouver qui minimise sous les contraintes d'inégalité , et les contraintes d'égalité .

Remarque

Maximiser revient à minimiser , aussi, sans perte de généralité et par convention, on se placera systématiquement dans un cadre de minimisation. Par ailleurs, si est convexe, est concave, aussi tout problème de minimisation convexe est équivalent à un problème de maximisation concave.

Théorème

Si et les familles de fonction sont différentiables, si admet un minimum local en sous les contraintes pour tout et pour tout , alors il existe vérifiant les conditions suivantes, dites conditions de Karush-Kuhn-Tucker :

Ces contraintes sont généralement appelées "conditions KKT du premier ordre" ou "condition d'optimalité de premier ordre"

On appelle le Lagrangien du problème l'expression suivante, dont la première ligne des conditions KKT est le gradient au point :

On dit que ) est le multiplicateur de Lagrange associé à la -ème contrainte d'inégalité.

Remarques

La deuxième ligne implique que si , alors . Autrement dit : si la -ème contrainte n'est pas saturée, alors le multiplicateur de Lagrange associé est nul.

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

La première ligne de l'expression est parfois écrite est un point critique du Lagrangien, ou est un point selle du Lagrangien.

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

Réciproque du Théorème

Le théorème de Karush Kuhn et Tucker est rarement utile en tant que tel : il nous dit que si est une solution locale du problème d'optimisation, alors il existe deux vecteurs , avec un vecteur à coefficients positifs, tels que le gradient du lagrangien s'annule. Cependant, cela ne nous permet pas de déterminer l'optimum du problème d'optimisation. Afin de ce faire, on utilise la réciproque - ou condition suffisante - du théorème KKT (laquelle requiert des hypothèses plus fortes) :

Supposons que soit convexe sur , que les fonctions soient convexes sur , et que les fonctions soient affines sur . Toutes ces fonctions sont toujours supposées dérivables sur . Si le problème est qualifié, ou, plus simplement, si la condition de Slater est vérifiée, i.e. s'il existe tel que , alors les propositions suivantes sont équivalentes:
  • est un minimum local du problème d'optimisation
  • est un minimum global du problème d'optimisation
  • vérifie les conditions KKT

Ainsi, sous les conditions suffisantes susmentionnées, tout point vérifiant les conditions KKT est un minimum global, ce qui nous donne une méthodologie pour trouver le minimum global : chercher les points où les conditions KKT sont vérifiées.

Ces résultats peuvent être appréhendés dans le cadre de l'optimisation duale.

Sans détailler, la base de la dualité en optimisation est de reformuler un problème de minimisation, le problème primal, sous la forme d'un problème de maximisation formulé dans un autre espace, le problème dual, que l'on espère plus simple à résoudre.

Dans le cas général, une solution du problème primal de minimisation donne une borne supérieur à toute solution du problème dual, et une solution du problème dual (de maximisation) donne une borne inférieure au problème primal - la dualité est dite faible : il y a une différence entre la solution du problème primal et celle du problème dual, différence que l'on appelle un saut de dualité. Dans le cadre spécifique d'un problème d'optimisation convexe, on peut prouver que, sous certaines conditions dites conditions de qualification, le saut de dualité est nul, aussi la solution du problème dual est la même que celle du problème primal.

Ainsi, la condition nécessaire du théorème KKT implique que tout point solution du primal est solution du dual lagrangien au point (le gradient du Lagrangien est une fonction localement affine pour fixé, le lagrangien est donc concave sous la condition de positivité des ).

La condition suffisante du théorème KKT, elle, indique que, si le problème d'optimisation est convexe et qualifié, alors le saut de dualité est nul, et la solution du problème dual lagrangien est solution du problème primal (la qualification est une condition suffisante de dualité forte d'un problème convexe).

La condition de Slater est une des conditions suffisantes de qualification les plus fortes, mais aussi l'une des plus faciles à vérifier, aussi c'est généralement celle qui est la plus étudiée.

Une autre condition de qualification plus générale (probablement la plus générale) mais plus difficile à utiliser est la condition LICQ (Linear independence constraint qualification, qualification par indépendance linéaire des contraintes), qui stipule que le problème est qualifié si les gradients des contraintes d'inégalité actives et des contraintes d'égalité sont linéairement indépendants en .

L'une des sources francophones les plus exhaustives sur le sujet est le Fragments d'optimisation différentiable - Théorie et algorithmes de Jean Charles Gilbert, disponible en ligne[5].

Exemple d'application

Afin d'illustrer, résolvons un exercice d'optimisation KKT[6] :

Soit . On définit le problème d'optimisation suivant :

Que l'on réécrira sous la forme du problème convexe .

est continue sur .

est :

  • Fermé comme l'intersection de deux ensembles fermés :
    • L'image réciproque du fermé par l'application continue
    • Le fermé , lui même fermé comme produit cartésien de deux fermés (étant un fermé)
  • Borné :
  • En dimension finie

est donc compact (via le Lemme de Riesz), et atteint ses bornes sur , ce qui nous permet d'obtenir l'existence et l'unicité du minimum. Il faut noter que l'unicité du minimum réfère l'unicité de la valeur du minimum : le minimum n'est pas forcément atteint qu'en un seul point (à titre d'exemple, une fonction constante est convexe et admet un unique minimum, qu'elle atteint en chaque point où elle est définie).

Dans un premier temps, sachant que est une fonction (ce qui nous permet d'utiliser le Théorème de Schwarz) comme polynôme de deux variables, on peut vérifier sa convexité:

La matrice hessienne de est définie positive (il s'agit de , dont les valeurs propres (2, dont le sous espace propre est de dimension 2) sont strictement positives), donc est convexe.

Les contraintes d'inégalité sont affines (), donc convexes, et la contrainte d'égalité est également affine ().

On peut choisir un point vérifiant strictement les contraintes d'inégalité, par exemple  : la condition de Slater est donc vérifiée, le problème est qualifié.

On peut donc écrire le Lagrangien :

Ce qui, par application du théorème KKT, nous permet d'écrire le système suivant:

À partir de ce point, il faut procéder à une analyse systématique afin de trouver la solution du problème :

  • Commençons par supposer . Alors (car ), donc (car ), donc (car ). Par conséquent, en reprenant la deuxième équation du système, on a , soit . En reprenant la première équation du système, on obtient alors , ce qui contredit l'hypothèse initiale. Donc .
  • Supposons à présent . Cela nous donne (car , donc (car ), soit en reprenant la première équation , ce qui, en reprenant la deuxième équation, donne , ce qui contredit l'hypothèse.
  • On suppose donc enfin que . Le système se réécrit alors


Ainsi, le système KKT possède une unique solution au point valant .

Comme vu ci-dessus, 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[7].

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[8].

Dans les faits, on utilise généralement un solveur algorithmique pour procéder à l'analyse des conditions KKT dans les problèmes d'optimisation convexes.

Remarque

Dans certains cas (relativement rares), il est possible d'avoir une infinité de solutions du problème KKT. Par exemple, l'application convexe peut être minimisée sous la contrainte , cela donnera comme minimum , atteint en tout point de la droite d'équation interne à la boule fermée unité selon la norme euclidienne.

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. JC. Gilbert, Fragments d'Optimisation Différentiable-Théories et Algorithmes, (lire en ligne)
  6. François-Pierre Paty, « Corrections d'exercices d'optimisation »,
  7. Julien Grenet, « TD d’Économie », Fiches de Td., École Normale Supérieure,‎ (lire en ligne [PDF])
  8. 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

  • Portail de l'analyse