Vous êtes sur la page 1sur 130

Analyse matricielle et Optimisation

Serge GRATTON, INP Toulouse

Éd. Ress. Pédago. Ouv. INPT, 0727 (2014) 24h


2

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

I Analyse matricielle 5

1 Compléments d’algèbre matricielle 7


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Matrices, vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Opérations sur les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Autres définitions relatives aux matrices . . . . . . . . . . . . . . . . . . . . 9

2 Normes de vecteurs et de matrices 13


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Normes de vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Normes de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Norme induite et rayon spectral . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Résolution de systèmes linéaires 21


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Sensibilité d’un système, qualité d’une solution . . . . . . . . . . . . . . . . 21
3.3 Résolution par factorisation A = LU . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Rôle du pivotage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5 Factorisation de Cholesky d’une matrice symétrique définie positive . . . . . 31

4 Résolution de problèmes aux moindres carrés 35


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3 Algorithmes de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4 Comparaison de la méthode QR à la méthode des équations normales . . . 40
4.5 Perturbation d’un problème de moindres carrés . . . . . . . . . . . . . . . . 41
4.6 Algorithmes de factorisation QR . . . . . . . . . . . . . . . . . . . . . . . . 43

5 Résolution de systèmes linéaires par des méthodes de Krylov 47


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3 La méthode GMRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4 La méthode du gradient conjugué . . . . . . . . . . . . . . . . . . . . . . . . 55

3
4 Table des matières

6 Résolution de systèmes linéaires par méthodes itératives stationnaires 61


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.2 Suite récurrentes d’ordre 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.3 Méthodes itératives asymptotiques de basées sur du splitting . . . . . . . . 62
6.4 Raffinement itératif d’une solution et point fixe perturbé . . . . . . . . . . . 64

7 Problèmes aux valeurs propres 65


7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.2 Origine de ces problèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.3 Sensibilité d’un problème spectral . . . . . . . . . . . . . . . . . . . . . . . . 67
7.4 Quelques algorithmes de recherche des valeurs propres . . . . . . . . . . . . 69

II Optimisation 75

8 Optimisation sans contrainte 77


8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.2 Rudiments en calcul différentiel . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.3 Minimisation locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.4 Algorithmes de minimisation sans contrainte . . . . . . . . . . . . . . . . . 87

9 Optimisation avec contraintes 101


9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.2 Quelques résultats de convexité . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.3 Conditions variationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.4 Cas du problème quadratique à contraintes linéaires . . . . . . . . . . . . . 111

10 Optimisation avec contraintes d’inégalité 117


10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.2 Lien avec les contraintes d’égalité . . . . . . . . . . . . . . . . . . . . . . . . 117
10.3 Conditions d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.4 Application de la théorie des multiplicateurs de Lagrange : la méthode des
contraintes actives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

11 Introduction à l’optimisation multicritères 125


11.1 Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

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

Analyse matricielle

5
Chapitre 1

Compléments d’algèbre matricielle

1.1 Introduction
Le but de ce chapitre est de présenter les principales notations qui seront utilisées dans
ce cours. Il s’agit aussi de rappeler des relations entre noyau et image de matrices, qui
seront massivement utilisées, notamment lors de la résolution de problèmes d’estimation
de paramètres par moindres carrés linéaires. Enfin un rappel sera fait sur le procédé
d’orthogonalisation de Schmidt, qui sera ré-écrit sous la forme de factorisation QR d’une
matrice ; c’est ce point de vue matriciel qui sera adopté le plus possible dans la suite.

1.2 Matrices, vecteurs


Une matrice rectangulaire A de taille m × n est un tableau rectangulaire de nombres
de la forme  
a11 a12 . . . a1n
 a21 a22 . . . a2n 
A= . .. .. 
 
 .. . . 
am1 am2 . . . amn
à m lignes et n colonnes. Un vecteur de dimension n est un tableau de la forme
 
x1
 x2 
x =  . .
 
.
 . 
xn

1.3 Opérations sur les matrices


On aura principalement à considérer les quatre opérations suivantes sur les matrices :
– la multiplication par un scalaire µ : A = (aij ) 7−→ µA = (µaij )
– la somme de matrices de mêmes dimensions : A = (aij ), B = (bij ) 7−→ A + B =
(aij + bij )

7
8 Chapitre 1 : Compléments d’algèbre matricielle

– le produit de matrices :
k=n
X
A = (aik ), B = (bkj ) 7−→ A B = (cij ) avec cij = aik bkj
k=1

n
n×l m×l

Le produit AB n’est défini que si le nombre n de colonnes de A est égal au nombre


de lignes de B.
– la transposée 1 de A :
A = (aij ) 7−→ AT = (aji )
m×n n×m
On a échangé les lignes et les colonnes de A.
– la transposée-conjuguée 1 de A :

A = (aij ) 7−→ AH = A∗ = (aji )


m×n n×m

Si A est réelle, AH = AT . On utilisera souvent les matrices carrées particulières suivantes :


1. A est hermitienne ssi AH = A.
2. A, réelle, est symétrique ssi AT = A.
3. A définie positive ssi x 6= 0 ⇒ xH Ax > 0.
4. A est semi-définie positive ssi x 6= 0 ⇒ xH Ax ≥ 0.
5. A est unitaire ssi AH A = AAH = I.
6. A, réelle, est orthogonale ssi AT A = AAT = I.
7. A est normale ssi AH A = AAH .
8. A est triangulaire supérieure ssi i > j ⇒ aij = 0, c’est à dire ssi elle est nulle sous
la diagonale aii .
9. A est triangulaire inférieure ssi i < j ⇒ aij = 0.
10. A est diagonale ssi elle est à la fois triangulaire supérieure et triangulaire inférieure,
c’est à dire ssi tous ses coefficients hors diagonaux sont nuls. On écrit A = diag(a11 , . . . , ann ) =
diag(aii ).
11. A est de forme Hessenberg supérieure ssi i >j + 1 ⇒ aij = 0, c’està dire ssi A est
× ... ... ... ×
. 
. . . . . . .. 

 ×
..  .
 
nulle sous la première sous-diagonale : A = 
 ..
. . 
.. 
 
..
. ... . 


0 × ×

1. En Algèbre, la notation usuelle pour la transposée (resp. transposée-conjuguée) est le plus souvent
t
A (resp. A∗ ).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
9 Chapitre 1 : Compléments d’algèbre matricielle

12. A est tridiagonale ssi i > j + 1 et i < j + 1 ⇒ aij = 0, c’est à dire ssi A est
nullesous la première sous-diagonale
 et au-dessus de la première sur-diagonale :
× × 0
 × ... ...
 

 
A=
 .. .. .. .

 . . . 
.. ..
. . × 
 

0 × ×
De même, on considèrera souvent les matrices rectangulaires suivantes :
1. A ∈ Rm×n , m > n, est orthonormale si AH A = I. Une matrice carrée (m = n)
orthonormale est unitaire.
2. A est triangulaire supérieure (ou trapèze) si j < i ⇒ aij = 0.

1.4 Autres définitions relatives aux matrices


1. Le noyau dans Rn de A ∈ Rm×n est :
Ker A = {x ∈ Rn , A x = 0} ⊂ Rn
2. L’espace image dans Rm de A ∈ Rm×n est défini par :
Im A = {A x, x ∈ Rn } ⊂ Rm
3. Le rang de A est rg(A) = dim(ImA) où dim S désigne la dimension du sous espace
vectoriel S. On rappelle que
rg(A) = rg(AT ).
Exercice 1.1 On suppose que A ∈ Rn×n , est telle que A2 + A + I = 0. La matrice A
est-elle inversible ? Calculer son inverse en fonction de A.
Preuve 1.1 Démonstration.
De I = (−I − A)A = A(−I − A), on déduit que A−1 = −I − A.
2
Exercice 1.2 Matrice du produit vectoriel. Soit u ∈ R3 et au : R3 → R3 , v 7→ u ∧ v, avec
∧ défini par det (u, v, w) = (u ∧ v)T w pour tout w ∈ R3 . Explicitez A ∈ R3×3 telle que
u ∧ v = Av. Montrez et A est antisymétrique (AT = −A)et calculer ses valeurs propres.
Preuve 1.2 Démonstration.
Partant de la définition du déterminant
 
u1 v1 w1
w1 (u2 v3 − u3 v2 ) − w2 (u1 v3 − u3 v1 )+
det  u2 v2 w2  =
w3 (u1 v2 − u2 v1 )
u3 v3 w3
  T  
0 −u3 u2 v1 w1
=  u3 0 −u1   v2   w2  ,
−u2 u1 0 v3 w3

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
10 Chapitre 1 : Compléments d’algèbre matricielle

 
0 −u3 u2
on déduit que A =  u3 0 −u1  . La matrice A est réelle anti-symmétrique
−u2 u1 0
(AT = −A). Son déterminant est 0 (car Au = 0) et sa trace est 0. Donc son polynôme
caractéristique sécrit p(λ) = λ3 + aλ. Un calcul direct montre que p(λ) = λ3 + kuk22 λ. Le
spectre de A est donc {0, −i kuk2 , i kuk2 }. Si u 6= 0, A a 3 valeurs propres distinctes. Si
u = 0 alors A = 0.

Exercice 1.3 Calcul de nombres d’opérations. Soit Q ∈ Rm×1 et Z ∈ Rm×k des ma-
trices denses (à éléments non nuls). On considère deux algorithmes d’évaluation de QQT Z.
L’agorithme A1 implante (QQT )Z, l’algorithme A2 implante Q(QT Z). Comparez ces deux
algorithmes suivant leur nombre d’opérations et le coût mémoire de stockage des ma-
trices intermédiaires. On utilisera le fait qu’un produit matrice-vecteur Ax coûte environ
2nnz(A) opérations où nnz(A) est le nombre de non-zeros de A.

Preuve 1.3 Démonstration.


Pour l’algorithme A1, le calcul de C = QQT ∈ Rm×m coûte m2 , et le calcul de CZ coûte
2m2 k, ce qui fait en tout m2 (2k + 1) opérations et un stockage m2 nombres pour C.
Pour l’algorithme A2, le calcul de D = QT Z ∈ R1×k coûte 2mk, et le calcul de QD
coûte mk, ce qui donne 3mk opérations et un stockage k nombres pour D.
Donc r = m(2k+1)
3k est le ratio en nombre d’opérations entre les deux méthodes, tandis
m2
que s = k est le ratio en mémoire.
Si r > 1 , c’est A2 qui est la plus intéressante en opérations. C’est notamment le cas
lorsque m > 1. Si de plus, k ≤ m2 , la méthode A2 est aussi plus intéressante en mémoire :
s ≥ 1.

Exercice 1.4 Le détermimant est-il une mesure raisonable de la singularité d’une ma-
trice ? Soit A ∈ Rn×n une matrice carrée inversible. Que vaut det αA en fonction de
det A ? (Application numerique pour A la matrice identité et n = 100 et α = 10−1 ). On
calcule det (A) sur un ordinateur réalisant 4 · 109 opérations par seconde, en utilisant la
formule
X n
Y
|σ|
det (A) = (−1) ai σ(i) .
σ∈S(n) i=1

Quel temps dure ce calcul pour une matrice quelconque d’ordre 100 ?

Preuve 1.4 Démonstration.


On a det (αA) = αn det A. Application numérique det (αA) = 10−100 , alors que det (A) =
1. Le déterminant n’est pas invariant par multiplication par un scalaire et ne peut pas être
utilisé tel quel pour la détection de la singularité. Il y a approximativement 100 · 100!
opérations. Cela donne 100 · 100!/(4 · 109 )/86400/366/100 ∼ 7 · 10140 siècles de calcul.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
11 Chapitre 1 : Compléments d’algèbre matricielle

Proposition 1.1 Pour A ∈ Rm×n , B ∈ Rn×m , on a tr AB = tr BA. Qu’en est-il du


déterminant de AB pour A et B carrées ?

Preuve 1.5 Démonstration.P


Soit C = AB. Alors tr C = m
Pm Pn Pn Pm
i=1 Cii = i=1 k=1 aik bki = k=1 i=1 bki aik = tr BA.
De plus, det AB = det A det B = det B det A = det BA.
2
Le résultat ci-dessous montre que la trace et le déterminant d’une matrice carrée sont
invariants par changement de base. Soit A et B deux matrices telles qu’il existe une matrice
carrée inversible telle que A = XBX −1 , alors tr A = tr XBX −1 = tr BX −1 X = tr B.
De même, det A = det B.
Proposition 1.2 Pour A ∈ Rm×n , Ker A = Ker AT A. De plus, on a Im(AT ) = Im(AT A).

Preuve 1.6 Démonstration.


Soit x ∈ Ker A, alors Ax = 0, donc AT Ax = 0, et x ∈ Ker AT A.. Soit x ∈ Ker AT A,
alors AT Ax = 0, donc xT AT Ax = kAxk22 = 0 (définition de la norme Euclidienne) et
donc d’après les propriétés de la norme, Ax = 0 donc x ∈ Ker A. Il est clair que si y ∈
Im(AT A), y = AT Ax = AT (Ax) ∈ y ∈ Im(AT ). Donc Im(AT A) ⊂ Im(AT ) et il suffit de
montrer que ces deux espaces ont la même dimension donc que (puisque rg(AT ) = rg(A))
rg(A) = rg(AT A). Les formules du rang sur A et AT A donnent n = rg(A)+dim Ker(A) =
rg(AT A) + dim Ker(AT A), et le résultat découle de Ker A = Ker AT A.
2

Proposition 1.3 Si A est m × n, la matrice AT A est symétrique carrée d’ordre n et ses


valeurs propres sont donc réelles. Elles sont de plus positives ou nulles.
Matrice de Gram. Soit A ∈ Rm×n , avec m ≥ n. On appelle matrice de Gram associée aux
colonnes de A la matrice AT A. Notez que A est composée de produits scalaires. La matrice
de Gram est inversible ssi les colonnes de A forment un système libre (i.e. Ker A = {0}).

Preuve 1.7 Démonstration.


kAxk22
En effet, si AT Ax = µx, x 6= 0, alors xT AT Ax = (Ax)T Ax = µxT x. Soit µ = ≥ 0.
kxk22
La condition Ker A = {0} équivaut, d’après la proposition 1.2, à Ker AT A = {0}, ce
qui signifie que AT A est inversible.
2

Proposition 1.4 (orthonormalisation de Schmidt) Tout ensemble {a1 , . . . ap } de p ≤ n


vecteurs linéairement indépendants (i.e. formant une famille libre) de Rn peut être trans-
formé en un ensemble de p vecteurs {q1 , . . . qp } deux à deux orthogonormaux par le pro-
cessus d’orthonormalisation de Schmidt. On peut choisir les qi tels que pour tout j ≤ p,

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
12 Chapitre 1 : Compléments d’algèbre matricielle

les deux familles {q1 , . . . qj } et {a1 , . . . aj } génèrent le même espace. Montrez que cela peut
se faire en à peu près 2np2 opérations.
On en déduit le résultat suivant : Soit A ∈ Rm×n de rang n. La matrice A peut
être factorisée en A = QR où Q ∈ Rm×n est orthogonale et R ∈ Rn×n est triangulaire
supérieure à éléments positifs sur la diagonale.

Preuve 1.8 Démonstration. Soit P (k) l’hypothèse de récurrence


– {q1 , . . . qj } et {a1 , . . . aj } génèrent le même espace pour j ≤ k,
– les qj , j ≤ k, sont deux à deux orthogonormaux.
Montrons tout d’abord que P (1) est vraie. Comme (a1 ) est une famille libre, a1 6= 0. On
définit q1 = a1 / ka1 k2 et on a bien les propriétés voulues.  
Supposons que P (k−1) est vraie. Posons alors q̄k = ak − k−1 T
P
i=1 ik i , où rij = qi ak ,
r q
ce qui entraı̂ne que q̄k est orthogonal aux qj , j < k. Il est clair que q̄k est non nul. En effet,
q̄k s’écrit comme ak + z où z est combinaisons linéaire de (a1 , . . . ap−1 ) car, par hypothèse
de récurrence, {q1 , . . . qp−1 } et {a1 , . . . ap−1 } génèrent le même espace. Donc aj + z est
une combinaison linéaire des ai , dont le coefficient devant ak est non nul (c’est 1). Le
caractère linéairement indépendant des ai entraı̂ne donc que ak + z est non nul.
k−1
!
1 X
On définit alors qk = ak − rik qi , où rkk = kq̄k k2 . La famille {q1 , . . . qk } est
rkk
i=1
bien une famille orthonormale.
Montrons que {q1 , . . . qk } et {a1 , . . . ak }Pgénèrent le P même espace. Par hypothèse de
récurrence il existe des scalaires αi tels que k−1 i=1 rik q i = k−1
i=1 αi ai , et le résultat provient
facilement de  Pk
 ak = i=1 rik qi avec rkk!6= 0

k−1
1 X
 qk = r
 ak − αi ai .
kk i=1

et donc P (k) est vraie. Pour résumer, on définit p vecteurs orthonormaux q1 , . . . , qp , par
l’algorithme
a1
– q1 = (coût 3n opérations)
ka1 k2
– pour j variant de 2 jusqu’à p, (coût de l’ordre de 4n pj=2 j ∼ 2np2 )
P
 Pj−1 
– q̄j = aj − i=1 rij qi , (coût (j − 1)2n opérations)
– avec rij = qiT ak , i = 1, . . . j − 1 (coût (j − 1)2n opérations)

– rj,j = kq̄j k2 et qj = rjjj (coût 3n opérations).
D’après la formule du rang la condition rg(A) = n montre que Ker(A) = {0} et donc
que les colonnes de A sont linéairement indépendantes. En utilisant le théorème
Pj−1 1.4
pour othogonaliser les colonnes de A = [a1 , . . . an ], on obtient rjj qj = aj − i=1 rij qi
pour j = 1, n. Cette relation s’écrit matriciellement A = QR, où Q = [q, . . . qn ] et
R = [rij ]i∈{1...n},j∈{1...n} .

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

Normes de vecteurs et de matrices

2.1 Introduction
La plupart des problèmes de la physique mettent en jeu des quantités approchées
connues par exemple avec un certain pourcentage d’erreur. Lorsque ces problèmes sont
résolus sur ordinateur, se pose naturellement la question de la mesure des erreurs à la fin
du processus de calcul. De même, lorsque des processus itératifs sont utilisés pour le calcul
des solutions, notamment pour les problèmes non linéaires, la détection de la convergence
s’exprime naturellement en termes de normes de vecteurs. Ainsi la première partie de ce
chapitre est consacrée à un exposé élémentaire de la notion de norme de vecteur.
Enfin, lorsqu’une analyse d’erreur est menée et que des opérateurs linéaires sont en
jeu, comme c’est le cas lors de la résolution de systèmes d’équations linéaires ou linéarisés,
cette analyse est grandement facilitée par l’emploi de normes matricielles, qui seront
présentées en fin de chapitre.

2.2 Normes de vecteurs


Definition 2.1 Une fonction ν : Rn → R est une norme sur Rn si elle satisfait les trois
conditions :
1. x 6= 0 ⇒ ν(x) > 0
2. ν(αx) = |α|ν(x) pour α ∈ R
3. ν(x + y) ≤ ν(x) + ν(y)

Trois conséquences de la définition 2.1 sont :


– ν(0) = 0
– ν(−x) = ν(x)
– |ν(x) − ν(y)| ≤ ν(x − y)

Proposition 2.2 On sait qu’en dimension finie, toutes les normes sont équivalentes.
Nous voyons ici des cas particuliers. Pour tout x ∈ Rn ,

kxk2 ≤ kxk1 ≤ n kxk2

13
14 Chapitre 2 : Normes de vecteurs et de matrices

1
√ kxk2 ≤ kxk∞ ≤ kxk2
n

kxk∞ ≤ kxk1 ≤ nkxk∞


Dans chaque cas ces égalités peuvent être atteintes.

Preuve 2.1PDémonstration. : Soit x = (x1 , . . . xn )T ∈ Rn . Pour kxk2 ≤ kxk1 ≤ n kxk2 ,
|xi |2 ≤ ( |xi |)2 , et en prenant la racine de cette inégalité entre positifs
P
on part de
on obtient la première P inégalité. En utilisant l’inégalité de Cauchy pour le produit scalaire

canonique, on obtient 1 · |xi | ≤ n kxk2 , qui est bien la seconde inégalité. Ces inégalités
sont atteignables pour x = (1, 0, . . . , 0)T (kxk2 = kxk1 = 1) et pour x = (1, 1, . . . , 1)T (

n = kxk1 = n kxk2 ).
1
Pour √ kxk2 ≤ kxk∞ ≤ kxk2 , on a que i |xi |2 ≤ i maxj |xj |2 ≤ nkxk2∞ . Pour
P P
n
la seconde inégalité, on a que maxj |xj |2 ≤ i |xi |2 , ce qui est bien le résultat escompté.
P
Ces inégalités sont atteignables pour x = (1, 0, . . . , 0)T (kxk2 = kxk∞ = 1) et pour x =
√ √
(1, 1, . . . , 1)T ( n = kxk2 = nkxk∞ ). La dernière série d’inégalités est une conséquence
des deux premières.

Exercice 2.1 Utilisation de normes relatives. Supposons que X et Y sont deux nombres
entiers positifs représentés exactement en base 10 en utilisant 6 chiffres significatifs. Supp-
posons que X = [x1 x2 x3 x4 x5 x6 ] et Y = [x1 x2 x3 y4 y5 y6 ], avec x1 6= 0 et x4 6= y4 . Trouver
un majorant de la quantité erreur relative % = |X−Y |
|X| . Généraliser au cas ou l’accord de
X et Y a lieu sur p chiffres p > 2. Intuitivement que peut-il se passer si X et Y sont des
vecteurs ?

Preuve 2.2 Démonstration. Commencons par un exemple où X = 271828. Dans la table
ci-dessous, la quantité % est donnée pour plusieurs valeurs de Y :

approximation %
200000 2 · 10−1
270000 6 · 10−3
271000 3 · 10−3
271800 1 · 10−4
271820 6 · 10−5

Cet exemple montre que le nombre de chiffres de tête en commun a l’air d’être lié à la
valeur de %. Reprenons un cas plus général. Le plus grand écart a lieu si X est le plus petit
possible et Y le plus grand possible. Cela a lieu pour X = x1 x2 x3 999 et Y = x1 x2 x3 000,
999
l’écart est 999. L’erreur relative est donc majorée par 100000 < 10−2 . Plus généralement
si xi = yi pour i = 1 . . . p. L’écart maximal est 10n−p (majorant de l’écart entre 9| .{z
. . 9} et
n−p

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
15 Chapitre 2 : Normes de vecteurs et de matrices

10n−p
0| .{z
. . 0}) l’erreur relative est majorée par 10n−1
= 101−p . Donc si l’erreur relative excède
n−p
101−p , on est sûr que X et Y ont moins de p chiffres de tête en commun. La quantité
% est donc très utile lorsque les erreurs sont exprimées en terme de chiffres significatifs,
ce qui est souvent le cas lorsque l’on traite des quantités physiques mesurées. L’extension
aux vecteurs est délicate et dépend de la norme vectorielle choisie. Prenons par exemple la
norme infinie. soit Y = (1000, 10, 1)T et X = (1002, 13, 2)T . On a alors kX−Y k∞
kXk∞ = 3·10 ,
−3

alors que les erreurs composantes à composantes sont (2 · 10−3 , 3 · 10−1 , 1 · 100 )T . Donc
l’erreur en norme est plutôt liée dans ce cas au nombre de chiffres de tête en commun sur
la plus grande composante.

2.3 Normes de matrices


Par exemple, la norme de Frobenius kAkF = ( m 2 12
P Pn
i=1 j=1 |aij | ) est une norme de
matrice (c’est la norme euclidienne de A considérée comme un long vecteur).
Definition 2.3 On appelle norme matricielle une norme définie pour des matrices
carrées qui vérifie, en plus de la définition 2.1, la relation kABk ≤ kAkkBk. Si on considère
A comme représentant un opérateur linéaire, la norme de l’application linéaire A ∈ Rn×n ,
induite par le choix d’une norme k . k sur Rn , est une norme matricielle. Celle-ci est
définie par :
kAxk x
kAk = max = max kA k = max kAxk = max kAxk.
x6=0 kxk x6=0 kxk kxk=1 x6=0
kxk≤1

Ces notions se généralisent aisément aux matrices rectangulaires. On définit par exemple
ainsi, pour A ∈ Rm×n ,
kAxk2
kAk2 = max .
x6=0 kxk2

Proposition 2.4 Montrez que la norme de Frobenius est une norme matricielle. Soit
kAkm = max
 ij |aij |.

1 1
Avec A = . La norme kkm est-elle une norme matricielle ?
1 1
Preuve 2.3 Démonstration. : Posons C = AB et soit ai la ième P ligne de A et bj la
jème colonne de B. Alors pour tout i, j cij = aTi bj . Donc kCk2F = ij (aTi bj )2 . D’après
l’inégalité de Cauchy-Schwarz, pour tout i, j, (aTi bj )2 ≤ kai k22 kbj k22 , donc
 
X X
kCk2F ≤ kai k22  kbj k22  .
i j

Or kBk2F = 2 kbj k2F , et de même, kAk2F = i kai k2F . Par conséquent,


P P P
ij bij = j
X
kCk2F ≤ kai k22 kBk2F = kAk2F kBk2F .
i

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
16 Chapitre 2 : Normes de vecteurs et de matrices

   
1 1 2 2
Pour la seconde partie, avec A = , et A2 = , on obtient kA2 km =
1 1 2 2
2 > kAkm kAkm = 1.

Proposition 2.5 Soit A ∈ Rm×n . Montrez que les normes induites par les normes de
vecteur kxk1 et kxk∞ sont respectivement :
n
X
kAk1 = max |aij |
1≤j≤n
i=1
Xm
kAk∞ = max |aij |
1≤i≤m
j=1

Pm
Preuve 2.4 Démonstration. Première égalité. Soit y = Ax et C1 = max1≤j≤n i=1 |aij |.
Partant de
m m Xn n m n
!
X X X X X
|yi | ≤ |aij ||xj | ≤ |xj | |aij | ≤ |xj |C1 ,
i=1 i=1 j=1 j=1 i=1 j=1

on obtient que kAxk1 ≤ CkAk1 , d’où kAk1 ≤ C1 . D’autre part, soit j0 l’indice permettant
le max dans C1 et ej0 le j0 -ème vecteur de base canonique. Alors kej0 k1 = 1 et
d’atteindre P
kAej0 k1 = ni=1 |aij0 | = C1 kej0 k1 , d’où kAk1 ≥ C1 et donc kAk1 = C1 .
Pm
Deuxième égalité. Soit à présent Cinf = max1≤i≤m j=1 |aij |.

n
X n
X
|yi | ≤ |aij ||xj | ≤ |aij |kxk∞ ≤ Cinf kxk∞ ,
i=1 i=1

ce qui montre que en passant au max sur i que kAxk∞ ≤ Cinf kxk∞ et donc que kAk∞ ≤
Cinf . Soit i0 l’indice permettant d’atteindre le max dans Cinf et soit zj tel que zj ai0 j =
|ai0 j | si ai0 j 6= 0 et zj = 0 sinon. Si A = 0 le résultat est clair. Si A 6= 0, il existe
j0 tel que |zj0 | = 1 et,Pnpuisque |zj | ≤ 1, on a kzk∞ = 1. Posons w = Az on a, |wi | ≤
P n
j=1 |aij | ≤ Cinf = j=1 |ai0 j | = |wi0 | = Cinf kzk∞ . Donc en passant au max sur i, on
obtient |wi0 | = kAzk∞ = Cinf kzk∞ , d’où Cinf ≤ kAk∞ et donc Cinf = kAk∞ .

Proposition 2.6 Soit A ∈ Rm×n . On a


q
kAk2 = ρ(AT A),

où ρ est le rayon spectral défini comme le plus grand module des valeurs propres de A :
ρ(A) = max{|λ|, λ valeur propre de A}

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
17 Chapitre 2 : Normes de vecteurs et de matrices

Preuve 2.5 Démonstration. La matrice AT A étant hermitienne semi-définie positive,


AT A s’écrit AT A = QDQT , avec dii ≥ 0 et ρ(AT A) = maxi dii . On a alors kAxk22 =
2
xT QDQT x. D’après l’inégalité de Cauchy, kAxk22 ≤ QT x 2 DQT x 2 ≤ QT x 2 kDk2 .

2
Comme QT x 2 = xT QQT x = xT x = kxk22 , on obtient kAxk22 ≤ ρ(AT A) kxk22 , et donc

p
kAk2 ≤ ρ(AT A). De plus, si i0 est tel que ρ(AT A) = di0 i0 , et alors T
palors A Aqi0 =
2
ρ(AT A)qp T
i0 , et donc kAqi0 k2 = ρ(A A) kqi0 k2 , ce qui implique kAk2 ≥ ρ(AT A) et donc
kAk2 = ρ(A A). T

Definition 2.7 Une norme k.k est dite unitairement invariante si, quelles que soient les
matrices (carrées) unitaires Q et Q0 , alors
i) pour un vecteur x quelconque, kxk = kQxk où k.k est une norme de vecteur,
ii) pour une matrice A rectangulaire quelconque, kAk = kQAk = kAQ0 k = kQAQ0 k,
où k.k est une norme de matrice.

Proposition 2.8 La norme euclidienne, sa norme induite et la norme de Frobenius sont


unitairement invariantes.

Preuve 2.6 Démonstration.


– Cas de la pnorme euclidienne
p : √
kQxk2 = (Qx) Qx = xT QT Qx = xT x car Q est une matrice unitaire.
T

– Cas de la norme induite


p par la norme euclidienne : p
En utilisant kAk = ρ(A T A), on obtient que kQAQ0 k = ρ(Q0 AT QT QAQ0 ) =
p 2 p
0T
ρ(Q A AQ ) = ρ(A A), où l’on a utilisé successivement QT Q = I et le fait
T 0 T
0
que Q T AT AQ0 et AT A ont les mêmes valeurs propres.
– Cas de la norme de Frobenius : Pn Pm 2
Par définition du produit matrice matrice, kAk2F = tr(AT A) = i=1 k=1 aki .
0 2 0T T T 0 0T T 0 T
Alors kQAQ kF = tr(Q A Q QAQ ) = tr(Q A AQ ), car Q Q = I. En utili-
0 0 0
sant tr(AB) = tr(BA), et Q0 Q T = I, on obtient tr(Q T AT AQ0 ) = tr(AT AQ0 Q T ) =
tr(AT A) = kAk2F .

2.4 Norme induite et rayon spectral


Proposition 2.9 1. Soit A une matrice carrée d’ordre n. Pour toute norme matri-
cielle, induite ou non,
ρ(A) ≤ kAk.

2. Si A est diagonalisable, il existe une norme induite (dépendant de A) telle que

kAk = ρ(A).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
18 Chapitre 2 : Normes de vecteurs et de matrices

3. On admet que (Householder–Ostrowski) Pour toute matrice A ∈ Rn×n , et pour tout


 > 0, il existe au moins une norme induite (dépendant de  et de A) telle que

