Académique Documents
Professionnel Documents
Culture Documents
Dr TARI Abdelkamel
Mai 2012
Plan
Introduction à la PLB
Problème de recouvrement et de
partionnement
Algorithme de BALAS
Amélioration de BALAS
Introduction
Un PLB s’écrit:
Min Z = ƒ (x1…..x n)
gi(x1….x n) ≤ b avec i I={1, …, m}
xj= (1, 0) pour j J{1, …, n}
Un PLNE peut être ramené à un PLB par l’une des
transformations: k
_ xk ≤ uk avec xk y j avec y j (1,0) j 1,..., k
j 1
k
- xk 2 j y j avec y j (1,0)
j 1
et k le plus petit entier tel que 2(k+1) ≥ uk +1
Inconvénient: Nombre de variables augmentent !!!
Techniques d'Optimisation
3
ed2c'2012
Problème de Recouvrement et Partionnement (1/2)
Soient m tâches s1…, s m à réaliser avec n moyens E1…, En
Un moyen Ej réalise une ou plusieurs tâches avec un coût cj =
cj(Ej).
Problème de recouvrement : Réaliser toutes les tâches par les
moyens au moindre coût.
Problème de partitionnement: les moyens sont exclusifs (une
tâche est réalisée par un et un seul moyen)
Modélisation:
S={s1…, s m} l’ensemble des tâches et ζ ={E1, …, En} l’ensemble
des moyens où Ej S (Ej 0) et Ej = S.
H=(S, ζ) est appelé hypergraphe.
Techniques d'Optimisation
4
ed2c'2012
Problème de Recouvrement et Partionnement (2/2)
Modèle: Min Z n
cjxj
j 1
n
aij xij 1i 1,..., m
j 1
x j (1, 0) j 1,..., n
Techniques d'Optimisation
5
ed2c'2012
Algorithme de Ballas (1/4)
Approche Branch and Bound (arborescence des solutions)
Principe de séparation : xj=1 sur une branche et xj=0 sur l’autre
La racine correspond à toutes les variables nulles (J0=)
La solution initiale n’est pas réalisable
Une itération: Améliorer l’infaisabilité de la solution
Contraindre un sous ensemble de variables à la valeur 1.
Stratégie d’exploration:
Profondeur d’abord: Exploration d’une branche jusqu'à obtenir sa
feuille ou la couper.
Exploration intelligente :
Mêmes techniques d’élagage que B&B
Utilisation d’une série de tests pour éliminer des branches
inutiles.
Techniques d'Optimisation
6
ed2c'2012
Algorithme de Ballas (2/4)
Soit le PLB suivant:
Infaisabilité de xj au nœud t:
Test 3 bis:
Glover et Zionts ont proposé une modification du test 3 :
Dt = {jϵ Nt /
Si Dt = Nt, supprimer Jt
Techniques d'Optimisation
9
ed2c'2012
Exemple illustratif
Soit le PLB suivant: Le PLB’ est:
Max Z = 3x1+2x2 - 5x3 -2x4 +3x5 Min Z= 3x1+2x2 + 5x3 +2x4 +3x5
x1+x2 + x3 +2x4+x5 ≤ 4 -- x1 - x2 + x3 + 2x4 - x5 + S1 = 1
7x1+ 3 x3 - 4x4+ 3 x5 ≤ 8 - 7x1 + 3 x3 - 4x4 - 3x5 + S2 = -2
11 x1 – 6x2 +3x4 – 3x5 ≥ 3 11 x1 – 6x2 -3x4 – 3x5 + S3= -1
xj = (0,1) j=1, .., 5 xj = (0,1) j=1, ..,5
Si 0
Transformations:
Max Z Min (-Z)
xj= 1- xj pour j=1, 2 et 5
Techniques d'Optimisation
10
ed2c'2012
Exemple illustratif
Itération 0: J0 = , N0 ={1, 2, 3, 4, 5}, Z0= 0, Z*=
Test 1: Supprimer x3 et N0 ={1, 2, 4, 5}
Test 2 : -
Test 3: Garder N0 ={1, 2, 4, 5 }
Test 4 : I5= Max (Ij, j N0)= 0. Séparer sur x5
Itération 1: x5= 1, J1 = {+5}, N1 ={1, 2, 3, 4}, Z1= 3< Z*=. Poser Z*=3. Supprimer
J1
Itération 2: x5= 0, J2 = {-5}, N2 ={1, 2, 3, 4}, Z2= 0, Z*=3
Test 1: Supprimer x3 et N2 ={1, 2, 4}
Test 2 : Supprimer x1 et N2 ={2, 4}
Test 3 : Garde N2 ={ 2, 4}
Test 4 : I4= Max {Ij, j N0}= -1. Séparer sur x4
Itération 3: x4= 1, J3 = {-5, +4}, N3 ={1, 2, 3}, Z3= 2, Z*=3
Test 1: Supprimer x3 et N3 ={1, 2}
Test 2 : Supprimer x1 et x2 ,N3=, J3 à supprimer. Retour arrière au nœud 4.
Itération 4: x4= 0, J4 = {-5, -4}, N2 ={1, 2, 3}, Z4= O, Z*=3
Test 1: Supprimons x3 et N2 ={1, 2}
Test 2 : Supprimer x1 et N2 ={2}
Test 3 : Supprimer x2. Supprimer J4. Terminer, la solutionTechniques
optimale d'Optimisation
est atteinte au nœud 1.
ed2c'2012
11
Arborescence des solutions
Techniques d'Optimisation
12
ed2c'2012
Amélioration de Ballas (1/4)
Réduction de l’explosion combinatoire des sommets de
l’arborescence des solutions
– Construction de contraintes cumulatives (surrogate
constraint)
Soit un ensemble de contraintes
aij x j bi i 1,..., m
k k
jN t
(1)
à remplacer par:
m n m
i a x j i bik
k
ik
(2)
i 1 j 1 i 1
est un vecteur positif non négatif
Dk et Dk(x) représente les solutions réalisables respectivement
de (1) et (2) alors Dk Dk(x)
Techniques d'Optimisation
13
ed2c'2012
Amélioration de Ballas(2/4)
Si x’ est solution réalisable de (P) alors x’ est aussi réalisable pour la
contrainte (2)
Si la contrainte (2) ne possède pas de solution réalisable, il en sera de
même pour (P).
Théorème: La contrainte i a j x j 0
( >0) est dite bi
jNt
variablement irréalisable si et seulement si:
Max i
i a j x j où x j ( 0,1) j 1, ..., n
j Nt
= i - Min(0, aij ) < () 0
j
Pour une solution réalisable de i a j x j () et
0 si
jNt
i , y j 0 i M et j N t
Techniques d'Optimisation
18
ed2c'2012