Vous êtes sur la page 1sur 25

Optimisation linéaire:

L’algorithme du simplexe
Éléments de Recherche Opérationnelle
Prof. M.F. Troyon
Génie électrique et électronique
Été 2006

14 juin 2006 1
Rappel

14 juin 2006 2
Base et variables basiques
 Toute matrice B formée de m colonnes
linéairement indépendantes de A est une base
(ordonnée) du système
 Les colonnes de B sont dites basiques, les
autres hors base
 Les variables associées aux colonnes de B
sont dites basiques, les autres hors base
 La liste ordonnée des variables basiques (ou
de leurs indices) sera aussi appelée base

14 juin 2006 3
Propriétés
 Toute solution du système s‘obtient en fixant les valeurs des
variables hors base (indépendantes) et en résolvant pour les
variables basiques (dépendantes):

xB = B-1b − B -1NxN

 La solution particulière obtenue en fixant à zéro les variables


hors base est appelée solution basique associée à la base B.

xB = B -1b et xN = 0

 Si cette solution satisfait aussi les contraintes de non


négativité, elle définit une solution basique admissible
14 juin 2006 4
PL sous forme standard

 Max z = cDxD

s.c. ΑxD + ΙxE = b

xD , xE ≥ 0

 La matrice [Α Ι est de taille m X (n+m)


Α | Ι]

14 juin 2006 5
Points extrêmes

 Un point extrême x du domaine


admissible (Polyèdre convexe) du PL:
 S‘il n‘existe pas 2 solutions admissibles
x1 et x2 et un scalaire
λ ∈ [0,1] tels que:

x = λx1 + (1−λ)x2

14 juin 2006 6
Conséquences
 On peut montrer l‘équivalence entre:

- x est un point extrême


- x est une solution basique admissible

 Conséquence 1:
Si un PL admet une solution optimale, il admet une
solution basique optimale
 Conséquence 2:
Le nombre de bases de la matrice des contraintes
[Α Ι étant fini, le nombre de solutions basiques
Α | Ι]
admissibles l‘est aussi.
14 juin 2006 7
Tableau initial d‘un PL
 Le tableau initial T0 associé à un PL
sous forme standard est:
xD xE z

Α Ι 0 b ΑxD + ΙxE = b
T0=

-cD 0 1 0 -cDxD + z = 0

14 juin 2006 8
Tableau admissible

 Un tableau est admissible si et seulement


si la solution basique associée l‘est.

Signature d‘un
tableau admissible

14 juin 2006 9
Pivotage dans un tableau

14 juin 2006 10
Comment maximiser z à l’aide des
pivotages?
 Comment choisir la variable hors base entrante?
 Ce choix doit permettre d‘augmenter la valeur de la
nouvelle solution.
 La dernière ligne du tableau associé à la base courante
va nous aider.

−γ1 ....... −γn 0 ...... 0 1 ζ


Var. hors base Var. basiques
 Elle correspond à l‘équation:

z = ζ + Σ i∈N γixi
14 juin 2006 11
Coût marginal ou coût réduit

 Si tous les éléments de la dernière ligne


sont positifs (i.e. tous les coûts réduits γn
sont négatifs), toute augmentation des
valeurs des variables hors base fera
diminuer z et la solution basique actuelle
est optimale.
 Sinon, on choisit une variable hors base xj
avec un coût réduit négatif.

14 juin 2006 12
Choix de la variable basique
sortante
 Introduire xj dans la base va modifier la
valeur des variables basiques.
 Pour garder l‘admissibilité de la solution,
l‘augmentation de xj doit être stoppée dès
qu‘une variable basique devient nulle.
 C‘est cette variable qui va céder sa place
et quitter la base

14 juin 2006 13
Variable sortante dans le tableau
 Considérons la situation dans le tableau associé à la
base courante.
La ie ligne du tableau correspond à:
xj xσ(i)
z α1j 0 0 β1
xσ(i) = βi − Σk∈N αikxk M M M M
αij 1 0 βi
M M M M
αmj 0 0 βm
-γj 0 1 ζ

14 juin 2006 14
Quotient caractéristique
Si xj (var. Hors base) augmente, xσ(i)
(var.basique associée) du tableau va:
1. Augmenter ou rester constant si αij ≤ 0.
L’augmentation de xj n’est pas bornée et le PL
n’admet pas d’optimum fini.
2. Diminuer si αij > 0.
Parmi tous les candidats, choisir le plus petit
quotient caractéristique βi/ αij pour toutes les
lignes où αij > 0. Ce sera la 1ère variable
basique qui s’annule lorsque xj augmente (i.e.
la variable sortante)
14 juin 2006 15
Conséquence sur la solution
 Soit i l‘indice de la ligne du plus petit quotient
caractéristique et j l‘indice de la colonne de la variable
entrante. On passe alors de la base actuelle à la
prochaine base en pivotant autour de αij.
 La valeur de la solution basique devient:

ζ‘= ζ + γjxj = ζ + γj βi/αij > ζ

14 juin 2006 16
Conditions d‘optimalité

14 juin 2006 17
Lecture des variables basiques

 Soit une base B et son tableau associé TB. Après


permutation des colonnes, on obtient le tableau
suivant:
xB xN z

p Ι B-1 N 0 β
TB =
0 -γN 1 ζ

 La solution basique associée est donc:


xB = β xN = 0 z=ζ
14 juin 2006 18
Algorithme du simplexe phase II

14 juin 2006 19
Dégénérescence
 Il y a une surjection entre l‘ensemble des bases
admissibles et l‘ensemble des points extrêmaux
(plusieurs bases admissibles peuvent avoir un
même point extrême).
 Le problème et les solutions basiques sont dits
dégénérés.
 Une solution basique dégénérée se caractérise
par le fait qu‘au moins une variable basique a
une valeur nulle

14 juin 2006 20
Règle de Bland

14 juin 2006 21
Comment trouver une solution
admissible initiale?
 La base initiale formée par les variables d‘écart n‘est
pas admissible (i.e. il existe un bi < 0)
 Définir un problème auxiliaire dont on connaît une
solution basique admissible et dont la solution optimale
correspond à une solution basique admissible du PL
initial si et seulement si ce dernier possède des
solutions.
 De plus, le PL initial admet une solution admissible SSI
la valeur optimale du problème auxiliaire est nulle.

14 juin 2006 22
Les bases du problème auxiliaire

14 juin 2006 23
Le problème auxiliaire

14 juin 2006 24
Algorithme du simplexe Phase I

14 juin 2006 25