Methode du simplexe
Algorithme du simplexe
Recherche opérationnelle
Génie Civil
Rappel
Si un problème de programmation linéaire en forme standard possède une solution optimale, alors il existe une solution de base admissible qui soit optimale. Méthode du simplexe : passer d’une solution de base admissible à l’autre, en réduisant le coût.
Algorithme du simplexe Michel Bierlaire 3
Problème
avec
– – –
A matrice m lignes n colonnes lignes de A linéairement indépendantes On note P = {x ¦ Ax = b, x ≥ 0} Problème en forme standard
Michel Bierlaire 4
Algorithme du simplexe
1
Direction admissible
Idée de l’algorithme:
– –
Direction admissible
Soit x ∈ P. On va se déplacer le long d’une direction d ∈ IRn. d doit nous maintenir dans P Définition :
–
Soit x0 une solution de base admissible Pour k=0,…. faire
Trouver xk+1 sol. de base adm. voisine telle que cTxk+1 < cTxk
–
Jusqu’à ce qu’aucune sol. de base adm. voisine n’améliore l’objectif.
On trouve alors un minimum local En programmation linéaire, minimum local = minimum global.
Algorithme du simplexe Michel Bierlaire 5
Soit x un élément d’un polyèdre P. Un vecteur d ∈ IRn est appelé direction admissible en x s’il existe un scalaire positif θ tel que x + θd ∈ P
Michel Bierlaire 6
Algorithme du simplexe
Direction admissible direction non admissible direction admissible toutes les directions sont admissibles direction admissible
Direction admissible
Soit x une solution de base admissible Soient B(1),…,B(m) les indices des variables de base Soit B=[AB(1)… AB(m)] la matrice de base associée xi = 0 pour toute variable hors base xB=(xB(1),…,xB(m)) = B-1 b
Algorithme du simplexe Michel Bierlaire 8
Algorithme du simplexe
Michel Bierlaire
7
2
Direction admissible
Comment déterminer x+θd ? Choisir une variable j hors base (qui vaut 0) Augmenter sa valeur jusqu’à θ, tout en gardant les autres variables hors base à zéro. Donc :
– –
Direction