Vous êtes sur la page 1sur 59

Quelques algorithmes en Optimisation sans contraintes

ECC

Abdelilah Hakim

Laboratory of Applied Mathematics and Computer Science


Faculty of Science and Techniques
Cady Ayyad University

17/10/2022

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 1 / 59


Introduction
L’objet de ce chapitre est de présenter et analyser quelques
algorithmes permettant d’approcher les solutions de problèmes
d’optimisation sans contraintes.

Un point commun à tous ces algorithmes est qu’ils s’inspirent des


conditions d’optimalité étudiées au chapitre précédent et qu’en
particulier ils utilisent la connaissance des dérivées des fonctions
objectifs.

Ces algorithmes sont aussi tous de nature itérative : à partir d’une


donnée initiale u 0 , chaque méthode construit une suite (u n )n∈N

Etude de la converge, sous certaines hypothèses, vers la solution u du


problème d’optimisation considéré.

Etude de la vitesse de convergence et implémentation des algorithmes


(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 2 / 59
Algorithmes de type gradient

la résolution pratique de problèmes d’optimisation en l’absence de


contraintes.

Soit J une fonction α-convexe différentiable définie sur l’espace de


Hilbert réel V

Soit le problème sans contrainte suivant :

inf J(v ). (1)


v ∈V

Il existe une unique solution u, caractérisée par l’équation d’Euler

J ′ (u) = 0

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 3 / 59


Direction de descente

On commence par le résultat suivant, qui nous donnera l’algorithme de


gradient

Proposition
Soit ϕ(l, d) = J (un + ld). On suppose J ′ (un ) ̸= 0.

inf ϕ′ (0, d) = − J ′ (un )



∥d∥=1

J ′ (un )
et ce minimum est atteint pour d = − .
∥J ′ (un )∥

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 4 / 59


Preuve

Preuve
On note que ϕ′ (0, d) = (J ′ (un ) , d). On a, alors

ϕ (0, d) ≥ − d ||J ′ (un )

et l’égalité est atteinte dans le cas d’égalité pour Cauchy-Schwartz,

soit pour d colinéaire à J ′ (un ), ce qui correspond au vecteur indiqué.

La direction du gradient est, parmi les directions de norme 1, la meilleure


pour le taux de décroissance de la fonctionnelle.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 5 / 59


Cas α convexe

Théorème
Soit J une fonctionnelle α-convexe sur un espace de Hilbert V , telle que J ′
est uniformément continue sur tout borné.

La suite, définie par la relation

u n+1 = u n − µn J ′ (u n ) ,

où µn est la solution unique de (J ′ (u n − µJ ′ (u n )) , J ′ (un )) = 0 qui


s’appelle l’algorithme de gradient à pas optimal, converge vers l’unique
valeur qui rend minimum la fonctionnelle J.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 6 / 59


Cas α convexe

Preuve
L’agorithme de gradient à pas optimal est défini par la suite

u n+1 = u n − µJ ′ (u n )

On cherche u n+1 = inf µ∈R J (u n − µJ ′ (u n )).

La dérivée de ϕ(µ) = J (u n − µJ ′ (u n )) est donnée par

ϕ′ (µ) = − J ′ u n − µJ ′ (u n ) , J ′ (u n ) .
 

Comme J est α-convexe, lorsque J ′ (u n ) ̸= 0 (ce qui correspond au


cas où on n’a pas atteint le point de minimum) on a ϕα-convexe.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 7 / 59


Cas α convexe

effet
J ′ u n − µ1 J ′ (u n ) − J ′ u n − µ2 J ′ (u n ) , u n − µ1 J ′ (u n ) − u n + µ2 J ′ (u
 

≥ α∥u n − µ1 J ′ (u n ) − u n + µ2 J ′ (u n ) ∥2

2
= α (µ2 − µ1 )2 J ′ (u n ) .

On a alors
2
ϕ′ (µ1 ) − ϕ′ (µ2 ) , µ1 − µ2 ≥ α (µ2 − µ1 )2 J ′ (u n )


d’où l’ α-convexité de ϕ.

Le problème de minimisation admet donc une solution unique µn . De


plus, µn est solution de ϕ′ (µn ) = (J ′ (u n − µn J ′ (u n )) , J ′ (u n )) = 0,

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 8 / 59


Cas α convexe

On en déduit que J ′ u n+1 , J ′ (u n ) = 0 c.a.d deux directions de


 

descente successives sont orthogonales.

La démonstration du théorème s’appuie sur l’inégalité de convexité


      α 2
J (u n ) − J u n+1 ≥ J ′ u n+1 , u n − u n+1 +
n+1
u − un

2
u n+1 − u n = −µn J ′ (u n), ce quiannule le premier terme de l’inégalité
ci-dessus car J ′ u n+1 , J ′ (u n ) = 0.

On a donc démontré que J (u n ) − J u n+1 ≥ α n+1 2 .


 n
2 u −u

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 9 / 59


Cas α convexe
La suite J (u n ) est décroissante, bornée
npar len+1
minimum
de J, donc
elle converge, donc on en déduit que u − u
tend vers 0 .

D’autre part, on vérifie que


′ n 2   
J (u ) = J ′ (u n ) , J ′ (u n ) − J ′ u n+1

car deux directions successives sont orthogonales

Ainsi ′ n  
J ′ (u n ) − J ′ u n+1 .
J (u ) ≤

D’autre part, la suite u n est bornée. En effet, si elle ne l’était pas, il


existerait une sous suite u ϕ(n) qui tendrait, en norme, vers +∞, et
comme la fonctionnelle
 J est α-convexe, elle est infinie à l’infini et la
suite J u ϕ(n) tendrait vers +∞, contradiction.
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 10 / 59
Cas α convexe

En utilisant l’uniforme continuité sur une boule fermée qui contient


tous
′ les termes de la suite u n , on en déduit que
J (u n ) − J ′ u n+1 ≤ C u n − u n+1


On a alors

′ n  2  12 q
u n − u n+1 ≤
J (u ) ≤ C C J (u n ) − J (u n+1 ).

α

On en déduit la convergence de la suite J ′ (u n ) vers 0 .

On note u le point où J est minimale.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 11 / 59


Cas α convexe

Par la coercivité on a

J ′ (u n ) − J ′ (u), u n − u ≥ α ∥u n − u∥2 .


Par l’inégalité de Cauchy-Schwarz, on trouve

α ∥u n − u∥2 ≤ J ′ (u n ) · ∥u n − u∥

ce qui implique
1 J ′ (u n )
∥u n − u∥ ≤

α
donc  1
n 1 2 2
q
||u − u∥ ≤ C J (u n ) − J (u n+1 )
α α
et donc la suite u n converge vers u.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 12 / 59


Cas α convexe
Proposition
Pour que les hypothèses du théorème soient vérifiées, il suffit que J vérifie :

1 soit J fonctionnelle α-convexe dérivable, J ′ continue en dimension


finie
2 soit J fonctionnelle α-convexe dérivable, J ′ Lipschitzienne sur tout
borné en dimension infinie
3 soit J est une fonctionnelle deux fois Fréchet dérivable, telle que la
dérivée seconde soit autoadjointe et vérifie

m∥w ∥2 ≤ J ′′ (u)w , w ≤ M∥w ∥2




avec m > 0.
On remarque que ces conditions sont telles que iii) → ii) → i).
Ce résultat provient de l’uniforme continuité sur un compact d’une
fonctionnelle continue en dimension finie.
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 13 / 59
Cas d’une fonction quadratique elliptique

