Vous êtes sur la page 1sur 36

CHAPITRE 3

ALGORITHMES D’OPTIMISATION SANS


CONTRAINTES

On considère le problème d’optimisation suivant :


(
min f (x)
(P ) (3.1)
x ∈ Rn .

Dans ce chapitre, nous présenterons les principes de base de certains algorithmes qui per-
mettent de calculer (de manière approchée) la ou les solution du problème d’optimisation sans
contraintes (3.1).
Il existe deux grandes classes de méthodes :
— Les méthodes dites “directes” ou bien “de descente”, qui cherchent à construire une suite
minimisante, c.à.d une suite (x(k) )k∈N telle que :

f (x(k+1) ) ≤ f (x(k) ), x(k) → x quand k → +∞.

— Les méthodes basées sur l’équation d’Euler, qui consistent à chercher une solution de
l’équation ∇f (x) = 0 (ces méthodes nécessitent donc que f soit dérivable).
Nous nous intéressons ici à une classe d’algorithmes qui sont basés sur la notion de direction
de descente, nous allons donc commencer par quelques définitions :
Définition 3.1. U
algorithme de résolution est définie par une application A : Rn → Rn qui permet, a
partir d’un point initial x(0) , de génération d’une suite d’éléments x(0) , x(1) , ..., x(k) , ... de
Rn par la formule :
(
(Initailisation) : x(0) donné, k = 0
(itération k) : x(k+1) = A (x(k) ) , k = k + 1.

Définition 3.2. O
dit qu’un algorithme est globalement convergent si, quel que soit le point initial x(0) choisi,
la suite {x(k) } engendre par x(k+1) ∈ A (x(k) )(ou une sous suite) converge vers un point
satisfaisant les conditions nécessaires d’optimalité (ou solution optimale).

48
3.1. MÉTHODE DU GRADIENT 49

Définition 3.3. S
it {x(k) }k∈N une suite dans Rn convergente vers x∗ :
kx(k+1) −x∗ k
1. Si : limk→∞ (k) −x∗
= α < 1. On dit que {x }k∈N converge vers x linéairement
(k) ∗
k x k
avec le taux α.
kx(k+1) −x∗ k
2. Si : limk→∞ x(k) −x∗ = 0. On dit que la convergence est super linéaire.
k k
kx(k+1) −x∗ k
3. Si : ∃q > 1 tel que : limk→∞ x(k) −x∗ q < M . On dit que la convergence est super
k k
linéaire d’ordre q.
4. En particulier si q = 2, on dit que la convergence est quadratique.

3.1 Méthode du Gradient


La méthode du gradient est une méthode qui appartient à une classe des plus grandes
méthodes numériques appelée méthode décente, nous expliquons rapidement ses principes de
base.

3.1.1 Principe des Méthodes de Descente


Définition 3.4. [Direction de Descente]
Soit f : Rn → R, x ∈ Rn , on dit qu’un vecteur d ∈ Rn − {0} est une direction de descente
en x si et seulement s’il existe α0 > 0 tel que

f (x + αd) < f (x) ∀α ∈ ]0, α0 ] .

La proposition suivante donne la caractérisation de la direction de la descente 1 .


Proposition 3.1
Soient f : Rn → R, une fonction différentiable, x ∈ Rn et d ∈ Rn − 0, alors
1. Si d est une direction de descente en x, alors h∇f (x) , di ≤ 0.
2. Si ∇f (x) 6= 0, alors d = −∇f (x) est une direction descente strict en x.

Démonstration. 1. Soit d ∈ Rn − {0} une direction de descente en x, alors par définition,

∃α0 > 0 tel que f (x + αd) ≤ f (x) , ∀α ∈ [0, α0 ] .

Soit ϕ la fonction de R dans R définie par ϕ(α) = f (x + αd). On a ϕ est dérivable


et ϕ0 (α) = h∇f (x + αd) , di. Comme d est une direction de descente, on peut écrire :
ϕ(α) ≤ ϕ(0) ∀α ∈ [0, α0 ], et donc

ϕ(α) − ϕ(0)
∀α ∈ [0, α0 ] , ≤ 0,
α
en passant à la limite lorsque α tend vers 0, on déduit que ϕ0 (0) ≤ 0, c.à.d h∇f (x) , di ≤ 0.
1. c’est-à-dire qu’elle donne une condition suffisante pour que d soit la direction de la descente.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.1. MÉTHODE DU GRADIENT 50

2. Soit ∇f (x) 6= 0. alors d = −∇f (x) est une direction de descente car :
h∇f (x) , di = −k∇f (x) k2 < 0.

Exemple 3.1. Soit la fonction f : R → R tel que f (x1 , x2 ) =


2
x41 +x21 +x22
et soit x (0)
= (1, 1) .
T

Nous considérons les deux directions d1 =  (−3, −1) et d2 = (3, −1) . On a :


T T

∇f (x) = (4x1 + 2x1 , 2x2 ) , ∇f x


3 (0)
= (6, 2) .
T T

D   E
(0)
∇f x , d1 = −18 − 2 < 0.
On déduit que le direction d1 est descente.
D   E
∇f x(0) , d2 = 18 − 2 > 0.
On déduit que la direction d2 n’est pas descente.
Le schéma général des algorithmes d’optimisation sans contraintes est présenté comme suit :
Supposons que d(k) soit une direction de descente au point x(k) , ceci nous permet de considérer
le point x(k+1) , successeur de x(k) de la manière suivante :
(k+1) (k) (k)
x =x + α(k) d , α(k) ∈ ]0, +∞[ .
Vu la définition de direction de descente, on est assure que
f (x(k+1) ) = f (x(k) + α(k) d(k) ) < f (x(k) ).
Un bon choix de d(k) et de α(k) , permet ainsi de construire une multitude d’algorithmes d’opti-
misation. Par exemple si on choisit dk = −∇f (x(k) ) et si ∇f (x(k) ) 6= 0, on obtient la méthode
du gradient 2 . La méthode de Newton 3 correspond à d(k) = −∇2 f (x(k) )−1∇f (x(k) ). Dans  les
méthodes de descente le choix de α(k) est dépend de la fonction ϕ (α) = f x(k) + α(k) d(k) , la
meilleure valeur de α(k) est α(k) = arg minα>0 ϕ (α).

3.1.2 Ensemble de niveau


Définition 3.5
L’ensembles de niveau d’une fonction f : Rn → R est l’ensemble des points x du domaine
de f satisfaisant f (x) = c pour une constante c.

Figure 3.1 – La construction d’un ensemble de niveau correspondant au niveau c pour f.


2. Bien sur −∇f (xk ) est une direction de descente
3. si la matrice hessienne H(xk ) est définie positive alors dk est aussi une direction de descente.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.1. MÉTHODE DU GRADIENT 51

H
Figure 3.2 – Les courbes de niveau et des traces horizontales.

H
Figure 3.3 – Les courbes de niveau de la fonction f (x, y) = − ex2xy+y2

Ainsi, un point x(0) se situe sur le niveau défini correspondant au niveau c si f (x(0) ) = c.
Dans le cas des fonctions de deux variables réelles, f : R2 → R, vous pouvez voir dans les
figures (3.2), (3.3), (3.5) et (3.4), la notion et la relation entre les courbes de niveau et des
traces horizontales.

3.1.3 Principe des méthodes du gradient


Dans cette section, nous considérons une classe de méthodes de descente pour les fonctions
différentiable à valeurs réelles appelées méthodes du gradient. Ces méthodes de type gradient
utilisent comme direction de descente
  l’opposée de la direction du gradient de f au point
courant. Si on prend d(k) = −∇f x(k) et si ∇f (x(k) ) 6= 0 on obtient la méthode du gradient 4 :

ou  est un réel positif petit donné qui représente la précision désirée et le pas α(k) est choisi
constant ou variable :
1. Si α(k) est fixé au départ alors on a la méthode du gradient à pas fixe (GP F ).

  2

4. Bien sur −∇f (xk ) est une direction de descente car ∇f x(k) , d(k) = − ∇f x(k) < 0

H
3y
Figure 3.4 – Les courbes de niveau de la fonction f (x, y) = − x2 +y2 +1

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.1. MÉTHODE DU GRADIENT 52

H
Figure 3.5 – Les courbes de niveau de la fonction f (x, y) = 6 − 3x − 2y.

Algorithm 1 Méthode du gradient


1. Initialisation(k=0) : Choix de x(0) ∈ Rn .
 
2. Itération k : d(k) = −∇f x(k)
x(k+1) = x(k) + α(k) d(k) .

(k+1) (k)
3. Critère d’arrêt : Si x < , STOP.
−x
Sinon, on pose k = k + 1 et aller à l’étape 2.

  
2. Si α(k) = arg minα>0 f x(k) − α(k) ∇f x(k) alors on a la méthode du gradient à pas
optimal (GP O).

3.1.3.1 Méthode du Gradient à Pas Fixe


Soient f ∈ C 1 (Rn , R) . On se donne α > 0.

Algorithm 2 Méthode du Gradient à Pas Fixe (GPF)


1- Initialisation(k=0) : Choix  dex (0)
∈ R n
et α > 0.
2- Itération k : d(k) = −∇f x(k)
x(k+1) =
x (k)
+ αd (k)
.
(k+1) (k)
3- Critère d’arrêt : Si x − x < , STOP.
Sinon, on pose k = k + 1 et aller à l’étape 2.

Théorème 3.1. (
onvergence de la méthode GPF) Si f est différentiable à gradient Lipschitzien de constante
L et elliptique de constante a, alors l’algorithme
i h du gradient à pas fixe converge vers
2a
l’unique solution optimale pour tout α ∈ 0, L2 . La vitesse de convergence étant linéaire
q
a2
de rapport 1− L2
pour α = a
L2
.

Démonstration. Montrons la convergence de l’algorithme de (GP F ) . On a :


2
∗ 2 (k) ∗ ∗ 2 2 2
kx (k+1)
−x k = x − α∇f (xk ) − x = kxk − x k − 2α h∇f (xk ) , xk − x i + α k∇f (xk )k .

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.1. MÉTHODE DU GRADIENT 53

Figure 3.6 – La séquence typique résultant de la méthode GPO.

Comme ∇f est L liptchizien et a elliptique, et ∇f (x∗ ) = 0, alors


∗ 2 2 2
kxk − x k − 2α h∇f (xk ) − ∇f (x ) , xk − x i + α k∇f (xk ) − ∇f (x )k
∗ ∗ ∗

∗ 2 ∗ 2 2 2 ∗ 2
≤ kxk − x k − 2aα kxk − x k + α L kxk − x k
 
∗ 2
= kxk − x k 1 − 2aα + α2 L2 ,

On pose P (α) = 1 − 2aα + α L q =⇒ P (α) = −2a + 2L α = 0 =⇒ a =


2 2 0 2 ∗ a
L2
.
a2 a2
P (a ) = 1 − L2 =⇒ kxk −x∗ k ≤ 1 − L2 < 1.
∗ kxk+1 −x∗ k
i h
Sur 0, L2a2 , on a P (α) < 1 ⇐⇒ 1 − 2aα + α2 L2 < 1 ⇐⇒ α < 2a
L2
. Donc, pour tout
i h
2a
α ∈ 0, L2
l’algorithme du gradient à pas fixe converge.

3.1.3.2 Méthode du Gradient à Pas optimal


L’idée de l’algorithme du gradient à pas optimal est d’essayer de calculer à chaque itération
le pas qui rend la fonction objectif minimal le long de la direction de descente choisie. Soient
f ∈ C 1 (Rn , R), cet algorithme s’écrit :

Algorithm 3 Méthode du Gradient à Pas Optimal (GPO)


1- Initialisation(k=0) : Choix de x(0) ∈ Rn .
2- Itération k :
x(k) connu, (k ≥ 0),
On calcule d(k) = −∇f (x(k) ).
On choisit α(k) ≥ 0 tel que
f (x(k) + α(k) d(k) ) ≤ f (x(k) + αd(k) ) ∀α ≥ 0.
On pose x(k+1) = x(k) + α(k) d(k) .

(k+1) (k)
3- Critère d’arrêt : Si x < , STOP.
−x
Sinon, on pose k = k + 1 et aller à l’étape 2.

Dans la figure (3.6), on remarque que la méthode de la plus grande pente se déplace par
des pas orthogonales. Cette méthode possède une propriété intéressante comme indiqué dans
la proposition suivante :

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.1. MÉTHODE DU GRADIENT 54

Proposition 3.2.
oit f : Rn −→ R une fonction différentiable. Les D directions
 de descente
 E d (k)
générées par
la méthode (GP O) vérifiant d(k+1) d(k) = 0 (i.e. ∇f x(k+1) , ∇f x(k) = 0).

Démonstration. Si on introduit la fonction ϕ(α) = f (x(k) + αd(k) ), on a :

ϕ0 (α) = ∇f (x(k) + αd(k) )T d(k) ,

et puisque ϕ est dérivable on a nécessairement : ϕ0 (α) = 0, donc

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


∇f (x + α(k) d ) d = ∇f (x ) d = −d d = 0,
qui complète cette preuve.
La proposition ci-dessus implique que ∇f (x(k) ) est parallèle au plan tangent à l’ensemble
de courbes de niveau défini par {f (x) = f (x(k+1) )} en x(k+1) . Notez que chaque nouveau point
est généré par un algorithme de descente, la valeur correspondante de la fonction f diminue,
comme indiqué ci-dessous.
Proposition 3.3. S
n o∞
x(k) est une suite généré par un algorithme de descente pour une f : Rn → R et si
k=0
∇f (x(k) ) 6= 0, alors f (x(k+1) ) < f (x(k) ).

Démonstration. Rappelons d’abord que


(k+1) (k) (k)
x =x − α(k) ∇f (x ),

où α(k) ≥ 0 est le minimum de


 
(k) (k)
ϕk (α) = f x − α∇f (x )

sur tout α ≥ 0. Ainsi, pour α ≥ 0, on a


 
ϕk α(k) ≤ ϕk (α) .

Par la règle
dϕ D E 2
(k) (k) (k) (k)
ϕk (0) = (0) = − ∇f (x − 0∇f (x )), ∇f (x ) = − ∇f (x ) < 0,
0 k

puisque ∇f (x(k) ) 6= 0 par hypothèse. Ainsi, ϕ0k (0) < 0 et cela implique qu’il existe α > 0
telle que ϕk (0) > ϕk (α) pour tout α ∈ ]0, α]. D’où,
 