kAk ≤ ρ(A) + .

4. Soit A une matrice carrée. Les conditions suivantes sont équivalentes :


i) limk→∞ Ak = 0,
ii) limk→∞ Ak x = 0 pour tout x,
iii) ρ(A) < 1,
iv) kAk• < 1 pour au moins une norme induite k.k• .

P quek la matrice I − A soit inversible est que ρ(A) < 1.


5. Une condition suffisante pour
Dans ce cas (I − A)−1 = ∞ k=0 A .
6. Pour toute matrice carrée A, et toute norme matricielle, induite ou non, on a

lim kAk k1/k = ρ(A).


k→+∞

Preuve 2.7 Démonstration.

1. Soit x un vecteur propre associé à une valeur propre λ de plus grand module, ρ(A).
Alors,

λxxT = AxxT et ρ(A)kxxT k = kλxxT k = kAxxT k ≤ kAkkxxT k.

Comme x 6= 0, xxT 6= 0 et ρ(A) ≤ kAk.


2. Par hypothèse, A = XDX −1 ou encore D = X −1 AX, où D = diag(λi ) est la matrice
diagonale des valeurs propres. On sait que

kDk∞ = max |λi | = ρ(A) (d´après le résultat de l´exemple 2.5).


i

kX −1 AXxk∞
Par définition, kDk∞ = maxx6=0 . On introduit ν(z) = kX −1 zk∞ .
kxk∞
On montre que ν est une norme (cf définition 2.1) :
– x 6= 0 ⇒ X −1 x 6= 0 car X est inversible.
De plus comme k.k∞ est une norme X −1 x 6= 0 ⇒ ν(x) > 0.
– ν(αx) = kX −1 αxk∞ = kαX −1 xk∞ . Or comme k.k∞ est une norme, kαX −1 xk∞ =
|α|kX −1 xk∞ = |α|ν(x)
– ν(x + y) = kX −1 (x + y)k∞ = kX −1 x + X −1 yk∞ .
Et kX −1 x + X −1 yk∞ ≤ kX −1 xk∞ + kX −1 yk∞ , donc ν(x + y) ≤ ν(x) + ν(y).
On en déduit, en posant y = Xx que kX −1 Ayk∞ = ν(Ay) et kxk∞ = kX −1 yk∞ =
ν(y), donc
kX −1 AXxk∞ ν(Ay)
ρ(A) = max = max .
x6=0 kxk∞ y6=0 ν(y)

La norme ν dépend de A par l’intermédiaire de X, la matrice des vecteurs propres


de A.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
19 Chapitre 2 : Normes de vecteurs et de matrices

3. Admis
4. i) ⇒ ii) Etant donné x, l’inégalité kAk xk ≤ kAk kkxk, montre que Ak x → 0
lorsque k → ∞, si kAk k → 0.
ii) ⇒ iii) Si ρ(A) ≥ 1, il existe un vecteur x tel que x 6= 0, Ax = λx, |λ| ≥ 1.
Puisque Ak x = λk x, kAk xk = |λk |kxk = |λ|k kxk ≥ kxk.
Donc limk→∞ kAk xk ≥ kxk = 6 0, ce qui est incompatible avec ii), donc ρ(A) < 1.

iii) ⇒ iv). C’est une conséquence du théorème de Householder-Ostrowski.


iv) ⇒ i) Il suffit d’appliquer d’appliquer kAk k• ≤ kAkk• (k.k• étant une norme
induite, c’est une norme sous-multiplicative) puisque kAk• < 1.
5. Si ρ(A) < 1 alors |λ| < 1 pour toute valeur propre λ de A. Donc 1 − λ 6= 0 : les
valeurs propres de I − A ne peuvent être nulles. I − A est donc inversible.
Considérons l’identité :

I − Ak+1 = (I − A)(I + A + · · · + Ak ).

Par multiplication par (I − A)−1 à gauche, on obtient :


k
X
(I − A)−1 − Ai = (I − A)−1 Ak+1 .
i=0

La propriété i) permet de conclure que (I−A)−1 Ak+1 → 0, c’est à dire k(I − A)−1 − ki=0 Ai k →
P
0 quand k → ∞.
D’autre part, si I − A est singulière, au moins une des valeurs propres de A est égale
à 1. Donc
1 ≤ ρ(A) ≤ kAk, ( pour toute norme matricielle.)

6. D’après la proposition 2.9, ρ(Ak ) = ρ(A)k ≤ kAk k, d’où, pour tout k, ρ(A) ≤
A
kAk k1/k . Soit  > 0 et A() = ρ(A)+ . Alors ρ(A()) < 1, et donc limk→∞ kA()k k = 0
d’après le 4.. Donc il existe N tel que k > N =⇒ kA()k k < 1. Comme kA()k k =
kAk k/(ρ(A) + )k , on obtient kAk k ≤ (ρ(A) + )k pour k > N . On a ainsi en
rassemblant les résultats, pour tout , il existe N tel que si k > N , on a ρ(A) ≤
kAk k1/k ≤ ρ(A) + , ce qui implique le résultat.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
20 Chapitre 2 : Normes de vecteurs et de matrices

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

Résolution de systèmes linéaires

3.1 Introduction
Ce chapitre est consacré à la présentation des techniques fondamentales d’analyse de
l’erreur pour la résolution de systèmes linéaires. Le conditionnement d’un problème est
notamment introduit comme un indicateur de la sensibilité de la solution à des perturba-
tions des données. L’autre notion, fort différente du conditionnement, qui intervient dans
l’analyse d’erreur est l’erreur inverse qui permet d’associer, à une solution approchée, une
perturbation des données, ce qui est très utile pour affirmer par exemple si une solution
est acceptable compte tenu des incertitudes connues sur les données.
Enfin est présentée la méthode reine de résolution d’un système linéaire : la factori-
sation de Gauss avec pivotage partiel. En raison de sa robustesse, notamment vis à vis
des erreurs dues à l’arithmétique des ordinateurs, cette méthode (ou la factorisation de
Cholesky, pour des matrices symétriques définies positives) est à employer chaque fois que
la taille du problème et la machine de calcul utilisée le permettent.

3.2 Sensibilité d’un système, qualité d’une solution


Soit à résoudre le système régulier de n équations à n inconnues

Ax = b (3.1)

c’est à dire calculer x = A−1 b. On suppose que les données du système A et b sont soumises
à des perturbations ∆A et ∆b. La perturbation ∆x résultante satisfait l’équation

(A + ∆A)(x + ∆x) = b + ∆b, avec Ax = b. (3.2)

Soit k . k2 le norme Euclidienne ou sa norme matricielle induite.

Proposition 3.1 Montrez qu’au premier ordre, on a l’inégalité


k∆xk2 −1 k∆Ak2 k∆bk2
 
≤ kAk2 A
2
+ .
kxk2 kAk2 kbk2

21
22 Chapitre 3 : Résolution de systèmes linéaires

Preuve 3.1 Démonstration.


Développons (3.2) au 1er ordre :

Ax + ∆Ax + A∆x + ∆A∆x = b + ∆b.

Le terme du 2ième ordre ∆A∆x est négligeable, il vient A∆x = ∆b − ∆Ax soit ∆x =
A−1 (∆b − ∆Ax). Puisque A est inversible, b 6= 0 implique x 6= 0 donc

k∆xk2 k∆bk2
 
−1

≤ A

2
k∆Ak2 + .
kxk2 kxk2

kAk2
Or b = Ax implique kbk2 ≤ kAk2 kxk2 , soit 1/ kxk2 ≤ . Par conséquent
kbk2

k∆xk2 −1 k∆Ak2 k∆bk2


 
≤ kAk2 A

2
+ .
kxk2 kAk2 kbk2

Puisque AA−1 = I, on déduit que A−1 2 kAk2 ≥ 1.


Proposition 3.2 Montrez qu’il possible d’obtenir le résultat de perturbation suivant, sans
au premier ordre, mais en supposant que la perturbation ∆A est bornée. Si
se placer
k∆Ak2 A−1 2 ≤ 1/2, on a

k∆xk2 −1 k∆Ak2 k∆bk2


 
≤ 2 kAk2 A 2 + .
kxk2 kAk2 kbk2

Preuve 3.2 Démonstration.


Partant de
Ax + ∆Ax + A∆x + ∆A∆x = b + ∆b,
on obtient A∆x = ∆b − ∆Ax + A∆x − ∆A∆x. En multipliant par A−1 , on obtient ∆x =
A−1 ∆b − A−1 ∆Ax − A−1 ∆A∆x , ce qui donne, en passant aux normes, et en utilisant
k∆Ak2 A−1 2 ≤ 1/2,

k∆xk2 k∆bk2 1 k∆xk2


 
−1

≤ A

2
k∆Ak2 + + .
kxk2 kxk2 2 kxk2

En utilisant kbk2 ≤ kAk2 kxk2 , on obtient finalement

k∆xk2 −1 k∆Ak2 k∆bk2


 
≤ 2 kAk2 A
2
+ .
kxk2 kAk2 kbk2
2
−1
Le coefficient A 2 kAk2 , appelé conditionnement de la matrice A, est le facteur
d’amplification des perturbations ∆A et ∆b sur les données A et b, en normes relatives.
Supposons à présent que l’on ait à notre disposition une approximation x̃ de x, obtenue
par exemple (mais pas nécessairement) sur un ordinateur.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
23 Chapitre 3 : Résolution de systèmes linéaires

Definition 3.3 On appelle erreur inverse associée à x̃ la quantité


1
η(x̃) = min (k∆Ak2 tels que (A + ∆A)x̃ = b) .
kAk2
Par analogie, l’erreur de calcul k∆xk2 / kxk2 = kx̃ − xk2 / kxk2 s’appelle aussi erreur di-
recte.
L’erreur inverse mesure (en norme relative) la distance du problème exact au problème
k∆Ak2
perturbé que x̃ résout exactement. Elle détermine la mesure relative de la per-
kAk2
turbation de A équivalente au calcul de la solution x̃. Si x̃ est le résultat d’un calcul sur
ordinateur, le calcul de x̃ est fiable si l’erreur inverse associée est de l’ordre de la précision
machine , soit
η(x̃) ∼ C,
où C est une constante pas trop grande, qui peut dépendre des données du problème (ici
A, b, n). Si de plus la matrice A et/ou le second membre b sont entachés d’erreur le calcul
de x̃ est fiable lorsque l’erreur inverse associée est de l’ordre de ces erreurs.
Proposition 3.4 Soit r = Ax̃−b le vecteur résiduel associé à x̃. Montrez qu’alors l’erreur
inverse en x̃ est déterminée par la formule
krk2
η(x̃) = .
kAk2 kx̃k2
Montrez que si η(x̃) kAk2 A−1 2 ≤ 1/2 on a

k∆xk2
≤ 2 kAk2 A−1 2 η(x̃).

kxk2
Preuve 3.3 Démonstration.
krk2
On pose θ = . Puisque (A + ∆A)x̃ = b, ∆Ax̃ = r et krk2 ≤ k∆Ax̃k2 ≤
kAk2 kx̃k2
k∆Ak2 kx̃k2 . Donc
krk2 k∆Ak2
θ= ≤ quel que soit ∆A.
kAk2 kx̃k2 kAk2
On a donc θ ≤ η(x̃). Montrons que la borne inférieure θ peut être atteinte par une pertur-
bation particulière δA de A. On choisit
rx̃T
δA = − .
kx̃k22
rx̃T
On vérifie que (A + δA)x̃ = b, soit Ax̃ − x̃ = b, qui est une identité.
T T kx̃k22
Et rx̃ 2 = maxy6=0 r(x̃ y) 2 / kyk2 = krk2 maxy6=0 |x̃T y|/ kyk2 = krk2 kx̃k2 par l’inégalité
de Cauchy. Donc
kδAk2 krk2 kx̃k2
= = θ.
kAk2 kAk2 kx̃k22
On conclut que θ = η(x̃).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
24 Chapitre 3 : Résolution de systèmes linéaires

L’erreur dans le calcul s’exprime par :

erreur directe ≤ conditionnement × erreur inverse en x̃


↓ ↓
problème algorithme de calcul
mathématique en précision finie

Si l’erreur directe est grande, cela peut être dû au problème à résoudre (conditionnement
grand) et/ou à l’algorithme (grande erreur inverse). Le rôle de l’erreur inverse est de
permettre de distinguer dans l’erreur directe entre le facteur dû au problème
et le facteur dû à l’algorithme.

3.3 Résolution par factorisation A = LU


A est une matrice rectangulaire de Rm×n . Ak désigne la sous-matrice principale A
d’ordre k, k = 1, . . . min(m, n).
L ∈ Rm×m dénote une matrice triangulaire inférieure (carrée) à éléments diagonaux égaux
à 1. U ∈ Rm×n désigne une matrice triangulaire supérieure rectangulaire : uij = 0 si i > j.

Exercice 3.1 Appliquer l’algorithme du pivot vu dans les classes antérieures à la matrice
 
1 4 7
A= 2 5 8 
3 6 11

Preuve 3.4 Démonstration. On part de


 
1 4 7
A =  2 5 8 .
3 6 11

En utilisant 2 comme pivot pour la deuxième ligne et 3 pour la troisième ligne, on obtient
 
1 4 7
 0 −3 −6  .
0 −6 −10

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
25 Chapitre 3 : Résolution de systèmes linéaires

On note que   
1 0 0 1 4 7
A =  2 1 0   0 −3 −6  .
3 0 1 0 −6 −10
En utilisant 2 comme pivot dans la troisième ligne, on obtient
 
1 4 7
 0 −3 −6  .
0 0 2

On note que
      
1 0 0 1 0 0 1 4 7 1 0 0 1 4 7
A =  2 1 0   0 1 0   0 −3 −6  =  2 1 0   0 −3 −6  ,
3 0 1 0 2 1 0 0 2 3 2 1 0 0 2

et que la matrice triangulaire inférieure contient les multiplicateurs.

3.3.1 Transformation de Gauss, factorisation de Gauss A = LU


Definition 3.5 Soit k un entier et

τ =( 0 . . . 0, tk+1 , . . . , tm )T ∈ Rm
k

Soit ek le kième vecteur de la base canonique de Rm . La matrice de transformation de


Gauss associé à τ est la matrice carrée d’ordre m Gτ = Im − τ eTk .

Proposition 3.6 1. Action de Gτ sur une matrice A ∈ Rm×n .


Soient τ = ( 0 . . . 0, tk+1 , . . . , tm )T ∈ Rm et B = Gτ A ∈ Rm×n . Les k premières
lignes de B sont égales à celles de A, et que la ligne j de B, avec k < j ≤ m est
obtenue en retranchant à la jème ligne de A tj fois la kème ligne de A.
2. Soit τ = ( 0 . . . 0, tk+1 , . . . , tm ) ∈ Rm et j ≤ k, alors (I − τ eTj )−1 = I + τ eTj .

(j) (j)
3. Soient τj = ( 0 . . . 0, tj+1 , . . . , tm ∈ Rm . Alors

n−1
−1 X
(I − τn−1 eTn−1 ) . . . (I − τ1 eT1 ) τj eTj

=I+
j=1

est triangulaire inférieure.

Preuve 3.5 Démonstration.


1. La démonstration de cette propriété est purement calculatoire.
2. On utilise que (I − τ eTj )(I + τ eTj ) = I − τ eTj τ eTj et eTj τ = 0 pour j ≤ k.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
26 Chapitre 3 : Résolution de systèmes linéaires

3. En effet, d’après le (2),


−1
(I − τn−1 eTn−1 ) . . . (I − τ1 eT1 ) = (I + τ1 eT1 ) . . . (I + τn−1 eTn−1 ),


or si i < j, τi eTi τj eTj = 0 car alors eTi τj = 0, et en développant (I + τ1 eT1 ) . . . (I +


τn−1 eTn−1 ) on obtient I + n−1 T
P
j=1 τj ej .
Pn−1
On constate que la matrice L = I + j=1 τj eTj est triangulaire inférieure et que si
(j)
i = j, lij = 1 alors que si i > j, lij = ti .

Proposition 3.7 Si les Ak sont inversibles pour k = 1 . . . s = min(m − 1, n), il existe L


et U telles que A = LU . De plus, ukk = detAk /detAk−1 . L’algorithme ci-dessous réalise
3
cette tâche en 2 n3 opérations si A ∈ Rn×n .

Preuve 3.6 On construit une suite de matrices (A(k) , k = 1 . . . s) telle que A(0) = A.
(k)
Supposons construites A(0) , . . . , A(k−1) , et supposons que akk 6= 0. Soit

(k) (k)
!T
(k)
ak+1k amk
τ = 0, . . . 0, (k)
,...,..., (k)
akk akk

D’après la proposition 3.6, A(k) = I − τ (k) eTk A(k−1) a tous ses éléments sous-diagonaux


de la colonne k nuls. Donc par construction de la suite (A(k) , k = 1 . . . s), A(s) = U est
une matrice triangulaire supérieure et on a
   
U = I − τ (s) eTs . . . I − τ (1) eT1 A.

D’après la proposition 3.6, la matrice


s
X
L=I+ τj eTj
j=1

est triangulaire inférieure et vérifie A = LU.


(k)
A présent, montrons que si les Ak sont inversibles, on a bien akk 6= 0. Sinon, pour
(l)
1 ≤ l ≤ s, all = 0, alors si C (l) est la sous-matrice principale d’ordre l de A(l) , comme par
constuction de la suite de matrices A(k) , C (l) est triangulaire supérieure (tous les éléments
(l) (l)
sous-diagonaux ont été annulés jusqu’à la colonne l de A(l) ), et que all = cll = 0, alors
(l) (l) (l)
la dernière ligne de C est nulle et donc rg(C ) < l . Or on sait que A a été obtenue
en remplaçant une ligne de A par cette ligne moins une combinaison linéaire des lignes
précédentes, ce qui préserve le rang, donc rg(C (l) ) = rg(Al ) < l. Or par hypothèse du
théorème, Al est inversible et donc de rang l, d’où contradiction.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
27 Chapitre 3 : Résolution de systèmes linéaires

Algorithme de factorisation de Gauss (sans pivotage)


Pour k = 1 à s = min(m − 1, n)
si akk = 0 alors exit
sinon
w := ak,k+1:n
pour i = k + 1 à m
aik := aik /akk
η := aik
ai,k+1:n := ai,k+1:n − ηw .
finpour
finsi
finpour
Un système triangulaire d’ordre n se résout par substitution en n2 opérations. Ainsi la
résolution de Ax = b lorsque A = LU se fait par
Ly = b et U x = y.

3.4 Rôle du pivotage


Exemple 3.8 Considérons le système
10−5 x +

y = 1
.
x + y = 2
A cause du petit coefficient 10−5 , il est clair que la solution doit être proche de x = y = 1. (1)
Supposons que l’on résolve ce système sans pivotage avec une arithmétique à 4 chiffres. Quelle
solution obtient-on ? (2) Avec pivotage maintenant. On échange les deux équations, soit

x + y = 2
.
10−5 x + y = 1
Quelle solution obtient-on ? Calculez dans les deux l’erreur inverse associée.

(1) Par soustraction, il vient (1−105 )y = 2−105 . Or dans une arithmétique à quatres chiffres,
les quantités 1 − 105 et 2 − 105 se représentent par −105 , donc 105 y = 105 , soit y = 1. Mais
alors 10−5 x + 1 = 1 implique x = 0 (très différent de 1 !).
(2) On échange les deux équations, soit

x + y = 2
.
10−5 x + y = 1
Donc (1 − 10−5 ) y = 1 − 2 10−5 entraı̂ne encore y = 1. Mais cette fois-ci x + 1 = 2 implique
x = 1. Le seul fait de pivoter a remplacé un résultat faux par un résultat satisfaisant.
– Calculons en effet l’erreur inverse associée à chaque solution :
10−5 1
q  
kAk2 = T
ρ(A A) avec A =
1 1

1 + 10−5 + 5 − 2 10−5 + 10−10
=
2
' 1.61

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
28 Chapitre 3 : Résolution de systèmes linéaires

 
0
Pour z1 = (0, 1)T , r1 = Az1 − b = et donc
1

kr1 k2 1
η(z1 ) = = ' 6.2 10−1
kAk2 kz1 k2 kAk2

10−5
 
T
Pour z2 = (1, 1) , r2 = Az2 − b = et donc
0

kr2 k2 10−5
η(z2 ) = =√ ' 4.4 10−6
kAk2 kz2 k2 2 kAk2

Or sur une arithmétique à 4 chiffres décimaux correspond à une précision machine Ψ =


10−4+1 = 10−3 . Seule l’erreur inverse η(z2 ) est de l’ordre de 10−3 .

L’algorithme suivant réalise une factorisation de Gauss avec pivotage :

Algorithme de factorisation de Gauss avec pivotage partiel


Pour k = 1 à n − 1
déterminer p ∈ {k, . . . , n} tel que |apk | = max |aik |
k≤i≤n
rk := p
échanger ak,1:n et ap,1:n
w := ak,k+1:n
pour i = k + 1 à n
aik := aik /akk
η := aik
ai,k+1:n := ai,k+1:n − ηw
finpour
finpour

Propriété 3.9 L’algorithme ci-dessus détermine pour toute matrice A carrée inversible,
une matrice de permutation P = Pn−1 . . . P1 telle que P A = LU
(l)
Preuve 3.7 Démonstration. Admise. Si à la lième étape, all = 0 alors, il existe un
(l)
indice de ligne i > l tel que ail 6= 0, sinon les éléments de A(l) en dessous de la l −
1ième ligne seraient nuls. Donc A(l) serait non inversible, et comme nous avons vu que les
transformations de Gauss conservaient le rang, A serait non inversible, ce qui est exclu.
Soit alors B (l) = Pil A(l) où Pil échange les lignes i et l. Si on pose

(l) (l)
!T
(l)
bl+1l bnl
τ = 0, . . . 0, (l)
,..., (l)
,
bll bll

alors les coefficients sous-diagonaux de A(l+1) = (I − τ (l) eTl )B (l) sont non nuls jusqu’à
la colonne l. On a ainsi construit une suite de matrices A(k) telles que A(n) = U . Soit

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
29 Chapitre 3 : Résolution de systèmes linéaires

Mj = (I − τ (j) eTj ). Alors U = Mn−1 Pn−1 . . . M1 P1 A, où les Pi sont des matrices de
permutations échangeant la ligne i avec une ligne d’indice supérieur où égal. Soit à présent
fj = Pn−1 . . . Pj+1 Mj Pj+1 . . . Pn−1 , pour j ≤ n − 2 et M
M fn−1 = Mn−1 . Comme pour tout
j, Pj Pj = I, alors
M
fn−1 . . . M
f1 Pn−1 . . . P1 A = U.
Posons P = Pn−1 . . . P1 . Calculons à présent Mfj pour j = 1 . . . n − 1 :

M
fj = Pn−1 . . . Pj+1 (I − τ (j) eTj )Pj+1 . . . Pn−1
= I − Pn−1 . . . Pj+1 τ (j) eTj Pj+1 . . . Pn−1

Or pour tout l tel que l > j, eTj Pl = eTj car la sous-matrice principale d’ordre j de Pl
est l’identité. Donc M fj = I − Pn−1 . . . Pj+1 τ (j) eT , ce qui correspond à une transformation
j
de Gauss. Ainsi P A = LU , avec L = I + Pn−1 . . . P2 (τ (1) eT1 ) + Pn−1 . . . P3 (τ (2) eT2 ) +
. . . τ (n−1) en−1 et P = Pn−1 . . . P1 .
2
Il existe deux stratégies de pivotage :
i) nous avons considéré le pivotage partiel où seul l’ordre des équations peut être
modifié,
ii) le pivotage total où l’ordre des équations et celui des variables peut être modifiés.
L’algorithme ci-dessous détermine des matrices de permutation P = Pn−1 . . . P1 et Π =
Π1 . . . Πn−1 telles que P AΠ = LU .
Algorithme de factorisation de Gauss avec pivotage total
Pour k = 1 à n − 1
déterminer p et q ∈ {k, . . . , n} tels que |apq | = max k≤i≤n |aij |
k≤j≤n
rk := p
ck := q
échanger ak,1:n et ap,1:n
échanger a1:n,k et a1:n,q
w = ak,k+1:n
pour i = k + 1 à n
aik := aik /akk
η := aik
ai,k+1:n := ai,k+1:n − ηw
finpour
finpour

Definition 3.10 On appelle facteur de croissance de la factorisation de Gauss la quantité

|ãij |(k)
ρn = max
i,j,k kAk∞
 
(k)
où Ã(k) est la version calculée de A(k) = aij à l’étape k de la factorisation.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
30 Chapitre 3 : Résolution de systèmes linéaires

Dans la méthode d’élimination de Gauss utilisée pour résoudre Ax = b, on ne calcule


pas explicitement la matrice L. En effet A = LU équivaut à L−1 Ax = U x = L−1 b = y.
Il suffit donc de déterminer U et le vecteur y = L−1 b, ce qui est l’objet de l’algorithme
d’élimination de Gauss. Il suffit d’appliquer l’algorithme de la factorisation de Gauss à la
matrice rectangulaire n × (n + 1) formée de [A, b] et de ne pas stocker la matrice triangu-
laire inférieure L. La matrice triangulaire supérieure de taille n × (n + 1) résultante est
simplement [U, y].

Théorème 3.11 (Wilkinson) Pour toute matrice carrée d’ordre n, l’erreur inverse, en-
gendrée sur un ordinateur (précision ) par l’algorithme de Gauss avec pivotage partiel
(ou total) satisfait
k∆Ak∞ ≤ 8 n3 ρn kAk∞  + O(2 ).

Autrement dit, la solution calculée x̃ est solution exacte du système (A + ∆A)x = b.

Démonstration. Admise

Exemple 3.12 Pour la matrice de Wilkinson de taille 5,


 
1 0 0 0 1

 −1 1 0 0 1 

W =
 −1 −1 1 0 1 

 −1 −1 −1 1 1 
−1 −1 −1 −1 1

La factorisation de Gauss avec pivotage partiel appliquée à W conduit successivement aux matrices
suivantes :
     
1 0 0 0 1 1 0 0 0 1 1 0 0 0 1

 0 1 0 0 2 


 0 1 0 0 2 


 0 1 0 0 2 


 0 −1 1 0 2 ,


 0 0 1 0 4 ,


 0 0 1 0 4  et

 0 −1 −1 1 2   0 0 −1 1 4   0 0 0 1 8 
0 −1 −1 −1 2 0 0 −1 −1 4 0 0 0 −1 8
 
1 0 0 0 1
 0 1 0 0 2 
 où 16 = 24 .
 

 0 0 1 0 4 
 0 0 0 1 8 
0 0 0 0 16

On peut montrer que l’élimination de Gauss appliquée à une matrice de cette forme et de taille n
conduit à un facteur de croissance de 2n−1 .

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
31 Chapitre 3 : Résolution de systèmes linéaires

Exemple 3.13 Soit Wn la matrice de Wilkinson de taille n


1 0 ··· 0 1
 
.. .. ..
.
 
 −1 1 . .
 .. ..
 
.. .. 
 .
Wn =  . . 0 .
 avec α = 0.9.
 ..

.. 
 .
 . 1 1 

−1 ··· ··· −1 α
On considère b = (1, . . . , 1)T , alors la solution exacte est x défini par
1−α

 xi = −2i−1
 pour i = 1 . . . n − 1
i−1
∆ ,
 xn = 2


avec ∆ = 2n−1 − 1 + α.
On applique à ce système les algorithmes de Gauss avec pivotage partiel et total, pour
différentes

valeurs de n. Les résultats sont résumés dans le tableau ci-dessous, où K = kAk2 A−1 2 , R =
R kx − x̃k2
kAx̃ − bk2 , EI = représente l’erreur inverse et ED = l’erreur directe.
kAk2 kx̃k2 kxk2
Pivotage partiel Pivotage total
n K R EI ED R EI ED
10 4.45 4.2 10−14 6.8 10−15 2.4 10−14 6.7 10−16 1.1 10−16 1.0 10−16
20 8.89 4.7 10−12 3.7 10−13 2.7 10−12 0 0 6.5 10−17
30 13.6 2.4 10−08 1.3 10−09 1.4 10−08 2.2 10 −16
1.2 10 −17
7.8 10−17
40 18.1 2.4 10−05 9.7 10−07 1.4 10−05 6.8 10 −16
2.8 10 −17
7.8 10−17
50 22.7 2.5 10−02 7.9 10−04 1.4 10−02 2.2 10 −16
7.0 10 −18
7.8 10−17
Il apparaı̂t très clairement que sur cette matrice, dès n = 30, il est nécessaire d’utiliser une stratégie
de pivotage total pour que le calcul soit fiable et donne une solution proche de la solution exacte du
système. Rappelons néanmoins que dans la plupart des cas, le pivotage partiel suffit pour obtenir
un calcul fiable.
4

3.5 Factorisation de Cholesky d’une matrice symétrique définie


positive
Proposition 3.14 Supposons que A = C2 C2T = C1 C1T , où les Ci sont deux matrices
carrées triangulaires inférieures à éléments diagonaux strictement positifs, alors C1 = C2 .
Preuve 3.8 Démonstration. On part de C2 C2T = C1 C1T et ainsi (C1−1 C2 )−T = C1−1 C2 .
On vérifie que l’inverse d’une matrice triangulaire inférieure est triangulaire inférieure, et
la matrice T = C1 C2−1 est donc une matrice triangulaire inférieure à éléments diagonaux
positifs qui vérifie T −T = T . Or comme T est triangulaire inférieure, T −1 l’est aussi et
T −T est triangulaire inférieure. D’après l’égalité T −T = T , on conclut que T est diagonale
(et donc réelle) ; le ième coefficient diagonal tii > 0 de T vérifie tii = t−1ii , c’est à dire
−1
tii = 1. Ainsi T est la matrice identité, I, et C1 C2 = I, d’où C1 = C2 .

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
32 Chapitre 3 : Résolution de systèmes linéaires

Proposition 3.15 Toute matrice A symétrique définie positive admet une factorisation
de Cholesky A = C T C obtenue grâce à l’algorithme de Cholesky qui coûte n3 /3 opérations
flottantes.

Preuve 3.9 Démonstration. Réglons tout de suite le cas de l’unicité de la décomposition :


Si A = C1 C1T = C2 C2T , alors en utilisant la proposition 3.14, on déduit que C1 = C2 .
En ce qui concerne l’existence, on la traite par récurrence sur l’ordre de la matrice A. Si
n = 1, A = (a11 ) et comme A est définie positive, a11 > 0 et on peut choisir pour C la
matrice (a11 1/2 ). Supposons que pour toute matrice hermitienne définie positive de rang
inférieur à n, la factorisation de Cholesky existe. Soit

α lT
 
A=
l Ae

une matrice Hermitienne définie positive d’ordre n. On cherche C triangulaire inférieure


de la forme
 
β 0
C= .
m B
Soit
β mT
 
T
C = .
0 BT

L’égalité CC T = A implique alors



 ββ = α
βm = l, .
mmT + BB T = A.
 e

Comme A est définie positive, pour tout x 6= 0 de Rn , xT Ax > 0 et donc en prenant pour
x le premier vecteur de la base canonique, on obtient que eT1 Ae1 = α > 0. L’équation

