MATH-F-306 3. Algorithme du Simplexe
RAPPEL :
•Hypoth`eses initiales
–PL de la forme suivante : max {cTx:A x =b, x >0}(ou min)
–s’il y a des in´egalit´es, ajouter des variables d’´ecart
–b>0 (sinon multiplier une contrainte par −1)
–Acontient une matrice identit´e (sinon voir s´eance suivante)
•Algorithme du Simplexe
step 0 :(Initialisation)
Soit Bun ensemble d’indices de base initiale tel que la solution de base primale
associ´ee xBest r´ealisable.
Calculer xB=A−1
Bbet yT=cT
BA−1
B.
step 1 :(Test d’Optimalit´e)
Calculer les coˆuts r´eduits cT
N−yTAN.
Si cT
N−yTAN60 alors la solution courante est optimale.
Sinon choisir r /∈Btel que cr−yTar>0.
(→xrentre en base)
step 2 :(Pivot)
D´eterminer la variable qui sort de la base (→xs).
S’il n’en existe aucune, alors le probl`eme est non born´e.
Mettre `a jour l’ensemble d’indices de base B0et d´eterminer les nouvelles so-
lutions de base x0et y0.
•En pratique ...
–A chaque it´eration, on ´ecrit le dictionnaire correspondant `a la base B:
xi=¯
bi+Pj∈N¯aij xj∀i∈B
z=¯
b0+Pj∈N¯cjxj
o`u : ¯
bi=A−1
Bbi¯aij =−A−1
BANij
¯
b0=cT
BA−1
Bb¯cj=cT
N−cT
BA−1
BANj
–on choisit la variable xrqui entre en base telle que ¯cr>0
–on d´etermine la variable squi sort de la base : s= arg min
i:¯air <0
¯
bi
¯air
•R`egle de Bland
–s’il y a deux ou plusieurs variables qui peuvent entrer en base, alors on choisit celle qui
a le plus petit indice ;
–s’il y a deux ou plusieurs variables qui peuvent sortir de la base, alors on choisit celle
qui a le plus petit indice ;
3