Soit J(x) = 12 x⊤ Ax − b⊤ x + c une fonction quadratique elliptique


(i.e. A est définie positive)

Les résultats précédents s’appliquent, mais de plus on peut ici donner


une formule explicite pour le pas optimal µk

Théorème (Pas optimal en programmation quadratique elliptique )


Dans le cas de la fonction quadratique elliptique
J(x) = 21 x⊤ Ax − b⊤ x + c, le pas optimal µk est donné par :

∥Auk − b∥2 ∥∇J (uk )∥2


µk = =
⟨A (Auk − b) , Auk − b⟩ ⟨A∇J (uk ) , ∇J (uk )⟩

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 14 / 59


Cas d’une fonction quadratique elliptique

Preuve
On utilise le fait que ∇J (uk ) et ∇J (uk+1 ) sont orthogonaux.
On a alors
⟨∇J (u + 1) , ∇J (uk )⟩ = 0
= ⟨A (uk − µk (Ak − b)) − b, Auk − b⟩

Par bilinéarité du produit scalaire :

=⇒ µk ⟨A (Auk − b) , Auk − b⟩ = ⟨Auk − b, Auk − b⟩

∥Auk − b∥2 ∥dk ∥2


=⇒ µk = = .
⟨A (Auk − b) , Auk − b⟩ ⟨Adk , dk ⟩

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 15 / 59