|β|2 = α > 0 permet de choisir β = α positif et m = l/β. Il reste à trouver B telle que
BB T = A e − mmT = D. Il suffit d’appliquer l’hypothèse de récurrence à D qui est d’ordre
n − 1, et qui est, comme nous allons le montrer, hermitienne définie positive.
En effet DT = D, car D = A e − mmT où A e et mmT sont hermitiennes.

 T  
1 lT x 
α l
 lT x
T T e T
x Dx = x (A − ll )x =  −  − α 
α α 
lT A
x x
e
 T  
lT x lT x
=  − α  A − α .
x x

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
33 Chapitre 3 : Résolution de systèmes linéaires

 
lT x
Soit x ∈ Rn−1 non nul, et y =  − α  non nul dans Rn . Donc comme A est définie
x
positive, pour tout y non nul de R , y T Ay > 0 et donc xT Dx > 0. La matrice D hermi-
n

tienne définie positive d’ordre n−1 admet le facteur de Cholesky B triangulaire inférieure à
diagonale positive telle que BB T = D. C est donc aussi triangulaire inférieure à diagonale
positive.

Proposition 3.16 Soit A une matrice définie positive. Montrez parq identification dans
T
Pi−1 Pi−1
l’équation A = CC que, pour k ≥ i cki cii = aik − p=1 cip ckp et cii = aii − p=1 cip cip .
Et en déduire un algorithme de calcul de C.

Preuve 3.10 Démonstration. Le terme (i, k) de


    
c11 0 0 ... 0 c11 c21 c31 . . . cn1 a11 a21 a31 . . . an1
 c21 c22 0 . . . 0   0 c22 c32 . . . cn2   a21 a22 a32 . . . an2 
    
 c31 c32 c33 . . . 0   0 0 c33 . . . cn3 a31 a32 a33 . . . an3
=
  
  
 .. .. .. . . ..   .. .. .. . . ..   .. .. .. .. .. 
 . . . . .  . . . . .   . . . . . 
cn1 cn2 cn3 . . . cnn 0 0 0 . . . cnn an1 an2 an3 . . . ann

vérifie aik = ip=1 cip ckp , d’où l’on tire, pour k ≥ i, cki cii = aik − i−1
P P
q p=1 cip ckp et ckk =
Pi−1
akk − p=1 ckp ckp .

Algorithme de la factorisation de Cholesky


Pour i = 1qà n
Pi−1 2
cii := (aii − p=1 cip )
Pour k = i + 1 à n
Pi−1
cki := (aik − p=1 cip ckp )/cii
finpour
finpour

On factorise A = C T C, et la solution de Ax = b s’obtient par



T Cy = b
CC x = b ⇐⇒
C T x = y.

Théorème 3.17 Si on utilise l’algorithme de Cholesky sur un ordinateur (précision )


pour résoudre Ax = b, alors soit l’algorithme s’arrête, soit il produit une solution x̃ qui
est solution exacte du système perturbé (A + ∆A)x̃ = b. On a
1. k∆Ak2 ≤ cn  kAk2

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
34 Chapitre 3 : Résolution de systèmes linéaires

2. Si qn kAk2 A−1 2  ≤ 1 alors pas d’arrêt, où qn est un polynôme de faible degré en

n.

Démonstration. Admise

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

Résolution de problèmes aux


moindres carrés

4.1 Introduction
Ce chapitre concerne la résolution du problème de moindres carrés linéaires. Comme
pour le cas des systèmes linéaires, des outils fondammentaux d’analyse d’erreur seront
présentés.
Les deux méthodes, basées sur des factrorisations matricielles, les plus utilisées en
pratique seront décrites : la méthode des équations normales et la méthode de la factori-
sation QR. Ces deux méthodes seront comparées du point de vue de leur coût en nombre
d’opérations et de leur précision.
Nous allons voir dans un premier temps, un exemple de problème de moindres carrés
linéaires représentatif de la classe des problèmes d’estimation de paramètres.

4.2 Généralités
Dans ce chapitre, A ∈ Rm×n , b ∈ Rm , et m ≥ n. Dans de nombreuses applications,
on cherche à calculer x̂ tel que Ax̂ approche b au sens des moindres carrés, c’est à dire

kAx̂ − bk2 = min(kAx − bk2 , x ∈ Rn ).

On dit alors que x̂ est une solution du problème de minimisation

P : minn kAx − bk2 .


x∈R

Exemple 4.1 Problème d’estimation de paramètres. On recherche un paramètre x. Un


dispositif permet de réaliser des mesures ỹi aux instants ti , i = 1, . . . m. On suppose
que sous certaines hypothèses (pas d’erreurs de mesure, physique suit une loi donnée,
des modèles sont linéaires), les mesures devraient théoriquement suivre une loi linéaire
yi = Ai x. En cherchant à minimiser l’écart entre les mesures réelles ỹi et les mesures
théoriques yi , formuler la recherche de x sous la forme d’un problème de moindres carrés

35
36 Chapitre 4 : Résolution de problèmes aux moindres carrés

linéaires. Un mobile est en chute libre rectiligne sous l’action seule de l’accélération de
pesanteur ẍ = −g. On suppose donc la vitesse initiale suivant la verticale (trajectoire
rectiligne), et on dispose de mesures de sa position aux instants ti , i = 1, . . . m. Formulez
l’estimation de la position initiale (t = 0)x0 , de la vitesse initiale x˙0 et de g sous la forme
d’un problème de moindres carrés.

Preuve 4.1 Démonstration : L’équation de la trajectoire est x(t) = − 21 gt2 + x˙0 t + x0 . On


note x̃i la position mesurée a l’instant ti . Soit A ∈ Rm×3 , telle que
 1 2   
− 2 t1 t1 1 x̃1
A=
 .. .. ..  et soit b =  ..  ,
. . .   . 
− 12 t2m tm 1 x̃m
Pm
on a alors i=1 (xi − x̃i )2 = kAv − bk22 , où v = [g, x˙0 , x0 ]T .

Proposition 4.2 Le problème P admet toujours au moins une solution. Une condition
nécessaire et suffisante pour que x̂ soit solution de P est que x̂ soit solution de l’équation
normale
AT Ax = AT b. (4.1)
La solution x̂ est unique si et seulement si A est de rang maximal n. Dans ce cas AT A est
définie positive. Réaliser une interprêtation géométrique de ce résultat en faisant intervenir
sur un croquis Im(A) et b − Ax.

Preuve 4.2 Démonstration : Nous faisons la démonstartion dans le cas réel (A, b sont
réels et la solution chercheée x est réelle). Le cas complexe s’obtient par séparation des par-
ties réelles et imaginaires dans kAx − bk2 . Soit r(x) = b − Ax. 1) Montrons que l’équation
normale (4.1) admet toujours une solution. D’après la proposition 1.2, Im(AT ) = Im(AT A).
Donc comme y = AT b ∈ Im(AT ), y ∈ Im(AT A), et donc il existe x tel que y = AT Ax =
AT b. 2) En utilisant

r(x)T r(x) = r(x̂)T r(x̂) − 2r(x̂)T A(x − x̂) + (x − x̂)T AT A(x − x̂), (4.2)

on obtient que si x̂ satisfait (4.1), alors kr(x)k2 ≥ kr(x̂)k2 (puisque AT A est semi-définie
positive).
Réciproquement, soit x1 qui minimise r(x). Soit x̂ une solution de léquation normale.
Alors AT r(x̂) = 0 et donc on a r(x1 )T r(x1 ) = r(x̂)T r(x̂) = r(x̂)T r(x̂) − 2r(x̂)T A(x1 −
x̂) + (x1 − x̂)T AT A(x1 − x̂) = r(x̂)T r(x̂) + (x1 − x̂)T AT A(x1 − x̂) Ceci n’est possible
que si kA(x1 − x̂)k2 = 0 donc x1 − x̂ ∈ Ker(A) = Ker(AT A). Mais alors, AT A(x1 ) =
AT A(x̂ + x1 − x̂) = AT Ax̂ = AT b.
Enfin, d’un point de vue mathématique, résoudre le problème de moindres carrés est
équivalent à résoudre l’équation normale associée. Cette équation admet une unique so-
lution ssi AT A a un noyau réduit au vecteur nul, ce qui est équivalent par la formule du
rang sur A à n = 0 + rg(A). Cette condition entraı̂ne que AT A est définie positive.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
37 Chapitre 4 : Résolution de problèmes aux moindres carrés

Soit A ∈ Rm×n où m et n sont quelconques, une  matricede rang r. La matrice A


Σr 0 r
peut s’écrire sous la forme A = U ΣV T avec Σ = 0 0 m − r ∈ Rm×n . où
r n−r
les matrices U ∈ R m×m et V ∈ R n×n sont des matrices orthogonales (U T U = Im et
T
V V = In ) et Σr est la diagonale des valeurs singulières de A. Ces valeurs singulières
sont strictement positives et Σr est une matrice d’ordre r inversible. Cette décomposition
de A est la décomposition en valeurs singulières de A.

Proposition 4.3 Soit A ∈ Rm×n de rang r < min(n, m). Il existe des matrices unitaires
U ∈ Rm×m et V ∈ Rn×n telles que :
 
T Σr 0 r
U AV =
0 0 m−r
r n−r

où Σr = diag (σ1 , . . . , σr ), avec 0 < σr ≤ · · · ≤ σ1 .

Preuve 4.3 Démonstration : Comme A est de rang r, la matrice symétrique AT A possède


exactement r valeurs propres positives (distinctes ou non). Donc les valeurs propres de
AT A sont :
σ12 ≥ · · · ≥ σr2 > 0 = σr+1
2
= · · · = σn2 .
Comme AT A est diagonalisable dans une base orthonormale, on peut choisir dans Rn une
base orthonormale formée de vecteurs propres associés aux valeurs propres σi2 , i = 1, . . . , n
prises dans cet ordre.
Cette base définit une matrice unitaire V que l’on décomposé en [V1 , V2 ], où V1 ∈ Rn×r est
la matrice des vecteurs propres associés aux r valeurs propres positives σi2 . La matrice V2
vérifie donc AT AV2 = 0 et AV2 = 0 car Ker(AT A) =Ker(A).
Alors  T T
V1 A AV1 V1T AT AV2
  2 
T T Σr 0
V A AV = = .
V2T AT AV1 V2T AT AV2 0 0
On pose U1 = AV1 Σ−1 r , soit AV1 = U1 Σr .
V1T AT AV1 = Σ2r implique U1T U1 = I. On choisit U2 tel que U = [U1 , U2 ] soit unitaire.
Pour cela on complète la base U1 via le théorème de la base incomplète, puis on utilise
le procédé d’orthonormalisation de Gram-Schmidt sur les vecteurs rajoutés comme vu aux
théorèmes ?? et 1.4. Alors :
 T   T
U1 AV1 U1T AV2
  
T U1 Σr 0
U AV = A[V1 V2 ] = = .
U2T U2T AV1 U2T AV2 0 0
2
Σ−1
 
r 0 r
On pose Σ+ = 0 0 n−r ∈ Rn×m .
r m−r

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
38 Chapitre 4 : Résolution de problèmes aux moindres carrés

Definition 4.4 Soit A ∈ Rm×n , où m et n sont quelconques. On appelle pseudo-inverse


de A la matrice définie par A+ = V Σ+ U T .

Proposition 4.5 Soit A ∈ Rm×n , où m et n sont quelconques. La pseudo-inverse A+ de


A est l’unique solution X des équations de Moore-Penrose


 XAX = X
AXA = A


 (AX)T = AX
(XA)T = XA.

La pseudo-inverse de A est quelquefois appelée Moore-Penrose inverse de A.

Preuve 4.4 Démonstration : Une vérification élémentaire montre que A+ définie par la
décomposition en valeurs singulière vérifie les équations de Moore-Penrose. Supposons à
présent que Xi = 1, 2 vérifient ces équations. Alors XiT = XiT AT XiT = (AXi )T XiT =
AXi XiT . Donc Im(X1T − X2T ) ⊂ Im(A). De plus, AT = AT XiT AT = (Xi A)T AT = Xi AAT ,
donc (X1 − X2 )AAT = 0 et donc Im(X1T − X2T ) ⊂ Ker(AAT ) = Ker(AT ) (d’après la
proposition 1.2). On obtient donc Im(X1T − X2T ) ⊂ Im(A) ∩ Ker(AT ). Or si x ∈ Im(A) ∩
Ker(AT ), x = Az et AT Az = 0, ainsi z T AT Az = 0, d’où kAzk2 = 0 et donc x = Az = 0.
Donc Im(A) ∩ Ker(AT ) = {0} et X1 = X2 .

Proposition 4.6 Si A est de rang maximal n, alors

A+ = (AT A)−1 AT et x̂ = A+ b.

Si de plus m = n, alors A−1 = A+ .

Preuve 4.5 Démonstration: Soitla décomposition en valeurs singulières de A de rang


Σn
n : A = U ΣV T avec Σ = , où Σn est une diagonale positive d’ordre n. Alors
0
AT A = V ΣT ΣV T , et  
T
 Σn
Σ Σ = Σn 0 = Σ2n .
0
Donc
(AT A)−1 AT = V (Σ2n )−1 ΣT U T .
Mais
(Σ2n )−1 ΣT = (Σ2n )−1 Σ−1
 
Σn 0 = n 0 ,
Donc (AT A)−1 AT = V Σ+ U T = A+ .
De plus d’après (4.1), x̂ = (AT A)−1 AT b, ainsi, x̂ = A+ b.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
39 Chapitre 4 : Résolution de problèmes aux moindres carrés

4.3 Algorithmes de résolution


La proposition 4.6 laisse penser qu’il est possible de résoudre le problèmes de moindres
carrés en calculant une décomposisiton en valeurs singulière. Cependant il s’avère que
cette technique est trop couteuse pour les problèmes de grande taille. Nous présentons des
méthodes qui ont des variantes adaptés a ces problèmes exigeants.
Soit A ∈ Rm×n , où m ≥ n de rang maximal n. Nous avons vu deux types de facto-
risations QR de la matrice A. La factorisation de Gram-Schmidt et ses variantes permet
d’écrire A = Q1 R, avec Q1 orthogonale (QT1 Q1 = In ) et R est triangulaire supérieure à
éléments diagonaux positifs. Les factorisations de Householder  (voir
 Section 4.6.1) ou de
R
Givens (voir Section 4.6.2) permettent d’écrire A = [Q1 , Q2 ] , où O ∈ R(m−n)×n est
O
la matrice nulle, Q ∈ Rm×m est orthogonale et Q1 ∈ Rm×n et R sont en arithmétique
exacte les mêmes matrices que celles obtenue par l’algorithme de Gram-Schmidt.

Proposition 4.7 Le facteur R de la factorisation QR de A ∈ Rm×n , ( où m ≥ n et


rg(A) = n) est inversible.

Preuve 4.6 La matrice R est inversible puisque Rx = 0 est équivalent à 0 = kRxk22 =


xT RT Rx = xT RT QT1 Q1 Rx = X T AT Ax = kAxk22 , ce qui signifie que x ∈ Ker(A). La
formule du rang sur A montre que dim(KerA) = {0} d’où x = 0. Donc KerR = {0} et R
est inversible.

L’équation AT Ax = AT b peut s’écrire RT QT1 Q1 Rx = RT Rx = AT b = RT QT1 b. L’in-


versibilité de R entraı̂ne que Rx = QT1 b. Nous disposons donc de deux systèmes linéaires
dont x̂ est solution :
AT Ax = AT b et Rx = QT1 b.

Normal equation method (cost : mn2 + n3 /3 flops)


1. Compute C = AT A and d = AT b
2. Compute de Cholesky factor R of AT A :
the normal equations read RT Rx = d
3. Solve in y the triangular system RT y = AT b
4. Solve in x the triangular system Rx = y

2 3
(Householder, Givens) QR method
  (cost : 2mn − 2n /3 flops)
R
1. Factorize A = [Q1 , Q2 ]
O
2. Compute QT1 b and solve Rx = QT1 b

Les deux approches (équations normales, QR) fourniraient bien sûr très précisément la
même solution en arithmétique exacte. En revanche en présence d’erreurs d’arrondis, elles
se comportent de manière très différente, comme nous allons le voir dans le paragraphe
suivant.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
40 Chapitre 4 : Résolution de problèmes aux moindres carrés

4.4 Comparaison de la méthode QR à la méthode des équations


normales
En ce qui concerne le nombre d’opérations, si m domine n, la méthode QR est deux fois
plus coûteuse que la méthode des équations normales (2mn2 contre mn2 pour n << m).
Nous désignons par cnm (ou cn ) une constante générique qui augmente faiblement avec m
et n, et on définit par cond2 (A) = kAk2 kA+ k2 le conditionnement (généralisé) de A.
Théorème 4.8 Stabilité inverse de la méthode QR. Supposons que la solution approchée
x̃ de minx kAx − bk2 est obtenue en utilisant la méthode (Givens, Householder) QR sur
une matrice vérifiant cnm cond2 (A) < 1. Il existe alors deux matrices E et f telles que x̃
soit une solution exacte du problème de moindres carrés linéaires

kEkF ≤ Cmn  kAkF
min k(A + E)x − (b + f )k2 avec
x kf kF ≤ Cmn  kbkF .
Démonstration : Wilkinson (65), admise.
2
Théorème 4.9 Stabilité inverse de la méthode des équations normales. Supposons que la
solution approchée x̃ de minx kAx − bk2 est obtenue en utilisant la méthode des équations
normales. Si cm cond2 (A)2  < 1, l’algorithme de Cholesky s’achève sans problème. Il existe
alors une matrice ∆ telle que x̃ soit une solution exacte du système linéaire
kbk2
 
2
(C + ∆)x̃ = d avec k∆k2 ≤ cmn  kAk2 1 + + O(2 )
kAk2 kx̃k
Preuve 4.7 Démonstration : Admise
On part de A et b. Lors de la formation des équations normales, on cherche à calculer
C = AT A et d = AT b. On obtient sur l’ordinateur C̃ = C + ∆C et d˜ = d + ∆d, avec
A kAk = cmn  kAk2
 T
k∆C1 k2 ≤ cmn T 2 2 2
k∆dk2 ≤ cmn  A 2 kbk2 = cmn  kAk2 kbk2 .
En utilisant le théorème 3.17, la factorisation de Cholesky engendre une erreur équivalente
à une perturbation ∆C2 telle que x̃ est solution exacte du système
!
∆dx̃T
C + ∆C1 + ∆C2 − x̃ = d, (4.3)
kx̃k22
où k∆C2 k2 ≤ cn kC + ∆C1 k ≤ cn (1 + cmn ) kAk22 . En appelant ∆ la perturbation de C
dans l’équation (4.3), x̃ est solution de (C + ∆)x = d, avec
kAk2 kbk2
k∆k2 ≤ cmn  kAk22 + cn (1 + cmn ) kAk22 + cmn  (4.4)
kx̃k
kAk kbk
≤ cmn  kAk22 + cmn  2 2
+ O(2 ) (4.5)
kx̃k
kbk2
 
2
≤ cmn  kAk2 1 + + O(2 ). (4.6)
kAk2 kx̃k

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
41 Chapitre 4 : Résolution de problèmes aux moindres carrés

Nous pouvons à présent comparer numériquement les deux méthodes de résolution.


– Tout d’abord, il est a noter que la méthode des équations normales peut ne pas
marcher du tout, et rencontrer une exception (racine carrée d’un nombre négatif ).
Dans ce cas, la condition cm cond2 (A) 2
  < 1 n’est pas satisfaite.
 Un problème de ce
1 1
type se produit sur la matrice A =  0 1/2 /10 . En précision finie, on
1/2
 /10 0
a 1 + /100 = 1 et la matrice C calculée sur l’ordinateur n’est plus inversible. La
factorisation de Cholesky échoue en effet sur cet exemple sur l’ordinateur.
– Contrairement au résultat sur la méthode QR, les erreurs exhibées par le théorème
portent sur C = AT A et non sur les données du problème A et b. Cela peut rendre
compliquée la comparaison entre les erreurs (d’origine physique, ou de discrétisation)
sur les données A et b, par rapport aux erreurs dues à la précision finie de l’ordi-
nateur.
– Donc la méthode QR permet donc de traiter une variété plus grande de problèmes
que la méthode des équations normales, et permet de détecter facilement si les er-
reurs dues à l’arithmétique de l’ordinateur dominent les erreurs éventuelles sur A
et b.
Souvent les utilisateurs de logiciels numériques sont intéressés avant tout par la précision
obtenue sur leur solution. Un autre outil de comparaison de ces deux algorithmes et alors
+ bk
l’étude de l’erreur directe kx̃−A
kA+ bk
. Cette étude se mène aisément en utilisant la théorie
de la perturbation des moindres carrés linéaires.

4.5 Perturbation d’un problème de moindres carrés


Dans ce paragraphe, on suppose que x est solution de minx kAx − bk2 et que x+∆x est
solution du problème perturbé minx k(A + ∆A)x − (b + ∆b)k2 . Nous cherchons à borner
supérieurement la norme de ∆x en fonction des normes des perturbations ∆A et ∆b.

Proposition 4.10 Soit A ∈ Rm×n , où m ≥ n de rang maximal n. Si x est la solution


du problème minx kAx − bk2 , la solution x + ∆x du problème perturbé est telle que, au
premier ordre,

k∆xk2 krk2 k∆Ak2 kbk2 k∆bk2


 
2
≤ cond2 (A) + cond2 (A) + cond2 (A) ,
kxk2 kAk2 kxk2 kAk2 kAk2 kxk2 kbk2

où r = b − Ax.

Preuve 4.8 On réalise un développement au premier ordre de

(A + ∆A)T (A + ∆A)(x + ∆x) = (A + ∆A)T (b + ∆b),

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
42 Chapitre 4 : Résolution de problèmes aux moindres carrés

et on obtient
(AT A)∆x = AT ∆b + ∆AT (b − Ax) − AT ∆Ax.
Comme A est de rang n, AT A est inversible. En multipliant l’égalité précédente par
(AT A)−1 , et en pasant aux norme, on obtient, puisque A+ = (AT A)−1 AT ,

k∆xk2 ≤ A+ 2 (k∆bk2 + k∆Ak2 kxk2 ) + (AT A)−1 2 k∆Ak2 krk2 .


Le résultat final provient du fait que (AT A)−1 = A+ A+T , ce qui entraı̂ne (AT A)−1 2 =

2 2
kA+ k2 , puisque en utilisant la proposition 2.6, kA+ k2 = A+ A+T 2 = ρ(A+ A+T ).
2
Nous pouvons maintenant rassembler les résultats de sensibilité avec les résultats d’er-
reur inverse pour obtenir une comparaison de la méthode des équations normales avec la
méthode QR du point de vue de l’erreur directe k∆xk/kxk.

Théorème 4.11 Si la méthode QR (Householder, Givens) est utilisée sur une matrice A
vérifiant cnm cond2 (A) < 1, l’erreur sur la solution vérifie
k∆xk2 kbk2 krk2
 
≤ cnm cond2 (A) 1 + + cond2 (A) .
kxk2 kAk2 kxk2 kAk2 kxk2

Si la méthode des équations normales est utilisée sur une matrice vérifiant cnm cond2 (A)2 <
1, l’erreur sur la solution vérifie
k∆xk2 kbk2
 
2
≤ cmn cond2 (A) 1 + .
kxk2 kAk2 kx̃k

Preuve 4.9 Démonstration : On rassemble le résultat de perturbation de systèmes linéaires


et le théorème 4.9 pour la méthode des équations normales, et des théorèmes 4.10 et 4.8
pour la méthode QR.
2
krk
– Pour un problème où kAk kxk 2
est faible, la méthode QR ne fait pas intervenir de
2 2
conditionnement au carré et donc est beaucoup plus précise que la méthode des
équations normales. Dans le cas contraire, il tous les cas de figure sont possibles.
– Dans la littérature sur les moindres carrés, la méthode QR a la réputation d’être la
plus précise des deux.
– La méthode QR s’applique à un ensemble de matrices plus vaste (cnm cond2 (A) < 1
contre cnm cond2 (A)2 < 1 pour les équations normales). Elle est donc toute indiquée
pour des logiciels génériques destinés à traiter des classes de matrices pour lesquelles
le conditionnement n’est pas bien connu.
– Remarquons que pour m >> n la méthode QR est deux fois plus lente que la méthode
des équations normales. Il faut donc utiliser les équations normales, dans les cas où
elles donnent une précision acceptable. De fait, de nombreux logiciels notamment
dans le domaine de la statistique n’utilisent que la méthode des équations normales.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
43 Chapitre 4 : Résolution de problèmes aux moindres carrés

4.6 Algorithmes de factorisation QR


Nous réalisons ici un bref exposé des propriétés numériques des factorisations QR en
les présentant sur le corps des complexes pour plus de généralité.

4.6.1 Factorisation QR de Householder


Definition 4.12 Soit u 6= 0, kuk2 = 1. La matrice H(u) = I − 2uuH est appelée matrice
de Householder.

Exercice 4.1 Montrez que la matrice H = H(u) est hermitienne et unitaire.

Preuve 4.10 Démonstration. 1) H est hermitienne : H H = I H −2(uuH )H = I −2uuH =


H.
2) H est unitaire : H H H = H 2 = (I − 2uuH )(I − 2uuH ) = I − 4uuH + 4u(uH u)uH = I
car kuk22 = uH u = 1.
2
L’inportance de telles matrices en calcul vient du fait qu’elles permettent d’annuler
tous les coefficients sauf un dans la 1ère colonne d’une matrice par prémultiplication uni-
taire.
Exercice 4.2 Soit x = (xi )i=1...n un vecteur de Cl n , tel que la première composante x1 de
x soit réelle > 0. Montrez que le vecteur
x + kxk2 e1
u=
kx + kxk2 e1 k2

définit une matrice de Householder H(u) = H telle que Hx = − kxk2 e1 .

Preuve 4.11 Démonstration.

kx + kxk2 e1 k22 = (xH + kxk2 eT1 )(x + kxk2 e1 ) = xH x + kxk2 eT1 x + xH kxk2 e1 + kxk2 kxk2
= 2 kxk2 (kxk2 + x1 ) > 0 puisque x1 > 0

Hx = − kxk2 e1 équivaut à kxk2 He1 = −x par multiplication par H. Or He1 = (I −


2uuH )e1 = e1 − 2u(uH e1 ), avec

(kxk2 + x1 )
uH e1 = p .
2 kxk2 (kxk2 + x1 )

(kxk2 + x1 ) x
Donc He1 = e1 − 2 (x + kxk2 e1 ) = − .
2 kxk2 (kxk2 + x1 ) kxk2
x
La matrice H admet donc − comme premier vecteur colonne.
kxk2

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
44 Chapitre 4 : Résolution de problèmes aux moindres carrés

Remarque 4.13 Si le vecteur x est tel que x1 ne satisfait pas la condition x1 réel ≥ 0, on
peut encore définir H(u) = H telle que telle que Hx soit proportionnel à e1 de la manière
suivante :
x + kxk2 ei arg(x1 ) e1
i) si x1 est un complexe non nul, u = x + kxk ei arg(x1 ) e1

2 2
x − kxk2 e1
ii) si x1 est un réel < 0, u =
kx − kxk2 e1 k2

Exercice 4.3 En déduire un algorithme de factorisation d’une matrice A ∈ Cl m×n en


A = QR, où Q ∈ Cl m×m vérifie QH Q = Im et R = (rij ) ∈ Cl m×n , et est triangulaire
supérieure (rij = 0, pour i > j).

4.6.2 Factorisation QR de Givens


Definition 4.14 La matrice réelle rothogonale de la figure (4.1) avec c = cosθ et s = sinθ
est une matrice de rotation de Givens.
... ....
.
.. ... ...
1 ...
.... ...
.
...
.
.
...
.
...
...
... .. ... ... ...
... .. . . ...
... .. ... ... ...
... .. ...
... .. .. .
... ...
.. ... ...
i
...
. 1c . s
.
.
....... ..... ..... ..... ..... ..... ......... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....
..
.
..
... .. ... ...
... ...
..
... 1 . ..
... ..
..
.
... ...
...
.... . . ...
J(i, k, θ) = ....
... ....
...
..
..
.. ...
...
.
...
...
...
...
−s 1c . .
.... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ....... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....
..
k ...
...
.
...
...
... ..
.
..
.
...
...
...
.
...
.
1 .
...
.
..
... ...
.
..
... .. ...
... ... ... .. ...
... ... ... .. ...
... . ...
.
... ... ... .. ...
... ..
... .. ...
... ... ..
...
...
..
....
..
... ...
.
...
. .. ...
... ... ... .. ...
...
... . . .. ....
. . .. .
.
... ... ... ..
..
...
. ...
.
...
. ... 1
... ...
. .

Figure 4.1 –

Exercice 4.4 Soit A ∈ Rm×n . Supposons que pour i et j, 1 ≤ i, j ≤ m, aij 6= 0.


aij −akj
Soit k 6= i, tel que akj 6= 0. Pour θ tel que : cos θ = q , sin θ = q ,
a2ij + a2kj a2ij + a2kj
montrez que l’élément d’indices (k, j) de J(i, k, θ)T A est nul. En déduire un algorithme
de factorisation de la matrice A.

Preuve 4.12 Démonstration. Soit B = J(i, k, θ)T A.


En écrivant le produit matriciel, on obtient

bkj = sin θ aij + cos θ akj .

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
45 Chapitre 4 : Résolution de problèmes aux moindres carrés

Donc bkj = 0 pour la valeur de θ choisie. L’algorithme de factorisation met a 0 les éléments
situés sous la diagonale de A en les parcourant par colonne.

4.6.3 Comparaison en présence d’erreurs d’arrondis


Nous disposons de quatre factorisations QR. La factorisation QR de Gram-Schmidt,
sa variante modifiée, et les factorisations de Householder et Givens. Quitte à considérer
des sous matrices, elles permettent toutes d’obtenir un facteur orthogonal m × n, Q, et
un facteur carré triangualire supérieur, R. Soit A ∈ R25×15 , la matrice de Vandermonde
1
formée sur les scalaires pj = j . Son conditionnement est cond2 (A) = 3.9 109 . On appelle
15
Qe et R
e les facteurs obtenus par ces factorisations sur ordinateur. On a alors les résultats

A − Q eR
e
2
suivants : Les errreurs résiduelles associées aux factorisations QR soit α = ,
kAk2
valent respectivement :

Méthode Gram-Schmidt Gram-Schmidt Modifié Householder Givens


α 2 10−16 2 10−16 10−15 10−16

Les méthodes se valent donc sur ce critère. On compare à présent les trois défauts d’or-
eH e
thogonalités ω̂ = Q Q − I :

2

Méthode Gram-Schmidt Gram-Schmidt Modifié Householder Givens


ω̂ 6.02 10−7 2 10−15 3 10−16

