- Optimisation non linéaire
-
En optimisation, vue comme branche des mathématiques, l'optimisation non linéaire (en anglais : nonlinear programming – NLP) s'occupe principalement des problèmes d'optimisation dont les données, i.e., les fonctions et ensembles définissant ces problèmes, sont non linéaires (bien sûr), mais sont aussi différentiables autant de fois que nécessaire pour l'établissement des outils théoriques, comme les conditions d'optimalité, ou pour la bonne marche des algorithmes de résolution qui y sont introduits et analysés. Cette sous-discipline de l'optimisation, à la frontière mal définie et dont l'introduction est un peu artificielle, a aussi son existence liée à la communauté de chercheurs qui se sont spécialisés sur ces sujets et au type de résultats qui ont pu être obtenus.
Elle complémente l'optimisation non lisse (ou non différentiable), elle aussi liée à une communauté de chercheurs spécialisés. Ces deux disciplines se rassemblent pour former ce que l'on appelle l'optimisation continue, qui jouxte, quant à elle, d'autres sous-disciplines telles que l'optimisation combinatoire (ou discrète), l'optimisation stochastique, etc.
Sommaire
Formulation mathématique
On a une fonction , avec . L'objectif est de déterminer le vecteur x défini par :
- .
De façon équivalente, on peut rechercher la valeur pour laquelle f est maximale :
- .
Méthodes de résolution
Si la fonction est convexe ou concave, et l'ensemble des contraintes est convexe, alors il existe des méthodes spécialisées, appelées méthodes d'optimisation convexe.
Sinon, il existe plusieurs solutions. Par exemple, utilisant le principe de séparation et évaluation pour diviser et traiter séparément plusieurs paramètres.
L'algorithme peut également être arrêté avant d'aboutir, si on peut prouver qu'aucune solution ultérieure ne sera meilleure à un certain seuil de tolérance près. Les conditions de Karush-Kuhn-Tucker (KKT) garantissent qu'une solution ainsi obtenue est optimale.
Exemples
En dimension 2
Un problème simple peut être posé ainsi :
- x1 ≥ 0
- x2 ≥ 0
- x12 + x22 ≥ 1
- x12 + x22 ≤ 2
où l'on cherche à maximiser la fonction
- f(x) = x1 + x2
avec x = (x1, x2)
En dimension 3
On peut formuler un problème ainsi :
- x12 − x22 + x32 ≤ 2
- x12 + x22 + x32 ≤ 10
où l'on cherche à maximiser la fonction :
- f(x) = x1x2 + x2x3
avec x = (x1, x2, x3)
Quelques thèmes de l'optimisation non linéaire
- L'étude des conditions d'optimalité.
- Les algorithmes de résolution tels que : Newton, quasi-Newton, le gradient conjugué, la recherche linéaire, les régions de confiance, etc.
Voir aussi
Articles connexes
Références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Nonlinear programming » (voir la liste des auteurs)
- (en) Avriel, Mordecai (2003), Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0.
- (en) Bazaraa, Mokhtar et Shetty (1979), Nonlinear programming. Theory and algorithms. John Wiley & Sons. ISBN 0-471-78610-1.
- (en) Bertsekas, Dimitri (1999), Nonlinear Programming: 2nd Edition. Athena Scientific. ISBN 1-886529-00-0.
- (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.
- (en) Nocedal, Jorge et Wright, Stephen (1999), Numerical Optimization. Springer. ISBN 0-387-98793-2.
Liens externes
Documentation
- (en) Nonlinear programming FAQ
- (en) Mathematical Programming Glossary
- (en) Nonlinear Programming Survey OR/MS Today
Implémentations
- (en) AIMMS Optimization Modeling AIMMS — include nonlinear programming in industry solutions ;
- (en) AMPL solver software ;
- (en) GAMS General Algebraic Modeling System.
Wikimedia Foundation. 2010.