Programmation lin€aire 3
John von Neumann 2003), et „ D. Yudin.
Cependant, l'efficacit€ pratique de l'algorithme de Khachiyan est d€cevante : l'algorithme du simplexe est
pratiquement toujours plus performant. En revanche, ce r€sultat a encourag€ la recherche dans les m€thodes de point
int€rieur. Par opposition „ l'algorithme du simplexe qui consid•re uniquement la fronti•re du polytope d€finie par les
contraintes, les m€thodes de point int€rieur €voluent „ l'int€rieur du polytope.
En 1984, N. Karmarkar propose la méthode projective. C'est le premier algorithme efficace „ la fois en th€orie et en
pratique. Sa complexit€ dans le pire cas est polynomiale et les exp€rimentations sur les probl•mes pratiques montrent
que la m€thode peut raisonnablement ƒtre compar€e „ l'algorithme du simplexe. Depuis lors, plusieurs m€thodes de
point int€rieur ont €t€ propos€es et €tudi€es. Une des m€thodes les plus c€l•bres est la m€thode pr€dictive/corrective
qui fonctionne tr•s bien en pratique mƒme si son €tude th€orique est encore imparfaite.
Pour la r€solution pratique de probl•mes de PL ordinaires, il est actuellement commun de consid€rer comme
€quivalentes les (bons) codes bas€s sur les m€thodes d€riv€es du simplexe ou du point int€rieur. De plus, pour la
r€solution de probl•mes de grande taille, une technique comme la g€n€ration de colonnes peut se r€v€ler
extrƒmement efficace.
Les solveurs bas€s sur la PL sont de plus en plus utilis€s pour l'optimisation de divers probl•mes industriels tels que
l'optimisation des flux de transports ou la planification de la production. Toutefois, les mod•les de PL se r€v•lent
insuffisants pour repr€senter de nombreux probl•mes, la programmation linéaire en nombres entiers (PLNE)
permet alors de mod€liser un grand nombre de probl•mes suppl€mentaires, notamment les probl•mes NP-complets.
Programmation linéaire en nombres entiers
Un problème de programmation linéaire en nombres entiers (PLNE) n'est pas un programme lin€aire dans le sens o‚
son domaine de r€alisabilit€ n'est pas un poly•dre mais un ensemble discret de points. Pourtant, on peut le d€crire
comme un PL auquel on ajoute la contrainte suppl€mentaire que certaines variables ne peuvent prendre que des
valeurs enti•res. On distingue le programme linéaire mixte avec variables enti•res et continues du programme entier
avec toutes ses variables enti•res.
La PLNE est un probl•me NP-complet car de nombreux probl•mes NP-complets peuvent ƒtre exprim€s comme des
PLNE (par exemple trouver un stable dans un graphe revient „ trouver un vecteur
satisfaisant pour tout arƒte ). Les algorithmes d€crits ci-dessus pour la PL ne r€solvent pas
les probl•mes de PLNE. Algorithmiquement donc, la r€solution d'un PLNE est autrement plus difficile celle d'un PL
qui joue pourtant un r‰le crucial quant „ leur r€solution, principalement pour deux raisons. Premi•rement, la
relaxation continue d'un PLNE (c'est le PLNE sans les contraintes d'int€grit€) est un PL qui peut ƒtre r€solu
efficacement et fournir ainsi une borne duale (dans le sens non-r€alisable). Les algorithmes de r€solution de PLNE,
tels que les algorithmes par s€paration et €valuation se basent sur cette relaxation continue pour diminuer au
maximum l'€num€ration des solutions. Deuxi•mement, le th€or•me Optimisation/S€paration de GrŠtschel, Lovasz et
Schrijver permet de r€soudre en pratique par la PL les probl•mes entiers dont on connait une bonne description
poly•drale (c'est-„-dire dont on peut s€parer les contraintes en temps polynomial). C'est le principe de
fonctionnement des algorithmes de plans s€cants,
Applications
La programmation lin€aire est essentiellement appliqu€e pour r€soudre des probl•mes d'optimisation „ moyen et
long terme (probl•mes strat€giques et tactiques, dans le vocabulaire de la recherche op€rationnelle). Les domaines
d'application de ces probl•mes sont tr•s nombreux aussi bien dans la nature des probl•mes abord€s (planification et
contr‰le de la production, distribution dans des r€seaux) que dans les secteurs d'industrie : industrie manufacturi•re,
€nergie (p€trole, gaz, €lectricit€, nucl€aire), transports (a€riens, routiers et ferroviaires), t€l€communications,
industrie foresti•re, finance.