C’est Householder et Givens que l’on obtient la base orthogonale de meilleure qualité.
La méthode de Gram-Schmidt donne une base qui n’est plus orthonormale. La modifica-
tion de cette méthode conduisant à la méthode de Gram-Schmidt modifiée permet cepen-
dant d’améliorer la qualité de la base orthogonale. Ces résultats peuvent être consolidés
théoriquement et il est possible de montrer que le défaut d’orthogonalité est de l’ordre
de cmn cond2 (A)2  pour Gram-Schmidt, cmn cond2 (A) pour Gram-Schmidt modifiée, cmn 
pour Householder et Givens.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
46 Chapitre 4 : Résolution de problèmes aux moindres carrés

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

Résolution de systèmes linéaires


par des méthodes de Krylov

5.1 Introduction
Que fait-on lorsqu’il s’agit de résoudre un système linéaire et que les méthodes basées
sur des factorisations matricielles sont trop coûteuses (en temps de calcul ou en mémoire)
compte tenu du matériel informatique utilisé ? On utilise des méthodes itératives qui génèrent
une suite d’itérés sensés converger vers la solution du problème. Le but de ce chapitre est
de présenter les méthodes qui figurent parmi les plus utilisées : les méthodes basées sur
un espace dit de Krylov. Ce chapitre sera notamment l’occasion de décrire la méthode
GMRES, la méthode du gradient conjugué, le but du précondiitonnement et la nécessité
de disposer de bons critères d’arrêt des itérations.
Dans les cas pratiques il est bon de se rappeler qu’il ne faut se tourner vers les méthodes
itératives que lorsque les méthodes directes ne sont pas utilisables, car la mise en œuvre
d’une méthode itérative peut nécessiter beaucoup d’efforts, notamment concernant les tech-
niques de préconditionnement.

5.2 Généralités
On définit par l’espace de Krylov de d’ordre m associé à la matrice carrée inversible
A ∈ Rn×n et b ∈ Cn par K(A, b, m) = Span{b, Ab, ..., Am−1 b}. Il est clair que les espaces
de Krylov sont des espaces emboı̂tés lorsque m croı̂t. Dans ce chapitre, sauf précision
contraire, kk est la norme Euclidienne pour les vecteurs et la norme induite correspondante
pour les matrices.

Proposition 5.1 Montrez, en utilisant le polynôme caractéristique, que la solution x =


A−1 b appartient à l’espace de Krylov de d’ordre n (noté K(A, b, n)). Noter que cet espace
peut être de dimension très inférieure a n (exemple si A est la matrice identité).
Pn j
Preuve 5.1 Si q(t) est le polynôme caractéristique, on a q(t) = j=0 αj t . Donc α0 =

47
48 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

q(0) = det(A) 6= 0 ssi A est inversible. De plus, comme

0 = q(A) = α0 I + α1 A + ... + αn An , (5.1)

on a
n−1
1 X
A−1 = − αj+1 Aj .
α0
j=0

Ainsi x = A−1 bappartient à l’espace de Krylov de d’ordre n associé à A et b et noté


K(A, b, n) = Span{b, Ab, ..., An−1 b}.
2
Les méthodes de Krylov se répartissent en plusieurs classes suivant la manière dont
l’itéré xk ∈ K(A, b, k) est construit. Par convention on pose x0 = 0. Si x0 6= 0, c’est a
dire, si l’on dispose d’une approximation de la solution, on se ramène au cas précédent en
résolvant Az = b − Ax0 puis en faisant la mise à jour x = x0 + z. On trouve
– L’approche de Ritz-Galerkin : xk est tel que b − Axk ⊥K(A, b, k).
– Le résidu minimum : trouver xk ∈ K(A, b, k) tel que ||b − Axk ||2 . est minimum
– L’approche de Petrov-Galerkin : trouver xk tel que b − Axk est orthogonal à un
espace de dimension k (éventuellement différent de K(A, b, k)).
– L’approche erreur minimum : trouver xk ∈ AT K(A, b, k) tel que ||b − Axk ||2 est
minimal.

5.3 La méthode GMRES


5.3.1 Présentation de l’algorithme
Dans l’algorithme GMRES, on choisit xk ∈ K(A, b, k) tel que ||b−Axk ||2 est minimum.
Soit l’algorithme suivant :

Arnoldi’s algorithm
1. v1 = b/kbk
2. For j=1,2, ... m-1 Do
3. Compute hij = viT Avj for i = 1, j
Compute wj = Avj − ji=1 hij vi
P
4.
5. hj+1,j = kwj k
6. If (hj+1,j = 0) then Stop
7. vj+1 = wj /hj+1,j
8. EndDo

Proposition 5.2 Les vecteurs vj générés par l’algorithme sont orthogonaux.

Preuve 5.2 Démonstration. En effet, à l’étape j de l’algorithme, on réalise l’orthogona-


lisation de Schmidt de Avj par rapport à vi , i ≤ j, pour obtenir vj+1 . Les vi , i ≤ j + 1
sont donc bien orthogonaux.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
49 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

Proposition 5.3 Si à l’étape js l’algorithme rencontre une quantité hjs +1,js nulle, il
s’arrête.
Les quantités vj et hij générées par l’algorithme pour j < js peuvent être réécrites à
chaque pas de la boucle en j sous forme matricielle

AVj = Vj+1 H̄j ,

où H̄j ∈ Rj+1×j est une matrice de Hessenberg supérieure.

Preuve 5.3 Démonstration. En effet, d’après les étapes 4. et 7. de l’algorithme hj+1,j vj+1 =
Avj − ji=1 hij vi , ce qui s’écrit bien AVj = Vj+1 H̄j avec Vj = [v1 , . . . , vj ] ∈ Rn×j et
P
H̄j = [hi,j ] ∈ Rj+1×j Hessenberg supérieure.

Proposition 5.4 On se place au dernier pas js de l’algorithme. On a alors AVjs = Vjs Hjs ,
où la matrice Hjs est une matrice carrée d’ordre js . Les valeurs propres de Hjs sont des
valeurs propres de A. Si y est un vecteur propre de Hjs associé a la valeur propre λ (de A
et de Hjs ), Vjs y est un vecteur propre de A associé.

Preuve 5.4 Démonstration. Si pour y 6= 0, Hjs y = λy, AVjs y = Vjs Hjs y = λVjs y, avec
Vjs y 6= 0. Donc toute valeur propre de Hjs est une valeur propre de A. Pour tout vecteur
propre y de Hjs , Vjs y est un vecteur propre de A.

Proposition 5.5 Soit Hj = VjT AVj . La matrice Hj est Hessenberg supérieure. En parti-
culier, si A est symétrique, Hj est tridiagonale.

Preuve 5.5 Démonstration. On sait que Hj ∈ Rj×j est Hessenberg supérieure (car elle
est constituée des j premières lignes de la matrice rectangulaire Hessenberg supérieure
H̄j ∈ Rj+1×j ). Si de plus A est symétrique, H̄j = Vj+1 T AV . et H T = (V T AV )T =
j j j j
VjT AT Vj = Hj . Donc Hj est carrée Hessenberg supérieure et symétrique ; elle est donc
carrée et tridiagonale.

Proposition 5.6 L’espace image de Vj , pour j inférieur à js , est K(A, b, j). L’espace
K(A, b, js ) est un espace invariant pour A.

Preuve 5.6 Démonstration. Par récurrence. Vrai pour j = 1. Supposons le résultat sui-
vant vrai au rang j : il existe une matrice Xj ∈ Rj×j telle que [b, . . . , Aj−1 b] = [v1 , . . . vj ]Xj ,

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
50 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

la matrice Xj étant triangulaire supérieure inversible (éléments non nuls sur la diagonale).
Alors , on posant β = kbk,

[b, . . . , Aj−1 b, Aj b] = [βv1 , A[b, . . . , Aj−1 b]] = [βv1 , A[v1 , . . . vj ]Xj ]


 
β
 0 
= [βv1 , Vj+1 H̄j Xj ] = Vj+1  . H̄j Xj  .
 
 . . 
0

Montrons que la matrice entre crochets que nous appelons Xj+1 est triangulaire supérieure
inversible. La matrice H̄j est de rang j (Hessenberg avec éléments non nuls sur la sous-
diagonale sinon l’algorithme se serait arrêté). La matrice H̄j Xj est Hessenberg supérieure
et son élément sous diagonal de la colonne k de H̄j par le kième élément diagonal de Xj : il
est donc non nul. La matrice Xj+1 est donc triangulaire supérieure à éléments diagonaux
non nuls : elle est inversible. Enfin on a AVjs = Vjs Hjs donc comme les colonnes de Vjs
forment une base de K(A, b, js ), on a AK(A, b, js ) ⊂ K(A, b, js ).

Proposition 5.7 L’itéré xj minimisant la norme du résidu kb − Axk sur l’espace K(A, b, j)
s’écrit xj = Vj zj où zj minimise kkbke1 − H̄j zj k.

Preuve 5.7 Démonstration. Si x est dans l’image de Vj , il existe z ∈ Rj tel que x =


Vj z. Alors kb − Axk = kkbkv1 − AVj zk = kkbkv1 − Vj+1 H̄j zk = kVj+1 (kbke1 − H̄j zk). La
norme euclidienne étant unitairement invariante, kb − Axk = kkbke1 − H̄j zk. Donc on est
ramené à la résolution du problème de moindres carrés minz∈Rj kkbke1 − H̄j zk. Soit zj la
solution obtenue. La solution du problème de départ est Vj zj .

Proposition 5.8 Le pas js étant celui où se produit l’arrêt de l’algorithme GMRES, xjs
est la solution du système linéaire Ax = b.

Preuve 5.8 Démonstration. En reprenant la démonstration de la question précédente,


pour le pas js , on obtient que kb − Axk = kkbke1 − H̄js zjs k = kkbke1 − H̄js zjs k. La matrice
Hjs étant carrée et inversible (les valeurs propres de Hs sont des valeurs propres de la
matrice inversible A), le minimum kkbke1 − H̄js zjs k est nul à l’optimum zjs . Donc xjs =
Vjs zjs vérifie kb − Axjs k = kkbke1 − H̄js zjs k = 0.

En rassemblant les propriétés ci-dessus, nous obtenons l’algorithme GMRES :

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
51 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

GMRES algorithm
1. x0 initial guess, r0 = b − Ax0 , β = kr0 k and v1 = r0 /β
2. For k=1,2, ... Do
3. Compute wk = Avk
4. For i=1, ...,k, Do
5. hi,k = wkT vi
6. wk = wk − hi,k vi
7. EndDo
8. hk+1,k = kwk k
9. If hk+1,k = 0 set m = k and Goto 12
10. vk+1 = wk /hk+1,k
11. endDo
12. Set-up the (m + 1) × m matrix H̄m = (hi,j )1≤i≤m+1,1≤j≤m
13. Compute, ym the solution of kβe1 − H̄m yk2
14. Compute, xm = x0 + Vm ym

Notons que la résolution du problème de moindres carrés en 13. est réalisée par une
méthode stable (Givens),

5.3.2 GMRES restarté (ou redémarré)


L’algorithme GMRES peut être lent et nécessiter un stockage trop important pour les
vecteurs vj . C’est pour cela que l’on utilise l’algorithme redémarré suivant :

Restarted GMRES : GMRES(m)


1. x0 initial guess, r0 = b − Ax0 , β = kr0 k and v1 = r0 /β
2. For k=1,2, ... Do
3. Compute wk = Avk
4. For i=1, ...,k, Do
5. hi,k = wkT vi
6. wk = wk − hi,k vi
7. EndDo
8. hk+1,k = kwk k
9. If hk+1,k = 0 set m = k and Goto 12
10. vk+1 = wk /hk+1,k
11. endDo
12. Compute, ym the solution of kβe1 − H̄m yk2
13. Compute, xm = x0 + Vm ym
14. If hm+1,m 6= 0 then x0 = xm Goto 1

Nous étudions à présent la convergence de l’algorithme redémarré. Une première chose


est que au passage à l’algorithme redémarré, on perd la propriété de terminaison en un
nombre fini de pas. Il existe des conditions nécessaires et suffisantes de convergence de l’al-
gorithme pour toute matrice, malheureusement elles font intervenir l’ ”image numérique”
généralisé, qui est une quantité que l’on se sait pas actuellement exploiter.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
52 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

Nous citons donc ici des conditions de convergence plus utilisables en pratique.

Proposition 5.9 Soit A une matrice diagonalisable telle que A = V DV −1 , où D est
diagonale. Pour l’algorithme non redémarré,

kAxj − bk ≤ kV kkV −1 k min max |Q(λ)|kAx0 − bk,


Q∈Pj ,Q(0)=1 λ∈sp(A)

où Pj est l’espace vectoriel des polynômes de degré au plus j.

Preuve 5.9 Démonstration. Toujours pour x0 = 0, sans perdre de généralité, xj =


Pj−1 i kAx − bk. Donc les αi minimisent kb − A j−1 i
P
i=0 αi A b minimise
Pj i=0 αi A bk = kQ(A)bk,
où Q(t) = t − i=1 αi ti . Ainsi,

kAxj − bk = min kQ(A)bk,


Q∈Pj ,Q(0)=1

= min kV Q(D)V −1 bk
Q∈Pj ,Q(0)=1

≤ kV kkV −1 kkbk min kQ(D)k


Q∈Pj ,Q(0)=1

= kV kkV −1 k min max |Q(λ)|kAx0 − bk.


Q∈Pj ,Q(0)=1 λ∈sp(A)

On définit l’ image numérique d’une matrice comme la partie (convexe, théorème de


H
Haussdorf ) du plan complexe NR(A) = { zz HAz
z
, z 6= 0}. On suppose que l’image numérique
de A est inclus dans un disque de centre c et de rayon r, avec r < |c|. Ainsi 0 ne fait pas
partie de l’image numérique de A. On appelle rayon numérique de A la quantité r(A) =
H
max{ |zz HAz|
z
, z 6= 0}.

Proposition 5.10 Pour toute matrice carrée, r(Am ) ≤ r(A)m .

Preuve 5.10 Démonstration.


1. Il suffit, quitte à considérer A/r(A), de montrer que si r(A) ≤ 1, alors r(Am ) ≤ 1.
Soit wk = e2πk/m , k = 1 . . . m une racine mème de l’unité. Comme 1 − z m =
2. Q
m
k=1 (1 − wk z) (considérer les racines), on a

m m
1 X Y
p(z) = (1 − wk z)
m
j=1 k=1,k6=j
m
1 X 1 − zm
= .
m 1 − wj z
j=1

Or p(z) = p(w1 z) = · · · = p( wm z) pour tout z. comme p est de degré au plus m − 1,


cela implique que p(z) = p(0) = 1.
3. On a donc I − Am = m 1 Pm Qm
Q
k=1 (I − wk A) et I = m j=1 k=1,k6=j (1 − wk A).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
53 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

4. Pour x de norme 1, on a

1 − xH Am x = (Ix)H (I − Am )x
 H
m m m
1 X Y Y
=  (1 − wk A)x (I − wk A)x
m
j=1 k=1,k6=j k=1
m m
1 X Y
= zjH (1 − wj A)zj , avec zj = (1 − wk A)x
m
j=1 k=1,k6=j
m  H  !
1 X
2 zj zj
= kzj k 1 − wj A
m kzj k kzj k
j=1,zj 6=0

5. En remplaca̧nt A par eiθ A, on obtient


m  H  !
imθ H m 1 X
2 iθ zj zj
1−e x A x= kzj k 1 − e wj A .
m kzj k kzj k
j=1,zj 6=0

Si r(A) ≤ 1, la partie réelle du membre droit de cette égalité est positive ou nulle. En
 H    H  
z z z z
effet, Re(1−eiθ wj kzjj k A kzjj k |) ≥ 1−| kzjj k A kzjj k | ≥ 0, ce qui implique
que Re(1 − eimθ xH Am x) est positif ou nul. En prenant θ tel que eimθ xH Am x =
|xH Am x|, on obtient |xH Am x| ≤ 1, et donc r(Am ) ≤ 1.

Proposition 5.11 Pour toute matrice carrée,


1
kAk ≤ r(A) ≤ kAk.
2
Preuve 5.11 Démonstration. La partie droite est s’obtient en utilisant la sous-multiplicativité
des normes. Pour la partie gauche, A = 12 (A + AH ) + 12 (A − AH ) de sorte que
1
kAk ≤ (kA + AH k + kA − AH k).
2
Comme A ± AH est Hermitienne,
|z H Az ± z H AH z|
kA ± AH k = max
z6=0 zH z
≤ r(A) + r(AH ) = 2r(A).

Proposition 5.12 On a l’inégalité suivante


 j
r
kAxj − bk ≤ 2 kAx0 − bk.
|c|

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
54 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

Preuve 5.12 Démonstration de la proposition. Soit Q0 le polynôme donné par Q0 (t) =


m
1 − ct . Alors en utilisant les deux lemmes,kQ0 (A)k ≤ 2r(Q(A)) ≤ 2r(I − A/c)m . Or
r(I − A/c) ≤ r/|c|. Donc

kAxj − bk = min kQ(A)bk


Q∈Pj ,Q(0)=1
 j
r
≤ kQ0 (A)bk ≤ kQ0 (A)kkbk ≤ 2 kAx0 − bk
|c|
2

5.3.3 Utilisation pratique de GMRES


5.3.4 Arrêt des itérations
Le critère d’arrêt présenté dans l’algorithme jusqu’ici consiste à détecter l’espace inva-
riant K(A, b, js ) en observant si hjs +1,js = 0. Ce type de test n’est jamais utilisé en pratique
car il est trop dangereux en présence d’erreur d’arrondis. On préfère s’arrêter lorsque les
kAx −bk2 kAxk −bk2
résidus normalisés (erreurs inverses) kAk kxkk k +kbk ou kbk sont suffisamment petits.
2 2 2 2
Il faut noter aussi que le calcul de kAxk − bk2 pour le critère d’arrêt peut se faire impli-
citement lors de la résolution du problème de moindres carrés min kbke1 − H̄j zj 2 , et ne
nécessite pas de produit additionnel par A.
De plus, même en présence d’erreurs d’arrondis, il a été démontré que la méthode
non redémarrée décrite ci-dessus, appelée MGS GMRES permet d’obtenir une valeur de
kAxk −bk2
kAk2 kxk k2 +kbk2 de l’ordre de la précision machine en n pas au plus (la méthode est dite
inverse stable).

5.3.5 Préconditionnement
Les propositions ci-dessus permettent de donner des conditions suffisantes de réduction
de la norme du résidu au cours d’un restart et donc d’obtenir des conditions de conver-
gence de l’algorithme redémarré. Des techniques de transformations du système linéaire
Ax = b en un système équivalent pour lequel GMRES converge plus vite sont appelées
techniques de préconditionnement. Les caractéristiques principales d’une bonne technique
de préconditionnement sont :
– ne pas être très coûteuse en place mémoire,
– sa mise en oeuvre (préparation + utilisation dans la méthode) ne doit pas engendrer
trop de calculs,
– elle doit accélérer la méthode itérative.
Pour les méthodes pour matrices non-symétriques comme GMRES, on parle fréquemment
de préconditionnement
– à gauche ; Ax = b est remplacé par M −1 Ax = M −1 b où M est inversible.
– à droite ; Ax = b est remplacé par AM −1 t = b et x = M −1 t, où M est inversible.
– mixte ; Ax = b est remplacé par M1−1 AM2−1 t = M1 b et x = M2−1 t, où M1 et M2
sont inversibles. est inversible.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
55 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

Coût de la méthode (les termes en O(k), O(k 2 ),.., sont négligés)


– Mémoire : stockage de A, de Mi et pour un vecteur de taille n supplémentaire à
chaque pas
– Opérations : pour chaque étape, une application de A et inversion d’un système avec
Mi , et 4kn opérations flottantes par itération.

5.4 La méthode du gradient conjugué


Dans cette section, la matrice A est supposée symétrique définie positive. Soit x∗ =
A−1 b. La condition b − Axk ⊥K(A, b, k) s’écrit

VkT (b − Axk ) = 0.

Partant de b = r0 = kr0 kv1 (on suppose sans perdre de généralité que x0 = 0) on a


VkT b = kr0 ke1 . Comme de plus xk ∈ K(A, b, k), xk = Vk y on obtient

VkT AVk yk = kr0 ke1 . (5.2)

– La matrice VkT AVk = Hk est générée par l’algorithme.


– Puisque A est symétrique, Hk est tridiagonale Tk .
– La matrice Tk est non singulière. En effet, si Tk y = 0 alors VkT AVk y = 0 donc
y T VkT AVk y = 0, ce qui implique Vk y = 0 car A est définie positive, et donc VkT Vk y =
y = 0.
– L’itéré de Ritz-Galerkin est donc défini par xk = Vk (Tk−1 kr0 ke1 ).

Proposition 5.13 Comme A est symétrique définie positive, la fonction x 7→ xT Ax
est une norme. La condition de Ritz-Galerkin devient b − Axk ⊥K(A, b, k), d’où A(xk −
x∗ )⊥K(A, b, k) ou encore, (xk −x∗ )⊥A K(A, b, k). Cela signifie que xk est tel que kxk − x∗ kA
est minimum sur K(A, b, k).

Preuve 5.13 Démonstration. Soit xk = Vk yk , et x = Vk y ∈ K(A, b, k). Alors kx − x∗ k2A =


kx − xk + xk − x∗ k2A = kx − xk k2A + kxk − x∗ k2A + 2(xk − x)T A(xk − x∗ ). Comme (xk −
x∗ )⊥A K(A, b, k) et xk et x sont tous deux dans K(A, b, k), on a kx − x∗ k2A = kx − xk k2A +
kxk − x∗ k2A ≥ kxk − x∗ k2A .

Proposition 5.14 Si la méthode s’arrête (AVk = Vk Tk ), alors xk est solution du problème.

Preuve 5.14 Démonstration. On a en effet AVk yk − r0 = Vk (Tk yk − kr0 ke1 ) = 0.

Proposition 5.15 La méthode RGM converge en au plus m itérations sur une matrice
ayant m valeurs propres distinctes.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
56 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

Preuve 5.15 Démonstration.Qm Suposons que A a m valeurs propres distinctes


T
λi , i =
1, . . . m, et soit p(λ) = i=1 (λ − λi ). Alors en diagonalisant A = QDQ , on obtient
p(A) = Qp(D)QT = 0. En reprenant la démontration de la proposition 5.1, on obtient que
la solution appartient à l’espace de Krylov de d’ordre m.

5.4.1 Convergence de la méthode de Ritz-Galerkin (RGM)


Comme xk ∈ x0 + K(A, b, k), on a xk = x0 + Qk−1 (A)r0 où Qk−1 est un polynôme de
degré au plus k − 1. On a alors

xk − x∗ = x0 + Qk−1 (A)(Ax∗ − Ax0 ) − x∗ (5.3)



= (I − Qk−1 (A)A)(x0 − x ) (5.4)

= (I − AQk−1 (A))(x0 − x ), (5.5)

ce qui montre que


kxk − x∗ kA = k(I − AQk−1 (A))(x0 − x∗ )kA .
La minimalité de kxk − x∗ kA sur l’espace K(A, b, k) entraı̂ne la proposition suivante.

Proposition 5.16 Le polynôme Qk−1 (A) construit par la procédure RGM vérifie

k(I − AQk−1 (A))(x0 − x∗ )kA = min k(I − AQ(A))(x0 − x∗ )kA ,


Q∈Pk−1

où Pk−1 est l’ensemble des polynômes de degré au plus k − 1.

Proposition 5.17 Soit xk le kième itéré de la RGM. On a


p !k
κ(A) − 1
kxk − x∗ kA ≤ 2 · p kx0 − x∗ kA .
κ(A) + 1

Preuve 5.16 Démonstration La Proposition 5.16 permet d’écrire

kxk − x∗ kA = min kp(A)(x0 − x∗ )kA .


p∈Pk ,p(0)=1



ξ1
Soient λi , i = 1, ..., n les valeurs propres de A et ξ =  ...  où ξi i = 1, ..., n sont les
 

ξn

composantes de (x0 − x ) dans la base constituée des colonnes de V . On a A = V ΛV T et
(xk − x∗ ) = V ξ ce qui entrı̂ne

p(A)(x0 − x∗ ) = V p(Λ)V T (V ξ)
= V p(Λ)ξ.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
57 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

kp(A)(x0 − x∗ )k2A = (V p(Λ)ξ)T A(V p(Λ)ξ)


Xn
= p(λi )2 λi ξi2
i=1
n
X
2
≤ max(p(λi ) ) λi ξi2
i
i=1
≤ max(p(λi ) )kx0 − x∗ k2A
2
i
≤ max (p(λ))2 kxo − x∗ k2A .
λ∈[λmin ,λmax ]

Ceci montre que


 

kxk − x kA ≤ min max |p(λ)| kxo − x∗ kA . (5.6)
p∈Pk ,p(0)=1 λ∈[λmin ,λmax ]

Un résultat d’approximation par les polynômes de Chebyshev montre que


 
1
min max |p(λ)| ≤ (5.7)
p∈Pk ,p(0)=1 λ∈[λmin ,λmax ] |Cm ( λmax +λ
λ max
−λmin )|
min

où Ck (t) est un polynôme de Chebyshev de première espèce et de degré k. Pour |t| > 1 on
a  −k  1 
1  p
2
k  p
2
p k
Ck (t) = t+ t −1 + t+ t −1 ≥ t + t2 − 1 .
2 2
λmin λmax +λmin
En posant η = λmax −λmin on a λmax −λmin = 1 + 2η
 
λmax + λmin
Ck = Ck (1 + 2η)
λmax − λmin
1  p k
≥ 1 + 2η + (1 + 2η)2 − 1
2
1  p k
≥ 1 + 2η + 2 η(η + 1)
2
1

√ p 2 k
≥ η+ η+1
2
√ √ 2 !k
1 λmin + λmax

2 λmax − λmin
√ √ k
1 λmax + λmin
≥ √ √
2 λmax − λmin
√ k
1 κ+1
≥ √ .
2 κ−1

Cela implique
√ k
1 κ−1
≤2 √ .
|Cm ( λλmax
max
+λmin
−λ min
)| κ+1

ce qui permet de compléter la preuve en utilisant (5.7) et (5.6).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
58 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

2
En utilisant les propositions 5.17 et 5.15, il apparaı̂t qu’une technique visant a rem-
placer le système d’origine Ax = b en un système équivalent
– mieux conditionné, ou bien où,
– les valeurs propres distinctes sont moins nombreuses,
permet d’accélerer la convergence de la méthode. Plus généralement, on appelle préconditionnement
toute technique visant a accélérer (en temps de calcul, ou en nombre d’itération) une
méthode itérative.
On rappelle les caractéristiques principales d’une bonne technique de préconditionnement
sont :
– ne pas être très coûteuse en place mémoire ,
– sa mise en oeuvre (préparation + utilisation dans la méthode) ne doit pas engendrer
trop de calculs,
– elle doit accélérer la méthode itérative.

5.4.2 La méthode du gradient conjugué en pratique


Forme classique
La RCM permet de définir de manière unique une suite d’itérés. Cette méthode peut
être implantée de différentes manières dans les logiciels de calculs. La méthode la plus
stable en présence d’erreurs d’arrondis est la méthode du gradient conjugué. Nous donnons
ici l’algorithme sous sa forme la plus stable. Cette forme est dérivée dans de nombreux
ouvrages tels que ”Matrix Computations ” de Golub et Van Loan.

Conjugate Gradient algorithm (CG)


1. Compute r0 = b − Ax0 and p0 = r0
2. For k=0,2, ... Do
3. αk = rkT rk /pTk Apk
4. xk+1 = xk + αk pk
5. rk+1 = rk − αk Apk
T r
βk = rk+1 T
6. k+1 /rk rk
7. pk+1 = rk+1 + βk pk
8. if converged then stop
9. EndDo

Le critère d’arrêt prend en pratique la forme de résidus normalisés cités ci-dessus :


kAxk −bk2 kAxk −bk2
kAk kxk k +kbk ou
2 2 2 kbk2
.

Préconditionnement
Contrairement aux méthodes pour matrices nonsymétriques, le préconditionnement de
CG doit toujours garantir que la matrice préconditionnée est symétrique définie positive.
Pour cela on impose que le préconditionneur M −1 est symétrique défini positif. Dans ce
cas, une factorisation de Cholesky donne M −1 = CC T . Une idée naturelle est de remplacer

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
59 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

le système d’origine par le système C T AC x̃ = C T b. On pose à = C T AC , C x̃ = x,


b̃ = C T b et
xk = C x̃k ,
C p̃k = pk ,
r̃k = C T rk ,
zk = CC T rk .

L’algorithme s’écrit de deux manières équivalentes :


Conjugate Gradient algorithm
1. Compute r̃0 = b̃ − Ãx̃0 and p̃0 = r̃0
2. For k=0,2, ... Do
3. αk = r̃kT r̃k /p̃Tk Ãp̃k = rkT CC T rk /pTk Apk = rkT zk /pTk Apk
C
4. x̃k+1 = x̃k + αk p̃k ⇒ xk+1 = xk + αk pk
CT
5. r̃k+1 = r̃k − αk Ãp̃k ⇒ rk+1 = rk − αk Apk
T
6. βk = r̃k+1 r̃k+1 /r̃kT r̃k T
= rk+1 CC T rk+1 /rkT CC T rk = rk+1
T
zk+1 /rkT zk
C
7. p̃k+1 = r̃k+1 + βk p̃k ⇒ pk+1 = rk+1 + βk pk
8. if converged then stop
9. EndDo
Cela nous donne finalement l’algorithme du gradient conjugué préconditionné, où l’on voit
que l’on n’a plus besoin du facteur de Cholesky de M −1 , mais simplement de résolution
de systèmes linéaires avec M .
Preconditioned Conjugate Gradient algorithm
1. Compute r0 = b − Ax0 , z0 = M −1 r0 and p0 = r0
2. For k=0,2, ... Do
3. αk = rkT rk /pTk Apk
4. xk+1 = xk + αk pk
5. rk+1 = rk − αk Apk
6. zk+1 = M −1 rk+1
T
7. βk = rk+1 rk+1 /rkT rk
8. pk+1 = rk+1 + βk pk
9. if converged then stop
10. EndDo

Il est possible de montrer que, dans cet algorithme, les résidus rk sont M −1 −orthogonaux
(rkT M −1 rl = δkl ) et que les pk sont A−orthogonaux (pTk Apl = δkl ). Les pk sont appelés
aussi directions de descente d’après une interprétation en terme d’algorithme d’optimisa-
tion. Coût de la méthode
– Mémoire : stockage de A, du préconditionneur M et de 4 vecteurs de taille n (A ∈
Rn×n )
– Opérations : pour chaque étape, une application de A et une résolution d’un système
linéaire avec M , et 10n opérations flottantes par itération.
Cependant, les erreurs d’arrondis dans la méthode font qu’en pratique la solution peut ne
pas être obtenue en n pas. Des techniques coûteuses de réorthogonalisation permettent de
diminuer quelque peu l’impact de ces erreurs.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
60 Chapitre 5 : Résolution de systèmes linéaires par des méthodes de Krylov

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

Résolution de systèmes linéaires


par méthodes itératives
stationnaires

