L'idée de base des conditions KKT en tant que conditions nécessaires pour un optimum est que si elles ne tiennent pas à un point faisable , alors il existe une direction δ qui améliorera l'objectif f sans augmenter (et donc éventuellement violer) les contraintes. (Si les conditions KKT ne tiennent pas à x, alors x ne peut pas être un optimum, donc les conditions KKT sont nécessaires pour qu'un point soit optimal.)xδfxx
Imaginez que vous ayez le problème d'optimisation:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
Où et kx∈Rnk contraintes.
Laisser un vecteur colonne indiquant le gradient de f évalué à x∇f(x)fx .
Appliqué à cette situation, le lemme de Farkas déclare que pour tout point exactement unx∈Rn des affirmations suivantes est vraie:
- Il existe tel que ∑ k j = 1 λ j ∇ g j ( x ) = - ∇ f ( x ) et λ ≥ 0λ∈Rk∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- Il existe tel que ∀ j δ ′ g j ( x ) ≤ 0 et δ ′ ∇ f ( x ) < 0δ∈Rn∀jδ′gj(x)≤0δ′∇f(x)<0
Qu'est-ce que ça veut dire? Cela signifie que pour tout point réalisable , soit:x
- La condition (1) est vérifiée et les conditions KKT sont remplies.
- La condition (2) est vérifiée et il existe une direction réalisable qui améliore la fonction objectif f sans augmenter les contraintes g j . (par exemple, vous pouvez améliorer f en passant de x à x + ϵ δ )δfgjfxx+ϵδ
La condition (1) indique qu'il existe des multiplicateurs non négatifs tels que les conditions KKT sont satisfaites au point x . (Géométriquement, on dit que le - ∇ f se situe dans le cône convexe défini par les gradients des contraintes.)λx−∇f
La condition (2) indique qu'au point , il existe une direction δ pour se déplacer (localement) telle que:xδ
- Le déplacement dans la direction réduit la fonction objectif (car le produit scalaire de ∇ f ( x ) et δδ∇f(x)δ est inférieur à zéro).
- Le déplacement dans la direction n'augmente pas la valeur des contraintes (car le produit scalaire de ∇ g j ( xδ et δ est inférieur ou égal à zéro pour toutes les contraintes j ).∇gj(x)δj
(Géométriquement, la direction réalisable définit un hyperplan de séparation entre le vecteur - ∇ f ( x )δ−∇f(x) et le cône convexe défini par les vecteurs ∇gj(x) .)
(Remarque: pour cartographier cela dans le lemme de Farkas , définir la matrice )A=[∇g1,∇g2,…,∇gk]
Cet argument vous donne la nécessité (mais pas la suffisance) des conditions KKT à un optimum. Si les conditions KKT ne sont pas remplies (et que les qualifications de contrainte sont satisfaites), il est possible d'améliorer l'objectif sans violer les contraintes.
Le rôle des qualifications de contraintes
Qu'est-ce qui peut mal tourner? Vous pouvez obtenir des situations dégénérées où les gradients des contraintes ne décrivent pas avec précision les directions possibles pour se déplacer.
Il existe une multitude de qualifications de contraintes différentes à choisir qui permettront à l'argument ci-dessus de fonctionner.
L'interprétation min, max (à mon humble avis la plus intuitive)
Former le lagrangien
L(x,λ)=f(x)+∑j=1kλjgj(x)
Au lieu de minimiser soumis aux contraintes g j , imaginez que vous essayez de minimiser L pendant qu'un adversaire essaie de le maximiser. Vous pouvez interpréter les multiplicateurs λ i comme des pénalités (choisies par certains adversaires) pour avoir violé les contraintes. fgjLλi
La solution au problème d'optimisation d'origine équivaut à:
minxmaxλL(x,λ)
C'est:
- Vous choisissez d'abord pour minimiser le L lagrangien , sachant que ...xL
- Je vais ensuite choisir pour maximiser le lagrangien (après avoir observé votre choix x ).λx
Par exemple, si vous violez la contrainte , je peux vous pénaliser en mettant λ 2g2λ2 à l'infini!
Faible dualité
Pour toute fonction observez que:f(x,y)
∀x^,y^minxf(x,y^)≤f(x^,y^)≤maxyf(x^,y)
x^y^
maxyminxf(x,y)≤minxmaxyf(x,y)
maxλminxL(x,λ)≤minxmaxλL(x,λ) is known as weak duality.
The dual problem maxλminxL(x,λ) gives you a lower bound on the solution
Strong duality
Under certain special conditions (eg. convex problem where Slater condition holds), you have strong duality (i.e. the saddle point property).
maxλminxL(x,λ)=minxmaxλL(x,λ)
This beautiful result implies you can reverse the order of the problem.
I first pick penalties λ to maximize the Lagrangian.
You then pick x to minimize the Lagrangian L.
The λ set in this process are prices for violating the constraints, and the prices are set such that you will never violate the constraints.