Vous êtes sur la page 1sur 11

U.M.M.T.

O Faculté des Sciences 3ème année Licence de Mathématiques


1
Département de Mathématiques Optimisation sans contraintes 2018/2019

Algorithmes d’optimisation sans contraintes

Introduccion
On traitera ici quelques méthodes ou algorithmes de résolutions des problèmes d’optimisation sans contraintes sous réserve
d’existence et d’unicité de la solution qu’on tente d’approcher. Autrement dit, on ne s’intéresse pas ici à l’étude de l’existence
ou d’unicité de la solution, mais aux méthodes d’approximation de cette solution (supposée généralement unique). Il est à
noter que le rôle d’un algorithme n’est pas la vérification des CN et des CS d’existence et d’unicité de la solution, mais son
rôle vient après avoir vérifié ces conditions pour pouvoir donner une approximation de cette solution unique. La notion
la plus importante dans un algorithme est celle de convergence vers la solution exacte. On dira alors qu’un algorithme
converge, si après un certain nombre de répétitions k ∈ N (dites itérations), l’approximation atteint l’ordre de précision
demandée. Si après un certain nombre très grand d’itérations (par exemple 1000 itérations) l’ordre de précision ε (très
petit, par exemple 10−6 ) n’est pas atteint alors on dira que la méthode diverge. Donc si A est une procédure algorithmique
pour approcher une solution exacte x∗ alors on a principalement les étapes suivantes :
1. : Poser k = 0 ,choisir x(0) ∈ Rn (par exemple x(0) = 0Rn ), choisir kmax ∈ N assez grand(par exemple kmax = 1000).
2. Tant que((“test arrêt” est faux) et (k < kmax )) alors faire la prcédure A (par exemplex(k + 1) = x(k) + ρk d(k) ) et
faire k = k + 1
3. Si(“test arrêt” est vrai) alors u( k) est une approximation du point de minimum recherché. Sinon, la méthode n’a pas
convergé.
Noter que le test d’arrêt en pratique depend de l’ordre de précision donc si kx∗ − x(k) k ≤ ε alors le text d’arrêt est vrai
sinon il faux. On considère dan s toute la suite de ce chapitre le problème d’optimisation sans contrainte P : minn f (x).
x∈R
Autremnt dit, trouver x∗ ∈ Rn tel que f (x∗ ) ≤ f (x), ∀x ∈ Rn . Dans toute la suite de l’exposé on supposera que x∗ exite
et eventuellement unique et on se propose de trouver une approximation numerique de x∗ par la construction d’une suite
reccurente {xk) }k∈N de Rn qui converge vers x∗ c à d x(k) → x∗ quand k → +∞.
Rappelons que si f est de classe C 1 , alors x∗ satisfait nécessairement (C.N déja vue) l’equation d’Euler ∇f (x∗ ) = 0 et
si de plus f est convexe alors l’equation d’Euler est aussi condition suffisante de minimum (respectivement f concave
pour le problème de maximisation) et de plus encore f est stictement convexe (repectivement stictement concave pour la
maximisation) alors le minimum x∗ est unique.
Idée intuitive une fois les C.N et C.S et d’unicité sont satisfaites il ne reste alors que la recherche d’une approximation
de cet unique minimum x∗ donc comme l’equation d’Euler est devenu suffisante alors intuitivment il suffit de résoudre
numériquement l’equation d’Euler ∇f (x) = 0 donc trouver x∗ ∈ Rn tel que ∇f (x∗ ) = 0Rn , qui n’est autre qu’un problème
de résulution d’un système de n équations à n inconnues.
Dans ce qui suit, on tente de définir des méthodes spécifiques aux problèmes d’optimisation sans contraintes. ces algorithmes
consistent en la construction d’une suite reccurente {xk) }k∈N de Rn qui converge vers x∗ donc en se donnant un x(0) ∈ Rn
n
initial et x(k + 1) = x(k) + ρk d(k) où d(k)∈R sont des vecteurs de Rn , dits directions de descentes et ρk des scalaires
de R dits facteurs de descentes. Ces appellations sont justifiées par le fait qu’on cherche toujours (entre autre) à avoir
f (x(k+1) ) < f (x(k) ), c’est comme si en descent vers le minimum (c à d la suite reccurente {xk) }k∈N de Rn est strictement
décroissante.)
Algorithme de Newton.
Soit f une fonction de classe C 2 (Rn ). Supposons que x∗ solution du problème de minimisation de f sur Rn existe et est
unique, trouver donc x∗ c’est résoudre l’equation d’Euler ∇f (x) = 0. Appliquons l’algorithme ( de résolution de l’equation
(0)
x initial, ;
g(x) = 0 vue en cours d’analyse numérique fait en L2. On rappel que cette méthode est : (k+1) (k) g(x(k) )
x = x − ∇g(x(k) ) , .
Donc en remplaçant g(x) par ∇f (x) (car nous on veut résoudre ∇f (x) = 0) o obtient l’algorithme de Newton pour la
résolution des problèmes d’optimisation suivant
( (0)
x initial, ;
∇f (x(k) )
x(k+1) = x(k) − ∇(∇f (x(k) )
, .
donc
x(0) ∈ Rn initial,

;
x (k+1) (k) (k) −1 (k)
= x − [Hf (x )] ∇f (x ), .
Avec Hf la hessienne de la fonction f
2
L’algorithme de Newton pour l’optimisation hérite es propriétés de convergence de la methode de newton de résolution de
l’équation f (x) = 0 fait en L2 dans le cours d’analyse numérique.
Proposition:
Soit f une fonction de classe C 2 et x∗ un point minimum local de f et supposons de plus que la hessienne Hf de f est
DP(définie positive) alors :

1. ∃ un voisinage V (x∗ ) de x∗ tel que si x(0) ∈ V (x∗ ) alors la suite générées à partir de ce x(0) par l’algorithme de
Newton pour l’optimisation converge vers x∗

2. La convergence est au moins quadratique.

Preuve: admis
Remarques:

1. Dans la méthode si ∇f (x(k) ) = 0Rn alors stop la solution x∗ = x(k)

2. Si x(0) initial n’est pas suffisament proche de x∗ alors la méthode peut diverger, ce qui est un inconvinient de la
méthode.

3. Dans l’algorithe on a x(k+1) = x(k) − [Hf (x(k) )]−1 ∇f (x(k) ) or x(k + 1) = x(k) + ρk d(k) donc x(k + 1) = x(k) + d(k) où
(k)
d(k) est l’unique solution du système [Hf (x(k) )] × d(k) = −∇f (x(k) ) donc d(k) = −∇f (x )
[Hf (x(k) )]
= −[Hf (x(k) )]−1 ∇f (x(k) )
dite direction de descente de Newton, donc la methode de Newton est une méthode à pas fixe ρk = 1, ∀k ∈ N.

4. Si f est quadratique stictement convexe alors l’algorithme converge en une seule itération.

5. Si le point initial x(0) est assez proche de la solution optimale locale x∗ telle que la hessienne Hf (x∗ ) soit définie
positive, alors l’algorithme de Newton converge de façon quadratique vers la solution x∗ , donc kx(k+1) − x∗ k ≤
βkx(k) − x∗ k, β ≥ 0.

6. Les inconvénients de cet algorithme sont entre autre :

(a) Cette méthode fonctionne très bien pour les problèmes de petite dimension (1 ≤ n ≤ 10) donc des fonction à au
plus 10variables réelles,lorsque on peut calculer facilement la matrice Hessienne et sont inverse.Car ces calculs
nécessite des algorithmes et des itérations plus nombreuses et couteuses dans les problèmes de grandes tailles.
(b) Comme x(k+1) = x(k) − [Hf (x(k) )]−1 ∇f (x(k) ) donc il est clair que x(k+1) n’est pas défini que si [Hf (x(k) )] 6= 0
donc x(k+1) n’est pas toujours bien défin est la méthode s’arrête subitement.

Exemple. Soit f (x) = x21 + x22 + x23 il est très facile alors de montrer que f est quadratique strictement convexe et
que x∗ = (000)t est une solution unique du problème de minimisation sans contraintes associé à f . en effet, On a
f (x) = hI3 x, xi avec I3 la matrice d’identité d’ordre 3. Donc Hf (x) = 2I3 qui est DP donc la foction f est bien
quadratique et strictement convexe donc admet un unique minimum x∗ solution de ∇f (x) = 0 d’où le résultat. Ap-
pliquons maintenant à but pedagogique l’algorithme
  pour appocher cette solution. coisissons un x(0) initial
 arbitraire-

2 2x1
ment choisi dans R3 par exemple x(0) =  3  donc x(1) = x(0) − [Hf (x(0) )]−1 ∇f (x(0) ) or ∇f (x) =  2x2  donc
1 2x3
       1 
2×1 2 2 0 0 2 0 0
∇f (x(0) ) =  2 × 2  = ∇f (x(0) ) =  4  et comme Hf (x) =  0 2 0  donc [Hf (x)]−1 =  0 12 0  donc
2×3 6 0 0 2 0 0 12
   1       
1 2 0 0 2 0 0
x(1) =  2  −  0 12 0  ×  4  =  0  ona alors ∇f (x(0) ) =  0  donc stop solution trouvée x∗ = 0R3 est
3 0 0 12 6 0 0
la valur optimale est f (x∗ ) = 0.
3

Méthode de relaxation : Dans cette méthode on fait le choix suintant sur les
directions de descente: d(0)=e1,d(1)=e2,...., d(n-1)=en puis d(n)=e1,d(n+1)=e2,..., d(2n-1)=en
et ainsi de suite, sachant que {e1 , e2 , · · · en } est la base canonique de IRn.
Donc en général on a : d(k) = ep
si et seulement si p est le reste de la division de k + 1 par n.
Puis on prend les facteurs de descente ρk ∈ IR vérifiant

f(x(k) + ρk d(k) ) = min f (x(k) + ρd(k) ), ∀ k ∈ IN


ρ∈IR

Tout en supposant que ces minimum existent et unique. Ce qui nous donne comme
suite récurrente de la méthode de relaxation la suite suivante: x(k+1) = x(k) + ρk d(k) .
C’est la méthode (ou l’algorithme) de relaxation.
Qui peut s'écrire de de la manière suivante : Si on suppose connu le terme u(k)
(k) (k) (k)
= (u1 , x2 , · · · xn )T on peut alors calculer le k+1 ème terme :
(k+1) (k+1) (k+1)
x(k+1) = (x1 , x2 , · · · xn )T en n pas successifs :
(k+1) (k) (k)
f(x1 , u2 , · · · x(k ) (k)
n ) = min f (y, x2 , · · · xn )
y∈IR

(k+1) (k+1) (k) (k+1) (k)


f(x1 , x2 , x3 · · · x(k )
n ) = min f (x1 , y, x3 · · · x(k
n )
)
y∈IR
...
(k+1) (k+1) (k+1)
f(x1 , · · · x(k
n
+1)
) = min f (u1 , · · · xn−1 , y)
y∈IR

Obtenu du fait que :


(k) (k) (k)
min f (x1 + ρ, x2 , · · · x(k ) (k)
n ) = min f (y, x2 , · · · xn ),
ρ∈IR y∈IR

(k)
qui est obtenue via le changement de variable : y = x1 + ρ.
Montrons alors que cette méthode est bien définie et converge pour au moins une
fonction qui est elliptique, condition qui reste comme même forte! . Pour se faire, on
a besoin d’abord de la proposition suivante :

Proposition. Soit f : IRn → IR et a, b ∈ IRn . Définissons la fonction g : IR 7→


IR, g(t) = f (a + tb), ∀ t ∈ IR. Alors on a :
1. Si f est convexe alors g est convexe.
6 0 alors g est strictement convexe.
2. Si f est strictement convexe et b =
6 0 alors g est elliptique.
3. Si f est elliptique et b =
4

Preuve. 1. Soit t1 , t1 deux réels et soit θ ∈ [0, 1]. on a alors :


g(θt1 + (1 − θ)t2 ) = f (a + [θt1 + (1 − θ)t2 ]b) = f (θ(a + t1 b) + (1 − θ)(a + t2 b))
il suffit de poser : a = θa + (1 − θ)a
Or en utilisant la convexité de f on obtient directement
g(θt1 + (1 − θ)t2 ) ≤ θf (a + t1 b) + (1 − θ)f (a + t2 b) = θg(t1 ) + (1 − θ)g(t2 )
d' où le résultat.
6 t2 et θ ∈ ]0, 1[. Comme b =
2. Idem qu’en 1. avec t1 = 6 0 alors a + t1 b =
6 a + t2 b et
donc il suffit de remplacer dans la démonstration précédente "≤" par "<".
3. Soient t1 , t2 ∈ IR. On a
[g 0 (t1 ) − g 0 (t2 )] (t1 − t2 ) = [< ∇f (a + t1 b) , b > − < ∇f (a + t1 b) , b >] (t1 − t2 ) =
= < ∇f (a + t1 b) − < ∇f (a + t2 b) , (t1 − t2 )b > ≥ αkbk2 (t1 − t2 )2
ce qui montre le résultat, car αkbk2 > 0.

Corollaire Soit f : IRn → IR et a1 , a2 , · · · ai−1 , ai+1 , · · · an ∈ IR, i ∈ {1, 2, · · · n}des


réels connus et soit g : IR 7→ IR la fonction réelle d'une variable réelle définie par :
g(t) = f (a1 , a2 , · · · ai−1 , t, ai+1 , · · · an ) (fonction partielle par rapport à la i-ème variable).
Alors :
1. Si f est convexe alors g est convexe
2. Si f est strictement convexe alors g est strictement convexe
3. Si f est elliptique alors g est elliptique.
Preuve .Appliquer la Proposition avec a = (a1 , a2 , · · · ai−1 , 0, ai+1 , · · · an ) et b = ei =
6 0.
Théorème de convergence de la méthode de relaxation.
Soit f : IRn → IR une fonction elliptique. La méthode de relaxation est bien définie et elle
converge vers l’unique point de minimum de f.
Preuve.
Par le corollaire précèdent la fonction: y ∈ IR → f (x(k+1)
1
(k+1)
, · · · xi−1 , y, xki+1 , · · · xkn ) ∈ IR est
elliptique (car f est elliptique). Donc il existe un unique minimum de cette fonction, ce
qui montre que l’algorithme de relaxation est bien défini.
La convergence est admise.

Remarque :
l'inconvénient de cette méthode est ces minimisations qui sont des fois difficiles à
faire donc cette méthode de relaxation n'est intéressante que si ces minimisations sur IR,
pour obtenir les meilleurs facteurs de descentes peuvent ce faire de manière exacte et
aisément .
5

Application de la méthode au cas quadratiques


Soit f : IRn → IR est donnée par :

1
< Ax , x > − < b , x > + c ........(QSDP)
f(x) =
2
avec A ∈ Mn (IR) matrice matrice symétrique et définie positive, b ∈ IRn , c ∈ IR
(donc
c’est une forme quadratique associée à une matrice SDP , donc f est quadratique
strictement convexe. On a besoin de calculer y ∗ ∈ IR tel que min g(y) = g(y ∗ )
y∈IR

où la fonction g : IR 7→ IR est définie par


(k+1) (k+1) (k)
g(y) = f (x1 , · · · x i−1 , y,xi+1 , · · · x(k
n )
)

(k+1) (k+1) (k) (k)


avec x1 , · · · xi−1 , xi+1 , · · · xn ∈ IR des réels connues.
Par commodité d’écriture, posons :
(k+1) (k+1) (k+1) (k)
v1 = x1 , v2 = x2 , · · · vi−1 = xi−1 , vi+1 = xi+1 , · · · vn = x(k)
n

Par le corollaire précèdent comme f est elliptique donc g est elliptique, donc le
minimum y ∗ existe et est unique , il est l’unique solution de l’équation d’Euler

g 0 (y ∗ ) = 0.

g 0 (y) est donnée par : ∂J


(v , v , · · · vi−1 , y, vi+1 , · · · vn )
∂ xi 1 2
donc
n
X
0
g (y) = aij vj + aii y − bi .
j=1,j6=i

Donc on doit trouver y ∗ ∈ IR tq :


n
X
aij vj + aii y ∗ − bi = 0
6 i
j=1,j=

ce qui nous donne !


n
1∗
X
y = bi − aij vj
aii 6 i
j =1,j=

Remarque : On a aii > 0 car aii =< Aei , ei > > 0 (carA est une
matrice SDP).

On a donc obtenu la proposition suivante :


6

Proposition Dans le cas où f est donnée par quadratique avec A une matriceSDP la
méthode de relaxation s’écrit :
n
!
(k+1) 1 X (k)
x1 = b1 − a1jxj
a11 j>1
n
!
(k+1) 1 (k+1)
X (k)
x2 = b2 − a21x1 − a1jxj
A22 j>2
··· !
n n
(k+1) 1 X (k+1)
X (k)
i x= bi − aijxj − Aijxj
aii j<i j>i
··· !
n
(k+1) 1 X (k+1)
n x= bn − anjxj
ann j<n

On vient donc de revoir l’algorithme de Gauss-Seidel (fait en analyse numérique en


L2) de résolution numérique du système linéaire
Ax = b.
Ceci s’explique par le fait que le point de minimumx∗ de f satisfait l’équation d’Euler
∇J (u∗ ) = 0 qui est dans le cas où f est quadratique : Au∗ = b.

Méthodes de gradient.
Idée des méthode de gradient : il faut prendre comme direction de descente :
d(k) = −∇f (x(k) )
Justification :f (x(k) ) est orthogonal à la ligne du niveau de f dans le point u(k) et la
fonction f diminue dans la direction −∇f(x(k) ). Ce qui est justifie par le calcul suivant,
où on utilise un développement de Taylor :
f x(k) − ρ∇f (x(k) ) = f (x(k) )+ < ∇f (x(k) ) , −ρ∇f (x(k) ) > + o(ρ)si f est


supposée de classe C 1 Nous alors :


f x(k) − ρ∇f (x(k) ) − f (u(k) ) = −ρk∇J (x(k) )k2 + o(ρ).


Le membre de droite de l’égalité précédente est < 0 si ρ > 0 si ρ “assez petit” et


∇f (x(k) ) =
6 0.
Les méthodes de gradient sont donc données par les relations :

x(k+1) = u(k) − ρk ∇J (x(k) ) (*)


où les facteurs de descente ρk ∈ IR sont à choisir et selon ce choix on distingue
plusieurs méthodes de gradient classées selon ce choix que nous faisons pour ρk .
7

Méthodes de gradient à pas optimal


x(k+1) est donnée par (*) où ρk ∈ IR est tel que

f x(k) − ρk ∇J (x(k) ) = min f x(k) − ρ∇J (x(k) )


 
(**)
ρ∈IR

sous réserve que ces minimum existent.


Remarque : Nous faisons l’itération (**) dans le cas où ∇f (x(k) ) =
6 0, sinon le problème
est non défini car dans ce cas la méthode ne marche pas et le problème de minimisation
n'est pas bien posé.

Théorème concergence. Soit f : IRn 7→ IR une fonction elliptique. Alors la méthode de


gradient à pas optimal donnée par (*) et (**) est bien définie et converge.

Preuve. Comme conséquence de la Proposition la fonction:ρ ∈ IR 7→ f x(k) − ρ∇f (x(k)




∈ IR est une fonction elliptique, donc il existe un unique point de minimum de cette
fonction. Ceci montre que la méthode de gradient à pas optimal est bien définie.

La convergence est admise !


Application : fonctions quadratiques.

On suppose que f quadratique associée à une matrice SDP de exemple de la méthode de


relaxation précedente.
Calculons alors ρk ∈ IR qui minimise la fonction g : IR 7→ IR donnée par

g(ρ) = f x(k) − ρ∇f (x(k) .




Alors ρk satisfait nécessairement


g 0 (ρk ) = 0.
Or un calcul simple nous donne

g 0 (ρ) = − < ∇f x(k) − ρ∇f (x(k) , ∇f (x(k) ) >




or, comme ∇J (x(k) ) = Ax(k) − b

g 0 (ρ) = − < A x(k) − ρ∇f (u(k) ) −b , Ax(k) −b >= −kAx(k) −bk2 +ρ < A Ax(k) − b , Ax(k) −b >
 

On obtient alors(++)
kAx(k) − bk2
ρk =
< A (Ax(k) − b) , Ax(k) − b >

Rémarquons qu’on a < A Ax(k) − b , Ax(k) − b > > 0 (car A est SDP et Ax(k) − b =
∇J (x(k) ) =
6 0).
8

Donc la méthode de gradient à pas optimal dans le cas quadratique est :

x(k+1) = x(k) − ρk Ax(k) − b




avec ρk données par (++) valable uniquement pour Ax(k) − b =


6 0.
0
Remarque : Comme g (ρk ) = 0, on déduit immédiatement

< ∇f (x(k+1) ) , ∇f (x(k) ) > = 0

Autres méthodes du type gradient


Si f n’est pas quadratique, il peut être difficile de trouver le minimum ρk. Quand on
ne peut pas calculer ρk de manière exacte, il faut utiliser à chaque pas k une méthode
numérique pour approcher ρk , ce qui alourdit les calculs. On peut se satisfaire uniquement
d’une estimation “assez large” pour ρk . Le résultat suivant nous donne un intervalle tel que
si tous les ρk se trouvent dans cet intervalle, alors la méthode du gradient converge :
Théorème : intervalle des facteurs de descente des méthodes de gradient.
Soit f : IRn → IR une fonction elliptique, f ∈ C 1et ∃α > 0
telle que
< ∇f (x) − ∇f (y) , x − y > ≥ α kx − yk 2 , ∀ x, y ∈ IRn )
et telle que ∇f soit lipschitzienne (donc : ∃M > 0 tel que

k∇f (x) − ∇f (y)k ≤ M kx − yk, ∀ x, y ∈ IRn ).Supposons que la


suite {ρk }k∈IN ⊂ IR satisfait la propriété suivante : il existe a1 , a2 avec

0 < a1 ≤ a2 < M2
tels que
a1 ≤ ρk ≤ a2 , ∀ k ∈ IN.
Alors la méthode générale de gradient converge et la convergence est au moins géo-
métrique, c’est à dire : ∃β ∈ [0, 1[ tel que

kx(k) − x∗ k ≤ β k kx(0) −x∗ k, ∀ k ∈ IN

où x∗ est l’unique point de minimum de f sur IRn .

Preuve. On sait que x∗ est l’unique solution de l’équation (car C.N)

∇J (x∗ ) = 0.

Montrons alors que x(k) −x∗ → 0 quand k → +∞. On a

x(k+1) − x* = x(k) − ρk ∇f (x(k) ) − x∗ = x(k) − x∗ − ρk ∇f (u(k) ) − ∇f (x∗ ) .


 

Par la formule : kx − yk2 = kxk2 + kyk2 − 2 < x, y > pour tous x, y ∈ IRn, on obtient

kx(k+1) −x∗ k2 = kx(k) −x∗ k2 +ρ2k k∇f (x(k) )−∇f (x∗ )k2 −2ρk < x(k) −x∗ , ∇f (x(k) )−∇f (x∗ ) > .
9

Et de l’ellipticité de la fonction f et du fait que ∇f est lipschitzienne, nous obtenons

kx(k+1) − x∗ k2 ≤ kx(k) − x∗ k2 + M 2 ρ2k kx(k) − x∗ k2 − 2ρk αkx(k) − x∗ k2

Autrement dit,
kx(k+1) − x∗ k2 ≤ (1 − 2αρk + M 2 ρ2k )kx(k) − x∗ k2 . (1)
Soit alors la fonction ϕ : IR → IR donnée par

ϕ(ρ) = 1 − 2αρ + M 2 ρ2 .

montrons qu’il existe β ∈ [0, 1[ tel que

ϕ(ρ) ≤ β 2 ∀ ρ ∈ [a1 , a2 ]. (*)



Comme ϕ(0) = ϕ( M 2 ) = 1 on a alors facilement que

2α (**)
ϕ(ρ) < 1 ∀ ρ ∈ ]0, [.
M2
Notons :
γ1 = max ϕ(ρ).
ρ∈[a1 ,a2 ]

Le Théorème de Weierstrass nous dit que le maximum de ϕ est atteint sur [a1 , a2 ] et on
déduit de (**) que
γ1 < 1.
Posons maintenant
γ2 = max {γ1 , 0} ≥ γ1

et il est claire que γ2 ∈ [0, 1[, posons alors : β = γ2 et on a

0 ≤ β < 1.

Comme γ1 ≤ β 2 on déduit de la définition de γ1 que (*) est satisfaite.


On obtient alors
ϕ(ρk ) ≤ β 2
ce qui avec (1) nous donne

kx(k+1) − x∗ k ≤ βkx(k) − x∗ k, ∀ k ∈ IN.

On faisant par reccurence, nous obtenons ∀k ∈ IN∗ :

kx(k) −x∗ k ≤ βkx(k−1) − x∗ k ≤ β 2 kx(k−2) −x∗ k ≤ · · · ≤ β k kx(0) − x∗ k

ce qui termine la démonstration.


10

Définition :
Une méthode de gradient est dite à pas constant (ou fixe) si ρk est constant
(indépéndant des itérations k). Dans le cas contraire, elle est dite à pas variable.
Remarque :
On déduit du Théorème des intervalles des facteurs de descentes des méthodes
gradient que si ρ est tel que 2α
0<ρ< 2
M
alors la méthode de gradient à pas fixe
x(k+1) = u(k) − ρ∇J (x(k) )
est convergente (choisir a1 = a2 = ρ dans le Théorème).
C’est la méthode de gradient la plus simple à utiliser.
Inconvenient : En général il est difficile de connaître les constantes d'ellipticité et de
lipschitz α et M( quand elles existent).Alors dans la pratique on prends un ρ assez petit
pour êtresur d’avoir la convergence. Maisdans ce cas la convergence peut être très lente !
Un exemple où on peut calculer α et M : Si f est quadratique associée à une
matrice A SDP. Alors on peut prendre α = λmin > 0 (la plus petite valeur propre de
A) et M = kAk2 = ρ(A) = λmax > 0 (la plus grande valeur propre de A). un
algorithme pour tenter de bien choisir ces facteurs de descntes est basé sur la
recherche linéaire.
La méthode pour choisir ρk est une méthode intermédiaire entre l’algorithme de gra-
dient à pas optimal et un algorithme de gradient à pas constant. Le principe est le
suivant : On note g : IR → IR la fonction donnée par
g(ρ) = J (x(k) − ρ∇J (x(k) )).
On cherche r > 0 et s ∈ IN, s ≥ 2, tels que
g(0) > g(r) > g(2r) > · · · > g(sr)
et
g(sr) ≤ g((s + 1)r)
(pour tout r > 0 assez petit il existe au moins un nombre naturel s avec cette propriété, si
on fait une hypothèse de coercivité sur f ).
On pose alors
ρk = sr.
Idée intuitive : bien exploiter les possiblités de “descendre” dans la direction −∇f (x(k) ).
L’algorithme associé est le suivant :
faire r = 1
tant que (g(2r) < g(r) < g(0) est faux) faire r = r/2
ρ = 2r
tant que (g(ρ + r) < g(ρ)) faire ρ = ρ + r
ρk = ρ.
11

Algorithme des gradients conjugués pour fonction quadratique (QSDP)


1. On pose k = 0, on choisit x(0) ∈ IRn et on pose d(0) = ∇f (x(0) ) = Ax(0) − b.
2. Si ∇f (x(k) ) = 0 STOP “La solution x∗ est u(k) . Sinon, va au 3.
3. On pose
< ∇f (u(k) ) , d(k) >
ρk = −
< Ad(k) , d(k) >
u(k+1) = x(k) + ρk d(k)
k∇f (x(k+1) )k2
βk =
k∇f (x(k) )k2
d(k+1) = ∇f (x(k+1) ) + βk d(k)
faire k = k + 1
retour au 2.

Cas d’une fonction J quelconque


On suppose ici f : IRn 7→ IR une fonction elliptique :

1. On pose k = 0, on choisit x(0) ∈ IRn et on pose d(0) = ∇f (x(0) ).


2. Si ∇J (u(k) ) = 0 STOP “La solution u∗ est u(k) . Sinon, allet en 3.
3. On pose
x(k+1) =x(k) + ρk d(k)
où ρk ∈ IR est l’unique élément qui minimise la fonction
ρ ∈ IR → f (x(k) + ρd(k) ) ∈ IR
et ensuite
k∇f (x(k+1) )k2
βk =
k∇f (x(k) )k2
d(k+1) = ∇f (x(k+1) ) + βk d(k)
faire k = k + 1
Aller en 2.
Ceci est la variante dite de Fletcher-Reeves.
Il y a aussi la variante dite de Polak-Ribiere avec comme seul changement
< ∇f (x(k+1) ) − ∇f (x(k) ) , ∇f (x(k+1) ) >
βk =
k∇f (x(k) )k2
Cette dernière variante donne des meilleurs résultats en pratique.
Remarque : Ces deux versions coïncident dans le cas d’une fonction f quadratique,
en effet, dans ce cas on a
< ∇f (x(k) ) , ∇f (x(k+1) ) > = 0.

Vous aimerez peut-être aussi