L’objectif de ce cours est double. Il s’agit, d’une part, de donner une introduction à la
formulation en modèles d’optimisation et d’autre part, de présenter les techniques de ré-
solution de ces problèmes. On parle de problème d’optimisation lorsqu’il faut maximiser
(ou minimiser) une fonction sous contraintes. Par exemple, maximiser le bénéfice (ou mi-
nimiser les pertes) d’une entreprise sous les contraintes de satisfaire la demande et de
respecter la capacité de production.
Nous commencerons par le cas des problèmes linéaires en variables continues, c’est à dire
les problèmes où la fonction objectif 1et les contraintes sont purement linéaires et les
variables dans l’espace Rn. Les autres classes de problèmes linéaires concernent la pro-
grammation linéaire en nombres entiers et la programmation linéaire binaire ({0,1}n), qui
seront traités dans le deuxième chapitre. Lorsque les contraintes et/ou la fonction objectif
sont non linéaires, on parle de programmation non linéaires qui est l’objet du troisième
chapitre. Une application des programmes linéaires concernent les modèles sur réseau qui
utilisent un graphe dans leur formulation pour la représentation. Elle sera traitée dans
quatrième chapitre. Beaucoup de techniques de résolution (méthodes exactes, heuristiques,
métaheuristiques) existent dans la littérature pour la résolution des problèmes linéaires
et non linéaires. Parmi elles, nous pouvons en citer : Méthode du Simplexe (que nous
étudierons dans la section 1.5, Branch-and-Bound ou Séparation et Evaluation progres-
sive, Cutting plane ou plan coupant, Points intérieurs, Colonies de fournies, Génération
de colonnes, Algorithme génétiques, Recherche Tabou, etc.). Il est à remarquer que toutes
ces méthodes de résolution étant mises en oeuvre dans des logiciels commerciaux, il ne
viendrait plus à l’idée de les programmer soi-même. Par exemple : le solveur d’Excel, IBM
CPLEX Optimizer, GUROBI, XPRESS-MP, Local Solver, etc. (voir en Annexe, quelques
logiciels libres et commerciaux) disposent d’une implémentation de ces algorithmes.
1. par convention, on dit fonction objectif et non fonction objective.
4