41
Méthode de Newton Michel Bierlaire [email protected] Laboratoire Transport et Mobilit ´ e EPFL - ENAC - TRANSP-OR M ´ ethode de Newton – p. 1/41

Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire [email protected] Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

Méthode de Newton

Michel Bierlaire

[email protected]

Laboratoire Transport et Mobilite

EPFL - ENAC - TRANSP-OR

Methode de Newton – p. 1/41

Page 2: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 3: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 4: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 5: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 6: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 7: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 8: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 9: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 10: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 11: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 12: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 13: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 14: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 15: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 16: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 17: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 18: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

Algorithme : Newton locale

Output

Une approximation de la solution x∗ ∈ Rn

Initialisation

k = 0

Methode de Newton – p. 18/41

Page 19: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 20: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 21: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

Newton locale

min f(x1, x2) =1

2x21 + x1 cosx2,

x1

x2

Methode de Newton – p. 21/41

Page 22: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 23: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 24: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 25: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 26: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 27: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 28: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 29: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 30: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

Algorithme : Modèle quadratique

Output

Une approximation de la solution x∗ ∈ Rn

Initialisation

k = 0

Methode de Newton – p. 30/41

Page 31: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 32: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 33: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 34: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 35: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 36: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 37: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 38: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 39: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 40: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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

Page 41: Méthode de Newton - TRANSP-OR · Méthode de Newton Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilite´ EPFL - ENAC - TRANSP-OR Methode de Newton – p

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)

α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