(k+1) (k)
f (x ) = ϕk α(k) ≤ ϕk (α) < ϕk (0) = f (x ),

qui complète la preuve.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.1. MÉTHODE DU GRADIENT 55

3.1.3.3 Critère d’arrêt


Dans la proposition (8.2), nousavons  prouvé que l’algorithme possède la propriété
 de des-
cente : f (x(k+1) ) < f (x(k) ) si ∇f x(k) 6= 0. Si pour certains k, on a ∇f x(k) = 0, alors
le point x(k) vérifie le CN 1. Dans ce cas, x(k+1) = x(k) . Nous pouvons utiliser ce qui précède
comme base pour un critère d’arrêt de l’algorithme.
En pratique, la condition ∇f (x(k+1) ) = 0 ne convient toutefois pas directement comme
critère d’arrêt, car le calcul numérique du gradient sera rarement identique à zéro. Un critère
d’arrêt pratique consiste à vérifier
(k)
||∇f (x )|| ≤ ε,
ou ε est un reel positif (petit) donne qui représente la précision désirée.
Alternativement, nous pouvons calculer la différence absolue |f (x(k+1) ) − f (x(k) )| entre les
valeurs de la fonction objectif pour deux itérations successives, et si la différence est inférieure
à un seuil préspécifié, nous nous arrêtons ; c’est-à-dire qu’on s’arrête quand

(k+1) (k)
|f (x ) − f (x )| < ε.
Une autre alternative consiste à calculer la norme ||x(k+1) − x(k) || de la différence entre deux
itérations successives, et nous nous arrêtons si la norme est inférieure à un seuil prédéterminé :

||x(k+1) − x(k) || < ε.


Alternativement, nous pouvons vérifier les valeurs «relatives» des quantités ci-dessus ; par
exemple,

|f (x (k+1)
) − f (x )|(k)
||x − x || (k+1) (k)
< ε ou < ε.
|f (x(k) )| ||x(k) ||
Les deux critères d’arrêt (relatifs) ci-dessus sont préférables aux critères précédents (absolus)
car les critères relatifs sont «indépendants de l’échelle».
Par exemple, la mise à l’échelle de la fonction objectif ne change pas la satisfaction du
|f (x(k+1) )−f (x(k) )|
critère |f (x(k) )|
< ε. De même, la mise à l’échelle de la variable de décision ne modifie
||x(k+1) −x(k) ||
pas la satisfaction du critère < ε.
||x(k) ||
Pour éviter de diviser par de très petits nombres, nous pouvons modifier ces critères d’arrêt
comme suit :

|f (x(k+1) ) − f (x(k) )| ||x(k+1) − x(k) ||


< ε ou < ε.
max {1, |f (x(k) )|} max {1, ||x(k) ||}
Notez que les critères d’arrêt ci-dessus sont pertinents pour tous les algorithmes itératifs
décrits dans ce chapitre.

Exemple 3.2. Nous utilisons la méthode (GP O) pour trouver le minimum de


4 2 4
f (x) = (x1 − 4) + (x2 − 3) + 4 (x3 + 5) .

Le point initial est x = [4, 2, −1] . Nous effectuons une seule itération.
(0) T

On a h iT
3 3
∇f (x) = 4 (x1 − 4) , 2 (x2 − 3) , 16 (x3 + 5) ,

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.2. MÉTHODE DE NEWTON 56

 
Par conséquent, ∇f x (0)
= [0, −2, 1024] . Pour calculer x , nous avons besoin de
T (1)

  
α (0 ) = arg min f x(0) − α(0) ∇f x(0)
α≥0
 
2 4
= arg min (2α − 1) + 4 (−1024α + 4)
α≥0
= 3, 967e − 3,

et donc x (1)
= [4, 2, 008, −5, 002] . T

3.1.4 Calcul du pas optimal dans le cas quadratique


1 T
Considérons

la fonction

quadratique f (x) = 2
x Hx − x T
b avec H T
= H et H > 0. On note
ϕ (α) = f x(k) + αd(k) . Le pas optimal α(k) est caractérisé par

ϕ0 (α(k) ) = 0,
on a donc,
D E D E
(k) (k) (k) (k) (k) (k)
∇f (x + α(k) d ), d = H(x + α(k) d ) − b, d = 0,
soit
D   E
(k) (k) (k)
∇f x + α(k) Hd , d = 0,
on obtient donc,
 T
∇f x(k) d(k)
α(k) =
d(k)T Hd(k)
qui est bien positif car d est une direction de descente et d Hd > 0 (car H > 0).
(k) (k)T (k)

La méthode du gradient à pas optimal peut donc s’écrire (dans le cas quadratique)




d(k) = −Hx(k) + b
 (k) 2
kd k
α(k) = d(k) ,Hd(k)


 h i

x(k+1) = x(k) + α(k) d(k) .

Exemple 3.3. Soit f (x1 , x2 ) = x21 + x22 . Puis, partant d’un point initial arbitraire x(0) ∈ R2 ,
on arrive à la solution x∗ = 0R2 en un seul iteration. Voir la figure(3.7)
Toutefois, si f (x1 , x2 ) = 15 x21 + x22 , la méthode de gradient mélange les inefficacement
dans les deux sens lors de la recherche du minimum dans une vallée étroite (voir Figure
??f ig : quadratiqgradient2)). Cet exemple illustre un inconvénient majeur de la méthode de
gradient. Des méthodes plus sophistiquées permettant de résoudre ce problème sont abordées
dans les sections suivants.

3.2 Méthode de Newton


Nous savons que la méthode du gradient utilise uniquement les premières dérivées (gradients)
pour sélectionner une direction de recherche appropriée. Cette stratégie n’est pas toujours la
plus efficace. Si des dérivées supérieures sont utilisées, l’algorithme itérative résultant peut
donner de meilleurs résultats que la méthode du gradient. La méthode de Newton utilise des
dérivées première et seconde et donne même de meilleurs résultats que la méthode du gradient

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.2. MÉTHODE DE NEWTON 57

Figure 3.7

Figure 3.8

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.2. MÉTHODE DE NEWTON 58

Figure 3.9

si le point initial est proche du minimum. L’idée de cette méthode est la suivante. À partir d’un
point de départ, nous construisons une approximation quadratique de la fonction objectif qui
correspond aux valeurs de première et seconde dérivées en ce point. Nous minimisons ensuite la
fonction approximative (quadratique) au lieu de la fonction objectif d’origine. Nous utilisons le
minimum de la fonction approximative comme point de départ à l’iteration suivante et répétons
la procédure de manière itérative. Si la fonction objectif est quadratique, l’approximation est
exacte, et la méthode donne la vraie mimimum en une seule étape. Si, au contraire, la fonction
objectif n’est pas quadratique, alors l’approximation ne fournira qu’une estimation de la position
du vrai minimum. La figure??f ig : newthon1) illustre cette idée.
Soit f : R → R, deux fois continûment différentiable. On a l’approximation quadratique
n

