Le but de ce cours n'est pas de vous apprendre comment on résoud les
programmes linéaires, mais comment on les modélise. Ces problèmes se résolvent,
en pratique, en temps polynomial. Un des algorithmes les plus connus
est l'algorithme du simplexe. Je n'expliquerai ici que le principe,
pour plus de détails, voir [5]. Les contraintes peuvent
être représentées par des demi-plans. L'ensemble des solutions
réalisables est l'intersection de ces demi-plans, cette intersection
forme un polygone convexe. Soit un réel,
l'ensemble des couples
tel que la fonction objectif prend la
valeur
est une droite
.
En Augmentant la valeur de , on
``déplace''
. On cherche donc la plus grande valeur de
telle
qu'au moins un point de
se trouve dans l'ensemble des solutions
réalisables. Il se trouve qu'à l'optimum, la droite
passe par un
des sommets du polygone des solutions réalisables. L'algorithme du
simplexe parcours les sommets de ce polygone jusqu'à atteindre cet
optimum. Cette méthode se généralise facilement à un nombre de
variables et de contraintes arbitraires.