Sie sind auf Seite 1von 14

Chapitre 9

Optimisation avec contraintes

9.1 Introduction
Nous avons vu dans le chapitre précédent des conditions nécessaires d’optimalité pour
des problèmes
P : min f (x)
x∈C

sans contrainte, c’est à dire dans le cas où C est Rn tout entier. Nous considérons à présent
des situation où C est strictement inclu dans Rn , et exhibons diverses conditions dépendant
de la nature topologique de C.

9.2 Quelques résultats de convexité


Exercice 9.1 Propriété des problèmes d’optimisation convexes. Si C est convexe et si f
est convexe sur C, tout minimum local est un minimum global.

Preuve 9.1 Démonstration : Soit x̄ une solution locale. Pour tout  > 0, notons B(x̄, ) la
boule centrée en x̄ et de rayon . Alors pour tout x dans C ∩B(x̄, ), on a f (x) ≥ f (x̄). Soit
y ∈ C, alors [x̄, y] = {xα , xα = (1 − α)x̄ + αy, 0 ≤ α ≤ 1} ⊂ C. Alors pour α suffisamment
petit (pour 0 < α < α0 ), f (xα ) ≥ f (x̄). Mais alors, pour 0 < α < α0 ,

f (x̄) ≤ f (xα ) ≤ (1 − α)f (x̄) + αf (y),

ce qui implique bien que f (x̄) ≤ f (y).


2
L’exercice 9.1 explique pourquoi les problèmes convexes sont considérés plus simples à
manipuler que les autres. Nous allons utiliser la caractérisation importante des fonctions
convexes suivante.
Exercice 9.2 Soit O un ouvert de Rn et f une fonction différentiable sur O. Soit C ⊂ O
une partie convexe de Rn . Alors f est convexe sur C si et seulement si ∀(x, y) ∈ C 2 ,
f (y) ≥ f (x) + f 0 (x)(y − x).

1
2 Chapitre 9 : Optimisation avec contraintes

Preuve 9.2 Démonstration : Soit (x, y) ∈ C 2 . Partant de f (x + t(y − x)) ≤ tf (y) + (1 −


t)f (x), pour t ∈ [0, 1], on obtient f (x+t(y−x))−f
t
(x)
≤ f (y) − f (x). En passant a la limite,
on obtient f 0 (x)(y − x) ≤ f (y) − f (x).
Réciproquement, utilisant, pour t ∈ [0, 1]
f (y) ≥ f (x + t(y − x)) + f 0 (x + t(y − x))(1 − t)(y − x)
et
f (x) ≥ f (x + t(y − x)) + f 0 (x + t(y − x))(−t)(y − x),
on obtient, en multipliant par t(> 0) la première inégalité et par 1 − t(> 0) la seconde et
en sommant,
tf (y) + (1 − t)f (x) ≥ f (x + t(y − x)) + f 0 (x + t(y − x)) (t(1 − t)(y − x) − (1 − t)t(y − x))
≥ f (x + t(y − x)) + 0
2

Exercice 9.3 Convexité sur C = Rn . Soit f une fonction deux fois différentiable sur
Rn . Alors f est convexe sur Rn si et seulement si ∇2 f (x) ∈ Rn est une matrice semi-
définie positive pour tout x ∈ Rn . La fonctionnelle des moindres carrées kAx − bk22 est
donc convexe. La quadratique 12 xT Ax − xT b, avec A symétrique semi-définie positive l’est
aussi.

Preuve 9.3 Démonstration : Supposons f convexe. Pour tout t > 0 et φ, x + φ ∈ C = Rn .


Alors d’après l’exercice 9.2, f (x + tφ) ≥ f (x) + f 0 (x)(tφ), et f (x) ≥ f (x + tφ) − f 0 (x +
tφ)(tφ). On a donc f 0 (x)(tφ) ≤ f (x + tφ) − f (x) ≤ f 0 (x + tφ)(tφ), ce qui donne pour tout
t > 0,
f 0 (x + tφ) − f 0 (x)