Cas α non convexe

Remarque
Si J n’est pas α-convexe :

L’algorithme peut converger vers un minimum local

le résultat de l’algorithme peut varier selon I’initialisation

L’algorithme peut ne pas converger

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 16 / 59


Gradient à pas constant
On veut résoudre
inf J(v )
v ∈V
Initialisation : choisir u 0 dans V .

Itérations : pour n ≥ 0
u n+1 = u n − µJ ′ (u n ) ,

Théorème
On suppose que J est α-convexe, différentiable et que J ′ est Lipschitzien
sur V : il existe L > 0 tel que

J (v ) − J ′ (w ) ≤ L∥v − w ∥

∀v , w ∈ V .

Alors, si 0 < µ < 2α 0


2 ; l’algorithme de gradient à pas fixe converge : ∀u ,
L
la suite (u n ) converge vers la solution u.
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 17 / 59
Gradient à pas constant

Preuve
On écrit u n+1 − u n = −µJ ′ (u n )

soit u la solution On trouve u n+1 − u = u n − u − µ (J ′ (u n ) − J ′ (u)).

On utilise un argument de type "théorème du point fixe". Ainsi


2
− u = ∥u n − u∥2 − 2µ J ′ (u n ) − J ′ (u), u n − u
n+1 
u

2
+ µ2 J ′ (u n ) − J ′ (u)

 
≤ 1 − 2µα + µ2 C 2 ∥u n − u∥2

où L est la constante de Lipschitz de J ′ sur tout l’espace de Hilbert.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 18 / 59


Gradient à pas constant
La suite ∥u n − u∥ est alors majorée par une suite géométrique
convergeant vers 0
Dans cette inégalité, on peut choisir la meilleure valeur de µ,
c’est-à-dire celle qui minimise le taux de convergence.

Le minimum de la fonction 1 − 2µα + µ2 L2rest alors atteint en


2
µ = α2 et le taux de convergence est alors 1 − α2 .
L L

En particulier, si la fonctionnelle est une fonctionnelle quadratique en


dimension finie, la valeur optimale de α est la plus petite des valeurs
propres de A = J ′′ alors que la valeur optimale de L est la plus grande
des valeurs propres de A.

On voit donc la difficulté essentielle à choisir correctement la


meilleure valeur de µ puisque la recherche des valeurs propres est un
problème difficile.
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 19 / 59
Gradient à pas constant

Remarque
Si J est C 2 , alors α-convexité est équivalente à
J ′′ (u)(w , w ) ≥ α∥w ∥2 pour tout u, w ∈ V

L’hypothèse sur J ′ Lipschitz est vérifiée si


J ′′ (u)(w , w ) ≤ L∥w ∥2 ∀u, w

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 20 / 59


Taux de convergence

Dans cette partie, on s’interesse aux problèmes de minimisations sans


contraintes en dimension finie.

On considère le problème suivant :

min J(x ),
x ∈E

où E est un espace Euclidien et J : E → R la fonction objective

On suppose au moins que J est convexe et J ∈ C 1 (E).

On peut identifier E à Rd .

On suppose de plus que J admet un minimum global x⋆ .

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 21 / 59


Taux de convergence
L’objectif est de trouver une approximation de x⋆ c.a.d pour un ε > 0
donné, trouver x ∈ Rd tel que

J(x) − J (x⋆ ) < ε.

On considère le schéma du gradient de décente suivant :

xk+1 := xk − γ∇J (xk ) (2)


où, γ > 0 est un pas fixe.

On espère que pour un certain entier k relativement petit on ait


J (xk ) − J (x⋆ ) < ε

Le choix du pas γ est crutial pour la vitesse de convergence de


l’algorithme. Si γ est assez petit la convergence pourrait être longue
et dans le cas contraire l’algorithme risque de diverger.
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 22 / 59
Taux de convergence

D’après la caractérisation du premier ordre de la convexité, on a

J (xk ) − J (x⋆ ) ≤ ∇J (xk )⊤ (xk − x⋆ ) (3)


Le problème est de trouver une bonne borne du terme suivant :

∇J (xk )⊤ (xk − x⋆ )

Soit xk un élément du schéma ( 2).


Pour simplifier on pose gk := ∇J (xk ).
D’après l’équation ( 2) on a, gk = (xk − xk+1 ) /γ, d’où

1
gk⊤ (xk − x⋆ ) = (xk − xk+1 )⊤ (xk − x⋆ ) . (4)
γ

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 23 / 59


