Cours 10

publicité
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
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 :
ID
BL
E
D
B
On suppose que le rang de A, r(A) = r(A, d) = m.
A
n

min z = ∑ c j x j

j =1

n

 ∑ aij x j = d i , i = 1,..., m
 j =1

x j ≥ 0, j = 1,..., n


LA
Soit B = (a1,…, am) une base du système.
Alors on peut diagonaliser ce problème qui devient :
SA
A
D
D
A
H
min z = c0 + cm +1 xm +1 + ... + cn x n
x
a1m +1 xm +1 + ... + a1n x n = d1
 1 + ... +

x2 + ... + a 2 m +1 xm +1 + ... + a2n xn = d 2


........


xm + amm +1 xm +1 + ... + amn xn = d m
x j ≥ 0, j = 1,..., n.
x = (xB, xN), c = (cB, cN) et A = (B, N) avec cB = (0,…,0) alors
SI
TE
cj - zj = cj - cB . B-1.aj = cj , j ∈ J (l'ensemble des indices hors base).
cj - zj ≥ 0 ⇔ cj ≥ 0, j ∈ J.
ER
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
IV
composantes de x B = ( x 1,…, x m) soient négatives.
N
Soient J1 l'ensemble des indices de variables hors bases avec cj ≥ 0,
U
et J2 l'ensemble des indices de variables hors bases avec cj < 0.
Alors J = J1 + J2.
Cours 10 : Méthode du grand M (big M).
83
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Le problème devient :
min z = ∑ c j x j + ∑ c j x j + c0
j ∈ J1
j∈ J 2
xi + ∑ aij x j + ∑ aij x j = d i , ∀i = 1,..., m
j ∈ J1
j∈ J 2
x j ≥ 0,
∀j = 1,..., n
∑ x j ≤ M , M étant un nombre positif
Considérons une contrainte artificielle de la forme
j∈ J 2
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
ID
x j + x n + 1 = M , avecx n + 1 ≥ 0 .
BL
∑
j∈ J 2
A
nul dans la forme linéaire à minimiser.
min z = ∑ c j x j + ∑ c j x j + c0
j ∈ J1
j∈ J 2
(1)
∑ x j + x n +1 = M
j∈ J 2
x j ≥ 0,
(3)
H
A
{ }
D
Soit ct = min c j .
j∈J 2
j ≠t
SA
A
j ∈ J1
D
min z = ∑ c j x j + ∑ c j x j + ct xt + c0
xi + ∑ aij x j + ∑ aij x j + ait xt = d i
j∈ J1
j∈J 2
j ≠t
TE
∑ c j x j + xt + xn +1 = M
SI
j∈ J 2
j ≠t
IV
ER
(2)
∀j = 1,..., n
Ce problème obtenu est appelé " Problème augmenté ".
j∈ J 2
, ∀i = 1,..., m
B
j∈ J 2
LA
j ∈ J1
D
xi + ∑ aij x j + ∑ aij x j = d i
E
Le problème s'écrira :
x j ≥ 0,
(1' )
, ∀i = 1,..., m
(2' )
(3' )
∀j = 1,..., n
De l'équation (3'), on a que xt = M − ∑ c j x j − x n +1
j∈ J 2
j ≠t
(4) où M est un nombre positif
U
N
assez grand.
En remplaçant dans (1') et (2') la variable xt par (4)
Cours 10 : Méthode du grand M (big M).
84
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA





min z = ∑ c j x j + ∑ c j x j + ct − ∑ x j − xn +1 − M  + c0
 j∈ J 2

j∈ J 2
j ∈ J1


j ≠t
 j ≠t

Le problème devient
min z = ∑ c j x j + ∑ (c j − ct ) x j − ct xn +1 + ct .M + c0
j∈ J 2
j ≠t
j ∈ J1
xi + ∑ aij x j + ∑ ( aij − ait ) x j − ait xn +1 = d i − ait .M ,
∀i = 1,..., m
j∈ J 2
j ≠t
j∈ J1
ID
∀j = 1,..., n
BL
x j ≥ 0,
A
∑ c j x j + xt + x n + 1 = M
j∈ J 2
j ≠t
Dans ce problème tous les coefficients de la fonction objectif sont positifs alors on peut lui
D
E
appliquer l'algorithme dual du simplexe.
LA
L'algorithme conduit à l'une des trois situations suivantes.
B
Les variables de base sont x1, x2, …, xm, xt.
1. Le problème augmenté n'a pas de solutions finie (minz → - ∞ ) alors le problème initial
H
n'a pas de solutions.
A
2. Le problème augmenté possède une solution finie et xn+1 est une variable hors base, alors
D
le problème initial n'a pas de solutions optimale finie ( à montrer!!!!).
D
3. Le problème augmenté possède une solution optimale finie et xn+1 est une variable dans la
SA
A
base optimale. Le problème initial possède une solution optimale finie qui est celle de
l'augmenté.
N
IV
ER
SI
TE
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.
U
Considérons sa forme standard.
Cours 10 : Méthode du grand M (big M).
85
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Minz = - 2 x1 - x2 - x3
4 x1 + 6 x2 + 3 x3 + x4
= 8
- x 1 + 9 x2 - x 3
= 3
- x5
2 x 1 + 3 x2 - 5 x 3
- x6 = 4
xi ≥ 0, i = 1, …, 6.
Ce problème est équivalent à :
4 x1 + 6 x2 + 3 x3 + x4
= 8
x1 - 9 x2 + x3
= -3
+ x5
+ x6 = - 4
ID
- 2 x1 - 3 x2 + 5 x3
A
Minz = - 2 x1 - x2 - x3
BL
xi ≥ 0, i = 1, …, 6.
Dans ce problème c1 = - 2, c2 = - 1 et c3 = - 1.
E
On introduit dans le problème la contrainte artificielle:
Minz = - 2 x1 - x2 - x3
+ x5
+ x6 = - 4
A
- 2 x1 - 3 x2 + 5 x3
= -3
H
x1 - 9 x2 + x3
= 8
LA
4 x1 + 6 x2 + 3 x3 + x4
B
D
x1+ x2 + x3 ≤ M qui est équivalente à x1+ x2 + x3 + x7 = M.
D
x1+ x2 + x3 + x7 = M
D
xi ≥ 0, i = 1, …, 7.
SA
A
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
TE
2 x2 - x3 + x4
- 4 x7 = 8 - 4M
+ x5
SI
- 10 x2
IV
ER
- x2 + 7 x3
- x7 = - 3 - M
+ x6 + 2 x7 = - 4 + 2M
x1 + x2
+ x3
+ x7 = M
xi ≥ 0, i = 1, …, 7.
N
La solution de base de départ : x4 = 8 - 4M, x5 = - 3 - 3M, x6 = - 4 + 2M et x1 = M est une
U
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.
Cours 10 : Méthode du grand M (big M).
86
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Pour cela, calculons min { zj - cj, a4j < 0 } = min { -1/-1; -2/-4} = 2/4 = 1/2.
a7 rentre dans la base.
xB
Di
x1
x2
x3
x4
x5
x6
x7
0
x4
8 - 4M
0
2
-1
1
0
0
-4
0
x5
-3 -3M
0
-10
0
0
1
0
-1
0
x6
-4+2M
0
-1
7
0
0
0
2
0
x1
M
1
1
1
0
0
1
1
- 2M
0
-1
-1
0
0
0
-2
x1
x2
x3
x4
x5
2
x7
M-2
0
-1/2
1/4
-1/4
0
0
1
0
x5
-5
0
- 21/2
1/4
-1/4
1
0
0
0
x6
0
0
0
13/2
1/2
0
0
0
0
x1
2
1
3/2
3/4
1/4
0
1
0
-4
0
-2
-1/2
0
0
0
x3
x4
x5
x6
x7
5/21
-5/21
-1/21
0
1
-1/42
1/42
-2/21
0
0
0
13/2
1/2
0
1
0
0
11/14
3/14
1/7
0
0
0
-21/42
-19/42
-4/21
0
0
x2
2
x7
M- 37/21
0
0
1
x2
10/21
0
1
0
x6
0
0
0
x1
9/7
1
SA
- 64/21
0
u1
u2
u3
ER
SI
TE
Zj - cj
H
x1
A
di
D
xB
A
D
CB
-1/2
E
x7
D
di
Zj - cj
x6
B
xB
LA
CB
BL
I
D
Zj - cj
A
CB
Le dernier tableau donne une solution optimale du problème augmenté ; x7 est dans la base
IV
optimale.
La solution x* = ( 9/7, 10/21, 0, 0, 0, 0) est une solution optimale du problème initial et
N
min z = - 64/21.
U
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.
Cours 10 : Méthode du grand M (big M).
87
U
N
IV
ER
SI
TE
SA
A
D
D
A
H
LA
B
D
E
BL
ID
A
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 10 : Méthode du grand M (big M).
88
Téléchargement