Méthode de Newton locale pour l`optimisation

Transcription

Méthode de Newton locale pour l`optimisation
Méthode de Newton locale pour l’optimisation
Michel Bierlaire
[email protected]
EPFL - Laboratoire Transport et Mobilité - ENAC
Méthode de Newton locale pour l’optimisation – p. 1/27
Newton locale
• Conditions nécessaires d’optimalité
∇f (x) = 0
• Il s’agit d’un système d’équations non linéaires
• Appliquons la méthode de Newton
• Rappel : pour résoudre F (x) = 0, F : Rn → Rn ,
1. Résoudre ∇F (xk )dk+1 = −F (xk )
2. Définir xk+1 = xk + dk+1 .
Méthode de Newton locale pour l’optimisation – p. 2/27
Algorithme : Newton locale
Objectif
Trouver une approximation de la solution du système
∇f (x) = 0.
Input
• Le gradient de la fonction ∇f : Rn → Rn ;
• Le hessien de la fonction ∇2 f : Rn → Rn×n ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.
Méthode de Newton locale pour l’optimisation – p. 3/27
Algorithme : Newton locale
Output
Une approximation de la solution x∗ ∈ Rn
Initialisation
k=0
Méthode de Newton locale pour l’optimisation – p. 4/27
Algorithme : Newton locale
Itérations
1. Calculer dk+1 solution de ∇2 f (xk )dk+1 = −∇f (xk ),
2. xk+1 = xk + dk+1 ,
3. k = k + 1.
Critère d’arrêt
Si k∇f (xk )k ≤ ε, alors x∗ = xk .
Méthode de Newton locale pour l’optimisation – p. 5/27
Newton locale
Mêmes propriétés que pour les équations
1. convergence q -quadratique dans les conditions favorables
2. divergence possible si le point de départ est trop éloigné de la
solution,
3. méthode non définie si ∇2 f (xk ) n’est pas inversible.
Inconvénient supplémentaire :
incapacité à distinguer minimum, maximum et point de selle
Méthode de Newton locale pour l’optimisation – p. 6/27
Newton locale
1 2
min f (x1 , x2 ) = x1 + x1 cos x2 ,
2
3
2
1
0
-1
-6
-4
-2
x2
0
2
4
6
1.5
1
0.5
0
-0.5
-1
-1.5
x1
Méthode de Newton locale pour l’optimisation – p. 7/27
Newton locale
1 2
min f (x1 , x2 ) = x1 + x1 cos x2 ,
2
x∗2
x̄1
x̄0
x∗0
x̄−1
-1
x∗−1
x̄−2
x∗−2
-1.5
x∗1
-0.5
0
x1
0.5
1
6
4
2
0
-2
-4
-6
1.5
x2
Point de départ x0 = (1 1)T . Convergence rapide.
Méthode de Newton locale pour l’optimisation – p. 8/27
Newton locale
Solution:
∗
x =
0
π
2
!
∗
∇f (x ) =
0
0
!
2
1
−1
∗
∇ f (x ) =
−1
0
6
4
2
0
-2
-4
-6
x∗
x0
-2 -1.5 -1 -0.5
0
x1
0.5
1
1.5
!
x2
2
Méthode de Newton locale pour l’optimisation – p. 9/27
Newton locale
Solution:
∗
x =
0
π
2
!
0
0
∗
∇f (x ) =
!
2
∗
∇ f (x ) =
1
−1
−1
0
!
2
1.8
1.6
x∗
x0
1.4
x2
1.2
1
-0.4 -0.2
0
0.2 0.4 0.6 0.8
x1
1
Méthode de Newton locale pour l’optimisation – p. 10/27
Newton locale
• Méthode rapide mais peu fiable
• Interprétation géométrique
• Equations : modèle linéaire à chaque itération
• Optimisation : modèle quadratique
Méthode de Newton locale pour l’optimisation – p. 11/27
Newton locale
Modèle quadratique d’une fonction
Soit f : Rn → R une fonction deux fois différentiable. Le modèle quadratique de f en x
b est une fonction mxb : Rn → R définie par
1
mxb(x) = f (x
b) + (x − x
b)T ∇f (x
b) + (x − x
b)T ∇2 f (x
b)(x − x
b),
2
où ∇f (x
b) est le gradient de f en x
b et ∇2 f (x
b) est la matrice hessienne de
f en x
b. En posant d = x − x
b, on obtient la formulation équivalente:
1
mxb(x
b + d) = f (x
b) + dT ∇f (x
b) + dT ∇2 f (x
b)d.
2
Méthode de Newton locale pour l’optimisation – p. 12/27
Newton locale
1
b)T ∇2 f (x
b)(x − x
b)
min mxb(x) = f (x
b) + (x − x
b) ∇f (x
b) + (x − x
x
2
T
Condition suffisante d’optimalité (premier ordre)
c’est-à-dire
ou encore
∇mxb(x
b + d) = ∇f (x
b) + ∇2 f (x
b)d = 0
d = −∇2 f (x
b)−1 ∇f (x
b),
x=x
b − ∇2 f ( x
b)−1 ∇f (x
b),
Méthode de Newton locale pour l’optimisation – p. 13/27
Newton locale
Condition suffisante d’optimalité (second ordre)
∇2 f ( x
b) définie positive
Lorsque la matrice hessienne de la fonction est définie positive en
xk , une itération de la méthode de Newton locale revient à
minimiser le modèle quadratique de la fonction en xk , et ainsi
définir
xk+1 = argminx∈Rn mxk (x).
Méthode de Newton locale pour l’optimisation – p. 14/27
Algorithme : Modèle quadratique
Objectif
Trouver une approximation de la solution du système
∇f (x) = 0.
(1)
Input
• Le gradient de la fonction ∇f : Rn → Rn ;
• Le hessien de la fonction ∇2 f : Rn → Rn×n ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.
Méthode de Newton locale pour l’optimisation – p. 15/27
Algorithme : Modèle quadratique
Output
Une approximation de la solution x∗ ∈ Rn
Initialisation
k=0
Méthode de Newton locale pour l’optimisation – p. 16/27
Algorithme : Modèle quadratique
Itérations
1. Construire le modèle quadratique
1 T 2
b)d,
mxb(x
b + d) = f (x
b) + d ∇f (x
b) + d ∇ f (x
2
T
2. Calculer
dk+1 = argmind mxb(x
b + d)
3. xk+1 = xk + dk+1 ,
4. k = k + 1.
Critère d’arrêt
Si k∇f (xk )k ≤ ε, alors x∗ = xk .
Méthode de Newton locale pour l’optimisation – p. 17/27
Algorithme : Modèle quadratique
Attention : si ∇2 f (xk ) n’est pas définie positive, le modèle n’est par
borné inférieurement
40
20
f (x1 , x2 ) 0
-20
-4
-2
x2
0
2
4
6 6
4
2
x1
0
-2
-4
Méthode de Newton locale pour l’optimisation – p. 18/27
Algorithme : Modèle quadratique
Attention : si ∇2 f (xk ) n’est pas définie positive, le modèle n’est par
borné inférieurement
40
20
mx0 (x1 , x2 ) 0
-20
-4
-2
x2
0
2
4
6 6
4
2
x1 0
-2
-4
Dans ce cas, l’algorithme ne peut être appliqué.
Méthode de Newton locale pour l’optimisation – p. 19/27
Modèle quadratique
f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 3
m3 (x) = 7x2 − 48x + 81
25
20
15
10
5
0
-5
-10
-15
f (x)
m3 (x)
f (xk )f (x
)
•
•k+1
1
1.5
2
2.5
3
3.5
x
4
4.5
5
5.5
Méthode de Newton locale pour l’optimisation – p. 20/27
Modèle quadratique
f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 3
m3 (x) = 7x2 − 48x + 81
5
f (x)
m3 (x)
4
3
2
1
f (xk )
•
0
f (xk+1 )
•
-1
-2
2.6
2.8
3
3.2
x
3.4
3.6
3.8
4
Méthode de Newton locale pour l’optimisation – p. 21/27
Modèle quadratique
f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 4
m4 (x) = x2 − 4x
25
20
15
10
5
0
-5
-10
-15
f (x)
m4 (x)
f (xk+1 )
•
f (xk )
•
1
1.5
2
2.5
3
3.5
x
4
4.5
5
5.5
Méthode de Newton locale pour l’optimisation – p. 22/27
Modèle quadratique
f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 4
m4 (x) = x2 − 4x
14
12
10
8
6
4
2
0
-2
-4
f (xk+1 )
•
f (x)
m4 (x)
f (xk )
•
1
1.5
2
2.5
3
3.5
x
4
4.5
5
5.5
Méthode de Newton locale pour l’optimisation – p. 23/27
Modèle quadratique
f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 5
m5 (x) = −17x2 + 160x − 375.
25
20
15
10
5
0
-5
-10
-15
f (x)
m5 (x)
f (xk+1 )
•
•
f (xk )
1
1.5
2
2.5
3
3.5
x
4
4.5
5
5.5
Méthode de Newton locale pour l’optimisation – p. 24/27
Modèle quadratique
f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 5
m5 (x) = −17x2 + 160x − 375.
f (x•k+1 )
2
0
f (x)
f (x
• k ) m5 (x)
-2
-4
-6
-8
-10
-12
4
4.2
4.4
4.6
4.8
x
5
5.2
5.4
Méthode de Newton locale pour l’optimisation – p. 25/27
Modèle quadratique
Point de Newton
Soit f : Rn → R une fonction deux fois différentiable, et soit xk ∈ Rn . Le
point de Newton de f en xk est le point
xN = xk + dN
où dN est solution du système d’équations
∇2 f (xk )dN = −∇f (xk ).
Ce système est souvent appelé équations de Newton.
Méthode de Newton locale pour l’optimisation – p. 26/27
Résumé
• Conditions nécessaires d’optimalité = système d’équations.
• Méthode de Newton locale.
• Rapide ... sous conditions.
• Pas de distinctions entre minima, maxima et point de selle.
Méthode de Newton locale pour l’optimisation – p. 27/27