de f au point x(k) en utilisant le développement en série de Taylor d’ordre 2



(k)
 
(k)
T 
(k)
 1 (k)
T
2

(k)

(k)

f (x) ≈ f x + x−x ∇f x + x−x ∇f x x−x = q (x) .
2
L’application du CN 1 a l’approximation quadratique q donne
    
(k) 2 (k) (k)
0 = ∇q (x) = ∇f x +∇ f x x−x .
Soit x(k+1) ∈ Rn tel que
 
q x(k+1) = 0,
i.e.     
∇f x(k) + ∇2 f x(k) x(k+1) − x(k) = 0
 
Si ∇2 f x(k) > 0, alors q atteint un minimum à
  −1  
(k+1) (k) 2 (k) (k)
x =x − ∇f x ∇f x .

Exemple 3.4. Utilisez la méthode de Newton pour minimiser la fonction de Powell :


2 2 4 4
f (x1 , x2 , x3, x3 ) = (x1 + 10x2 ) + 5 (x3 − x4 ) + (x2 − 2x3 ) + 10 (x1 − x4 ) .

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.2. MÉTHODE DE NEWTON 59

Nous utilisons x = [3, −1, 0, 1] comme point de départ . Effectuer trois itérations. Notez
(0) T

que f (x(0) ) = 215. Nous avons


 3

2 (x1 + 10x2 ) + 40 (x1 − x4 )
 3 
 20 (x1 + 10x2 ) + 4 (x2 − 2x3 ) 
∇f (x) = 
3
,

 10 (x3 − x4 ) − 8 (x2 − 2x3 ) 

3
−10 (x3 − x4 ) − 40 (x1 − x4 )

et F (x) = ∇2 f (x) est donné par


 2 2

2 + 120 (x1 − x4 ) 20x2 0 −120 (x1 − x4 )
 2 2 
 20x2 200x2 + 12 (x2 − 2x3 ) −24 (x2 − 2x3 ) 0 
F (x) = 
2 2
.

 0 −24 (x2 − 2x3 ) 10x3 + 48 (x2 − 2x3 ) −10 

2 2
−120 (x1 − x4 ) 0 −10 10x4 + 120 (x1 − x4 )

— Iteration 1 :   h iT
∇f x(0) = 306, −144, −2, 310 ,
 
482 20 0 −480
 20 212 −24 0 
F (x(0) ) =
 
 ,
 0 −24 58 −10 
−480 0 −10 490
 
0.1126 −0.0089 0.0154 0.1106
 −0.0089 0.0057 0.0008 −0.0087 
F (x(0) )−1 =
 
 
 0.0154 0.0008 0.0203 0.0155 
0.1106 −0.0087 0.0155 0.1107
  h iT
(0) −1 (0)
F (x ) ∇f x = 1.4127, −0.8413, −0.2540, 0.7460 .
Par conséquent,
 
(1) (0) (0) −1 (0)
x = x − F (x ) ∇f x
h iT
= 1.5873, −0.1587, 0.2540, 0.2540 ,
 
f x(1) = 31.8.
— Iteration 2 :
  h iT
∇f x(1) = 94.81, −1.179, 2.371, −94.81 ,
 
215.3 20 0 −213.3
 20 205.3 −10.67 0 
F (x(1) ) =  
 ,
 0 −10.67 31.34 −10 
−213.3 0 −10 223.3
  h iT
(1) −1 (1)
F (x ) ∇f x = 0.5291, −0.0529, 0.0846, 0.0846 .
Par conséquent,
h iT
(2)
x = 1.0582, −0.1058, 0.1694, 0.1694 ,
 
f x(2) = 6.28.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.2. MÉTHODE DE NEWTON 60

— Iteration 3 :
  h iT
(2)
∇f x = 28.09, −34.75, 0.7031, −28.08 ,
 
96.80 20 0 −94.80
 20 202.4 −4.744 0 
F (x(2) ) =
 
 ,
 0 −4.744 19.49 −10 
−94.80 0 −10 104.80
Par conséquent,
h iT
x(3) = 0.7037, −0.0704, 0.1121, 0.1111 ,
 
f x(3) = 1.24.
Notez que la k − ème itération de la méthode de Newton peut être écrite en deux étapes
   
1. Résoudre ∇2 f x(k) d(k) = ∇f x(k) pour d(k) .
2. Soit x(k+1) = x(k) + d(k) .
L’étape 1 nécessite la solution d’un système n × n d’équations linéaires. Ainsi, une méthode
efficace de résolution de systèmes d’équations linéaires est essentielle lors de l’utilisation de la
méthode de Newton.
Algorithme de Newton pour un problème d’optimisation sans contraintes
Initialisation : x(0) , ε
   
Iteration principale : Trouver d(k) solution du problème ∇2 f x(k) d(k) = ∇f x(k) ,
x(k+1) = x(k) + d(k)
 
(k+1)
Test d’arret : Si ∇f x < ε stop x∗ = x(k+1)
Sinon k = k + 1.
    −1  
Remarque 3.1. Si ∇2 f x(k) > 0 ∀k ∈ N. On pose d(k) = − ∇2 f x(k) ∇f x(k) .
On a
D  E   −1    
d(k) , ∇f x(k) = − ∇2 f x(k) ∇f x(k) , ∇f x(k)
< 0.

Donc, d(k) est une direction de descente, alors la méthode de Newton est une méthode de des-
cente.

3.2.0.1 Analyse de la méthode de Newton


Comme dans le cas d’une variable, l’algorithme de Newton ne garantit pas la décroissantes
les valeurs de la fonction objectif si F (x(k) ) n’est pas défini positif. De plus, même si F (x(k) ) > 0,
la méthode de Newton peut ne pas être une méthode de descente ; c’est-à-dire qu’il est possible
que f (x(k+1) ) ≥ f (x(k) ). Par exemple, cela peut se produire si notre point de départ x(0) est
loin de la solution. Malgre de ces inconvénients, la méthode de Newton possède des propriétés
de convergence supérieures lorsque le point de départ est proche de la solution, comme nous le
verrons dans la suite de cette section.
L’analyse de convergence de la méthode de Newton lorsque f est une fonction quadratique
est simple. En fait, la méthode de Newton atteint le point x∗ tel que f (x∗ ) = 0 en une seule
étape à partir de tout point initial x(0) . Pour voir cela, supposons que Q = QT est inversible et

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.2. MÉTHODE DE NEWTON 61

1 T
f (x) = x Qx − xT b.
2
Alors,

∇f (x) = Qx − b et ∇2 f (x∗ ) = Q.
Par conséquent, étant donné tout point initial x(0) par l’algorithme de Newton

 
(1) (0) (0) −1 (0)
x = x − F (x ) ∇f x
h i
= x(0) − Q−1 Qx(0) − b
= Q−1 b
= x.

Soit {x(k) } la suite de la méthode de Newton pour minimiser une fonction f : Rn → R.


Nous montrons que {x(k) } converge vers le minimum x∗ avec un ordre de convergence au moins
égal à 2 (quadratique).
Théorème 3.2
[ref ]Soient f ∈ C 3 et x∗ ∈ Rn tel que : ∇f (x∗ ) = 0 et ∇2 f (x∗ ) est inversible. Alors,
∀x(0) ∈ Rn suffisament proche de x∗ , la méthode de Newton est bien définie ∀k, et elle
converge vers x∗ d’une manière quadratique.

Théorème 3.3
Soit {x(k) } la séquence générée par la méthode de Newton pour minimiser une fonction
objectif donnéef (x). Si F (x(k) ) > 0 et ∇f (x(k) ) 6= 0, la direction de recherche
  −1  
(k) (k) (k) (k+1) (k)
d =− F x ∇f x =x −x

de x(k) à x(k+1) est une direction descente pour f dans le sens où il existe α > 0 pour tout
α ∈ (0, α),∇    
(k) (k) (k)
f x + αd <f x .

Démonstration. Soit  
(k) (k)
ϕ (α) = f x + αd .
Ensuite, D   E
ϕ0 (α) = ∇f x(k) + αd(k) , d(k) .
Par conséquent,
D   E      −1  
ϕ0 (0) = ∇f x(k) , d(k) = ∇f x(k) , − F x(k) ∇f x(k) < 0,
  −1  
puisque F x(k) > 0 et ∇f x(k) 6= 0. Il existe donc un α > 0 de sorte que pour tout
α ∈ (0, α), ϕ (α) < ϕ (0).
Cela implique que pour tout α ∈ (0, α),
   
(k) (k) (k)
f x + αd <f x ,

qui complète la preuve.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 62

3.3 Methode gradient conjuguees


3.3.1 Introduction
Définition 3.6
Soit Qn une matrice symétrique o n × n, définie positive . On dit que la famille de vec-
teurs d(1) , d(2) , . . . , d(p) sont Q-conjugués (ou conjugues par rapport a Q ) si ∀i 6= j :
D E
d(i) , Qd(j) = 0.

Exemples
D E
— Soit {ei }i=1,n la base canonique de Rn : ∀i 6= j ei , I(n) ej = 0.
 
— Soit Q ∈ Mn,n (R) symétrique, alors il existe une matrice P orthogonale P T = P −1
formée par les vecteurs propres de Q et D une matrice diagonale dont les éléments de
diagonale sont les valeurs propres de Q tel que

Q = P DP −1 ,

on note par vj le vecteur propre de Q donc

vj = P ej

=⇒
D E D E
hvj , Qvi i = vj , P DP −1 vi = P ej , P DP T P ei = hej , Dei i = λi hej , ei i = 0 si i 6= j.

Proposition 3.4
Soient Q ∈ Mn,nn(R) symétrique etodéfinie positive, et d(1) , d(2) , . . . , d(p) sont Q−conjugué.
Alors la famille d(1) , d(2) , . . . , d(p) est libre.

Pp
Démonstration. Soit α0 , . . . , αk des scalaires tels que i=1 αi d(i) = 0.
D’une part, on a !
Xp
(i)
Q αi d = 0.
i=1

Donc,
p
X
(i)
αi Qd = 0.
i=1
D E
Puisque tous les autres termes d(j) , Qd(i) = 0, i 6= j. Mais Q = QT > 0 et d(j) 6= 0.Donc,
* p + p
X X D E
d(j) , αi Qd(i) = αi d(j) , Qd(i)
i=1 i=1
D E
= αj d(j) , Qd(j)
= 0,

alors
αj = 0, ∀j = 1, p.
Par conséquent, d(0) , d(1) , . . . , d(k) , k ≤ n − 1, sont linéairement indépendants.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 63

