UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 10 : Méthode du grand M (big M). 83
Cours 10:
Méthode du grand M (big M Method)
Solution de base duale-réalisable de départ
Pour appliquer l'algorithme dual du simplexe, il est nécessaire de posséder une base
duale-réalisable, une solution tel que cj - zj 0, j J (l'ensemble des indices hors base).
Considérons un programme linéaire :
=
==
=
=
=
njx
a
xcz
j
n
j
n
jjj
,...,1 ,0
m1,..., i ,dx
min
1ijij
1
On suppose que le rang de A, r(A) = r(A, d) = m.
Soit B = (a1,…, am) une base du système.
Alors on peut diagonaliser ce problème qui devient :
.,...,1,0
...
........
...a ...
...a ...x
...min
11
221122
111111
110
njx
dxaxax
dxaxx
dxax
xcxccz
j
mnmnmmmm
nnmm
nnmm
nnmm
=
=+++
=++++
=++++
+++=
++
++
++
++
x = (xB, xN), c = (cB, cN) et A = (B, N) avec cB = (0,…,0) alors
cj - zj = cj - cB . B-1.aj = cj , j J (l'ensemble des indices hors base).
cj - zj 0 cj 0, j J.
La méthode duale du simplexe est applicable si cj 0, j J.
Supposons que certains coefficients de la fonction objectif soient négatifs (cj < 0) et certaines
composantes de xB = ( x1,…, xm) soient négatives.
Soient J1 l'ensemble des indices de variables hors bases avec cj 0,
et J2 l'ensemble des indices de variables hors bases avec cj < 0.
Alors J = J1 + J2.
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 10 : Méthode du grand M (big M). 84
Le problème devient :
mi
njx
dxaxax
cxcxcz
j
i
Jj jij
Jj jiji
Jj jj
Jj jj
,...,1,
,...,1 ,0
min
21
0
21 =
=
=
+
+
+
+
=
Considérons une contrainte artificielle de la forme Mx
Jj j
2
, M étant un nombre positif
aussi grand que l'on veut.
L'équation devient en ajoutant une variable d'écart xn+1 non négative et affecté d'un coefficient
nul dans la forme linéaire à minimiser.
.0, 11
2
=+
++
nn
Jj javecxMxx
Le problème s'écrira :
njx
mi
Mxx
dxaxax
cxcxcz
j
n
Jj j
i
Jj jij
Jj jiji
Jj jj
Jj jj
,...,1 ,0
)2( ,...,1,
(3)
(1) min
1
2
21
0
21
=
=
=+
=
+
+
+
+
=
+
Ce problème obtenu est appelé " Problème augmenté ".
Soit
{
}
j
Jj
tcc
2
min
=.
njx
mi
Mxxxc
dxaxaxax
cxcxcxcz
j
nt
tj
Jj jj
i
tj
Jj titjij
Jj jiji
tt
tj
Jj jj
Jj jj
,...,1 ,0
)'2( ,...,1,
)(3'
)(1' min
1
2
2
1
0
2
1
=
=
=++
=
++
+
++
+
=
+
De l'équation (3'), on a que (4)
1
2
+
= n
tj
Jj jjt xxcMx où M est un nombre positif
assez grand.
En remplaçant dans (1') et (2') la variable xt par (4)
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 10 : Méthode du grand M (big M). 85
01
22
1
min cMxxcxcxcz n
tj
Jj jt
tj
Jj jj
Jj jj +
+
+
=+
Le problème devient
njx
mi
Mxxxc
Madxaxaaxax
cMcxcxccxcz
j
nt
tj
Jj jj
iti
tj
Jj nitjitij
Jj jiji
tnt
tj
Jj jtj
Jj jj
,...,1 ,0
,...,1 ,
.)(
.)(min
1
2
2
1
1
01
2
1
=
=
=++
=
+
+
++
+
=
+
+
+
Dans ce problème tous les coefficients de la fonction objectif sont positifs alors on peut lui
appliquer l'algorithme dual du simplexe.
Les variables de base sont x1, x2, …, xm, xt.
L'algorithme conduit à l'une des trois situations suivantes.
1. Le problème augmenté n'a pas de solutions finie (minz - ) alors le problème initial
n'a pas de solutions.
2. Le problème augmenté possède une solution finie et xn+1 est une variable hors base, alors
le problème initial n'a pas de solutions optimale finie ( à montrer!!!!).
3. Le problème augmenté possède une solution optimale finie et xn+1 est une variable dans la
base optimale. Le problème initial possède une solution optimale finie qui est celle de
l'augmenté.
Exemple : résoudre le problème suivant :
Minz = - 2 x1 - x2 - x3
4 x1 + 6 x2 + 3 x3 8
- x1 + 9 x2 - x3 3
2 x1 + 3 x2 - 5 x3 4
x1 0, x2 0 et x3 0.
Considérons sa forme standard.
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 10 : Méthode du grand M (big M). 86
Minz = - 2 x1 - x2 - x3
4 x1 + 6 x2 + 3 x3 + x4 = 8
- x1 + 9 x2 - x3 - x5 = 3
2 x1 + 3 x2 - 5 x3 - x6 = 4
xi 0, i = 1, …, 6.
Ce problème est équivalent à :
Minz = - 2 x1 - x2 - x3
4 x1 + 6 x2 + 3 x3 + x4 = 8
x1 - 9 x2 + x3 + x5 = - 3
- 2 x1 - 3 x2 + 5 x3 + x6 = - 4
xi 0, i = 1, …, 6.
Dans ce problème c1 = - 2, c2 = - 1 et c3 = - 1.
On introduit dans le problème la contrainte artificielle:
x1+ x2 + x3 M qui est équivalente à x1+ x2 + x3 + x7 = M.
Minz = - 2 x1 - x2 - x3
4 x1 + 6 x2 + 3 x3 + x4 = 8
x1 - 9 x2 + x3 + x5 = - 3
- 2 x1 - 3 x2 + 5 x3 + x6 = - 4
x1+ x2 + x3 + x7 = M
xi 0, i = 1, …, 7.
Déterminons le min { cj, cj < 0 } = -2 = c1.
La variable x1 = M - x1- x2 - x3 - x7 sera remplacée dans le problème qui deviendra :
Minz = - 2.M + x2 + x3 + 2 x7
2 x2 - x3 + x4 - 4 x7 = 8 - 4M
- 10 x2 + x5 - x7 = - 3 - M
- x2 + 7 x3 + x6 + 2 x7 = - 4 + 2M
x1 + x2 + x3 + x7 = M
xi 0, i = 1, …, 7.
La solution de base de départ : x4 = 8 - 4M, x5 = - 3 - 3M, x6 = - 4 + 2M et x1 = M est une
solution duale-réalisable de base.
Dressons le tableau représentant le problème et calculons le :
min { xj , xj < 0} = min { 8 - 4M, - 3 -3M } = 8 - 4M. a4 sort de la base courante.
Déterminons quelle variable rentrera dans la base.
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 10 : Méthode du grand M (big M). 87
Pour cela, calculons min { zj - cj, a4j < 0 } = min { -1/-1; -2/-4} = 2/4 = 1/2.
a7 rentre dans la base.
CBxBDix1x2x3x4x5x6x7
0
0
0
0
x4
x5
x6
x1
8 - 4M
-3 -3M
-4+2M
M
0
0
0
1
2
-10
-1
1
-1
0
7
1
1
0
0
0
0
1
0
0
0
0
0
1
- 4
- 1
2
1
Zj - cj- 2M 0 -1 -1 0 0 0 -2
CBxBdix1x2x3x4x5x6x7
2
0
0
0
x7
x5
x6
x1
M-2
-5
0
2
0
0
0
1
-1/2
- 21/2
0
3/2
1/4
1/4
13/2
3/4
-1/4
-1/4
1/2
1/4
0
1
0
0
0
0
0
1
1
0
0
0
Zj - cj- 4 0 - 2 -1/2 -1/2 0 0 0
CBxBdix1x2x3x4x5x6x7
2
1
0
0
x7
x2
x6
x1
M- 37/21
10/21
0
9/7
0
0
0
1
0
1
0
0
5/21
-1/42
13/2
11/14
-5/21
1/42
1/2
3/14
-1/21
-2/21
0
1/7
0
0
1
0
1
0
0
0
Zj - cj- 64/21 0 0 -21/42 -19/42 -4/21 0 0
1
u2
u3
u
Le dernier tableau donne une solution optimale du problème augmenté ; x7 est dans la base
optimale.
La solution x* = ( 9/7, 10/21, 0, 0, 0, 0) est une solution optimale du problème initial et
min z = - 64/21.
La solution du dual du primal est donnée dans le tableau final ou optimal.
u*= ( 19/42, 4/21, 0) et max w = -64/21.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !