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