Exemple 3.5. Soit Q une matrice symétrique tel que


 
3 0 1
 
Q =  0 4 2 ,
1 2 3

on calcule les mineurs principaux dominants, on obtient



3 0



∆1 = 3 > 0, ∆2 = = 12 > 0 et ∆2 = |Q| = 20 > 0,

0 4

donc Q est définie positive.


Le but de cet exemple est de construire 3 vecteurs Q-conjugués d(1) , d(2) , d(3) , pour cela on
procède de la manière suivante :
On choisit d = [1, 0, 0] et on cherche d = [d1 , d2 , d3 ] et d = [d1 , d2 , d3 ] tel que
(1) T (2) 2 2 2 T (3) 3 3 3 T

 D E



 D
d (1)
, Qd(2)
=0
E
d(1) , Qd(3) =0 (3.2)

 D E

 d(2) , Qd(3) = 0.

— La Détermination de d(2)
La première équation du système (3.2) nous donne
  
3 0 1 d21
  2 
[1, 0, 0]  0 4 2   d2  =0
1 2 3 d23

donc
(2) (2)
3d1 + d3 = 0, (3.3)
(2) (2)
On choisit d1 et d3 tel qu’ils vérifient (3.3). Par exemple, on prend d (2)
= [1, 0, −3] .
T

