Chapitre 1
Chapitre 1
Ce chapitre vise dans sa première partie à rappeler quelques notions élémentaires concernant
les problèmes d’optimisation non contraints sur Rn . Ensuite, et dans la dernière partie de ce
chapitre, des méthodes de descente de type gradient seront développées pour calculer numéri-
quement un minimum x̄ d’une fonction J sur Rn .
Dans de nombreux domaines d’applications d’analyse numérique, on est amené à minimiser une
fonction J et chercher x̄ vérifiant
où la fonction J, dite objectif, est une fonction numérique à variable un vecteur x de Rn . C’est
un problème de minimisation qu’on peut noter aussi
Pour maximiser une fonction J, il suffit de minimiser (−J), un problème d’optimisation sur Rn
peut donc s’écrire toujours sous la forme de (P).
Tout vecteur x̄ solution de (3.1) est appelé solution optimale de (P). On dit aussi que x̄ présente
(ou tout simplement) un minimum de J sur Rn .
2
Optimisation sur Rn 3
On rappelle tout d’abord qu’une suite de vecteurs (x(k) ) est dite bornée de Rn s’il existe R > 0
tel que
∥x(k) ∥ ≤ R, pour tout entier k,
c’est-à-dire que la suite (x(k) ) est contenue dans une boule de centre 0 et de rayon R > 0.
On rappelle aussi que de toute suite bornée de Rn , on peut en extraire une sous-suite conver-
gente.
Preuve. Soit
α = infn J(x).
x∈R
Montrons que α est atteint, i.e., il existe x̄ ∈ Rn tel que J(x̄) = α. D’après la propriété de la
borne inférieure, il existe une suite (x(k) )k de Rn telle que
lim J(x(k) ) = α.
k→∞
Alors la suite (x(k) ) est bornée. En effet, si la suite (x(k) ) est non bornée, elle vérifie, pour une
sous-suite, notée aussi (x(k) ), que limk→+∞ ∥x(k) ∥ = +∞ et comme lim∥x∥→+∞ J(x(k) ) = +∞,
donc α = +∞, ce qui est une contradiction. Comme (x(k) ) est bornée, on peut en extraire une
sous-suite (x(k) ) convergente vers x̄. Comme J est continue, alors
J(x̄) = lim J(x(k) ) = lim J(x(k) ) = infn J(x).
k→+∞ k→+∞ x∈R
1. Si J vérifie (3.2), on dit qu’elle est infinie à l’infini ou qu’elle est coercive.
2. Une fonction J continue et minorée sur Rn admet une borne inférieure, mais pas forcé-
ment de minimum si elle n’est pas infinie à l’infini. Voici un contre-exemple : La fonction
x 7→ ex est positive, mais elle n’a pas de minimum sur R.
Remarque 1.1.1. Ce résultat donne l’existence d’un minimum mais il ne donne pas l’unicité.
La fonction x 7→ x4 − 2x2 admet deux minima atteints en x = −1 et x = 1.
Page 3
Optimisation sur Rn 4
Preuve. Soit S l’ensemble des solutions optimales. Montrons que S est convexe. Soit (x1 , x2 ) ∈
S × S, si t ∈ [0, 1], et comme J est convexe, on a donc :
J((1 − t)x1 + tx2 ) ≤ (1 − t)J(x1 ) + tJ(x2 ) ≤ (1 − t)J(x) + tJ(x) = J(x), ∀x ∈ Rn .
On en déduit que (1 − t)x1 + tx2 ∈ S, pour tout t ∈ [0, 1]. D’où la convexité de S.
Contradiction, ainsi x1 = x2 .
On se limite dans ce cours à donner les conditions d’optimalité du premier ordre qui font
intervenir seulement les dérivées d’ordre 1 de la fonction à minimiser.
Page 4
Optimisation sur Rn 5
Fonction différentiable
S’il existe, le vecteur p est appelé la différentielle (ou la dérivée) de J en x et il est noté J ′ (x).
On dit que J est différentiable sur Rn si elle est différentiable en tout point de Rn .
Remarque 1.1.2. Si on note (e1 , . . . , en ) la base canonique de Rn , on peut vérifier que J :
Rn → R est différentiable en x. De plus, le gradient de J en x est
∂J
(x)
∂x1
..
J ′ (x) = ∇J(x) = . , (1.3)
∂J
∂xn
(x)
où
∂J J(x + tei ) − J(x)
(x) = lim , i = 1, . . . , n,
∂xi t→0 t
sont les dérivées partielles de J.
Exercice 1.1.1. On pourra montrer en exercice que :
1. Toute forme linéaire J(x) = (b, x) = b⊤ x où b ∈ Rn , est différentiable et on a :
J ′ (x) · h = (b, h) = b⊤ h,
donc
J ′ (x) = ∇J(x) = b.
2. La fonctionnelle J : x 7→ J(x) = 12 a(x, x), où a est une forme bilinéaire symétrique
continue sur Rn , est différentiable. On a alors :
Donc,
J ′ (x) = a(x, ·).
En particulier, si A est une matrice symétrique, alors J : x 7→ 12 (Ax, x) est différentiable
et on a :
J ′ (x) = ∇J(x) = Ax. (1.4)
Page 5
Optimisation sur Rn 6
Page 6
Optimisation sur Rn 7
En général, pour déterminer un minimum d’une fonction J, on cherche parmi les points critiques
qui vérifient la condition nécessaire d’optimalité (qui devient aussi suffisante lorsque J est
convexe) suivante :
Proposition 1.1.5. Soit J : Rn → R une fonction différentiable en x̄.
1. Si x̄ réalise un minimum de J sur Rn , alors
∇J(x̄) = 0. (1.6)
Ax̄ = b.
Preuve. Si on note par λ1 la plus petite valeur propre de A, on a (voir (1.6) dans chapitre 1) :
De plus, J est strictement convexe, donc J admet un minimum unique x̄ sur Rn vérifiant
∇J(x̄) = Ax̄ − b = 0.
Page 7
Algorithmes de descente et méthodes du gradient 8
Remarque 1.1.5. Pour chercher la solution de (3.8) et afin de pouvoir appliquer l’équation
d’Euler, on minimise la norme au carré de Ax − b au lieu de ∥Ax − b∥2 puisque l’application
norme n’est jamais différentiable en 0. Clairement, les deux problèmes sont équivalents.
Proposition 1.1.7. Le problème (3.8) admet au moins une solution. De plus, toute solution x̄
de (3.8) est aussi solution du système
AT Ax̄ = AT b.
Le problème (3.8) admet une solution unique si et seulement si la matrice A est injective.
Preuve. Il est clair que Im(AT A) ⊂ Im(AT ). De plus, d’après le théorème de rang, on sait que
Or on ker(A) = ker(AT A), puisque ker(A) ⊂ ker(AT A) et si x ∈ ker(AT A), (AT Ax, x) =
(Ax, Ax) = ∥Ax∥22 = 0, donc Ax = 0 et par suite x ∈ ker(A). on obtient
Par conséquent, dim Im(AT A) = dim Im(AT ) et les deux espaces sont donc égaux.
La matrice AT A est toujours symétrique et semi-définie positive puisque (AT Ax, x) = ∥Ax∥22 ≥
0 pour tout vecteur x ∈ Rn . La fonction quadratique J est donc convexe. Par conséquent, x̄ est
solution de (3.8) si et seulement si
∇J(x̄) = AT Ax̄ − AT b = 0.
Comme Im(AT ) = Im(AT A), on déduit que le système AT Ax = AT b admet au moins une
solution, d’où l’existence d’au moins un minimum de J sur Rn . L’unicité du minimum est
assurée si et seulement si le système AT Ax = AT b admet une solution unique pour tout vecteur
b, donc si et seulement si la matrice AT A est bijective. Ceci étant vérifié si et seulement si A
est injective.
Les méthodes numériques de descente en général sont des méthodes itératives dont le
but est de déterminer x̄ réalisant le minimum d’une fonction J sur Rn , en utilisant des direc-
tions de déplacement permettant de se rapprocher le plus possible de x̄. Dans ce chapitre, on
va utiliser des méthodes numériques de descente du gradient pour un problème de minimisa-
tion sans contrainte quelconque dont la convergence sera étudiée seulement pour le problème
quadratique :
1
J(x) := minn (Ax, x) − (b, x), (1.9)
x∈R 2
Page 8
Algorithmes de descente et méthodes du gradient 9
Ces méthodes s’appliquent alors aussi pour résoudre numériquement un système linéaire
Ax = b, pour A une matrice symétrique définie positive.
Définition 1.2.1. Soit J une fonction de Rn à valeurs dans R. Soit x ∈ Rn . On dit que d ∈ Rn ,
avec d ̸= 0, est une direction de descente de J en x s’il existe α0 > 0 tel que
J(x + αd) ≤ J(x), ∀α ∈ [0, α0 ].
Preuve. Soit la fonction ϕ : R → R définie par : ϕ(α) = J(x + αd). Alors ϕ est dérivable et
ϕ′ () = (∇J(x + αd), d).
On considère d ∈ Rn une direction de descente au point x. Alors par définition, il existe α0 > 0
tel que :
J(x + αd) ≤ J(x), ∀α ∈ [0, α0 ].
Comme d est une direction de descente, on peut écrire, pour tout α ∈ [0, α0 ],
ϕ(α) ≤ ϕ(0),
et donc pour tout α ∈]0, α0 ],
ϕ(α) − ϕ(0)
≤ 0.
α−0
En passant à la limite lorsque α tend vers 0, on déduit que ϕ′ (0) ≤ 0, ce qui signifie que
(∇J(x), d) ≤ 0.
Dans ces méthodes, les directions de descente s’expriment en fonction du gradient de la fonction
à minimiser.
Remarque 1.2.1. Ces méthodes itératives de descente ne sont pas toujours finies. Il faut donc
un critère d’arrêt qui permet d’arrêter les itérations dès que l’itérée x(k) s’approche de la solution
x̄ du problème à minimiser. Comme test d’arrêt classique pour ce type d’algorithmes, on peut
s’arrêter à l’itération k si ∥∇J(x(k) )∥ ≤ ϵ ou si ∥x(k+1) −x(k) ∥ ≤ ϵ, pour ϵ une précision donnée.
Page 9
Algorithmes de descente et méthodes du gradient 10
La méthode du gradient à pas fixe α > 0 consiste à choisir comme direction de descente d(k+1)
à l’étape k + 1, définie par :
d(k+1) = −∇J(x(k) ).
2. Pour k ≥ 0, on calcule :
Démonstration. On a, pour k ≥ 0 :
x(k+1) = x(k) − α(Ax(k) − b) = (I − αA)x(k) + αb.
Ainsi,
ρ(Bα ) = max(|1 − αλ1 |, |1 − αλn |).
Par conséquent, la méthode du gradient à pas fixe converge si et seulement si ρ(Bα ) < 1. Donc
si et seulement si 0 < α < λ21 et 0 < α < λ2n . Cette dernière condition est bien équivalente à :
2
0<α< .
ρ(A)
Page 10
Algorithmes de descente et méthodes du gradient 11
pour x(0) donnée et pour une direction d(k) connue, est dite à pas optimal si l’on choisit le pas
αk de manière à minimiser la fonction
α 7→ J(x(k) + αd(k) ).
On a
1 1
f (r) = J(x+rd) = (A(x+rd), x̄+rd)−(b, x+rd) = ((Ax, x)+2r(Ax, d)+r2 (Ad, d))−(b, x)−r(b, x).
2 2
Puisque (Ad, d) > 0 (car A est définie positive et d ̸= 0), on en déduit que la fonction f
(polynôme de degré 2) admet un minimum global au point r = α donné par :
(Ax − b, d)
α=− .
(Ad, d)
Remarque 1.2.2. Pour un problème quadratique du type (3.9), une méthode de descente à pas
optimal
(Ax(k) − b, d(k) )
αk = −
(Ad(k) , d(k) )
donne une relation d’orthogonalité entre la direction de descente d(k) et le gradient g (k+1) pour
g (k) = ∇J(x(k) ) = Ax(k) − b = −d(k) .
En effet, on a :
(g (k+1) , d(k) ) = (Ax(k+1) − b, d(k) ) = (Ax(k) − b, d(k) ) + αk (Ad(k) , d(k) ) = 0. (1.10)
La méthode du gradient à pas optimal est une méthode de descente dont la direction de descente
est donnée par le gradient.
Page 11
Algorithmes de descente et méthodes du gradient 12
2. Pour k ≥ 0, on calcule :
d(k) = b − Ax(k) ,
∥d(k) ∥22
αk = ,
(Ad(k) , d(k) )
x(k+1) = x(k) + αk d(k) .
Proposition 1.2.3. Si A est une matrice symétrique définie positive, alors la méthode du
gradient à pas optimal converge.
Preuve. Par construction, la suite (J(x(k) )) est décroissante et on sait qu’elle est minorée par
J(x̄), donc elle est convergente. Par conséquent,
Or, on a
αk2
J(x(k+1 )) − J(x(k) ) = (Ad(k) , d(k) ) + αk (Ax(k) − b, d(k) ).
2
Sachant que
∥d(k) ∥22
αk = −
(Ad(k) , d(k) )
et
d(k) = −g (k) = −(Ax(k) − b),
donc
1 ∥g (k) ∥42
J(x(k+1 )) − J(x(k) ) = − .
2 (Ag (k) , g (k) )
Page 12
Algorithmes de descente et méthodes du gradient 13
min J(x),
x∈Rn
pour
1
J(x) = (Ax, x) − (b, x), (P )
2
et
Donc ici le pas αk est optimal et on a la relation d’orthogonalité (voir lemme (3.2.1)) suivante
Page 13
Algorithmes de descente et méthodes du gradient 14
Il suffit donc de déterminer la direction de descente d(k) . Ceci revient à chercher βk−1 . Sachant
que cette dernière doit vérifier
∂f
(αk , βk−1 ) = αk (∇J(x(k) + αk d(k) ), d(k−1) ) = 0,
∂β
(Ad(k−1) , g (k) )
βk−1 = ,
(Ad(k−1) , d(k−1) )
(Ad(k) , d(k−1) ) = 0.
g (k) −g (k−1)
En remplaçant Ad(k−1) par αk−1
, on déduit que
∥g (k) ∥22
(Ad(k−1) , g (k) ) =
αk−1
et que
∥g (k−1) ∥22
(Ad(k−1) , d(k−1) ) = .
αk−1
On tire alors que
∥g (k) ∥22
βk−1 = .
∥g (k−1) ∥22
∥g (k) ∥22
αk = , x(k+1) = x(k) + αk d(k) ,
(Ad(k) , d(k) )
Proposition 1.2.4. Si A est symétrique définie positive, alors l’algorithme du gradient conjugué
converge en au plus n itérations vers le minimum de J(x) := 21 (Ax, x) − (b, x) sur Rn .
Page 14
Algorithmes de descente et méthodes du gradient 15
et
(g (0) , d(0) )
α0 = − , x(1) = x(0) + α0 d(0) , g (1) = Ax(1) − b
(Ad(0) , d(0) )
vérifiant
et pour j < k, on a
g (k+1) , d(j) = g (k+1) , d(j) − g (k) , d(j) = g (k+1) − g (k) , d(j) = αk Ad(k) , d(j) = 0.
| {z }
=0
On a
Donc, pour j ≤ k,
Page 15
Algorithmes de descente et méthodes du gradient 16
Comme
alors, pour j ≤ k, on a
Si g (k) ̸= 0, pour k = 0, . . . , n − 1, alors (d(0) , d(1) , . . . , d(n−1) ) est une famille A-conjuguée de n
vecteurs, donc une base de Rn et le vecteur g (n) sera orthogonal à d(0) , d(1) , . . . , d(n−1) . Nécessai-
rement g (n) = 0 et par suite x(n) = x̄. L’algorithme ainsi converge à l’itération exactement
n.
Remarque 1.2.4. Les directions de descente sont telles que la base (d(0) , d(1) , . . . , d(n−1) ) est
obtenue par le procédé d’orthogonalité de Gram-Schmidt, adapté au produit scalaire (Ax, y), à
partir de la base (−g (0) , . . . , −g (n−1) ).
En général, une suite (x(k) ) qui converge vers x̄, vérifiant x(k) ̸= x̄ pour tout entier k, est dite
d’ordre de convergence au moins p ∈ R∗+ si
∥x(k+1) − x̄∥
lim = γ,
k→+∞ ∥x(k) − x̄∥p
alors la convergence est dite exactement d’ordre p. La convergence est dite linéaire si p = 1 et
quadratique si p = 2.
Les méthodes de descente du gradient à pas fixe et à pas optimal sont à convergence au moins
linéaire et on pourra montrer que
où ∥ · ∥ désigne la norme euclidienne pour la méthode du gradient à pas fixe et la norme définie
par ∥x∥ = ∥x∥A = (Ax, x)1/2 pour la méthode du gradient à pas optimal.
Pour la méthode du gradient conjugué, et tant que g (k) = Ax(k) − b ̸= 0, on peut montrer la
majoration suivante :
q
Cond2 (A) − 1 (0)
∥x(k+1) − x̄∥A ≤ 2 q ∥x − x̄∥A . (1.16)
Cond2 (A) + 1
Page 16
Algorithmes de descente et méthodes du gradient 17
Des majorations (3.15) et (3.16), on constate que l’erreur x(k) −x̄, obtenue au cours des itérations
des méthodes du gradient, diminue d’autant plus rapidement que Cond2 (A) est petit.
On rappelle aussi que les méthodes du gradient sont également des méthodes numériques pour
résoudre un système linéaire Ax = b, pour A ∈ Mn (R) symétrique définie positive. Ainsi, la
matrice du système préconditionné doit aussi être symétrique définie positive.
1
minn (Ay, ỹ) − (b̃, y), (Pc )
y∈R 2
avec à = P AP T et b̃ = P b, où P est une matrice inversible bien choisie de sorte que à soit
bien conditionnée. La nouvelle matrice à est aussi symétrique définie positive et la solution x̄
du système Ax = b est donnée par x̄ = P T ȳ, pour ȳ solution optimale de (Pc ).
Page 17