0≤ φ,
t
et 0 ≤ φT ∇2 f (x)φ provient du passage à la limite t → 0 et de l’exercice ??. Réciproquement,
supposons ∇2 f (x) semi-définie positive. Si on pose φ(t) = f (x + tφ). En utilisant l’exer-
cice ??, on a d’après le théromème de Taylor Lagrange dans R, φ(1) = φ(0)+φ0 (0)+ 21 φ00 (t),
avec t ∈]0, 1[. Comme ∇2 f (x) définie positive, φ00 (t) = φT ∇2 f (x + tφ)φ ≥ 0, ce qui donne
φ(1) ≥ φ(0) + φ0 (0). On reconnaı̂t la relation f (x + φ) ≥ f (x) + f 0 (x)φ de l’exercice 9.2.
Elle est ici vraie pour tout x et φ de Rn . La fonction f est donc convexe sur Rn .
Remarque. Si C n’est pas Rn tout entier il faut et il suffit que h0 (x) soit semi-définie positive
sur l’ensemble des directions admissibles en x relativement au convexe C, noté Ka (C, x). La
démonstration est très proche de la démonstration ci-dessus. On rappelle que φ ∈ Ka (C, x)
ssi il existe tφ > 0 tel que x + tφ ∈ C pour tout t ∈ [0, tφ ].
2

9.3 Conditions variationnelles


Nous allons établir des conditions, nécessaires, suffisantes, ou les deux, pour des
problèmes d’optimisation avec contrainte.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
3 Chapitre 9 : Optimisation avec contraintes

9.3.1 Cas où C est un ouvert de Rn


Exercice 9.4 Supposons que f est dérivable dans l’ouvert O et que C ⊂ O. Supposons
que C est ouvert.
Si x̄ ∈ C est une solution locale de P alors f 0 (x̄) = 0.
Preuve 9.4 Démonstration : Soit x̄ solution locale de P. Soit d ∈ Rn . Alors comme C
est ouvert, il existe t1 > 0 tel que |t| < t1 entraı̂ne x̄ + t · d ∈ C. Comme x̄ est solution
locale, il existe t2 , 0 < t2 ≤ t1 tel que |t| < t2 entraı̂ne f (x̄) ≤ f (x̄ + t · d). Mais alors
pour t ∈]0, t2 [, on a f (x̄+t·d)−f
t
(x̄)
≥ 0. Par passage à la limite, on obtient f 0 (x̄)d ≥ 0. En
faisant le même raisonnement avec −d, on obtient f 0 (x̄)d ≤ 0, d’où f 0 (x̄)d = 0 pour tout
d, donc f 0 (x̄) = 0.
2
Exercice 9.5 (Egalité d’Euler) Supposons que f est dérivable dans l’ouvert O et que
C ⊂ O. Supposons que C est ouvert, et que f et C sont convexes.
Alors x̄ ∈ C est une solution locale de P si et seulement si f 0 (x̄) = 0.
Preuve 9.5 Démonstration : On suppose que x̄ ∈ C est une solution locale de P, alors
l’exercice 9.4 permet de conclure.
Réciproquement, supposons que f , qui est une fonction convexe dérivable, vérifie
f 0 (x̄) = 0 en x̄ ∈ C. Alors par caractérisation de la convexité, pour tout x ∈ C, f (x) ≥
f (x̄) + f 0 (x̄)(x − x̄)), d’où f (x) ≥ f (x̄).
2

9.3.2 Cas où C est convexe


Exercice 9.6 Supposons que f est dérivable dans l’ouvert O et que C ⊂ O. Supposons C
convexe.
Si x̄ ∈ C est une solution locale de P alors ∀x ∈ C, f 0 (x̄)(x − x̄) ≥ 0.
Preuve 9.6 Démonstration : Soit x ∈ C. Il existe tx tel que 0 ≤ t ≤ min(1, tx ) entraı̂ne
x̄ + t · (x − x̄) ∈ C (convexité de Ci) et f (x̄ + t · (x − x̄)) − f (x̄) ≥ 0 (minimum local). Mais
alors,
f (x̄ + t · (x − x̄)) − f (x̄)
≥ 0,
t
et par passage a la limite, f 0 (x)(x − x̄) ≥ 0.
2
Exercice 9.7 (Inégalité d’Euler) Supposons que f est dérivable dans l’ouvert O et que
C ⊂ O. Supposons f et C sont convexes.
Alors x̄ ∈ C est une solution locale de P si et seulement si ∀x ∈ C, f 0 (x̄)(x − x̄) ≥ 0.
Preuve 9.7 Démonstration : Si x̄ ∈ C est une solution locale de P, l’exercice 9.6 permet
de conclure. Réciproquement, comme f est convexe, alors f (x) ≥ f (x̄) + f 0 (x̄)(x − x̄).
Comme f 0 (x̄)(x − x̄) ≥ 0, on a, ∀x ∈ C, f (x) ≥ f (x̄).
2

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
4 Chapitre 9 : Optimisation avec contraintes

9.3.3 Cas où C est quelconque


Definition 9.1 Soit x ∈ C. On dit que φ est tangent à C en x si et seulement si
1. il existe une suite (xn ) d’éléments de C telle que limn→+∞ xn = x, et
2. il existe une suite réelle strictement positive tn telle que limn→+∞ tn · (xn − x) = φ.
On note Kt (C, x) l’ensemble des vecteur tangents à C en x.

Exercice 9.8 Supposons que f est dérivable dans l’ouvert O et que C ⊂ O. Si x̄ ∈ C est
une solution locale de P alors ∀φ ∈ Kt (C, x̄), f 0 (x̄)φ ≥ 0.

Preuve 9.8 Démonstration : Soit x̄ ∈ C est une solution locale de P et soit φ ∈ Kt (C, x̄).
Soit alors les suites (xn ) et (tn ) associées à φ. Alors

f (xn ) = f (x̄ + xn − x̄) = f (x̄) + f 0 (x̄)(xn − x̄) + kxn − x̄k(xn − x̄).

