Académique Documents
Professionnel Documents
Culture Documents
09 Bfgs
09 Bfgs
Michel Bierlaire
michel.bierlaire@epfl.ch
avec
dk−1 = xk − xk−1
yk−1 = ∇f (xk ) − ∇f (xk−1 ).
Hk = Lk LTK
AAT d = y
ou encore
Ax = y
AT d = x
(y − Lx)xT
A=L+ T
.
x x
(p. 312)
T
yk−1 yk−1 Hk−1 dk−1 dTk−1 Hk−1
Hk = Hk−1 + T − T
.
yk−1 dk−1 dk−1 Hk−1 dk−1
Hk−1 =
T T
dk−1 yk−1 −1 d k−1 y dk−1 dT
I − dT y Hk−1 I − dT yk−1 + T
k−1
dk−1 yk−1
k−1 k−1 k−1 k−1
Objectif
Trouver une approximation d’un minimum local du problème
minn f (x).
x∈R
Input
• La fonction f : Rn → R différentiable;
• Le gradient de la fonction ∇f : Rn → Rn ;
• Une première approximation de la solution x0 ∈ Rn ;
Input (suite)
• Une première approximation de l’inverse du hessien
H0−1 ∈ Rn×n symétrique définie positive. Par défaut,
H0−1 = I .
• La précision demandée ε ∈ R, ε > 0.
Output
Une approximation de la solution x∗ ∈ R
Initialisation
k=0
Itérations
• Calculer dk = −Hk−1 ∇f (xk )
• Déterminer αk en appliquant la recherche linéaire avec
α 0 = 1.
• xk+1 = xk + αk dk .
• k = k + 1.
Itérations (suite)
• Mettre à jour Hk−1
Hk−1 =
d¯k−1 yk−1
T
−1 d¯k−1 y T d¯k−1 d¯T
I − d¯T y Hk−1 I − d¯T yk−1 + d¯T
k−1
yk−1
k−1 k−1 k−1 k−1 k−1
1 2
min f (x1 , x2 ) = x1 + x1 cos x2 ,
2
x2
x∗2
x̄1
x∗1
x̄0
x∗0
x̄−1
x∗−1
x̄−2
x∗−2
x∗ 4
x0 2
0 x2
-2
-4
-6
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x1
x∗ 3.5
2.5 x2
2
1.5
x0
1
0 0.2 0.4 0.6 0.8 1
x1
(p. 317)
• BFGS
• SR1
• Autres formules proposées, notamment Davidon, Fletcher,
Powell (DFP)