Optimisation Numerique
Optimisation Numerique
Roland Becker
14 juillet 2025
1 Introduction
Les problèmes d’optimisation sont souvent classé par des critères comme
— linéaire (voir programmation linéaire),
— contraintes (d’égalite, d’inégalité, entiers),
— continue - discret,
— nombre de variables.
Il existe une multitude de problèmes d’optimisation dont la résolution, ou plutôt
la recherche de solutions approchées, nécessite des algorithmes itératifs. En effet,
souvent il n’existe pas de formule pour calculer une solution ou bien son évaluation
est trop coûteuse. Un tel algorithme est appelé algorithme d’optimisation. Le but
de l’optimisation numérique est d’étudier ces algorithmes et en développer de nou-
veaux.
1
L’étude des algorithmes typiquement concerne des questions comme :
— Convergence,
— Vitesse de convergence,
— Robustesse (dépendance par rapport à certains paramètres),
— Globalisation (dépendance par rapport aux données initiales).
Dans ce cours nous développons un certains nombre d’algorithmes d’optimisation
sous/sans contraintes et nous les appliquons ensuite à des problèmes de contrôle
optimale.
On considère une quantité x ∈ Rn qui évolue dans le temps pendant un intervalle
I = [0, T ] (on ne perd pas rien en supposant que le temps initial est t = 0). On
suppose que l’on connaı̂t l’état initial et que le changement en temps est décrit par
une loi de la forme : (
ẋ(t) = f (x(t), u(t)),
(1)
x(0) = x0 .
Dans (1), la loi est décrit par une fonctions f qui dépend de paramètres supplémentaires
u ∈ Rp :
f : Rn × Rp → Rn .
(Plus généralement, on peut supposer que f n’est défini que sur un sous-ensemble.)
En supposant que f est une fonction différentiable et bornée, il existe pour u ∈
C(I, Rp ) donnée une unique solution x ∈ C 1 (I, Rn ). Le problème du contrôle
optimal consiste à trouver un contrôle u tel que l’état x ait des propriétés voulues.
Par exemple, on peut minimiser l’écart avec une valeur cible x,
Z
1
J(x) := |x(t) − x|2 dt, (2)
2 T
ou on peut chercher le temps T minimal tel que l’état atteint la cible, x(T ) = x.
Nous considérons des problème en dimension finie, cad l’espace de travail est Rn
avec des éléments x = (x1 , . . . , xn ) ∈ Rn . Le produit scalaire euclidien est noté
n √
par x · y = xT y =
P
xi yi et la norme associée par |x| = x · x, de sorte que
i=1
n
2
x2i . Un opérateur Rn → Rn est représenté par une matrice A ∈ Rn×n .
P
|x| =
i=1
On écrit Ax pour le produit scalaire et y T Ax pour le forme quadratique.
Soit S ⊂ Rn et f : S → R. On considère le problème abstrait
x ∈ S et |x − x∗ | ≤ δ =⇒ f (x∗ ) ≤ f (x).
2
— x ∈ S est solution globale si
x ∈ S =⇒ f (x∗ ) ≤ f (x).
x ∈ S et |x − x∗ | ≤ δ =⇒ f (x∗ ) ≤ f (x).
|xk+1 − x∗ | ≤ c |xk − x∗ |
|xk+1 − x∗ | ≤ C |xk − x∗ |2
|xk+1 − x∗ | ≤ ck |xk − x∗ |
et ck → 0 pour k → ∞.
Cela est appelé q-convergence. Pour la r-convergence voir TD.
L’algorithme générique sera parfaitement définit si on donne des règles de calcul
pour pk et tk .
3
Définition 4. Soit S ⊂ Rn et F : S → Rm . On dit que F que F est (Fréchet)-
différentiable en x ∈ S s’il existe un opérateur linéaire A : Rn → Rm tel que
pour toute suite suite (xk )k ⊂ S vérifiant xk → x on a
F (x + εy) − F (x)
lim (6)
ε→0 (ε>0) ε
∂f ∂ 2f
g = g(x) = ∇f (x) = ( )1≤i≤n , H = H(x) = ∇2 f (x) = ( )1≤i,j≤n .
∂xi ∂xi ∂xj
Cette identité étant vraie dans le cas vectoriel, on obtient avec g(y) := ∇f (x +
s(y − x)) Z 1
g(y) − g(x) = s ∇2 f (x + t(y − x))(y − x) dt,
0
ce qui implique
Z 1 Z 1
f (y) − f (x) = g(x) · (y − x) + s (y − x)T ∇2 f (x + st(y − x))(y − x) dtds.
0 0
4
2 Optimisation sans contraintes
On considère ici le problème d’optimisation suivant. Soit S ⊂ Rn un ensemble
(souvent supposé ouvert et convexe) et f : S → R une fonction souvent supposée
C 2 . On considère le problème abstrait
Soit donc (xk )k ⊂ S une suite telle que f (xk ) → inf x∈S f (x). A cause de la
coércivité on ne peut avoir xk → ∞. D’après Heine-Borel il existe une sous-suite
(xkn )n et x∗ ∈ S, S étant fermé, tels que lim xkn = x∗ . On a alors
n→∞
Ce qui prouve bien que x∗ est un point où f atteint son minimum.
Pour établir l’unicité, on utilise la convexité.
Théorème 2. Soit S un ensemble convexe, f une fonction strictement convexe et
x∗ une solution locale. Alors x∗ est l’unique solution globale.
Démonstration. Soit y ∗ ∈ S une autre solution locale. Supposons f (y ∗ ) < f (x∗ )
On a alors pour t ∈ [0, 1[
Donc x∗ n’est pas solution locale. Donc f (y ∗ ) = f (x∗ ). La stricte convéxité donne
x∗ + y ∗ 1 1
f( ) < f (x∗ ) + f (y ∗ ) = f (y ∗ ),
2 2 2
encore une contradiction. Cela implique x∗ = y ∗ d’après la définition de la stricte
convexité.
5
2.1 Rappel : conditions d’optimalité
Le théorème de Taylor donne l’interprétation du gradient et de la Hessienne :
1
f (x + p) = f (x) + g · p + pT Hp + o(|p|2 ). (11)
2
A premier ordre (p suffisament petit), on voit que f décroit en direction de p si
g · p. On appelle alors p une direction de descente. On dit que x est un point
stationnaire si g = g(x) = 0. Dans un point stationnaire, H donne la topographie
locale : si pT Hp ≥ 0 on ne peut pas réduire f et on est donc au bas de la vallée.
De façon plus générale, on peut trouver QPorthogonale et Λ diagonale telles que
HQ = QΛ. Pn Il s’en2 suit que pour p = di qi (qi le vecteurs colonnes de Q)
T
p Hp = i=1 λi di et le signe de la valeur propre dit s’il s’agit d’une directon
ascendante ou descendante.
Théorème 3. (Equation d’Euler et condition de Legendre) On suppose S ouvert
et f différentiable. Soit x∗ une solution locale. Alors on a
g(x∗ ) = ∇f (x∗ ) = 0. (12)
Si f est C 2 , on a de plus
H(x∗ ) = ∇2 f (x∗ ) ≥ 0. (13)
Inversement, si x∗ ∈ S est un point tel que g(x∗ ) = 0 et H(x∗ ) > 0, alors x∗ est
une solution locale unique.
6
Démonstration. On a d’abord que f (xk ) − f (k+1 ) ≥ 0 et
m
X
f (xk ) − f (k+1 ) = f (x0 ) − f (xm+1 ) < +∞ (19)
k=0
(σ − 1)gk · pk ≤ (gk+1 − gk ) · pk
≤ L |xk+1 − xk | |pk |
Remarque 1. Rien n’est dit sur la condition d’ordre deux. Rien n’est dit sur la
vitesse de convergence. La monotonie est imposé, ce qui peut être trop fort. Il existe
des algorithmes qui réalise (15).
pk = −gk . (22)
Cet algorithme est déconseillé, mais nous donnons un résultat de convergence, car
sa démonstration est instructive.
7
Théorème 5. Soit f ∈ C 1 (Rn ), coercive et strictement convexe. De plus on sup-
pose que ∇f est lipschitzien avec rapport L. Si les pas vérifie
Il s’en suit que ∇f (xk ) = xk+1tk−xk tend vers 0. Soit x̄ un point d’adhérence de (xk ).
On a donc ∇f (x̄) = 0 et par conséquent x̄ = x∗ . Donc toute la suite converge vers
x∗ .
Remarque 2. Pour se rendre compte à quel point la méthode du gradient peut être
mauvaise pour des problèmes mal conditionnés, on considère l’exemple f (x) =
xT Ax − bT x avec pas fixe. La méthode devient la méthode de Richardson avec
facteur de relaxation tk = t :
2.4 Newton
Algorithme 3 : Méthode de Newton
1. (Initialisaton) t0 > 0 et x0 . k = 0
2. (Résolution) Hk pk = −gk
3. (Recherche du pas) déterminer tk
4. (Mise à jour) xk+1 = xk + tk pk
5. (Critère d’arrêt) Si |xk+1 − xk | ≤ ε stop. Sinon incrémente k.
8
Remarque 3. Quand est-ce que les tk vérifie les conditions de Wolfe. D’abord on
a
−pk · gk = gkT Hk−1 gk ≥ c |gK | |pk |
si et seulement si Hk > 0 et λmax (Hk ) ≤ C.
Supposons que pk → 0. On a donc
1
f (xk+1 ) − f (xk ) = gk · pk + pTk Hk pk + o(p2k )
2
1
= gk · pk + o(p2k )
2
Par conséquent pour k suffisamment la règle d’Armijo est satisfaite. De la même
manière on vérifie la condition de Wolfe. Tout cela pour tk = 1.
On verra plus loin une autre méthode pour rendre la méthode plus robuste (“région
de confiance”).
La méthode de Newton dans l’optimisation peut être vue de deux facon différente :
1. On se sert de la condition d’ordre un et on applique Newton à la résolution
de ∇f (x) = 0. La condition d’ordre deux suffisante pour garantir l’exis-
tence des itérés, si on commence suffisamment près ( ?).
2. A chaque itération, on quadratise la fonctionnelle à minimiser : soit xk
donné, on a alors avec gk = ∇f (xk et Hk = ∇f 2 (xk )
1
f (xk + p) = f (xk ) + f˜(p) + o(|p|2 ), f˜(p) = gk · p + pT Hk p. (25)
2
L’idée est alors de trouver pk comme solution de infn f˜(p). Cela est pos-
p∈R
sible dans le cas régulier Hk > 0.
Cette équivalence (dans le cas strictement convexe) illustre les faiblesses de l’al-
gorithme de Newton :
1. Que faire dans le cas Hk ̸> 0 ?
2. Si le pas est ’grand’, le développement de Taylor qui justifie l’approche de-
vient critique : le comportement de f peut fortement dévier d’une fonction
quadratique. Que faire ?
Théorème 6. Soit f ∈ C 2 (Rn ) et x∗ solution de ∇f (x) = 0. On suppose que
1. ∇2 f (x∗ ) est inversible,
2. |∇2 f (x) − ∇f (y)| ≤ L |x − y|.
Si lim inf k tk = t > 0 |x0 − x∗ | ≤ η, η = min L∥Hk−1 ∥/2, t, l’algorithme de
Newton converge vers x∗ . De plus, si tk → 1 suffisamment rapide
|x∗ − xk+1 | ≤ C |x∗ − xk |2 (26)
Démonstration. Soit ek := x∗ − xk . D’après la définition de la méthode et la
stationnarité de x∗
∇2 f (xk )(xk+1 − xk ) = tk (∇f (x∗ ) − ∇f (xk )) = . (27)
Cela donne
Z 1
2 2
∇2 f (xk ) − ∇2 f (xk + sek )(ek ) ds
∇ f (xk )(ek+1 ) = (1−tk )∇ f (xk )(ek )+tk
0
9
Ceci implique
L
|ek+1 | ≤ (1 − tk )|ek | + tk ∥Hk−1 ∥ |ek |2 .
2
Ceci permet de montrer par récurrence que xk ∈ Bη (x∗ ), si η ≤ 1.
Le théorème montre bien qu’on peut converger vers un point stationnaire qui n’est
pas un minimum, et cela se produit facilement dans la pratique. (Dans d’autres
contexte que l’optimisation, cela peut être un avantage.)
pk = −Bk−1 gk .
Le théorème de Wolfe demande que λmin (Bk−1 ) ≥ c > 0. Les tk peuvent alors être
choisir pour garantir la convergence vers un point stationnaire.
On se demande maintenant sous quelles conditions l’algorithme converge de façon
superlinéaire.
Théorème 7. (Dennis-Moré) Soit f ∈ C 2 (Rn ) avec ∇2 f Lipschitz. On suppose
qu’il existe une solution x∗ avec ∇2 f (x∗ ) régulier.
On considère la suite (xk ) généré par l’algorithme 4 avec tk = 1. On suppose que
xk → x∗ , xk ̸= x∗ et gk ̸= 0.
Alors sont équivalents avec ek := x∗ −xk , sk = xk+1 −xk (= pk ) et yk := gk+1 −gk :
|ek+1 |
lim = 0, (29)
k→∞ |ek |
|Bk sk − yk |
lim = 0. (30)
k→∞ |pk |
Démonstration. La définition de méthode donne
avec Z 1
H = k
∇2 f (x∗ − tek+1 ) dt. (31)
0
10
Donc
|Bk sk − yk | |Bk sk − yk | |ek | |ek+1 | |ek |
= ≤ ∥H k ∥
|sk | |ek | |sk | |ek | |sk |
Il reste à estimer
Comme
ek+1 = Bk−1 Bk − H k ek ,
(32)
on a
|sk | = |ek+1 − ek | = |Bk−1 H k ek | ≤ C |ek |.
2.6 Quasi-Newton
2.6.1 Cas d’une équation
On cherche une méthode sans l’information complète de la héssienne, mais avec
vitesse de convergence super-linéaire. Cela nécessite d’après le théorème 7 (qui
s’applique aussi au cas de la résolution d’une équation non-linéaire)
|Bk sk − yk |
lim = 0, (33)
k→∞ |sk |
r k bT
δB = , rk := yk − Bk sk .
b · sk
11
Le choix le plus simple (de toute façon il faut garantir b · sk = 0) est b = sk et on
obtient la méthode de Broyden-Rang1 :
rk sTk
δB = . (36)
|sk |2
Lemme 2.
∥A∥2F = tr(AT A), ∥A∥2F = ⟨A, A⟩F , ⟨A, B⟩F := tr(AT B) (37)
∥AB∥F ≤ ∥A∥F ∥B∥F , ∥ppT ∥2F = ∥p∥2 (38)
Théorème 8. Soit
A := δ ∈ Rn×n :
δ sk = rk . (39)
La formule de Broyden (36) définit δB comme la solution unique du problème de
minimisation :
inf ∥δ∥F (40)
δ∈A
Démonstration. On a pour δ ∈ A :
Remarquant que
!2
X X
∥ppT ∥2F = p2i p2j = p2i = |p|2
ij i
rk rkT
δB = , rk := yk − Bk sk . (41)
rk · sk
Si la condition initiale est suffisamment proche d’une solution x∗ et la condition
de la héssienne suffisamment proche de la héssienne dans la solution, on peut
démontrer la convergence super-linéaire. Ce résultat n’implique pas la convergence
Bk → ∇f 2 (x∗ ).
12
Algorithme 5 : Update sur la héssienne
1. (Initialisaton) t0 > 0, B0 = I et x0 . k = 0
2. (Direction) Bk pk = −gk
3. (Pas) xk+1 = xk + tk pk
4. (Update) Bk+1 = Bk + δk
|sk − Hk yk |
lim = 0. (42)
k→∞ |sk |2
⟨∇f (x∗ ), w⟩ = 0 ∀w ∈ W,
13
c’est-à-dire que ∇f (x∗ ) ∈ W ⊥ . On rappelle le résultat de l’algèbre linéaire :
Rn = ker(A) ⊕ im(AT ),
que l’on applique à ∇f (x∗ ). L’unicité est évidente.
Remarque 5. Dans le cas m = n x∗ = 0 est le seul point admissible et donc
solution du problème de minimisation. On a z = A−T ∇f (0). Si z = 0, x∗ =
0 serait une solution du problème sans contraintes. Si on considère le problème
perturbé
infn f (x) sous contrainte Ax = e, (45)
x∈R
M δM = pz T + zpT . (53)
c = M −1 p,
ce qui donne
M r = M δc = p(z · c) + z(p · c). (54)
En multipliant (54) par c on a
Finalement, on utilise A(abT ) = (Aa)bT pour obtenir en multilpiant (55) des deux
côtés par M −1
crT + rcT Mr · c T
δ= − cc
p·c (p · c)2
(yk − Bk sk )(yk − Bk sk )T
δk = (57)
sk · (yk − Bk sk )
minimes Bk+1 − Bk dans l’ensemble des matrice symétrique vérifiant l’équation
de la sécante au sens de la norme de Frobenius pondérée ∥ · ∥M pour toute matrice
M vérifiant M (yk − Bk sk ) = sk .
Démonstration. On utilise le théorème théorème 9 avec M vérifiant M rk = sk .
D’après le lemme suivant cela nécessite sk ·rk > 0, ce qui revient à sk ·(gk+1 −gk ) >
sTk Bk sk .
Lemme 4. Soient a, b ∈ Rn , b ̸= 0. Il existe une matrice symétrique positive
N ∈ Rn×n telle que N a = b si et seulement si a · b > 0.
15
Démonstration. Pour la nécessité, on multiplie N a = b par a.
Pour la suffisance, on cherche N de la forme N = I + λaaT + µbbT . La condition
N a = b implique λ = −1/|a|2 et µ = 1/(a · b) > 0. Il reste a démontrer la
positivité de N . Soit x ∈ Rn .
(a · x)2 (b · x)2
2xT N x = |x|2 − +
|a|2 ·b}
| a{z
| {z }
=I +II
D’après Cauchy-Schwarz, I ≥ 0 et I = 0 si et seulement x = λa et dans ce cas on
a II > 0.
Théorème 10. Soit N ∈ Rn×n une matrice symétrique positive, C̃ ∈ Rn×n une
matrice symétrique et p, y ∈ Rn , y ̸= 0. Soit
A := C ∈ Rn×n : C T = C et C y = p .
(58)
La solution unique du problème de minimisation
inf ∥C − C̃∥2N (59)
C∈A
16
Corollaire 4. La formule de BFGS est aussi donné par
Cela montre la positivité des Ck . La suite des inverse Bk est donné par
yk ykT Bk sk sT B
Bk+1 = Bk + − T k . (64)
sk · y k sk Bk sk
Démonstration. =⇒
Soit p∗ solution du problème. La condition d’ordre un est
Si |p∗ | < r on peut prendre dans (70) q = p + td avec |d| = 1 et t petit. Cela
donne ∇ϕ(p∗ ) = 0, ce qui est (67) avec µ = 0. La condition nécessaire d’ordre
deux donne ∇2 ϕ(p∗ ) ≥ 0, ce qui donne (69).
Si maintenant |p∗ | = r, on ∇ϕ(p∗ ) ⊥ Tp∗ (B) = (p∗ )⊥ . Il existe donc µ ∈ R
tel que ∇ϕ(p∗ ) = −µp∗ . La condition (70) implique avec q = tp∗ (t < 1) que
∇ϕ(p∗ ) · p∗ ≤ 0, cela implique µ ≥ 0.
17
Avant de démontrer (69), on constate d’abord que si p∗ vérifie (67), on a
1
ϕ(p) − ϕ(p∗ ) = ∇ϕ(p∗ ) · (p − p∗ ) + (p − p∗ )T B(p − p∗ )
2
1 µ
= −µp∗ · (p − p∗ ) + (p − p∗ )T (B + µ)(p − p∗ ) − |p − p∗ |2
2 2
1 µ
= (p − p∗ )T (B + µ)(p − p∗ ) + |p∗ |2 − |p|2 .
2 2
(71)
⇐=
Inversement, on suppose que |p∗ | vérifie (67-69). On utilise (71). Dans le cas µ = 0
on a immédiatement ϕ(p) − ϕ(p∗ ) ≥ 0. Dans le cas µ > 0 on a avec la condition de
complémentarité |p∗ | = r et avec |p| ≤ r, (71) implique également ϕ(p) − ϕ(p∗ ) ≥
0.
On remarque que (71) donne avec p = 0
1 µ
ϕ(p∗ ) = − p∗ T (B + µ)p∗ − |p∗ |2 (72)
2 2
L’idée est maintenant d’adapter le rayon de confiance par rapport au succès de
l’itération précédente. Ayant résolu (65) le changement réel de la fonction est
redr := f (x) − f (x + p∗ ),
∇f (x∗ ) = 0, ∇2 f (x∗ ) ≥ 0.
18
Algorithme 7 : Region de Confiance
1. (Initialisaton) Choisir c0 > 0. r0 > 0 et x0 . k = 0
2. (Résoudre) Trouver pk comme solution de
1
inf gk · p + pT Bk p (74)
p∈Brk 2
Si ρk ≥ c0
xk+1 = xk + pk ,
sinon xk+1 = xk . (
1
r
2 k
si ρk ≤ 14 ,
rk+1 := (75)
2rk sinon.
Donc
1
−ϕ(pk′ ) = f (xk′ ) − f (xk′ + pk′ ) + o(|pk′ |2 ) ≤ − ϕ(pk′ ) + o(|pk′ |2 ),
4
ce qui implique que
ϕ(pk′ ) = o(|pk′ |2 ).
Soit v un vecteur arbitraire avec |v| = 1. On pose εk′ := |pk′ | > 0 (si pk les
conditions d’ordre un et deux sont satisfaites et il n’y a rien à démintrer), donc εk′ v
est admissible et lim
′
εk′ = 0. L’optimalité de pk′ montre que
k
ε2k′ T
ϕ(pk′ ) ≤ ϕ(εk′ v) = εk′ gk′ · v + v Hk′ v + o(ε2k′ )
2
On divise par εk′ et fait tendre k ′ → ∞ pour obtenir 0 ≤ ∇f (x∗ ) · v et donc
0 = ∇f (x∗ ) · v pour tout v.
Ensuite on observe qu’on peut extraire une sous-suite k ′′ telle que
Si maintenant inf rk = r̄ > 0. Il existe donc une sous-suite k ′ telle que −ϕk′ (pk′ ) ≤
k
C(f (xk′ ) − f (xk′ )). Cela implique, comme
X X
f (x1 ) − f (x∗ ) ≥ f (xk′ ) − f (xk′ ) ≥ C −ϕk′ (pk′ )
k′ k′
inf ϕ∗ (p).
|p|≤r̄/2
ϕ∗ (0) = 0 ≤ ϕ∗ (p∗ ).
20
Algorithme 8 : Region de Confiance - Levenberg-Marquardt
1. (Initialisaton) Choisir c0 > 0. µ0 > 0 et x0 . k = 0
2. (Résoudre)
(Bk + µk I)pk = −gk . (76)
3. (Mise à jour) Calculer
Si ρk ≥ c0
xk+1 = xk + pk ,
sinon xk+1 = xk . (
2µk si ρk ≤ 41 ,
µk+1 := 1 (77)
µ
2 k
sinon.
La question essentielle est la choix de Bk . Le calcul des héssiennes Fi′′ peut être
très coûteux. On est donc particulièrement intéressé par des méthodes qui évite le
calcul explicite. Il y a plusieurs possibilités :
— Quasi-Newton : mise à jour sur la héssienne ou son inverse. On peut choisir
B0 = F ′ (x0 )T F ′ (x0 ),
— Gauß-Newton : Bk = F ′ (xk )T F ′ (xk ),
— Levenberg-Marquardt : Bk = µk + F ′ (xk )T F ′ (xk ),
— Gauß-Newton amélioré : Bk = F ′ (xk )T F ′ (xk ) + Sk avec une approxima-
tion Sk de type mise à jour,
— Newton : Bk = H(xk ).
L’algorithme de Levenberg-Marquardt est proche de l’algorithme de méthode des
régions de confiance. Le rajout de µk I pour convexifier la fonctionnelle peut se
faire pour les autres algorithmes également. Généralement, on espère d’éviter la
gestion des pas tk par l’introduction de µk (et on espère une meilleure conver-
gence).
21
Il existe de nombreuses variantes de ces algorithmes, ainsi que des résultats théoriques.
On mentionne ici simplement que pour un problème à résidu nulle, la convergence
de Gauß-Newton est super-linéaire sous des hypothèses convenables.
On considère l’algorithme Gauß-Newton amélioré. Comment choisir Sk ? Il nous
faut définir une équation de la sécante. Un choix raisonnable est
Comme S(x) est symétrique, on peut choisir la méthode SR1 ou BFGS en commençant
pat S0 = 0.
∀1 ≤ i ≤ m µi gi (x∗ ) = 0,
(85)
µ0 ∇f (x∗ ) + Dh(x∗ )T λ∗ + Dg(x∗ )T µ∗ = 0.
22
On peut donc extraire une sous-suite convergente k ′ telle que xk′ → x̃. De (87) on
obtient que
2 + 2 2 ∗ 1 ∗ 2
|h(xk )| + |g (xk )| ≤ f (x ) − f (xk ) − |xk − x | .
k 2
Le terme entre accolades est borné, et on obtient par passage à la limite que x̃ ∈ K.
On a aussi avec (87)
1
f (x̃) + |x̃ − x∗ |2 = lim fk′ (xk′ ) ≤ f (x∗ ) ≤ f (x̃),
2 k′ →∞
ce qui implique x̃ = x∗ .
Pour écrire la condition nécessaire d’ordre un on remarque d’abord que la fonction
ϕ(x) := 12 |g + (x)|2 est différentiable avec ∇ϕ(x) = Dg(x)T g + (x) (elle composi-
tion de deux fonctions différentiables). On a alors
On définit maintenant
p k h(xk ) k k g + (xk ) k
sk := 1 + k 2 |h(xk )|2 + k 2 |g + (xk )|2 , λk := , µ := , µ0 = 1/sk .
sk sk
at on divise (88) par sk pour obtenir
Par construction, le vecteur (λk , µk , µk0 ) est de longuer 1 et on peut donc trouver
une sous-suite qui converge vers (λ∗ , µ∗ , µ∗0 ) ̸= 0.
On passe à la limite dans (89) pour obtenir (85). La positivité de µ∗ est évidente. Si
gi (x∗ ) < 0 on obtient µ∗i = 0. De l’autre côté, si µ∗i > 0 g + (xk ) > 0 à partir d’un
certain rang etcela implique g(x∗ )i = 0.
Dans la suite on charche à s’assurer que µ∗0 ̸= 0. Pour cela on utilise des conditions
de qualification des contraintes.
Définition 8. (Point régulier) Soit x ∈ K. On définit l’ensemble des indices actifs :
23
Démonstration. Il suffit de montrer que µ∗0 est non-nulle.
Supposons µ∗0 = 0. La maximalité du rang de Dh(x∗ ) montre qu’il existe au moins
un indice i ∈ A(x∗ ) tel que µ∗i > 0, car, sinon Dh(x∗ )T λ∗ = 0 impliquerait
λ∗ = 0, ce qui est impossible.
Le vector d de (91) donne alors
d’où la contradiction
Pour se chauffer pour la condition d’ordre deux, on considère d’abord le cas sui-
vant.
Lemme 5. Soient ϕ, ψ ∈ C 1 (Rn ). Si x∗ est solution du problème
1 2
infn f (x), f (x) := ϕ(x) + ψ(x)+ , (93)
x∈R 2
alors on a
∇ϕ(x∗ ) + ψ(x∗ )+ ∇ψ(x∗ ) = 0, (94)
et pour tout p ∈ Rn
24
Théorème 16. Soit x∗ un minumum fortement régulier et
C ∗ := p ∈ N (Dh(x∗ )) : pT ∇gi (x∗ ) = 0 ∀i ∈ A∗ (x), pT ∇gi (x∗ ) ≤ 0 ∀i ∈ A(x) \ A∗ (x) .
(97)
∗
Alors on a pour tout p ∈ C
( )
X X
0 ≤ pT ∇2 f (x∗ ) + λi ∇2 hi (x∗ ) + µi ∇2 gi (x∗ ) p. (98)
i i
∗
Remarque 9. L’ensemble C est appelé le cône critique (nom justifié !).
Démonstration. On reprend la démonstration de la condition nécessaire d’ordre
un.
Théorème 17. Soit x∗ un point vérifiant les conditions KKT et tel que
( )
X X
0 < pT ∇2 f (x∗ ) + λi ∇2 hi (x∗ ) + µi ∇2 gi (x∗ ) p. (99)
i i
25
On commence avec une variante de la méthode du gradient, qui tient compte des
contraintes.
Cet algorithme est déconseillé, mais nous donnons un résultat de convergence, car
sa démonstration est instructive.
Théorème 18. Soit f ∈ C 1 (Rn ), coercive et strictement convexe avec
De plus on suppose que ∇f est lipschitzien avec rapport L. Si les pas vérifie
Alors on a
3.3.1 Lagrange-Newton
L’idée est d’appliquer la méthode de Newton à l’équation de la stationnarité du
lagrangien,
L(x, λ) = f (x) + ⟨h(x), λ⟩ (108)
Nous savons que la condition nécessaire d’ordre un s’écrit comme
∇L(x, λ) = 0, (109)
26
et la condition suffisante d’ordre deux s’écrit comme
pT H(x,
e λ)p > 0 ∀p ∈ Ker Dh(x). (110)
avec p
X
e λ) := ∇2 f (x) +
H(x, λj ∇2 hj (x). (111)
j=1
Algorithme 10 : Lagrange-Newton
1. (Initialisaton) t0 > 0, x0 et λ0 . k = 0
2. (Direction) Résoudre
2
∇x L(xk , λk ) Dh(xk )T px ∇f x(xk ) + Dh(xk )T λk )
=− (112)
Dh(xk ) 0 rk h(xk )
27
3.3.2 Elimination de variables
Le cas du contrôle optimal et de l’estimation de paramètres donnent lieu à partager
x en variables d’état u et variables de contrôle (paramètres) q :
De plus, on a souvent une équation d’état qui permet de déterminer l’état en fonc-
tion du contrôle
3.4 SQP
L’algorithme SQP (sequential quadratic programming) consiste à approcher le la-
grangien par des fonctions quadratiques :
28
Algorithme 11 : SQP
1. (Initialisaton) t0 > 0, x0 , λ0 et µ0 . k = 0
2. (Direction) Résoudre
On peut alors utiliser toutes les techniques possible pour résoudre le (QP) : points
intérieurs, stratégie (primale, duale, ou primale-duale) d’ensembles actifs etc.
Un question clé est le choix du pas tk .
Comme avant, en tenant compte des inégalités, les possibilités raisonnables sont :
1. P
(Lagrangien augmenté) ϕ(x) = f (x) + λT h(x) + µT g(x) + σ2 ∥h(x)∥2 +
m σ 2 µ
j=1 µj βj + 2 βj , βj := max(− σj , gj (x)),
2. (Pénalisation non-différentiable) ϕ(x) = f (x) + σ∥h(x)∥2p + σ∥g(x)+ ∥2p ,
p = 1 ou p = ∞.
29