— La Détermination de d(3)
D’aprés les deux dernières équations du système (3.2), on a
( (3) (3)
3d1 + d3 = 0
(3) (3) (3.4)
−6d2 − 8d3 = 0,
(3) (3) (3)
on choisit d1 , d2 , d3 tel qu’ils satisfont (3.4) et d(3) 6= 0R3 . Par exemple, on peut prendre
d = [1, 4, −3] .
(3) T

3.3.2 Description de la methode


Nous présentons maintenant l’algorithme de direction conjugué pour le problème d’optimi-
sation suivant (
min f (x) = 21 xT Qx − xT b
(3.5)
x∈R n

où Q = Q > 0, x ∈ R . Notez que, puisque Q > 0, la fonction f a un minimum global qui


T n

peut être trouvé en résolvant Qx = b. La solution optimale x∗ est donnée par

x∗ = Q−1 b. (3.6)

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 64

n o
Soient d , d , . . . , d qui sont Q-conjugués, la famille A = d , d , . . . , d
(1) (2) (n)
forme une (1) (2) (p)

base de Rn (car cardA = dim Rn = n et A est libre). Soit x∗ ∈ Rn la solution du problème (3.5)
alors n X
∃!β1 , β2 , . . . , βn telque x∗ = βi d(i) ,
i=1
donc n
!
X
(i)
Qx = b ⇐⇒ Q

βi d =b
i=1
⇐⇒ n
X
(i)
βi Qd =b
i=1
alors, * +
n
X D E
d(j) , βi Qd(i) = d(j) , b
i=1
⇐⇒ n
X D E D E
(j) (i) (j)
βi d , Qd = d ,b
i=1
=⇒ D E
d(j) , b
βj = .
hd(j) , Qd(j) i
Théorème 3.4
Pour tout point initial x(0) , l’algorithme de base de la direction conjuguée converge vers
l’unique x∗ (qui résout Qx = b) en n étapes ; c’est-à-dire x(n) = x∗ .

Démonstration. Considérons x∗ − x(0) ∈ Rn . Puisque d(i) sont linéairement indépendants, il


existe des constantes βi , i = 0, . . . , n − 1, telles que
n−1
X
x∗ − x(0) = βi d(i) .
i=1

On multipliez les deux côtés de cette équation par d (k)T


Q, 0 ≤ k < n, on obtient
 
(k)T (0) (k)T
d Q x −x ∗
= βk d Qd(k) ,

où les termes d (k)T


Qd(i) = 0, k 6= i, par la propriété Q−conjugué. Donc,
 
(k)T
d Q x∗ − x(0)
βk = (k)T
.
d Qd(k)
Maintenant, nous pouvons écrire
k−1
X
x(k) − x(0) = αi d(i) .
i=1

Donc écrire    
(0) (k) (k) (0)

x −x = x −x ∗
+ x −x ,
on multipliant par d (k)T
Q, on obtient
     
(k)T
d Q x∗ − x(0) = d (k)T
Q x∗ − x(k) + d (k)T
Q x(k) − x(0)
 
(k)T (k) (k)T (k)
= d Q x −x ∗
= −d g ,

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 65

car g (k)
= Qx
(k)
− b et Qx = b Ainsi,

d g (k) (k)T
βk = − (k)T (k) = αk
d Qd
et x∗ = x(n) qui complète la preuve.
Exemple 3.6. Trouver le minimum de
" # " #
1 T 4 2 −1 2
f (x1 , x2 ) = x x−x T
,x ∈ R ,
2 2 2 1

selon la méthode de direction conjugué avec le point initial x(0) = [0, 0]T , et les directions
3 3 T
Q−conjugués d = [1, 0] et d = [− 8 , 4 ] .
(0) T (1)

On a g (0) = −b = [1, −1]T ,


et donc " #
1
[1, −1]
(0)T (0)
g d 0 1
α0 = − (0)T (0) = − " #" # =− .
d Qd 4 2 1 4
[1, 0]
2 2 0
Ainsi, " #
− 41
x(1) = x(0) + α0 d(0) = .
0
Pour trouver x(2) on calcule
" #
(1) (1) 0
g = Qx −b= 3
−2
et
g d(1) (1)T
α1 = − (1)T (1) = 2.
d Qd
Donc, " #
(2) (1) (1) −1
x =x + α1 d = 3 .
2

Puisque f est une fonction quadratique à deux variables, x(2) = x∗ .


Pour une fonction quadratique de n variables, la méthode de la direction conjuguée atteint
la solution après n étapes.
Nous verrons ensuite que cette méthode possède également une certaine propriété souhai-
table dans les étapes intermédiaires. Supposons que nous partions de x(0) et que nous cherchions
dans la direction d(0) pour obtenir.
!
(0)T (0)
(1) (0) g d
x =x − (0)T (0) d(0) .
d Qd
Nous affirmons que g (1)T
d(0) = 0. Pour voir ça,

 T
(1)T
g d(0) = Qx(1) − b d(0)
!
(0)T (0)
(0)T (0) g d
= x Qd − (0)T (0) d Qd(0) − bT d(0)
(0)T
d Qd
(0)T (0) (1)T (0)
= g d −g d = 0.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 66

Figure 3.10

Lemme 3.1
Dans la méthode du gradient conjugué,
(k+1)T (i)
g d = 0,

pour tout k, 0 ≤ k ≤ n − 1 et 0 ≤ i ≤ k.

Remarque 3.2. Quand on dispose d’une base formée de vecteurs Q-conjugués, alors
D E
n
X d(i) , b
x∗ = βi d(i) avec βi = .
i=1 hd(i) , Qd(i) i

3.3.3 Algorithme de gradient conjuguée


L’algorithme de gradient conjugué n’utilise pas de directions de conjugaison pré-spécifiés,
mais calcule plutôt les directions que l’algorithme progresse. A chaque étape de l’algorithme, la
direction est calculé comme une combinaison linéaire de la direction précédente et le gradient
de courant, de telle sorte que toutes les directions sont Q−conjuguee d’où le nom d’algorithme
de gradient conjugué.
Comme précédemment, nous considérons la fonction quadratique
1 T
min f (x) = x Qx − x b,
T
2

où Q = QT > 0, x ∈ Rn .
Etant donné un point de départ x(0) ∈ Rn . On pose
 
g (0) = ∇f x(0)
(0)
= Qx − b.

On prend
(0) (0)
d = −g .

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 67

On a
(1) (0) (0)
x =x + α0 d ,
avec D E
  g (0) , d(0)
α0 = arg min f x(0) + αd(0) = − ,
α≥0 hd(0) , Qd(0) i
donc
 
(1) (1)
g = ∇f x
(1)
= Qx − b.

Dans l’étape suivante, nous cherchons dans une direction d(1) qui est Q−conjuguée à d(0) .
Nous choisissons d(1) comme une combinaison linéaire de g (1) et d(0) .
En général, à la (k + 1)ème étape, nous choisissons d(k+1) comme une combinaison linéaire
de g (k+1) et de d(k) . Plus précisément, nous choisissons Les coefficients βk , k = 1, 2, . . . , sont
choisis de telle sorte que d(k+1) soit Q-conjugué à d(0) , d(1) , . . . , d(k)
(k+1)T
g d(k)
βk = − (k)T (k) .
d Qd
En général, le principe de la méthode du gradient conjugué est le suivant :
à la (k + 1)ème étape, nous choisissons d(k+1)
comme une combinaison linéaire de g (k+1)
et
de d(k)

d(k+1) = −g (k+1) + βk d(k) ,


Plus précisément, les coefficients βk , k = 1, 2, . . . , sont choisis de telle sorte que d(k+1) soit
Q-conjugué à d(0) , d(1) , . . . , d(k)
(k+1)T
g d(k)
βk = (k)T (k) .
d Qd

3.3.3.1 Algorithme de la Méthode du Gradient Conjugué


L’algorithme du gradient conjugué est résumée ci-dessous.
1. k = 0, selection du point x(0) .
 
2. g (0) = ∇f x(0)
Si g (0) = 0 stop x∗ = x(0)
Sinon d(0) = −g (0) .
hg(k) ,d(k) i
3. αk = − d(k) ,Qd(k) .
h i
4. x(k+1) = x(k) + αk d(k) .
 
5. g (k+1)
= ∇f x (k+1)
.
Si g (k+1) = 0 stop x∗ = x(k+1) .
hg(k+1) ,d(k) i
6. βk = d(k) ,Qd(k) .
h i
7. d(k+1) = −g (k+1) + βk d(k) .
8. k = k + 1 aller à 3.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 68

Remarque 3.3. Pour le βk , on cherche à construire des drections de descente Q-conjuguées


i.e D E
(k+1) (k)
d , Qd =0
⇐⇒ D E
(k+1) (k) (k)
−g + βk d , Qd =0
⇐⇒ D E D E
− g (k+1) , Qd(k) + βk d(k) , Qd(k) = 0,
alors D E
g (k+1) , d(k)
βk = .
hd(k) , Qd(k) i
Théorème 3.5
Dans la méthode du gradient conjugué les directions d(1) , d(2) , . . . , d(n) sonts Q-conjuguées.

Démonstration.
Exemple 3.7. Considérons la fonction quadratique
3 2 2 3 2
f (x1 , x2 , x3 ) = x1 + 2x2 + x3 + x1 x3 + 2x2 x3 − 3x1 − x3 .
2 2
Nous trouvons le minimum en utilisant l’algorithme de gradient conjugué, en utilisant le
point de départ x(0) = [0, 0, 0]T . Nous pouvons représenter f comme
1 T
f (x) = x Qx − x b,
T
2
   
3 0 1 3
   
où Q =  0 4 2  , b =  0 .On a
1 2 3 1

g (x) = ∇f (x) = Qx − b = [3x1 + x3 − 3, 4x2 + 2x3 , 3x3 + x1 + 2x2 − 1] . T

Par conséquent,
(0)
g = [−3, 0, −1] , T

(0) (0)
d = g ,
D E
(0) (0)
10 g ,d
α0 = − (0) =
(0)
hd , Qd i 36
et
(1) (0) (0)
x =x + α0 d = [0.8333, 0, 0.2778] . T

La prochaine étape donne


 
(1) (1)
g = ∇f x = [−0.2222, 0.5666, 0.6667] , T

D E
g (1) , Qd(0)
β0 = − = 0.08025.
hd(0) , Qd(0) i
Nous pouvons maintenant calculer
(1) (1) (0)
d = −g + β0 d = [0.4630, −0.5666, −0.5864] . T

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 69

Donc, D E
g (1) , d(1)
α1 = − = 0.2187
hd(1) , Qd(1) i
et
(2) (1) (1)
x =x + α1 d = [0.9346, −0.1215, 0.1495] . T

Pour effectuer la troisième itération, nous calculons


 
(2) (2)
g = ∇f x = [−0.04673, −0.1869, 5666, 0.1402] , T

D E
g (2) , Qd(1)
β1 = − = 0.07075,
hd(1) , Qd(1) i
(2) (2) (1)
d = −g + β1 d = [0.07948, 0.1478, −0.1817] . T

D’où, D E
g (2) , d(2)
α2 = − = 0.8231
hd(2) , Qd(2) i
et
(3) (2) (2)
x =x + α2 d = [1, 0, 0] . T

 
Noter que g (3) = ∇f x(3) = 0,comme f est une fonction quadratique de trois variables, on
deduit que, x∗ = x(3) .

3.3.4 La méthode du gradient conjugué dans le cas général


Dans la section (10.3), nous avons montré que l’algorithme de gradient conjugué est une
méthode de direction conjuguée et qu’il minimise donc une fonction quadratique (ou la ma-
trice Hessiene est définie positive) de n variables en n étapes. L’algorithme peut être étendu
aux fonctions quelconques en interprétant f (x) = x Qx − x b comme une approximation en
T T

série de Taylor du second ordre. Près de la solution, de telles fonctions peuvent avoir approxi-
mativement la forme quadratique, comme le suggère le développement de Taylor. Pour une
fonction quadratique, la matrice hessienne Q, est constante. Cependant, pour une fonction non
linéaire, le hessien est une matrice qui doit être réévaluée à chaque itération de l’algorithme.
Cela peut être très coûteux en calcul. Ainsi, une mise en œuvre efficace de l’algorithme de
gradient conjugué qui élimine l’évaluation de Hessian à chaque étape est souhaitable.
Observons que Q n’apparaît que dans le calcul des scalaires αk et βk . Parce que
 
(k) (k)
αk = arg min f x + αd ,
α≥0

la formule de calcul αk dans l’algorithme peut être remplacée par une procédure de recherche
linéaire. Par conséquent, nous devons seulement faire attention à la formule βk . Heureusement,
l’élimination de Q de la formule est possible et conduit à des algorithmes qui ne dépendent que
des valeurs de la fonction de gradient, et à chaque itération. Cette méthode est intéressante
car elle ne nécéssite pas de stocker une matrice. Sa vitesse de convergence est très supérieure à
celle de la méthode du gradient. Nous discutons maintenant des modifications de l’algorithme
de gradient conjugué pour une fonction quadratique pour le cas où le hessien est inconnu. Les
modifications sont toutes basées sur la manipulation de algébriquement a la formule βk de telle
sorte que Q est éliminé. Nous discutons trois modifications bien connues.

Formule d’Hestenes-Stiefel. Rappelons que

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.3. METHODE GRADIENT CONJUGUEES 70

D E
g (k+1) , d(k)
βk = .
hd(k) , Qd(k) i
La formule de Hestenes-Stiefel est basée sur le remplacement du terme Qd (k)
par le terme

g (k+1) − g (k)
.
αk
Les deux termes sont égaux dans le cas quadratique, comme nous le montrons maintenant.
On a

x(k+1) = x(k) + αk d(k) .


On multipliant les deux côtés par Q, soustrayant ensuite b des deux côtés avec g (k) =
Qx(k) − b, nous obtenons g (k+1) = g (k) + αk Qd(k) , que nous pouvons réécrire comme Qd(k) =
(g (k+1) − g (k) )/αk . En substituant ceci dans l’équation originale pour βk , on obtient la formule
de Hestenes-Stiefel
h i
g (k+1) g (k+1) − g (k)
T

βk = .
(k) [g
T (k+1) −g ]
(k)
d
Formule Polak-Ribière. À partir de la formule de Hestenes-Stiefel, nous multiplions le
dénominateur pour obtenir
h i
g (k+1) g (k+1) − g (k)
T

βk = .
d(k) g (k+1) − d(k) g (k)
T T

D’après le lemme (), d(k) g (k+1) = 0. De plus, puisque d(k) = −g (k) +βk−1 d(k+1) , et le multiplier
par g (k) , on a

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


g d = −g g + βk−1 g d = −g g .
où encore une fois nous avons utilisé le lemme (). On obtient donc la formule Polak-Ribière
h i
g (k+1) g (k+1) − g (k)
T

βk = .
g (k) g (k)
T

Formule Fletcher-Reeves. À partir de la formule Polak-Ribière, nous multiplions le nu-


mérateur pour obtenir
(k+1)T (k+1) (k+1)T
g g −g g (k)
βk = .
g (k) T
g (k)
Nous utilisons maintenant le fait que g (k+1) (k)
g = 0, que nous obtenons en utilisant l’équation

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


g d = −g g + βk−1 g d(k−1) .
et appliquer le lemme (). Cela conduit à la formule de Fletcher-Reeves
  2
(k+1)T (k+1)
g g (k+1) ∇f x
βk = = 2 .
g (k) g (k) k∇f (x(k) )k
T

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 71

Remarque 3.4. Les formules ci-dessus nous donnent des algorithmes de gradient conjugué
qui ne nécessitent pas une connaissance explicite de la matrice de Hessian Q. Nous avons
uniquement besoin de la fonction objectif et des valeurs de gradient à chaque itération.

Remarque 3.5. Pour le cas quadratique, les trois expressions pour βk sont exactement égales.
Cependant, ce n’est pas le cas pour une fonction objectif non linéaire.

L’efficacité de la méthode du gradient conjugué repose essentiellement sur deux points :


1. La recherche linéaire (détermination du pas optimal) doit être exacte.
2. Les relations de conjugaison doivent être précises.
La recherche du pas optimal doit être réalisée à l’aide d’un algorithme spécifique (recherche
linéaire) puisque f est quelconque. Par contre la notion de conjugaison n’a pas de sens dans le
cas non-quadratique (sauf près de l’optimum, mais on ne le connaît pas. Il faut donc tester au
cours des itérations si l’hypothèse d’approximation quadratique est vérifiée. On peut surveiller
les indicateurs
suivants
(k)
– ∇f (x ) ∇f (x ) doit être petit.
(k+1) T

– On doit avoir

∇f (x(k+1) )T d(k+1)
≤ −α,
k∇f (x(k+1) )k kd(k+1) k
avec 0 < α ≤ 0 pas trop petit, c’est à dire que d(k+1) doit être une direction de descente
«raisonnable». Dans le cas où ces conditions ne sont pas vérifiées, on rompt la conjugaison
et on redémarre l’algorithme avec d(k+1) = −∇f (x(k+1) ). On peut aussi décider de faire ce
redémarrage arbitrairement toutes les p itérations (p fixé de l’ordre de n par exemple). Pour
un résultat de convergence et plus de détails nous renvoyons à [4]. ‘

3.3.4.1 Résumé sur les méthodes d’optimisation


Faisons le point sur les avantages et inconvénients des méthodes qu’on a vues sur l’optimi-
sation sans contrainte.
Méthodes de gradient : Ces méthodes nécessitent le calcul de ∇f (x(k) ). Leur convergence
est linéaire (donc lente).
Méthode de gradient conjugué : Si f est quadratique (c.à.d. f (x) = 21 xT Qx − xT b avec
Q symétrique définie positive), la méthode est excellente si elle est utilisée avec un précon-
ditionnement (pour n grand). Dans le cas général, elle n’est efficace que si n n’est pas trop
grand.
Méthode de Newton : La convergence de la méthode de Newton est excellente (conver-
gence localement quadratique) mais nécessite le calcul de Hf (x ) (et de ∇f (x )). Si on peut
(k) (k)

calculer Hf (x(k) ), cette méthode est parfaite.

3.4 Exercices corrigés


Exercice 3.1. Considérons la fonction f : R2 −→ R donné par :

f (x, y) = y 4 + 3y 2 − 4xy − 2y + x2 .

1. Montrer que f est coercive (infinie à l’infini).


2. Déterminer les points critiques de f, et préciser leur nature.
3. La fonction f est-elle convexe sur R2 ?

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 72

4. En partant du point x = (0, 0) ; a quel point x arrive-t-on si l’on applique une itération
(0) (1)
1
de la méthode gradient à pas fixe α = (GPF) ?
4
Corrigé 3.1
Considérons la fonction f : R2 −→ R donné par :
4 2 2
f (x, y) = y + 3y − 4xy − 2y + x .

1. f est coercive, car pouvons l’écrire comme


4 2 2
f (x, y) = y − y − 2y + (x − 2y) ,

qui tend évidemment à l’infini k(x, y)k −→ +∞. Car, si |y| −→ +∞, le terme y 4 − y 2 − 2y
tend vers +∞ et le terme (x − 2y)2 est positif ; ainsi, f (x, y) −→ +∞.
2. On commence par le calcul du gradient de f, qui est
3
∇f (x, y) = (−4y + 2x, 4y + 6y − 4x − 2) , T

et le mettre à zéro, c’est-à-dire résoudre le système

−4y + 2x = 0 et 4y 3 + 6y − 4x − 2 = 0.

La première équation implique que 4x = 8y, l’insertion dans la seconde équation donne

4y 3 − 2y − 2 = 0,

Une solution évidente de cette équation est y = 1 ; la coordonnée x correspondante est


x = 2. En divisant le polynôme 4y 3 + 6y − 4x − 2 par y − 1, on obtient l’équation
2
4y + 4y + 2 = 0,

les seules solution de cette équation sont imaginaires. Ainsi, le seule point critique de f
est le point (2, 1)T . Maintenant, nous notons que la fonction f est coercive. Ceci implique
que la fonction f possède au moins un minimum global, le seule candidat est le seule
point stationnaire (2, 1)T . Cela implique que (2, 1)T est un minimum global.
3. A fin de vérifier si la fonction f est convexe, on calcule son hessienne
!
2 2 −4
∇ f (x, y) = ,
−4 12y + 6
2

au point (0, 0)T on obtient !


2 2 −4
∇ f (0, 0) = ,
−4 6
Le déterminant est négatif. Ainsi ∇2 f (0, 0) n’est pas semi-définie positive, et donc f est
non convexe.
4. Le gradient négatif de f au point (0, 0)T est
!
0
−∇f (0, 0) = .
2
La prochaine itération sera
 
0
x(1) = x(0) − α∇f (0, 0) =  1  .
2

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 73

Exercice 3.2. Considérons la fonction f : R −→ R donné par :


2

2 2
f (x, y) = 1 + 2y + x + 2xy + 2y .
1. Calculer le gradient et la hessienne de f et déterminer l’unique minimum global de f sur
R.2

2. (02 pts)Considérons une méthode de descente qui a x0 = (0, −1)T comme un point
initiale et d = (1, 1)T comme une direction de recherche. vérifiez que d est une direction
descente et déterminez la prochaine approximation x1 = x0 + α0 d telle que
α0 = argminα>0 f (x0 + αd).

3. En partant du point y0 = (0, 0)T ; a quel point y1 arrive-t-on si l’on applique une itération
de la méthode gradient à pas optimal (GPO) ?
Corrigé 3.2
considérons la fonction f : R2 −→ R donné par :
4 2 2
f (x, y) = y + 3y − 4xy − 2y + x .
1. f est coercive, car pouvons l’écrire comme
f (x, y) = y 4 − y 2 − 2y + (x − 2y)2 ,
qui tend évidemment à l’infini k(x, y)k −→ +∞. Car, si |y| −→ +∞, le terme y 4 − y 2 − 2y
tend vers +∞ et le terme (x − 2y)2 est positif ; ainsi, f (x, y) −→ +∞.
2. On commence par le calcul du gradient de f, qui est
3
∇f (x, y) = (−4y + 2x, 4y + 6y − 4x − 2) , T

et le mettre à zéro, c’est-à-dire résoudre le système


3
−4y + 2x = 0 et 4y + 6y − 4x − 2 = 0.
La première équation implique que 4x = 8y, l’insertion dans la seconde équation donne
4y 3 − 2y − 2 = 0,
Une solution évidente de cette équation est y = 1 ; la coordonnée x correspondante est
x = 2. En divisant le polynôme 4y 3 + 6y − 4x − 2 par y − 1, on obtient l’équation
4y 2 + 4y + 2 = 0,
les seules solution de cette équation sont imaginaires. Ainsi, le seule point critique de f
est le point (2, 1)T . Maintenant, nous notons que la fonction f est coercive. Ceci implique
que la fonction f possède au moins un minimum global, le seule candidat est le seule
point stationnaire (2, 1)T . Cela implique que (2, 1)T est un minimum global.
3. A fin de vérifier si la fonction f est convexe, on calcule son hessienne
!
2 2 −4
∇ f (x, y) = ,
−4 12y + 6
2

au point (0, 0)T on obtient !


2 2 −4
∇ f (0, 0) = ,
−4 6
Le déterminant est négatif. Ainsi ∇2 f (0, 0) n’est pas semi-définie positive, et donc f est
non convexe.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 74

4. Le gradient négatif de f au point (0, 0) est T

!
0
−∇f (0, 0) = .
2

La prochaine itération sera


 
0
x(1) = x(0) − α∇f (0, 0) =  1  .
2
Exercice 3.3. On veut résoudre le système Ax = b, x ∈ R (avec A symétrique, définie
n

positive) par une méthode de gradient à pas constant. Soit x∗ la solution de ce système. On
propose l’algorithme suivant : 

 x 0 0
, d = b − Ax 0

xk+1 = xk + αdk


où dk = xk + αdk
α est un réel constant .
1. Soit ek = xk − x∗ ( pour k ≥ 0) ; montrer que ek = (I − αA)k e0 , ( pour k ≥ 0).
2. Soient 0 < λn ≤ λn−1 ≤ ... ≤ λ1 les valeurs propres de A.
2
Montrer que l’algorithme converge si et seulement si 0 < α < λ1
.
2
3. Montrer que le meilleur choix de α est : αopt = λ1 +λn
et qu’alors :

ρ (I − αopt A) = λ1 −λn
λ1 +λn

où ρ(M ) désigne le rayon spectral de la matrice M .


Corrigé 3.3

1. Comme ek = xk − x∗ , on obtient

ek+1 = xk+1 − x∗ = xk + αdk − x∗


= ek + αdk = ek + α(b − Axk )
= ek + α(b − A (ek + x ))

= ek + α(b| −{zAx∗} − Aek )


=0
= ek − αAek
= ek (I − αA)
= ek = (I − αA) e0 (On conclut par récurrence.)
k

2. Dire que ek converge vers 0 est équivalent à dire que le rayon spectral de (I − αA)
est strictement inférieur à 1. Les valeurs propres de (I − αA) sont (1 − αλi )i=1,...,n où
(λi )i=1,...,n sont les valeurs propres de A rangées de manière croissante. On doit donc
,avoir : max |1 − αλi | < 1 c’est-‘a-dire :−1 < 1 − αλ1 ≤ ... ≤ 1 − αλn−1 ≤ 1 − αλn < 1.
i=1,...,n

On doit donc avoir d’une part α > 0 (car les valeurs propres de A sont toutes strictement
positives), et d’autre part
2
− < −λ1 ≤ ... ≤ −λn−1 ≤ −λn .
α
2 2
c’est-‘a-dire α
> λ1 ≥ ... ≥ λn−1 > λn ; il suffit donc que α < λ1
.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 75

3. Le meilleur choix de correspond au cas où le rayon spectral ρ (I − αA) est minimal.


Or ρ (I − αA) = max {|1 − αλ1 | , |1 − αλn |}. Une résolution graphique montre que min
max {|1 − αλ1 | , |1 − αλn |} est atteint lorsque 1 − αλ1 = 1 − αλn , c’est-‘a-dire lorsque
2
α = λ1 +λ2 .

Exercice 3.4. Soit f : R2 −→ R telle que

f (x, y) = x2 + y 2

1. Prouver la coércivité et la convexité stricte de f.


2. Trouvez en utilisant la définition une solution minimum globale.
3. Choisir une direction d = (d1 , d2 ) telle que d est une direction descente au point (1, 1) . T

4. Si (x0 , y0 ) quelconque.
(a) Calculez en utilisant la méthode du gradient à pas optimal le point (x1 , y1 ) .
(b) Quelle conclusion peut en avoir ?

Corrigé 3.4

2
1. On a f (x, y) = k(x, y)k , alors lim f (x, y) = +∞, d’ou la coércivité de f.
k(x,y)k→+∞
!
2 0
D’autre part, la matrice ∇ f (x, y) = 2
est définie postive alors la fonction f est
0 2
strictement convexe.
2. Soit (x∗ , y ∗ ) la solution global, f (x, y) = x2 + y 2 ≥ f (x∗ , y ∗ ), ∀ (x, y) ∈ R2 .
On a :
2 2 2
∀ (x, y) ∈ R , f (x, y) = x + y ≥ 0 = f (0, 0),
∀ (x, y) ∈ R2 , f (x, y) ≥ f (0, 0),

donc (0, 0) est une solution minimum global et f (0, 0) = 0 la valeur minimal global.
 
3. ∇f (x, y) =T ∂f
∂x
(x, y), ∂f
∂y
(x, y) = (2x, 2y) .
∇f (1, 1) = (2, 2),
T
!
d1
∇f (1, 1) (d1 , d2 ) < 0 ⇔ (2, 2)
T
< 0 ⇔ 2d1 + 2d2 < 0 ⇔ d1 + d2 < 0.
d2
Par exemple si d1 = 1 on peut prendre d2 < −1.
! ! !
1 2 0 x 0
4. f (x, y) = (x, y) − (x, y) ,
2 0 2 y 0
k∇f (x0 ,y0 )k2 4(x20 +y02 )
(a) α0 = ∇f (x0 ,y0 )T Q ∇f (x0 ,y0 )
= 8(x20 +y02 )
= 12 .(1 Pt)

! !
x1 x0
= − α0 ∇f (x0 , y)
y1 y0
! !
x0 1 2x0
= −
y0 2 2y0
!
0
= .
0

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 76

(b) Le point (x1 , y1 ) est la solution minimum global.


Exercice 3.5. Considérons la fonction f : R2 −→ R donné par :
f (x, y) = 2x2 + y 2 + 12x + 4y + 2xy + 24.
1. Justifier que f est de classe C 2 sur R2 .
2. Le but de cette question est de montrer que f est coercive.
(a) Compléter le membre de droite de l’égalité suivante
 2
2 y
2x + 2xy + 12x = 2 x + + 3 − ......
2
(b) Compléter de même l’égalité suivante
y2 1 2
− 2y + 6 = (y − 2) + ......
2 2
(c) Montrer que
 2
y 1 2
f (x, y) = 2 x + + 3 + (y − 2) + 4.
2 2
(d) En déduire que f est coercive.
3. Calculer ∇f (x, y) et ∇2 f (x, y), puis déterminer le seul point critique (x? , y ? ) de f .
4. La fonction f est-elle strictement convexe sur R2 ?
5. Montrer que f possède un unique minimum global sur R2 et le déterminer.
6. Le but de cette question est d’implémenter la méthode du gradient à pas optimal (GPO).
(a) Décrire l’algorithme (GPO) ?
(b) En partant du point w0 = (0, −2)T , a quel point w1 arrive-t-on si l’on applique une
itération de la méthode (GPO) ?
Corrigé 3.5

1. f est de classe C 2 sur R2 car f est une fonction polynômiale définie sur R2 .
2. (a) !
 2 2
2 y y
2x + 2xy + 12x = 2 x + + 3 − + 6y + 18 . (3.7)
2 2
(b)
y2 1 2
− 2y + 6 = (y − 2) +4. (3.8)
2 2
(c) On insert l’égalité (3.7) dans l’expression de f , on trouve :
f (x, y) = 2x2 + 2xy + 12x + y 2 + 4y + 24
 2 !
2
y y
=2 x+ +3 − + 6y + 18
2 2
 2
y y2
=2 x+ +3 + − 2y + 6.
2 2
En utilisant l’égalité (3.8) dans l’égalité ci-dessus de f , on obtient
 2
y 1 2
f (x, y) = 2 x + + 3 + (y − 2) + 4. (3.9)
2 2

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 77

(d) En utilisant l’égalité (3.9), on obtient :


1 2
f (x, y) ≥ (y − 2) + 4 −→ +∞(y −→ +∞).
2
Donc f est coercive.
3. On calcul le gradient de f :
!
4x + 2y + 12
∇f (x, y) = .
2x + 2y + 4

On calcul la matrice hessienne de f :


!
2 4 2
∇ f (x, y) = .
2 4

On cherche l’unique point critique (x? , y ? ) de f :

4x + 2y + 12 = 0
2x + 2y + 4 = 0,

ce système admet un seule solution (x, y) = (−4, 2), alors f admet un seul point critique
(x? , y ? ) = (−4, 2).
4. On a ∆1 = 4 > 0 et ∆2 = det [Hessf (x, y)] > 0, donc la matrice Hessf (x, y) est définie
positive. En déduire que f est strictement convexe.
5. f est continue, coercive et strictement convexe alors le point critique (−4, 2) est le mini-
mum strict de f sur R2 .
6. (a) Décrire l’algorithme (GPO) ?


 w0 point intial

wk+1 = wk − αk ∇f (wk )
 k∇f (wk )k2
 αk =

h∇f (wk ),Hf (wk )∇f (wk )i
 !
 w1 = w0 − α0 ∇f (w0 ) 4 2 1
(b)  α = k∇f (w0 )k2 , ∇f (w0 ) = (0, 2)T , Hf (w0 ) = , α0 = ,
0
h∇f (w0 ),Hf (w0 )∇f (w0 )i 2 2 4

w1 = (−2, −2)T .

Exercice 3.6. On considère la fonction f : R2 → R définie par

f (x1 , x2 ) = 2x21 + x22 − x1 x2 − 3x1 − x2 + 4.

1. Montrer qu’il existe un unique x ∈ R2 tel que x = minx∈R2 f (x) et le calculer.


2. Calculer le premier itéré donné par l’algorithme du gradient à pas fixe (GPF) et du
(0) (0)
gradient à pas optimal (GP O), en partant de (x1 , x2 ) = (0, 0), pour un pas de α = 0.5 dans
le cas de GP F .

Corrigé 3.6

1- On a " # " #
4x1 − x2 − 3 4 −1
∇f (x) = et Hf = .
−x1 + 2x1 − 1 −1 2

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 78

La fonction f vérifie les hypothèses d’existence et d’unicité du minimum. En particulier la


hessienne est definie positives. Donc, le minimum est obtenu pour
(
4x1 − x2 − 3 = 0
=⇒ x1 = x2 = 1.
−x1 + 2x1 − 1 = 0

Ce minimum est f (x1 , x2 ) = 2.


2. L’algorithme du gradient à pas fixe s’écrit :


 Initialisation : x(0) ∈ Rn , ρ > 0

Itération k : x (k)
connu, (k ≥ 0)

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

A la première itération, on a ∇f (0, 0) = (−3, −1). On en déduit, pour ρ = 0.5, x(1) =


(3ρ, ρ) = ( 32 , 21 ) et f (x(1) ) = 3.
L’algorithme du gradient à pas optimal s’écrit :




Initialisation : x(0) ∈ Rn .



 Itération k : x(k) connu.
On choisit ρ(k) ≥ 0 telque




 f (x(k) − ρ(k) ∇f (x(k) ) ≤ f (x(k) − ρ∇f (x(k) ) ∀ρ ≥ 0.


On pose : x(k+1) = x(k) − ρ(k) ∇f (x(k) ).

A la première itération, on a vu précédemment que ∇f (0, 0) = (−3, −1). Le ρ(0) optimal


minimise la fonction ρ(ρ) = f (x(0) − ρ∇f (x(0) ) = f (3ρ, ρ) ∀ρ ≥ 0. On a donc :
" # " #
(0) (0) (0) 11ρ − 3 3
ρ (ρ) = −∇f (x −ρ∇f (x )·∇f (x ) =
0
. = 3(11ρ−3)+(−ρ−1) = 32ρ−10.
−ρ − 1 1
16 15 16
On en déduit que ρ(0) = 5
.
On obtient alors x (1)
= ( 16 , 5 ), et f (x(1) ) = 2.4375, ce qui est,
comme attendu, mieux qu’avec GP F .
Exercice 3.7. Soit n ∈ N, n ≥ 1. On désigne par k.k la norme euclidienne sur Rn , et on
munit l’ensemble Mn (R) de la norme induite par la norme k.k. Soit A ∈ Mn (R) une matrice
inversible. On définit M ∈ Mn (R) par M = At A. On se donne un vecteur b ∈ Rn , et on
s’intéresse à la résolution du système linéaire Ax = b.
1. Montrer que x ∈ R est solution de Ax = b si et seulement si x est solution de M x = A b.
n t

2. On rappelle que le conditionnement d’une matrice C ∈ Mn (Rn ) inversible est défini par
cond(C) = kCk kC −1 k(et dépend donc de la norme considérée ; on rappelle qu’on a choisi ici
la norme induite par la norme euclidienne).
(a) Montrer que les valeurs propres
q de la matrice M sont toutes strictement positives.
(b) Montrer que cond(A) = λλn1 , où ρn (resp. λ1 ) est la plus grande (resp. plus petite)
valeur propre de M.
3. Ecrire l’algorithme du gradient conjugué pour la résolution du système M x = At b, en ne
faisant intervenir que les matrices A et At (et pas la matrice M ) et en essayant de minimiser
le nombre de calculs. Donner une estimation du nombre d’opérations nécessaires et comparer
par rapport à l’algorithme du gradient conjugué écrit dans le cas d’une matrice carré d’ordre n
symétrique définie positive.
Corrigé 3.7

1. Comme A est inversible, At l’est aussi et donc les systèmes Ax = b et M x = At b sont


équivalents.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 79

2(a) La matrice M est symétrique définie positive, car A est inversible et M = AA est t

symétrique. Donc ses valeurs propres sont strictement positives.


2(b)qOn a cond(A) = kAk q kA −1
k . Comme q la norme est ici la norme euclidienne, on a :
kAk = ρ(A A) et kA k = ρ((A ) A ) = ρ(AAt )−1 . Donc
t −1 −1 t −1

q q
cond(A) = ρ(At A) ρ(AAt )−1 ,
et on en déduit le résultat.
3. Ecrivons l’algorithme du gradient conjugué pour la résolution du système M x = At b


 Initialisation : Soit x(0) ∈ Rn , et soit r(0) = At b − At Ax(0)




 1) Si r(0) = 0, alors Ax(0) = b et donc x(0) = x,




 auquel cas l’algorithme s’arrête.





2) Si r(0) 6= 0, alors on pose d(0) = r(0) , et on choisit
 r(0) .r(0)



 ρ(0) = At Ad(0) .d(0)




 On pose alors x(1) = x(0) + ρ(0) d(0) .

 Itération 1 ≤ n ≤ n − 1 :


 On suppose x(0) , ..., x(k) et d(0) , ..., d(k−1) connus





et on pose r(k) = At b − At Ax(k) .





1) Si r(k) = 0, on a Ax(k) = b et donc x(k) = x,





auquel cas l’algorithme s’arrête.



 2) Si r(k) 6= 0, alors on pose d(k) = r(k) + λk−1 d(k−1)

 r(k) .r(k) r(k) .r(k)



 avec λ(k−1) = r(k−1) .r(k−1) et on pose α(k) = At Ad(k) .d(k)

On pose alors x(k+1) = x(k) + α(k) d(k) .
Si on implémente l’algorithme sous cette forme, on a intérêt à calculer d’abord eb = At b et
M = At A pour minimiser le nombre de mutliplications matrice matrice et matrice vecteur. Au
lieu du coût de l’algorithme initial, qui est en 2n3 + O(n2 ), on a donc un coût en 3n3 + O(n2 ).
Maintenant si on est optimiste, on peut espérer converger en moins de n itérations (en fait, c’est
malheureusement rarement le cas), et dans ce cas il est plus économique d’écrire l’algorithme
précédent sous la forme suivante.


 Initialisation :




 Soit x(0) ∈ Rn , soit s(0) = b − Ax(0) et soit r(0) = At s(0)




 1) Si r(0) = 0, alors Ax(0) = b et donc x(0) = x,




 auquel cas l’algorithme s’arrête.




 2) Si r(0) 6= 0, alors on pose d(0) = r(0) , y (0) = Ad(0)
 r(0) .r(0)



 et on choisit ρ(0) = y(0) .y(0) .





 On pose alors x(1) = x(0) + ρ(0) d(0) .

 Itération 1 ≤ n ≤ n − 1 :



On suppose x(0) , ..., x(k) et d(0) , ..., d(k−1) connus



 et on pose s(k) = b − Ax(k) et r(k) = At s(k) .




 1) Si r(k) = 0, on a Ax(k) = b et donc x(k) = x,




 auquel cas l’algorithme s’arrête.




 2) Si r(k) 6= 0, alors on pose d(k) = r(k) + λk−1 d(k−1)

 r(k) .r(k)




