Méthode des coupes de Gomory

Download Report

Transcript Méthode des coupes de Gomory

Méthode des coupes de Gomory
• Principe des méthodes de coupes
Introduire de nouvelles contraintes linéaires au problème pour
réduire le domaine réalisable du problème relaxé sans pour
autant éliminer de points du domaine réalisable du problème
avec les contraintes de nombre entier sur les variables.
• La procédure consiste à résoudre une suite de problèmes
relaxés jusqu’à ce qu’une solution optimale en nombres entiers
soit obtenue.
• Un problème de la suite est obtenu du précédent en lui ajoutant
une contrainte linéaire (coupe) supplémentaire.
Considéron s le problème de programmat ion linéaire
en nombres entiers suivant :
n
( P)
Min
c
j1
j
n
Sujet à
a
j 1
ij
xj
x j  bi i  1,  , m
x j  0, entier,
j  1,  , n
Voyons comment contruire une coupe de Gomory.
Soit B une base optimale de ( P), et x k la variable de base
dans la i ième ligne du tableau optimal prenant une valeur
qui n' est pas entière.
Considéron s le problème de programmat ion linéaire
en nombres entiers suivant :
n
( P)
Min
c
j1
n
Sujet à
a
j 1
xj
j
ij
x j  bi i  1,  , m
x j  0, entier,
j  1,  , n
La ligne correspond ante du tableau est de la forme :
xk   tij x j  b i
jJ
1
où J   j : j est l' indice d' une variable hors base et
b i n' est pas entier.
La ligne correspond ante du tableau est de la forme :
1
xk   tij x j  b i
jJ
où J   j : j est l' indice d' une variable hors base et
b i n' est pas entier.
Définisson s d   le plus grand entier (plancher)  d .
Puisque x j  0 j , alors
 t  x
jJ
ij
j
  t ij x j
jJ
et par conséquent
x k   t ij  x j  b i .
jJ
(2)
La ligne correspond ante du tableau est de la forme :
1
xk   tij x j  b i
jJ
Si nous considéron s la contrainte d' intégralit é
des variables x j , il découle de (2) que
xk   tij  x j  b i .
où J   j : j est l' indice d' une variable hors base et
(3)
jJ
b i n' est pas entier.
Ainsi toute solution de ( P) satisfait (3).
Définisson s d   le plus grand entier (plancher)  d .
Puisque x j  0 j , alors
 t  x
jJ
ij
j
  t ij x j
Considéron s maintenant la relation obtenue en
faisant le différence entre (3) et (1) :
jJ
 t   t  x  b   b 
et par conséquent
x k   t ij  x j  b i .
(2)
jJ
jJ
ij
ij
j
Notons que
t   t   0
ij
ij
et
4
i
i
b  b   0
i
Puisque toute solution de ( P) satisfait (1) et (3), alors elle satisfait (4),
et son introducti on dans ( P) n' élimine aucune solution de ( P).
i
Considéron s maintenant la relation obtenue en
faisant le différence entre (3) et (1) :
 t   t  x  b   b 
jJ
ij
ij
j
Notons que
t   t   0
ij
ij
et
4
i
i
b  b   0
i
i
Puisque toute solution de ( P) satisfait (1) et (3), alors elle satisfait (4),
et son introducti on dans ( P) n' élimine aucune solution de ( P).
Par contre, la solution actuelle du problème relaxé ( P) où
x j  0 j  J ne satisfait pas (4) et son introducti on réduit le
domaine réalisable du problème relaxé ( P).
Pour poursuivre la résolution , il suffit d' introduire la contrainte
 t   t  x
jJ
ij
ij
j

 x  b i   b i

où x est une variable d' écart avec coût nul, au dernier ta bleau du
simplexe pour générer une solution de base au nouveau problème en
considéran t x comme la variable de base dans la nouvelle ligne du tableau .


Cette solution de base n' est pas réalisable puisque x  b i   b i  0.
Il suffit de poursuivre la résolution avec l' algorithme dual du simplexe.
Notes :
1) Si t ij   t ij (i.e., t ij est entier) j  J , alors
x k   t ij x j  b i
1
jJ
indique que ( P) n' est pas réalisable puisque le terme de gauche prend une
valeur entière pour toute solution réalisable de ( P ) alors que le terme de
droite n' est pas entier.
2) Une dérivation similaire s' applique à toutes les itérations .
Considéron s le problème suivant
Min  21x1  11x 2
Sujet à 7 x1  4 x 2  x 3  13
x1 , x 2 ,x 3  0, entiers
Itération 1 :
Solution optimal de ( P ) de base
4
1
13
x1  x2  x3 
7
7
7
valeur opt.  -39
Nouvelle contrainte :
 4 4 
 1 1 
13  13
     x2       x3  x4    
7 7
 7 7 
 7 7 
Interpréta tion géométriqu e :
4
1
6
x 2  x 3     4 x 2  x 3  6.
7
7
7
Or x 3  13  7 x1  4 x 2 . Ainsi

 4 x 2  13  7 x1  4 x 2  6
 x1  1
Itération 2 :
Résoudre le problème relaxé de
Min  21x1  11x 2
Sujet à 7 x1  4 x 2  x 3
 13
4
1
6
 x 2  x3  x 4  
7
7
7
x1 , x 2 ,x 3 , x 4  0, entiers
Nous obtenons
x1
 x4  1
1
7
3
x3  x 4 
4
4
2
1
valeur opt.  37
2
x2 
Nous obtenons
x1
 x4  1
1
7
3
x3  x 4 
4
4
2
1
valeur opt.  37
2
x2 
Nouvelle contrainte à partir
de la 2ième contrainte :
1
1
1
 x3  x 4  x5  
4
4
2
Nouvelle contrainte à partir
de la 2ième contrainte :
1
1
1
 x3  x 4  x5  
4
4 géométriqu e2
Interpréta
tion
 x3  x4  2
Substituon s la valeur de x 4 tirée de
 4 4 
 1 1 
13  13
     x2       x3  x4    
7 7
 7 7 
 7 7 
pour obtenir
4
1
6
x2  x3   2.
7
7
7
Substituon s maintenant la valeur de x3
 x3 
x3  13  7 x1  4 x2
pour obtenir
8
32
4
6
13  8 x1  x2  x2   2
7
7
7
7
 2 x1  x2  3
Itération 3 :
Résoudre le problème
Min
 21x1  11x 2
Sujet à
 x4
x1
1
1
7
3
x3  x 4

4
4
2
1
1
1
 x3  x 4  x5  
4
4
2
x1 , x 2 ,x 3 , x 4 , x 5  0, entiers
x2 
Nous obtenons
 x1
 x3
 x5  1
2 x1  x2
x1
 x5  3
 x4
1
Donc solution optimale entière :
x1  0, x2  3, x3  1
Valeur optimale  33