6.1 Introduction
Historiquement, les méthodes itératives, dites stationnaires, présentées dans ce cha-
pitre furent les premières méthodes itératives à être utilisées, lorsque les méthodes basées
sur des factorisations de matrices n’étaient pas utilisables en raison de leur coût, et ceci
bien avant l’apparition des méthodes de Krylov. Elles ne sont plus considérées actuelle-
ment en tant que telles comme des méthodes efficaces pour résoudre des systèmes linéaires
généraux. En revanche elles interviennent comme briques de bases importantes, notam-
ment dans des techniques de préconditionnement et dans les méthodes multigrilles.

6.2 Suite récurrentes d’ordre 1


On s’intéresse au système linéaire Ax = b où A est carrée inversible. Nous considérons
les méthodes itératives de la forme

x0 donné et xk+1 = Bxk + c.

Proposition 6.1 Les suites

x0 , xk = Bxk−1 + c, k = 1, 2, 3, . . . (6.1)

convergent vers une même limite quel soit x0 si et seulement si ρ(B) < 1. La matrice
I − B est alors inversible et limk→+∞ xk = (I − B)−1 c.

Preuve 6.1 Démonstration : Supposons que la limite existe. Alors elle vérifie x? = Bx? +
c, et donc ek = xk − x? = B k (x0 − x? ) = B k e0 . Par hypothèse, B k converge vers 0 ce
qui implique que ρ(B) < 1. Réciproquement, si ρ(B) < 1, alors comme xk = B k x0 + (I +

61
62 Chapitre 6 : Résolution de systèmes linéaires par méthodes itératives stationnaires

B + · · · + B k−1 )c, le résultat provient de ce que limk−→∞ B k x0 = 0, limk−→∞ k−1 i


P
i=0 B c =
(I − B)−1 c si ρ(B) < 1. La convergence est d’autant plus rapide que ρ(B) est petit par
rapport à 1.
2
Notons par exemple que si c = 0, et si Bv = v pour un certain v non nul. Alors
ρ(B) ≥ 1, et pour x0 = αv, xk = αv, donc la suite bien que convergente, admet une limite
différente pour ces x0 différents.

Proposition 6.2 Réduction de l’erreur. Supposons ρ(B) < 1. Pour tout x0 , la suite (xk )
converge vers x tel que (I − B)x? = c. Soit ek = xk − x. Pour toute norme matricielle,
induite ou non, et pour tout  > 0, il existe N tel que k > N =⇒ kek k ≤ (ρ(B) + )k . La
convergence vers x? est donc d’autant plus rapide que ρ(B) est petit par rapport à 1.

Preuve 6.2 Démonstration : D’après la proposition 6.1, la suite des xk converge vers x?
tel que (I − B)x? = b. Alors ek = Bek−1 et donc pour toute norme matricielle, kek k =
kB k e0 k ≤ kB k kke0 k. Un utilisant la croissance de t 7→ t1/k , on obtient 0 ≤ kek k1/k ≤
kB k k1/k ke0 k1/k . Comme la limite du membre droit est ρ(B), alors pour tout , il existe N
tel que k > N =⇒ kek k1/k ≤ ρ(B) + . d’où le résultat.
2

6.3 Méthodes itératives asymptotiques de basées sur du


splitting
Parmi les plus anciennes de ces méthodes figurent les méthodes basées sur une décomposition
régulière (splitting) de la matrice A : A = M − N , où M est une matrice non singulière.
A chaque splitting de A, on associe la méthode itérative

x0 , xk = M −1 (N xk−1 + b), k = 1, 2, 3, . . . (6.2)

La section 6.2 permet de dire


– qu’une condition nécessaire et suffisante de convergence vers A−1 b pour tout x0 est
que ρ(M −1 N ) < 1, (à utiliser avec précaution en présence d’erreurs d’arrondis),
– que plus ρ(M −1 N ) est faible plus on s’attend à avoir une convergence rapide des
itérations.
Quelques remarques importantes pour les méthodes de splitting.
– Pour qu’un tel algorithme de résolution soit intéressant d’un point de vue pratique, il
ne faut pas calculer M −1 (car cela correspond a la résolution de n systèmes linéaires
sur la base canonique). En général M est une matrice pour laquelle la résolution de
M y = z est aisée, ce qui est le cas si M est diagonale ou triangulaire.
– Un splitting qui serait exclu serait M = A et N = A − I pour lequel, si x0 = b, on
a x1 = A−1 ((A − I)x0 + b) = x. Ce splitting donne une méthode qui converge en un
pas, mais dont le coût d’une itération est aussi important que celui de la résolution
du problème de départ.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
63 Chapitre 6 : Résolution de systèmes linéaires par méthodes itératives stationnaires

– Les méthodes de splitting ne sont que très rarement utilisées seules pour résoudre
un système linéaire. Elles peuvent servir pour accélérer d’autres méthodes, on parle
alors de préconditionneur (voir la section sur les méthodes de Krylov), ou inter-
viennent dans des solveurs multigrilles qui sont parmi les plus efficaces pour la
résolution d’équations aux dérivées partielles.
– Les méthodes de splitting les plus classiques sont basées sur la décomposition A =
−L + D − U ou D est la matrice diagonale de A, U est une matrice triangulaire
supérieure stricte, et L est une matrice triangulaire inférieure stricte. Les méthodes
les plus connues sont la méthode de Jacobi (si D est inversible, on prend M = D,
N = −L − U et xk+1 = D−1 ((L + U )xk + b)) et la méhode de Gauss-Seidel (si D − L
est inversible, on prend M = D − L, N = −U , et xk+1 = (D − L)−1 (U xk + b)).
On montrerait que si A est symétrique définie positive, ces deux méthodes sont bien
définies (M est inversible dans chaque cas), et la méthode de Gauss-Seidel converge
(et pas nécessairement la méthode de Jacobi).
Une autre situation où les méthodes de splitting convergent est donnée par la proposi-
tion suivante.

Proposition 6.3 Soit A une matrice symétrique définie positive. Pour M inversible,
considérons le splitting A = M − N . Si M + N est définie positive, alors la méthode
itérative associée converge pour tout x0 vers A−1 b.

Preuve 6.3 Démonstration : Soit k·kA définie par kxk2A = xT Ax (c’est une norme). Alors

k(I − M −1 A)xk2A = kxk2A − 2xT AM −T Ax + kM −1 Axk2A


= kxk2A − 2xT AM −T M M −1 Ax + xT AT M −T AM −1 Ax
= kxk2A + xT AM −T (A − 2M )M −1 Ax = kxk2A − xT AM −T (M + N )M −1 Ax,
= kxk2A − kM −1 Axk2M +N .

Ainsi, k(I − M −1 A)xkA ≤ kxk2A , et donc (relation norme matricielle rayon spectral) ρ(I −
M −1 A) ≤ 1. Si ρ(I − M −1 A) = 1, alors il existe v 6= 0 et λ, avec |λ| = 1 tel que
(I − M −1 A)v = λv. Alors k(I − M −1 A)vk2A = |λ|2 kvk2A = kvk2A − kM −1 Avk2M +N . Mais
alors, M −1 Av = 0 et donc (inversibilité de A et M ) v = 0 ce qui est impossible. Ainsi
ρ(I − M −1 A) < 1.

Une manière équivalente de voir ces méthodes de splitting est d’écrire les itérations
sous la forme

xk+1 = M −1 (N xk + b) = xk + M −1 (b − (M − N )xk ) = xk + M −1 (b − Axk ).

Cette forme équivalente laisse apparaı̂tre la méthode comme une méthode des approxima-
tions successives xk+1 = (I −M −1 A)xk +M −1 b. La continuité des valeurs propres entraı̂ne
alors que plus M approche A, plus le rayon spectral de I − M −1 A sera faible et plus la
méthode a des chances de converger rapidement.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
64 Chapitre 6 : Résolution de systèmes linéaires par méthodes itératives stationnaires

6.4 Raffinement itératif d’une solution et point fixe per-


turbé
Une application importante des méthodes itératives stationnaires est la technique de
raffinement itératif de la solution d’un système linéaire. Supposons que l’on dispose d’une
méthode de résolution permettant pour tout système Ax = b de donner une estimation x̃
telle que (A + E)x̃ = b, avec kEk ≤ ηkAk. L’origine de E peut-être des erreurs d’arrondis
comme dans l’élimination de Gauss, l’utilisation de formules approchées pour le calcul de
A comme dans les éléments finis. Soit l’algorithme suivant :

Iterative refinement
1. Choose x0
2. For k=0,2, ... Do
3. Compute rk = b − Axr
4. Compute dk+1 such that (A + Ek )dk+1 = rk
5. Update xk+1 = xk + dk+1
6. EndDo

Proposition 6.4 On pose cond(A) = kAkkA−1 k, et on suppose que kEk k/kAk = ηk est
cond(A)ηk
tel que 0 < 1−cond(A)η k
≤ ρ < 1. Alors l’algorithme de raffinement itératif converge vers
−1 0
A b pour tout x . Plus ρ est petit plus on peut garantir une convergence rapide.

Preuve 6.4 Démonstration : 1) Soit Fk = (I + A−1 Ek )−1 − I, x? = A−1 b et ek = xk − x? .


alors

xk+1 − x? = (xk − x? ) + (A + Ek )−1 A(x? − xk )


= (I − (I + A−1 Ek )−1 )ek = Fk ek .
−1 E k < 1, nous avons (I + A−1 E )−1 =
P+∞ −1 i
2) Comme kA k k i=0 (−A EP k ) , d’où Fk =
+∞ +∞
−A−1 Ek i=0 (−A−1 Ek )i . En passant aux normes, on a kFk k ≤ kA−1 Ek k i=0 kA−1 Ek ki =
P
kA−1 Ek k cond(A)kEk k/kAk cond(A)ηk
1−kA−1 Ek k
≤ 1−cond(A)kE k k/kAk
= 1−cond(A)η k
≤ ρ. Donc 0 ≤ kek+1 k ≤ ρk ke0 k, ce qui
montre la convergence.
En pratique, on fait par exemple une factorisation A = LU + E. La matrice E pro-
vient d’erreur numérique et sa norme fait intervenir le facteur de croissance. L’opération
(A + Ek )−1 rk est alors obtenue en résolvant le système LU dk+1 = rk . Il apparaı̂t sur des
exemples numériques que si cond(A) est grand, le raffinement peut ne pas converger.

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

Problèmes aux valeurs propres

7.1 Introduction
Calculer des valeurs propres c’est résoudre un problème non linéaire. Il n’est guère
étonnant que les algorithmes de calcul soient itératifs. Après un exposé de certaines si-
tuations pratiques donnant lieu à des problèmes aux valeurs propres, quelques outils de
base d’analyse d’erreur sont présentés, en soulignant notamment la nature qualitative-
ment différente des résultats si on les compare à ceux obtenus dans le cadre des systèmes
linéaires. En effet La précision d’une valeur propre peut s’avérer dépendre d’une puissance
fractionnaire de la norme des perturbations, ceci se produisant lorsque les valeurs propres
sont défectives.
Nous décrivons ensuite les grandes étapes de la méthode QR de calcul des valeurs
propres qui est souvent considérée comme la méthode de base lorsque la totalité du spectre
est recherchée. Lorsqu’un sous-ensemble du spectre est désiré, on peut utiliser par exemple
des méthodes basées sur l’algorithme de la puissance que nous décrirons. Il existe bien
d’autres techniques de calcul, tels que celles basées sur l’algorithme d’Arnoldi ou sur l’al-
gorithme de Jacobi-Davidson.

7.2 Origine de ces problèmes


Exemple 7.1 On considère le problème de vibration mÿ + cẏ + ky = F (t), m, c, k positifs
et qui correspond au mouvement d’une masse attachée à un ressort, soumise à la gravité
et à une force de frottement. Cherchons la solution dans des cas particuliers.
– Système homogène : mÿ + cẏ + ky = 0. y Equation caractéristique mr2 + cr + k = 0.
Discriminant ∆ = c2 − 4km. Etude du mouvement non forcé.
– ∆ > 0 : solutions aer1 t + ber2 t , r1 , r2 négatives.
−ct
– ∆ = 0 : solutions (a + bt)e 2m . Amortissement critique.
−ct
– ∆ < 0 : solutions e 2m (acos(µt) + bsin(µt)). Oscillations amorties.
Pour des oscillations forcées mÿ + cẏ + ky = F (t), F (t) = F0 cosωt
– Si c 6= 0 une solution particulière est η(t) = √ F0 cos(ωt−δ)
2 2 2 2

, où tanδ = k−mω 2.
(k−mω ) +c ω

65
66 Chapitre 7 : Problèmes aux valeurs propres

– Si c = 0,
F0
p
– si ω 6= ω0 = k/m, η(t) = m(ω02 −ω 2 )
cosωt.
F0 t
– si ω = ω0 , η(t) = 2mω 2 sinω0 t : oscillation avec une amplitude dangereusement
0
croissante : résonnance. Donc toute solution est de la forme acos(ωt)+bsin(ωt)+
η(t). En pratique c peut-être petit engendrant une solution particulière η(t) très
grande pour ω proche de ω0 . Ce phénomè d’oscillation forcée à une fréquence
propre dsu système est à l’origine de la destruction d’ouvrages tels que le pont de
Tacoma (1940).
Lorsque l’on met plusieurs ressorts bout à bout, on obtient le probème de vibration M ÿ +
C ẏ + Ky = F (t), où M , C et K sont des matrices. Les fréquences propres du système sont
obtenues en cherchant les solutions du système libre sans frottement pour une excitation
de la forme y(t) = y0 eiωt , ce qui conduit à résoudre le problème dit aux valeurs propres
généralisées −ω 2 M y0 + Ky0 = 0. On pose z0 = (ωy0 , y0 )T . Ce problème peut s’écrire sous
la forme du problème aux valeurs propres
   
0 K M 0
z0 = ω z0 .
I 0 0 I
En pratique, on vérifie à la conception que l’ouvrage construit n’aura pas de fréquence
propre de l’ordre de phénomèmes vibratoires connus.

Exemple 7.2 Stabilité de systèmes différentiels


– On suppose F différentiable.
– Un état permanent ȳ de ẏ = F (y) est une solution de F (ȳ) = 0.
– Stabilité locale : si il existe  tel que si ky(0) − ȳk <  alors limt→+∞ ky(t) − ȳk → 0.
– La stabilité linéaire locale du système est obtenue en étudiant la stabilité de l’ap-
proximation linéaire de F en ȳ.
– Si F (y) = F 0 (ȳ).(y − ȳ) + o(kȳk), le système est localement stable ssi les valeurs
propres de F 0 (ȳ) ont une partie réelle négative. En effet la solution du sytème
linéarisé ż = Jz est z = z0 P eJt P −1 , avec eJt ayant des d’éléments de type ti eλt .

Exemple 7.3 Chaı̂ne de Markov


(k)
– Considérons un système à N états possibles. Posons pij = P (Xk = j|Xk−1 = i).
(0) (0)
– Soit q (0) = (q1 , . . . , qN ) une probabilité initiale. Alors q (k) = q (k−1) P (k−1) .
– Système homogène si P (k) ne dépend pas de k.
– Distribution stationnaire π telle que π = lim q (k) pour un certain q (0) . Alors π = πP .
– (Perron-Frobenius) Le rayon spectral de P est 1, et 1 est une valeur valeur propre
de P . Si P est irréductible (P ne peut pas s’écrire S T RS, ou R est triangulaire
par bloc et S est une matrice de permutation) il existe un vecteur propre à gauche
associé à 1 à éléments positifs.
– Si 1 est la seule valeur propre de P de module 1, l’itération q (k) = q (k−1) P (k−1)
converge vers π sous de faibles hypothèses sur q (0) .

On peut dores et déja dire que les algorithmes de calculs de valeurs propres nécessairement
itératifs. Les valeurs propres sont en effet racines d’un polynôme, et le Théorème d’Abel

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
67 Chapitre 7 : Problèmes aux valeurs propres

montre qu’il n’existe pas de formule générale (utilisant les opérations élémentaires) de
calcul de racines de polynômes de degré ≥ 5. Mais un grand succès du calcul matriciel
moderne est algorithme QR de complexité n3 .C’est bien sûr une méthode itérative, mais
qui en pratique est vue comme directe par l’utilisateur.

7.3 Sensibilité d’un problème spectral


Souvent nous calculons les valeurs propres d’une matrice A e voisine de A pour estimer
les valeurs propres de A. C’est le cas notamment lorsque A provient d’une discrétisation
par éléments finis, et que ses coefficients sont calculés par quadrature numérique. C’est
aussi le cas lorsque les coefficients de la matrice A ne sont pas représentables dans l’arithmétique
finie des ordinateurs.
Les résultats qui vont nous intéresser tendent à quantifier et qualifier la variation du
spectre sous des perturbations de la matrice. La principale difficulté de cette étude est que
le spectre d’une matrice est un ensemble. Donc on s’intéresse à une fonction qui à une
matrice associe un ensemble de nombres complexes, qui sont les valeurs propres de A.

7.3.1 ”Continuité” et sensibilité


Théorème 7.4 Supposons f ∈ H(Ω), g ∈ H(Ω), le disque fermé D̄(a, r) ⊂ Ω, et |f (z) −
g(z)| < |f (z)| sur le cercle de centre a et de rayon r. Alors f et g ont le même nombre de
zéros dans D(a, r).

Un résultat de ”continuité” des valeurs propres découle du corollaire suivant :


Proposition 7.5 Si A a une valeur propre λ de multiplicité algébrique m, pour toute
norme k.k, et pour tout  > 0, il existe δ > 0, tel que, si kEk < δ, le disque D(λ, )
contient exactement m valeurs propres de A + E.

Preuve 7.1 Démonstration : Soit φX le polynôme charactéristique associé à X. Les co-


efficients de φ dépendent continûment de X. Donc la fonction φA − φAe tend vers zéro sur
le compact K = {|z − λ| = }, lorsque A e → A. Comme φA est non nul pour tout z de K,
il existe δ > 0 tel que |φA − φAe| < |φA | sur K dès que kEk ≤ δ.
2
On peut mesurer la variation de spectre de la manière suivante :
e = maxi minj |λ̃i − λj |.
– Variation spectrale : svA (A)
– La distance de Hausdorf : hd(A, A)
e = max(svA (A),e sv e(A))
n A o
– L’”optimal matching distance” : md(A, A) = minπ maxi |λ̃π(i) − λi |
e
– hd et md sont des distances et pas sv.

Théorème 7.6 (Elsner) Pour toutes matrices A et A,


e
 1− 1 1
n
hd(A, A) ≤ kAk2 + A kEk n .
e e

2

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
68 Chapitre 7 : Problèmes aux valeurs propres

Démonstration : Soit i0 réalisant le max dans svA (A), e λ̃ = λ̃i , x1 un vecteur propre de
0
norme 1 assoocié, et {xj }j=2...n tel X = [x1 , x2 , . . . xn ] soit unitaire.

e n ≤ Πj |λj − λ̃|
svA (A)
= det(A − λ̃I)
= det((A − λ̃I)X)

≤ Πnj=1 (A − λ̃I)xj

2
n
= (A − λ̃I)x1 Πj>1 (A − λ̃I)xj

2 2
n
≤ A − A kx1 k2 Πj>1 ( A + kAk2 )
e e
2 2

Proposition 7.7 (Ostrowsky) Pour toutes matrices A et A,


e

 1− 1 1
n
e ≤ (2n − 1) kAk +
md(A, A) Ae kEk n .
2
2

1
1−
Preuve 7.2 Démonstration : Soit µ = (max{ 2 kA + τ Ek2 , 0 ≤ τ ≤ 1}) N . Alors
1
e ≤ µ kEk n = (def ). Soit Di = {ξ, |ξ − λi | ≤ }. Si m quelconques des dispques Di
svA (A) 2
sont isolés des autres, ils contiennent exactement m valeurs propres de A(res1).
e Pour le
1
τ
voir on pose Aτ = τ A + (1 − τ )A = A + τ E, on définit Di = {ξ, |ξ −1λ i | ≤ τ }. Comme
n
e e
kAk2 + A ≤ µ, on a d’après le théorème précédent svA (Aeτ ) ≤ µ
τ n , donc les valeurs
e
2 2
propres de Aeτ sont dans l’union des disques Dτ , et le resultat (res1) s’obtient en utilisant
i
la continuité des valeurs propres. Il est à présent aisé de borner md(A, ta). Soit C1 , . . . Ck
les ensembles connexes de ∪ni=1 Di , Cl étant la réunion de ml disques isolé, ils contiennent
ml valeurs propres de A,e et la distance de chaque valeur propre de A e à la valeur propre de
 1− 1 1
n
A de Cl la plus lointaine est inférieure à (2ml − 1) kAk2 + A kEk n .
e

2

Exemple 7.8 Pour la matrice dite ”bloc de Jordan” suivante :


 
0 1

 0 1 

A=
 0 1 ,

 0 1 
 0
2πk
les valeurs propres sont λi () = ei 5 1/5 , k = 1 . . . 5.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
69 Chapitre 7 : Problèmes aux valeurs propres

Notons que a proposition 7.6 est très différent du résultat de perturbation sur les systèmes
1
linéaires. La borne suggère ici une variation du spectre en kEk n , contre une variation
en kEk pour les systèmes linéaires. Par exemple pour n = 3 et kEk = 10−12 , on une
1
variation proportionnelle à kEk n = 10−4 pour les valeurs propres, contre 10−12 pour les
systèmes linéaires. L’exemple 7.8 montre que cette sensibilité s’exprime pour certaines
matrices telles que les blocs de Jordan. La proposition 7.9 suivante montre que pour des
matrices diagonalisables, la connaissance d’un résidu r = Au − αu permet de localiser une
de A par rapport à α à condition de supposer connu le conditionnement
valeur propres
kXk2 X −1 2 d’une matrice X permettant de diagonaliser A. Ce conditionnement vaut 1
si A est normale, car alors X peut être choisie orthogonale.

Proposition 7.9 Cas des matrices diagonalisables, normales en particulier. Soit A =


XDX −1 avec D diagonale. Pour tout α et u tel que kuk2 = 1 et r = Au − αu, il existe
une valeur propre de A telle que

|λ − α| ≤ kXk2 X −1 2 krk2 .

Preuve 7.3 Démonstration : Trivial si r = 0. Comme r = X(D − αI)X −1 u, on a 1 =


kuk2 ≤ −1 −1 −1 (D − αI)−1 krk , minλ∈sp(A) |λ − α| ≤
X(D − αI) X r 2 ≤ kXk2 X

2 2 2
−1
kXk2 X 2 krk2 .

7.4 Quelques algorithmes de recherche des valeurs propres


Il existe principalement deux types d’algorithmes de recherche de valeurs propres. Ceux
qui permettent de déterminer la totalité du spectre de A, et ceux qui se concentrent sur
certaines parties du spectres. Des parties souvent cherchés en pratiques, son celle constituée
des valeurs propres de plus grand module, celle constituée des valeurs propres de plus petit
module, par exemple.
Nous paragraphe est d’exposer quelques principes de fonctionnement de ces algorithmes,
et d’énoncer quelques résultats simples de convergence.

7.4.1 Une méthode de détermination de la totalité du spectre : la méthode


QR
Il ne faut pas confondre la méthode QR de recherche des valeurs propres, avec la
factorisation QR d’un matrice (de Householder par exemple). Nous allons voir que la
méthode QR est basée sur des factorisations QR de Householder de matrices carrées, car
ces factorisations sont très robustes aux erreurs d’arrondis. L’algorithme sous sa forme la
plus élémentaire est en effet le suivant :

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
70 Chapitre 7 : Problèmes aux valeurs propres

Naive QR method
1. Set A0 = A
2. For k=0,2, ... Do
3. Householder factorization Ak = Qk Rk (cost O(n3 ))
4. Compute Ak+1 = Rk Qk (cost O(n3 ))
5. if Ak is close enough to an upper-triangular matrix then stop
6. EndDo

Cet algorithme procède par transformations unitaire de la matrice A. En effet, A2 =


R1 Q1 = QH H H
1 A1 Q1 = Q1 Q0 AQ0 Q1 . La matrice Ak possède les mêmes valeurs propres
que A, et sous des hypothèses simples on montre que les éléments sou-diagonaux de Ak
tendent vers 0, et donc la diagonale de Ak tend vers les valeurs propres de A. Le résultat
ci-dessous n’est pas le plus général, mais a l’avantage de la simplicité.
Théorème 7.10 On suppose que la matrice A est inversible, et que ses valeurs propres
sont toutes de modules différents. La matrice A est donc diagonalisable A = P DP −1 , avec
D = diag(λ1 , . . . λn ) et |λ1 | > |λ2 | > · · · > |λn |. On suppose de plus que P −1 admet une
factorisation LU. Alors si (Ak )ij est l’élément ij de Ak , on a le résultat suivant

limk→+∞ (Ak )ii = λi
limk→+∞ (Ak )ij = 0 pour j < i.
Démonstration : Admise (voir Ciarlet).
2
Deux nombreuses modifications algorithmes sont à mener sur l’algorithme naif pour at-
teindre la méthode QR telle qu’ell est implantée dans les librairies actuelles. Cette méthode
optimisée, tant du point de vue du nombre des opérations, que du controle de la propagation
des erreurs d’arrondis, est la méthode la plus sure actuellement pour calculer des valeurs
propres (comme l’est l’élimination de Gauss avec pivotage pour les sytèmes linéaires).
C’est donc la méthode à utiliser si les ressources informatiques le permettent.
Nous citons deux améliorations apportées à la méthode naive : la réduction sous forme
Hessenberg, et le shift. La réduction sous forme Hessenberg part du principe que si A est
sous forme Hessenberg, alors toutes les Ak restent sous forment Hessenberg, ce qui permet
de réduire considérablement les temps de calcul d’une itération de la méthode.
L’autres optimisation consiste a introduire un shift sk au cours des itérations. Certains
choix de ce shift permettent en effet de réduire les itérations nécessaires à la convergence.
Une première amélioration de l’algorithme précédent est donc :
Naive QR method
1. Set A−1 = A
2. Compute A0 such that P A0 P H = A (cost O(n3 ))
where A0 is Hessenberg and P is orthogonal,
2. For k=0,2, ... Do
3. Householder factorization Ak − sk In = Qk Rk (cost O(n2 ))
4. Compute Ak+1 = Rk Qk − sk In (cost O(n2 ))
5. if Ak is close enough to an upper-triangular matrix then stop
6. EndDo

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
71 Chapitre 7 : Problèmes aux valeurs propres

Proposition 7.11 Montrer que si A0 est Hessenberg supérieure, Ak est Hessenberg supérieure
pour tout k. Montrer que Ak est unitairement équivalent à A.
Preuve 7.4 Démonstration : On utilise par exemple une factorization QR de Gram-
Schmidt pour déduire les structures de nonzéros pour cette preuve. Quand on retranche
à une colnne d’une matrice de Hessenberg, une combinaison linéaire des colonnes qui la
précèdent, on n’introduit pas de non-zeros. Donc la factorisation QR d’une matrice de
Hessenberg s’écrit Ak − sk In = QR selon :
    
× × × × × × × × × × × ×
 × × × ×   × × × ×  × × × 
 =  .
 × × ×   × × ×   × × 
× × × × ×
Le produit RQ − sk In = Ak+1 donne alors le calcul suivant
      
× × × × × × × × × × × × ×
 × × ×  × × × ×  
    ×   × × × × 
 − = ,
 × ×  × × ×   ×   × × × 
× × × × × ×
donc Ak+1 est bien une matrice de Hessenberg.
Pour l’équivalence unitaire, on a A2 = R1 Q1 +s1 In = (QH H H
1 A1 −s1 Q1 )Q1 +s1 Q1 Q1 =
H H H H
Q1 A1 Q1 et de même A1 = Q0 A0 Q0 = Q0 P AP Q0 , d’où le résulat par récurence.
2
L’algorithme QR pour la recherche des valeurs propres est un algorithme très impor-
tant, qui a révolutionné l’algèbre linéaire numérique et permet de disposer d’une méthode
fiable pour calculer tout le spectre d’une matrice. Cet algorithme est en revanche coûteux
en mémoire car il demande de stocker des matrices triangulaires et de Hessenberg de la
même taille que A. De même en termes de nombre d’opérations, il a une complexité en
n3 , ce qui peut s’avérer rédhibitoire pour des matrices de la taille de quelques dizaines de
milliers de lignes. Pour cette raison, des méthodes alternatives sont utilisés lorsque seul
un sous-ensemble du spectre est désiré.

7.4.2 Une méthode de détermination d’une partie du spectre : la méthode


de la puissance
La plus simple méthode permettant de calculer une partie du spectre est la méthode de
la puissance qui vise à calculer la valeur propre de plus grand module de A. L’algorithme
est le suivant :
Power method
1. Choose x0
2. For k=0,2, ... Do
Axk
3. Compute xk+1 = kAx k k2
H
4. Set µk+1 = xk+1 Axk
5. if (µk+1 , xk+1 ) is reasonable eigenpair of A then stop
6. EndDo

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
72 Chapitre 7 : Problèmes aux valeurs propres

Une condition simple de convergence de la méthode de la puissance est donnée par le


théorème 7.12 suivant

Proposition 7.12 Soit A ∈ Cl n×n telle que les valeurs propres de A sont les λi , avec
|λ1 | > |λ2 | ≥ · · · ≥ |λn |. Soit y un vecteur propre à gauche de A associé à λ1 . Si y T x0 6= 0,
alors on a limk→+∞ µk = λ1 et limk→+∞ xk est un vecteur propre de A associé à λ1 .

Preuve 7.5 Démonstration : La valeur propre λ1 est simple. D’après le lemme ??, on
choisit X tel que  
λ 0
A=X X −1 ,
0 R
où les valeurs propres de R sont plus petites que λ1 en module et donc limk↔+inf ty Rk /λk1 =
0. On sait de plus d’après le lemme ?? que X −T e1 est un vecteur propres à gauche associé
à λ1 , et l’hypothèse de l’énoncé implique que eT1 X −1 x0 = eT1 y0 6= 0. D’après ce lemme,
Xe1 est un vecteur propre à droite de A associé
 k à λ1 .   k 
−1 λ1 0 λ1 0
Posons yk = X xk . Alors, on a yk = y0 , puis xk = X y0 ,
0 Rk 0 Rk
et donc !
xk 1 0
y0 = X 10 eT1 y0 ,

limk↔+inf ty k = limk↔+inf ty X Rk
λ1 0 λk 1

où l’ on a utilisé le fait que eT1 y0 6= 0. On en déduit donc que

xk Xe1
lim = ,
k↔+inf ty kxk k kXe1 k
Xe1
ce qui montre que uk tend vers le vecteur propre à droite normalisé kXe1 k . On obtient
eT T
1 X (A−λ1 )Xe1
aussi que limk↔+inf ty λk − λ1 = kXe1 k2
= 0, car (A − λ1 )Xe1 = 0, et donc λk tend
bien vers λ1 . Concernant les vitesses de convergence, d’une manière qualitative, plus la
quantité ρ(R/λ1 ) est faible, plus vite yk /kyk k converge vers e1 , et donc plus vite xk /kxk k
converge vers x/kxk.