avec λ(k−1) = r(k−1) .r(k−1) ,
 r(k) .r(k)



 et on pose α(k) = y(k) .y(k) avec y (k) = Ad(k) .


On pose alors x(k+1) = x(k) + α(k) d(k) .
On peut facilement vérifier que dans cette version, on a un produit matrice vecteur en plus
à chaque itération, donc le coût est le même pour n itérations, mais il est inférieur si on a moins
de n itérations.

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 80

Remarque : Cette méthode s’appelle méthode du gradient conjugué appliquée aux équa-
tions normales.
Exercice 3.8. Dans cet exercice, on démontre la convergence de la méthode de Polak-Ribière
(méthode de gradient conjugué pour une fonctionnelle non quadratique) sous des hypothèses
2
“simples" sur f . Soit f ∈ C (R , R). On suppose qu’il existe α > 0, β ≥ α tel que α |y| ≤
2 n
2
H(x)y·y ≤ β |y| pour tout x, y ∈ Rn . (H(x) est la matrice hessienne de f au point x.)
1. Montrer que f est strictement convexe, que f (x) → ∞ quand |x| → ∞ et que le spectre
σ(H(x)) de H(x) est inclus dans [α, β] pour tout x ∈ IRn .
On note x l’unique point de Rn t.q. f (x) ≤ f (x) pour tout x ∈ Rn (l’existence et l’unicité
de x est donné par la question précédente).
On cherche une approximation de x en utilisant l’algorithme de Polak-Ribière :
initialisation. x(0) ∈ Rn . On pose g (0) = −∇f (x(0) ). Si g (0) = 0, l’algorithme s’arrête
(on a x = x). Si g 6= 0, on pose d = g et x = x + α0 d avec α0 “optimal"
(0) (0) (0) (0) (1) (0) (0)

