Conditions de Karush-Kuhn-Tucker

De testwiki
Aller à la navigation Aller à la recherche

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:n, une fonction appelée fonction objectif, et des fonctions gj:n, 1jm, appelées contraintes. On suppose que f et les gj sont [[Classe de régularité|de classe CModèle:1]] sur leur domaineModèle:Note.

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

Modèle:Bloc emphase

Théorème

Si f admet un minimum en x*sous les contraintes gj(x*)0 pour tout j, alors il existe (λj)1jmm vérifiant les conditions suivantes, dites conditions de Karush-Kuhn-Tucker. On dit alors que λj est le multiplicateur de Lagrange associé à la j-ème contrainte.

Conditions du premier ordre

Le point x* est un point critique de Lλ:xf(x)+j=1mλjgj(x), le lagrangien du problème. Autrement dit, le gradient du lagrangien s'annule en ce point : Lλ(x*)=0, où est le gradient, ou encore, en écrivant les dérivées partielles,

Modèle:Bloc emphase

Conditions de relâchement supplémentaires

Modèle:Bloc emphase

On peut également écrire, de façon plus compacte, que pour tout j, min[λj,|gj(x*)|]=0.

Remarques

Les conditions de relâchement supplémentaires impliquent que si gj(x*)<0, alors λj=0. Autrement dit : si la 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 λModèle:Ind 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[4].

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

P{minf(x)g(x)bx0

x=(x1,...,xn) est un élément de n, b est une contraine de type cj et g est une fonction de n dans m de telle sorte que :

g(x)=(g1(x),...,gm(x))

La fonction f y est appelée fonction objectif. Le programme consiste à chercher les valeurs (x1,x2,...,xn) ) 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[5].

Les contraintes peuvent prendre plusieurs formes distinctes[5]:

  • contraintes en équations : gj(x1,...,xn)=cj,j=1,...,m
  • contraintes en inéquation : gj(x1,...,xn)cj,j=1,...,m
  • contraintes de non-négativité : xi0,i=1,...,n

Deux situations sont envisageables pour ces contraintes j. Avec x* la solution de ce programme, on dit que pour gj(x*)=cj la contrainte j est saturée à l'optimum et pour gj(x*)<cj la contrainte j est non saturée à l'optimum.

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

L(x,λ)=f(x)λ(g(x)b)=f(x)λ1×(g1(x)b1)λm×(gm(x)bm)

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

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 :

xL0,x0,xxL=0
λL0,λ0,λλL=0.

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

L(x,λ)=f(x)λ(g(x)b)=f(x)λ1(g1(x)b1)λm(gm(x)bm)

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

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

On peut dégager la proposition suivante : supposons que le problème (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 la plus grande valeur sont solutions globales du problème[6].

À 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,λ) 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 et les fonctions gj sont convexes. C’est pourquoi on s’intéresse à l'optimisation convexe[5].

À 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 x10,x20... et xj0. et λ10,λ20 et λj0[5].

Notes et références

Modèle:Références

Lien externe

Modèle:Palette Modèle:Portail

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

  1. Modèle:Ouvrage
  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. Modèle:Chapitre.
  4. Modèle:Article
  5. 5,0 5,1 5,2 5,3 et 5,4 Modèle:Article
  6. Modèle:Ouvrage