Aide Mémoire d’optimisation sans contraintes 1 Introduction à l’optimisation (P) Un problème d’optimisation : x f C min f (x) s.c. x ∈ C variable de décision fonction objectif ou critère ensemble admissible : C = {x ∈ Rn : h(x) = 0; g(x) 6 0} où h est définie de Rn dans Rm et g de Rn dans Rp ⇔ ⇔ ⇔ ⇔ ⇔ Optimisation discrète (ou combinatoire) Optimisation continue Optimisation linéaire Optimisation quadratique Optimisation convexe C ⊂ Zn C continu f , h, g affines f quadratique et h, g affines f et g convexes et h affines Dans ce cours f , h, g sont différentiables. 1.1 les minimums x∗ ∈ C minimum global de (P) ⇔ ∗ x ∈ C minimum local de (P) ⇔ minimum strict : ∀x ∈ C, f (x∗ ) 6 f (x) ∃r > 0, ∀x ∈ B(x∗ , r) ∩ C, 6 → < (xn )n ⊂ C suite minimisante de (P) ⇔ lim f (xn ) = inf f (x) n→+∞ f coercive sur C (infinie à l’infini) ⇐⇒ x∈C lim kxk→+∞ (existe tjs) f (x) = +∞ x∈C 1.2 Théorème d’existence d’un minimum C fermé f continue =⇒ (P) admet au moins un minimum f coercive sur C 1.3 Théorème d’unicité d’un minimum (P) convexe ⇐⇒ C convexe f convexe surC C convexe f strictement convexe sur C f (x∗ ) 6 f (x) =⇒ tout minimum local est global =⇒ il existe au plus un minimum 1 2 Condition nécessaire du premier ordre : ∇f (x) = 0 Principe de Fermat : f : Rn → R différentiable en x∗ x∗ un minimum local de f ∇f (x) = 0 3 ∇f (x∗ ) = 0 =⇒ ⇐⇒ x point critique ou point stationnaire ⇐⇒ x minimum local ou maximum local ou point selle Condition nécessaire du second ordre :∇2 f (x) 0 f : Rn → R deux fois différentiable en x∗ x∗ un minimum local de f 4 =⇒ ∇2 f (x∗ ) 0 Conditions suffisantes du second ordre f : Rn → R deux fois différentiable en x∗ ∈ Rn ∇f (x∗ ) = 0 =⇒ ? x∗ minimum local ou point selle ??? ∇2 f (x∗ )0 ∇f (x∗ ) = 0 =⇒ x∗ minimum local strict de f ∇2 f (x∗ )0 ∇f (x∗ ) = 0 =⇒ x∗ minimum global de f ∀x ∈ Rn , ∇2 f (x)0 ∇f (x∗ ) = 0 =⇒ x∗ unique minimum global de f ∀x ∈ Rn , ∇2 f (x)0 5 Algorithmes de recherche linéaire • Initialisation : x0 donné • Etape courante : xk connu 1. Déterminer une direction de recherche dk 2. Déterminer un pas de rechercher αk 3. xk+1 = xk + αk dk • Test d’arrêt d direction de descente =⇒ ∀ β < 1, ∃ η > 0, ∀α ∈]0, η[, f (x+αd) 6 f (x)+αβh∇f (x), di 2 3 h∇f (xk ), dk i < 0 Algorithme de descente dk = −∇f (xk ) + βk−1 dk−1 avec Algorithme des gradients conjugués Méthode de Gauss-Newton problèmes de moindres carrés f (x) = 21 kg(x)k22 BFGS’ (Broyden, Fletcher, Goldfarb, Shanno) BFGS recherche linéaire − Hk sk sT k Hk sT k Hk sk k k dk = −Wk ∇f (xk ) s yT y sT = I − ykT skk Wk I − ykT skk + Hk+1 = Hk + T yk yk Ts yk k sk sT k Ts yk k 1 pas de Wolfe pas de Wolfe Table 1: Tableau récapitulatif des algorithmes de recherche linéaire ∇g(xk )∇g(xk )T dk = −∇g(xk )g(xk ) Wk+1 Dk = pas de Wolfe Dk dk = −∇f (xk ) avec ∇2 f (xk ) si ∇2 f (xk ) 0 2 ∇ f (xk ) + µI sinon Hk dk = −∇f (xk ) Méthode de Newton avec 1 mind∈Rn f (xk ) + ∇f (xk )T d + dTk ∇2 f (xk )dk modélisation quadratique pas de Wolfe 1 Méthode de Newton locale Algorithme Fletcher-Reeves (problèmes non linéaires quelconques) − hb, xi + c h∇f (xk ), dk i hdk , Qdk i = pas optimal αk = − α>0 solution de min f (xk + αdk ) α>0 solution de min f (xk + αdk ) pas de recherche αk dk = −∇f (xk ) + βk−1 dk−1 avec h∇f (xk ), ∇f (xk )i βk−1 = h∇f (xk−1 ), ∇f (xk−1 )i ∇2 f (xk )dk = −∇f (xk ) f (x) = 1 2 hQx, xi βk−1 = h∇f (xk ), Qdk−1 i hdk−1 , Qdk−1 i directions sont mutuellement conjuguées dk = −∇f (xk ) Algorithme de gradient à pas optimal pour les problèmes quadratiques dk = −∇f (xk ) plus forte descente locale Algorithme de gradient Algorithme à pas optimal direction de recherche dk Algorithmes = résoudre un système linéaire Inversion des Hk Inversion des hessiennes (long) Nécessite le calcul des hessiennes hessienne doit être inversible minimum, maximum ou point selle ? nbre de valeurs propres distinctes de Q converge en au plus p itérations deux directions de descente successives sont orthogonales inconvénients / convergence 5.1 Problème quadratique (PQ) min f (x) = 12 hQx, xi − hb, xi s.c. x ∈ Rn avec Q ∈ Mn (R) symétrique définie positive et b ∈ Rn . ∇2 f (x) = Q =⇒ ∇f (x) = −(Qx − b) d1 , d2 sont Q-conjuguées ⇐⇒ hd1 , Qd2 i = 0 5.2 Pas de recherche ni trop court, ni trop long : pas de Wolf αopt le pas optimal : solution de min f (xk + αdk ) =⇒ long à calculer α>0 Conditions de Wolf (dk une direction de descente de f en xk et 0 < β1 < β2 < 1) Condition de diminution suffisante f (xk + αk dk ) 6 f (xk ) + β1 αk h∇f (xk ), dk i Condition de progrès suffisant h∇f (xk + αk dk ), dk i > β2 h∇f (xk ), dk i dk = direction de descente 0 < β1 < β2 < 1, λ > 1 Algorithme de Fletcher-Lemaréchal =⇒ pas de Wolf f minorée dans la direction dk =⇒ algorithme de Fletcher-Lemaréchal converge 6 Algorithme de région de confiance méthodes de recherche linéaire : recherche suivant un direction donnée méthode de région de confiance : recherche sur toutes les directions mais remplacement de f par un modèle mk plus simple ¯ ∆0 , x0 donnés, 0 < η < 1 . • Initialisation : ∆, 4 • Etape courante : xk et ∆k connus. (a) Résoudre le sous-problème de région de confiance : problème approché mk (x) ≈ f (x) dans la région de confiance Rk = {xk + d | kdk 6 ∆k }, min mk (x) = min mk (xk + d) x∈Rk kdk6∆ soit x̃k+1 = xk + dk sa solution. (b) Calculer le ratio de réduction ρk ρk = f (xk ) − f (x̃k+1 ) réduction réelle = réduction prédite par le modèle mk (xk ) − mk (x̃k+1 ) (c) Si ρk > η alors xk+1 = xk + dk modèle acceptable : point accepté sinon xk+1 = xk point rejeté (d) Mise à jour du rayon ∆k ∗ Si ρk < 41 alors ∆k+1 = 41 kdk k : modèle mauvais, & rayon ∗ Si 14 6 ρk 6 43 alors ∆k+1 = ∆k : modèle moyen, on continue ∗ Si ρk > 43 : modèle très bon ¯ sinon ∆k+1 = ∆k . Si kdk k = ∆k alors ∆k+1 = min(2∆k , ∆) • Test d’arrêt. 4