Taux de convergence
D’après le théorème du cosinus 2v⊤ w = ∥v∥2 + ∥w∥2 − ∥v − w∥2 on
en déduit
1  
gk⊤ (xk − x⋆ ) = ∥xk − xk+1 ∥2 + ∥xk − x⋆ ∥2 − ∥xk+1 − x⋆ ∥2

1  2 
= γ ∥gk ∥2 + ∥xk − x⋆ ∥2 − ∥xk+1 − x⋆ ∥2

γ 1  
= ∥gk ∥2 + ∥xk − x⋆ ∥2 − ∥xk+1 − x⋆ ∥2
2 2γ
(5)
on prend la somme sur k et après simplification, on obtient

K −1 −1
γ KX 1  
gk⊤ (xk − x⋆ ) = ∥gk ∥2 + ∥x0 − x⋆ ∥2 − ∥xK − x⋆ ∥2
X

k=0
2 k=0 2γ
−1
γ KX 1
≤ ∥gk ∥2 + ∥x0 − x⋆ ∥2
2 k=0 2γ
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022
(6)
24 / 59
Taux de convergence

D’après (3) :
J (xk ) − J (x⋆ ) ≤ gk⊤ (xk − x⋆ )
on obtient
K −1 −1
γ KX 1
∥gk ∥2 + ∥x0 − x⋆ ∥2
X
(J (xk ) − J (x⋆ )) ≤ (7)
k=0
2 k=0 2γ

Le membre de droite de cette inégalité dépent du choix de x0 et de la


norme ∥gk ∥ qu ’on ne peut pas controler sans faire d’autre hypothèse.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 25 / 59


Fonctions convexes à gradient Lipschitsienne

On suppose que :
H1) J est minorée c.a.d il existe f0 ∈ R tel que J(x ) ≥ f0 pour tout x ∈ E.

H2) ∇J est L-Lipschitsienne.

On considère le schéma du gradient de décente à pas constant égal à


1/L :
1
xk+1 = xk − ∇J (xk ) .
L
avec x0 ∈ E arbitraire.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 26 / 59


Fonctions convexes à gradient Lipschitsienne

Théorème
Sous les hypothèses (H1) et (H2) la suite (xk )k≥0 ⊂ E vérifie les propriétés
suivantes :

1) J (xk+1 ) ≤ J (xk ) pour tout k

2) Pour tout K
q 1
min ∥∇J (xk )∥ ≤ 2L (J (x0 ) − f0 ) √
0≤k≤K −1 K
3) Les points d’accumulation de J, s’ils existent, vérifient :

lim ∥∇J (xk )∥ = 0


k→∞

.
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 27 / 59
Fonctions convexes à gradient Lipschitsienne

Preuve
1 ∇J (x ).
Soit uk = L k

D’après l’hypothèse (H2) on a pour tout k :

L
J (xk+1 ) = J (xk − uk ) ≤ J (xk ) − ⟨∇J (xk ) , uk ⟩ + ∥uk ∥2 .
2
Ce qui donne :
1 L 1 1
J (xk )−J (xk+1 ) ≥ ∥∇J (xk )∥2 − 2 ∥∇J (xk )∥2 = ∥∇J (xk )∥2 .
L 2L 2L
Ce qui montre que la suite ( J (xk ) ) est décroissante.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 28 / 59


Fonctions convexes à gradient Lipschitsienne
En utilisant l’hypothèse (H2) on obtient

J (x0 ) − f0 ≥ J (x0 ) − J (xK )


K
X −1
= (J (xk ) − J (xk+1 ))
k=0
K −1
1
∥∇J (xk )∥2
X

k=0
2L
K
≥ min ∥∇J (xk )∥2 .
2L 0≤k≤K −1
pour tout k.
On en déduit que
K −1
∥∇J (xk )∥2 .
X
2L (J (x0 ) − f0 ) ≥
k=0

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 29 / 59


Fonctions convexes à gradient Lipschitsienne

Ce qui montre que la série du terme général ∥∇J (xk )∥2 converge.
D’où
∥∇J (xk )∥2 → 0
On suppose que x est un point d’accumulation de la suite (xk )

Il existe alors une sous suite, (xkℓ ) de (xk ) qui converge vers x .

Par continuité de la fonction x 7→ ∥∇f (x )∥ on obtient


 

∥∇J(x )∥ =
∇f = lim ∥∇J (xkℓ )∥ = 0.
lim xkℓ
ℓ→∞ ℓ→∞

