Méthodes numériques d optimisation Marie Postel 1 Laboratoire Jacques-Louis Lions Université Pierre et Marie Curie, Paris 6 Version septembre 015 1. marie.postel@upmc.fr, http ://www.ljll.math.upmc.fr/postel 1
Table des matières Bibliographie 3 1 Introduction 4 1.1 Définition du problème d optimisation.................................. 4 1. Rappels de calcul différentiel....................................... 5 1.3 Exercices................................................. 8 Minimisation sans contraintes 10.1 Conditions d optimalité dans le cas sans contraintes........................... 10. Résolution de systèmes d équations non linéaires............................ 11.3 Méthodes de descente........................................... 14.4 Algorithmes de minimisation sans dérivées............................... 5.5 Exercices sur l optimisation sans contraintes............................... 7 3 Optimisation avec contraintes 3 3.1 Conditions d optimalité pour l optimisation avec contraintes d égalité................. 33 3. Conditions d optimalité pour l optimisation avec contraintes d inégalité................ 35 3.3 Algorithmes pour l optimisation avec contraintes............................ 37 3.4 Exercices sur l optimisation avec contraintes............................... 4 4 Introduction à l optimisation stochastique 47 4.1 Optimisation déterministe ou stochastique................................ 47 4. Méthode du recuit simulé......................................... 47 4.3 Algorithmes évolutionnaires et méthode CMAES............................ 49 4.4 Les algorithmes génétiques........................................ 50 A Prise en main de Matlab A-1 A.1 Le système Matlab...A-1 A. Les variables............................................... A-1 A.3 Graphisme................................................. A-4 A.4 Fonctions et macros............................................ A-6 A.5 Structures de contrôle........................................... A-9 A.6 Types de données complexes....................................... A-11 B Exemples d implémentation et outils Matlab B-1 B.1 Méthodes de recherche de racines.................................... B-1 B. Méthodes de recherche du minimum en dimension 1.......................... 4 B.3 Boite à outils optimisation de Matlab... 4
Références [1] Bonnans, J.F., Gilbert, J. C., Lemaréchal, C. et Sagastizábal. C. (006) Numerical optimization, theoretical and practical aspects. Springer Verlag. En français chez Springer : Optimisation numérique, Aspects théoriques et pratiques [] Delbos, F. et Gilbert, J. Ch. (005) Global linear convergence of an augmented Lagrangian algorithm for solving convex quadratic optimization problems. Journal of Convex Analysis, 1, 45D69. 5, 6, 31 [3] Fadda, A. et Schoenauer, M. (1996) Evolutionary chromatographic law identification by recurrent neural nets. In L. J. Fogel, P. J. Angeline et T. Bäck, Editeurs, Evolutionary Programming V - Proceedings of the Fifth Annual Conference on Evolutionary Programming, pages 19 35. MIT Press. [4] Hansen, N. et Ostermeier, A. (001) Completely derandomized self-adaptation in evolution strategies. Evolutionary Computation, 9() : 159 195. [5] Site web du logiciel CMAES. https://www.lri.fr/hansen/ [6] Kirkpatrick, S., Gelatt, C. D. et Vecchi, M. P. (1983) Optimization by Simulated Annealing. Science. New Series 0 (4598) : 671 [7] Lelong-Ferrand, J. et Arnaudies, J.-M. (1977) Cours de mathématiques, Tome, Analyse, Dunod Université [8] Nocedal, J. et Wright, S. J. (006) Numerical Optimization, Second Edition, Springer [9] Privat. Y. Cours d Optimisation : aspects théoriques et algorithmes. https://www.ljll.math.upmc. fr/privat/ [10] Schoenauer, M. Optimisation stochastique. TAO, Inria Futurs. http://www.lri.fr/marc/ 3
1 Introduction 1.1 Définition du problème d optimisation Dans le cadre de ce cours on étudie les problèmes d optimisation continue qui consistent à trouver les extrema d une fonction f(x) définie sur K V à valeur dans R, où V est un espace vectoriel normé. On s intéresse à la détermination de 8 inf f(x) >< s.c. c (P ) E x)=0 s.c. c >: I (x) apple 0 x R n avec f : R n! R, c E : R n! R m, c I : R n! R p, f c régulières. Les contraintes d égalité ou d inégalité s exprimeront parfois également sous la forme d une contrainte d appartenance à une partie convexe K R n. Dans le cas où le minimum de f est atteint on utlisera la notation Les applications pratiques sont diverses min f(x). xk Etats d équilibre de systèmes physiques : la propagation d ondes (lumineuses ou acoustiques) peut se modéliser par des parcours minimisant le temps de trajet ; la structure d une protéine est celle qui minimise l énergie potentielle intramoléculaire ; le problème de la chaînette décrit la courbe d équilibre d une ligne (chaîne ou câble) suspendue entre deux points, homogène, inextensible, sans rigidité en flexion, soumise à son seul poids. Etats d équilibre économiques : du point de vue du consommateur (équilibre entre la consommation et le travail), du point de vue du producteur (optimisation d un plan de production en fonction des prix de revient et de vente des biens produits) Contrôle : la fonction f mesure les performances ou le coût d un système physique, le vecteur x mesure les paramètres du système qu on peut faire varier. Exemple : f consommation d une voiture, x forme du véhicule, puissance du moteur, vitesse. Identification de paramètres : la fonction f mesure la différence entre des observations dépendant de paramètres inconnus et les mêmes quantités calculées à partir d un modèle. Exemple : échographie. f est la différence entre les signaux sonores mesurés et ceux renvoyés par un obstacle connu. x module de compressibilité acoustique du milieu observé. Dans tous les cas, il est nécessaire de relier les paramètres à la fonction à minimiser par l intermédiaire d un modèle. 1.1.1 Définition du minimum Appelons Y = {x K, c E (x) =0,c I (x) apple 0} (1.1) l ensemble des vecteurs vérifiant toutes les contraintes. On dira que x? Y réalise un minimum local s il existe ">0 tel que f(x? ) apple f(x) pour tout x Y t.q. x x? apple ".. par opposition à l optimisation combinatoire ou discrète où la fonction à minimiser est définie sur un ensemble discret, par exemple N n 4
un minimum local strict ou isolé s il existe ">0 tel que un minimum global si un minimum global strict ou isolé si f(x? ) <f(x) pour tout x Y t.q. x 6= x? et x x? apple ". f(x? ) apple f(x) pour tout x Y. f(x? ) <f(x) pour tout x Y t.q. x 6= x?. On dit parfois que x? est un minimum de f(x), mais c est un abus de langage. Le terme exact, si x? réalise un minimum de f, est qu il est un minimiseur de f, qu on note x? = argmin f(x) xy Dans le cas où la fonction objectif présente un minimum de régularité, on peut énoncer le résultat suivant Théorème 1.1. Soit une fonction f continue sur un sous ensemble C fermé de R n. Si l une des hypothèses suivantes est vérifiée C est borné, C est non borné et f coercive (lim x!1 f(x) =+1), alors f admet un minimum sur C 1.1. Deux classes de méthodes Méthodes déterministes : utilisation des propriétés de régularité de la fonction objectif, méthodes de descente avantages : rapidité inconvénient : possibilité d être piégé près d un minimum local Méthodes stochastiques : exploration aléatoire du domaine de recherche, pas besoin de régularité avantages : robustesse, minimum global inconvénient : lenteur Le chapitre présente les méthodes déterministes pour l optimisation sans contraintes. Les méthodes d optimisation avec contraintes sont présentées au chapitre 3.1 pour les contraintes d égalité et au chapitre 3.3 pour les contraintes d inégalité. Enfin le chapitre 4 aborde les méthodes d optimisation stochastiques. 1. Rappels de calcul différentiel Les méthodes d optimisation utilisant les propriétés de régularité des fonctions qu on cherche à minimiser, nous commençons par des rappels de ces propriétés. 1..1 Différentiabilité au premier ordre Définition 1.1. Soit f une application de R n dans R n0 On dit que f est différentiable au sens de Fréchet en x s il existe une application linéaire L continue de R n dans R n0 telle que pour tout h R n f(x + h) =f(x)+l(h)+o( h ), et on note Df(x) =L la différentielle de f au point x. 5
Définition 1.. On dit que f est différentiable au sens de Gâteaux en x si pour tout h R n, la fonction g(t) = f(x + th) est dérivable. On note Df(x) l application différentielle de f en x qui s applique à h R n Df(x)h = df (x + th). dt t=0 Quelques définitions et propriétés s appliquant aux fonctions différentiables Si une fonction est différentiable (au sens de Fréchet) alors sa différentielle au sens de Gâteaux existe (la réciproque n étant pas toujours vraie). Si V est un espace de Hibert, si f est différentiable, le théorème de représentation de Riez conduit à la définition du gradient de f : rf(x) V Dérivée directionnelle de f dans la direction d R n hrf(x),yi = Df(x)y. lim!0 f(x + d) f(x) = hrf(x),di. Direction de descente d R n hrf(x),di < 0. @f(x) Si V = R n le gradient est le vecteur des dérivée partielles @x j. j=1,...n On dit qu une fonction f : U R n! R est de classe C k si toutes ses dérivées partielles jusqu à l ordre k existent et sont continues sur U Et enfin rappelons les formules de Taylor Théorème 1.. Formules de Taylor au premier ordre : Soit U un ouvert d un espace vectoriel E et f : U! F une application différentiable de U dans un espace vectoriel F. S il existe k 0 tel que rf(x) apple k pour tout x U alors quels que soient x, y U tels que le segment [x, y] U on a f(y) f(x) apple k y x. (1.) Soit f : R n! R différentiable sur S centrée en x. Pour tout d R n t.q. x + d S il existe [0, 1] t. q. f(x + d) =f(x)+hrf(x + d),di. (1.3) Si de plus rf(x) est localement lipchitzienne, notons d R n t.q. x + d S (x) sa constante de Lipschitz locale, on a pour tout f(x + d) f(x) hrf(x),di apple (x) d. (1.4) 1.. Différentiabilité au second ordre Définition 1.3. Soit une fonction f différentiable sur V. f est deux fois différentiable en x 0 s il existe une application linéaire L(x 0 ):V! V 0 telle que Df(x 0 + h) =Df(x 0 )+L(x 0 )h + o( h V ) V 0, où V 0 désigne le dual topologique de V. La différentielle seconde de f, notée D f(x 0 ), est l application L(x 0 ): V! V 0 6
Définition 1.4. Soit une fonction f deux fois différentiable sur R n. Le gradient de f est une fonction de R n dans R n. On peut calculer ses dérivées partielles et former ainsi la matrice hessienne ou le hessien a de f, de R n dans R n n. @ f(x) Hf(x) = @x i @x j. i,j=1,...n a. En français, hessien ou hessienne ne prend pas de majuscule ni comme adjectif ni comme nom, contrairement à l anglais Théorème 1.3 (de Schwarz). Si la fonction f est deux fois différentiable, sa matrice hessienne est symétrique. Théorème 1.4 (Formule de Taylor au second ordre). Soit f : R n x. pour tout d R n t.q. x + d S, il existe [0, 1] t. q.! R deux fois différentiable sur S centrée en f(x + d) =f(x)+hrf(x),di + 1 hhf(x + d)d, di. (1.5) on suppose en plus que Hf(x) est lipschitzienne, notons (x) sa constante de Lipschitz locale, on a alors pour tout x f(x + d) f(x) hrf(x),di 1 hhf(x)d, di apple 1 (x) d 3. (1.6) On rappelle enfin le résultat général ([7]) Théorème 1.5 (Formule de Taylor à l ordre p). Soit f : E! F, p fois différentiable et telle que f (p) (x) apple k sur S E centrée en x. Alors pour tout d tel que x + d S on a f(x + d) f(x) p 1 X q=1 f (q) (x)(d,..., d) apple k 1 {z } p! d p. q fois 1..3 Cas des fonctions convexes Définition 1.5. Un ensemble C est dit convexe si 8x, y C8 [0, 1], x+(1 )y C. Une fonction f : C! R est convexe ssi pour tout x, y C, f( x +(1 )y) apple f(x)+(1 )f(y), 8 [0, 1]. strictement convexe ssi pour tout x, y C, x 6= y f( x +(1 )y) < f(x)+(1 )f(y), 8 ]0, 1[. 7
Proposition 1.1. Soit f une fonction définie sur un convexe C R n différentiable à valeurs réelles. La fonction f est convexe si et seulement si 8(x, y) C, hrf(x),y xi applef(y) f(x). strictement convexe si et seulement si 8(x, y) C,x6= y, hrf(x),y xi <f(y) f(x). La propriété de convexité forte (ou ellipticité) permettra d obtenir par la suite des résultats de convergence de certains algorithmes Définition 1.6. Soit K V un convexe. Une fonction f : K! R est dite fortement convexe ou uniformément convexe ou -convexe ou -elliptique s il existe >0 tel que 8(x, y) K, 8 [0, 1], f( x +(1 )y) apple f(x)+(1 )f(y) (1 ) x y. Suivant la régularité de la fonction f on a des caractérisations de sa convexité forte grace au théorème suivant Théorème 1.6. 1. Si f : V! R est continue, les propriétés suivantes sont équivalentes (a) f est -elliptique x + y (b) Pour tout (x, y) V, f apple f(x)+f(y) x y 8. Si f : V! R est différentiable, les propriétés suivantes sont équivalentes (a) f est -elliptique (b) Pour tout (x, y) V, f(y) f(x)+hrf(x),y xi + x y (c) Pour tout (x, y) V, hrf(y) rf(x),y xi x y 3. Si f : V! R est deux fois différentiable, les propriétés suivantes sont équivalentes (a) f est -elliptique (b) Pour tout (x, h) V, hh f(x)h, hi h 1.3 Exercices Exercice 1.1. Soit la fonction de R 3 dans R f(x) =sinx 1 sin x sin x 3. 1. Trouver l(x) linéaire et c>0 tels que. Trouver q(x) quadratique et c>0 tels kf(x) l(x)k applec x 8x V(0) kf(x) q(x)k applec x 3 8x V(0) Exercice 1.. Calculer le gradient et le hessien des fonctions suivantes en 0 et dire si la matrice hessienne est définie positive en ce point. 1. f : R 3! R, f(x) =sin(x 1 )e x (1 + x 3 ). f : R 3! R, f(x) =e x 1 (1 x )tg x 3 + 4. Exercice 1.3. Calculer le gradient et le hessien des fonctions suivantes Fonction linéaire ou affine Une fonction f : R n! R est dite affine si elle s écrit f(x) =hc, xi + d ; où c R n est un vecteur de constantes et d R. Une fonction f : R n! R m est affine si chacune de ses composantes f i : R n! R,i= 1...m, est affine. Dans ce cas, elle peut s écrire f(x) =Ax + b où A R n m est une matrice et b R m un vecteur. 8
Fonction quadratique Une fonction f : R n! R sera dite quadratique si elle peut s écrire f(x) = 1 hx, Qxi + hb, xi + c où Q est une matrice symétrique n n, b R n et c R. Montrer de plus que si la matrice Q définie positive alors f est strictement convexe. Exercice 1.4. (d après [7]) Pour chacun des choix suivant de la norme N sur R n déterminer l ensemble des points sur lequel N est différentiable et calculer sa différentielle. N est la norme euclidienne nx N(x) = x i i=1 N(x) =sup x i i=1 Exercice 1.5. (d après [7]) Soit f la fonction numérique définie sur R n par f(x, y) = (x + y) p x + y sin f(0, 0) = 0 1 p si (x, y) 6= (0, 0) x + y La fonction f est-elle continue à l origine? Y admet-elle des dérivées partielles? Est-elle différentiable en ce point? Exercice 1.6. (d après [7]) Soit f la fonction numérique définie sur R par f(x, y) = x 3 y 3 x si (x, y) 6= (0, 0) + y f(0, 0) = 0 Montrer que f est de classe C 1. Admet-elle une différentielle à l origine? Exercice 1.7. Soit Q = {(x, y) R, 0 apple x apple, 0 apple y apple }, et soit K la fonction numérique définie sur Q par x( y) si x apple y K(x, y) = y( x) si y<x 1. Montrer que K est différentiable en tout point (x 0,y 0 ) intérieur de Q tel que x 0 6= y 0 et calculer sa différentielle. Montrer rigoureusement d autre part que K n est pas différentiable en tout point (x 0,x 0 ) quel que soit x 0 ]0, [ (on pourra raisonner par l absurde). 3. Montrer que la fonction K atteint sa borne supérieure en un point de Q que l on calculera. Exercice 1.8. Soit E l espace vectoriel constitué par les fonctions bornées f : R! R admettant des dérivées premières et secondes bornées. On munit E de la norme f =sup f(x). xr 1. Pour chaque E montrer que l application : E! E, f! fo est linéaire et continue.. Pour chaque E montrer que l application : E! E, f! of est différentiable et calculer sa différentielle. Exercice 1.9. [Contre-exemple de Peano] Soit la fonction f : R! R définie par ( xy(x y ) si (x, y) 6= (0, 0), f(x, y) =f(x, y) = x +y 0 sinon. 1. Calculer les dérivées premières de f pour (x, 0), x 6= 0et (0,y), y 6= 0. Calculer la matrice hessienne en (0, 0) 3. Calculer les dérivées secondes de f pour (x, y) 6= (0, 0) 4. f est-elle différentiable? de classe C 1? deux fois différentiable? de classe C? 9