Pour n > n0 on a (minimum local) f (xn ) ≥ f (x̄), ce qui montre que, puisque tn > 0,
f 0 (x̄)(xn − x̄)+kxn − x̄k(xn − x̄) ≥ 0 puis que f 0 (x̄)tn (xn − x̄)+ktn (xn − x̄)k(xn − x̄) ≥ 0.
En passant à la limite, on obtient f 0 (x̄)d + 0 ≥ 0.

9.3.4 Cas où C est donné par des égalités


On s’intéresse ici à
P : min f (x),
h(x) = 0

où h est une fonction de Rn dans Rm .

Definition 9.2 (Qualification des contraintes) Soit h est une fonction de Rn dans Rm .
On dit que x0 est un point régulier de la surface d’équation h(x) = 0 si et seulement si
1. h est continûment différentiable dans un ouvert de x0 ,
2. h0 (x0 ) est surjectif (rg(h0 (x0 )) = m ≤ n).
On dit aussi que x0 vérifie l’hypothèse de qualification des contraintes.

Une condition nécessaire d’optimalité est obtenue en caractérisant Kt (C, x) et en utilisant


l’exercice 9.8. Pour ce faire nous avons besoin du théorème des fonctions implicites pour
des fonctions Fréchet différentiables, que nous énonçons sans démonstration.

Théorème 9.3 Soit h : Rn → Rm , avec n = m+p une fonction continûment différentiable


sur un ouvert O de Rn . Pour tout x ∈ O on note x = (x1 , x2 ) avec x1 ∈ Rm et x2 ∈ Rp et
h0 (x) = [ ∂h(x) ∂h(x)
∂x1 , ∂x2 ] ∈ R
m×n , avec ∂h(x) ∈ Rm×m et ∂h(x) ∈ Rm×p .
∂x1 ∂x1
∂h(x)
Supposons de plus que pour un x tel que h(x1 , x2 ) = 0, la matrice ∂x1 est inversible.
Alors, il existe deux ouverts O1 et O2 contenant x1 et x2 tels que
1. l’équation en x1 , h(x1 , x2 ) = 0 a une unique solution x1 = ψ(x2 ) pour tout x2 ∈ O2 ,
2. La fonction ψ : O2 → Rm est différentiable au sens de Fréchet en x2 , et

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
5 Chapitre 9 : Optimisation avec contraintes

 −1
∂h(x) ∂h(x)
3. ψ 0 (x2 ) = − ∂x1 ∂x2 .

Exercice 9.9 Si x̄ est un point régulier de la surface d’équation h(x) = 0, alors Kt (C, x̄) =
Ker h0 (x̄).

Preuve 9.9 Démonstration : Supposons que φ ∈ Kt (C, x̄). Alors il existe deux suites xk
et αk provenant de la définition 9.1. On a alors

h(x̄ + (xn − x̄)) = h(x̄) + h0 (x̄)(xn − x̄) + kxn − x̄k(xn − x̄),

et puisque h(xn ) = h(x̄) = 0, on obtient, en multipliant par αn , 0 = αn h0 (x̄)(xn −


x̄) + kαn (xn − x̄)k(xn − x̄). Cela donne h0 (x̄)φ = 0 par passage à la limite n → +∞
h. Réciproquement,
i soit φ ∈ Ker h0 (x̄). Comme x̄ est un point régulier, la matrice h0 (x̄) =
∂h(x̄) ∂h(x̄)
∂x1 , ∂x2
est surjective, et donc, quitte à modifier l’ordre des colonnes de h0 (x̄), on
peut supposer que ∂h(x̄) ∂x1 ∈ R
m×m est inversible. On peut alors appliquer le théorème des

fonctions implicites à h(x) = 0 au voisinage de x̄ = (x̄1 , x̄2 ). Cela permet de définir


une fonction ψ(x2 ) dans un ouvert O2 de x̄2 telle que h(ψ(x2 ), x2 ) = 0 pour x2 ∈ O2 .
h i φ
1
Comme φ = (φ1 , φ2 ) ∈ Ker h0 (x̄), on a h0 (x̄)φ = ∂h(x̄) ∂h(x̄)
∂x1 , ∂x2
= 0, ce qui montre
φ2
 0
ψ x̄2 + n1 φ2
   
ψ (x̄2 )φ2
que φ = . On définit alors xn = et αn = n. Ces suites vérifient
φ2 x̄2 + n1 φ2
la définition 9.1 en x̄.
2

Definition 9.4 Lagrangien associé à P. On appelle Lagrangien associé à P l’application

L : Rn × Rm → R
(x, λ) 7→ f (x) + λT h(x).

En dérivant à λ et x constant on a , si f et h sont dérivables en x, ∂L 0


∂x (x, λ)=f (x) +
λT h0 (x) = (∇f (x) + h0 (x)T λ)T , et ∂L T
∂λ (x, λ)=h(x) . Si f et h sont deux fois dérivables en
2 def
x, on a alors ∂∂xL2 (x, λ) = ∇2 f (x) + λi ∇2 hi (x).
P

