Table des matières Optimisation 1 Petite taxinomie des problèmes d optimisation 2 2 Optimisation sans contraintes 3 2.1 Optimisation sans contrainte unidimensionnelle........ 3 2.1.1 Une approche sans dérivées : la section en proportion du nombre d or...................... 3 2.1.2 Une approche avec dérivées : la méthode de Newton.................. 5 2.2 Optimisation sans contrainte multidimensionnelle....... 6 2.2.1 En utilisant la première dérivée seulement : Méthode du gradient................... 6 2.2.2 En utilisant les 1ère et 2ème dérivées : Méthode de Newton multidimensionnelle............... 6 2.2.3 En n utilisant que la première dérivée (bis!) : Les méthodes quasi-newton............... 7 2.3 Critères d arrêt.......................... 7 3 Optimisation avec contraintes 8 3.1 Optimisation avec contraintes : l approche lagrangienne...................... 8 3.2 Rappel des conditions d optimalité sous contraintes...... 8 4 Optimisation vs solution d équations nonlinéaires 10 5 Fonctions pré-programmées en Matlab 11 5.1 Minimisation sans contraintes.................. 11 5.2 Minimisation sous contraintes.................. 11 1
1 Petite taxinomie des problèmes d optimisation Espace des variables continu ou discret : Optimisation continue Optimisation discrète, en nombres entiers (e.g. blocs d actions), en nombres binaires (e.g. pour modéliser des contraintes logiques) Dimension de l espace des variables : fini (optimisation habituelle) infini (contrôle optimal ; analyse fonctionnelle (la variable est une fonction)) Optimisation déterministe vs stochastique Note : l optimisation dynamique est une technique, pas un type de problème. Optimisation sans contrainte, avec contraintes Optimisation (continue, dimensions finies, avec contraintes) : linéaire : quadratique : nonlinéaire : Fonction-objectifs différentiables au moins une fois nondifférentiables Optimisation locale vs globale (et convexe vs nonconvexe). À ne pas confondre avec algorithme à convergence globale, i.e. convergeant de n importe où (globalement) à une solution (quelle soit locale ou globale) 2
2 Optimisation sans contraintes L approche itérative fondamentale, qui se retrouve partout et sous toutes sortes de formes par après, est la suivante : 1. Trouver un point initial : 2. Trouver une direction de descente : 3. Trouver une longueur de pas : 4. Mettre à jour le point actuel : 5. Recommencer en 2. 2.1 Optimisation sans contrainte unidimensionnelle En anglais, linesearch. 2.1.1 Une approche sans dérivées : la section en proportion du nombre d or En anglais, Golden Section Search. Problème : trouver le minimum de f(x). Encadrement en minimisation : trois points sont nécessaires. Évaluer la fonction à un quatrième point, et remplacer de façon à toujours encadrer le minimum. Où placer le quatrième point? 3
Réponse : la convergence la plus rapide pour ce genre d approche est obtenue par le nombre d or ou section dorée : placer le nouveau point à la 0.38197 ème partie du point central vers le point extérieur le plus éloigné. Notes : 1. Si à l origine les points ne sont pas placés selon les proportions du nombre d or, il y a rapidement convergence vers ces proportions, avec les itérations. 2. Il existe d autres méthodes, e.g. Brent s parabolic interpolation, mieux mais plus compliquée, voir Press et al. ou autres. 4
2.1.2 Une approche avec dérivées : la méthode de Newton Problème : trouver le minimum de f(x), sachant que f (x) et f (x) sont disponibles. Faire une approximation quadratique de f, et choisir son minimum comme prochain point. Strictement équivalent à résoudre f (x) = 0 avec une Newton pour équation nonlinéaire. Remarques : 1. La méthode de Newton fonctionne souvent, et très vite (convergence quadratique). Mais il n y a aucune garantie qu elle fonctionne, sauf si elle est commencée assez proche d une solution (voir références) 2. Trick of the trade : Il n est souvent pas nécessaire de résoudre une recherche linéaire avec beaucoup de précision. 5
2.2 Optimisation sans contrainte multidimensionnelle 2.2.1 En utilisant la première dérivée seulement : Méthode du gradient L approche de la pente la plus raide ( steepest descent ), ou méthode du gradient, constitue le point de référence. Puisque le gradient de f(x) donne la direction d ascension la plus raide, on fera des pas du type : Avantages : très facile à implanter n exige pas de calcul du hessien Désavantage : moins rapide que la méthode de Newton (zigzags) 2.2.2 En utilisant les 1ère et 2ème dérivées : Méthode de Newton multidimensionnelle Faire une approximation quadratique de f, et choisir son minimum comme prochain point : 6
Avantages : facile à implanter très efficace. Désavantage : hessien calculé à chaque itération. 2.2.3 En n utilisant que la première dérivée (bis!) : Les méthodes quasi-newton Même sans hessien, on peut souvent obtenir une convergence rapide, en utilisant une approche de Newton avec une approximation de l inverse du hessien. L une des meilleures approximations est attribuée à Broyden-Fletcher- Goldfarb-Shanno (BFGS) : où G k+1 = G k + ( 1 + qt k G ) kq k pk p t k qk t p k p t k q k p k = x k+1 x k q k = f(x k+1 ) f(x k ) p kq t k G k + G k q k p k t q t k p k Désavantages : peu par rapport à la méthode de Newton, sauf si le hessien varie fortement d un point à l autre. 2.3 Critères d arrêt Comme dans le cas des systèmes d équations nonlinéaires, on utilise souvent plus d un critère d arrêt. Habituellement, on trouvera Un critère sur le déplacement : si x (k+1) x (k) est très petit, c est qu on ne progresse plus beaucoup. Un critère sur la progression de l objectif : si f(x (k+1) ) f(x (k) ) est très petit, on peut être presque arrivé à un point minimum ou maximum. On peut aussi mesurer la norme du gradient. Un critère bête et dur, sur le temps de calcul ou le nombre d itération. Comme toujours, rien ne vaut une bonne connaissance de la fonction sous-jacente, quand il faut décider de critères d arrêt. 7
3 Optimisation avec contraintes La littérature sur l optimisation sous contrainte est gigantesque : ce sont des problèmes à la fois importants et difficiles. Nous effleurons à peine la surface, juste assez pour résoudre analytiquement les cas simples, et comprendre un petit peu ce qui se passe quand on utilise des fonctions pré-programmées. 3.1 Optimisation avec contraintes : l approche lagrangienne L approche lagrangienne consiste fondamentalement à 1. écrire les conditions nécessaires d optimalité 2. résoudre ces équations, en utilisant au mieux la structure lagrangienne sous-jacente. L approche lagrangienne travaille donc dans l espace R n+m+p pour un problème à n variables, m contraintes d égalité et p contraintes d inégalités. Les inéquations présentes dans les conditions d optimalité sont habituellement gérées par une approche de contrainte active : grosso modo, on ne s occupe pas des contraintes inactives jusqu à ce qu on s y frappe le nez. La convergence globale des algorithmes est habituellement assurée, à une solution des conditions nécessaires d optimalité. Attention : convergence globale veut dire que de n importe quel point de départ, on saura trouver une solution, c est-à-dire un minimum local. À savoir si ce minimum local est aussi un minimum global, cela dépend du problème et non de l algorithme. C est l approche privilégiée par Matlab (et plusieurs autres) pour ses fonctions pré-programmées. 3.2 Rappel des conditions d optimalité sous contraintes Dans les copies de Luenberger que je vous ai passées, vous êtes responsables du théorème de la section 10.3 (mais pas de la preuve, ni de la condition 8
de regular point ; et des conditions de Kuhn-Tucker dans la section 10.8 (encore une fois, mais pas de la preuve, ni de la condition de regular point, ni du restant de la section 10.8) 9
4 Optimisation vs solution d équations nonlinéaires Question : Puisque l optimisation de fonctions se réduit à la résolution de systèmes d équations nonlinéaires (i.e. rendre le gradient de la fonction égal à zéro), pourquoi est-il bien plus difficile de résoudre un système nonlinéaire général h(x) = 0 que de minimiser une fonction f(x)??? Réponse : Le système d équations f(x) = 0 est très spécial! Il satisfait une condition d intégrabilité. (Par exemple, le jacobien de f(x) est symétrique) L existence implicite de f fait qu on s attaque à une classe beaucoup plus restreinte de problèmes que pour un système h(x) = 0 général. 10
5 Fonctions pré-programmées en Matlab 5.1 Minimisation sans contraintes fminsearch : Approche Nelder-Meade Simplex modifiée. N utilise pas de gradients, ni analytiques ni numériques. fminunc : Divers algorithmes sous un même nom : Version large-scale, avec gradient, hessien optionnel : approche de région de confiance, avec un preconditioned conjugate gradient (pcg) dans les sous-problèmes. Version medium-scale, gradient et hessien optionnels : approche quasi- Newton BFGS. Dans les deux cas, la recherche linéaire est faite par une approche d interpolation cubique, ou mixte quadratique-cubique, au choix. 5.2 Minimisation sous contraintes fmincon : Une approche lagrangienne (résolution des conditions nécessaires d optimalité). Les versions medium-scale et large-scale sont calquées assez fortement sur fsolve. Il existe plusieurs autres fonctions spécialisées, linprog, quadprog, des moindres-carrés, etc. 11