méthode de simplexe1
méthode de simplexe1
méthode de simplexe1
Introduction
Dans la plus part des problèmes réels nous serons confrontés à des situations où les
nombres de variables est supérieur à 2. La méthode simplexe par une approche algébrique
permet de résoudre sans aucune difficulté un problème d’optimisation avec plus de 2
variables.
Ax b
X 0
X1 + x2 150
. . .
. . .
. . .
X1, X2, Xn 0
s1, s2 … sm 0
X1 + s4 = 90 (3.5)
L’impact de ces variables d’écart sur la fonction objectif est nul. Leur existence est tout
simplement liée à une mise en forme du PL initial. Le fait de donner la valeur des variables
d’écart à l’optimum donne une idée du nombre de ressources non utilisé.
2) Ce ne sont pas toutes les solutions qui vérifient les contraintes (3.2) jusqu’à (3.5). Elles
doivent en plus satisfaire les contraintes de non négativité ainsi une procédure algébrique
doit éliminer de l’ensemble des solutions celles qui n’arrivent pas à satisfaire les contraintes
de non négativité.
3) La procédure algébrique doit être capable de choisir parmi les solutions réalisables celle
qui maximise la fonction objectif. Généralement si un programme linéaire standard est
constitué de n variables et m contraintes avec n > m alors une solution de base extrême est
obtenue en annulant n – m variables et en résolvant les m contraintes pour déterminer les
valeurs des autres m variables. On note une solution de base n’est pas toujours réalisable
c’est le cas de la solution qu’on vient de trouver.
Après avoir mis le programme linéaire sous une forme qui vérifie les propriétés P1 et P2
l’étape suivante consiste à tracer le tableau.
P2 : les valeurs des seconds membres des contraintes doivent être positives.
Ci VB Qi X1 X2 S1 S2 S3 S4
0 S1 150 1 1 1 0 0 0 150
0 S2 430 4 2 0 1 0 0 215
A 0 S3 480 1 4 0 0 1 0 120
0 S4 90 1 0 0 0 0 1
Zj 0 0 0 0 0 0
Exemple :
Quelles sont les contraintes et la fonction objectif décrite par le tableau de simplexe suivant ?
6 7 0 0
X1 X2 S1 S2
0 S1 150 4 2 1 0
0 S2 440 1 5 0 1
Solution :
Max :
X1 + 5x2 + s2 = 440
Programme linéaire :
X1 + 5x2 440
X1, x2,
Remarque :
Les variables qui figurent dans la deuxième colonne sont dites variables de base. A chacune
de ces variables on associe la valeur 1 à l’intersection de la ligne et de la colonne relative à
cette variable et dans le reste de la colonne on trouve des 0.
a) Amélioration de la solution
Pour améliorer la solution il faut générer une autre solution de base qui augmente la
valeur de la solution de base c’est-à-dire qu’on doit sélectionner une variable hors
base et une variable de base les permuter de telle façon que la nouvelle valeur
solution donne une plus grande valeur à la fonction objectif.
Pour savoir si on peut améliorer notre solution réalisable de base initiale nous allons
introduire 2 nouvelles lignes au-dessus du tableau de simple
La première ligne Zi représente la valeur de la fonction objectif qui résulte du fait
qu’une unité de la variable correspondant à la jiem colonne de la matrice A est
amenée dans la base. En effet si on produit un hectare supplémentaire de x1 la
valeur de quelque de variables de base va changer donc une augmentation de 0 vers
1 de x1 va être accompagné d’une diminution des variables de base s1, s2 et s3
respectivement 1, 4, 1 et 1. L’effet de cette diminution sur la fonction objectif est nul
car les coefficients des variables d’écart dans ces fonctions sont nuls. On dit que la
valeur Z1 est calculée en multipliant les coefficients de la première colonne de la
matrice A relatif à la variable x1 par les coef Cj de la 1ère colonne.
Zj=
Abdou NDIAYE DIC1 GENIE CIVIL Page
La 2ème ligne notée Cj-Zj représente l’effet net de l’augmentation d’une unité de la
jième variable. Dans notre exemple l’effet net sur la fonction objectif par
l’augmentation d’une unité dans la valeur de x1 est C1-Zi = 100 – 0 = 100. En
analysant la ligne relative à l’évaluation Cj-Zj, on remarque l’augmentation d’une
unité sur x1 engendre un profit de 100f alors qu’une augmentation de la valeur x2
engendre de la valeur de 200f. Ce qui justifie notre choix d’augmenter x2. On dit que
x2 est la variable entrante. Le problème est donc jusqu’où on peut augmenter x2.
Cette augmentation ne peut pas se faire infiniment sous l’hypothèse que x1 reste
nulle. Le fait d’augmenter x2 jusqu’à la valeur 120 va engendrer l’annulation de la
valeur de la variable d’écart S3. Ce qui élimine S3 de la base. On appelle S3 variable
sortante. L’élément à l’intersection de la variable entrante et de la variable sortante
est l’élément pivot du tableau.
100 200 0 0 0 0
X1 X2 S1 S2 S3 S4
0 S1 30 3/4 0 1 0 -1/4 0 40
0 S4 90 1 0 0 0 0 1 90
50 200 0 0 50 0
150 480 1
= 30
4
430 480 2
= 190
4
90 480
= 90
4
100 200 0 0 0 0
X1 X2 S1 S2 S3 S4
0 S2 50 0 0 -14/3 1 2/3 0
0 S4 50 0 0 -4/3 0 1/3 1
0 0 -200/3 0 -100/3 0
Les effets associés aux variables hors base S1 et S3 sont négatifs. Ceci nous oblige à dire que faire entrer une de
ces deux variables dans la base va engendrer une diminution de la valeur de la fonction objectif. Donc il n’y pas
une autre solution réalisable de base qui peut produire un meilleur profit. Par suite cette dernière solution est
la solution optimale.
-x1 + x2 4
SC : x2 5
X1 > 0 x2 0
Afin de générer une solution réalisable de base initiale pour la méthode de simplexe, on a annulé les variables
de décision x1 et x2. Pour éviter de tomber à l’absurdité 0 = 60 on introduit des variables artificielles A1 et A2
et le programme suivant devient Max Z = 5x1 + 6x2 +0S1 + 0S2 + 0A1 + 0A2
SC : -x1 + x2 +S1 = 4
5x1 + 3x2 + A1 = 60
X2 – S2 + A2 = 50
X1 X2 S1 S2 A1 A2
0 S1 4 -1 1 1 0 0 0 -4
-M A1 60 5 3 0 0 1 0 12
-M A2 5 0 1 0 -1 0 1
-5M -4M 0 M -M -M
5+5M 6+4M 0 -M 0 0
5 6 0 0 -M -M
X1 X2 S1 S2 A1 A2
-M A2 5 0 1 0 -1 0 1 5/1=5
5 3-M 0 M 1 -M
0 3+M 0 -M -M-1 0
X1 X2 S1 S2 A1 A2
6 X2 5 0 1 0 -1 0 1 -5
5 6 0 -3 1 3
0 0 0 3 -M-1 -M-3
5 6 0 0 -M -M
X1 X2 S1 S2 A1 A2
0 S2 5 0 0 5/8 1 1/8 -1
5 X1 6 1 0 -3/8 0 1/8 0
6 X2 10 0 1 5/8 0 1/8 0
X1 = 6 et x2 = 10
L’introduction des variables artificielles nous a permis d’avoir un programme linéaire modifié
conforme au principe de la méthode complexe. Cependant il faut noter qu’avec les variables
d’écart la solution de base est :
X1 = 0, x2 = 0, S1 = 4, S2 =0, A1 = 60 et A2 = 5
Problème de minimisation
Min x1 + x2
2x1 + x2 12
5x1 + 8x2 74
X1 + 6x2 24
X1 0, x2 0
Solution :
Min x1 + x2
2x1 + x2 –S1 = 12
X1 + 6x2 – S3 = 24
X1 X2 S1 S2 S3 A1 A2 A3
M A1 12 2 1 -1 0 0 1 0 0 12
M A2 74 5 8 0 -1 0 0 1 0 37/4
M A3 24 1 6 0 0 -1 0 0 1 4
Zj 8M 15M -M -M -M M M M
1 1 0 0 0 M M M
X1 X2 S1 S2 S3 A1 A2 A3
X1 X2 S1 S2 S3 A1 A2 A3
M A2 26 0 0 2 -1 1 -2 1 -1 13
Zj 1 1 2M- -M M- M M M
5/11 1/11
1 1 0 0 0 M M M
X1 X2 S1 S2 S3 A1 A2 A3
M A2 26 0 0 2 -1 1 -2 1 -1 13
Zj 1 1 - -M - 5/11- M 1/11-
5/11+2M 1/11+M 2M M
X1 X2 S1 S2 S3 A1 A2 A3
1 1 0 0 0 M M M
X1 X2 S1 S2 S3 A1 A2 A3
0 S3 26 0 0 2 -1 1 -2 1 -1
X1 = 2 ET X2 = 8
Min Z = X1 + X2
Remarque : Si le 2ème membre est négatif il suffit de multiplier la ligne par -1.
Problèmes Irréguliers
a) Problème impossible
Avec la méthode simplexe on reconnait que le problème est impossible, si une ou plusieurs
variables artificielles sont présentes dans la base dans le tableau de simplexe optimal.
X1 + X2 2
3X1 + X2 10
X1, X2 0
Solution :
X1 + X2 + S1 = 2
3X1 + X2 – S2 + A = 10
X1 X2 S1 S2 A
0 S1 2 1 1 1 0 0 2
-M A 10 3 1 0 -1 1 3.5
Zj -3M -M 0 M -M
4 3 0 0 -M
X1 X2 S1 S2 A
4 X1 2 1 1 1 0 0
-M A 4 0 -2 -3 -1 1
Zj 4 4+2M 4+3M M -M
Max X1 + 2X2
X1 + X2 2
X2 3
X1, X2 0