0% ont trouvé ce document utile (0 vote)
330 vues4 pages

Méthodes de gradient en optimisation

Ce document décrit deux méthodes de gradient pour résoudre des systèmes linéaires Ax = b: la méthode du gradient conjugué et la méthode du gradient à pas optimal. La méthode du gradient conjugué construit des directions de recherche deux à deux orthogonales pour converger en au plus n itérations. La méthode du gradient à pas optimal choisit la direction opposée au gradient pour une convergence dépendant du conditionnement de la matrice A.

Transféré par

Abdou Fadhul
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
330 vues4 pages

Méthodes de gradient en optimisation

Ce document décrit deux méthodes de gradient pour résoudre des systèmes linéaires Ax = b: la méthode du gradient conjugué et la méthode du gradient à pas optimal. La méthode du gradient conjugué construit des directions de recherche deux à deux orthogonales pour converger en au plus n itérations. La méthode du gradient à pas optimal choisit la direction opposée au gradient pour une convergence dépendant du conditionnement de la matrice A.

Transféré par

Abdou Fadhul
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Deux méthodes de gradient

Leçons : 158, 162, 219, 226, 233 (gradient conjugué)

On considère A ∈ Sn++ (R).


Proposition 1
La résolution de Ax = b équivaut à trouver le point qui minimise la fonctionnelle :

1 T
Φ( y) = y Ay − y T b.
2

Démonstration. Il est facile de voir que

1
∇Φ( y) = (AT + A) y − b = Ay − b. (1)
2
Et si x est solution du système linéaire, alors Φ( y) = Φ(x + ( y − x)) = Φ(x) + 12 ( y −
1
x) T A( y − x) i.e k y − xk2A = Φ( y) − Φ(x), où kzk2A = z T Az est la norme associée à A que l’on
2
utilisera toujours par la suite.

Définition 2
Une méthode de gradient consiste à partir d’un point x 0 ∈ Rn et à construire la suite

x k+1 = x k + αk dk (2)
où dk ∈ Rn est une direction à choisir et αk ∈ R.

Une idée naturelle est de choisir αk de sorte à optimiser Φ(x k+1 ) dans la direction dk ,
d
c’est à dire tel que Φ(x k + αk dk ) = −dkT rk + αk dkT Adk = 0, où −rk := ∇Φ(x k ) = Ax k − b.
dαk
On trouve :

〈dk , rk 〉
αk = (3)
kdk k2A
(c’est bien défini lorsque dk 6= 0 car A ∈ Sn++ (R)).

Méthode de gradient conjugué


Remarquons que pour tout k ∈ N :

rk+1 = rk − αk Adk (4)


et αk est choisi de sorte à ce que

〈rk+1 , dk 〉 = 0. (5)
Idée. Construire des directions (dk ) deux à deux A-orthogonales ; ainsi, rk+1 sera orthogonal
à Vect(d0 , . . . , dk ).

Gabriel LEPETIT 1 ENS Rennes - Université Rennes 1


Notations. Pour x, y ∈ Rn , on note x ⊥ y lorsque x et y sont orthogonaux pour le produit
scalaire euclidien et x ⊥A y lorsque x et y sont orthogonaux pour le produit scalaire donné
par A. On étend naturellement cette notation à des sous-espaces de Rn .
On pose d0 = r0 et pour k ∈ N, on construit dk+1 comme l’orthogonalisé de Gram-Schmidt
pour le produit scalaire donné par A de rk+1 relativement à Vect(dk ) :
dk+1 = rk+1 − βk dk (6)

〈rk+1 , Adk 〉
βk = si dk 6= 0, βk = 0 sinon. (7)
kdk k2A
Remarquons que si dk = 0 alors rk et dk−1 sont colinéaires et comme ils sont aussi orthogo-
naux par (5), rk = 0.
Lemme 3
Avec le choix (7), les directions (6) vérifient pour tout k ∈ N la propriété suivante : si
r0 , . . . , rk ne sont pas nuls alors,

1 Vect(r0 , . . . , rk ) = Vect(d0 , . . . , dk )
2 rk+1 ⊥ Vect(d0 , . . . , dk )
3 dk+1 ⊥A Vect(d0 , . . . , dk )

Démonstration. On procède par récurrence sur k ∈ N. Lorsque k = 0, 1, 2 et 3 sont vrais