Ce qui montre que tout point d’accumulation de la suite (xk ) est un


point critique de J.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 30 / 59


Fonctions convexes à gradient Lipschitsienne

Remarque
p √
La quantité 2L (J (x0 ) − f0 )/ K est indépendante de la dimension
de E.
Ce qui explique qu’on peut utiliser ces algorithmes pour des
problèmes d’optimisation de grande taille.
Par exemple en machine learning où la dimension est de l’ordre des
millions voir des milliard.

On remarque qu’il n y a pas d’hypothèse sur le choix de x0 .


Le théorème garantit que tout point d’accumulation de la suite est un
point critique de la fonction f .
Le théorème ne garantit rien sur la convergence de la suite.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 31 / 59


Fonction convexe Lipschitsienne
On suppose que le gradient de J est borné en norme ce qui equivalent à
dire que J est Lipscitsienne. On a alors le résultat suivant :
Théorème
Soit J : Rd → R une fonction convexe differentiable.
On suppose que J admet un minimum global x⋆ ; de plus on suppose que

∥x0 − x⋆ ∥ ≤ R et ∥∇J(x)∥ ≤ B pour tout x.


On choisit le pas du schéma du gradient de décente tel que :
R
γ := √
B K
On a alors l’estimation suivante :
−1
1 KX RB
(J (xk ) − J (x⋆ )) ≤ √ .
K k=0 K
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 32 / 59
Fonction convexe Lipschitsienne

Preuve
D’après l’inéquation ( 7), on a
K −1
X γ 2 1 2
(J (xk ) − J (x⋆ )) ≤ B K+ R ,
k=0
2 2γ

On coisit γ, la valeur qui réalise le minimum de la fonction

γ 2 R2
B K+
q(γ) =
2 2γ
√ √
Ce qui donne q(R/(B K )) = RB K . Pour avoir le résultat on divise
par K .

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 33 / 59


Fonction convexe Lipschitsienne

Cela signifie que pour atteindre

min (J (xk ) − J (x⋆ )) ≤ ε


k=0...K −1

on a besoin de plusieurs itérations car K est tel que :

R 2B2
K≥
ε2

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 34 / 59


Variantes de l’algorithme du Gradient de décente

Soit l’algorithme suivant :

1) Initialisation k = 0 : choix de x0 et de ρ0 > 0

2) Itération k
xk+1 = xk − ρk ∇J (xk ) ;
3) Critère d’arrêt : Si ∥xk+1 − xk ∥ ≤ ε STOP
Sinon, on pose k = k + 1 et on retourne à 2 .

ε est un réel positif (petit) donné qui représente la précision désirée.


Cette méthode a pour avantage d’être très facile à mettre en oeuvre.
Malheureusement, la méthode est en général assez lente.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 35 / 59


Quelques variantes de l’algorithme du Gradient de décente
On utilise le plus souvent la méthode du gradient à pas constant (
ρk ≡ ρ constant).

La méthode du gradient à pas optimal necessite pour chaque itération,


la résolution d’un problème de minimisation en une dimension.

On remplace alors l’étape 2) par

xk+1 = xk − ρk ∇J (xk )

où ρk réalise le minimum sur R+ de la fonction Φk définie par

Φk (ρ) = J (xk − ρ∇f (xk )) .

En pratique, on ne cherche pas le minimum de Φk et on détermine ρk


en effectuant une cherche linéaire de pas optimal suivant une Règle
dite règle de recherche linéaire de Wolfe :
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 36 / 59
Méthode de Newton : Dimension 1
La méthode de Newton est une méthode itérative pour trouver un
zéro d’une fonction différentiable :
J : R → R.
A partir d’un certain nombre x0 , on calcule ,

J (xk )
xk+1 := xk − , k ≥ 0. (8)
J ′ (xk )
Exemple : Soit J(x ) = x 2 − R, où R ∈ R+ .
√ √
La fonction J a deux racines , R and − R.

Si par exemple on prend x0 = R, On souhaite converger vers R
rapidement. Dans ce cas (8) s’écrit ;
xk2 − R 1 R
 
xk+1 = xk − = xk + . (9)
2xk 2 xk
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 37 / 59
Convergence de la suite

Toutes les itérations sont positives :


1 R xk
 
xk+1 =
xk + ≥ .
2 xk 2

On suppose maintenant que x0 − R < 1 2 . On écrit (9) sous la
forme :
√ xk R √ 1  √ 2
xk+1 − R= + − R= xk − R . (10)
2 2xk 2xk