Plus la quantité ρ(R/λ1 ) est faible, plus vite ces convergences ont lieu. Trois remarques
importantes peuvent être faites sur la méthode de la puissance :
– Coût de chaque itération. En mémoire, cette méthode est peu coûteuse, vu qu’il s’agit
de stocker les vecteurs uk essentiellement. En opérations, le coût est déterminé par
le coût d’un produit matrice vecteur, ce qui est peu si la matrice A est très creuse,
par exemple.
– Pour la convergence. On a vu que si la plus grande valeur propre en module est
bien séparée des autres (au sens où ρ(R/λ1 ) = | λλ21 | est faible), la convergence de
la méthode est rapide. Cette remarque peut conduire à l’idée d’appliquer la méthode
de la puissance, non á A, mais a (A − σI)−1 , pour calculer la valeur propre de A la
plus proche du paramètre dit de shift, σ. Bien sûr, la matrice inverse n’est jamais

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
73 Chapitre 7 : Problèmes aux valeurs propres

calculée, A − σI est factorisée une fois pour toutes en début d’algorithme. Cette
méthode s’appelle la méthode de la puissance avec shift et invert. La convergence
sera d’autant plus rapide que σ est proche de la valeur propre désirée. Il existe
une méthode ayant une convergence encore plus rapide : la méthode du quotient de
Rayleigh. Cette dernière méthode implante un shift variable au cours des itérations
et nécessite donc de factoriser plusieurs fois la matrice shiftée, ce qui peut s’avérer
trop coûteux pour certaines applications.
– La méthode de la puissance peut se généraliser à la recherche de r valeurs propres
dominantes en module de A. Cette méthode appelée méthode d’itération de sous-
espace s’écrit :
Subspace itération method
1. Choose X0 ∈Cl n×r
2. Factorize X0 = Q0 R0 , R0 ∈Cl r×r
3. For k=0,2, ... Do
4. Compute Xk+1 = AQk
5. Factorize Xk+1 = Qk+1 Rk+1
6. Compute the eigen pairs (µj , yj ) of QH k+1 AQk+1
7. if (µj , Qk+1 yj+1 ) is reasonable set of eigenpairs of A then stop
8. EndDo
La convergence de cette méthode dépend cette fois du ratio | λλr+1 r
|.
– Les algorithmes de la puissance et de l’itération de sous-espace, font intervenir
de manière explicite un critère d’arrêt pour stopper les itérations. Il serait très
imprudent d’utiliser un critère sur la stationnarité des itérés du type |λk+1 − λk | <
tol, car des plateaux peuvent apparaı̂tre avant que la convergence n’ait lieu. On
utilisera des critères basés sur l’erreur inverse kAy k −λk yk k
kAkkyk k pour juger de la qualité
de la pair propre approchée (λk , yk ).

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
74 Chapitre 7 : Problèmes aux valeurs propres

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

Optimisation

75
Chapitre 8

Optimisation sans contrainte

8.1 Introduction
On appelle problème d’optimisation un problème noté :

P : min f (x).
x∈C

La fonction f est appelée fonction objectif et l’ensemble C est l’ensemble des contraintes.
Nous nous limitons dans ce cours au cas où C est un sous-ensemble de Rn .

Exercice 8.1 Différence entre dimension infinie et dimension finie sur un exemple. Soit
1
Pn : min f (x) = xT x, où Cn = {x ∈ Rn , x1 = , et kxk2 ≤ 1}.
x∈Cn ⊂Rn 2
Soit
1 1
1
Z Z
2
P∞ : min f (x) = x , où C∞ = {x, x est continue et x(0) = , et x2 ≤ 1}.
x∈C∞ 0 2 0

Etudiez l’ensemble des solutions de Pn et P∞ .

Preuve 8.1 Démonstration : Le vecteur x̄ = ( 21 , 0 . . . 0)T est solution de Pn . Pour tout x,


on a f (x) > 0. Si
0 si t ∈] n1 , 1]

xn (t) = −n 1 1 ,
2 (t − n ) si t ∈ [0, n ]

R 1 limn→+∞ f (xn ) = 0, mais il n’existe pas de fonction continue non nulle pour
on a alors
laquelle 0 x2 = 0. Donc P∞ n’admet pas de solution.

Il arrive que l’on s’intéresse à l’existence, l’unicité et au calcul de points x̄ qui mini-
misent f sur C, c’est à dire tels que

f (x̄) ≤ f (x) pour tout x dans C.

77
78 Chapitre 8 : Optimisation sans contrainte

c’est un problème d’optimisation globale. Dans les cas généraux, nous verrons qu’il est
parfois possible de donner des conditions nécessaires, ou des conditions suffisantes d’op-
timalité, ou même quelquefois des conditions à la fois nécessaires et suffisantes. Les al-
gorithmes rechercheront des points qui vérifient ces conditions. Le problème de moindres
carrés linéaires vu précédemment est un exemple de problème d’optimisation.
Exercice 8.2 Un fabricant de composants électroniques possède deux types de fabriques :
A et B, notées Ai , 1 ≤ m et Bj , 1 ≤ j ≤ n. Lors de la fabrication, chacun de ces
composants doit tout d’abord passer par une des usines de type A puis par une de type B.
Comme ces usines ne se trouvent pas dans le même lieu géographique, le fabricant doit
étudier le meilleur moyen pour transporter ces composants à moindre coût des usines Ai
vers les usines Bj . Connaissant la matrice des coûts C = [cij ] où cij correspond au coût
de transport d’une pièce de l’usine Ai vers l’usine Bj , ainsi que le nombre de pièces ai
produites par l’usine Ai et le nombre de pièces bj que l’usine Bj doit recevoir, formuler
le plan de transport optimal (en terme de coût de transport) sous la forme d’un problème
d’optimisation. Données m = 2, n = 3, [a1 , a2 ] = [10, 20], [b1 , b2 , b3 ] = [5, 10, 15] et
 
2 8 7
C=
3 4 5

Preuve 8.2 Démonstration : Soient les variables de décision suivantes : xij nombre de
pièces allant de l’usine Ai vers l’usine Bj avec 1 ≤ i ≤ 2 et 1 ≤ j ≤ 3. Le problème
d’optimisation s’écrit : Minimiser z = 2x11 + 8x12 + 7x13 + 3x21 + 4x22 + 5x23 sous les
contraintes 

 x11 + x12 + x13 = 10



 x 21 + x 22 + x 23 = 20
x11 + x21 = 5


 x 12 + x 22 = 10
x + x = 15

 13 23



x11 ; x12 ; x13 ; x21 ; x22 ; x23 ≥ 0
2

Exercice 8.3 Principe de Fermat. Soient a, b, c trois réels positifs. On suppose que l’on a
deux milieux M1 = {(x, y), y > 0} et M2 = {(x, y), y < 0} et que la vitesse de propagation
d’un rayon lunimeux est ci dans Mi . On considère que le rayon se propage en ligne droite
dans chaque milieu et que le rayon suit un trajet de temps global de parcours minimum
(principe de Fermat). Formuler le problème de la recherche du trajet entre A(0, a) et
B(c, −b) sous la forme d’un problème d’optimisation. En utilisant une étude de fonction,
montrez que le principe de Fermat se traduit par la loi de Snell
sinα1 sinα2
= .
c1 c2
Preuve 8.3 Démonstration : Soit X(x0 , 0) le point où le rayon change de milieu. Le
temps de trajet est
1p 2 1p
T (x) = a + x2 + (c − x)2 + b2 ,
c1 c2

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

et x0 minimise T (x). Les minima d’une fonction réelle vérifient T 0 (x) = 0, ce qui donne
x c−x
√ = p ,
c1 2
a +x 2 c2 (c − x)2 + b2

ce qui donne bien la loi de Snell puisque sin(α1 ) = √ x et sin(α2 ) = √ c−x


.
a2 +x2 (c−x)2 +b2

Exercice 8.4 Mission : désamorcer une bombe nucléaire sur un yacht. Yacht amarré à 50
mètres du rivage. James Bond se trouve à 100 mètres du point le plus proche du yacht sur
la plage. Vitesses : course 18km/h, nage : 10km/h. Temps de désamorage : 30 secondes.
Explosion dans 65 secondes. Formaliser la faisabilité de cette mission sous la forme d’un
problème d’optimisation.

Preuve 8.4 Démonstration : Le temps de parcours du héros est f (x) = x5 +0.36 502 + (100 − x)2 .
p

On veut donc que f (x) soit inférieur à 65 − 30 = 35 secondes, ce qui conduit au problème

min f (x),

sous les contraintes


x ≥ 0 et x ≤ 100.
Note : f (0) = 40.25, f (100) = 38 mais f (66) = 34.96.

Definition 8.1 Une fonction f est semicontinue inférieurement sur Rn ssi

pour tout α ∈ R, l’ensemble {x, f (x) ≤ α} est fermé .

Une fonction continue est semicontinue inférieurement.

Exercice 8.5 Nous supposons que C est fermé et qu’il existe un point de C en lequel f
est finie. Supposons de plus que f est semicontinue inférieurement sur C, et f est coercive
( lim f (x) = +∞). La fonction f admet un minimum sur C.
kxk → +∞
x∈C

Preuve 8.5 Démonstration : Faisons la démonstration dans le cas où f est continue. Soit
x0 ∈ C en lequel f est finie. Une conséquence de la coercivité est que il existe α tel que
kxk > α entraı̂ne f (x) ≥ f (x0 ). Alors le problème d’optimisation revient a la minimisation
de la fonction continue f sur le compact K = {x ∈ C, kxk ≤ α}. Comme l’image continue
d’un compact est un compact, f (K) est un compact en dimension finie, donc c’est un
fermé borné. Donc le réel infx∈K f (x) qui appartient à l’adhérence de f (K) appartient à
f (K), ainsi il existe x∗ ∈ K tel que f (x∗ ) = inf x∈K f (x) ≤ f (x) pour tout x ∈ Rn .

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

Le résultat ci-dessus peut-être utilisé pour montrer que le problème d’optimisation de


l’exemple 8.3 admet au moins une solution.
Definition 8.2 Une partie C est dite convexe ssi pour tout (x, y) ∈ C 2 , et pour tout α ∈
[0 , 1], αx + (1 − α)y ∈ C. Une fonction f définie sur une partie C convexe est une fonction
convexe ssi (x, y) ∈ C 2 , et pour tout α ∈ [0 , 1] on a f (αx+(1−α)y) ≤ αf (x)+(1−α)f (y)).
Une fonction f définie sur une partie C convexe est une fonction strictement convexe ssi
(x, y) ∈ C 2 , x 6= y, et pour tout α ∈]0 , 1[ on a f (αx + (1 − α)y) < αf (x) + (1 − α)f (y)).

Exercice 8.6 Si C est convexe et si f est strictement convexe sur C, alors f admet au
plus un minimum sur C.

Preuve 8.6 Démonstration : Supposons qu’il existe deux minima x0 et x1 de f dans C(


i.e. f (x0 ) = f (x1 ) ≤ f (x) pour tout x ∈ C). D’après la stricte convexité de f sur C, on a
x0 x1 1 1
f( + ) < f (x0 ) + f (x1 ) = f (x0 ),
2 2 2 2
ce qui est impossible d’après la définition même du minimum.
2

8.2 Rudiments en calcul différentiel


Definition 8.3 Une fonction f définie sur un ouvert O ⊂ Rn est dite dérivable (au sens
de Fréchet) en x ssi il existe un vecteur ligne f 0 (x) tel que

f (x + h) = f (x) + f 0 (x)h + o(h),

où l’on a posé o(h) = khk(h), avec limkhk→0 (h) = 0. Le vecteur colonne f 0 (x)T s’appelle
gradient de f en x et est noté ∇f (x). Notez que cette notion généralise la notion de
dérivabilité d’une fonction de R dans R et que f 0 (x) ne dépend pas de la norme considérée.

Exercice 8.7 Montrez que si f est dérivable en x, alors


1. f est continue en x,
2. f admet des dérivées partielles en x et f 0 (x) = [ ∂f∂x(x)
1
, . . . , ∂f (x)
∂xn ] ∈ R
1×n .

Preuve 8.7 Démonstration : Par définition de la différentiabilité en x, f (x + h) = f (x) +


f 0 (x)h + o(h) donc limh→0 f (x + h) = limh→0 f (x) + f 0 (x)h + o(h) = f (x), ce qui est bien
la définition de la continuité. En ce qui concerne les dérivées partielles, posons h = δei ,
où δ 6= 0 et ei est le i-ème vecteur de la base canonique de Rn . On a alors en considérant
la norme Euclidienne, f (x + δei ) − f (x) = δ · f 0 (x)ei + |δ| · (δei ), c’est à dire, pour δ 6= 0,

f (x + δ · ei ) − f (x) |δ|
lim = lim f 0 (x)ei + (δei ) = f 0 (x)ei .
δ→0 δ δ→0 δ
∂f (x)
On obtient donc ∂xi = f 0 (x)ei .

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

Exercice 8.8 On considère la fonction quadratique définie sur Rn par f (x) = 12 xT Ax −


xT b, où A est carrée et symétrique montrez que ∇f (x) = Ax − b.

Preuve 8.8 Démonstration : On a

1
f (x + h) = (x + h)T A(x + h) − (x + h)T b
2
1 T 1 1 1
= x Ax + hT Ah + xT Ah + hT Ax − (x + h)T b
2 2 2 2
T 1 T
= f (x) + (Ax − b) h + h Ah.
2
|hT Ah| khk22 kAk2 |hT Ah|
De plus, 0 ≤ khk2 ≤ khk2 = kAk2 khk2 , donc limkhk2 →0 khk2 = 0, ce qui montre
que hT Ah = o(h).

Definition 8.4 Une fonction f est dite deux fois dérivable si chaque dérivée partielle
∂f (x)
∂xi est dérivable. Une fonction est k fois dérivable si elle est k − 1 fois dérivable et si
les dérivées partielles à l’ordre k − 1 sont dérivables.

Exercice 8.9 (Dérivation d’une composée) Soit f , définie sur un ouvert O ⊂ Rn , dérivable
en tout x ∈ O. Soit d ∈ Rn . On définit localement en x la fonction de la variable réelle t
par φ : t 7→ φ(t) = f (x + td). Montrez que φ est dérivable en 0 et que
n
X ∂f (x)
φ0 (0) = ∇f (x)T d = di .
∂xi
i=1

On suppose chaque composante fi0 (x) = ∂f∂x(x)


i
de f 0 (x) est dérivable en x. Montrez que φ
est deux fois dérivable en 0 et montrez que
n X
n
X ∂ 2 f (x)
φ00 (0) = di dj .
∂xi xj
i=1 j=1

Preuve 8.9 Démonstration : En utilisant la définition de la différentiabilité de f en x +


t · d, on trouve que f (x + (t + δt)d) = f (x + td) + f 0 (x)(d · δt) + kδt · dk(δt · d) =
f (x) + (f 0 (x + td)d)δt + |δt|1 (δt), avec 1 (δt) = kdk(δt · d) et limδt→0 1 (δt) = 0, d’où
le résultat obtenu en posant t = 0. On applique ce résultat à la fonction ψi (t) = ∂f (x+td)
∂xi ,
∂ 2 f (x)
n n
pour obtenir que ψi0 (0) = j=1 ∂xi ∂xj dj . On finit en remarquant que φ0 (t) = i=1 ψi (t)di ,
P P

et donc que φ00 (t) = ni=1 ψi0 (t)di .


P

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

Exercice 8.10 Supposons que f est une fonction définie sur un ouvert convexe O et 3
fois continûment dérivable en tout x ∈ O. Montrez qu’alors la matrice carrée symétrique
∂ 2 f (x)
∇2 f (x) = [ ∂x i ∂xj
] appelée Hessien de f en x, est telle que

1
f (x + h) = f (x) + ∇f (x)T h + hT ∇2 f (x)h + o(h2 ), (8.1)
2
où l’on a posé o(h2 ) = khk2 (h), avec limkhk→0 (h) = 0.

Preuve 8.10 Démonstration : Soit h tel que x + h ∈ O. On pose φ(t) = f (x + th). On a


2
alors φ0 (t) = nj=1 ∂f (x+th) hj , φ00 (t) = ni=1 nj=1 ∂ f∂x(x+th) hi hj = hT ∇2 f (x + th)h, et
P P P
∂xj i xj

n X
n X
n
X ∂ 3 f (x + th)
φ000 (t) = hi hj hk .
∂xi ∂xj ∂xk
k=1 i=1 j=1

D’après la formule de Taylor avec reste intégral on a φ(1) = φ(0) + φ0 (0) + 12 φ00 (0) +
R1 2 000
1 1 2 φ000 (s)ds, et il reste à montrer que lim 0 (1−s) φ (s)ds
R
2 0 (1 − s) khk→0 khk2
= 0. En utili-
sant l’équivalence des normes en dimension finie, on peut travailler avec n’importe quelle
3
norme. Choisissons la norme infinie. Notons tout d’abord que comme h 7→ ∂∂xfi(x+h) xj xk est
3
continue, il existe M et δ tel que | ∂∂xfi(x+h)
xj xk | < M pour tout h tel que khk∞ ≤ δ (pour
R1 R1
tout i et j). Alors, comme |hi | ≤ khk∞ , on a | 0 (1 − s)2 φ000 (s)ds| ≤ 0 |φ000 (s)|ds ≤
R1
| (1−s)2 φ000 (s)ds| 3 3
khk3∞ nk=1 ni=1 nj=1 M = M n3 khk3∞ . On a donc 0 ≤ 0 khk2 ≤ M nkhkkhk
P P P
2

,

d’où le résultat.

Exercice 8.11 On considère la fonction quadratique définie sur Rn par f (x) = 12 xT Ax −


xT b, où A est carrée et symétrique montrez que ∇2 f (x) = A.
∂f (x) Pn
Preuve 8.11 Démonstration : D’après l’exercice 8.8, ∂xi = (Ax−b)i = j=1 aij xj −bi .
∂ 2 f (x)
Donc ∂xi ∂xj = aij .
2

Exercice 8.12 (Taylor avec reste intégral) Supposons que f est une fonction définie sur
un ouvert convexe O et 1 fois continûment dérivable sur O. Montrez qu’alors pour tout x
et y de O, Z 1
f (y) = f (x) + ∇f (x + s(y − x))T (y − x) ds.
0
Si f est 2 fois continûment dérivable sur O,
Z 1
∇f (y) = ∇f (x) + ∇2 f (x + s(y − x))(y − x) ds.
0

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

Preuve 8.12 Démonstration : 1) Soit φ la fonction continûment différentiable sur [0, 1],
φ(t) = f (x + t(y − x)). Alors le premier résultat n’est autre que
Z 1
φ(1) = φ(0) + φ0 (s) ds.
s=0

∂f (x + t(y − x))
2) Soit φi la fonction continûment différentiable sur [0, 1], φ(t) = .
  ∂xi
Z 1 X n
∂f (y) ∂f (x) ∂ 2 f (x + s(y − x))
Alors 1) s’écrit = +  (y − x)j  ds, ce qui mis
∂xi ∂xi 0 ∂xj ∂xi
j=1
sous forme matricielle donne 2), puisque par définition du Hessien, ∇2 f (x + s(y − x)) =
2
[ ∂ f (x+s(y−x))
∂xi ∂xj ].

Definition 8.5 Soit f définie sur un ouvert O ⊂ Rn à valeurs dans Rm . On dit que f
est dérivable (au sens de Fréchet) en x, si chacune des composantes fi est dérivable (au
sens de Fréchet) en x. On a alors

f (x + h) = f (x) + f 0 (x)h + o(h),

où l’on a posé f 0 (x) = [f1 (x)0 ; . . . ; fm (x)0 ] ∈ Rm×n ainsi que o(h) = khk(h) ∈ Rm , avec
limkhk→0 (h) = 0 ∈ Rm . La matrice

∂f1 (x) ∂f1 (x)


 
... 
∇f1 (x)T

 ∂x1 ∂xn 
0
 .. .. ..   .. m×n
f (x) = Df (x) =  = ∈R

 . . .  .
 ∂fm (x) ∂fm (x) 
∇fm (x)T
...
∂x1 ∂xn
est appelée matrice Jacobienne de f en x.

Exercice 8.13 Dérivation d’une composée. Soit f définie sur un ouvert O ⊂ Rn , différentiable
en x ∈ O, à valeurs dans Rm . Soit g définie sur un ouvert V ⊂ Rm , différentiable en
f (x) ∈ V, à valeurs dans Rp . Alors la fonction x 7→ gof (x) = g(f (x)) définie sur l’ou-
vert O est différentiable en x et vérifie (gof )0 (x) = g 0 (f (x)) · f 0 (x), où f 0 (x) ∈ Rm×n et
g 0 (f (x)) ∈ Rp×m .

Preuve 8.13 Démonstration : Par définition de la différentiabilité en x de f , on a f (x +


h) = f (x) + f 0 (x)h + khk1 (h) et

g(f (x + h)) = g f (x) + f 0 (x)h + khk1 (h)




g(f (x + h)) = g(f (x)) + g 0 (f (x)) f 0 (x)h + khk1 (h)




+ f 0 (x)h + khk1 (h) 2 f 0 (x)h + khk1 (h)




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

Posons 3 (h) = khk 1


(f 0 (x)h + khk1 (h)) 2 (f 0 (x)h + khk1 (h)) + g 0 (f (x))khk1 (h). Alors
0 ≤ 3 (h) ≤ (kf 0 (x)k + k1 (h)k) k2 (f 0 (x)h + khk1 (h))k + kg 0 (f (x))1 (h)k. Le membre
droit de cette inégalité tend bien vers 0 lorsque h tend vers 0 par définition de 1 et 2 .
Ainsi limkhk2 →0 3 (h) = 0 et

g(f (x + h)) = g(f (x)) + g 0 (f (x))f 0 (x)h + o(h).

Exercice 8.14 Dérivation numérique. Pour une fonction différentiable, nous avons vu
que le calcul de la dérivée se ramène au calcul de dérivées partielles, donc de dérivées de
fonctions φ de R dans R. On suppose que φ est deux fois dérivable et que |φ00 (x)| ≤ M .
Sur un ordinateur, l’évaluation de φ se fait à  près : à la place de φ(x), on calcule
φ(x) = φ(x) + δ(x), avec |δ(x)| ≤ . Posons ∆φh (x) = φ(x+h)− φ(x)
. Montrez que |φ0 (x) −
e e e
e
h
∆φh (x)| ≤ M2h + 2 h , En déduire que un choix ”raisonnable” pour h est h0 = 2 M , pour
e p

lequel |φ0 (x) − ∆φh0 (x)| ≤ 2 M .
e

Preuve 8.14 Démonstration : D’après le théorème de Taylor Lagrange, il existe θ, 0 <


2
θ < 1, tel que φ(x+h) = φ(x)+φ0 (x)h+ h2 φ00 (x+θh), ce qui montre que |φ0 (x)−∆φh (x)| ≤
M h/2. Cette erreur est une erreur d’approximation de la dérivée par une formule de
différence finie. De plus,

|δ(x + h) − δ(x)| 
|∆φh (x) − ∆φh (x)| = ≤2 .
e
h h
Cette erreur est une erreur numérique due au calcul de la différence finie sur ordinateur.
On a alors
Mh 
|φ0 (x) − ∆φh (x)| ≤ |φ0 (x) − ∆φh (x)| + |∆φh (x) − ∆φh (x)| ≤ +2 .
e e
2 h

Une idée pour choisir h est de minimiser pour h > 0 la borne de l’erreur M2h + 2 h . La
dérivée vaut M  
p
2 − 2 h2 et s’annule en h = 2 M , qui est bien le minimum (pour le voir
Mh 
étudier la fonction h 7→ 2 + 2 h .

8.3 Minimisation locale


Definition 8.6 Soit f une fonction définie sur un ouvert O de Rn . Un point x̄ pour lequel
il existe  > 0 tel que

f (x̄) ≤ f (x) pour tout x tel que kx̄ − xk < 

est un minimum local de f .

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

Exercice 8.15 Si f est différentiable en x et si x est un minimum local f alors

∇f (x) = 0. (8.2)

Notez qu’en présence de contraintes, ce résultat ne tient plus (considérer min x).
x∈[0,1]

Preuve 8.15 Démonstration : Supposons qu’il existe d tel que ∇f (x)T d < 0. Soit φ : t 7→
f (x + td), on a alors φ0 (0) = ∇f (x)T d < 0. On a alors φ(t) = φ(0) + φ0 (0)t + |t|(t).
0 0
Comme  tend vers 0 en 0, il existe t0 tel que si t ≤ t0 , (t) ≤ |φ 2(0)| = −φ2(0) . Mais alors,
0
pour t > 0, φ(t) − φ(0) ≤ t φ 2(0) < 0, ce qui contredit que x̄ est un minimum local de f .

Exercice 8.16 Loi de Snell. En reprenant l’exercice 8.3, montrez que le principe de Fer-
mat se traduit par la loi de Snell
sinα1 sinα2
= .
c1 c2

Preuve 8.16 Démonstration : En appliquant l’exercice 8.5 à T (x), il apparaı̂t que la


fonction T (x) admet au moins un minimum global. Ces minima vérifient T 0 (x) = 0, ce
qui donne
x c−x
√ = p ,
2
c1 a + x 2 c2 (c − x)2 + b2
ce qui donne bien la loi de Snell puisque sin(α1 ) = √ x et sin(α2 ) = √ c−x
.
a2 +x2 (c−x)2 +b2

Supposons f : O ⊂ Rn → Rn deux fois dérivable au point x ∈ O.

Exercice 8.17 Si x est un minimum local de f et si f est deux fois différentiable en x,


alors
∇f (x) = 0 et ∇2 f (x) est semi-définie positive. (8.3)
Considérer min x3 pour montrer que (8.3) n’est pas une condition suffisante de minimum
x∈R
local.

Preuve 8.17 Démonstration : Pour d ∈ Rn fixé, et φ : t 7→ f (x + td), on a φ0 (0) =


dT ∇f (x), et φ00 (0) = dT ∇2 f (x)d. Comme 0 est un minimum local de la fonction φ (de
la variable réelle t) on a φ0 (0) = 0. Donc φ(t) = φ(0) + φ00 (0)t2 /2 + t2 (t). Comme
(t) tend vers 0 en 0, il existe t0 tel que si 0 < t < t0 , (t) ≤ |φ00 (0)|/4. Mais alors si
φ00 (0) < 0, φ(t) − φ(0) = φ00 (0)t2 /2 + t2 (t) ≤ φ00 (0)t2 (1/2 − 1/4) = φ00 (0)t2 /2 < 0 pour
tout t < t0 . Cela contredit le fait que 0 est un minimum local de φ. Donc pour tout d,
φ00 (0) = dT ∇2 f (x)d ≥ 0.

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

Exercice 8.18 Si f est deux fois différentiable en x et si

∇f (x) = 0 et ∇2 f (x) est définie positive, (8.4)

alors x est un minimum local de f .

Preuve 8.18 Démonstration : Raisonnons par l’absurde. On suppose que x n’est pas un
minimum local de f et que ∇f (x) = 0 ; montrons que ∇2 f (x) n’est pas définie positive.
Si x n’est pas un minimum local de f , il existe une suite (xk ) convergeant vers x dont le
terme k est défini ainsi : xk est tel que 0 < kx − xk k ≤ 1/k et f (xk ) < f (x). Soit alors la
direction normalisée dk = kxxkk −x
−xk et tk = kxk − xk (i.e. xk = x + tk dk ). Comme kdk = 1,
dk appartient à un compact et on peut en extraire une sous-suite convergente. Soit d la
limite d’une telle sous-suite notée sans perdre de généralité (dk ). Alors 0 > f (xkt2)−f
/2
(x)
=
k
f (x+tk dk )−f (x)
t2k /2
= h∇2 f (x)dk , dk i + 2(tk ), et comme (tk ) → 0 on a par passage à la limite
h∇2 f (x)d, di ≤ 0. Cela montre que ∇2 f (x) n’est pas définie positive.

Exercice 8.19 On considère la fonction quadratique définie sur Rn par f (x) = 21 xT Ax −


xT b, où A est carrée et symétrique montrez que si A est symétrique et définie positive,
alors A−1 b est l’unique minimum de f . Appliquez ce résultat aux moindres carrés linéaires
minx∈Rn kAx − bk2 , avec rg(A) = n.

Preuve 8.19 Démonstration : Sans passer par les valeurs propres, le problème minkxk=1 xT Ax
admet au moins une solution xmin (fonction continue sur un compact). De plus comme A
est symétrique et définie positive, xTmin Axmin = σmin > 0. Ainsi,

1 x T x 1
f (x) = kxk2 A − xT b ≥ kxk(σmin kxk − kbk),
2 kxk kxk 2

donc limkxk→+∞ f (x) = +∞. La fonction f admet au moins un minimum car f est conti-
nue et coercive. D’après les exercices 8.8 et 8.15, la condition nécessaire d’optimialité
s’écrit ∇f (x) = Ax − b = 0, ce qui entraı̂ne x = A−1 b car A est symétrique et définie posi-
tive, donc inversible. Il est normal que ce minimum vérifie aussi la condition nécessaire du
second ordre de l’exercice 8.17 (∇2 f (x) = A est semi-définie positive). De plus, il vérifie
la condition suffisante du second ordre de l’exercice 8.18 (∇2 f (x) = A est définie positive).
On s’intéresse à présent aux moindres carrés linéaires. Alors f (x) = kAx − bk22 = xT AT Ax−
2xT AT b+bT b. Nous avons vu que si rg(A) = n, alors AT A est définie positive (Ker(AT A) =
Ker(A) et formule du rang sur A, n = rg(A) + dim Ker(A), d’où Ker(AT A) = {0}. La
matrice AT A est donc symétrique définie positive). L’exercice montre alors qu’une condi-
tion nécessaire et suffisante d’optimialité est ∇f (x) = 2(AT Ax − AT b) = 0, et on retrouve
bien l’équation normale AT Ax = AT b.

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

8.4 Algorithmes de minimisation sans contrainte


8.4.1 La méthode de Newton
Cette méthode et ses variantes moins coûteuses, forment une des principales classes
de méthode d’optimisation pour les problèmes sans contraintes. Cette méthode s’écrit :

Newton’s method
1. Choose x0
2. For k=0,2, ... Do
3. Compute if ∇2 f (xk ) is nonsingular
4. xk+1 = xk − ∇2 f (xk )−1 ∇f (xk )
5. EndDo

Quelques remarques sur sa mise en œuvre :


– Cette méthode nécessite d’avoir à faire à une fonction deux fois dérivable et à ses
dérivées jusqu’à l’ordre 2.
– Cette méthode nécessite aussi la résolution de systèmes linéaires (on ne calcule pas
l’inverse). Cette opération peut être coûteuse pour des systèmes de grande taille.
– Cette méthode jouit de propriétés de convergence locale très intéressantes comme
nous allons le voir.
Soit x ∈ Rn . On considère l’approximation quadratique de f , fonction deux fois dérivable,
k

suivante : m(x) = f (xk ) + ∇f (xk )T (x − xk ) + 12 (x − xk )T ∇2 f (xk )(x − xk ). Supposons que


∇2 f (xk ) est symétrique et définie positive alors le minimum x? de m(x) vérifie x? −
xk = −∇2 f (xk )−1 ∇f (xk ) d’après l’exercice 8.19. La méthode de Newton minimise donc à
chaque pas où ∇2 f (xk ) est symétrique et définie positive l’approximation quadratique de f
de l’exercice 8.10. Notez que si ∇2 f (xk ) a des valeurs propres négatives, l’approximation
quadratique n’est pas bornée inférieurement, et le point xk+1 peut même dans certains cas
être un maximum de m(x) (considérer −(x − xk )2 ). Cette situation n’arrive pas si l’on est
suffisamment proche de points vérifiant 8.18. Cela conduit aux conditions dites standart
pour l’algorithme de Newton. Hypothèses standart en x ∈ O, où O est un ouvert convexe
de Rn :
c1 f est deux fois continûment différentiable sur O
c2 x 7→ ∇2 f (x) est Lipschitz continue sur O : k∇2 f (y) − ∇2 f (x)k ≤ γky − xk
c3 ∇f (x) = 0 et ∇2 f (x) est définie positive

Exercice 8.20 Sous les hypothèses standart, il existe δ > 0 et K > 0, tels que si
kx − x0 k ≤ δ, kx − xk+1 k ≤ Kkx − xk k2 . Si Kδ < 1, (xk ) converge vers x. Une telle
convergence est appelée locale quadratique.

Preuve 8.20 Démonstration : 1) En utilisant le Théorème de Rouché (ou un résultat de


continuité des valeurs propres), il existe un voisinage de x inclus dans O où ∇2 f (x) est
définie positive. Les fonctions x 7→ k∇2 f (x)k et x 7→ k∇2 f (x)−1 k sont continues dans un
−1
voisinage de x inclus dans O car x 7→ ∇2 f (x) est continue, dans O et x 7→ ∇2 f (x)
est continue dans un voisinage de x car ∇2 f (x) est inversible. Donc il existe δ tel que

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