grâce aux relations r0 = d0 , (5) et (6) et bien sûr r0 6= 0 sinon il n’y a rien à faire. Supposons
donc le résultat vrai au rang k − 1, k ∈ N∗ .
1 Par (6), on a : dk = rk − βk−1 dk−1 .
2 Par (5), on a déjà rk+1 ⊥ dk et si j ∈ {0, . . . , k −1}, la relation (4) couplée à l’hypothèse
de récurrence 2 et 3 donne rk+1 ⊥ d j .
3 Par (6), on a déjà dk+1 ⊥A dk (c’est la définition) et si j ∈ {0, . . . , k − 1}, la relation (6)
couplée à l’hypothèse de récurrence 3 donne 〈dk+1 , Ad j 〉 = 〈rk+1 , Ad j 〉.
Montrons que Ad j ∈ Vect(r0 , . . . , rk ), ce qui conclura grâce aux relations 1 et 2 que l’on
vient de prouver. Grâce à la relation (4) avec k = j, il suffit de montrer que α j 6= 0. Or,
(3) (6)
α j = 0 ⇐⇒ 〈r j , d j 〉 = 0 ⇐⇒ r j = 0 puisque 〈r j , r j 〉 = 〈d j , r j 〉 + β j−1 〈d j−1 , r j 〉 = 〈d j , r j 〉
selon 2. Donc comme on a supposé r j 6= 0, on a α j 6= 0.

Théorème 4
La méthode de gradient associée aux directions (6) avec le choix (7) converge vers la
solution x du problème Ax = b en au plus n itérations.

Démonstration. Les conditions 1 et 2 du lemme précédent assurent que tant que rl 6= 0,


la famille (r0 , . . . , rl ) est une famille orthogonale donc libre. On est en dimension n donc
nécessairement l + 1 ¶ n et si rl = 0, x l est solution du système.

Méthode de gradient à pas optimal


On choisit pour direction la « plus grande pente » , c’est à dire dk = −∇Φ(x k ) = −Ax k +
b = rk .

Gabriel LEPETIT 2 ENS Rennes - Université Rennes 1


Dans ce cas, dk 6= 0 tant que la solution n’est pas atteinte. La convergence découle es-
sentiellement de l’inégalité de Kantorovich :
Lemme 5 (Inégalité de Kantorovich)
En notant 0 < λ1 ≤ . . . ≤ λn les valeurs propres de A, on a pour tout y ∈ Rn ,

k yk4 4λn λ1
≥ .
2 2
k ykAk ykA−1 (λn + λ1 )2

Démonstration. On va montrer l’inégalité équivalente :


v v 2
1 tλ tλ
n 1
∀ y ∈ Rn , k yk4 ≤ + .
4 λ1 λn
On peut même supposer que k yk = 1 et commencer par remarquer :

1 = k yk2 = 〈 y, AA−1 y〉 ≤ k ykAkA−1 ykA = k ykAk ykA−1


Et dans une base orthonormale de vecteurs propres :

v‚ Œ‚ Œ v
n n u ‚X n
Œ‚ n Œ
1 λ λ Xλ
u X X
1 i n
= λi yi2 yi2 = yi2 yi2
t t
k ykAk ykA−1
i=1 i=1
λ i λ n i=1
λ 1 i=1
λ i
v ‚‚ n Œ ‚ n ŒŒ
1 t λ1 X λi 2 X λn 2
≤ yi + y
2 λn i=1
λ1 i=1
λi i
v ‚ n  ‹ Œ
1 t λ1 X λ i λ n
≤ + yi2
2 λn i=1 λ1 λi

x λn
La fonction x 7→ + admet un maximum en λ1 ou en λn et il vaut dans les deux
λ1 x
λn
cas : 1 + . Ainsi,
λ1
v ‚ n  ‹ Œ v v 
1 t λ1 X λn 1 t λ n t λ1
k ykAk ykA−1 ≤ 1+ 2
yi ≤ + ,
2 λn i=1 λ1 2 λ1 λn
et le résultat suit en élevant au carré.

Et sachant que cond(A) = λn /λ1 , on obtient le résultat suivant :


Théorème 6
Avec les choix précédents et dk = rk , la suite (2) converge vers x avec :

λ n − λ1
kx k+1 − xkA ≤ kx k − xkA.
λ n + λ1
Plus précisément,
‹k
cond(A) − 1
Æ 
kx k − xk ≤ cond(A) kx 0 − xk.
cond(A) + 1

Gabriel LEPETIT 3 ENS Rennes - Université Rennes 1


Démonstration. La première inégalité découle directement de l’inégalité de Kantorovich.
Pour la seconde, on remarque que pour tout y ∈ Rn , λ1 k yk2 ≤ k yk2A ≤ λn k yk2 .

Avec la dernière inégalité, on voit que la convergence peut être lente lorsque la matrice
est mal conditionnée.

Référence : Alfio QUARTERONI, Ricardo SACCO et Fausto SALERI (2007). Méthodes nu-
mériques : Algorithmes, analyse et applications. Springer, pp. 138-145.
Merci à Antoine Diez pour ce développement.

Gabriel LEPETIT 4 ENS Rennes - Université Rennes 1

Vous aimerez peut-être aussi