méthode de newton - transp-or · méthode de newton michel bierlaire [email protected]...
TRANSCRIPT
Méthode de Newton
Michel Bierlaire
Laboratoire Transport et Mobilite
EPFL - ENAC - TRANSP-OR
Methode de Newton – p. 1/41
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 pour les équations.
• Voir Bierlaire (2006), chapitre 7 pour rappel.
Methode de Newton – p. 2/41
Equation à une inconnue
Résoudre
F (x) = 0
avec
F (x) = x2 − 2, x = 2
Théorème de Taylor
F (x+ d) = F (x) + dF ′(x) + o(|d|)
= x2 − 2 + 2xd+ o(|d|)
= 2 + 4d+ o(|d|).
Methode de Newton – p. 3/41
Equation à une inconnue
Ignorons le terme d’erreur pour obtenir un modèle :
m(x+ d) = 2 + 4d.
En posant x = x+ d, nous obtenons
m(x) = 2 + 4(x− 2) = 4x− 6.
Methode de Newton – p. 4/41
Equation à une inconnue
-10
-5
0
5
10
15
0 0.5 1 1.5 2 2.5 3 3.5 4
x
f(x)m(x)
Methode de Newton – p. 5/41
Equation à une inconnue
1.51.61.71.81.9
22.12.22.32.42.5
1.9 1.95 2 2.05 2.1
x
f(x)m(x)
Methode de Newton – p. 6/41
Equation à une inconnue
Modèle linéaire d’une fonction à une variableSoit F : R → R une fonction différentiable.
Le modèle linéaire de F en x est une fonction mx : R → R définie par
mx(x) = F (x) + (x− x)F ′(x).
Methode de Newton – p. 7/41
Equation à une inconnue
Algorithme :
1. Calculer le modèle linéaire en x :
F (x) + (x− x)F ′(x) = 0,
2. Calculer sa racine x+
x+ = x−F (x)
F ′(x),
3. Si x+ n’est pas une racine du problème de départ, considérer
x+ comme nouvelle approximation, et recommencer.
Methode de Newton – p. 8/41
Equation à une inconnue
Critère d’arrêt :
• En théorie F (x+) = 0.
• En pratique, arithmétique finie.
• On définit une précision ε, et la condition est
|F (x+)| ≤ ε.
Methode de Newton – p. 9/41
Rappel : Méthode de Newton — une variable
Objectif
Trouver une approximation de la solution de l’équation
F (x) = 0.
Input
• La fonction F : R → R;
• La dérivée de la fonction F ′ : R → R;
• Une première approximation de la solution x0 ∈ R;
• La précision demandée ε ∈ R, ε > 0.
Methode de Newton – p. 10/41
Rappel : Méthode de Newton — une variable
Output
Une approximation de la solution x∗ ∈ R
Initialisation
k = 0
Iterations
1. xk+1 = xk − F (xk)/F′(xk),
2. k = k + 1.
Critere d’arret
Si |F (xk)| ≤ ε, alors x∗ = xk.
Methode de Newton – p. 11/41
Rappel : Méthode de Newton — n variables
Objectif
Trouver une approximation de la solution du systèmed’équations
F (x) = 0.
Input
• La fonction F : Rn → Rn;
• La matrice jacobienne de la fonction J : Rn → Rn×n;
• Une première approximation de la solution x0 ∈ Rn;
• La précision demandée ε ∈ R, ε > 0.
Output
Une approximation de la solution x∗ ∈ Rn
Methode de Newton – p. 12/41
Rappel : Méthode de Newton — n variables
Initialisation
k = 0
Iterations
1. Calculer dk+1 solution de J(xk)dk+1 = −F (xk).
2. xk+1 = xk + dk+1.
3. k = k + 1.
Critere d’arret
Si ‖F (xk)‖ ≤ ε, alors x∗ = xk.
Methode de Newton – p. 13/41
Rappel: Méthode de Newton — n variables
Convergence de la méthode de Newton — n variables Soit un
ensemble convexe ouvert X ⊆ Rn, et une fonction F : X → R
n.
Supposons qu’il existe x∗ ∈ X , une boule B(x∗, r) centrée en x∗ de rayon r, et
une constante ρ > 0 tels que F (x∗) = 0, B(x∗, r) ⊂ X , J(x∗) est inversible,
‖J(x∗)−1‖ ≤1
ρ,
et J est continue au sens de Lipschitz sur B(x∗, r), la constante de Lipschitz
étant M .
(suite...)
Methode de Newton – p. 14/41
Rappel: Méthode de Newton — n variables
Convergence de la méthode de Newton — n variables (suite)Alors, il existe η > 0 tel que si
x0 ∈ B(x∗, η),
alors la suite (xk)k définie par
xk+1 = xk − J(xk)−1F (xk) k = 0, 1, . . .
est bien définie et converge vers x∗. De plus,
‖xk+1 − x∗‖ ≤M
ρ‖xk − x∗‖2.
(p. 204)
Methode de Newton – p. 15/41
Rappel: Méthode de Newton
Performance de la méthode de Newton
• Si la fonction n’est pas trop non-linéaire;
• Si la dérivée de f à la solution n’est pas trop proche de 0;
• Si x0 n’est pas trop éloigné de la racine;
• Alors la méthode de Newton converge très vite vers la solution.
Methode de Newton – p. 16/41
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 ∇2f : Rn → Rn×n;
• Une première approximation de la solution x0 ∈ Rn;
• La précision demandée ε ∈ R, ε > 0.
Methode de Newton – p. 17/41
Algorithme : Newton locale
Output
Une approximation de la solution x∗ ∈ Rn
Initialisation
k = 0
Methode de Newton – p. 18/41
Algorithme : Newton locale
Iterations
1. Calculer dk+1 solution de ∇2f(xk)dk+1 = −∇f(xk),
2. xk+1 = xk + dk+1,
3. k = k + 1.
Critere d’arret
Si ‖∇f(xk)‖ ≤ ε, alors x∗ = xk.
Methode de Newton – p. 19/41
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 lasolution,
3. méthode non définie si ∇2f(xk) n’est pas inversible.
Inconvénient supplémentaire :
incapacité à distinguer minimum, maximum et point de selle
Methode de Newton – p. 20/41
Newton locale
min f(x1, x2) =1
2x21 + x1 cosx2,
x1
x2
Methode de Newton – p. 21/41
Newton locale
min f(x1, x2) =1
2x21 + x1 cosx2,
x∗
−2
x∗
−1
x∗
0
x∗
1
x∗
2
x0
x1
x−1
x−2
Point de départ x0 = (1 1)T . Convergence rapide.
Methode de Newton – p. 22/41
Newton locale
Solution:
x∗ =
(0π
2
)∇f(x∗) =
(0
0
)∇2f(x∗) =
(1 −1
−1 0
)
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-6-4-20246
x0
x∗
x1
x2
Methode de Newton – p. 23/41
Newton locale
Solution:
x∗ =
(0π
2
)∇f(x∗) =
(0
0
)∇2f(x∗) =
(1 −1
−1 0
)
-0.4 -0.2 0 0.2 0.4 0.6 0.8 1
1
1.2
1.4
1.6
1.8
2
x0x∗
x1
x2
Methode de Newton – p. 24/41
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
Methode de Newton – p. 25/41
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 est une fonction mx : Rn → R définie par
mx(x) = f(x) + (x− x)T∇f(x) +1
2(x− x)T∇2f(x)(x− x),
où ∇f(x) est le gradient de f en x et ∇2f(x) est la matrice hessienne de
f en x.
En posant d = x− x, on obtient la formulation équivalente:
mx(x+ d) = f(x) + dT∇f(x) +1
2dT∇2f(x)d.
Methode de Newton – p. 26/41
Newton locale
minx
mx(x) = f(x) + (x− x)T∇f(x) +1
2(x− x)T∇2f(x)(x− x)
Condition suffisante d’optimalité (premier ordre)
∇mx(x+ d) = ∇f(x) +∇2f(x)d = 0
c’est-à-dire
d = −∇2f(x)−1∇f(x),
ou encore
x = x−∇2f(x)−1∇f(x),
Methode de Newton – p. 27/41
Newton locale
Condition suffisante d’optimalité (second ordre)
∇2f(x) définie positive
Lorsque la matrice hessienne de la fonction est définie positiveen xk, une itération de la méthode de Newton locale revient àminimiser le modèle quadratique de la fonction en xk, et ainsidéfinir
xk+1 = argminx∈Rn mxk(x).
Methode de Newton – p. 28/41
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 ∇2f : Rn → Rn×n;
• Une première approximation de la solution x0 ∈ Rn;
• La précision demandée ε ∈ R, ε > 0.
Methode de Newton – p. 29/41
Algorithme : Modèle quadratique
Output
Une approximation de la solution x∗ ∈ Rn
Initialisation
k = 0
Methode de Newton – p. 30/41
Algorithme : Modèle quadratique
Iterations
1. Construire le modèle quadratique
mx(x+ d) = f(x) + dT∇f(x) +1
2dT∇2f(x)d,
2. Calculer
dk+1 = argmind mx(x+ d)
3. xk+1 = xk + dk+1,
4. k = k + 1.
Critere d’arret
Si ‖∇f(xk)‖ ≤ ε, alors x∗ = xk.
Methode de Newton – p. 31/41
Algorithme : Modèle quadratique
Attention : si ∇2f(xk) n’est pas définie positive,...
-4-20246 x1
-4-2
02
46
x2
-200
2040
f(x1, x2)
Methode de Newton – p. 32/41
Algorithme : Modèle quadratique
Attention : si ∇2f(xk) n’est pas définie positive, le modèle n’est pas
borné inférieurement
-4-20246 x1
-4-2
02
46
x2
-200
2040
mx0(x1, x2)
Dans ce cas, l’algorithme ne peut être appliqué.
Methode de Newton – p. 33/41
Modèle quadratique
f(x) = −x4 + 12x3 − 47x2 + 60x.
xk = 3
m3(x) = 7x2 − 48x+ 81
-15
-10
-5
0
5
10
15
20
25
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
x
• •f(xk)f(xk+1)
f(x)m3(x)
Methode de Newton – p. 34/41
Modèle quadratique
f(x) = −x4 + 12x3 − 47x2 + 60x.
xk = 3
m3(x) = 7x2 − 48x+ 81
-2
-1
0
1
2
3
4
5
2.6 2.8 3 3.2 3.4 3.6 3.8 4
x
•
•
f(xk)
f(xk+1)
f(x)m3(x)
Methode de Newton – p. 35/41
Modèle quadratique
f(x) = −x4 + 12x3 − 47x2 + 60x.
xk = 4
m4(x) = x2 − 4x
-15
-10
-5
0
5
10
15
20
25
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
x
•
•
f(xk)
f(xk+1)
f(x)m4(x)
Methode de Newton – p. 36/41
Modèle quadratique
f(x) = −x4 + 12x3 − 47x2 + 60x.
xk = 4
m4(x) = x2 − 4x
-4
-2
0
2
4
6
8
10
12
14
2 2.5 3 3.5 4 4.5
x
•
•
f(xk)
f(xk+1) f(x)m4(x)
Methode de Newton – p. 37/41
Modèle quadratique
f(x) = −x4 + 12x3 − 47x2 + 60x.
xk = 5
m5(x) = −17x2 + 160x− 375.
-15
-10
-5
0
5
10
15
20
25
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
x
••f(xk)
f(xk+1)
f(x)m5(x)
Methode de Newton – p. 38/41
Modèle quadratique
f(x) = −x4 + 12x3 − 47x2 + 60x.
xk = 5
m5(x) = −17x2 + 160x− 375.
-12
-10
-8
-6
-4
-2
0
2
4 4.2 4.4 4.6 4.8 5 5.2 5.4
x
•
•f(xk)
f(xk+1) f(x)m5(x)
Methode de Newton – p. 39/41
Modèle quadratique
Point de NewtonSoit f : Rn → R une fonction deux fois différentiable, et soit xk ∈ R
n.
Le point de Newton de f en xk est le point
xN = xk + dN
où dN est solution du système d’équations
∇2f(xk)dN = −∇f(xk).
Ce système est souvent appelé équations de Newton.
Methode de Newton – p. 40/41
Modèle quadratique
Point de Cauchy
Soit f : Rn → R une fonction deux fois différentiable, et soit xk ∈ Rn.
Le point de Cauchy de f en xk est le point xC qui minimise le modèle quadra-
tique de f dans la direction de la plus forte descente, c’est-à-dire
xC = xk − αC∇f(xk)
où
αC = argminα∈R
+
0
mxk(xk − α∇f(xk))
ou encore
αC =∇f(xk)
T∇f(xk)
∇f(xk)T∇2f(xk)∇f(xk).
Methode de Newton – p. 41/41