kx − xk ≤ δ (noté x ∈ B(δ)) entraı̂ne

k∇2 f (x)k ≤ 2k∇2 f (x)k et k∇2 f (x)−1 k ≤ 2k∇2 f (x)−1 k, et ∇2 f (x) est définie positive.
R1 2 (8.5)
Soit xk ∈ B(δ). Alors en utilisant l’exercice 8.12 on obtient ∇f (xk ) = 0 ∇ f (x + s(xk − x))(xk −
x) ds, qui montre que

kx − xk+1 k = kx − xk + ∇2 f (xk )−1 ∇f (xk )k (8.6)


 Z 1 
= k∇2 f (xk )−1 ∇2 f (xk )(x − xk ) + ∇2 f (x + s(xk − x))(xk − x) ds(8.7)
k
0
Z 1
= k∇2 f (xk )−1 ∇2 f (x + s(xk − x)) − ∇2 f (xk ) (xk − x) dsk

(8.8)
0
Z 1
2 −1
≤ 2γk∇ f (x) k (1 − s)kxk − xk2 = Kkx − xk k2 . (8.9)
0

Si Kδ < 1, xk+1 ∈ B(δ) (car kx − xk+1 k ≤ Kkxk − xkkxk − xk ≤ Kδkxk − xk) et par
induction si x0 ∈ B(δ), alors xk ∈ B(δ) pour tout k. De plus on vérifie aisément que
k
(Kδ)2
kx − xk k ≤ , ce qui montre que (xk ) converge vers x.
K
2
Pn 1
Exercice 8.21 (Critère d’arrêt) Pour la suite fn = k=1 , montrer que la stationarité
k
de fn (i.e. fn+1 −fn petit) n’indique pas la convergence. En déduire qu’arrêter une méthode
d’optimisation sur |f (xk+1 ) − f (xk )| ≤  est dangereux. En revanche, sous les conditions
standart, montrez que pour xk suffisamment proche de x, on a
kx − xk k k∇f (xk )k 4cond(∇2 f (x))kx − xk k
≤ ≤ .
4kx − x0 kcond(∇2 f (x)) k∇f (x0 )k kx − x0 k
En déduire que la norme relative du gradient est un critère d’arrêt possible si le Hessien
à l’optimum est bien conditionné.

Preuve 8.21 Démonstration : La suite fn diverge mais fn+1 − fn tend vers 0. Par les
mêmes arguments que pour la preuve de 8.20 on a pour xk ∈ B(δ),
Z
k∇f (xk )k = k ∇2 f (x + s(xk − x))(xk − x) ds,k ≤ 2k∇2 f (x)kkx − xk k.

Utilisant l’exercice 8.12 on obtient


Z
(xk − x)T ∇2 f (x + s(xk − x))(xk − x) ds = (xk − x)T ∇f (xk ) ≤ kxk − xkk∇f (xk )k.

La matrice ∇2 f (x + s(xk − x)) étant définie positive dans B(δ) l’inégalité matricielle pour
une matrice A symétrique définie positive z T z/λmax (A−1 ) = λmin (A)z T z ≤ z T Az montre
alors que Z 1
1
kxk − xk2 2 f (x + s(x − x))−1 k
≤ kxk − xkk∇f (xk )k.
0 k∇ k

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

kxk −xk 2
En utilisant k∇2 f (xk )−1 k ≤ 2k∇2 f (x)−1 k, on obtient 2k∇ 2 f (x)−1 k ≤ kxk − xkk∇f (xk )k.

Finalement, en rassemblant les majorations et minorations obtenues, on a pour xk ∈ B(δ)


kxk −xk
2k∇2 f (x)−1 k
≤ k∇f (xk )k ≤ 2k∇2 f (x)kkx − xk k et la même inégalité pour x0 permet de
conclure.
2
Il
existe des variantes inexactes de la méthode de Newton où
–le gradient ∇f (xk ) est approximatif,
–le Hessien ∇2 f (xk ) est approximatif,
–la solution du système linéaire ∇2 f (xk )s = ∇f (xk ) est calculée de manière ap-
prochée,
dans le but de rendre la méthode moins coûteuse en mémoire et en temps de calcul.
Pour toutes ces variantes, des théories de convergence locale existent, qui imposent un
bon contrôle des approximations.

8.4.2 Méthodes quasi-Newton


Une façon d’approximer la Hessienne, pour éviter de calculer et de stocker les dérivées
d’ordre 2 est décrite comme suit. Pour une fonction quadratique, il est aisé de montrer que
∇f (x1 ) − ∇f (x2 ) = ∇2 f (x1 )(x1 − x2 ). Cela indique que la connaissance de deux vecteurs
distincts x1 et x2 et de la différence de gradient associée permet d’obtenir dans le cas
quadratique -ou au voisinage de la solution sous les hypothèses standart, dans les étapes
ultimes de la convergence- de l’information sur la Hessienne ∇2 f (x). Plus généralement,
on suppose connus, s = x1 − x2 et y = ∇f (x1 ) − ∇f (x2 ), ainsi qu’une approximation
courante B de la Hessienne. On cherche une nouvelle approximation B e telle que B e soit
symétrique et Bs = y. Cela ne suffit pas pour définir de manière unique B, et on recherche
e e
des Be de norme minimale (pour certaines normes) pour forcer l’unicité.

Exercice 8.22 On recherche une matrice B e = B + ∆B, supposée mieux approcher que
B la Hessienne en x2 en considérant le problème

min k∆BkF .
∆B = ∆B T
(B + ∆B)s = y

La solution de ce problème est donnée par la formule Powell-symmetric-Broyden :

(y − Bs)sT + s(y − Bs)T sT (y − Bs)ssT


∆B0 = − .
sT s (sT s)2

Preuve 8.22 Démonstration : On vérifie aisément que ∆B0 s = y − Bs et que ∆B0 est
symétrique. Soit q1 = s/ ksk2 . Pour tout ∆B qui vérifie les contraintes (et en particu-
lier pour ∆B0 ), on a ∆Bq1 = ∆B0 q1 = y−Bs ksk . soient qi , i = 2, . . . n, qui complètent
2
q1 en une base orthonormale de Rn . Alors de qiT q1 = 0 pour i > 1, on tire ∆B0 qi =
s(∆Bs)T qi ssT 2 Pn 2
T
s s
= T
s s
∆Bq i . D‘où, en notant Q = [q 1 , . . . , q n ], k∆B0 QkF = i=1 k∆B0 qi k2 ≤

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

Pn 2
= k∆BQk2F . En utilisant le fait que la norme de Frobenius est unitairement
i=1 k∆Bqi k2
invariante, on obtient k∆B0 kF ≤ k∆BkF , d’où le résultat.

Exercice 8.23 Soit f une fonction deux fois R 1 continûment dérivable, telle que ∇2 f (x)
2
est définie positive pour tout x. Soit G = 0 ∇ f (x1 + s(x2 − x1 )) ds. La matrice G
est symétrique définie positive. Soit une matrice symétrique W telle que W 2 = G. On
s’intéresse au problème
−1
W ∆BW −1 .

min F
∆B = ∆B T
(B + ∆B)s = y

La solution de ce problème est donnée par la formule de Davidon-Fletcher-Powell

(y − Bs)y T + y(y − Bs)T sT (y − Bs) · yy T


∆B0 = − .
sT y (sT y)2

Noter qu’alors
ysT sy T yy T
   
B + ∆B0 = I− T B I− T + T .
s y s y s y

Preuve 8.23 Démonstration : On a d’après l’exercice 8.12, puisque s = Rx1 − x2 et y =


1
∇f (x1 ) − ∇f (x2 ) que Gs = y. De plus G est définie positive (considérer 0 uT ∇2 f (x1 +
s(x2 −x1 ))u ds pour tout u de norme 1, et le fait que l’intégrande est continu et strictement
positif ). Donc sT y = sT Gs > 0. Soit alors W une racine carrée positive de G (en fait elle
est unique). Par changement de variable ∆ = W −T ∆BW −1 , le problème devient

min k∆kF .
∆ = ∆T
(W −1 BW −1 + ∆)W s = W −1 y

D’après l’exercice 8.22 précédent, et en notant que Gs = W W s = y et W s = W −1 y, la


solution s’écrit

(W −1 y − W −1 BW −1 W s)sT W + s(W −1 y − W −1 BW −1 W s)T


∆0 =
sT W W s
−1 −1 −1
s W (W y − W BW W s)W ssT W
T

(sT W W s)2
W −1 (y − Bs)y T W −1 + W −1 y(y − Bs)T W −1 sT (y − BW s)W −1 yy T W −1
= − .
sT y (sT y)2

En faisant le changement de variable ∆B = W ∆W , on obtient le résultat désiré.

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

Exercice 8.24 Nous avons vu que dans la méthode de Newton, il s’agit se résoudre des
systèmes linéaires de la forme ∇2 f (xk )s = ∇f (xk ). D’où l’idée d’approcher ∇2 f (xk )−1
plutôt que ∇2 f (xk ). Montrez que la formule BFGS (Broyden, Fletcher, Goldfarb, Shanno)

sy T ysT ssT
   
H + ∆H0 = I − T H I− T + T ,
y s y s y s
est telle que ∆H0 est solution de

min k∆Hk,
∆H = ∆H T
(H + ∆H)y = s

pour une norme k • k que vous identifierez.

Preuve 8.24 Démonstration : Dans la démonstration de l’exercice 8.23, on a démontré


que si Gs = y, avec G = W W définie positive, alors la mise a jour DFP pour
(B +∆B)s =
y est solution du problème de mise à jour avec la norme W −1 • W −1 F . On considère
maintenant l’équation (H + ∆H)y = s. On peut appliquer DFP a ce problème en notant
que s = G−1 y (G = W −1 W −1 est définie positive). La formule BFGS est alors la mise a
jour de DFP correspondant au problème

min kW ∆HW kF .
∆H = ∆H T
(H + ∆H)y = s
2
Deux principales difficultés sont rapportées dans la littérature sur la méthode de New-
ton pour la minimisation :
1. Son mauvais comportement lorsque le point de départ est loin de la solution sur des
problèmes pour lesquels certains Hessiens ∇2 f (xk ) sont définis positifs.
2. Son mauvais comportement lorsqu’elle rencontre des Hessiens ayant des valeurs
propres négatives ou nulles.
Une amélioration possible pour le problème 1) est la mise en place de stratégies de re-
cherches linéaires. Le point 2) est souvent appréhendé en utilisant des techniques de région
de confiance.

8.4.3 Globalisation des méthodes de Newton/quasi-Newton


2
Exercice 8.25 Calculez quelques itérés de la méthode de Newton sur f (x) = −e−x , pour
x0 = 10−1 , x0 = 1/2 et x0 = 1.
2 2 2
Preuve 8.25 Démonstration : f (x) = −e−x , f 0 (x) = 2xe−x , f 00 (x) = (2 − 4x2 )e−x .
Alors on a xk+1 = xk −2xk /(2−4x2k ) = −4x3k /(2−4x2k ). Pour x0 = 10−1 , on a x1 ∼ 2·10−3
et x2 ∼ 2 · 10−8 . Pour x0 = 1/2, on a x1 = −1/2 et x2 = 1/2. Pour x0 = 1, on a x1 ∼ 2.3
et x2 ∼ 2.5, x23 ∼ 5.4 et f (x23 ) ∼ 10−13 .

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

Nous voyons dans la suite deux techniques visant à rendre le convergence moins
dépendante du point de départ. Ces deux techniques sont appelées techniques de globa-
lisation, et chercheront à approcher une convergence locale quadratique au voisinage des
solutions de ∇f (x) = 0. Ces solutions sont appelées points critiques du premier ordre.

Recherche linéaire
Dans cette section, on suppose que la fonction f est deux fois continûment dérivable.

Definition 8.7 Soit xk ∈ Rn . On dit que dk est une direction de descente en xk si


∇f (xk )T dk < 0.

La terminologie ”direction de descente” s’explique aisément par l’exercice 8.26.

Exercice 8.26 Si dk est une direction de descente en xk , alors il existe η > 0 tel que

f (xk + αdk ) < f (xk ) pour tout α ∈]0, η].

Preuve 8.26 Démonstration : Soit φ(t) = f (xk + tdk ). Alors φ0 (t) = ∇f (xk + tdk )T dk ,
donc comme φ0 est continue, et φ0 (0) < 0, il existe 0
R t un0 intervalle ]0, η] où φ (t) < 0. Alors
pour t dans ]0, η], on a f (xk + αdk ) − f (xk ) = s=0 φ (s) ds < 0.

On envisage alors un premier algorithme de minimisation basé sur des directions de


descente :

Basic linesearch (bad algorithm)


1. Choose x0
2. For k=0,2, ... Do
3. Compute a descent direction such that ∇f (xk )T dk < 0
4. Compute a step such that f (xk + αk dk ) < f (xk ).
5. Update xk+1 = xk + αk dk .
6. EndDo

Exercice 8.27 L’algorithme ci-dessus ne suffit pas pour converger vers un minimum local
de f . Soit f (x) = x2 , x0 = 2.
1. On choisit dk = (−1)k+1 et αk = 2 + 3 · 2−k−1 . Vérifier que xk = (−1)k (1 + 2−k ) et
que chaque direction dk est de descente. Vérifier aussi que la suite ne converge pas,
que f (xk+1 ) < f (xk ) et que limk→+∞ f (xk ) = 1. Tracer les itérés et vérifier qu’entre
deux itérés successifs, la décroissance de f est très petite par rapport au pas |αk dk |.
2. On choisit dk = −1 et αk = 2−(k+1) . Vérifier que xk = 1+2−k et que chaque direction
dk est de descente. Vérifier aussi que la suite converge vers 1 (et pas vers 0) que
f (xk+1 ) < f (xk ) et que limk→+∞ f (xk ) = 1. Tracer les itérés et vérifier qu’entre
deux itérés successifs, les pas |αk dk | deviennent très petits par rapport à |f 0 (xk )dk |.

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

Preuve 8.27 Démonstration :


1. Par récurrence, xk+1 = xk + αk dk = (−1)k (1 + 2−k ) + (2 + 3 · 2−k−1 )(−1)k+1 =
(−1)k+1 (1 + 2−(k+1) ). Direction de descente : f 0 (xk )dk = 2(−1)k (1 + 2−k )(−1)k+1 <
0. La suite admet −1 et 1 comme points d’accumulation et limk→+∞ f (xk ) = 1. De
plus f (xk+1 ) − f (xk ) = (1 + 2−k )2 − (1 + 2−(k−1) )2 < 0.
2. Par récurrence, xk+1 = xk + αk dk = 1 + 2−k − 2−k−1 = 1 + 2−(k+1) . Direction de
descente : f 0 (xk )dk = 2(1 + 2−k )(−1) < 0, et f (xk+1 ) − f (xk ) < 0.

Definition 8.8 Soit β1 ∈]0, 1[, β2 ∈]β1 , 1[, et soit dk une direction de descente en xk . On
appelle conditions de Wolfe les deux conditions :
1. f (xk + αdk ) ≤ f (xk ) + β1 α∇f (xk )T dk (condition de diminution suffisante)
2. ∇f (xk + αdk )T dk ≥ β2 ∇f (xk )T dk (condition de progrès suffisant)
Ces deux conditions pallient respectivement les deux types de problèmes rencontrés dans
l’exercice 8.27. Si α → f (xk + αdk ) admet un minimum global, celui-ci vérifie les condi-
tions de Wolfe (mais peut être très ou trop cher à calculer à des étapes préliminaires de
convergence).

Preuve 8.28 Démonstration :


1. Dans le cas 1., f (xk +αk dk )−f (xk ) = (1+2−k−1 )2 −(1+2−k )2 = −2−k−1 (2+3·2−k−1 )
et ∇f (xk )T dk = −2(1 + 2−k ). Donc la condition de diminution suffisante n’est pas
vérifiée.
2. Dans le cas 2, ∇f (xk + αk dk )T dk = −2xk+1 et ∇f (xk )T dk = −2xk , et comme {xk }
tend vers 1, la condition de progrès suffisant n’est pas vérifiée.

Exercice 8.28 Validité des conditions de Wolfe. Soient f : Rn → R une fonction différentiable,
un point xk ∈ Rn et une direction (de descente) dk ∈ Rn telle que f est bornée inférieurement
dans la direction dk (c’est-à-dire il existe f0 tel que f (xk + αdk ) ≥ f0 pour tout α ≥ 0).
Pour 0 < β1 < 1, il existe η tel que la première condition de Wolfe soit vérifiée pour tout
αk , 0 < αk ≤ η. De plus, si 0 < β1 < β2 < 1, il existe α > 0 tel que les deux conditions de
Wolfe soient toutes deux vérifiées.

Preuve 8.29 Démonstration : On s’intéresse aux α > 0 tels que f (xk + αdk ) = f (xk ) +
β1 α∇f (xk )T dk . Cet ensemble est non vide (car sinon α 7→ f (xk + αdk ) serait en dessous
de α 7→ f (xk ) + β1 α∇f (xk )T dk , ce qui est impossible car 0 < β1 < 1 et f est bornée
inférieurement), fermé (image réciproque de {0}) et borné inférieurement. Donc cet en-
semble admet un plus petit élément α1 , qui vérifie

f (xk + α1 dk ) = f (xk ) + β1 α1 ∇f (xk )T dk ,

donc qui vérifie la première condition de Wolfe.

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

D’après Taylor-Lagrange, appliqué a α 7→ f (xk + αdk ), entre 0 et α1 , il existe α2 tel


que
f (xk + α1 dk ) = f (xk ) + α1 ∇f (xk + α2 dk )T dk ,

En rassemblant les deux résultats, on obtient

∇f (xk + α2 dk )T dk = β1 ∇f (xk )T dk > β2 ∇f (xk )T dk ,

donc α2 vérifie la seconde condition de Wolfe. Comme α2 < α1 , on a f (xk + α2 dk ) <


f (xk ) + β1 α2 ∇f (xk )T dk et donc α2 vérifie la première condition de Wolfe est vérifiée.

Descent algorithm with Wolfe linesearch


1. Choose x0
2. For k=0,2, ... Do
3. Compute a descent direction such that ∇f (xk )T dk < 0
4. Compute a step such that the Wolfe conditions hold.
5. Update xk+1 = xk + αk dk .
6. EndDo

Théorème 8.9 Supposons de f soit continûment différentiable, bornée inférieurement,


et que son gradient vérifie k∇f (x) − ∇f (x)k2 ≤ γ kx − yk2 . supposons qu’un algorithme
de descente soit employé tel que chaque pas vérifie les conditions de Wolfe. Alors soit
(xk )T dk
limk→+∞ ∇f (xk ) = 0, soit limk→+∞ ∇fkd kk
= 0.
2

Preuve 8.30 Démonstration : Admise, voir Denis et Schnabel 1996, p.121.

Le théorème ci-dessus indique que si l’angle entre dk et ∇f (xk ) ne converge pas vers
l’angle droit, la limite du gradient de l’itéré est 0 (on vérifie asymptotiquement la condi-
tion nécessaire du premier ordre) quel que soit x0 . C’est donc un résultat de convergence
globale. Malheureusement cet algorithme peut avoir une convergence très lente si dk n’est
pas choisi avec soin. Par exemple, le choix dk = −∇f (xk ) s’avère un très mauvais choix
si l’algorithme converge vers un point x? tel que cond(∇2 f (xk )) est grand : la convergence
est linéaire, avec une vitesse de convergence modeste.
Dans le cas d’une convergence vers un point x∗ tel que ∇2 f (x∗ ) est défini positif
(condition suffisante du second ordre), l’idée consiste alors à préconditionner la recherche
linéaire et à la combiner avec la méthode de Newton qui est localement quadratiquement
convergente, comme le fait l’algorithme ci-dessous. Il est possible de montrer que lorsque
les itérés s’approchent d’une solution qui vérifie les conditions suffisantes d’optimalité au
second ordre, le pas de Newton est accepté et la convergence est quadratique.

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

Newton with linesearch


1. Choose x0
2. For k=0,2, ... Do
3. If ∇2 f (xk ) is SPD, compute the Newton step sN = −∇2 f (xk )−1 ∇f (xk ).
If sN is acceptable (Wolfe) accept it. If not, perform a line search (Wolfe) in direction sN
4. If ∇2 f (xk ) is not SPD, add a perturbation E so that ∇2 f (xk ) + E is SPD,
and perform a line search (Wolfe) in direction −(∇2 f (xk )−1 + E)∇f (xk )
5. Update xk+1 = xk + αk dk .
6. EndDo

Région de confiance
Definition 8.10 Modèle quadratique. On appelle modèle quadratique de f en xk une
fonction quadratique mk (xk + s) telle que mk (xk ) = f (xk ) et ∇mk (xk ) = ∇fk (xk ). Il
existe alors une matrice Hk ∈ Rn×n telle que
1
mk (xk + s) = f (xk ) + ∇fk (xk )T s + sT Hk s.
2
Definition 8.11 Région de confiance. On appelle région de confiance Euclidienne centrée
en xk , de rayon ∆k > 0 la sphère Bk = xk + {s, ksk2 ≤ ∆k }.

L’idée de l’algorithme de région de confiance et de résoudre approximativement le problème

min mk (xk + s).


xk +s∈Bk

On note xk+1 = xk + sk le point ainsi obtenu. La condition technique portant sur xk+1
demandée pour les résultats de convergence est la condition dite de décroissante suffisante :

k∇mk (xk )k2


 
mk (xk ) − mk (xk + sk ) ≥ κmdc k∇mk (xk )k2 min , ∆k , (8.10)
βk

où κmdc ∈]0, 1[ et βk = kHk (x)k2 + 1.

Exercice 8.29 Le point de Cauchy xC


k qui est, par définition, solution de

 min mk (x)
 t>0
 x = xk − t∇m(xk ) ∈ Bk

vérifie
k∇mk (xk )k2
 
1
mk (xk ) − mk (xC
k) ≥ k∇mk (xk )k2 min , ∆k .
2 βk

Preuve 8.31 Démonstration : Posons gk = ∇x mk (xk ). On a mk (xk − tgk ) = mk (tk ) −


tkgk k2 + 21 t2 gkT Hk gk .

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

1. Supposons gkT Hk gk > 0. Alors le minimum de mk (xk − tgk ) pour t ∈ R est atteint
2
en t∗ = gTkgHk kg ≥ 0.
k k k
kgk k3
Premier cas. Supposons d’abord que t∗ kgk k = gkT Hk gk
≤ ∆k , donc xk − t∗ gk est dans
la région de confiance et c’est xC T
k . Comme gk Hk gk ≤ βk kgk k, on a alors

∗ 1 2 T kgk k4 1 kgk k4
mk (xk ) − mk (xC 2
k ) = t kgk k − t gk Hk gk ≥ T − T
gkT Hk gk
2 gk Hk gk 2 (gk Hk gk )2

1 kgk k4 1 kgk k2
= ≥ .
2 gkT Hk gk 2 βk
kgk k3 kgk k3
Deuxième cas. Supposons maintenant que gkT Hk gk
≥ ∆k . Alors gkT Hk gk ≤ ∆k et
le minimum dans la région de confiance est donc atteint sur la frontière (faire un
dessin). Alors t∗ kgk k = ∆k et xC
k = xk − ∆k gk et

1 ∆2k T 1 ∆2k kgk k3 1


mk (xk ) − mk (xC
k ) = ∆k kgk k − 2
gk Hk gk ≥ ∆ k kg k k − 2
= ∆k kgk k.
2 kgk k 2 kgk k ∆k 2

2. Supposons gkT Hk gk ≤ 0. Le minimum est à nouveau atteint sur la frontière de la


région de confiance et puisque −gkT Hk gk ≥ 0
1 ∆2k T
mk (xk ) − mk (xC
k ) = ∆k kgk k − g Hk gk ≥ ∆k kgk k.
2 kgk k2 k
En regroupant les différents sous-cas, on obtient le résultat.
2
Le calcul de xk+1 (donc de sk ) est bien moins cher que la résolution du problème
initial minx f (x) car
1. mk est une fonction quadratique
2. la décroissance suffisante est obtenue à faible coût, en calculant le point de Cauchy,
et en cherchant éventuellement à diminuer encore mk à partir de xC k . La méthode
des régions de confiance a donc un rapport étroit avec la recherche linéaire suivant
la direction −∇fk (xk ).
On introduit le ratio de la réduction observée sur f par rapport à la réduction prédite sur
mk :
f (xk ) − f (xk+1 )
ρk = .
m(xk ) − m(xk+1 )
Si ρk est suffisamment proche de 1, le modèle représente la fonction de manière fiable, on
accepte le pas, et on augmente éventuellement le rayon de la région de confiance. Si ρk est
faible, voire négatif, le modèle n’est pas assez fiable, et l’on réduit la région de confiance
(notez que pour ∆k suffisamment petit modèle et fonction sont égaux au premier ordre).
Nous sommes en mesure de présenter à présent l’algorithme des régions de confiance :

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

Basic trust region algorithm (Conn, Gould, Toint (2000 p.116))


1. Choose x0 , an initial ∆0 > 0, and constants 0 < η1 ≤ η2 < 1 and 0 < γ1 ≤ γ2 < 1
2. For k=0,2, ... Do
3. Compute a step sk that sufficiently reduces mk in Bk ( 8.10).
f (xk )−f (xk +sk )
4. Define ρk = m(x k )−m(xk +sk )
.
5. If ρk ≥ η1 then define xk+1 = xk + sk ; otherwise define xk+1 = xk
6. Trust region update. Set
∆k+1 ∈ [∆k , +∞[ if ρk ≥ η2 or
∆k+1 ∈ [γ2 ∆k , ∆k ] if η1 ≤ ρk < η2 or
∆k+1 ∈ [γ1 ∆k , γ2 ∆k ] if ρk < η1
7. If converged, exit,
8. EndDo

Théorème 8.12 On suppose que l’algorithme est appliqué à une fonction


– deux fois différentiable,
– bornée inférieurement n
2 sur R ,
– à Hessien borné ( ∇ f (x) 2 ≤ κuf h pour x ∈ Rn ),
et que les modèles mk sont
– quadratiques,
que f en xk (cohérence au premier ordre)
– ont même valeur et gradient
– ont des Hessien bornés ( ∇2 f (x) 2 ≤ κumh pour x ∈ Bk ).
alors pour tout x0 , l’algorithme des régions de confiance produit une suite d’itérés telle
que limk→+∞ ∇f (xk ) = 0.
Preuve 8.32 Démonstration : Admise (Conn, Gould, Toint (2000 p.136)).
2
Le théorème 8.12 montre une manière aisée d’obtenir un algorithme globalement
convergent : il suffit de choisir ∇2 mk (xk ) = Hk = 0 ∈ Rn×n et de prendre pour itéré
le point de Cauchy. Par contre on obtient alors un algorithme qui converge aussi peu ra-
pidement que celui implantant systématiquement la recherche linéaire dans la direction
−∇f (xk ). Pour obtenir un algorithme plus performant et approcher la convergence locale
de l’algorithme de Newton, il convient de choisir un pas sk qui soit voisin du pas de Newton
dans les étapes ultimes de la convergence.
Ceci est réalisé si l’on utilise pour algorithme de calcul de pas l’algorithme de gradient
conjugué tronqué proposé par Steihaug et Toint et si le Hessien du modèle approche celui
de la fonction. Cet algorithme commence par calculer le point de Cauchy puis poursuit
la minimisation de la quadratique m(xk + s) par la méthode des gradients conjugués, en
s’arrêtant au premier itéré sortant de la région de confiance Bk . On a ainsi minimisé
davantage m(xk + s) que m(xC k ), et donc on a, à la fin de cette procédure de gradient
conjugué tronqué, la décroissance suffisante :
k∇x mk (xk )k2
 
C 1
m(xk ) − m(xk + sk ) ≥ m(xk ) − m(xk ) ≥ k∇x mk (xk )k2 min , ∆k .
2 βk
Dans le cas où la convergence a lieu vers un point x∗ où le Hessien est défini positif et si
∇2 mk (xk ) ∼ ∇2 fk (xk ), le comportement typique de l’algorithme est alors le suivant :

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

1. les pas deviennent de plus en plus petits (on converge),


2. comme le modèle et la fonction sont cohérents au premier ordre, ρk devient proche
de 1,
3. la région de confiance a un rayon qui augmente,
4. l’algorithme des gradients conjugués ne rencontre plus le bord de la région de confiance,
5. les gradient conjugués résolvent alors le système ∇2 f (xk )sk + ∇f (xk ) = 0 ce qui
correspond bien à la méthode de Newton, qui a une convergence locale quadratique.

Steihaug Toint Conjugate Gradient algorithm


0. Input parameters : xk , ∇f (xk ), H = ∇2 f (xk ). Output : s
1. Compute s0 = 0, g0 = ∇f (xk )
2. For k=0,2, ... Do
3. κk = pTk Hpk
4. If κk ≤ 0, then
compute σk as the positive root of ksk + σpk k2 = ∆k
sk+1 = sk + σk pk and stop.
End If
5. αk = rkT rk /κk
6. If ksk + αk pk k2 ≥ ∆k , then
compute σk as the positive root of ksk + σpk k2 = ∆k
sk+1 = sk + σk pk and stop.
End If
4. sk+1 = sk + αk pk
5. gk+1 = gk + αk Hpk
T
7. βk = gk+1 gk+1 /gkT gk
8. pk+1 = gk+1 + βk pk
9. if converged then stop
10. EndDo

8.4.4 Globalisation des moindres carrés non-linéaires


Exercice 8.30 Fonctionnelle des moindres carrés non linéaires. Soit f définie sur un
ouvert O ⊂ Rn , deux fois différentiable, à valeurs dans Rm . On définit la fonction F (x)
des moindres carrés non linéaires par F (x) = 21 kf (x)k22 . Montrez que le gradient de F en
x
Pest f 0 (x)T f (x) = Df (x)T f (x) et que la matrice Hessienne de F en x est Df (x)T Df (x)+
m 2
i=1 fi (x)∇ fi (x).

Preuve 8.33 Démonstration : Considérons φ(x) = fi (x)2 . Alors, par dérivation d’une
m
∂φ(x) ∂fi (x) ∂F (x) X ∂fi (x)
composée, = 2fi (x) , et donc = fi (x), ce qui implique
∂xj ∂xj ∂xj ∂xj
i=1

∂F (x) ∂f1 (x) ∂fm (x)


   
... 
f1 (x)

 ∂x1   ∂x1 ∂x1 

∇F (x) =  ..  
= .. .. ..  .. 0 T T
 = f (x) f (x) = Df (x) f (x).

. . . . .

   
 ∂F (x)   ∂f (x) ∂fm (x) fm (x)

1
...
∂xn ∂xn ∂xn

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

∂fi (x)
Pour la dérivée seconde, si on note ψ(x) = 2fi (x) , on a
∂xj

∂ 2 φ(x) ∂ψ(x) ∂fi (x) ∂fi (x) ∂ 2 fi (x)


= =2 + 2fi (x) .
∂xk ∂xj ∂xk ∂xk ∂xj ∂xk ∂xj
m
∂ 2 F (x) X ∂fi (x) ∂fi (x) ∂ 2 fi (x)
On a alors = + fi (x) . Ce terme est bien le terme (k, l)
∂xk ∂xj ∂xk ∂xj ∂xk ∂xj
i=1
de la matrice Df (x)T Df (x) + m 2
P
i=1 fi (x)∇ fi (x).

Nous avons vu dans l’exercice 8.30 que pour la fonction des moindres carrés non
linéaires, F (x) = 12 kf (x)k2 , le gradient de F en Px est f 0 (x)T f (x) = Df (x)T f (x) et la
matrice Hessienne de F en x est Df (x)T Df (x) + m 2
i=1 fi (x)∇ fi (x). Il est possible donc
d’utiliser des variantes de la méthode de Newton pour minimiser F (x), en utilisant une
recherche linéaire ou une région de confiance.
On remarque que ∇2 f (x) s’écrit sous la forme d’un terme ne faisant intervenir que
des
Pmdérivations (Df (x)T Df (x)) et un terme faisant intervenir des dérivations d’ordre 2
( i=1 fi (x)∇2 fi (x)). Il est donc tentant d’approcher ∇2 f (x) par le terme Df (x)T Df (x)
pour éviter le calcul de dérivées d’ordre 2. La variante de Newton faisant cette approxi-
mation s’appelle la méthode de Gauss-Newton

(GN ) : xk+1 = xk − (Df (xk )T Df (xk ))−1 Df (xk )T Df (xk ) = xk − Df (xk )+ f (xk ).

Cette méthode n’est même pas toujours localement convergente (il existe des points fixes
répulsifs). En la globalisant par une recherche linéaire où des régions de confiance on
obtient des méthodes globalement convergentes très utilisées en pratique.

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

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
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).

101
102 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,
0
on obtient f (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

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 8.9. Réciproquement,
supposons ∇2 f (x) semi-définie positive. Si on pose φ(t) = f (x + tφ). En utilisant l’exer-
cice 8.9, on a d’après le théromème de Taylor Lagrange dans R, φ(1) = φ(0) + φ0 (0) +
1 00 2 00 T 2
2 φ (t), avec t ∈]0, 1[. Comme ∇ f (x) définie positive, φ (t) = φ ∇ 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φ ].

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

9.3 Conditions variationnelles


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

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.

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
0
f (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̄).

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.

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

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

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.
2

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.

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

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
 −1
3. ψ 0 (x2 ) = − ∂h(x)
∂x1
∂h(x)
∂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̄.

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 0 0 T T ∂L T
λ h (x) = (∇f (x) + h (x) λ) , et ∂λ (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

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

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
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

V1
en valeurs singulières de h0 (x̄), on a h0 (x̄) = U [Σm 0] 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 .

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),

∂L(x,p)
 0 =

 ∂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

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

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 .
2
Exemple 9.6 On s’intéresse au problème dans R2 suivant
1
min kx − ak2 .
x1 =0 2

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 .
x1 =0 2
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
max xT Ax,
kxk22 =1 2

et montrer que les valeurs propres de A sont les valeurs des optima.

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

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.
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 .

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

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

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,

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.
2

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

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

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.


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
2
x1 + h T (x̄)λ1 = 0 et h0 (x̄)x1 = 0,
∂x
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
∂g(z, u) 0
P
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

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

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 .
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.

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

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.

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.

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

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 +∞).

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)

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

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).
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

