Académique Documents
Professionnel Documents
Culture Documents
Résumé
La notion de substituabilité directionnelle est une forme faible de la substituabilité de voisi-
nage [10] qui a été proposée dans [24] pour améliorer la résolution des problèmes de satisfaction de
contraintes (CSPs) binaires. On part du fait que même si deux valeurs ne sont pas voisinage sub-
stituables, elles peuvent l’être si on restreint le voisinage en se référant à un ordre sur les variables.
La substituabilité directionnelle permet de décomposer les domaines de valeurs des variables en
de sous-ensembles de valeurs qui peuvent être essayées simultanément lors de la résolution du
problème par un algorithme du type “Backtracking ”.
Dans le présent chapitre, nous proposons les extensions suivantes au travail présenté dans [24] :
40
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
terchangeabilité.
– En fin, nous exploitons la notion de substituabilité directionnelle proposée pour les VCSPs
à contraintes binaires fixes pour résoudre les VCSPs
Comme le dual d’un VCSP est un VCSP à contraintes binaires fixes. Il suffit de transfor-
mer le VCSP en VCSP à contraintes binaires fixes en passant par son dual et appliquer la
méthode de décomposition par la substituabilité directionnelle.
Des résultats de simulation, sur plusieurs VCSPs et VCSPs à contraintes binaires fixes modéli-
sant des problèmes d’ordonnancement, montrent que des variantes de l’algorithme du Branch-and-
Bound qui exploitent la substituabilité directionnelle sont souvent plus efficace que l’algorithme
original.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 41
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
3.1 Introduction
Dans ce chapitre nous nous intéressons aux méthodes de résolution de VCSPs
et de VCSPs à contraintes binaires fixes (VCSP-FbC) dites complètes : celles
qui permettent de trouver une solution optimale si cette dernière existe. Si
non, trouver la solution qui viole le minimum des contraintes.
On part de l’idée que même si deux valeurs ne sont pas voisinage substi-
tuables, elles peuvent l’être si on restreint le voisinage en se référant à un
ordre sur les variables. La substituabilité directionnelle ne peut pas être uti-
lisée comme un moyen de filtrage des domaines des variables comme c’est le
cas pour la substituabilité de voisinage.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 42
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
FbC
FbC
FbC
FbC FbC 1
FbC 2
FbC nc
FbC i
Figure 3.1 – Les étapes de la Méthode de décomposition de domaine pour les VCSPs–FbC
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 43
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
1
2
nc
Figure 3.2 – Les étapes de la Méthode de décomposition de domaine pour les VCSPs–FbC
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 44
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
substituabilité directionnelle.
Ce chapitre est organisé comme suit : dans la section 3.2, nous donnons
les définitions et les notations utilisées.
Dans la section 3.7, nous reportons les résultats d’une expérimentation mon-
trant l’apport de l’exploitation de la notion de substituabilité directionnelle
pour la résolution de VCSPs binaires.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 45
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
Cette définition peut être étendue pour tenir compte de la fonction coût.
Toutefois, cette dernière doit vérifier certaines propriétés pour que ceci soit
possible.
En effet, la fonction coût est une fonction globale (n-aire) puisqu’elle s’ap-
plique à toutes les variables du problème (voir définition 9) alors que la notion
de substituabilité de voisinage est une notion locale. On propose donc que φ
soit une fonction telle qu’il est possible de trouver une fonction coût unaire
φi : ni=1 Di −→ E qui vérifie
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 46
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
⎧
⎪
⎪
⎪
i,j (a, a ) ≤ φ
φ i,j (b, a ) (∀ a ∈ Xj )
⎨
a PΛ b ⇔ ⎪ et
⎪
⎪
⎩ φi (a) ≤ φi (b)
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 47
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 48
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
Supposons, à présent que φ(T ) n’est pas minimum, donc, qu’il existe T ∈
D1 × . . . × Dn tel que φ(T ) < φ(T ). Puisque les valeurs de la fonction φ(T )
sont obtenues à partir de celles de φi (Ti ) en utilisant un opérateur monotone
(voir équation (3.1)), il doit exister xi ∈ X tel que Ti = (xi , a), Ti = (xi , a )
et φi (xi , a ) < φi (xi , a). Il en résulte que a ∈
/ min(Di ), d’où une contradiction.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 49
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
N P (xi , a) − ΔD
P (xi , a) = N (3.4)
De même
N P (xi , b) − ΔD
P (xi , b) = N (3.5)
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 50
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
D’autre part, en partant de a PΛ b, on déduit que N P (xi , a) − ΔD ⊆
P
N (xi , b) − ΔD et que φi (xi , a) ≤ φi (xi , b). D’après (3.4) et (3.5), on ob-
P (xi , a) ⊆ N
tient N P (xi , b). D’où, a PΛ b.
3.3.2 Exemple
Exemple 14 Considérons le problème Job-Shop classique décrit dans la fi-
gure 3.4. Il s’agit de planifier l’exécution de deux jobs J1 et J2 sur trois
machines M1 , M2 et M3 . Chaque job Ji se compose de trois tâches Ti,1 , Ti,2 et
Ti,3 . Une tâche Ti,j est dédiée à être exécutée sur la machine Mj .
Pour cet exemple, on suppose que la durée de toutes les tâches est fixée à une
unité de temps, sauf T2,2 qui consomme deux unités. Les job-shops font inter-
venir deux types de contraintes : des contraintes de précédence qui imposent
que les tâches d’un même job soient exécutées les une après les autres ainsi
que des contraintes de ressource qui empêchent qu’une machine exécute plus
d’une tâche à la fois.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 51
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 52
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
contrainte de resource
contrainte de précédence
Figure 3.4 – Un problème du type job-shop comportant deux jobs et six tâches. Toutes
les tâches sont supposées avoir une durée d’une unité de temps, sauf T2,2 qui en consomme
deux.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 53
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
x1 x2 x3
2 2
1 1 4
0 3 3
0 2 3
1 1 4
x4 x5 x6
Figure 3.5 – Graphe d’inconsistance du job-shop décrit dans la figure 3.4 après applica-
tion d’un algorithme d’arc-consistance. On peut également voir une orientation du graphe
d’inconsistance.
Les deux appels récursifs ne sont effectués que si une fonction heuristique
(h) indique qu’il est possible d’obtenir des solutions de qualité meilleures que
celles déjà trouvées. Si l’algorithme réussit à instancier toutes les variables
alors il exécute un processus polynomial (ligne 1) pour extraire la meilleure
solution à partir des chaines sélectionnées.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 54
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
AlgorithmBAB–DS((X, D, C, S), Λ, Y, I ∗ )
if Y = ∅ then
1 retourner (min(D))
else
xi ← Sélect(Y )
Di ← DS-Partition(Di , Λ, (X, D, C, S))
Di,k ← Select (Di )
Di ← Di,k
AC (X, D, C, S)
if ∅ ∈
/ D et h(D) < φ(I) then
I ←BAB–DS (Y − {xi }, (X, D, C, S), Λ, I ∗ )
if φ(I) < φ(I ∗ ) then
I∗ ← I
Restaurer (D)
Di ← Di - Di,k
AC (X, D, C, S)
/ D et h(D) < φ(I ∗ ) then
if ∅ ∈
I ←BAB–DS (Y − {xi }, (X, D, C, S), Λ, I ∗ )
if φ(I) < φ(I ∗ ) then
I∗ ← I
Restaurer (D)
retourner (I ∗ )
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 55
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
0 1 2 3 4
x1 (x4 , 0) ∅ ∅
x2 (x1 , 1) (x1 , 2) (x3 , 3)
(x1 , 2) (x6 , 3)
x3 ∅ ∅
x4 ∅ (x1 , 1)
(x5 , 1)
x5 ∅ (x3 , 3)
(x6 , 3)
x6 ∅ ∅
Table 3.1 – Conflits directionnels des valeurs arc-consistantes du VCSP-FbC décrit dans la
figure 3.5.
C’est une partition qui contient le nombre minimum de chaines parmi toutes
les partitions possibles. La taille d’une telle partition (i.e., le nombre de
chaines de la partition), définit la largeur de l’ordre partiel. Le problème
qui consiste à trouver la DCP d’un ensemble partiellement ordonné peut être
résolu en temps polynomial en l’exprimant comme un problème de recherche
d’un couplage maximum dans un graphe bipartite [13].
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 56
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
BAB_DS
_1
C
DS
SO
e_
P_
n
ai
C
ha
C h
in
P_ CSOP_Chaine_DS_i
e_
O
CS
D
S_
l
[a1] [b1] [k1] [D¶1] [E¶1] [N¶1] [D¶¶1] [E¶¶1] [N¶¶1]
résolution aura autant de choix que de chaines dans une DCP du domaine de
la variable courante, nous proposons de calculer une DCP à chaque noeud de
l’arbre de recherche. Par cette stratégie, on cherche à minimiser la taille de
l’arbre de recherche que l’algorithme aura à explorer.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 57
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 58
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
1 11 12 1k1
2 21 22 2k2
i i1 i2 iki
n n1 n2 nkn
Commençons par réduire D2 à la chaine {(x2 , 1), (x2 , 2)}. A ce stade, tous les
domaines sont des chaines de valeurs DS. La restauration de l’arc-consistance
(ligne 8) ne change rien à ce fait d’après la proposition 2. Le graphe d’incon-
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 59
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
x1 x2 x3 x1 x2 x3
2 2
1 1 4 1 4
0 3 0 3
0 2 3 0 2
1 1 4 1 1 4
x4 x5 x6 x4 x5 x6
(a) (b)
Figure 3.9 – (a) Graphe d’inconsistance du VCSP-FbC associé au job-shop décrit dans la
figure 3.4 après réduction de D2 à la chaine {(x2 , 1), (x2 , 2)} et application d’un algorithme
d’arc-consistance. (b) Graphe d’inconsistance du même VCSP-FbC après réduction de D2 à
la chaine {(x2 , 3)} et application d’un algorithme d’arc-consistance.
sistance du problème obtenu est illustré dans la figure 3.9-(a). Par la suite,
l’algorithme choisit un élément minimum de chacun des domaines (ligne 2).
D’après le tableau 3.1 et la figure 3.9-(a), le choix est unique pour chacune
des variables et l’on obtient l’instanciation complète (1, 2, 3, 0, 1, 3) qui est
bien une solution qui satisfait toutes les contraintes et qui a un coût égal à 4
unités de temps.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 60
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
a∼
=Pj≺i a ⇔ ϕ(a, b) = ϕ(a , b) + δa,a
ˆ (3.7)
Pour simplifier, ∼ =Λρ va être utiliser à la place de ∼
=PΛρ si ceci ne cause pas d’am-
bigüités. La relation ∼
=Λρ définie les domaines des valeurs interchangeables
étendues de chaque variable.
Un cas, intéressant, est celui dans lequel chaque domaine de valeurs du pro-
blème est réduit à une chaı̂ne de valeurs EDI. Les problèmes dans cette classe
peuvent être résolus dans un temps polynômial.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 61
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
AlgorithmProject Cost
for tout b ∈ Dj do
for tout a a ∈ Di do
if a ∼
=Pj≺i a ⇔ ϕ(a, b) = ϕ(a , b) + δa,a
ˆ then
ϕ(a, b) = ϕ(a , b)
ϕ(a) = δa,a
ˆ
– tous les domaines de valeurs de ac(P) ne sont pas vides et donc ac(P) est
arc-consistant. Alors nous devons choisir, entre les n-uplets de ac(D1 ) ×
. . . × ac(Dn ), un n-uplet t∗ dont les composantes sont définies comme
suit :
t∗i = arg min ϕ(ai , aj ) + ϕ(ai ) (3.8)
ai ∈ac(Di ) ci,j∈C , i≺j
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 62
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
ϕ(t∗i , t∗j ) = impliquera que ϕ(a, t∗j ) = pour toutes a ∈ ac(Di ) car
ac(Di ) est un sous ensemble de valeurs EDI selon ≺. t∗j ne doit pas
avoir de support dans ac(Di ), ce qui contredit le fait que ac(P) est arc-
consistant. Et donc, nous avons une contradiction avec le fait que ≺ est
un ordre totale. Alors, t∗ satisfait les contraintes dures.
Dans cette étape nous prouvons que t∗ est optimal. Par le choix de t∗
(en se référant à l’équation 3.8), pour tout n-uplet t, nous avons,
∀i, 1 ≤ i ≤ n, (3.9)
ϕ(t∗i , t∗j ) + ϕ(t∗i ) (3.10)
ci,j ∈C, i≺j
≤ ϕ(ti , t∗j ) + ϕ(ti ) (3.11)
ci,j ∈C, i≺j
∀i, 1 ≤ i ≤ n,
ϕ(ti , t∗j ) + ϕ(ti )
ci,j ∈C, i≺j
= ϕ(ti , tj ) + ϕ(ti )
ci,j ∈C, i≺j
∀i, 1 ≤ i ≤ n,
ϕ(t∗i , t∗j ) + ϕ(t∗i ) ≤
ci,j ∈C, i≺j
ϕ(ti , tj ) + ϕ(ti )
ci,j ∈C, i≺j
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 63
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
ϕ(t∗i , t∗j ) + ϕ(t∗i ) ≤ (3.12)
ci,j ∈C, i≺j
ϕ(ti , tj ) + ϕ(ti ) (3.13)
ci,j ∈C, i≺j
ϕ(ti , tj ) + ϕ(ti )
ci,j ∈C, i<j
Une propriété essentielle de EDI est qu’il est préservé par la réduction du
problème. Formellement, nous avons
=PΛ a ⇒ a ∼
a∼
=PΛ a .
a∼
=Pj≺i a ⇔ ϕ (a, b) = ϕ (a , b) + δa,a
ˆ
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 64
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
a∼
=Pj≺i a ⇔ ϕ(a, b) = ϕ(a , b) + δa,a
ˆ
pour l’ordre j ≺ i.
Et par suite a et a sont EDI dans P.
Pour avoir une méthode de résolution plus efficace, BAB–EDI intègre éga-
lement une procédure qui permet de maintenir l’arc-consistance durant la
recherche comme dans l’algorithme de résolution de CSP MAC [29].
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 65
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
A ce stade, xi est considérée comme une variable instanciée, elle sera alors
supprimée de l’ensemble des variables non encore instanciées même si son
domaine n’est pas réduit à un singleton. Si aucun domaine vide n’est ren-
contré, donc l’algorithme exécute un appel récursif pour traiter les variables
futures. Sinon, il considère un autre élément de Di . Si toutes les itérations
ne rendent aucune solution, l’algorithm backtracks à la variable immédiate-
ment précédente. Au contraire, si BAB-EDI succède à instancier toutes les
variables alors nous obtenons un paquet de solutions.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 66
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 67
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
Retourner (Λ);
Pour résoudre un VCSP nous proposons de passer par son duale. Nous com-
mençons par la définition du duale d’un CSP.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 68
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
Les problèmes duales des VCSPs contiennent seulement des contraintes bi-
naires et sont donc solubles par des algorithmes façonnés pour de tels pro-
blèmes. Parmi ces algorithmes nous proposons notre méthode de décomposi-
tion par la substituabilité directionnelle.
Propriété 6 Les VCSPs, reformulés par leurs duales, sont solubles par la
méthode de décomposition par la substituabilité directionnelle
Ensuite, les valeurs les plus faibles(le BAB sera noté dans ce cas par MV). La
fonction φi , qui est indispensable pour définir la substituabilité directionnelle,
est déduite de φ de manière analogue à celle spécifiée par l’équation (3.6).
Les problèmes test utilisés sont ceux référencés par js-taillard-15 dispo-
nibles sur [21]. Ce sont dix instances de job-shops comportant 15 jobs et 15
machines, (donc 225 tâches), générés selon le modèle décrit dans [32]. Pour
ces instances de job-shop, la discrétisation du temps maximum impartie pour
exécuter toutes les tâches donne plus de mille valeurs. Pour obtenir des solu-
tions en des temps d’exécution raisonnables pour des VCSPs-FbC impliquant
de si large domaines de valeurs, on a élargi davantage les domaines de valeurs
pour obtenir des instances plus faciles. Ainsi, on a multiplié les tailles des
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 69
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
domaines originaux par un facteur de 105%, 104% puis 103% pour obtenir
des instances qui vont des plus faciles aux plus difficiles. De plus, on a fait
recours à une recherche par divergence limitée [12], pour les deux algorithmes.
Les résultats obtenus (voir figures 3.10 et ??) montrent clairement que MC+DS
et MV+DS ont trouvé des solutions pour plus d’instances que MC ou MV.
Pour les instances auxquelles les deux algorithmes ont réussit à trouver des
solutions, on constate que dans la plupart des cas, ou bien que la solution trou-
vée par BAB–DS a un coût meilleur que celle trouvée par BAB, ou bien que
BAB–DS trouve une solution ayant le même coût mais en moins de temps.
Sur les trente instances considérées, il y a uniquement sis instances (MC-
104-4, MC-104-7, MC-103-7, MV-105-6 et MV-104-9) sur lesquelles, BAB a
été meilleur que BAB–DS. Enfin, la supériorité de BAB–DS ne semble pas
dépendre de la difficulté des instances, ni de l’heuristique employée puisque
BAB–DS est globalement meilleur sur les deux niveaux de difficulté.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 70
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
Figure 3.10 – Résultats obtenus par MC, MC+DS, MV et MV+DS sur les instances js-
taillard-15-(105 à 103). Le temps CPU en secondes et le coût de la meilleure solution trou-
vée sont raportés. Pour le temps CPU, on indique les temps auxquels ont été trouvées les
meilleures solutions. Le temps d’exécution a été limité à 4 heures par instance.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 71
**********************************************************************
Chapitre III : Une méthode de décomposition par la substituabilité directionnelle pour les
VCSPs
3.8 Conclusion
Dans ce chapitre, nous avons proposé deux extensions à la notion de substi-
tuabilité directionnelle présentée dans [24]. Tout d’abord, nous avons géné-
ralisé davantage la substituabilité directionnelle en considérant, comme réfé-
rence, une orientation du graphe d’inconsistance du problème au lieu d’un
ordre sur les variables du problème. Puis, nous avons introduit des conditions
supplémentaires de substituabilité garantissant l’optimalité de la solution lors
de la résolution des problèmes VCSPs.
Les résultats de simulation sur plusieurs VCSPs–FbC qui codent des pro-
blèmes d’ordonnancement du type job-shop ont montré qu’une variante de
l’algorithme du Branch-and-Bound exploitant la substituabilité directionnelle
est souvent plus efficace que l’algorithme original.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 72
**********************************************************************
Chapitre 4
Résumé
De nombreux problèmes combinatoires peuvent être formulés comme des Problèmes de Sa-
tisfaction de Contraintes Valuées (VCSPs) où les contraintes sont définies à l’aide des fonctions
de valuation pour refléter les degrés de cohérence.
Pour résoudre un VCSP, il faut trouver une attribution de valeurs aux variables avec une valuation
complète optimale. Particulièrement pour plusieurs problèmes, cette tâche est difficile du point de
vue de la complexité.
Ce chapitre présente une méthode de décomposition de domaine pour résoudre les VCSPs binaires.
Elle s’appuie sur la classe des fonctions modulaires [27]. Le processus de décomposition produit
des sous problèmes dont les fonctions de valuation sont exclusivement modulaires.
Pour les VCSPs binaires avec de telles fonctions de valuation, nous proposons un algorithme
d’identification de complexité O(ed2 ) et un algorithme de résolution de complexité O(ed).
73
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
4.1 Introduction
La complexité algorithmique de la recherche de la solution optimale d’un
VCSP a été étudiée dans plusieurs travaux de recherche. Et plusieurs classes
polynomiales de VCSPs ont été identifiées et résolues [7, 16, 6]. Les VCSPs
impliquant les fonctions de valuation binaires sous-modulaires est une des
classes polynomiales.
Néanmoins, les VCSPs résultant de cas réels ne sont pas limités à des fonc-
tions sous-modulaires. Dans de tels cas, pouvons nous procéder de manière
plus efficace qu’une recherche exhaustive tout en réduisant la solution opti-
male ? Y at-il moyen d’exploiter les sous-modularité dans un contexte plus
restreint ?
Ce chapitre est destiné pour contribuer à fournir des réponses positives à ces
questions. Motivé par les résultats obtenus sur les CSPs [?], nous présentons
une méthode de décomposition de domaine pour résoudre les VCSPs binaires.
Elle s’appuie sur la classe des fonctions modulaires [27]. Le processus de dé-
composition produit des sous problèmes dont les fonctions de valuation sont
exclusivement modulaires.
Pour les VCSPs binaires avec de telles fonctions de valuation, nous propo-
sons un algorithme d’identification de complexité O(ed2 ) et un algorithme de
résolution de complexité O(ed).
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 74
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
FbC
1
2
nc
Figure 4.1 – Les étapes de la Méthode de décomposition modulaire de domaine pour les
VCSPs
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 75
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
dans l’assignation d’une valeur à une variable et à enlèver les valeurs qui sont
dorénavant incohérentes avec la solution partielle ou ceux menant aux solu-
tions sous-optimales.
De (5.2), nous pouvons aussi déduire que, pour toute f dans M et tout v, y
dans D, la déclaration suivante est vraie
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 76
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
f ∈M ⇔ fT ∈ M (4.3)
Soit u, x sont deux éléments de D. De (5.2), nous déduisons ce qui suit
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 77
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Preuve 7 Nous prouvons d’abord que la modularité assure (4.9). Par le fait
que f est modulaire, nous avons,
f (u, v) + f (π, μ) = f (u, μ) + f (π, v)
f (u, v) = f↑ (u) + f (π, v) − f (π, μ)
f (u, v) = f↑ (u) + f↓ (v)
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 78
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Function Reduce(f, D, x) : f↑ , f↓
m ← arg minu∈D f (x, u)
for u ∈ D do
f↑ (u) ← f (u, m)
for u ∈ D do
f↓ (u) ← f (x, u) − f (x, m)
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 79
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
(u) (x)
i (u) (x)
j (v) (y)
(v) (y)
(u) (x)
i (u) (x)
j (v) (y)
(v) (y)
(u) (x)
i (u) (x)
j (v) (y)
(v) (y)
Définition 21 Soit f est une fonction binaire définie sur D avec E comme
le co-domaine et soit u, x sont deux éléments de D. Nous disons que {u, x}
est une paire modulaire par rapport à f (notation u ≡f x) si et seulement si
la restrection de f à {u, x} × D est modulaire. Plus précisément, nous avons
Notons que
f ∈M ⇔ u ≡f x, ∀u, x ∈ D (4.11)
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 80
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Exemple 17 Cette fois, nous avons pris un exemple de fonction binaire non
modulaire f (2 + 10 = 3 + 7), cette fonction est illustrée par la Figure 4.3
(a).
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 81
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
(u) (x)
i (u) (x)
j (v) (y)
(v) (y)
(u) (x)
i (u) (x)
j (v) (y)
(v) (y)
(u) (x)
i (u) (x)
j (v) (y)
(v) (y)
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 82
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Preuve 13 Un algorithme qui résout des cas dans sCSP(U) procède en met-
tant en application la consistance de noeud. Alors, s’il n’y a aucun domaine
vide, il retourne n-tuple t vérifiant :
Cela peut être accompli dans O(nd) étapes. De plus, nous avons φP (t) =
xi ∈X φi (ti ) qui est minimal puisque l’opérateur d’accumulation + est mono-
tone.
Dans ce qui suit, nous décrivons une méthode pour décomposer les ins-
tances des VCSPs binaire en ensembles d’instances dans sCSP(U ∪ M).
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 83
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Notons que, par définition, chaque réduction unaire est dans sCSP (U).
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 84
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
φP (t) = φi (t[xi ]) + φi,j (t[xi , xj ])
ci ∈C,xi ∈V i ,xj ∈V
ci,j ∈C,x
= φi (t[xi ]) + φi↑j (t[xi ]) + φi↓j (t[xj ])
ci ∈C,xi ∈V i ,xj ∈V
ci,j ∈C,x
= φi (t[xi ]) + φi↑j (t[xi ]) + φi↓j (t[xj ])
ci ∈C,xi ∈V i ,xj ∈V
ci,j ∈C,x i ,xj ∈V
ci,j ∈C,x
= φi (t[xi ]) + φi↑j (t[xi ]) + φj↓i (t[xi ])
ci ∈C,xi ∈V i ,xj ∈V
ci,j ∈C,x i ,xj ∈V
cj,i ∈C,x
⎡ ⎤
⎢
= ⎣φi (t[xi ]) + φi↑j (t[xi ]) + φj↓i (t[xi ])⎥⎦
ci ∈C ,xi ∈V j ∈V
ci,j ∈C,x j ∈V
cj,i ∈C,x
= φi (t[xi ])
ci ∈C ,xi ∈V
= φP (t)
i
Pour simplifier, nous omettrons l’indice de ≡P quand cela n’affecte pas la
clarté.
Preuve 16 Par (4.11), nous obtenons que tous les φi,j tel que xj → xi
sont modulaires. D’autre part, par (4.3), les φj,i tel que xj → xi sont mo-
dulaires depuis les φi,j tel que xj → xi sont modulaires. D’ou, nous pouvons
déduire que toutes les fonctions de valuation de P sont modulaires et donc
P ∈ sCSP (U ∪ M).
i
Propriété 17 ≡ est une relation d’équivalance sur Di .
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 85
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
i
Preuve 17 Premiérement, notons que la relation ≡ est l’intersection de ≡φi,j
D’autre part, il est connu que l’intersection de l’ensemble
tel que ci,j ∈ C.
des relations d’équivalance est une relation d’equivalance. D’ou le résultat
recherché.
Une propriété essentielle des paires modulaires est qu’elles sont préservées
par la réduction de problème. De là, nous avons ce qui suit :
L’ordre des variables selon lequel les paires de valeurs sont modulaires est dé-
terminé dynamiquement, c’est à dire, il peut varier au cours de la recherche.
Cet ordre est implicitement déterminé par la liste des variables non encore
instanciées Y dont les éléments viennent après ceux de X − Y dans l’ordre.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 86
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Puis, l’arc-consistance star est rétabli. Pour que l’algorithme puisse procéder
à une recherche plus profonde, le VCSP arc-consistant star ne doit pas conte-
nir un domaine vide.
Un appel récursif est donc effectué pour envisager les autres variables. Cette
appelle retourne le cout (c∗ ) de la meilleure solution obtenue en réduisant le
domaine de xi à Di,v . Ensuite, l’algorithme annule l’effet de réduire Di to Di,v
et rejette des éléments de Di,v de Di . Il restaure à nouveau l’arc-cohérance
star du sous-problème résultant et vérifie s’il n’y a pas de domaine vide. Si
c’est le cas, l’algorithme effectue un deuxième appel récursif qui retourne le
coût de la meilleure solution du problème reçu en paramètre.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 87
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
initiales utilisées par les deux solveurs sont ceux données dans les différents
fichiers de référence “benchmark files”.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 88
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Nous avons expérimenté sur certains des cas disponibles dans [?]. Ces cas sont
obtenus en considérant deux niveaux de densité de graphe de contraintes :
clairsemée “sparse” (S) et dense (D) et deux niveaux de tightess contraintes :
en vrac “loose” (L) et étanche “tight” (T). La combinaison de ces classes donne
4 différentes Classes de VCSPs : SL, ST, DL, DT.
La Figure 4.4 fournit les résultats obtenus par ModMac∗ et Mac∗ . Deux
heures de temps d’exécution ont été consacré à chaque instance. Nous avons
rapporté le nombre de noeuds développés, le temps d’exloration de l’arbre de
recherche et le coût de la meilleure solution trouvée. Pour ces cas, non struc-
turées, aucun des deux algorithmes ne surpasse systématiquement l’autre.
Néanmoins, on remarque que ModMac∗ est plus concurrentiel sur les contraintes
“sparsely” VCSPs impliquant des relations “loose”.
Nous avons précisément expérimenté sur dix cas de ceux disponibles dans [?],
dont cinq sont extraites du problème celar6 et notés celar6-sub0 à 4. Les cinq
autres instances sont extraites du problème celar7 et sont notées celar7-sub0
à 4 (voir Figure 4.5). Chacune de ces instances comprend 16 variables et une
taille maximale de domaine de 44 valeurs.
En examinant la Figure 4.5, nous remarquons que lorsque les deux algo-
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 89
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
En outre, sur les autres instances, qui sont plus difficiles à résoudre, Mod-
Mac∗ a systématiquement trouvé une solution qui est, au moins, aussi bonne
que celle trouvée par Mac ∗ . Globalement, on peut dire que, contrairement
aux instances aléatoires, ModMac∗ surpasse Mac∗ sur tous ces instances
structurées.
Problèmes de planification :
Nous considérons précisément le problème de transport DriverLog. Ce pro-
blème implique un ensemble de pilotes pour conduire les camions et les mo-
biles d’un emplacement de départ vers une destination objectif d’une manière
efficace.
Plus de détails sur ce problème se trouve dans [?]. Les dix cas sur lesquels
nous avons expérimenté sont moyennement modélisés comme WCSP depuis
environ la moitié des contraintes possibles sont présentes. Chacun des cas im-
plique des centaines de variables et une taille maximale de domaine de onze
valeurs.
La Figure 4.6 montre que ModMac∗ domine Mac∗ sur toutes, sauf une des
instances (driverlog04bc).
4.6 Conclusion
Dans ce chapitre, nous avons présenté un algorithme de décomposition de
domaine pour résoudre les problèmes binaires de satisfaction de contraintes
évalués (VCSP). Le processus de décomposition proposé instancie les va-
riables en réduisant leurs domaines respectifs à des sous-ensembles de valeurs
modulaires au lieu de singletons.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 90
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Figure 4.4 – Experimental results obtained by Mac∗ and ModMac∗ on random binary
Max-CSP instances. We reported the number of nodes expanded (in thousands) within 2
hours, the CPU time and the cost of the best solution found. A dash indicates that the
program has not terminated after 2 hours of execution time.
Figure 4.5 – Experimental results obtained by Mac∗ and ModMac∗ on instances extracted
from the celar6 and celar7 real-world problems. We reported the number of nodes expanded
(in thousands) within 2 hours, the CPU time and the cost of the best solution found. A dash
indicates that the program has not terminated after 2 hours of execution time.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 91
**********************************************************************
Chapitre IV : Une méthode de décomposition modulaire pour les CSPs Valuées
Figure 4.6 – Experimental results obtained by Mac∗ and ModMac∗ on instances extrac-
ted from the driverlog planning problem. We reported the number of nodes expanded (in
thousands) within 2 hours, the CPU time and the cost of the best solution found. A dash
indicates that the program has not terminated after 2 hours of execution time.
**********************************************************************
Méthodes de décomposition de domaines pour les CSPs Valués 92
**********************************************************************