Académique Documents
Professionnel Documents
Culture Documents
2ème année
ROAD | DSE |DS
Wadie CHATT
INSEA | 2020-2021
Questions
Résolution Programme
Linéaire en Nombres
Entiers
Méthodes par
séparation et
évaluation
« Branch & Bound »
Méthodes
d’énumération
implicite
Méthodes d’énumération implicite
Présentation
𝑐. 𝑥 = 𝑧 ( 𝑚𝑎𝑥) 𝑐. 𝑥 = 𝑧 ( 𝑚𝑖𝑛)
(𝑃01 ) 𝐴. 𝑥 ≤ 𝑏 ou (𝑃01 ) 𝐴. 𝑥 ≥ 𝑏
𝑥𝑗 ∈ 0,1 𝑥𝑗 ∈ 0,1
Méthodes d’énumération implicite
Hypothèses et notations
Hypothèse de départ
On suppose que tous les cj sont non positifs (ou non négatifs)
Cette hypothèse n’est pas restrictive :
' 1 x
En effet, si cj > 0 (ou <0), on pose x j j
In s’ensuit que : x j { 0,1} x j { 0,1}
'
Exemple
On pose J0 = {1} J1 = {2 , 4}
Séparation
La séparation d’un sous ensemble S(J0 , J1) se S se fera en fixant une variable
libre Xr, soit à 0 soit à 1 (Xr n’est plus une variable libre alors)
S(J0 , J1) aura alors deux successeurs :
S ( 𝐽0 ∪ 𝑟 , 𝐽1 ) S ( 𝐽0 , 𝐽1 ∪ 𝑟 )
Méthodes d’énumération implicite
Description des opérations
Exemple 1
On pose J0 = {1} J1 = {2 , 4}
Méthodes d’énumération implicite
Description des opérations
S(J0 , J1)
x3 = 0 x3 = 1
Exemple 1 z
C J L .x J L z(max ou min) c j
jJ1
b
(P(J0 , J1)) A J L .x J L () b A j
jJ1
x j 0 , 1 j J L
z
CJ L .x J L z(max ou min) c j
jJ1
b
(P(J0 , J1)) A J L .x J L () b A j
jJ1
x j 0 , 1 j J L
Si JL = , x est
- soit réalisable si b 0 et(on0)a S(J0 , J1) =x ;
On dispose alors d’une évaluation exacte de S(J0 , J1) : z c.x c j
jJ1
- soit non réalisable si b a au moins une composante négative (positive)
et on a S(J0 , J1) =
Méthodes d’énumération implicite
Description des opérations
Exemple 2
On pose J0 = {1,3} J1 = {2 , 4, 5}
On a JL =
-x1 - x2 - x3 + x4 - x5 -1
xj {0 , 1} j = 1, … , 5
-x1 - x2 - x3 + x4 - x5 -1
La seconde inéquation de P(J0 , J1) s’écrit alors : x1 - 2x2 - 3x3 - 2x4 - 2x5 -5
x1 - 2x5 -3
-x1 - 3x2 - 2x3 - 3x4 + x5 -5
Aucune affectation des variables x1 ou x5 à 0 xj {0 , 1} j = 1, … , 5
ou 1 ne peut satisfaire cette inéquation
( b2 est toujours négative).
On pose J0 = {3,4} J1 = {2}
S(J0 , J1) est donc vide et éliminé.
Méthodes d’énumération implicite
Description des opérations
Cas particulier
𝒋
Si une contrainte σ𝒋∈𝑱𝑳 𝑨𝒓 ≤ ≥ 𝒃𝒓 𝒆𝒔𝒕 𝒕𝒆𝒍𝒍𝒆 𝒒𝒖𝒆
Comment tester ?
Evaluation exacte
Méthodes d’énumération implicite
Description des opérations
Comment tester ?
Exemple 4
x3 = 0 x3 = 1
Si S(J0 , J1) est stérilisé, on cherche le symbole r non souligné de rang maximum dans
la liste h(J0 , J1). La nouvelle signature à traiter est obtenue :
• en supprimant dans la liste tous les symboles de rang supérieur à celui de r
• en changeant le signe du symbole r
• et en soulignant le résultat obtenu
Cette règle permet de se placer en cas de stérilisation sur le sommet à traiter ; obtenu
par séparation, il n’est ajouté dans l’arborescence qu’au moment d’être traité.
Cette règle respecte le mode de choix du sommet pendant le plus à droite (ou le plus
à gauche) de l’arborescence de décomposition de l’ensemble S (avec ce mode de
choix, les symboles précédés du signe (-) sont toujours soulignés, les autres sont
toujours non soulignés
Méthodes d’énumération implicite
Description des opérations
Exemple 5
On suppose que la signature de S(J0 , J1) est S(J0 , J1) = (3,-4, 7, 1, -8, 5).
J0 = {4 , 8} J1 = {1 , 3 , 5 , 7}
J0 = {1 , 4} J1 = {3 , 7}
Méthodes d’énumération implicite
Description des opérations
5 4
6/ h = (-r1) J0 = {r1} J1 =
Méthodes d’énumération implicite
Description des opérations
Choix de l’indice r
On pose
𝒋
𝑰 = 𝒊 𝒃𝒊 < 𝟎 (> 𝟎)} 𝑹 = 𝒋 𝑨𝒊 < 𝟎 (> 𝟎)} pour au moins un i ∈ 𝑰
Une des variables R, au moins, sera fixée à 1 dans toute solution réalisable de S(J0 , J1)
et on aimerait arriver le plus vite possible à une évaluation exacte. Une mesure de la
distance à une évaluation exacte est :
𝒅 = − 𝒃𝒊 (𝒅 = 𝒃𝒊 )
𝒊∈𝑰 𝒊∈𝑰
Pour le successeur 𝑺 𝑱𝟎 , 𝑱𝟏 ∪ 𝒓 𝑑𝑒 S(J0 , J1), de dévient :
Choix de l’indice r
Et si ce minimum est atteint pour plusieurs indices, on choisira celui pour lequel 𝒄𝒓
est maximum (minimum), minimum de valeur absolue
Méthodes d’énumération implicite
Exemple 7
-x1 - x3 + x4 - x5 0 1 -1 1 I = {i / bi < 0} = {2 , 3}
xj {0 , 1} j = 1, 3, 4, 5 d3 = 0 d4 = 2 d5 = 4 = {3 , 4, 5}
n
d r max 0 , b i A ir
i 1
-x1 - x2 - x3 + x4 - x5 -1
xj {0 , 1} j = 1, … , 5
Méthodes d’énumération implicite
14 0
x2 = 0 x2 = 1
14 8 1 10
x3 = 0 x3 = 1 x3 = 0 x3 = 1
12 9 6 10 3 2 2*
x4 = 0 x4 = 1 x4 = 0 x4 = 1
11 10 2 7 4 6
x5 = 0 x5 = 1
6 5 1*