.. blogpost:: :title: Optimisation avec contraintes, cvxopt, pulp, NLopt, ... :keywords: optimisation, contrainte, cvxopt, pulp, NLopt, picos :date: 2015-07-17 :categories: optimisation, machine learning :lid: blog-optimisation-contrainte Mon premier réflexe pour faire de l'optimisation avec contrainte était de me tourner vers `cvxopt `_, de trouver la fonction qui correspondait à mon problème puis à renseigner construire les différentes matrices. Le module `pulp `_ est plus intuitif dans la manière de définir le problème. On a quasiment plus besoin de lire la documentation mais pour une utilisation occasionnelle. Je suggère la lecture de ces deux articles : * `Decision Making Under Uncertainty: An Introduction to Robust Optimization (Part 1) `_ * `Decision Making Under Uncertainty: An Introduction to Robust Optimization (Part 2) `_ Cette approche est très proche de celle proposée par `cvxpy `_. La logique est la même, la syntaxe de *cvxpy* utilise des méthodes, celle de *pulp* des opérateurs. Il exite d'autres options comme `picos `_ et encore d'autres proposées à `Python optimization frameworks `_. Pour le non linéaire, il faut voir avec `nlopt `_.