On suppose maintenant que R ≥ 1/4, toutes les valeurs de xk sont au



moins égales à R ≥ 12 , on a alors
√  √ 2
xk+1 − R ≤ xk − R . (11)

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 38 / 59


Convergence de la suite

L’erreur tend vers 0 d’une manière quadratique et on a :

√  √ 2K  1 2K
xK − R ≤ x0 − R < , K ≥ 0. (12)
2
√  
1
Pour avoir xK − R < ε on a besoin de K = log log ε étapes.

On obtient alors une grande précision rapidement.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 39 / 59


Cas de dimension superieure

Recherche du minimum global x ⋆ d’une fonction differntielle convexe


J : R → R.

On suppose que ce minimum existe. x ⋆ vérifie alors J ′ (x ⋆ ) = 0.

On peut alors appliquer la méthode de Newton si J est deux fois


differentiable.

On a alors le schéma suivant :


f ′ (xk )
xk+1 := xk − = xk − f ′′ (xk )−1 f ′ (xk ) , k ≥ 0. (13)
f ′′ (xk )

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 40 / 59


Cas de dimension superieure

Ce schéma itératif peut se généraliser en dimension n ≥ 1 pour une


fonction convexe J : Rn → R.

On choisit x0 arbitraire et on calcule :

xk+1 := xk − ∇2 J (xk )−1 ∇J (xk ) , k ≥ 0. (14)

On considère le schéma général suivant :

xk+1 = xk − H (xk ) ∇J (xk ) ,

où H(x) ∈ Rn×n est une matrice quelconque.

L’iteration (14) sera alors un cas particulier et la méthode de gradient


de descente aussi avec H (xk ) = γI.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 41 / 59


Exemple

Soit
1
J(x) = x⊤ Mx − q⊤ x + c
2
où M ∈ Rn×n est une matrice symetrique inversible et q ∈ Rn , c ∈ R.

Soit x⋆ = M −1 q la solution unique de ∇J(x) = 0

On choisit arbitrairement x0 ∈ Rn . D’après le schéma (14) on obtient


que x1 = x⋆

En effet on a ∇J(x) = Mx − q . Ceci implique x⋆ = M −1 q et


∇2 J(x) = M. D’où

x0 − ∇2 J (x0 )−1 ∇J (x0 ) = x0 − M −1 (Mx0 − q) = M −1 q = x⋆ .

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 42 / 59


Principe de la méthode de Newton
Le principe de la méthode consiste à remplacer au tour du point xk
une fonction J supposée deux fois différentiable par son
développement de Taylor à l’ordre 2
1
q(x ) = J (xk ) + ∇J (xk )T (x − xk ) + (x − xk )T ∇2 J (xk ) (x − xk )
2
Si ∇2 J (xk ) > 0 alors x ∈ Rn 7→ q(x ) ∈ R est strictement convexe.
Son minimum est donc atteint en un point x tel que ∇q(x ) = 0
c.-à-d.

∇J (xk ) + ∇2 J (xk ) (x − xk ) = 0
−1
ce qui donne x = xk − ∇2 J (xk ) ∇J (xk )

La méthode de Newton consiste à itérer le calcul précédent. A chaque


étape on doit effectuer 0 n3 calculs dont la majeure partie est due à


l’inversion du Hessien de J en xk .
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 43 / 59
Algorithme de la méthode de Newton

A partir de x0 ∈ Rn quelconque, itérer


 −1
xk+1 = xk − ∇2 J (xk ) ∇J (xk )

Remarque
Nécessite d’inverser un système linéaire de matrice J ′′ (xk ).

En fait c’est un algorithme de recherche de zéro de J ′

Les zéros de J ′ peuvent être des minima, des maxima ou des points
selle.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 44 / 59


Convergence de la méthode de Newton

Théorème
Soit x ∈ Rn 7→ J(x ) ∈ R deux fois différentiable, possédant un unique
minimum global x ∗

On suppose que ∇2 J (x ∗ ) est définie positive (on note λ > 0 sa plus


petite valeur propre)

On suppose que x ∈ Rn 7→ ∇2 J(x ) ∈ Mn (R) est localement


Lipschitz au voisinage de x ∗ (on note C sa constante Lipschitz).

L’algorithme de Newton converge quadratiquement vers x ∗ si on


l’initialise en un point x0 tel que ∥x0 − x ∗ ∥ ≤ 3C

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 45 / 59