Exercice 9.10 (Condition nécessaire au 1er ordre de Kuhn-Tucker-Lagrange (KTL) ou


de Karush-Kuhn-Tucker (KKT)) On suppose que x̄ ∈ C est une solution locale de P et
vérifiant l’hypothèse de qualification des contraintes. Si les fonctions f et h sont continûment
différentiables dans un ouvert O contenant x̄, il existe λ̄ ∈ Rm , appelé multiplicateur de
Lagrange, tel que
0 T 0
 ∂L
∂x (x̄, λ̄) = f (x̄) + λ̄ h (x̄) = 0,
∂L T
∂λ (x̄, λ̄)=h(x̄) = 0.

Preuve 9.10 Démonstration : Puisque x̄ ∈ C est une solution locale de P, on a f 0 (x̄)φ ≥ 0


pour tout φ ∈ Kt (C, x̄). Mais puisque les contraintes sont qualifiées en x̄, on a Kt (C, x̄) =
Ker h0 (x̄), et donc f 0 (x̄)φ ≥ 0 pour tout φ ∈ Ker h0 (x̄). Comme Ker h0 (x̄) est un espace

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
6 Chapitre 9 : Optimisation avec contraintes

vectoriel, si φ ∈ Ker h0 (x̄), alors −φ ∈ Ker h0 (x̄) et donc f 0 (x̄)φ = 0 pour tout φ ∈ Ker h0 (x̄)
ce qui implique ∇f (x̄) ∈ (Ker h0 (x̄))⊥ . Or h0 (x̄) ∈ Rm×n .En considérant la décomposition
T

V
en valeurs singulières de h0 (x̄), on a h0 (x̄) = U [Σm 0] 1 on a que (Ker h0 (x̄))⊥ =
V2T
Imh0 (x̄)T = span(V1 ). Donc ∇f (x̄) ∈ Imh0 (x̄)T , et ainsi ∇f (x̄) = −h0 (x̄)T λ pour un
certain λ ∈ Rm .
2

Exemple 9.5 De toutes les boı̂tes à surface donnée S, quelles sont celles de volume maxi-
q 3
mum ? Montrer que ce volume maximal est S6 .

Preuve 9.11 Démonstration : Soit xi ≥ 0 les longeurs des cotés. Le problème s’écrit

min −x1 x2 x3 .
x1 x2 +x1 x3 +x2 x3 =S/2

On a h(x) = x1 x2 + x1 x3 + x2 x3 − S/2, donc h0 (x) = x2 + x3 x1 + x3 x1 + x2 . Si


 

les contraintes ne sont pas qualifiées, xi = −xj pour i 6= j, donc les xi sont tous nuls. Un tel
point ne satisfait pas la contrainte. Supposons donc les contraintes qualifiées et les xi > 0.
Les conditions KTL s’écrivent pour L(x, λ) = −x1 x2 x3 + λ · (x1 x2 + x1 x3 + x2 x3 − S/2),



 0 = ∂L(x,p)∂x1 = −x2 x3 + λ(x2 + x3 )
 0 = ∂L(x,p) = −x x + λ(x + x )

∂x2 1 3 1 3
∂L(x,p)


 0 = ∂x3 = −x x
1 2 + λ(x 1 + x 2)
 0 = ∂L(x,p) = x x + x x + x x − S/2

∂λ 1 2 1 3 2 3

Si λ = 0, alors d’après les 3 premières équations, au moins 2 des xi sont nuls, donc on ne
peut pas avoir x1 x2 + x1 x3 + x2 x3 − S/2 = 0 si S 6= 0. Donc nécessairement, λ 6= 0. De
même, si un des xi est nul, par exemple x1 , −x1 x3 + λ(x1 + x3 ) = 0 entraı̂ne x3 = 0 (on
sait que λ 6= 0). Un tel point, avec x3 = 0 et x1 = 0 ne satisfait pas la contrainte si S 6= 0.
Donc les xi , i = 1, 2, 3 et λ sont tous non nuls. En faisant le ratio des 2 premières
égalités, on obtient xx12 = xx21 +x
+x3 , ce qui donne x3 (x2 − x1 ) = 0, donc x2 = x1 (x3 6= 0).
3

Similairement, on obtient, avec les égalités 2 et 3, que x2 = x3 . Les solutions du système


S
sont donc x1 = x2 = x3 = c et λ = 12c . Donc s’il y a un minimum, il est atteint pour
q
un cube, x1 = x2 = x3 = c avec c solution de min −c3 , c’est à dire c = S
6 , et
3c2 =S/2
q q 3
S
λ = 12c = 12 S6 , la valeur a l’optimum est alors − S6 donnant un volume maximal de
q 3
S
6 .

Exemple 9.6 On s’intéresse au problème dans R2 suivant


1
min kx − ak2 .
2
x1 =0

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
7 Chapitre 9 : Optimisation avec contraintes

Le résoudre en utilisant le système KKT. Que se passe-t-il si applique la même technique


au problème équivalent
1
min kx − ak2 .
x21 =0 2

En déduire l’inportance de la qualification des contraintes.

