logo

Optimisation (mathématiques)


Optimisation (mathématiques) : encyclopédie mathématiques

wikipediaCet article est issu de l'encyclopédie libre Wikipedia.
Vous pouvez consulter l'article ici ainsi que son historique.
Les textes et les images sont disponibles sous les termes de la Licence de documentation libre GNU.

L'optimisation est une branche des mathématiques, cherchant à analyser et à résoudre analytiquement ou numériquement les problèmes qui consistent à déterminer le meilleur élément d'un ensemble, au sens d'un critère quantitatif donné. Ce mot vient du latin optimum qui signifie le meilleur.

L’optimisation joue un rôle important en recherche opérationnelle (donc en économie et microéconomie), dans les mathématiques appliquées (fondamentales pour l'industrie et l'ingénierie), en analyse et en analyse numérique, en statistique pour l’estimation du maximum de vraisemblance d’une distribution, pour la recherche de stratégies dans le cadre de la théorie des jeux, ou encore en théorie du contrôle et de la commande.

Aujourd'hui, tous les systèmes susceptibles d’être décrits par un modèle mathématique sont optimisés. La qualité des résultats et des prédictions dépend de la pertinence du modèle, de l’efficacité de l’algorithme et des moyens pour le traitement numérique.

Sommaire

[modifier] Domaines d’application

Ils sont extrĂŞmement variĂ©s : optimisation d’un trajet, de la forme d’un objet, d’un prix de vente, d’une rĂ©action chimique, du contrĂ´le aĂ©rien, du rendement d’un appareil, du fonctionnement d'un moteur, de la gestion des lignes ferroviaires, du choix des investissements Ă©conomiques, de la construction d’un navire, etc. L’optimisation de ces systèmes permet de trouver une configuration idĂ©ale, d’obtenir un gain d’effort, de temps, d’argent, d’énergie, de matière première, ou encore de satisfaction.

Très loin de constituer une liste exhaustive, ces quelques exemples attestent de la variété des formulations et préfigure la diversité des outils mathématiques susceptibles de résoudre ces problèmes.

[modifier] Définition

Plus formellement, l'optimisation est l’étude des problèmes qui sont de la forme :

Étant donnĂ© : une fonction f : A \rightarrow \mathbb R d’un ensemble \displaystyle A dans l'ensemble des nombre rĂ©els
Rechercher : un Ă©lĂ©ment \displaystyle x_0 de \displaystyle A tel que f(x_0) \geqslant f(x) pour tous les \displaystyle x en \displaystyle A (« maximisation Â») ou tel que f(x_0) \leqslant f(x) pour tous les \displaystyle x en \displaystyle A (« minimisation Â»).

Les éléments de \displaystyle A sont appelés les solutions admissibles, la fonction \displaystyle f est la fonction objectif et \displaystyle x_0 est la (une) solution optimale.

Puisque la minimisation de \displaystyle f est équivalente à la maximisation de \displaystyle -f, une méthode pour trouver le minimum (ou le maximum) suffit à résoudre le problème d'optimisation.

Le plus souvent, \displaystyle A est un sous-ensemble de l’espace euclidien \mathbb R^n. Lorsqu’il est constitué des vecteurs dont les coordonnées satisfont un certain nombre de contraintes (de type égalité ou inégalité). On parle d'optimisation combinatoire lorsque \displaystyle A est un sous-ensemble de \mathbb N^n ou de \mathbb N^p\times \mathbb R^q.

Extrema locaux : un maximum local \displaystyle x^* est dĂ©fini comme un point de \displaystyle A pour lequel il existe un voisinage \displaystyle V de \displaystyle x^* tel que pour tout x\in V \cap A, f(x) \leqslant f(x^*) ; dans ce voisinage de \displaystyle x^*, les valeurs de la fonction dominent la valeur en ce point. Lorsque \displaystyle A est un sous-ensemble de \mathbb R^n, ou plus gĂ©nĂ©ralement d’un espace vectoriel normĂ©, la dĂ©finition est Ă©quivalente Ă  l’existence d’un \displaystyle \delta > 0 tel que, pour tout x\in A satisfaisant ||x - x^*|| \leqslant \delta, on a f(x) \leqslant f(x^*). Un minimum local est dĂ©fini semblablement.

