Académique Documents
Professionnel Documents
Culture Documents
2.2.1 Introduction
La méthode du simplexe est une technique algébrique qui permet de trouver
la solution optimale d’un programme linéaire d’une façon ordonnée et concise.
C’est une méthode itérative qui se base sur le fait de partir d’une solution de base
réalisable (solution de départ nulle) et d’augmenter (si on maximise) ou de
diminuer (si on minimise) la valeur de la fonction objectif.
Comme il a été déjà présenté dans le chapitre 1, un programme linéaire
général peut être formulé comme suit : On désire trouver la valeur de n variables
de décision non négatives, x j , j = 1,..., n , satisfaisant m équations ou inéquations
linéaires (contraintes) :
⎧n
⎪∑j =1
aij x j + xn +i = bi , i = 1,..., k
⎪
⎪n
⎪∑ aij x j + xn +i = bi , i = k + 1,..., l
⎨ j =1 (2.4)
⎪n
⎪∑ aij x j + xn +i = bi , i = A + 1,..., m
⎪ j =1
⎪ x ≥ 0, j = 1,..., n + A
⎩ j
⎪2 x1 + 3 x2 + x4 = 2400
⎪ x + 3x + x5 = 1800
⎪ 1 2
⎪⎩ x1 , x2 , x3 , x4 , x5 ≥ 0
Une solution réalisable de base est obtenue en annulant les variables hors
base et en résolvant le système ainsi déterminé pour avoir la valeur des variables
de base. La base est une m × m matrice inversible fabriquée en extrayant m
colonnes linéairement indépendantes de la matrice A. En choisissant
x3 , x4 et x5 comme variables de base initiales, on obtient une solution réalisable de
base de départ immédiatement, soit :
x1 = x2 = 0, x3 = 3000 ; x4 = 2400 ; x5 = 1800 .
On peut dresser le tableau suivant :
Variables x1 x2 x3 x4 x5 b
de base
x3 5 3 1 0 0 3000 ⎫
⎪ doit être non négatif
⎪
x4 2 3 0 1 0 2400 ⎬
⎪
x5 1 3 0 0 1 1800 ⎪⎭
Z -8 -6 0 0 0 0
Base initiale
(1 par colonne, 0 ailleurs)
. a1∗r 0 b1∗
.
.
# # #
xk . . . air∗ . . . 1 . . . bi∗
. # # #
.
∗
. amr 0 bm∗
bi∗
D’où xr = .
air∗
Pour obtenir une solution réalisable au prochain tableau, il faut sortir de la
base variable qui donne la plus petite valeur de ( xr ) , c'est-à-dire la première
variable qui prend une valeur non réalisable lorsqu’on augmente ( xr ) .
⎛ b∗ ⎞ b∗
Cette étape consiste donc à chercher : xr = min ⎜ i∗ air∗ > 0 ⎟ = ∗s
i , i =1,..., m a
⎝ ir ⎠ asr
Où s est l’indice de la rangée avec le plus petit rapport. La variable de base
dans la rangée s tu tableau est appelée variable sortante de la base.
Le coefficient, à l’intersection de la colonne de la variable rentrante et la
ligne de la variable sortante s’appelle pivot.
Appliquons ceci à notre exemple :
x1 x2 x3 x4 x5 b Limitation
x3 3000
5 3 1 0 0 3000 = 600 t
5
x4 2400
2 3 0 1 0 2400 = 1200
2
x5 1800
1 3 0 0 1 1800 = 1800
1
Z -8 -6 0 0 0 0
aAr
aA' k = aAk − ask
asr
r k
aAr aAk `
asr ask s
x1 x2 x3 x4 x5 b Limitation
u
6 8
La rangée des coûts réduits (dernière rangée) indique que Z − x2 + x3 = 4800 .
5 5
Puisque x2 et x3 sont les variables hors-base, elles sont égales à zéro et on
obtient Z = 4800 . Continuons la résolution de même, on obtient le tableau suivant :
x1 x2 x3 x4 x5 b
Tous les coûts réduits sont positifs ou nuls, on termine. La solution optimale
obtenue est :
x1 = 300
x2 = 500
x3 = x5 = 0
x4 = 300
Z max = 5400
Application :
Un industriel possède, dans l’un de ses ateliers de production, trois machines
M1, M2 et M3 qui sont partiellement inutilisées :
- M1 est libre 18 heures par semaine.
- M2 est libre 8 heures par semaine.
- M3 est libre 14 heures par semaine.
Pour mieux rentabiliser ces machines on envisage de fabriquer deux produits
P1 et P2 dont l’écoulement sur le marché ne poserait pas de problème.
- Chaque unité de P1 rapporterait 2 dinars et consommerait : 1 heure de M1,
1 heure de M2 et 2 heures de M3.
- Chaque unité de P2 rapporterait 3 dinar et consommerait : 3 heures de M1,
1 heure de M2 et 1 heure de M3.
( *** )
Le (PL) permettant de maximiser ses bénéfices est :
⎧ Max Z = 2 x1 + 3 x2
⎪ sujet à :
⎪
⎪⎪ x1 + 3 x2 ≤ 18
⎨ .
⎪ x1 + x2 ≤ 8
⎪2 x1 + x2 ≤ 14
⎪
⎪⎩ x1 , x2 ≥ 0
La résolution par la méthode du simplexe nous conduit au tableau final
suivant :
x1 x2 x3 x4 x5 b
x1 0 1 1/2 -1/2 0 5 ⎫
⎪
⎪
x4 1 0 -1/2 3/2 0 3 ⎬ Solution optimale
⎪
x2 ⎪⎭
0 0 1/2 -5/2 1 3
Z 0 0 1/2 3/2 0 21
sujet à :
⎧a11 x1 + a12 x2 + ... + a1n xn ≤ b1
⎪a x + a x + ... + a x ≥ b
⎪ 21 1 22 2 2n n 2
⎨
⎪a31 x1 + a32 x2 + ... + a3n xn = b3
⎪ x j ≥ 0, j = 1,..., n
⎩
La forme standard est :
Z = c1 x1 + c2 x2 + ... + cn xn + 0 xn +1 + 0 xn + 2 à optimiser (max ou min).
Toutefois, pour que la solution obtenue soit valide, tous les yi doivent être
égal à zéro dans le tableau final (doivent être hors base). Pour s’assurer que ces
⎪⎩ x1 , x2 , y1 , y2 ≥ 0
x1 x2 x3 y1 y2 b
y1 1 1 0 1 0 10 × (M)
y2 1 0 -1 0 1 4 × (M)
3 2 0 0 0 0
-Z
0 0 0 M M 0 (-) (-)
Cette expression n’est pas fonction des variables hors-base seulement et, par
conséquent il faut la transformer pour que les coefficients de y1 et y2 soient nuls.
Ceci permet d’éviter que l’une des variables artificielle soit une variable
rentrante dans la base. Le tableau devient :
x1 x2 x3 y1 y2 b Limitation
y1 1 1 0 1 0 10 10
y2 1 0 -1 0 1 4 4 t
3 2 0 0 0 0
-Z
-2M -M M 0 0 -14M
u
On peut commencer la résolution. La première itération donne :
x1 x2 x3 y1 y2 b Limitation
y1 0 1 1 1 6 6 t
x1 1 0 -1 0 4 Pas de limitation
0 2 3 0 -12
-Z
0 -M -M 0 -6M
u
Une fois qu’une variable artificielle est sortie de la base, on peut négliger la
colonne correspondante dans le tableau.
La deuxième itération donne :
x1 x2 x3 y1 y2 b
x2 0 1 1 6
x1 1 0 -1 4
0 0 1 -24
-Z
0 0 0 0
On atteint la solution optimale lorsque tous les coûts réduits sont non
négatifs, c'est-à-dire que tous les coefficients de la première ligne de (-Z) sont non
négatifs et que tous les coefficients de sa deuxième ligne sont nuls.
Dans ce cas, la solution optimale obtenue est :
x1 = 4, x2 = 6, x3 = 0
Z min = 24
Exercice :
Résoudre le (PL) suivant :
⎧
⎪ Max Z = 3x1 + 4 x2 + x3
⎪ sujet à :
⎪
⎪ 8
⎨ x1 + 2 x2 + 2 x3 ≤
⎪ 3
⎪ x + 2 x + 3x ≥ 7
⎪ 1 2 3
3
⎪⎩ x1 , x2 , x3 ≥ 0
Correction :
En introduisant les variables artificielles le système devient :
⎧
⎪ Max Z = 3 x1 + 4 x2 + x3 + My = − {Min (− Z ) = −3 x1 − 4 x2 − x3 − My}
⎪
⎪ sujet à :
⎪⎪ 8
⎨ x1 + 2 x2 + 2 x3 + x4 =
⎪ 3
⎪ 7
⎪ x1 + 2 x2 + 3 x3 − x5 + y = 3
⎪
⎪⎩ x1 , x2 , x3 , x4 , y ≥ 0
La solution de base de départ est :
⎧
⎪ x1 = x2 = x3 = x5 = 0
⎪
⎪ 8
⎨ x4 = .
⎪ 3
⎪ 7
⎪⎩ y = 3
⎩⎪ x1 , x2 ≥ 0
x4 1 1 1 0 0 1
y 0 0 -2 -1 1 2
Z 0 5 3 0 0 3
0 0 2M M 0 -2M
Étant donné que y est dans la base, on conclut qu’il n’y a pas de solution
réalisable.
⎪⎩ x1 , x2 ≥ 0
x1 x2 x3 x4 x5 b
x2 0 1 -1 2 0 3 ⎫
⎪
x1 1 0 -2 2 0 2 ⎬ Solution optimale
⎪
x5 0 0 2 -2 1 4 ⎭
Z 0 0 0 2 0 4