Preuve de la convergence
On applique la formule de Taylor avec reste intégral à la fonction
t 7→ ∇J (xk + t (x ∗ − xk )),

En utilisant ∇J (x ∗ ) = 0,on a

−∇J (xk ) −∇2 J (xk ) (x ∗ − xk ) =


Z 1 
∇2 J (xk + t (x ∗ − xk )) − ∇2 J (xk ) (x ∗ − xk ) dt
0

D’autre part, si xk est suffisamment proche de x ∗ (c’est vrai pour


k = 0 et le restera par récurrence voir ci-dessous (18 ) ), la condition
de Lipschitz donne qu’il existe C > 0 tel que

∇ J (xk + t (x ∗ − xk )) − ∇2 J (xk ) ≤ C ∥x ∗ − xk ∥ t
2

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 46 / 59


Preuve de la convergence

On peut donc déduire


C ∗
−∇J (xk ) − ∇2 J (xk ) (x ∗ − xk ) ≤ ∥x − xk ∥2 (15)

2
L’itération de l’algorithme de Newton donne

xk = xk+1 + ∇2 J (xk )−1 ∇J (xk )

Après substitution et simplification dans (15) on a


C ∗
∇ J (xk ) (x ∗ − xk+1 ) ≤ ∥x − xk ∥2
2
2

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 47 / 59


Preuve de la convergence

Il s’agit maintenant de faire apparaittre ∇2 J (x ∗ ) qui est la quantité


sur laquelle porte l’hypothèse. Une inégalité triangulaire donne

∇ J (x ∗ ) (x ∗ − xk+1 ) ≤ ∇2 J (xk ) (x ∗ − xk+1 )
2
 
+ ∇2 J (x ∗ ) − ∇2 f (xk ) (x ∗ − xk+1 )

À l’aide des majorations précédentes on a alors

C ∗
∇ J (x ∗ ) (x ∗ − xk+1 ) ≤ ∥x − xk ∥2 + C ∥x ∗ − xk ∥ ∥xk+1 − x ∗ ∥
2
2
(16)

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 48 / 59


Preuve de la convergence

Notons maintenant λ > 0 la plus petite valeur propre de ∇2 J (x ∗ ).


L’inéquation (16) donne alors

C ∗
λ ∥x ∗ − xk+1 ∥ ≤ ∥x − xk ∥2 + C ∥x ∗ − xk ∥ ∥xk+1 − x ∗ ∥ (17)
2
On a ∥xk − x ∗ ∥ ≤ 3C

. Pour tous les indices p > k suivants on a
∗ 2λ
encore ∥xp − x ∥ ≤ 3C .

En effet on peut tirer de (17) que

C
(λ − C ∥xk − x ∗ ∥) ∥xk+1 − x ∗ ∥ ≤ ∥xk − x ∗ ∥2
2
d’où ∥xk+1 − x ∗ ∥ ≤ 2λ
3C .

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 49 / 59


Preuve de la convergence

Finalement l’inéquation (17) donne donc la convergence quadratique

3C
∥xk+1 − x ∗ ∥ ≤ ∥xk − x ∗ ∥2 (18)

En prenant le logarithme de l’inégalité précédente, on obtient
3C
ln ∥xk+1 − x ∗ ∥ ≤ ln + 2 ln ∥xk − x ∗ ∥

En prenant le logarithme de l’inégalité précédente, on obtient
3C
ln ∥xk+1 − x ∗ ∥ ≤ ln + 2 ln ∥xk − x ∗ ∥

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 50 / 59


Preuve de la convergence

D’où l’on déduit


  3C
ln ∥xk − x ∗ ∥ ≤ 2k ln ∥x0 − x ∗ ∥ + 2k − 1 ln

c’est-à-dire
2k
2λ 3C

∥xk − x ∗ ∥ ≤ ∥x0 − x ∗ ∥
3C 2λ
qui converge vers zéro d’une manière quadratique d’après le choix de
x0 .

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 51 / 59


Algorithme de Newton (variante hybride)
l’algorithme de Newton ne converge que si l’initialisation est proche
de la solution

il faut hybrider l’algorithme pour qu’il soit robuste et converge


toujours.

Idée : on rajoute un pas de descente 0 < µ ≤ 1.


−1 ′
xk+1 = xk − µ J ′′ (xk ) J (xk )
Stratégie : on démarre avec µ petit, puis on augmente µ jusqu’à la
valeur 1.
Lemme
Soit J convexe
On suppose que J ′′ (x ) inversible
Alors wk = (J ′′ (xk ))−1 J ′ (xk ) est une direction de descente pour µ
petit.
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 52 / 59
Preuve