Il est en général facile de déterminer numériquement des maxima locaux (ils peuvent être nombreux). Pour vérifier que la solution trouvée est un maximum global, il est parfois possible de recourir à des connaissances additionnelles sur le problème. Selon la nature de A et/ou de la fonction f, divers théorèmes (principe du maximum) assurent des propriétés particulières de la solution optimale qui simplifient sa recherche.

[modifier] Notation

Les problèmes d’optimisation sont souvent exprimĂ©s avec une notation spĂ©ciale. Voici quelques exemples :

\min_{x \in \mathbb{R}} x^2 + 1

On cherche la valeur minimale pour l’expression \displaystyle x^2 + 1, où \displaystyle x s’étend sur les nombres réels \mathbb R. La valeur minimale dans ce cas est 1, s’occasionnant à \displaystyle x = 0.

\max_{x \in \mathbb{R}} 2x

On cherche la valeur maximale pour l’expression \displaystyle 2x, oĂą x s’étend sur les rĂ©els. Dans ce cas, il n’y a pas de tel maximum puisque l’expression n’est pas bornĂ©e, donc la rĂ©ponse est « l’infini Â» ou « indĂ©fini Â».

\arg \min_{x \in ]-\infty, -1]} x^2 + 1

On cherche la ou les valeurs de \displaystyle x dans l'intervalle ]-\infty, -1] qui minimise l'expression \displaystyle x^2 + 1 (la valeur minimale véritable de cette expression n'est pas importante). Dans ce cas, la réponse est \displaystyle x = -1.

\arg \max_{x \in [-5, 5], y \in \mathbb{R}} x \cos(y)

On cherche la ou les paires \displaystyle (x, y) qui maximisent la valeur de l'expression \displaystyle x \cos(y), avec la contrainte ajoutée que la valeur absolue de \displaystyle x ne peut excéder 5 (à nouveau, la valeur maximale véritable de l'expression n'est pas importante). Dans ce cas, les solutions sont les paires de la forme \displaystyle (5, 2k\pi) et \displaystyle (-5, (2k + 1)\pi), où \displaystyle k s'étend sur tous les entiers.

[modifier] Quelques classes de problèmes

  • L'optimisation linĂ©aire Ă©tudie le cas oĂą la fonction objectif et les contraintes caractĂ©risant l’ensemble A sont linĂ©aires. C’est une mĂ©thode très employĂ©e pour Ă©tablir les programmes des raffineries pĂ©trolières, mais aussi pour dĂ©terminer la composition la plus rentable d’un mĂ©lange salĂ©, sous contraintes, Ă  partir des prix de marchĂ© du moment.
  • L'optimisation linĂ©aire en nombres entiers Ă©tudie les problèmes d'optimisation linĂ©aire dans lesquels certaines ou toutes les variables sont contraintes de prendre des valeurs entières. Ces problèmes peuvent ĂŞtre rĂ©solus par diffĂ©rentes mĂ©thodes : sĂ©paration et Ă©valuation, mĂ©thode des plans sĂ©cants.
  • L'optimisation quadratique Ă©tudie le cas oĂą la fonction objectif est une forme quadratique (avec contraintes linĂ©aires pour A)
  • L'optimisation non linĂ©aire Ă©tudie le cas gĂ©nĂ©ral dans lequel l’objectif ou les contraintes (ou les deux) contiennent des parties non linĂ©aires, Ă©ventuellement non-convexes.
  • L'optimisation stochastique (en) Ă©tudie le cas dans lequel certaines des contraintes dĂ©pendent de variables alĂ©atoires. En optimisation robuste, les alĂ©as sont supposĂ©s ĂŞtre situĂ©s dans des intervalles autour de positions nominales et on cherche Ă  optimiser le système soumis Ă  de tels alĂ©as, dans le pire des cas.
  • La programmation dynamique utilise la propriĂ©tĂ© qu’une solution optimale se compose nĂ©cessairement de sous-solutions optimales (attention : le contraire n'est pas vrai en gĂ©nĂ©ral) pour dĂ©composer le problème en Ă©vitant l’explosion combinatoire. Elle est utilisable lorsque la fonction objectif est une somme de fonctions monotones croissantes dont les arguments sont des inconnues distinctes. C’est la programmation dynamique qui permet par exemple
    • aux avionneurs de trouver les plans de dĂ©collage optimaux de leurs engins,
    • aux ingĂ©nieurs de bassin de rĂ©partir la production minière entre leurs diffĂ©rents puits,
    • aux producteurs d’électricitĂ© de planifier la marche des usines hydroĂ©lectriques,
    • aux media planners de rĂ©partir efficacement un budget de publicitĂ© entre diffĂ©rents supports.

[modifier] Méthodes numériques

Une technique de résolution d’un problème d’optimisation mathématique désigne ici

  • la transformation du problème d’origine en un problème Ă©quivalent,
  • une mĂ©thode thĂ©orique dont la description permet l’élaboration d’un algorithme numĂ©riquement applicable.

Le choix d’une technique appropriée dépend de

  • la nature de la fonction objectif f, de sa rĂ©gularitĂ© (continuitĂ©, dĂ©rivabilitĂ©), de propriĂ©tĂ©s spĂ©cifiques (paritĂ©, convexitĂ©), de la connaissance de voisinages de ses extrema,
  • des contraintes caractĂ©risant l'ensemble A des solutions admissibles.

[modifier] Simplifications

Le problème d’origine est remplacé par un problème équivalent. Par exemple un changement de variables permettant de décomposer le problème en sous-problèmes ou la substitution d’inconnues permettant d’en réduire le nombre.

La technique du multiplicateur de Lagrange permet de s’affranchir de certaines contraintes (de type Ă©galitĂ©) ; cette mĂ©thode revient en effet Ă  introduire des pĂ©nalitĂ©s croissantes Ă  mesure que la solution se rapproche des contraintes. Un algorithme dĂ» Ă  Hugh Everett permet de mettre Ă  jour de façon cohĂ©rente les valeurs des multiplicateurs Ă  chaque itĂ©ration pour garantir la convergence. Celui-ci a Ă©galement gĂ©nĂ©ralisĂ© l'interprĂ©tation de ces multiplicateurs pour les appliquer Ă  des fonctions qui ne sont ni continues, ni dĂ©rivables. Le lambda exprime un coefficient de pĂ©nalitĂ© (notion de coĂ»t marginal d’une contrainte en Ă©conomie).

[modifier] Recherche des zéros du gradient

De nombreuses méthodes et algorithmes permettent de trouver un zéro de la dérivée de f (certains sont spécifiques aux fonctions d’une variable) ou de son gradient  \mathbf{\nabla} f . Elles s’appliquent valablement dans des situations où les contraintes sur A restent peu actives.

Toutes ces méthodes se développent dans le cadre d’un procédé itératif.

Ces approches peuvent souffrir de quelques dĂ©fauts :

  • La fonction doit ĂŞtre assez rĂ©gulière (au moins localement) pour ĂŞtre dĂ©rivable (ou encore deux fois dĂ©rivable pour accĂ©der Ă  la matrice hessienne ou une approximation de celle-ci).
  • Il n’est pas toujours possible d’exprimer explicitement le gradient de la fonction objectif.
  • Des conditions de dĂ©part doivent ĂŞtre fixĂ©es avant d’amorcer le processus itĂ©ratif. Le choix initial peut considĂ©rablement influencer le rĂ©sultat (divergence du procĂ©dĂ© itĂ©ratif). Les mĂ©thodes Ă  convergence rapide sont en gĂ©nĂ©ral plus sensibles de ce point de vue.
  • Dans certains cas, la vitesse de convergence peut se rĂ©vĂ©ler dĂ©sastreuse : les itĂ©rations successives cheminent laborieusement (stagnation) le long d’une vallĂ©e Ă©troite (fonction de Rosenbrock).
  • Si la solution obtenue est bien un extremum (après vĂ©rification qu’il ne s’agisse pas d’un point selle), celui-ci peut s’avĂ©rer ĂŞtre local.

Cas particulier : Lorsque f est polynomiale de degrĂ© 2 dans ses arguments (forme quadratique et linĂ©aire) et sans contrainte, annuler le gradient revient Ă  rĂ©soudre un système linĂ©aire (cf CatĂ©gorie:Analyse numĂ©rique matricielle).

[modifier] Méthodes analytiques directes

Dans cette catĂ©gorie, la plupart des algorithmes gĂ©nĂ©raux s’appliquent aux situations oĂą les contraintes sur A restent peu actives. Ils se basent sur quelques idĂ©es dominantes :

  • DĂ©placements le long d’une ligne portĂ©e par un gradient.
  • Approximation de f par une fonction plus simple (par exemple le dĂ©veloppement de Taylor d’ordre 2), mise Ă  jour au cours des itĂ©rations.

Divers perfectionnements ont Ă©tĂ© apportĂ©s afin d’éviter :

  • les stagnations (par exemple mĂ©thode du gradient conjuguĂ© en optimisation non linĂ©aire (en))
  • le calcul explicite ou trop frĂ©quent de la matrice hessienne (par exemple BFGS)

Les mêmes défauts que ceux mentionnés dans la catégorie précédente peuvent aussi se présenter ici.

La Catégorie:Algorithme d'optimisation présente une liste et donne accès à ces méthodes.


[modifier] Techniques de l’optimisation combinatoire

Ces techniques concernent des problèmes où une partie (au moins) des variables de l’ensemble A prennent des valeurs discrètes. On les rencontre dans le cadre de

  • la thĂ©orie des graphes (chemin optimal dont le problème du voyageur de commerce)
  • la thĂ©orie des jeux (stratĂ©gies performantes)
  • la thĂ©orie du contrĂ´le, de la rĂ©gulation et de l’automatique (cf CatĂ©gorie:Automatique)
  • l’optimisation multidisciplinaire

[modifier] Heuristiques et métaheuristiques

Pour résoudre des problèmes difficiles (par exemple ceux qui présentent de nombreux extrema locaux pauvres), des techniques ont été conçues pour déterminer des solutions qui ne sont pas rigoureusement optimales, mais qui s’en approchent. Ces méthodes se basent généralement sur des phénomènes physiques, biologiques, socio-psychologiques ou font appel au hasard. Les domaines d’application sont vastes et s’étendent souvent bien au-delà des problèmes pour lesquels elles ont été initialement conçues.

  • le recuit simulĂ©
  • la mĂ©thode de Nelder-Mead avec recuit simulĂ©
  • les algorithmes de colonies de fourmis
  • les algorithmes gĂ©nĂ©tiques
  • les algorithmes Ă©volutionnistes
  • les mĂ©thodes d’optimisation par essaims particulaires

La Catégorie:Métaheuristique présente une liste et donne accès à ces méthodes.

[modifier] Techniques de l’optimisation multiobjectif

Ces problèmes sortent du cadre strict de la dĂ©finition donnĂ©e plus haut : Ă  une solution admissible de A, la fonction objectif n’associe pas une valeur numĂ©rique, mais un point d’un ensemble qui sera le plus souvent associĂ© Ă  un vecteur. L'objectif est alors d'optimiser simultanĂ©ment l'ensemble des composantes de ce vecteur. On peut aussi voir l’optimisation multiobjectif comme un ensemble de problèmes d'optimisation portant sur les mĂŞmes paramètres, ayant des objectifs Ă©ventuellement contradictoires, et que l'on cherche Ă  rĂ©soudre au mieux.

En général, l'espace dans lequel est exprimé le vecteur solution est muni d’un ordre partiel faisant intervenir des critères de dominance (par exemple en rapport avec la frontière de Paréto). La résolution consiste à trouver une solution dont l’objectif n’est dominé par aucun autre.

[modifier] Utilisations

Les problèmes de la dynamique des corps rigides (en) (surtout la dynamique des corps rigides articulĂ©s) ont souvent besoin de techniques d'optimisation mathĂ©matique, puisqu'on peut voir la dynamique des corps rigides comme rĂ©solution d'une Ă©quation diffĂ©rentielle ordinaire sur une variĂ©tĂ© contrainte ; les contraintes sont diverses contraintes gĂ©omĂ©triques non linĂ©aires telles que « ces deux points doivent toujours coĂŻncider Â», ou « ce point doit toujours ĂŞtre sur cette courbe Â». Aussi, le problème de calculer les forces de contact peut ĂŞtre achevĂ© en rĂ©solvant un problème de complĂ©mentaritĂ© linĂ©aire, qui peut aussi ĂŞtre vu comme un problème d'optimisation quadratique.

Plusieurs problèmes de conception peuvent aussi être exprimés sous forme de problèmes d’optimisation. Cette application est appelée l’optimisation de forme. Un sous-ensemble récent et croissant de ce domaine s’appelle l’Optimisation multidisciplinaire qui, bien qu’utile en plusieurs problèmes, a été particulièrement appliquée aux problèmes d'ingénierie et technologie spatiale.

Un autre domaine qui utilise les techniques d’optimisation est la recherche opérationnelle.

L’optimisation est un des outils centraux de la microéconomie qui est basée sur le principe de la rationalité et de l’optimisation des comportements, le profit pour les entreprises, et l’utilité pour les consommateurs.

En mĂ©canique on distingue trois formes d'optimisation[1] :

  • l'optimisation de taille ou optimisation paramĂ©trique, qui consiste Ă  optimiser des dimensions (longueur, Ă©paisseur, diamètre, ...) de la structure mĂ©canique ;
  • l'optimisation de forme (en), qui consiste Ă  optimiser l'enveloppe d'une pièce sans changer la topologie, c'est-Ă -dire sans ajouter de trous dans la pièce ;
  • l'optimisation topologique, qui consiste Ă  faire varier la rĂ©partition de matière au sein d'un volume de dĂ©part donnĂ©.

[modifier] Historique

Les premiers problèmes d'optimisation auraient été formulés par Euclide, au IIIe siècle avant notre ère, dans son ouvrage historique Éléments. Trois cent ans plus tard, Héron d'Alexandrie dans Catoptrica énonce le principe du plus court chemin dans le contexte de l'optique[2]. (voir figure)

Le plus court chemin pour aller de A à C en passant par un point B de la droite est obtenu lorsque l'angle d'incidence est égal à l'angle réfléchi (sur la figure, il s'agit du chemin vert).

Au XVIIe siècle, l'apparition du calcul différentiel entraîne l'invention de techniques d'optimisation, ou du moins en fait ressentir la nécessité. Newton met au point une méthode itérative permettant de trouver les extrémums locaux d'une fonction en faisant intervenir la notion de dérivée, issue de ses travaux avec Leibniz[3]. Cette nouvelle notion permet de grandes avancées dans l'optimisation de fonctions car le problème est ramené à la recherche des racines de la dérivée.

Durant le XVIIIe siècle, les travaux des mathématiciens Euler et Lagrange mènent au calcul des variations, une branche de l'analyse fonctionnelle regroupant plusieurs méthodes d'optimisation. Ce dernier invente une technique d'optimisation sous contraintes: Les multiplicateurs de Lagrange.

Le XIXe siècle est marqué par l'intérêt croissant des économistes pour les mathématiques. Ceux-ci mettent en place des modèles économiques qu'il convient d'optimiser, ce qui accélère le développement des mathématiques. Depuis cette période, l'optimisation est devenue un pilier des mathématiques appliquées et le foisonnement des techniques est tel qu'il ne saurait être résumé en quelques lignes.

On peut tout de même évoquer l'invention de plusieurs méthodes itératives utilisant le gradient de la fonction, ainsi que l'utilisation du terme programmation mathématique, pour désigner des problèmes d'optimisation.

Historiquement, le premier terme introduit fut celui de programmation linĂ©aire, inventĂ© par George Dantzig vers 1947[4]. Le terme programmation dans ce contexte ne rĂ©fère pas Ă  la programmation informatique (bien que les ordinateurs soient largement utilisĂ©s de nos jours pour rĂ©soudre des programmes mathĂ©matiques). Il vient de l’usage du mot programme par les forces armĂ©es amĂ©ricaines pour Ă©tablir des horaires de formation et des choix logistiques, que Dantzig Ă©tudiait Ă  l’époque. L’emploi du terme programmation avait Ă©galement un intĂ©rĂŞt pour dĂ©bloquer des crĂ©dits en une Ă©poque oĂą la planification devenait une prioritĂ© des gouvernements. L'expression programmation mathĂ©matique, qui requiert la longue explication ci-dessus, tend Ă  ĂŞtre abandonnĂ©e. Par exemple, en juin 2010, la sociĂ©tĂ© savante internationale qui reprĂ©sente cette discipline a vu son nom prĂ©cĂ©dent Mathematical Programming Society changĂ© en Mathematical Optimization Society ; pour la mĂŞme raison, on prĂ©fère aujourd'hui utiliser les locutions optimisation linĂ©aire/quadratique/... au lieu de programmation linĂ©aire/quadratique/....

[modifier] Annexes

[modifier] Notes et références

  1. ↑ Catherine Vayssade, « Optimisation mĂ©canique, Optimisation topologique Â», 2004. ConsultĂ© le 24 dĂ©cembre 2008
  2. ↑ http://www.apmep.asso.fr/IMG/pdf/Lu-33-Xhonneux-LaRochelle.pdf
  3. ↑ Voir l'article Méthode de Newton
  4. ↑ (en) G.B. Dantzig (1951). Maximization of a linear function of variables subject to linear inequalities. In Tj.C. Koopmans, éditeur, Activity Analysis of Production and Allocation, pages 339–347. Wiley, New York.

[modifier] Articles connexes

  • Analyse numĂ©rique
  • Ajustement de courbe
  • Conditions d'optimalitĂ© (dimension finie)
  • Fonction objectif
  • InĂ©galitĂ© variationnelle (en)
  • Liste des algorithmes
  • Logique floue
  • MĂ©taheuristique
  • MĂ©thode des moindres carrĂ©s
  • MicroĂ©conomie
  • Optimisation alĂ©atoire
  • Optimisation de code (compilateurs et langages de programmation)
  • Optimisation non linĂ©aire
  • Recherche opĂ©rationnelle
  • Relaxation dynamique
  • ThĂ©orie de la complĂ©mentaritĂ© (en)
  • ThĂ©orie des jeux

[modifier] Ouvrages généraux

  • (en) J. F. Bonnans, J. Ch. Gilbert, C. LemarĂ©chal, C. Sagastizábal (2006), Numerical Optimization - Theoretical and Numerical Aspects [dĂ©tail des Ă©ditions]
  • (en) Bonnans, J. F et Shapiro, A. (2000), Perturbation analysis of optimization problems. Springer. ISBN: 978-0-387-98705-7.
  • Michel Minoux, Programmation mathĂ©matique - thĂ©orie et algorithmes, Ă©ditions Dunod, 1983 (ISBN 2040154876)
  • (en) Encyclopedia of Optimization, Floudas, Christodoulos A.; Pardalos, Panos M. (Ă©diteurs), 2e Ă©dition, 2009 (ISBN 978-0-387-74758-3)

[modifier] Liens externes

wikipediaCet article est issu de l'encyclopédie libre Wikipedia.
Vous pouvez consulter l'article ici ainsi que son historique.
Les textes et les images sont disponibles sous les termes de la Licence de documentation libre GNU.


maths haut de pagehaut Retrouvez cette page sur ilemaths l'île des mathématiques
© Tom_Pascal & Océane 2012