Vous êtes sur la page 1sur 7

Optimisation sans contraintes (L3 RO)

Méthodes d’optimisation numériques

Introduction :

On considère le problème d’optimisation sans contraintes min𝑛 𝑓(𝑥 ) … (𝑃)


𝑥∈ℝ

Où 𝑓: ℝ𝑛 → ℝ une fonction différentiable.

Le problème consiste à chercher 𝑥 ∗ ∈ ℝ𝑛 vérifiant 𝑓 (𝑥 ∗ ) ≤ 𝑓(𝑥 ) ∀𝑥 ∈ ℝ𝑛 .

On suppose que 𝑥 ∗ existe et on se propose de trouver une approximation


numérique de 𝑥 ∗ en construisant une suite { 𝑥 𝑘 }𝑘∈ℕ ⊂ ℝ𝑛 telle que
lim 𝑥 𝑘 = 𝑥 ∗ .
𝑘→+∞

Remarque :

Si 𝑓 ∈ 𝐶 1 alors 𝑥 ∗ satisfait la condition ∇𝑓 (𝑥 ∗ ) = 0 dite équation d’Euler.

Si de plus 𝑓 est convexe alors la condition est aussi suffisante. Si de plus 𝑓 est
strictement convexe alors 𝑥 ∗ est unique.

Ainsi les méthodes numériques à envisager consistent à résoudre


numériquement l’équation d’Euler (système de n équations à n inconnus) et
sont spécifiques à l’optimisation.

La suite {𝑥 𝑘 }𝑘∈ℕ est définie par récurrence approximant 𝑥 ∗ en utilisant une


méthode de descente.

Principe des méthodes de descente :

Soit 𝑥 0 ∈ ℝ𝑛 un point initial et on donne 𝑥 𝑘+1 en fonction de 𝑥 𝑘 dont


l’expression générale est 𝑥 𝑘+1 = 𝑥 𝑘 + 𝜌𝑘 𝑑 𝑘 où

𝑑 𝑘 ∈ ℝ𝑛 vecteur de ℝ𝑛 appelé direction de descente

𝜌𝑘 ∈ ℝ est le pas ou facteur de descente.


