Aujourd’hui, Optimisation non linéaire est un sujet de plus en plus pertinent dans la société. Au fil du temps, nous avons vu comment Optimisation non linéaire a gagné de la place dans différents domaines, de la politique au divertissement. Il est évident que Optimisation non linéaire a généré un grand impact sur la façon dont nous vivons et interagissons avec le monde qui nous entoure. Dans cet article, nous explorerons les différentes facettes de Optimisation non linéaire et son influence sur notre vie quotidienne, ainsi que les défis et opportunités qu'elle présente pour l'avenir.
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, 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 l'introduction 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.
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 :
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.
On utilise des algorithmes de résolution tels que :
Si les contraintes s'expriment sous la forme d'inégalités
on peut utiliser la méthode de la « barrière logarithmique »[1]. Si ƒ est la fonction à minimiser, alors on définit la fonction
ainsi, lorsque x se rapproche de la frontière, la valeur de ln(h) tend vers –∞, ce qui pénalise la zone. On effectue plusieurs recherches en faisant tendre μ vers 0.
Un problème simple peut être posé ainsi :
où l'on cherche à maximiser la fonction
On peut formuler un problème ainsi :
où l'on cherche à maximiser la fonction :