Preuve 9.12 Démonstration : Pour le premier problème, on a L(x, λ) = (x1 − a1 )2 +


(x2 − a2 )2 + λx1 . Les contraintes sont qualifiées car h0 (x) = [1, 0] qui est de rang 1, donc
surjective. Le système KTL est
∂L(x,λ)

 0 =
 ∂x1 = x1 − a1 + λ
∂L(x,λ)
0 = ∂x2 = x2 − a2
∂L(x,λ)

0 = = x1

∂λ

L’unique candidat solution est donc x1 = 0, x2 = a2 et λ = a1 . Puisque le problème admet


une solution (projection sur un espace vectoriel de dimension finie), celle-ci est (0, a2 ).
Pour le second problème, h0 (x) = [2x1 , 0]. Le système KKT est
∂L(x,λ)

 0 =
 ∂x1 = x1 − a1 + 2λx1
∂L(x,λ)
0 = ∂x2 = x2 − a2
∂L(x,λ)

0 = = x21

∂λ

qui n’admet pas de solution où la contrainte est qualifiée. Il ne faut pas conclure que ce
problème n’admet pas de solution, mais simplement que s’il y a une solution, elle ne vérifie
pas la qualification des contraintes, donc elle vérifie x1 = 0.
2

Exemple 9.7 Extrema du quotient de Rayleigh. Soit A une matrice symétrique. Résoudre
les problèmes
1 1 xT Ax
min xT Ax ⇐⇒ min
kxk22 =1 2 x 2 kxk2
2
et
1 T
max x Ax,
kxk22 =1 2
et montrer que les valeurs propres de A sont les valeurs des optima.

Preuve 9.13 Démonstration : On forme L(x, λ) = 12 xT Ax + 12 λ(kxk22 − 1). Alors le