dans la direction d(0) .


itération. x(k) , d(k−1) connus (k ≥ 1). On pose g (k) = −∇f (x(k) ). Si g (k) = 0, l’algorithme
g (k) ·(g (k) −g (k−1) )]
s’arrête (on a x = x). Si g
(k) (k)
6= 0, on pose αk−1 = g(k−1) ·g(k−1) , d(k) = g (k) +
αk−1 d(k−1) et x(k+1) = x(k) + αk d(k) avec αk “optimal" dans la direction wk. (Noter que αk
existe bien.)
On suppose dans la suite que g (k) 6= 0 pour tout k ∈ N.
2. Montrer (par récurrence sur k) que g (k+1) ·d(k) = 0 et g (k) ·g (k) = g (k) ·d(k) , pour tout k ∈ N.
3. On pose Z 1
(k) (k) (k)
J = Hf (x + θαk d )dθ.
0

Montrer que g (k+1) = g (k) + αk J (k) d(k) et que αk = (−g (k) ·d(k) )/(J (k) d(k) ·d(k) ) (pour tout
k ∈ N.

(k) β (k)
4. Montrer que d ≤ (1 + α
pour tout k ∈ N. [Utiliser, pour k ≥ 1, la question
) g
précédente et la formule donnant λk−1 .]
5. Montrer que x(k) → x quand k → ∞.
Corrigé 3.8

1. Montrons que f est strictement convexe et croissante à l’infini. Soit ϕ la fonction de R


dans R définie par
ϕ(t) = f (x + t(y − x)).
On a ϕ ∈ C 2 (R, R), ϕ(0) = f (x) et ϕ(1) = f (y), et donc :
Z 1
f (y) − f (x) = ϕ(1) − ϕ(0) = ϕ (t)dt.
0
0

En intégrant par parties, ceci entraîne :


Z 1
f (y) − f (x) = ϕ0 (0) + (1 − t)ϕ”(t)dt.
0

Or ϕ0 (t) = ∇(x + t(y − x))·(y − x) et donc ϕ” (t) = Hf (x + t(y − x))(y − x)·(y − x).On a
2
donc par hypothèse ϕ (t) ≥ α |y − x| . On déduit alors de que

α 2
f (y) ≥ f (x) + ∇f (x)·(y − x) + |y − x| .
2

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 81

cet inégalité entraîne la stricte convexité de f et sa croissance à l’infini.


Il reste à montrer que l’ensemble σ(Hf (x)) des valeurs propres de Hf (x) est inclus dans
[α, β]. Comme f ∈ C 2 (R, R), Hf (x) est symétrique pour tout x ∈ R, et donc diagonali-
sable dans R. Soit λ ∈ σ(Hf (x)) ; il existe donc y ∈ Rn , y 6= 0 tel que Hf (x)y = λy, et
donc αy·y ≤ λy·y ≤ βy·y, ∀λ ∈ σ(Hf (x)). On en déduit que σ(Hf (x)) ⊂ [α, β].
2. Montrons par récurrence sur n que g (k+1) · d(k) = 0 et g (k) ·g (k) = g (k) ·d(k) pour tout k ∈ N.
Pour k = 0, on a d(0) = g (0) = −∇f (x(0) ).
Si ∇f (x(0) ) = 0 l’algorithme s’arrête. Supposons donc que ∇f (x(0) ) 6= 0. Alors d(0) =
−∇f (x ) est une direction de descente stricte. Comme x = x + α0 d où α0 est op-
(0) (1) (0) (0)

timal dans la direction d(0) , on a g (1) ·d(0) = −∇f (x(1) )·d(0) = 0. De plus, on a évidemment
g (0) ·d(0) = g (0) ·g (0) .
Supposons maintenant que g (k) ·w(k−1) = 0 et g (k−1) ·g (k−1) = g (k−1) ·d(k−1) , et montrons
que g (k+1) ·d(k) = 0 et g (k) ·g (k) = g (k) ·d(k) .
Par définition, on a : d(k) = g (k) + λk−1 d(k−1) , donc

d(k) ·g (k) = g (k) ·g (k) + λk−1 d(k−1) ·g (k) = g (k) ·g (k)

par hypothèse de récurrence. On déduit de cette égalité que d(k) ·g (k) > 0 (car g (k) 6= 0) et
donc d(k) est une direction de descente stricte en x(k) . On a donc ∇f (x(k+1) )·d(k) = 0, et
finalement g (k+1) ·d(k) = 0.
3. Par définition, g (k) = −∇f (x(k) ) ; or on veut calculer g (k+1) − g (k) = −∇f (x(k+1) ) +
∇f (x(k) ). Soit ϕ la fonction de R dans R définie par :

ϕ(t) = −∇f (x(k) + t(x(k+1) − x(k) )).

On a donc : Z 1
ϕ(1) − ϕ(0) = g (k+1) − g (k) = ϕ0 (t)dt.
0

Calculons ϕ0 : ϕ0 (t) = Hf (x(k) + t(x(k+1) − x(k) ))(x(k+1) − x(k) ). Et comme x(k+1) =


x(k) + αk d(k) , on a donc :
(k+1) (k) (k) (k)
g − g = αk J d .
De plus, comme g (k+1) ·d(k) = 0 (question 1), on obtient
(k) (k)
g ·d
αk =
J (k) d(k) .d(k)

(car J (k) d(k) .d(k) 6= 0, puisque J (k)


est symétrique définie positive).
4. Par définition, on a d(k) = g (k) + λk−1 d(k−1) , et donc

(k) (k) (k−1)
d ≤ g + |λk−1 | d .

Toujours par définition, on a :

g (k) ·(g (k) − g (k−1) )


ρk−1 = (k−1) (k−1)
.
g ·g

Donc, par la question 3, on a :

αk−1 g (k) ·J (k−1) d(k−1)


ρk−1 = .
g (k−1) · g (k−1)

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 82

En utilisant la question 2 et à nouveau la question 3, on a donc :

J (k−1) d(k−1) ·g (k)


λk−1 = − (k−1) (k−1) (k−1)
J d ·d
et donc
(k−1) (k−1) (k)
J d ·g
|λk−1 | = ,
J (k−1) d(k−1) ·d(k−1)
car J (k−1) est symétrique définie positive.
De plus, en utilisant les hypothèses sur Hf , on vérifie que
2 (k) 2
α |x| ≤ J x·x ≤ β |x| ∀x ∈ R . n

On en déduit que
(k−1) (k−1) (k)
J d ·g
|λk−1 | = 2 ,
α |d (k−1) |
On utilise alors l’inégalité de Cauchy–Schwarz :

(k−1) (k−1) (k) (k−1) (k−1) (k)
J d ·g ≤ J d g
2
≤ β|d(k−1) ||g (k) |.

On obtient donc que


(k)
β g
|λk−1 | ≤ ,
α |d(k−1) |
ce qui donne :
(k) (k) β
|w | ≤ |g |(1 + ).
α
5. Montrons d’abord que la suite (f (x(k) )) n ∈ N converge. Comme f (x(k+1) ) = f (x(k) +
ρk d(k) ) ≤ f (x(k) + ρd(k) ) ∀ρ ≥ 0, on a donc en particulier f (x(k+1) ) ≤ f (x(k) ). La suite
(f (x(k) ))n∈N est donc décroissante. De plus, elle est minorée par f (x). Donc elle converge,
vers une certaine limite l ∈ R, lorsque k tend vers +∞.
La suite (x(k) )n∈N est bornée : en effet, comme f est croissante à l’infini, il existe R > 0
tel que si |x| > R alors f (x) > f (x(0) ). Or f (x(k) ) ≤ f (x(0) ) pout tout k ∈ N, et donc la
suite (x(k) )n ∈ N est incluse dans la boule de rayon R.
Montrons que ∇f (x(k) ) → 0 lorsque n → +∞.On a, par définition de x(k+1) , f (x(k+1) ) ≤
f (x(k) + ρd(k) ), ∀ρ ≥ 0.
En introduisant la fonction ϕ définie de R dans R par ϕ(t) = f (x(k) + tρd(k) ), on montre
facilement (les calculs sont les mêmes que ceux de la question 1) que
Z 1
f (x(k) + ρd(k) ) = f (x(k) ) + ρ∇f (x(k) )·d(k) + ρ2 Hf (x(k) + tρd(k) )d(k) ·d(k)(1 − t)dt,
0

pour tout ρ ≥ 0. Grâce à l’hypothèse sur Hf , on en déduit que

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


f (x ) ≤ f (x ) + ρ∇f (x )· d + β ρ |d | , ∀ρ ≥ 0.
Comme ∇f (x(k) )·d(k) = −g (k) ·d(k) = −|g (k) |2 (question 2) et comme |d(k) | ≤ |g (k) |(1 +
β
α
)(question 4), on en déduit que :
f (x(k+1) ) ≤ f (x(k) ) − ρ|g (k) |2 + ρ2 γ|g (k) |2 = ψk (ρ), ∀ρ ≥ 0,

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM


3.4. EXERCICES CORRIGÉS 83

β2
où γ = 2
+ (1 + α ) . La
α 2
fonction ψk est un polynôme de degré 2 en ρ, qui atteint son
1 1
minimum lorsque ψk0 (ρ) = 0, i.e. pour ρ = 2γ . On a donc, pour ρ = 2γ

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


f (x ) ≤ f (x ) − |g | ,

d’où on déduit que


(k) 2 (k) (k+1)
|g | ≤ 4γ(f (x ) − f (x ) → 0 k → +∞

On a donc ∇f (x(k) ) → 0 lorsque k → +∞.


La suite (x(k) )n∈N étant bornée, il existe une sous–suite qui converge vers x ∈ Rn , comme
∇f (x(k) ) → 0 et comme ∇f est continue, on a ∇f (x) = 0. Par unicité du minimum (f
est croissante à l’infini et strictement convexe) on a donc x = x.
Enfin on conclut à la convergence de toute la suite par un argument classique

Université de Hassiba Benbouali–Chlef 2022-2023 Rachid BELGACEM

Vous aimerez peut-être aussi