Module :
Programmation linéaire
Méthode du Simplexe
1
INTRODUCTION
2
INTRODUCTION
Principe de l’algorithme
4
Définition:
Un vecteur X qui vérifier les contrainte est appelé solution réalisable du
PL.
Une solution réalisable X* est optimale si CX*= max , pour tous
solutions réalisable
Une solution réalisable X est dite de base si (n-m) de des composons
sont nulles
Principe:
Quant l’ensemble des solution réalisable du PL est un polyèdre
convexe, la solution optimale est un sommet de ce polyèdre, pour
l’attendre, seules les sommets doivent être examiné. Donc pour
attendre l’optimun, il suffit d’axaminer les solutions de base réalisable.
5
La méthode du simplexe
Représentation de la méthode du simplexe par les
tableaux
Pour simplifier et mieux organiser les calculs effectués par cette
méthode nous utilisons une représentation des différentes étapes
par des tableaux, appelés, tableaux du simplexe
Le premier tableau du simplexe reprend les éléments du
programme S
n
Max Z c j x j
j 1
n
a ij x j bi bi 0
j 1
xj 0 j 1,..., n
On supposera que les variables de base sont x1, x2, …, xn et les
variables hors base sont xn+1, xm+2, …, xn
La méthode du simplexe
Posons:
b1 a1 j
. .
m m
P0 . Pj . j 1,..., n Z j a ij c i Z0 c jx j
i 1 i 1
. .
bm a mj
Le premier tableau du simplexe est:
c1 c2… cm cm+1 … cn
Base CB P0 P1 P2 … Pm Pm+1 … Pn
x1 c1 b1 1 0 … 0 a1,m+1 … a1,n
. . . 0 1 … 0 . … .
. . . . 0 … 0 . … .
. . . . . … 0 . … .
xm cm bm 0 0 … 1 am,m+1 … am,n
ZJ c 1 c2 … cm Zm+1 … Zn
J -Z0 0 0 … 0 cm+1-Zm+1 … cn-Zn
La méthode du simplexe
Principe de la méthode: Démarrer d’une solution de base réalisable (tableau du
simplexe) à une autre solution de base réalisable (tableau du simplexe) de
meilleure valeur de Z. Cette transformation consiste à faire entrer (selon un critère
d’entrée) une variable hors base dans la base et à faire sortir (selon un critère de
sortie) une variable de base hors base.
Critère d’entrée: Soit I l’ensemble des indices des variables de Base et J ceux des
variables hors base. La variable hors base xr de coefficient r dans la fonction
objectif le plus élevé est la variable candidate à entrer en base. En cas d’égalité on
fait un choix arbitraire. En d’autres termes: r= Max {j / j > 0, j J}.
Critère de sortie: La variable xs qui doit sortir de la base est telle que: bs/asr = Min
Etapes Justification
1. Formuler un programme linéaire pour le problème réel. Pour obtenir une représentation mathématique du problème
2. Vérifier que le second membre du programme linéaire Ceci est nécessaire pour obtenir comme variable de base
est positif initiale l’origine
3. Ecrire le programme linéaire sous une forme standard Mettre toutes les contraintes sous forme d’égalité
5. Choisir comme variable entrante dans la base celle qui La valeur de cj-zj indique la quantité d’augmentation de la
admet le plus grand effet net positif cj-zj. fonction objectif si on augmente la valeur de xj d’une unité.
6. Choisir la variable sortante de la base celle qui admet le La plus petite valeur de Qi/aij indique le nombre maximal
plus petit ratio supérieur à zéro. d’unité de xj qu’on peut introduire avant que la variable de base
de l’ième ligne ne soit égale à zéro.
7. Construire le nouveau tableau en utilisant la règle de Cette règle nous permet entre autre de calculer les valeurs des
pivot nouvelles variables de décision
8. Faire le test d’optimalité. Si Si (cj-zj) 0 alors on n’a pas d’intérêt à faire entrer dans la base
(cj-zj) 0 pour toutes les variables (hors base), la solution aucune de ces variables. Une telle introduction engendra une
obtenue est donc optimale. Sinon retourner à l’étape 5. diminution de la fonction objectif.
11
Organigramme de l’Algorithme du simplexe
12
PL à minimun
-Z0 et Cj – Zj
Par Z0 et Zj-Cj
13
Organigramme
de
l’Algorithme du
simplexe
14
La méthode Simplexe
15
Tableaux de simplexe
16
Tableaux de simplexe
considéré)
variable de base.
17
Ligne de pivot:
La ligne de pivot transformé est déduit par division de tous ses éléments par le
pivot
Ailleur (autre ligne)
Afin d’avoir d’autre nombre transformé il suffet d’appliqué la règle courant
a: valeur de départ
Alors la transformation de a
a’=a -
b .c
x p ----a---------b—
Tout ligne et col possède un zéro dans la col du
xp
----c---------------
pivot reste inchangé
Pivot
18
Mise sous forme standard
19
La méthode de simplexe
S3 et S4).
2- Les valeurs du second membre des contraintes (les composants du vecteur b)
sont positives.
20
La méthode de simplexe
aX b AX b
21
Exemple
le problème suivent(prob1) :
22
Exemple
0 S1 150 1 1 1 0 0 0
0 S2 440 4 2 0 1 0 0
0 S3 480 1 4 0 0 1 0
0 S4 90 1 0 0 0 0 1
100 200 0 0 0 0
23
Exemple
x1 x2 S1 S2 S3 S4
0 S1 150 1 1 1 0 0 0
0 S2 440 4 2 0 1 0 0
0 S3 480 1 4 0 0 1 0
0 S4 90 1 0 0 0 0 1
cj - z j 100 200 0 0 0 0
X1 x2 S1 S2 S3 S4
0 S1 150 1 1 1 0 0 0
0 S2 440 4 2 0 1 0 0
0 S3 480 1 4 0 0 1 0
0 S4 90 1 0 0 0 0 1
100 200 0 0 0 0
Le max(100,200) >0
x1 x2 S1 S2 S3 S4
0 S1
0 S2
200 x2
0 S4
100 200 0 0 0 0
x1 x2 S1 S2 S3 S4
0 S1
0 S2
200 x2 120 1/4 1 0 0 1/4 0
0 S4
100 200 0 0 0 0
x1 x2 S1 S2 S3 S4
0 S1 0 1 0 0
0 S2 0 0 1 0
200 x2 120 1/4 1 0 0 1/4 0
0 S4 0 0 0 1
100 200 0 0 0 0
25
Exemple
x2
x2
26
Exemple
100 200 0 0 0 0
x1 x2 S1 S2 S3 S4
x1 40 1 0 4/3 0 -1/3 0
S2 60 0 0 -14/3 1 2/3 0
S4 50 0 0 -4/3 0 1/3 1
27
Exemple
0 S2 60 0 0 14/3 1 2/3 0
0 S4 50 0 0 -4/3 0 1/3 1
0 0 -100/3 0 -100/3 0
28
Exemple 2:
Min z = - 2 x1 - 3 x2 + 8
- x1 - 2 x2 ≥ -10
- 2x1 - x2 ≥ - 20
x1 - 3 x2 ≥ - 16
x1 ≥ 0 et x2 ≥ 0.
.
29
Il est équivalent au problème suivant :
Min z = - 2 x1 - 3 x2 + 8
x1 + 2 x2 ≤ 10
2 x1 + x2 ≤ 20
- x1 + 3x2 ≤ 16
x1 ≥ 0,…, x2 ≥ 0.
Sous une forme standard, il s'écrira (après l’ajout de 3 variables d’écart
X3,x4,x5):
Min z = - 2 x1 - 3 x2 + 8
x1 + 2 x2 + x3 = 10
2 x1 + x2 + x4 = 20
- x1 + 3x2 + x5 = 16
x1 ≥ 0,…, x5 ≥ 0.
30
B1 = (a3, a4, a5) est une base de départ. HB1 = (a1, a2) est la hors base.
On dispose d'une solution de base réalisable de départ :
x = (0, 0, 10, 20, 16) et z( x ) = 8. Elle n'est pas optimale car a1 = - 2 < 0 et
a2 = -3<0
Déterminons min { aj, aj < 0, j = 1, 2 } = - 3 = a2 ( le choix de la colonne pivot
ou de la variable rentrante).
x2 rentre dans la base.
Déterminons le min positive {10/2, 20/1, 16/3} =10/2
Variable 1 X1 X2 X3 X4 X5
de base
-Z=X0 -8 -2 -3 0 0 0
X3 10 1 2 1 0 0
X4 20 2 1 0 1 0
X5 16 -1 3 0 0 1
31
B2 = (a2, a4, a5) est une nouvelle base. HB2 = (a1, a3) est la hors base.
Après des calculs, on obtiendra le tableau suivant :
Variable 1 X1 X2 X3 X4 X5
de base
32
La nouvelle solution x = (0, 5, 0, 15, 1) et z( x) = -7.
Elle n'est pas optimale car a1 = - 1/2 < 0 et a3 = 3/2 > 0.
Déterminons min{ aj, aj < 0, j = 1, 3 } = - 1/2 = a1 ( le choix de la colonne pivot o
de la variable rentrante). x1 rentre dans la base.
Déterminons le min positive ={5/(1/2),15/(3/2)}
33
Variable 1 X1 X2 X3 X4 X5
de base
-Z=X0 12 0 1 2 0 0
X1 10 1 0 0
X4 0 0 1 0
X5 26 0 0 1
34
Exercice 3:
Soit le PL suivant :
X1+X2 14
-2X1+3X2 12
2X1-X2 12
x1,x2 0
35