système KKT est (
0 = ∂L(x,λ)
∂x = xT A + λxT
∂L(x,λ)
0 = ∂λ = xT x − 1
Regardons la qualification des contraintes. En tout x tel que xT x = 1 h0 (x) = 2xT est
de rang 1 donc surjectif. Donc toute solution du problème de départ est une solution du
système KTL.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
8 Chapitre 9 : Optimisation avec contraintes

Les solutions du système KKT sont Ax = λx et kxk = 1, ce sont donc les vecteurs
propres de A normalisés. On sait que A est diagonalisable dans une base orthonormale et
il existe n valeurs propres (distinctes ou non) λ1 ≤ · · · ≤ λn telles que Avi = λvi . Pour
chaque vi , f (vi ) = λi . On en déduit que la valeur minimale est λ1 . En raisonnant sur −A,
on obtient que la valeur maximale est λn .
2

Exercice 9.11 (Condition nécessaire au 2ème ordre de Kuhn-Tucker-Lagrange (KTL)


ou de Karush-Kuhn-Tucker (KKT)) On suppose que x̄ ∈ C est une solution locale de P
et vérifiant l’hypothèse de qualification des contraintes. Si les fonctions f et h sont deux
fois continûment différentiables dans un ouvert O contenant x̄, il existe λ̄ ∈ Rm , appelé
multiplicateur de Lagrange, tel que
0 T 0
 ∂L
∂x (x̄, λ̄) = f (x̄) + λ̄ h (x̄) = 0,
∂L T
∂λ (x̄, λ̄)=h(x̄) = 0,

et pour tout φ ∈ Kt (C, x̄) = Kerh0 (x̄),

∂ 2 L(x̄, λ̄)
φT φ ≥ 0.
∂x2
Preuve 9.14 Démonstration : Soit x̄ ∈ C est une solution locale de P et soit φ ∈
Kt (C, x). Soit alors la suite (xn ) et la suite positive (tn ) associées à φ. Alors en faisant un
développment de Taylor Young de x 7→ L(x, λ̄) on obtient

∂L 1 ∂2L
f (xn )+λ̄T h(xn ) = f (x̄)+λ̄T h(x̄)+ (x̄, λ̄)(xn −x̄)+ (xn −x̄)T 2 (x̄, λ̄)(xn −x̄)+kxn − x̄k2 (xn −x̄),
∂x 2 ∂x
(9.1)
ce qui donne, en utilisant h(xn ) = h(x̄) = 0, la condition du premier ordre, et le caractère
local du minimum contraint de f :

1 ∂2L
0 ≤ (xn − x̄)T 2 (x̄, λ̄)(xn − x̄) + kxn − x̄k2 (xn − x̄).
2 ∂x
En multipliant cette équation par t2n et en passant a la limite n → +∞, on obtient

∂2L
0 ≤ φT (x̄, λ̄)φ.
∂x2
2

Exercice 9.12 (Condition suffisante au 2ème ordre de Kuhn-Tucker-Lagrange (KTL)


ou de Karush-Kuhn-Tucker (KKT)) On suppose que les fonctions f et h sont deux fois
continûment différentiables dans un ouvert O.
S’il existe x̄ ∈ Rn , et λ̄ ∈ Rm , appelé multiplicateur de Lagrange, tels que
0 T 0
 ∂L
∂x (x̄, λ̄) = f (x̄) + λ̄ h (x̄) = 0, (9.2)
∂L T
∂λ (x̄, λ̄)=h(x̄) = 0,

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
9 Chapitre 9 : Optimisation avec contraintes

et pour tout φ 6= 0 tel que φ ∈ Kt (C, x̄), on a

∂ 2 L(x̄, λ̄)
φT φ > 0, (9.3)
∂x2
alors x̄ ∈ C est une solution locale de P.

Preuve 9.15 Démonstration : On démontre le résultat par l’absurde. On suppose vraies


les équations (9.2) et (9.4) et que x̄ ∈ C n’est pas une solution locale de P. Il existe alors
une suite d’éléments de C, notée (xk ), tendant vers x̄, telle que f (xk ) ≤ f (x̄). La suite
−x̄
φn = kxxnn −x̄k étant dans la boule unité qui est compacte en dimension finie, elle admet un
une sous-suite convergente vers φ. En posant αn = kxn1−x̄k , il apparaı̂t que φ ∈ Kt (C, x̄).
En reprenant le développement (9.1), on obtient

1 ∂2L
0 ≥ (xn − x̄)T 2 (x̄, λ̄)(xn − x̄) + kxn − x̄k2 (xn − x̄).
2 ∂x

En multipliant par αn2 et en passant à la limite n → +∞, on obtient

1 ∂2L
0 ≥ φT 2 (x̄, λ̄)φ,
2 ∂x
ce qui est la contradiction attendue.

Exercice 9.13 (Interprêtation des multiplicateurs de Lagrange) On considère les problèmes

Pu : min f (x), et P : min f (x),


h(x) = u h(x) = 0

et on pose φ(u) = inf{f (x), h(x) = u}. On suppose que f et h sont deux fois continûment
dérivables dans un voisinage de x̄ sachant que
1. le point x̄ est un point régulier de C (h0 (x̄) est surjectif ),
2. le point x̄ est une solution locale de P ,
3. pour tout φ 6= 0 tel que φ ∈ Kt (C, x̄) = Ker(h0 (x̄)), on a

∂ 2 L(x̄, λ̄)
φT φ > 0. (9.4)
∂x2

Alors il existe un voisinage de u = 0 ∈ Rm , où Pu admet une solution locale x(u) et un


multiplicateur de Lagrange associé λ(u). La fonction u 7→ φ(u) est alors dérivable en u = 0
et on a λ(0) = −∇φ(0).
Appliquer ce résultat à l’exercice 9.5.

Preuve 9.16 Démonstration : LA démonstration se fait en plusieurs étapes.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
10 Chapitre 9 : Optimisation avec contraintes

1. D’après 1. et 2. de l’énoncé et l’exercice 9.11 il existe λ̄ tel que


0 T 0
 ∂L
∂x (x̄, λ̄) = f (x̄) + λ̄ h (x̄) = 0,
∂L T
∂λ (x̄, λ̄)=h(x̄) = 0,

2. Lemme préliminaire. Sous les hypothèses de l’énoncé, la matrice


" 2 #
∂ L(x̄,λ̄) 0T
∂x2
h (x̄)
h0 (x̄) O

est injective carrée donc inversible. Soit en effet (x1 , λ1 )T un vecteur du noyau de
cette matrice. Il vérifie

∂ 2 L(x̄, λ̄) 0
x1 + h T (x̄)λ1 = 0 et h0 (x̄)x1 = 0,
∂x2
et
∂ 2 L(x̄, λ̄) T 0T
2
T ∂ L(x̄, λ̄)
xT1 x 1 + x 1 h (x̄)λ 1 = x 1 x1 = 0.
∂x2 ∂x2
L’hypothèse 3. montre alors que comme x1 ∈ Ker(h0 (x̄) , on a x1 = 0, et donc
0 0
h T (x̄)λ1 = 0. Comme h0 (x̄) est surjectif, la formule du rang sur h T (x̄) montre que
0T
h (x̄) est injectif, et donc λ1 = 0.
3. Considérons le système KTL perturbé
 0
f (x) + λT h0 (x)

g((x, λ), u) = = 0.
h(x) − u

Notons z = (x, λ). La fonction (z, u) 7→ g(z, u) vérifie


– g((x̄, λ̄), 0) = 0,
– g est deux fois continûment différentiable dans un ouvert contenant ((x̄, λ̄), 0),
– et la matrice
 " ∂ 2 L(x̄,λ̄) #
∇ f (x) + λi ∇2 hi (x) h0 T (x)
 2
0
P
∂g(z, u) h T (x)
= = ∂x2
∂z h0 (x) 0 h0 (x) 0

est inversible d’après le lemme préliminaire.


On peut donc appliquer le théorème des fonctions implicites pour montrer qu’il existe
des fonctions définies au voisinage de u = 0, dérivables en 0, notées u 7→ x(u) et
u 7→ λ(u) telles que
f (x(u)) + λ(u)T h0 (x(u))
 0 
= 0. (9.5)
h(x(u)) − u
La dérivée de u 7→ φ(u) = f (x(u)) est alors, par composition, φ0 (0) = f 0 (x(0))x0 (0).
En dérivant h(x(u)) − u par rapport à u en 0, on obtient h0 (x(u))x0 (0) = I. En
multipliant f 0 (x(0)) + λ(0)T h0 (x(0)) = 0 à droite par x0 (0) on obtient φ0 (0) =
−λ(0)T h0 (x(0))x0 (0) = −λ(0)T .

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
11 Chapitre 9 : Optimisation avec contraintes

4. Il reste à montrer que x(u) est une solution locale de pour u suffisamment petit et
pour cela on montre que les hypothèses de l’exercice 9.12 sont satisfaites pour Pu .
La relation (9.5) montre que (9.2) est vraie pour le problème perturbé et pour kuk
suffisamment petit.

Enfin la relation (9.4) est vraie pour le problème perturbé Pu grâce à un argument
2
de continuité. Supposons pour établir une contradiction que ∂ L(x(u),λ(u))
∂x2
n’est pas
définie positive dasn le noyau de h0 (x(u)), même pour u très petit. Il existe alors une
suite xk telle que kuk k ≤ k1 et telle que pour tout k il existe vk tel que

∂ 2 L(xk , λ¯k )
h0 (x(uk ))vk = 0 et vkT vk ≤ 0. (9.6)
∂x2
Quitte a renormaliser vk , on peut supposer vk de norme 1. On a alors vk appartient
à la sphère unité, et il existe k0 tel que k ≥ k0 entraı̂ne kx̄ − x(uk )k ≤ 1/2. Ainsi
(vk ) et x(uk ) sont dans des ensembles compacts, et il est possible d’en extraire deux
sous-suites qui convergent vers v̄ et x̄. En passant a la limite k → +∞ dans (9.6)
on obtient
∂ 2 L(x̄, λ̄)
kv̄k = 1, h0 (x̄)v̄ = 0 et v̄ T v̄ ≤ 0,
∂x2
ce qui est impossible d’après l’hypothèse 3..
5. Pour finir, si on revient à l’exercice 9.5, si l’on perturbe la surface en S/2 + u, le
q 3 q
volume est S6 + u2 S6 + o(u)

9.4 Cas du problème quadratique à contraintes linéaires


Nous voyons ici un algorithme servant à résoudre des problèmes quadratiques à contraintes
d’égalités. Cet algorithme est loin d’être le seul posssible, mais les autres techniques sortent
du cadre de ce cours. On s’intéresse à
1 T
P : min x Ax − xT b,
Bx = 0 2

où A ∈ Rn×n est symétrique définie positive, et B ∈ Rm×n est surjective (i.e. de rang
maximum m). Ce sous-problème intervient dans les méthodes SQP où la fonction est
représentée par un modèle quadratique, et les contraintes sont linéarisées.
Exercice 9.14 Vérifiez l’hypothèse de qualification des contraintes et montrez que le
système KKT associé à ce problème est

Ax + B T λ = b

KKT : (9.7)
Bλ = 0

Montrez toute solution de ce système, est solution du problème P.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
12 Chapitre 9 : Optimisation avec contraintes

Preuve 9.17 Démonstration : On introduit L(x, λ) = 12 xT Ax − xT b + λT Bx. On a alors


 ∂L T T T
∂x (x, λ) = x A − b + λ B = 0,
∂L T T
∂λ (x, λ)=x B = 0,

ce qui s’écrit encore en transposant


Ax + B T λ = b


Bx = 0
Si une solution du système existe et est unique, elle vérifie la condition suffisante du second
2
ordre de l’exercice 9.12 car ∂∂xL2 (x, λ) = A est définie positive.
2

Exercice 9.15 Montrez que le système KKT admet une unique solution, et donc que
l’unique solution de KKT est l’unique solution de P.

Preuve 9.18 Démonstration : Pour cela il suffit de montrer que la matrice du système
linéaire est injective et carrée, donc inversible. Suposons que
Ax + B T λ = 0


Bx = 0

En multipliant la première équation par xT , il vient xT Ax + (Bx)T λ = 0, c’est à dire


xT Ax = 0 puisque Bx = 0. Comme A est définie positive, il vient x = 0 donc B T λ = 0.
Comme B T est injective, on a λ = 0, dont le noyau est réduit au vecteur nul.
2
Pour le reste de l’énoncé on suppose que  est un réel strictement positif.
Exercice 9.16 Montrez que la solution du système
Ax + B T λ = b

(9.8)
Bx − λ = 0
existe et est unique. Par élimination de la variable λ , montrez que x est solution d’une
équation
A x = b , (9.9)
où A ∈ Rm×n , et b ∈ Rn . Montrez que A est symétrique et définie positive. On remar-
quera que le système (9.9) est de dimension plus petite que le système (9.8), mais qu’il
peut être plus mal conditionné pour  petit.

Preuve 9.19 Démonstration : En remplaçant la seconde équation de (9.9) dans la première,


on obtient (A + 1 B T B)x = b . d’où xT A x = xT Ax + 1 kBx k22 ≥ 0 car somme de
termes positifs. Si xT A x = 0, alors xT Ax = 0 donc x = 0, ce qui prouve que A est
définie positive. Le système est mal conditionnné pour  petit, car si m < n, B T B est sin-
gulière, et on démontrerait que le conditionnement de A se comporte asymptotiquement
comme celui de 1 B T B (i.e. tend vers +∞).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
13 Chapitre 9 : Optimisation avec contraintes

Exercice 9.17 Montrez que x est solution de (9.9) si et seulement si x est solution de

1 T  1
min x Ax + kBx k22 − xT b.
xT ∈Rn 2 2

Interpréter ce résultat comme la résoltution d’un problème d’optimisation avec contrainte


par pénalisation de la contrainte.

Preuve 9.20 Démonstration : Le problème d’optimisation est simplement minx ∈Rn 12 xT A x−
xT b, et comme A est définie positive, la condition nécessaire et suffisante d’optimalité
est bien A x = b. Lorsque  est petit, le minimum sera atteint vraisemblablement pour
kBx k2 petit. On dit qu’on a pénalisé la contrainte, du problème P.

Exercice 9.18 On suppose que (x, λ) et (x , λ ) sont solutions respectives de (9.7) et (9.8).
On s’intéresse à la limite de (x , λ ) pour  → 0.
1. Montrez que x = x − x et λ = λ − λ vérifient

Ax + B T λ = 0

(9.10)
Bx − λ = λ

2. En déduire que l’on a


2 2
α kx k2 +  λ 2 ≤  kλk2 λ 2 , (9.11)

où α > 0 est la plus petite valeur propre de A.


3. Montrez que la matrice BA−1 B T est définie positive. Soit β sa plus petite valeur
propre. En repartant de (9.10), montrez que

(BA−1 B T + I)λ = −λ,

et en déduire que
β λ 2 ≤  kλk2 , (9.12)
puis que p
αβ kx k2 ≤  kλk2 . (9.13)

4. Déduire des questions précédentes que lim→0 λ = λ et lim→0 x = x, et que l’erreur


se comporte en O().

Preuve 9.21 Démonstration :


1. Il suffit de faire les différences equation à équation dans les systèmes (9.7) et (9.8)
pour obtenir le système (9.10).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
14 Chapitre 9 : Optimisation avec contraintes

2. En multipliant le première équation de (9.10) à gauche par x , puis la seconde à


T T 2
gauche par −λ , et en sommant, on obtient x Ax + x B T λ − λ Bx +  λ 2 =
2 T
−λ T λ. En utilisant l’exercice 9.7, on obtient que α kx k2 ≤ x Ax ce qui montre
que
2 2 T
0 ≤ α kx k2 +  λ 2 = −λ λ = |λ λ|.
Le résultat (9.11) est alors une conséquence de l’inégalité de Cauchy-Schwarz.
3. En injectant x = −A−1 B T λ issu de la première équation de (9.10) dans la seconde
équation de (9.10), on obtient
(BA−1 B T + I)λ = −λ,
T
puis en multipliant par λ à gauche, et en se rappelant l’exercice 9.7,
2 T T 2 T
β λ 2 ≤ λ BA−1 B T λ ≤ λ BA−1 B T λ +  λ 2 = −λ λ.
T
en utilisant à nouveau l’inégalité de Cauchy-Schwarz, on a λ λ ≤ λ 2 kλk2 , puis

β λ 2 ≤  kλk2 , ce qui est bien (9.12). En utilisant (9.12) dans (9.10), on obtient

2 2 2 2
kλk22 ,

α kx k2 ≤ α kx k2 +  λ 2 ≤  kλk2 λ 2 ≤
β
ce qui est bien (9.14).
4. Le résultat est obtenu par passage à la limite dans (9.12) et (9.14).

Exercice 9.19 Cas où B est de rang strictement inférieur à min{m, n}. On suppose que
(x, λ) et (x , λ ) sont solutions respectives de (9.7) et (9.8). On s’intéresse à la limite de
(x , λ ) pour  → 0.
1. Vérifiez que la solution du système (9.8) existe et est unique.
2 2
2. Appelant α > 0 la plus petite valeur propre de A. montrez que α kx k2 +  λ 2 ≤
1  2
λ 2 + kλk22 ).

2 (
√ √
3. En conclure que 2α kx k2 ≤  kλk2 et donc que lim→0 x = x. L’erreur est donc

en O( ), et la convergence de λ n’est pas acquise.

Preuve 9.22 Démonstration :


1. La démonstration est la même que pour l’exercice 9.16.
2. En reprenant (9.11) (obtenu sans supposer B de rang maximum), on obtient
2 2 1 2
α kx k2 +  λ 2 ≤  kλk2 λ 2 ≤ ( λ 2 + kλk22 ),

(9.14)
2
2 2 √ √
ce qui implique α kx k2 + 2 λ 2 ≤ 12  kλk22 , d’où l’on tire 2α kx k2 ≤  kλk2 .

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h

Das könnte Ihnen auch gefallen