Programmation linéaire et programmation linéaire en nombres entiers

publicité
Programmation linéaire et programmation
linéaire en nombres entiers
Frédéric Meunier
2 novembre 2016
Programmation linéaire
Programmation linéaire : résoudre et étudier
Min c · x
s.c. Ax = b
x ∈ R+
Couvre aussi les cas :
Min
s.c.
etc.
c·x
Ax ≤ b
x ∈ R+
Min
s.c.
c·x
Ax ≤ b
L’algorithme du simplexe
Un programme linéaire se résout de manière efficace avec
l’algorithme du simplexe.
Algorithme du simplexe : se promène de sommet en sommet
du polyèdre des solutions réalisables.
Algorithme du simplexe : non-polynomial.
Instances connues avec un nombre exponentiel de pivots
Algorithmes polynomiaux
En 1979, Khachiyan trouve un algorithme polynomial :
algorithme des ellipsoïdes.
Difficilement implémentable, fonctionne mal.
En 1984, Kamarkar trouve un autre algorithme polynomial :
algorithme des points intérieurs.
Algorithme des points intérieurs : se promène autant que
possible à l’intérieur du polyèdre des solutions réalisables.
Depuis quelques années, meilleur que le simplexe sur de
grandes instances.
Programmation linéaire en nombres entiers
Programmation linéaire en nombres entiers : résoudre et
étudier
Min c · x
s.c. Ax = b
x ∈ Z+
C’est NP-difficile, même s’il n’y a qu’une seule contrainte.
Résolution par branch-and-bound.
Téléchargement