2 ( λ 2 + kλk2 ).
√ √
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 :

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

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
116 Chapitre 9 : Optimisation avec contraintes

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

Optimisation avec contraintes


d’inégalité

10.1 Introduction
Nous avons vu dans le chapitre précédent des conditions nécessaires d’optimalité pour
des problèmes
min f (x).
h(x) = 0

Dans de nombreux cas pratique, les contraintes mettent en jeu des contraintes d’inégalité
du type g(x) ≥ 0, où g : Rn 7→ Rp et g(x) = (g1 (x), . . . p, gp (x))T . Le problème que nous
avons à traiter est donc
P : min f (x).
h(x) = 0
g(x) ≤ 0

Le but de ce chapitre est de montrer l’extension de la théorie des multiplicateurs de La-


grange pour traiter ce problème. Il s’agira aussi de proposer quelques algorithmes pour
résoudre le problème. L’idée centrale du chaptre, qui sera déclinée tant au niveau des
résultats théoriques que des résultats algorithmiques, est de réutiliser les algorithmes d’op-
timisation avec contraintes.

Definition 10.1 Soit x un point satisfaisant les contraintes et i ∈ {1, . . . , m}. On dit que
la contrainte gi est active en x ssi gi (x) = 0.

10.2 Lien avec les contraintes d’égalité


Exercice 10.1 On s’intéresse au problème

Pa : min (x − a)2 .
x≤4
−x ≤ −1

Preuve 10.1 Faire un dessin.

117
118 Chapitre 10 : Optimisation avec contraintes d’inégalité

Ce problème très simple admet pour solution x = 1 si a ≤ 1, x = 4 si a ≥ 4, et


sinon, x = a. On voit donc que dans chaque cas, la solution du problème avec contraintes
d’inégalité est obtenue en résolvant un problème d’égalité obtenu en selectionnant un en-
semble (éventuellement vide) de contraintes d’inégalité et en les passant en égalité.
Ce résultat est très général, et s’applique aux minima locaux et globaux, comme le
montre la proposition suivante.

Proposition 10.2 Supposons que g et h sont des applications continues. Tout minimum
local x∗ du problème P, et d’indices de contraintes actives I ∗ est un minimum local du
problème
PI : min f (x).
h(x) = 0
gi (x) = 0, si i ∈ I

Preuve 10.2 Démonstration : Soit x∗ ∈ S. Soit I l’ensemble des indices des contraintes
actives en x. Pour tout i ∈ / I, il existe i > 0 tel que kx − x∗ k < i → gi (x) < 0. Soit à
présent ∗ tel que [kx − x∗ k < i et h(x) = 0 et g(x) ≤ 0] → f (x∗ ) ≤ f (x) < 0. Donc si
 = min(∗ , mini∈I ∗ ∗
/ i ), on a [kx − x k <  et h(x) = 0 et ∀i ∈ I, gi (x) ≤ 0] → f (x ) ≤
f (x) < 0. Donc x est solution locale de PI et ∀i ∈ / I, on a gi (x∗ ) < 0.

Exercice 10.2 On considère le problème

min (x − 1)2 + (y − 2)2 .


x≥0 ; y≥0 ; x≤2
x + 2(y − 2) ≤ 0

Faire une représentation graphique de ce problème. Utiliser le résultat de la proposi-


tion 10.2 pour trouver la solution de ce problème.

Preuve 10.3 Démonstration : Il s’agit de trouver la solution en devinant les contraintes


actives. On parcourt donc tous les cas : 0, 1 ou 2 contraintes actives à la solution et en
raisonnant sur les courbes de niveau de la fonction, on voit qu’au minimum global, seule
la contrainte x + 2(y − 2) n’est active.

10.3 Conditions d’optimalité


Nous étudions dans cette section les conditions d’optimalité au 1er ordre et au second
ordre, en fonction d’une fonction Lagrangienne.

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

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

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

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


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

Nous allons dériver des caractérisations des optima locaux du problème sous l’hypothèse
que les contraintes sont suffisament régulières.
Definition 10.4 (Qualification des contraintes) On dit que les contraintes sont qualifiées
en x, d’indices de contraintes actives I(x) = [i1 , . . . im̄ ] si et seulement si
1. h et g sont continûment différentiable dans un ouvert de x0 ,
2. la famille de vecteurs (∇h1 (x), . . . , ∇hm(x), ∇gi1 (x), . . . , ∇gim̄ (x)) est libre. Cette
h0 (x)
condition signifie aussi que la matrice est surjective, où x → 7 gI (x) =
gI0 (x)
(gi1 (x), . . . , gim̄ (x)) .

Proposition 10.5 On suppose que x̄ ∈ C est une solution locale de P vérifiant l’hypothèse
de qualification des contraintes. Si les fonctions f et g et h sont continûment différentiables
dans un ouvert O contenant x̄, il existe λ̄ ∈ Rm , et µ̄ ∈ Rp tel que

 ∂x (x̄, λ̄) = f 0 (x̄) + λ̄T h0 (x̄)µ̄T g 0 (x̄) = 0,


 ∂L

µ̄ ≥ 0, j = 1, . . . p,
 j
µ̄j gj (x̄) = 0, j = 1, . . . p.

Preuve 10.4 Démonstration : Nous présentons ici une démonstration concise, mais moins
intuitive que dans le cas des égalités. Pour toute fonction u on définit sa partie positive
u+ par par u+ (x) = max(0, u(x)). Soit x̄ un minimum local du problème P. Pour tout
entier naturel k, et pour tout réel non négatif α, on introduit la fonction de type Lagran-
gien Fk (x) = f (x) + 2 kh(x)k + 2 j∈I [gj+ (x)]2 + α2 kx − x̄k. Comme x̄ est une minimum
k 2 k P

local du problème avec contrinate d’égalités h(x) = 0 et gI (x) = 0, il existe une boule
fermée B centrée en x̄ et de rayon  telle que f (x̄) ≤ f (x) pour tout x tel que x ∈ B ,
h(x) = 0 et gI (x) = 0. Soit à présent xk le minimum global de Fk sur B . On a alors
Fk (xk ) ≤ Fk (x̄) = f (x̄), et donc la suite (Fk (xk )) est bornée. Comme f (xk ) est bornée
sur le compact B , pour que (Fk (xk )) il faut que (h(xk )) et que pour tout j ∈ I, (gj+ (xk ))
tendent vers 0. Soit x̂ un point d’accumulation de la suite. Par prolongement de l’inégalité
Fk (xk ) ≤ f (x̄) inégalié, il vérifie f (x̂) + α2 kx̂ − x̄k ≤ f (x̄) ≤ f (x̄). Puisque x̂ est admissible
pour le problème à contraintes d’égalité et d’inégalités active, et est dans B , on a de plus
f (x̄) ≤ f (x̂). Ainsi, x̂ = x̄, et la suite (xk ) converge vers x̄. En écrivant la condition de
stationnarité de Fk en xk , on obtient
 
kh1 (xk )
 .. 

 . 

 khm (xk ) 
∇f (xk ) + [∇h1 (xk ), . . . ∇hm (xk ), ∇gi1 (xk ), . . . , ∇gim̄ (xk )] 
  + α(xk − x̄) = 0.
 kg i 1 (x k ) 

 .. 
 . 
kgim̄ (xk )

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

On obtient le résultat en passant à la limite et en définissant λ̄i = limk→+∞ khi (xk ), et


µ̄i = limk→+∞ kgi+ (xk ) ≥ 0. Ces limites existent comme on le voit en multipliant l’équation
par la pseudo-inverse de la matrice jacobienne des contraintes d’égalité.

Nous énonçons à présent sans démonstration les conditions du second ordre, et la


sensibilité par rapport à une modification des contraintes. Ces résultats se déduisent faci-
lement des résultats avec contraintes d’égalité, en considérant que les contraintes actives,
en exploitant la proposition 10.2.

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


ou de Karush-Kuhn-Tucker (KKT)) On suppose que x̄ est une solution locale de P d’en-
semble de contraiontes actives I, et vérifiant l’hypothèse de qualification des contraintes.
Si les fonctions f , g et h sont deux fois continûment différentiables dans un ouvert O
contenant x̄, il existe λ̄ ∈ Rm et µ̄ ∈ Rp , appelés multiplicateurs de Lagrange, tel que

 ∂x (x̄, λ̄) = f 0 (x̄) + λ̄T h0 (x̄)µ̄T g 0 (x̄) = 0,


 ∂L

µ̄ ≥ 0, j = 1, . . . p,
 j
µ̄j gj (x̄) = 0, j = 1, . . . p,

et pour tout φ ∈ Kerh0 (x̄) ∩ KergI0 (x̄),

∂ 2 L(x̄, λ̄)
φT φ ≥ 0.
∂x2
Proposition 10.7 (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
g(x) ≤ v g(x) ≤ 0

et on pose φ(u) = inf{f (x), h(x) = u, g(x) ≤ v}. 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,
2. le point x̄, de contraintes actives I, vérifie les conditions suivantes d’optimalité locale

(x̄, λ̄) = f 0 (x̄) + λ̄T h0 (x̄)µ̄T g 0 (x̄) = 0,


 ∂L
 ∂x


h(x̄) = 0, g(x̄) ≥ 0
µ̄ ≥ 0, j = 1, . . . p,
 j


µ̄j gj (x̄) = 0, j = 1, . . . p, µ̄j > 0, j ∈ I,

et pour tout φ ∈ Kerh0 (x̄) ∩ KergI0 (x̄),

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

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

Alors il existe un voisinage de (u, v) = 0 ∈ Rm+p , où Pu admet une solution locale
x(u, v) et des multiplicateurs de Lagrange associés λ(u, v) et µ(u, v). La fonction (u, v) 7→
f (x(u, v)) = φ(u, v) est alors dérivable en (u, v) = 0 et on a φ(u, v) = φ(0, 0) − λ(0)T u −
µ(0)T v + o((u, v)).

Exercice 10.3 Dans une usine, deux produits ui , i = 1, 2 sont fabriqués, et rapportent
par unité, ei kilo euros en nécessitant ti heures de travail machines et qi tonnes de matières
premières. On dispose de 10 heures en tout de travail machines, et de 15 tonnes de
matières premières. Formaliser ce problème sous la forme d’un problème d’optimisation
et le résoudre, pour (e1 , t1 , q1 ) = (6, 2, 1) et (e2 , t2 , q2 ) = (5, 1, 3). Est-il intéressant, fi-
nancièrement, d’augmenter la quantité de matière premières ? Jusqu’à quel point ?
Preuve 10.5 Faire un dessin.
min −6x1 − 5x2 .
2x1 + x2 ≤ 10
x1 + 3x2 ≤ 15
−x1 ≤ 0
−x2 ≤ 0

On voit sur un dessin que les contraintes actives à la solutions seront les deux premières
contraintes. La solution du problème est donnée par les points critiques de la fonction
L(x, µ1 , µ2 ) = −6x1 − 5x2 + µ1 (2x1 + x2 − 10) + mu2 (x1 + x2 − 15). La solution est donnée
par le système linéaire 
 −6 + 2µ1 + µ2 = 0
−5 + µ1 + 3µ2 = 0 ,
x1 + 3x2 = 15

ce qui donne (x1 , x2 , µ1 , µ2 ) = (3, 4, 13/5, 4/5). Si on augemnte les matières premières de
15 à 15 + M , le gain augmente de 4/5M . Par contre pour M > 15, la seconde contrainte
cesse d’être active. Dans ce cas, il ne sert à plus rien d’augmenter les matières premières,
il faut augmenter aussi les 10 heures machines.
2

10.4 Application de la théorie des multiplicateurs de La-


grange : la méthode des contraintes actives
Nous avons vu que la réslution du problème d’optimisation avec contraintes d’égalité et
d’inégalités se ramène à la résolution d’un problème avec contraintes d’égalité lorsque les
contraintes actives à la solution sont connnues. Le principe de la méthode des contraintes
actives et de créer une suite (x(k) , I (k) ) contenant un itéré et une estimation des contraintes
actives. Sous des hypothèses de convexité du problème, il est possible de montrer que cette
méthode est convergente.
Nous présentons ici le passage de (x(k) , I (k) ) à (x(k+1) , I (k+1) ) dans le cas d’un problème
quadratiquei en x
1 T
min x Hx + xT g.
Ax = b 2
Cx − f ≤ 0

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

1. Résolution du problème en la variable d


1 (k)
min (x + d)T H(x(k) + d) + (x(k) + d)T g,
A(x (k)
+ d) = b 2
(C(x(k) + d) − f )i = 0, pour i ∈ I (k)

pour obtenir d(k) , λ(k) , et µ(k) .


2. Mise à jour de x et I
(a) Si d(k) = 0, et µ(k) ≥ 0, arrêt.
(b) Si d(k) = 0, et le vecteur µ(k) a au moins une composante négative, on choisit
(k)
jk = argminj µj , et on pose I (k+1) ) = I (k) ) \ {jk }, et x(k+1) = x(k) .
(c) Si d(k) =
6 0.
i. Si x(k) + d(k) appartient à l’ensemble des contraintes, C = {x, h(x) =
0, et g(x) ≤ 0}, on définit x(k+1) = x(k) + d(k) .
ii. Sinon, on calcule le plus grand t ∈ [0, 1] tel que x(k) + td(k) ∈ C . Soit tk+1
ce scalaire. On pose alors x(k+1) = x(k) + tk d(k) .
Dans ces deux cas, (x(k) + d(k) appartient ou non à C), l’ensemble I (k+1) est
obtenu en rajoutant à I (k) l’une des contraintes rendues nouvellement actives
en x(k+1) , s’il en existe une (contraintes activées par le pas). Sinon, si aucune
contrainte n’est activée par le pas, I (k+1) = I (k) .

Exercice 10.4 Appliquer itérativement l’algorithme ci-dessous au problème

min (x − 1)2 + (y − 2)2 ,


x≥0 ; y≥0 ; x≤2
x + 2(y − 2) ≤ 0

en partant de x(0) = (2, 0) et I (0) = {2, 3}

Preuve 10.6 Le problème s’écrit sous forme standard

min (x − 1)2 + (y − 2)2 .


−x ≤ 0
−y ≤ 0
x≤2
x + 2(y − 2) ≤ 0

2
1. Le lagrangien du problème s’écrit

L(d1 , d2 , µ2 , µ3 ) = (1 + d1 )2 + (d2 − 2)2 + µ2 (−d2 ) + µ3 (d1 ).

La condition d’optimalité donne




 2d1 + 2 + µ3 = 0
2d2 − 4 − µ2 = 0

,
d =0
 2


2 + d1 = 2
ce qui montre que (d1 , d2 , µ2 , µ3 ) = (0, 0, −4, −2).

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

2.b x(1) = (2, 0)T , I (1) = {3}.


1. Le lagrangien du problème s’écrit

L(d1 , d2 , µ2 , µ3 ) = (1 + d1 )2 + (d2 − 2)2 + µ3 (d1 ).

La condition d’optimalité donne



 2d1 + 2 + µ3 = 0
2d2 − 4 = 0 ,
2 + d1 = 2

ce qui montre que (d1 , d2 , µ3 ) = (0, 2, −2).


2.c.ii Comme (2, 0) + (0, 2) n’est pas dans le domaine, on cherche le plus grand 0 ≤
t ≤ 1 tel que 

 −2 ≤ 0
−2t ≤ 0

,
 2≤2

2 + 2(2t − 2) ≤ 0

On obtient alors t = 1/2, x(3) = (2, 0)+1/2(0, 2) = (2, 1), et on a activé la contrainte
4. Donc I (3) = {3, 4}. item[1.] Le lagrangien du problème s’écrit

L(d1 , d2 , µ3 , µ4 ) = (1 + d1 )2 + (d2 − 1)2 + µ3 (d1 ) + µ4 (d1 + 2d2 ).

La condition d’optimalité donne




 2d1 + 2 + µ3 + mu4 = 0
2d2 − 2 + 2µ4 = 0

,
 d1 = 0

d1 + 2d2 = 0

ce qui montre que (d1 , d2 , µ3 , µ4 ) = (0, 0, −3, 1).


2.b On enlève la contrainte 3. x(4) = (2, 1)T , I (4) = {4}. item[1.] Le lagrangien du
problème s’écrit

L(d1 , d2 , µ3 , µ4 ) = (1 + d1 )2 + (d2 − 1)2 + µ4 (d1 + 2d2 ).

La condition d’optimalité donne



 2d1 + 2 + mu4 = 0
2d2 − 2 + 2µ4 = 0 ,
d1 + 2d2 = 0

ce qui montre que (d1 , d2 , µ4 ) = 1/5(−6, 3, 2).


2.c.i x(5) = (4, 8)/5T , appartient l’ensemble des containtes et I (5) = {4}. Donc on ne
bouge pas. item[1.] Comme on apas bougé, la solution est (d1 , d2 , µ4 ) = 1/5(0, 0, 2),
et on a convergé.

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

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

Introduction à l’optimisation
multicritères

11.1 Introduction générale


Jusqu’à présent, nous avons considéré des situation où il s’agissait de minimiser une
unique fonction (un critère) sous certaines contraintes. Cependant, dans bien des situa-
tions pratiques, il s’agit de trouver la meilleure situation possible pour un ensemble de
critères. Il est rare que le minimum pour tous ces critères soit atteint au même point.
Il s’agit donc de faire compromis entre ces critères, et c’est le but de ce chapitre d’indi-
quer le sens que prend alors le mot ”solution” d’un tel problème de minimisation, et de
mentionner quelques algorithmes permettant d’obtenir de telles solutions.

Exemple 11.1 Conception d’aile d’avion multicritère. Nous considérons une conception
d’aile telle que l’on veuille minimiser simultannément la trainée en plusieurs conditions de
croisière (plusieurs conditions de vol) simultanément. Nous considérons alors le problème

“min”(f1 (x), . . . , fp (x))


sous {gi (x) ≥ pi , i = 1, . . . , p}

chaque fi (x) représente la valeur de la traı̂née pour la condition de vol i. La i-ème


contrainte gi (x) ≥ pi correspond à une condition de portance. Un pratique quelques cen-
taines de paramètre au plus sont considérés, et le calcul de des fonctions et des gradients
met en jeu des calculs CFD coûteux.

Definition 11.2 On appelle espace des critères l’espace dans lequel les différentes sur-
faces du problème sont paramétrés en prenant les critères comme paramètres. L’exer-
cice 11.1 explicite cette notion.

Exercice 11.1 Considérons le problème

“min”(f1 (x), f2 (x))


subject to x ≥ 0,

125
126 Chapitre 11 : Introduction à l’optimisation multicritères


où f1 (x) = 1 + x et f2 (x) = x2 − 4x + 5. L’espace de décision est R et l’espace des
critères est R2 . Figure 11.1 représente le problème dans l’espace de décision. Nous voyons
que f1 and f2 n’atteignent pas de minimum pour les mêmes valeurs de x dans [0, +∞[.
Représenter la situation dans l’espace des critères.

Preuve 11.1 Démonstration : Considérons à présent l’espace des critères. Dans cet es-
pace, le problème est paramétrisé en utilisant les valeurs des fi (x) comme paramètre. Pour
obtenir
√l’image de l’ensemble des points admissibles dans l’espace des critères, nous posons
y1 = 1 + x et y2 = x2 − 4x + 5. la condition x ≥ 0 devient x = (y1 )2 − 1 et y1 ≥ 1.
En substituant x = (y1 )2 − 1 dans y2 = x2 − 4x + 5 on obtient y2 = y14 − 6y12 + 10.
Ainsi, l’ensemble des contraintes {x : x ≥ 0} est représenté dans l’espace des critères
par l’arc {(y1 , y2 ) : y2 = y14 − 6y12 + 10, y1 ≥ 1}, illustré en gras sur la Figure 11.4. Le
point important est de décider quel point sur cet arc est la meilleure solution du problème
multicritère.

6
f1 (x) =5 4x+x2
4
1
f2 (x) =(x+1)2
2

0 2 4 6
x

Figure 11.1 – Problème dans l’espace de décision.

Il s’agit maintenant de donner un sens à ”minimiser la fonction vectorielle f (x) =


(f1 (x), . . . , fm (x))”, ce qui n’a pas de sens précis a priori.

Definition 11.3 Le vecteur x̄ ∈ C domine x ∈ C ssi


– on a fi (x) ≤ fi (x) pour chacun des critères fi ,
– il existe i0 tel que fi0 (x̄) < fi0 (x) pour un certain i0 ∈ {1, . . . , k}.
Un vecteur x̄ ∈ C est dit Pareto optimal ssi il n’est dominé par aucun autre vecteur x ∈ C.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
127 Chapitre 11 : Introduction à l’optimisation multicritères

10

y1 = 3
8

y2 6
y2 =y14 6y12 +10
4

0
0 1 2 3 4
y1

Figure 11.2 – Problème dans l’espace des critères.

Figure 11.3 – Front de Pareto en gras. f (X ) est l’image des contraintes.

L’ensemble Y := {(f1 (x), . . . , fk (x)) | x Pareto optimal} est appelé front (ou sur-
face) de Pareto pour le problème d’optimisation multicritère donné. On voit sur la fi-
gure 11.4 qu’en général, que cet ensemble Y n’est pas un ensemble très simple. Dans un
problème multicritère la personne chargée de la minimisation cherche en général plusieurs
(et idéalement, toutes les) solutions Pareto optimales. C’est ensuite un décideur qui fait
sa préférence en fonction de critères plus ou moins formalisés mathématiquement.
Un technique très répendue d’exploration du front de Pareto est la technique de la

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
128 Chapitre 11 : Introduction à l’optimisation multicritères

somme pondérée. On introduit le problème auxilliaire


 Pk
min i=1 pi fi (x)
(Pp )
x ∈ C.

Cette procédure est dite de scalarisation (on remplace la minimisation d’un vecteur par
celle d’un scalaire).

Exercice 11.2 Toute solution de Pp est un point Pareto optimal pour le problème de
minimisation multicritère de (f1 , . . . , fk ) sur C. Interprêter géométriquement ce résultat.
Cette technique permet-elle de décrire complètement le front de Pareto sur la figure 11.4 ?

Preuve 11.2 Démonstration : Supposons que x̄ est solution de Pp et qu’il existe x ∈ C


qui domine x. D’après la définition,

fi (x) ≤ fi (x̄) pour tout i = 1, . . . , k

et
fi0 (x) < fi0 (x̄) pour un certain i0 ∈ {1, . . . , k} .
Pk Pk
On a alors i=1 pi fi (x) < i=1 pi fi (x), ce qui contredit le fait que x̄ est solution de
(Pp ).
Interprétons géométriquement cette procédure de scalarisation (avec deux critères f1
et f2 ).
Pour résoudre (Pp ), on minimise p1 y1 + p2 y2 sur F = f (C) ce qui correspond à
chercher une droite p1 y1 + p2 y2 = c d’ordonnée à l’origine minimale et s’appuyant sur F.
Non, si le front de Pareto n’est pas lui même convexe, cette technique ne permet pas de
décrire la totalité du front.

Une autre technique de scalarisation fort employée est la technique C -contrainte, où
l’on se ramème à un probllème mono-critère en traitant les p−1 autres critères sous forme
de contrainte. Pour ce faire, on introduit le problème

min fj (x) 
P(, j) : x∈X , (11.1)
subject to
fi (x) ≤ i , i = 1, . . . , p, i 6= j

La Figure 11.4 montre le comportement de la méthode pour p = 2 et j = 2, pour un


ensemble f (X ) qui n’est pas convexe, avec 4 valeurs différentes pour 1 . On voit sur cet
exemple que la technique C -contrainte permet de mieux décrire le front de Pareto.

Exercice 11.3 Supposons que P(, j) admette une solution unique x̄, alors elle est Pareto
optimale. Réciproquement toute solution Pareto optimale est solution d’un certain P(, j).
Appliquer ce résultat au problème de la figure 11.4.

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
129 Chapitre 11 : Introduction à l’optimisation multicritères

Figure 11.4 – Méthode C pour divers 1 .

Preuve 11.3 Démonstration : Supposons que x̄ est solution de P(, j) et qu’il existe x ∈
C qui domine x. D’après la définition,

fi (x) ≤ fi (x̄) pour tout i = 1, . . . , k

et
fi0 (x) < fi0 (x̄) pour un certain i0 ∈ {1, . . . , k} .
Alors x est une autre solution de P(, j), ce qui est impossible. La réciproque s’établit
aisément en considérant P(, j) pour  = (f1 (x̄), . . . , fk (x̄))T et j = 1.

Exercice 11.4 Toute solution de commune à P(, j), pour j = 1, . . . k, est un point Pareto
optimal pour le problème de minimisation multicritère de (f1 , . . . , fk ) sur C. Réciproquement,
si x̄ est Pareto optimal, il existe  tel que x̄ est solution de tous les problèmes P(, j), pour
j = 1, . . . k. Interprêter géométriquement ce résultat.

Preuve 11.4 Démonstration : Supposons que x̄ est solution de P(, j) pour tout j et qu’il
existe x ∈ C qui domine x. D’après la définition,

fi (x) ≤ fi (x̄) ≤ i pour tout i = 1, . . . , k

S. Gratton, Analyse matricielle et Optimisation, Éd. Ress. Pédag. Ouv. INPT, 0727 (2014) 24h
130 Chapitre 11 : Introduction à l’optimisation multicritères

et
fi0 (x) < fi0 (x̄) pour un certain i0 ∈ {1, . . . , k} .
Cela qui contredit le fait que x̄ est solution de P(, i0 ). Pour la réciproque, il suffit de
prendre  = (f1 (x̄), . . . , fk (x̄))T . Alors x̄ est solution de P(, j) pour tout j.

Les techniques les plus sûres pour décrire le front même lorsqu’il n’est pas convexe
sont basées sur des algorithmes génétiques. Ces techniques ont besoin d’évaluer de très
nombreuses fois les fonctions et sont donc peu praticables pour les fonctions très coûteuses
que l’on ne sait pas approximer avec peu de calculs. De nombreuses techniques d’approxi-
mation sont disponibles pour résoudre ces problèmes : utilisation de réseaux de neurones,
de techniques krigeage, ou de support vector machines.

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