Un développement de Taylor conduit à


−1 ′  
J (xk+1 ) = J (xk ) − µ J ′′ (xk ) J (xk ) · J ′ (xk ) + O µ2

avec (J ′′ (xk ))−1 J ′ (xk ) · J ′ (xk ) > 0 si J ′ (xk ) ̸= 0

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 53 / 59


Gradient conjugué : Cas linéaire

La présentation des deux algorithmes précédents montrent qu’en


réalité on ne calcule pas les extrema d’une fonction mais les points
stationnaires (ou points critiques) qui vérifient la condition
d’optimalité du premier ordre.

Dans le cas particulier où J est quadratique cela revient à résoudre un


système linéaire : Ax = b.

Nous allons donc présentation d’une méthode de résolution d’un


système linéaire issue de la théorie de l’optimisation et convergente
dans le cas des matrices symétriques définies positives

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 54 / 59


Gradient conjugué : Cas linéaire
Dans ce cas l’application qui au couple (x , y ) associe le produit
(Ax , y ) est un produit scalaire sur Rn qu’on note (x , y )A .

La méthode qui suit est une méthode de descente inspirée de la


méthode du gradient.

La direction de descente wk n’est plus égale au gradient


gk = Axk − b : le gradient gk est "corrigé" de façon que toutes les
directions wk obtenues soient orthogonales (ou conjuguées) pour le
produit scalaire (·, ·)A .

Plus précisément on pose :

wk = gk + αk wk−1 ,

où αk est tel que : (wk , wk−1 )A = 0.


(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 55 / 59
Gradient conjugué : Cas linéaire
Algorithme du Gradient conjugué
1) Initialisation k = 0 : choix de x0 ∈ Rn et calcul de g0 = Ax0 − b.

2) Itération k
a) Si gk = 0 STOP ;

g0 si k=0 (g ,Awk−1 )
b) wk = avec αk = − Awk ,w .
gk + αk wk−1 si k≥1 ( k−1 k−1 )

(gk ,wk )
ρk = (Awk ,wk )

xk+1 = xk − ρk wk ,

gk+1 = Axk+1 − b.

c) k = k+1
(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 56 / 59
Gradient conjugué : Cas linéaire

Outre la convergence de la suite des itérés, il faut montrer d’abord


son existence c’est-à-dire wk ̸= 0 à l’étape 2)b. de l’algorithme, ce
que donne le théorème suivant :

Théorème
La méthode du gradient conjugué trouve le minimum d’une fonction
quadratique J, où A est symétrique, définie positive, en au plus n
itérations où n est l’ordre de A.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 57 / 59


Gradient conjugué : Cas linéaire

Remarque
Montrons que

(gk , Awk−1 ) ∥gk ∥2


αk = − = .
(Awk−1 , wk−1 ) ∥gk−1 ∥2
2
gk−1 −gk
En effet : Awk−1 = ρk−1 et donc (gk , Awk−1 ) = − ∥gk∥
ρk−1 .
De même :
2
(wk−1 , gk−1 ) (gk−1 + αk−1 wk−2 , gk−1 ) ∥gk−1 ∥
(wk−1 , Awk−1 ) = = = .
ρk−1 ρk−1 ρk−1

Cette méthode est très stable même pour des matrices mal
conditionnées. Elle demande 2n3 opérations dans le cas d’une matrice
pleine et de n itérations. Pour une matrice creuse, le nombre
d’opérations diminue beaucoup.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 58 / 59


Méthode du Gradient conjugué : cas général

1. Initialisation
k = 0 : choix de x0 dans Rn , de ε > 0 et calcul de g0 = ∇J (x0 )
2. Itération k
(a) Si ∥gk ∥ ≤ ε, STOP ;
(b) Sinon
( :
g0 si k = 0 2
wk = avec αk = ∥g∥gk ∥∥2 .
gk + αk wk−1 si k ≥ 1 k−1

3. Si (wk , gk ) < 0 aller en 4. Sinon on pose wk = gk


4. Recherche d’un pas ρk approchant le minimum de J (xk − ρwk ), par

(∇J (xk − ρwk ) , wk ) = 0.

5. xk+1 = xk − ρk wk , k = k + 1.

(FSTG) Quelques algorithmes en Optimisation sans contraintes 17/10/2022 59 / 59

Vous aimerez peut-être aussi