La programmation linéaire est une méthode d’optimisation permettant de déterminer la solution optimale à un problème mathématique formulé avec des équations dites linéaires.
La programmation linéaire est largement utilisée dans la recherche opérationnelle, qui est l'ensemble des méthodes et techniques orientées vers la recherche du meilleur choix dans la façon d'opérer, en vue d'aboutir au résultat visé ou au meilleur résultat possible.
Elle est aussi utilisée dans la gestion d’entreprise pour de la planification, de la production, le transport ou dans la R&D. Bien que les problèmes de gestion modernes soient en constante évolution, la plupart des entreprises cherchent et continueront à chercher à maximiser leurs profits en minimisant les coûts. En utilisant la programmation linéaire, beaucoup de problèmes peuvent être formulés et résolus de manière optimale.
Résolution du problème en Python en utilisant PuLP
PuLP est une bibliothèque open source pour la programmation linéaire en Python. Elle met à disposition tous les outils pour modéliser un problème et les résoudre en faisant appel à différents types de solveurs standards utilisant des algorithmes de résolution différents. C'est en fait un wrapper qui permet la formulation du problème en Python.