𝑘+1
{𝑥 = 𝑥 𝑘 + 𝜌𝑘 𝑑𝑘
𝑥 0 ∈ ℝ𝑛
La suite doit vérifier 𝑓(𝑥 𝑘+1 ) < 𝑓(𝑥 𝑘 ) ∀𝑘 ∈ ℕ , c-a-d la suite {𝑓(𝑥 𝑘 )} est
décroissante. Il existe plusieurs méthodes de descente suivant le choix de 𝑑 𝑘
et 𝜌𝑘 .

Page 1
Optimisation sans contraintes (L3 RO)

Méthode de gradient :

Prendre comme direction 𝑑𝑘 = −∇𝑓(𝑥 𝑘 )

Justificatif :

Par la formule de Taylor

𝑓 (𝑥 𝑘 − 𝜌∇𝑓(𝑥 𝑘 )) = 𝑓(𝑥 𝑘 ) + 〈∇𝑓(𝑥 𝑘 ), −𝜌∇𝑓(𝑥 𝑘 )〉 +∘ (𝜌∇𝑓(𝑥 𝑘 ))


2
𝑓 (𝑥 𝑘 − 𝜌∇𝑓(𝑥 𝑘 )) − 𝑓(𝑥 𝑘 ) = −𝜌‖∇𝑓(𝑥 𝑘 )‖ +∘ (𝜌∇𝑓(𝑥 𝑘 ))

𝑓 (𝑥 𝑘 − 𝜌∇𝑓(𝑥 𝑘 )) − 𝑓(𝑥 𝑘 ) < 0 pour 𝜌 > 0 assez petit et ∇𝑓 (𝑥 𝑘 ) ≠ 0.

Il existe plusieurs types de ces méthodes selon le choix de 𝜌.

Méthode de gradient à pas optimal (méthode de plus forte pente) :

La méthode consiste à calculer 𝑥 𝑘+1 par la formule 𝑥 𝑘+1 = 𝑥 𝑘 − 𝜌𝑘 ∇𝑓(𝑥 𝑘 )

Où 𝜌𝑘 est tel que : 𝑓 (𝑥 𝑘 − 𝜌𝑘 ∇𝑓(𝑥 𝑘 )) = min 𝑓 (𝑥 𝑘 − 𝜌∇𝑓(𝑥 𝑘 ))


𝜌≥0

En supposant qu’un tel minimum existe et que ∇𝑓(𝑥 𝑘 ) ≠ 0.

Condition de convergence :

Théorème :

Si 𝑓 est différentiable et lim 𝑓(𝑥 ) = +∞ alors l’algorithme de plus forte


‖𝑥‖→+∞

pente converge vers un point stationnaire.

Cas particuliers des fonctions quadratiques :


1
Soit 𝑓(𝑥 ) = 𝑥 𝑡 𝐴𝑥 + 𝑏𝑡 𝑥 + 𝑐
2

Où 𝐴 ∈ 𝑀𝑛 (ℝ)une matrice symétrique définie positive, 𝑏 ∈ ℝ𝑛 et 𝑐 ∈ ℝ.

Alors ∇𝑓(𝑥 ) = 𝐴𝑥 + 𝑏

𝜌𝑘 est tel que : 𝑔(𝜌𝑘 ) = min 𝑓 (𝑥 𝑘 − 𝜌∇𝑓 (𝑥 𝑘 ))donc 𝑔′ (𝜌𝑘 ) = 0


𝜌≥0

⟺ −∇𝑡 𝑓(𝑥 𝑘 )∇𝑓(𝑥 𝑘 − 𝜌∇𝑓 (𝑥 𝑘 ) = 0

Page 2
Optimisation sans contraintes (L3 RO)

⟺ − 〈𝐴𝑥 𝑘 + 𝑏, 𝐴 (𝑥 𝑘 − 𝜌∇𝑓(𝑥 𝑘 )) + 𝑏〉 = 0

2
⟺ −‖𝐴𝑥 𝑘 + 𝑏‖ + 𝜌〈𝐴𝑥𝑘 + 𝑏, 𝐴(𝐴𝑥 𝑘 + 𝑏)〉 = 0
2
‖𝐴𝑥𝑘 +𝑏‖
⇒ 𝜌𝑘 = 〈 … (∗)
𝐴𝑥𝑘 +𝑏,𝐴(𝐴𝑥𝑘 +𝑏)〉

Si ∇𝑓(𝑥 𝑘 ) = 𝐴𝑥 𝑘 + 𝑏 ≠ 0 𝜌𝑘 est bien défini car A est définie positive.

Donc l’algorithme du gradient à pas optimal dans le cas quadratique est défini
par : 𝑥 𝑘+1 = 𝑥 𝑘 − 𝜌𝑘 (𝐴𝑥 𝑘 + 𝑏) où 𝜌𝑘 est défini par (∗).

Exercice :

On veut calculer une valeur approchée du minimum de la fonction :


1 1
𝑓(𝑥, 𝑦) = 𝑥 2 + 𝑦 2 par l’algorithme de plus forte pente.
4 2

1/ Ecrire 𝑋 𝑘+1 en fonction de 𝑋 𝑘 .


1
2/ Faire deux itérations de l’algorithme en démarrant de 𝑋 0 = ( ).
1
Solution :

1/𝑋 𝑘+1 = 𝑋 𝑘 − 𝜌𝑘 ∇𝑓(𝑋 𝑘 )

𝑔(𝜌𝑘 ) = min 𝑓 (𝑋 𝑘 − 𝜌∇𝑓(𝑋 𝑘 )) où 𝑋 𝑘 = (𝑥𝑘 , 𝑦𝑘 )


𝜌≥0

1
𝑔(𝜌) = 𝑓 (𝑋 𝑘 − 𝜌∇𝑓(𝑋 𝑘 )) = 𝑓((𝑥𝑘 , 𝑦𝑘 ) − 𝜌 ( 𝑥𝑘 , 𝑦𝑘 ))
2

1 1 1
= (1 − 𝜌)2 𝑥𝑘2 + (1 − 𝜌)2 𝑦𝑘2
4 2 2

1 1
𝑔′ (𝜌) = − (1 − 𝜌) 𝑥𝑘2 − (1 − 𝜌)𝑦𝑘2 = 0
4 2
1 2
𝑥 +𝑦2 𝑥2 2
4 𝑘 𝑘 𝑘 +4𝑦𝑘
𝜌𝑘 = 1 2 = 2( )
𝑥 +𝑦2 𝑥2 2
𝑘 +8𝑦𝑘
8 𝑘 𝑘

1 1
𝑋 𝑘+1 = (𝑥𝑘+1 , 𝑦𝑘+1 ) = (𝑥𝑘 , 𝑦𝑘 ) − 𝜌𝑘 ( 𝑥𝑘 , 𝑦𝑘 ) = ((1 − 𝜌) 𝑥𝑘 , (1 − 𝜌)𝑦𝑘 ) =
2 2

4𝑥𝑘 𝑦𝑘2 −𝑥2


𝑘 𝑦𝑘
(( , ))
𝑥2 2 2 2
𝑘 +8𝑦𝑘 𝑥𝑘 +8𝑦𝑘

Page 3
Optimisation sans contraintes (L3 RO)
4 1
2/ 𝑋 1 = ( , − )
9 9

2 2
𝑋2 = ( , )
27 27

Remarque :
1
0 0
On peut utiliser la formule (∗) pour calculer 𝜌𝑘 où 𝐴 = ( 2 ) , 𝑏 = ( ) et
0 1 0
𝑐 = 0.
1 2 1
𝐴𝑋 𝑘 + 𝑏 = ( 𝑥𝑘 , 𝑦𝑘 ) et ‖𝐴𝑋 𝑘 + 𝑏‖ = 𝑥𝑘2 + 𝑦𝑘2
2 4

1 1
𝐴(𝐴𝑋 𝑘 + 𝑏) = ( 𝑥𝑘 , 𝑦𝑘 ) et 〈𝐴𝑥 𝑘 + 𝑏, 𝐴(𝐴𝑥 𝑘 + 𝑏)〉 = 𝑥𝑘2 + 𝑦𝑘2 et
4 8

1 2
𝑥 +𝑦𝑘2
4 𝑘
𝜌𝑘 = 1 2 .
𝑥 +𝑦𝑘2
8 𝑘

Méthode des directions conjuguées :

C’est une méthode itérative pour résoudre le problème d’optimisation (𝑃) où


1
𝑓 est une fonction quadratique. 𝑓(𝑥 ) = 𝑥 𝑡 𝐴𝑥 + 𝑏𝑡 𝑥 + 𝑐
2

Où 𝐴 ∈ 𝑀𝑛 (ℝ)une matrice symétrique définie positive, 𝑏 ∈ ℝ𝑛 et 𝑐 ∈ ℝ.

Définition :

Les vecteurs 𝑑0 , 𝑑1 , … , 𝑑𝑛−1 de ℝ𝑛 sont dits mutuellement conjugués par


rapport à la matrice 𝐴 s’ils sont linéairement indépendants et vérifient :
𝑑𝑖𝑡 𝐴𝑑𝑗 = 0 , ∀𝑖 ≠ 𝑗.

Construction directions conjuguées :

Pour construire des directions mutuellement conjugués par rapport à la


matrice 𝐴 on utilise le procédé de Gram Schmidt suivant :

Soit 𝜉 = { 𝑒1 , … , 𝑒𝑛 } la base canonique de ℝ𝑛 . On pose

𝑑0 = 𝑒1
𝑑1 = 𝑒2 + 𝛼1,0𝑑0

𝑑2 = 𝑒3 + 𝛼2,0 𝑑0 + 𝛼2,1 𝑑1

Page 4
Optimisation sans contraintes (L3 RO)

𝑑𝑛−1 = 𝑒𝑛 + 𝛼𝑛−1,0 𝑑0 + 𝛼𝑛−1,1 𝑑1 + ⋯ + 𝛼𝑛−1,𝑛−2 𝑑𝑛−2

Pour 𝑖 = 1, … , 𝑛 − 1 , calculer 𝛼𝑖,𝑗 tel que 𝑑𝑗𝑡 𝐴𝑑𝑖 = 0 pour 𝑗 = 0, … , 𝑖 − 1

Exemple
2 4 0
Soit 𝐴 = (4 10 0)
0 0 1
𝑑0 = 𝑒1
−𝑑𝑡0 𝐴𝑒2 −4
𝑑1 = 𝑒2 + 𝛼1,0𝑑0 tel que 𝑑0𝑡 𝐴𝑑1 = 0 ⟺ 𝛼1,0 = = = −2
𝑑𝑡0 𝐴𝑑0 2

0 1 −2
Donc 𝑑1 = (1) − 2 (0) = ( 1 )
0 0 0
𝑑2 = 𝑒3 + 𝛼2,0 𝑑0 + 𝛼2,1 𝑑1 tel que 𝑑0𝑡 𝐴𝑑2 = 𝑑1𝑡 𝐴𝑑2 = 0
−𝑑𝑡0 𝐴𝑒3
𝑑0𝑡 𝐴𝑑2 = 0 ⟺ 𝛼2,0 = =0
𝑑𝑡0 𝐴𝑑0

−𝑑𝑡1 𝐴𝑒3
𝑑1𝑡 𝐴𝑑2 = 0 ⟺ 𝛼2,1 = = 0 donc 𝑑2 = 𝑒3
𝑑𝑡1 𝐴𝑑1

Principe de la méthode des directions conjuguées

Consiste à partir de 𝑥 0 ∈ ℝ𝑛 de minimiser 𝑓 suivant n directions mutuellemt


conjuguées par rapport à la matrice 𝐴.

Soit 𝑥 0 ∈ ℝ𝑛 un point initial et on donne 𝑥 𝑘+1 en fonction de 𝑥 𝑘 dont


l’expression générale est 𝑥 𝑘+1 = 𝑥 𝑘 + 𝜌𝑘 𝑑𝑘 où le pas de déplacement 𝜌𝑘

est tel que 𝑔(𝜌𝑘 ) = 𝑓 (𝑥 𝑘 + 𝜌𝑘 𝑑𝑘 ) = min 𝑓(𝑥 𝑘 + 𝜌𝑑𝑘 )


𝜌𝜖ℝ

donc 𝑔′ (𝜌𝑘 ) = 0

⟺ 𝑑𝑘𝑡 ∇𝑓(𝑥 𝑘 + 𝜌𝑘 𝑑𝑘 ) = 0

⟺ 𝑑𝑘𝑡 (𝐴(𝑥𝑘 + 𝜌𝑘 𝑑𝑘 ) + 𝑏) = 0

⟺ 𝑑𝑘𝑡 𝐴𝑥 𝑘 + 𝜌𝑘 𝑑𝑡𝑘 𝐴𝑑𝑘 + 𝑑𝑘𝑡 𝑏 = 0

Page 5
Optimisation sans contraintes (L3 RO)

−𝑑𝑡𝑘 (𝐴(𝑥𝑘 +𝑏)


⇒ 𝜌𝑘 = … (1)
𝑑𝑡𝑘 𝐴𝑑𝑘

Comme 𝑥 𝑘 = 𝑥 0 + ∑𝑘−1 𝑡 𝑘 𝑡 0 𝑘−1 𝑡


𝑖=0 𝜌𝑖 𝑑𝑖 alors 𝑑𝑘 𝐴𝑥 = 𝑑𝑘 𝐴𝑥 + ∑𝑖 =0 𝜌𝑖 𝑑𝑘 𝐴 𝑑𝑖 =
−𝑑𝑡𝑘 (𝐴(𝑥0 +𝑏)
𝑑𝑘𝑡 𝐴𝑥 0 ainsi (1) ⟺ 𝜌𝑘 = … (2)
𝑑𝑡𝑘 𝐴𝑑𝑘

Donc l’algorithme des directions conjuguées est défini par : 𝑥 𝑘+1 = 𝑥 𝑘 +


𝜌𝑘 𝑑𝑘 où 𝜌𝑘 est défini par (2).

Test d’arrêt : ∇𝑓( 𝑥 𝑘 ) = 0 ou bien 𝑘 = 𝑛

Exemple :

Calculer la solution optimale du problème min3 𝑓 (𝑥 ) … (𝑃) où 𝑓(𝑥 ) = 𝑥 2 +


𝑥∈ℝ
5𝑦 + 𝑧 + 4𝑥𝑦 + 2𝑥 + 3𝑦 partant du vecteur 𝑥 0 = 0ℝ3.
2 2

Solution :
1
𝑓 est une forme quadratique de la forme : 𝑓(𝑥 ) = 𝑥 𝑡 𝐴𝑥 + 𝑏𝑡 𝑥 + 𝑐
2

2 4 0 2
Où 𝐴 = (4 10 0) symétrique définie positive, 𝑏 = (3) et 𝑐 = 0.
0 0 1 0
Les directions conjuguées par rapport à 𝐴 ont été construites dans l’exemple
précédent.

Itération1 :
−𝑑𝑡0 (𝐴(𝑥0 +𝑏) −2
𝑥 1 = 𝑥 0 + 𝜌0 𝑑0 où 𝜌0 = = = −1
𝑑𝑡0 𝐴𝑑0 2

1 −1
1
𝑥 = − (0) = ( 0 )
0 0
0
1)
∇𝑓(𝑥 = (−1) ≠ 0
0
Itération2 :
−𝑑𝑡1 (𝐴(𝑥0 +𝑏) 1
𝑥 2 = 𝑥 1 + 𝜌1 𝑑1 où 𝜌1 = =
𝑑𝑡1 𝐴𝑑1 2

Page 6
Optimisation sans contraintes (L3 RO)

−1 −2 −2
2 1 1
𝑥 = ( 0 )+ ( 1 )= ( )
2 2
0 0 0
0
2)
∇𝑓(𝑥 = (0) donc 𝑥 2 est la solution optimale de (𝑃).
0
Remarque :

Il existe des variantes de l’algorithme précédent pour d’autres types de


fonctions à minimiser.

Page 7

Vous aimerez peut-être aussi