Méthode de Newton locale p. 1/27 Méthode de Newton locale Michel Bierlaire michel.bierlaire@epfl.ch Laboratoire Transport et Mobilité EPFL - ENAC - TRANSP-OR
Méthode de Newton locale p. 2/27 Newton locale Conditions nécessaires d optimalité f(x) = Il s agit d un système d équations non linéaires Appliquons la méthode de Newton
Méthode de Newton locale p. 3/27 Algorithme : Newton locale Objectif Trouver une approximation de la solution du système f(x) =. Input Le gradient de la fonction f : R n R n ; Le hessien de la fonction 2 f : R n R n n ; Une première approximation de la solution x R n ; La précision demandée ε R, ε >.
Méthode de Newton locale p. 4/27 Algorithme : Newton locale Output Une approximation de la solution x R n Initialisation k =
Méthode de Newton locale p. 5/27 Algorithme : Newton locale Itérations 1. Calculer d k+1 solution de 2 f(x k )d k+1 = f(x k ), 2. x k+1 = x k +d k+1, 3. k = k +1. Critère d arrêt Si f(x k ) ε, alors x = x k.
Méthode de Newton locale p. 6/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(x k ) n est pas inversible. Inconvénient supplémentaire : incapacité à distinguer minimum, maximum et point de selle
x 1 Méthode de Newton locale p. 7/27 Newton locale minf(x 1,x 2 ) = 1 2 x2 1 +x 1 cosx 2, x 2
Méthode de Newton locale p. 8/27 Newton locale minf(x 1,x 2 ) = 1 2 x2 1 +x 1 cosx 2, x 2 x 1 x x 1 x x 1 x 1 x 2 x 2 Point de départ x = (1 1) T. Convergence rapide.
Méthode de Newton locale p. 9/27 Newton locale Solution: x = ( π 2 ) f(x ) = ( ) 2 f(x ) = ( 1 1 1 ) x x -2-1.5-1 -.5.5 1 1.5 2 x 1 6 4 2-2 -4-6 x 2
Méthode de Newton locale p. 1/27 Newton locale Solution: x = ( π 2 ) f(x ) = ( ) 2 f(x ) = ( 1 1 1 ) x x -.4 -.2.2.4.6.8 1 x 1 2 1.8 1.6 1.4 1.2 1 x 2
Méthode de Newton locale p. 11/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 p. 12/27 Newton locale Modèle quadratique d une fonction Soitf : R n R une fonction deux fois différentiable. Le modèle quadratique def en x est une fonctionm x : R n R définie par m x (x) = f( x)+(x x) T f( x)+ 1 2 (x x)t 2 f( x)(x x), où f( x) est le gradient de f en x et 2 f( x) est la matrice hessienne de f en x. En posantd = x x, on obtient la formulation équivalente: m x ( x+d) = f( x)+d T f( x)+ 1 2 dt 2 f( x)d.
Méthode de Newton locale p. 13/27 Newton locale min x m x (x) = f( x)+(x x) T f( x)+ 1 2 (x x)t 2 f( x)(x x) Condition suffisante d optimalité (premier ordre) m x ( x+d) = f( x)+ 2 f( x)d = c est-à-dire ou encore d = 2 f( x) 1 f( x), x = x 2 f( x) 1 f( x),
Méthode de Newton locale p. 14/27 Newton locale Condition suffisante d optimalité (second ordre) 2 f( x) définie positive Lorsque la matrice hessienne de la fonction est définie positive en x k, une itération de la méthode de Newton locale revient à minimiser le modèle quadratique de la fonction en x k, et ainsi définir x k+1 = argmin x R n m xk (x).
Méthode de Newton locale p. 15/27 Algorithme : Modèle quadratique Objectif Trouver une approximation de la solution du système f(x) =. (1) Input Le gradient de la fonction f : R n R n ; Le hessien de la fonction 2 f : R n R n n ; Une première approximation de la solution x R n ; La précision demandée ε R, ε >.
Méthode de Newton locale p. 16/27 Algorithme : Modèle quadratique Output Une approximation de la solution x R n Initialisation k =
Méthode de Newton locale p. 17/27 Algorithme : Modèle quadratique Itérations 1. Construire le modèle quadratique m x ( x+d) = f( x)+d T f( x)+ 1 2 dt 2 f( x)d, 2. Calculer 3. x k+1 = x k +d k+1, 4. k = k +1. Critère d arrêt Si f(x k ) ε, alors x = x k. d k+1 = argmin d m x ( x+d)
Méthode de Newton locale p. 18/27 Algorithme : Modèle quadratique Attention : si 2 f(x k ) n est pas définie positive,... f(x 1,x 2 ) 4 2-2 x 2-4 -2 2 4 6 6 4 2 x 1-2 -4
Méthode de Newton locale p. 19/27 Algorithme : Modèle quadratique Attention : si 2 f(x k ) n est pas définie positive, le modèle n est pas borné inférieurement 4 2 x (x 1,x 2 ) -2 x 2-4 -2 2 4 6 4 2 6 x 1 Dans ce cas, l algorithme ne peut être appliqué. -2-4
Modèle quadratique f(x) = x 4 +12x 3 47x 2 +6x. x k = 3 25 2 15 1 5-5 -1-15 m 3 (x) = 7x 2 48x+81 f(x k ) f(xk+1 ) 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 x f(x) m 3 (x) Méthode de Newton locale p. 2/27
Modèle quadratique f(x) = x 4 +12x 3 47x 2 +6x. x k = 3 5 4 3 2 1-1 -2 m 3 (x) = 7x 2 48x+81 f(x k ) 2.6 2.8 3 3.2 3.4 3.6 3.8 4 x f(x k+1 ) f(x) m 3 (x) Méthode de Newton locale p. 21/27
Modèle quadratique f(x) = x 4 +12x 3 47x 2 +6x. x k = 4 25 2 15 1 5-5 -1-15 f(x k+1 ) m 4 (x) = x 2 4x 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 x f(x k ) f(x) m 4 (x) Méthode de Newton locale p. 22/27
Modèle quadratique f(x) = x 4 +12x 3 47x 2 +6x. x k = 4 14 12 1 8 6 4 2-2 -4 f(x k+1 ) m 4 (x) = x 2 4x 2 2.5 3 3.5 4 4.5 x f(x) m 4 (x) f(x k ) Méthode de Newton locale p. 23/27
Modèle quadratique f(x) = x 4 +12x 3 47x 2 +6x. x k = 5 25 2 15 1 5-5 -1-15 m 5 (x) = 17x 2 +16x 375. 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 x f(x) m 5 (x) f(x k+1 ) f(x k ) Méthode de Newton locale p. 24/27
Modèle quadratique f(x) = x 4 +12x 3 47x 2 +6x. x k = 5 2-2 -4-6 -8-1 -12 m 5 (x) = 17x 2 +16x 375. f(x k+1 ) 4 4.2 4.4 4.6 4.8 5 5.2 5.4 x f(x) f(x k ) m 5 (x) Méthode de Newton locale p. 25/27
Méthode de Newton locale p. 26/27 Modèle quadratique Point de Newton Soitf : R n R une fonction deux fois différentiable, et soitx k R n. Le point de Newton def enx k est le point x N = x k +d N oùd N est solution du système d équations 2 f(x k )d N = f(x k ). Ce système est souvent appelé équations de Newton.
Méthode de Newton locale p. 27/27 Modèle quadratique Point de Cauchy Soitf : R n R une fonction deux fois différentiable, et soitx k R n. Le point de Cauchy def enx k est le pointx C qui minimise le modèle quadratique de f dans la direction de la plus forte descente, c est-à-dire x C = x k α C f(x k ) où ou encore α C = argmin α R + α C = m xk (x k α f(x k )) f(x k ) T f(x k ) f(x k ) T 2 f(x k ) f(x k ).