Introduction à la méthode du simplexe
Introduction à la méthode du simplexe
Dr [Link] 1
La méthode du simplexe
Introduction
La méthode du simplexe (de Dantzig) est applicable pour des problèmes de maximisation
dont toutes les contraintes (autres que celles de positivité) sont des inéquations de types ≤ (PL
sous forme canonique).
2
La méthode du simplexe
Forme standard
On transforme les inégalités des contraintes en égalités par introduction des variables
supplémentaires positives ou nulles appelées variables d’écart.
Max z = c1 x1 + c2 x2 … + cn xn Max z = c1 x1 + c2 x2 … + cn xn
a11 x1 + a12 x2 … + a1n xn ≤ b1 a11 x1 + a12 x2 … + a1n xn +e1 = b1
a21 x1 + a22 x2 … + a2n xn ≤ b2 a21 x1 + a22 x2 … + a2n xn +e2 = b2
: :
am1 x1 + am2 x2 … + amn xn ≤ bm am1 x1 + am2 x2 … + amn xn +em = bm
x1 ≥ 0 x1 ≥ 0
x2 ≥ 0 x2 ≥ 0
xn ≥ 0 xn ≥ 0
e1 ≥ 0 , e2 ≥ 0 , … e m ≥ 0
3
La méthode du simplexe
Solution initiale
Pour démarrer la méthode du simplexe, il est nécessaire d’avoir une solution initiale.
ceci suppose que les bi ne soient pas négatifs pour satisfaire les contraintes de signe.
4
La méthode du simplexe
Théorème du point extrême
Cet optimum est atteint en l’un des points extrême c’est-à-dire en l’un des sommets du DSA.
1.) T contient une infinité de solutions mais en nombre fini points extrêmes.
2.) Si la fonction-objectif à optimiser sur le domaine (T) admet un optimum alors cet optimum
est atteint en l’un des points extrêmes.
5
La méthode du simplexe
Théorème du point extrême
Définition
Considérons un programme linéaire avec n variables de décisions et m contraintes principales
admettant donc m variables d’écart.
Il passe d’un point extrême à un autre en améliorant la valeur de la fonction objectif à chaque
étape jusqu’à ce que l’optimum soit atteint.
6
La méthode du simplexe
Principe
La méthode du Simplexe est une méthode algébrique itérative pour la résolution des PL.
Elle parcoure les sommets du polyèdre convexe jusqu’à ce que la fonction objectif ne puisse
plus être améliorée.
7
La méthode du simplexe
Etapes de la méthode du simplexe pour un problème de maximisation
1. Ecrire un PL du problème
5. Choisir une variable entrante dans la base qui a le plus grand effet net positif cj-zj
6. Choisir une variable sortante de la base qui a le plus petit ratio supérieur à zéro.
8
La méthode du simplexe
Etapes de la méthode du simplexe pour un problème de maximisation
9
La méthode du simplexe
Structure d’un tableau du simplexe
VB e1 e2 … em
y1
y2
...
ym
10
La méthode du simplexe
Méthode
- De cette façon, on atteint que tous les éléments de la colonne de la variable entrante sont nuls sauf celui
de la ligne de la variable sortante dont la valeur est 1.
(Ceci est analogue à utiliser la méthode de Gauss-Jordan pour la résolution des systèmes d'équations
linéaires).
11
La méthode du simplexe
Méthode
12
La méthode du simplexe
Exemple
13
La méthode du simplexe
Exemple : Mise sous forme standard
14
La méthode du simplexe
Exemple : Solution de base
15
La méthode du simplexe
Exemple : Solution de base
Générer
16
La méthode du simplexe
Exemple : Tableau de simplexe initial de la forme standard
Le tableau initial de la méthode du simplexe est composé par tous les coefficients des variables de décision
du problème original et les variables d’écart).
Z 100 200 0 0 0 0 0
Solution
Ligne du Colonne du
19
pivot (l =3) pivot(c=2)
La méthode du simplexe
Exemple : Déterminer le pivot
Le pivot est l’intersection de la ligne du pivot et la colonne du pivot (pivot = aic)
Var
Max 100x1 + 200x2 Max 100x1 +200x2 Var de bases
x1 x2 e1 e2 e3 e4 bi
s. c x1 + x2 + e1 = 150 (1) s. c e1 = 150 (1)
e1 1 1 1 0 0 0 150
4x1 + 2x2 + e2 = 440 (2) e2 = 440 (2)
x1 + 4x2 + e3 = 480 (3) e3 = 480 (3) e2 4 2 0 1 0 0 440
x1 + e4 = 90 (4) e4 = 90 (4)
x1, x2, e1, e2, e3, e4 ≥0 (5) x1, x2, e1, e2, e3, e4 ≥0 (5) e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Le pivot
Z 100 200 0 0 0 0 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 1 1 1 0 0 0 150
e2 4 2 0 1 0 0 440
e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Z 100 200 0 0 0 0 0
Solution
Ligne du Colonne du
pivot (l =1) 20
pivot(c=2)
La méthode du simplexe
Exemple : Calcul du tableau suivant
1. Divise la ligne du pivot par le pivot (pivot = aic)
Var
Max 100x1 + 200x2 Max 100x1 +200x2 Var de bases
x1 x2 e1 e2 e3 e4 bi
s. c x1 + x2 + e1 = 150 (1) s. c e1 = 150 (1)
e1 1 1 1 0 0 0 150
4x1 + 2x2 + e2 = 440 (2) e2 = 440 (2)
x1 + 4x2 + e3 = 480 (3) e3 = 480 (3) e2 4 2 0 1 0 0 440
x1 + e4 = 90 (4) e4 = 90 (4)
x1, x2, e1, e2, e3, e4 ≥0 (5) x1, x2, e1, e2, e3, e4 ≥0 (5) e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
alj / alc Z 100 200 0 0 0 0 0
1/4=1/4
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 a31 / alc 1/4 =1/4
e2 a32 / alc 4/4=1
a33 / alc 0/4=0
x2 1/4 1 0 0 1/4 0 120 0/4=0
e4 1/4 =1/4
0/4=0
Z
Solution
Ligne du Colonne du
pivot (l =3) 21
pivot(c=2)
La méthode du simplexe
Exemple : Calcul du tableau suivant
2. Déterminer les coefficients des variables de base
A chacune des variables de base, on associe la valeur 1 à l’intersection de la ligne et de la
colonne relative à cette même variable et dans le reste de la colonne la valeur 0 .
Var
Var de bases x1 x2 e1 e2 e3 e4 bi
e1 1 1 1 0 0 0 150
e2 4 2 0 1 0 0 440
e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Z 100200 0 0 0 0 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 0 1 0 0
e2 0 0 1 0
x2 1/4 1 0 0 1/4 0 120
e4 0 0 0 1
Z 0 0 0 0
Solution
Ligne du Colonne du
pivot (l =3) 22
pivot(c=2)
La méthode du simplexe
Exemple : Calcul du tableau suivant
2. Calculer le reste des valeurs du tableau :
Le pivot
aij = aij – ( (aic /alc)* alj )
Var
Var de bases x1 x2 e1 e2 e3 e4 bi
e1 1 1 1 0 0 0 150
a11= a11-(a1c /alc)*al1 1 – ((1/4)*(1))= 3/4
e2 4 2 0 1 0 0 440
e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Z 100200 0 0 0 0 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 3/4 0 1 0 -1/4 0
e2 0 0 1 0
x2 1/4 1 0 0 1/4 0 120
e4 0 0 0 1
Z 0 0 0 0
Ligne du Colonne du
pivot (l =3) 23
pivot(c=2)
La méthode du simplexe
Exemple : Calcul du tableau suivant
2. Calculer le reste des valeurs du tableau :
aij = aij - (aic /alc)* alj
Le pivot
Var
Var de bases x1 X2 e1 e2 e3 e4 bi
e1 1 1 1 0 0 0 150
e2 4 2 0 1 0 0 440
a13= a13-(a1c/alc)*al30 – (1/4)*(1)=-1/4
e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Z 100200 0 0 0 0 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 3/4 0 1 0 -1/4 0
e2 0 0 1 0
x2 1/4 1 0 0 1/4 0 120
e4 0 0 0 1
Z 0 0 0 0
Ligne du Colonne du
pivot (l =3) 24
pivot(c=2)
La méthode du simplexe
Exemple : Calcul du tableau suivant
2. Calculer le reste des valeurs du tableau :
aij = aij - (aic /alc)* alj
Le pivot
Var
Var de bases x1 x2 e1 e2 e3 e4 bi
((0 *4)-(1*1))/4=-1/4 e1 1 1 1 0 0 0 150
e2 4 2 0 1 0 0 440
e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Z 100200 0 0 0 0 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 3/4 0 1 0 -1/4 0 30 150 – ( (1/4)*(480) )= 150- (120)=30
e2 0 0 1 0
x2 1/4 1 0 0 1/4 0 120 ( (150*4)-(480*1) )/4=
(600-480)/4=120/4=30
e4 0 0 0 1
Z 0 0 0 0
Ligne du
pivot Colonne
(l =3) du 25
pivot(c=2)
La méthode du simplexe
Exemple : Calcul du tableau suivant
2. Calculer le reste des valeurs du tableau :
Méthode 2
Le pivot
Var
Var de bases x1 x2 e1 e2 e3 e4 bi
((0 *4)-(1*1))/4=-1/4 e1 1 1 1 0 0 0 150
e2 4 2 0 1 0 0 440
e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Z 100200 0 0 0 0 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 3/4 0 1 0 -1/4 0 30 150 – ( (1/4)*(480) )= 150- (120)=30
e2 7/2 0 0 1 -1/2 0 200
x2 1/4 1 0 0 1/4 0 120 ( (150*4)-(480*1) )/4=
(600-480)/4=120/4=30
e4 1 0 0 0 0 1 90
Z 0 0 0 0
Ligne du Colonne du
pivot (l =3) 26
pivot(c=2)
La méthode du simplexe
Exemple : Calcul du tableau suivant
2. Calculer le reste des valeurs du tableau :
Le pivot
Var
Var de bases x1 x2 e1 e2 e3 e4 bi
e1 1 1 1 0 0 0 150
e2 4 2 0 1 0 0 440
e3 1 4 0 0 1 0 480
e4 1 0 0 0 0 1 90
Z 100200 0 0 0 0 0
Var
Var de bases
x1 x2 e1 e2 e3 E4 bi bi/aic
e1 3/4 0 1 0 -1/4 0 30 150/1= 150
e2 7/2 0 0 1 -1/2 0 200 440/2=220
x2 1/4 1 0 0 1/4 0 120 480/4=120
e4 1 0 0 0 0 1 90 90/0= +∞
Z 50 0 0 0 -50 0
100 – ( (200/4)*(1) )= 27
100- (50)=50
La méthode du simplexe
Exemple :
La nouvelle solution réalisable : Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 3/4 0 1 0 -1/4 0 30
x1 = 0
e2 7/2 0 0 1 -1/2 0 200
x2 = 120
x2 1/4 1 0 0 1/4 0 120
e1 = 30
e4 1 0 0 0 0 1 90
e2 = 200
Z 50 0 0 0 -50 0
e3 = 0
e4 = 90
x1, x2, e1, e2, e3, e4 ≥0
z = 100x1 + 200x2
z= 100*0 + 200*120
z=24000
28
La méthode du simplexe
Exemple :
1. Divise la ligne du pivot par le pivot (pivot = aic)
Var x1 x2 e1 e2 e3 e4 bi
Var de bases
e1 3/4 0 1 0 -1/4 0 30
e2 7/2 0 0 1 -1/2 0 200
x2 1/4 1 0 0 1/4 0 120
e4 1 0 0 0 0 1 90
Variable sortante Variable entrante Le pivot
Z 50 0 0 0 -50 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 3/4 0 1 0 -1/4 0 30 40
Plus petite
e2 7/2 0 0 1 -1/2 0 200 400/7= valeur positive
57,14
x2 1/4 1 0 0 1/4 0 120 480
e4 1 0 0 0 0 1 90 90
Z 50 0 0 0 -50 0 24000
29
La méthode du simplexe
Exemple :
La nouvelle solution réalisable :
Le pivot est l’intersection de la ligne du pivot et la colonne du pivot (pivot = aic)
Var x1 x2 e1 e2 e3 e4 bi
Var de bases
E1 3/4 0 1 0 -1/4 0 30 40
e2 7/2 0 0 1 -1/2 0 200 400/7
x2 1/4 1 0 0 1/4 0 120 480
e4 1 0 0 0 0 1 90 90
Z 50 0 0 0 -50 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
x1 1 0 4/3 0 -1/3 0
e2
x2
e4
Z
30
La méthode du simplexe
Exemple :
La nouvelle solution réalisable :
Le pivot est l’intersection de la ligne du pivot et la colonne du pivot (pivot = aic)
Var x1 x2 e1 e2 e3 e4 bi
Var de bases
E1 3/4 0 1 0 -1/4 0 30 40
e2 7/2 0 0 1 -1/2 0 200 400/7
x2 1/4 1 0 0 1/4 0 120 480
e4 1 0 0 0 0 1 90 90
Z 50 0 0 0 -50 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
x1 1 0 4/3 0 -1/3 0
e2 0 0 1 0
x2 0 1 0 0
e4 0 0 0 1
Z
31
La méthode du simplexe
Exemple :
La nouvelle solution réalisable :
Le pivot est l’intersection de la ligne du pivot et la colonne du pivot (pivot = aic)
aij = aij - (aic /alc)* alj Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
E1 3/4 0 1 0 -1/4 0 30 40
e2 7/2 0 0 1 -1/2 0 200 400/7
x2 1/4 1 0 0 1/4 0 120 480
e4 1 0 0 0 0 1 90 90
Z 50 0 0 0 -50 0
Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
x1 1 0 4/3 0 -1/3 0 40
e2 0 0 -14/3 1 2/3 0 60
x2 0 1 -1/3 0 1/3 0 110
e4 0 0 -4/3 0 1/3 1 50
Z
32
La méthode du simplexe
Exemple :
La nouvelle solution réalisable et optimale :
x1 = 40
x2 = 110 aij = aij - (aic /alc)* alj Var
Var de bases
x1 x2 e1 e2 e3 e4 bi
e1 = 0 E1 3/4 0 1 0 -1/4 0 30 40
e2 = 60 e2 7/2 0 0 1 -1/2 0 200 400/7
e3 = 0 x2 1/4 1 0 0 1/4 0 120 480
e4 = 50 e4 1 0 0 0 0 1 90 90
Z 50 0 0 0 -50 0
x1, x2, e1, e2, e3, e4 ≥0
50-( ( 50/(3/4))*3/4 ) = 0-( ( 50/3/4 )*1)= - ( 200/3) -50-( ( 50/3/4 )*(-1/4))=-50-(( 200/3)*(-1/4))=
-50- (-200/12)= -50 – (-100/6)=(- 300+100)/6=
33
50-50 = 0 =- 200/3
-200/6 =-100/3