Vous êtes sur la page 1sur 12

Actes JFPC 2009

Algorithme de dcomposition de domaine pour


la satisfaction et l'optimisation de contraintes

Toto LeDesigner
1

Titi SonCopain

Toti Son2Copain

La Start-up, Site des Nouvelles Technologies, 34250 Palavas-les-Flots

2
3

L'autre Start-up, dans une rue, d'une autre ville


L'autre Start-up, dans une rue, d'une autre ville

toto@superbo.com

titi@copains.com

Rsum
La notion substituabilit directionnelle

toti@2copains.com

de variables, chaque variable pouvant prendre une


[26] est

valeur parmi un ensemble de valeurs possibles appel

[13]

domaine. Puis, par un ensemble de contraintes expri-

visant amliorer la rsolution de problmes de satis-

mant des restrictions sur les combinaisons de valeurs

faction de contraintes (CSP) binaires. L'ide de dpart

permises. Rsoudre un CSP revient aecter aux

est que mme si deux valeurs ne sont pas voisinage

variables, des valeurs de leurs domaines respectifs de

substituables, elles peuvent l'tre si on restreint le

telle sorte que toutes les contraintes soient satisfaites.

une forme faible de la substituabilit de voisinage

voisinage en se refrant un ordre sur les variables. La


substituabilit directionnelle permet de dcomposer les
domaines de valeurs des variables en de sous-ensembles
de valeurs qui peuvent tre essayes simultanment lors
de la rsolution du problme par un algorithme du type
 Backtracking .

En gnral, un CSP n'admet pas une solution unique.


Pour les CSPs classiques, toutes les solutions sont
suppose avoir la mme qualit. Ce qui fait que
la rsolution de tels problmes se rsume souvent
trouver la premire solution.
Cependant, dans plusieurs situations relles telles

Dans le prsent article, nous proposons deux extensions


au travail prsent dans [26] :
 Tout d'abord, nous gnralisons davantage la no-

que l'ordonnancement dans le secteur industriel, les


solutions

ne

peuvent

pas

tre

considres

comme

tion de substituabilit directionnelle en consid-

quivalentes dans le sens que certaines sont juges

rant, comme rfrence, une orientation du graphe

meilleures que d'autres selon un critre bien dter-

d'inconsistence au lieu d'un ordre sur les variables.


 Ensuite, nous introduisons des conditions supplmentaires de substituabilit garantissant l'optimalit de la solution lors de la rsolution de problmes
de satisfaction et d'optimisation de contraintes
(CSOP).

min. Il s'agit dsormais de trouver la solution qui


satisfait les contraintes et qui, en plus, optimise un critre mesurant la qualit de la solution. Les problmes
ainsi dnis sont alors des problmes de satisfaction
de

contraintes

avec

optimisation

(CSOPs).

Donc,

Des rsultats de simulation, sur plusieurs CSOPs modli-

pour dnir un CSOP et en plus des composantes

sant des problmes d'ordonnancement, montrent qu'une

dnissant le CSP sous-jacent, on introduit une fonc-

variante de l'algorithme du Branch-and-Bound qui ex-

tion objective qui permet d'exprimer des prfrences

ploite la substituabilit directionnelle est souvent plus

entres les combinaisons de valeurs qui satisfont aux

ecace que l'algorithme original.

contraintes.

1 Introduction
Les problmes de satisfaction de contraintes (CSPs)

Dans cet article nous nous intressons aux mthodes


de rsolution dites compltes : celles qui permettent de
trouver la solution optimale si cette dernire existe.

constituent un cadre simple et assez gnral pour

L'algorithme du Branch-and-bound

modliser divers problmes combinatoires. Un CSP

sans doute l'algorithme complet le plus utilis pour r-

[2, 21, 25] est

se dnit, tout d'abord, par la donne d'un ensemble

soudre les CSOPs. C'est une procdure d'exploration

en profondeur d'abord muni d'une fonction heuristique

2 Dnitions et notations

servant valuer le cot de la solution complte que


l'on peut esprer atteindre par l'extension de la solu-

En plus des composantes qui dnissent un CSP stan-

tion partielle courante. Pour obtenir une mthode de

dard, un CSOP

rsolution plus ecace, l'algorithme du Branch-and-

objective qui permet de mesurer la qualit de chaque

bound peut tre utilis avec une procdure qui permet

solution.

de maintenir durant la recherche une forme de consis-

Formellement, un CSOP peut tre dni comme suit :

tance locale appele arc-consistance [29].

Dnition 1 Un problme de satisfaction et d'optimisation de contraintes (CSOP) est dni par un quadruplet (X, D, C, Z) tel que :

Par ailleurs, la notion de substituabilit de voisinage


[13] t propose et utilis comme un moyen de ltrage des domaines de valeur des variables des CSPs
binaires. Plusieurs variantes de cette notion ont t
proposs, parmi lesquelles la notion substituabilit directionnelle [26]. La substituabilit directionnelle, qui
est une forme faible de la substituabilit de voisinage, a
t propose au dpart pour amliorer la rsolution des
CSPs binaires. On part de l'ide que mme si deux valeurs ne sont pas voisinage substituables, elles peuvent
l'tre si on restreint le voisinage en se refrant un
ordre sur les variables. La substituabilit directionnelle
ne peut pas tre utiliser comme un moyen de ltrage
des domaines des variables comme c'est le cas pour la

[34] fait intervenir une fonction dite

1. X = {x1 , ..., xn } est l'ensemble des variables.


2. D = {D1 , ..., Dn } est l'ensemble des domaines de
valeurs, Dk tant le domaine de xk .
3. C = {C1 , ..., Cm } est l'ensemble des contraintes.
Chaque contrainte Ck implique un sous-ensemble
de variables V ar(Ck ) = xk1 , ..., xkr appel la port
de Ck et elle est dnie par la relation, r-aire,
Rel(Ck ) Dk1 Dk2 ... Dkr contenant les rtuples de valeurs respectant la contrainte Ck .
4. Z : D1 . . . Dn IR est une fonction optimiser.

substituabilit de voisinage. Toutefois, on peut l'utiliser comme un moyen de dcomposition des domaines

L'arit d'une contrainte est la taille de sa porte.

des variables en de chaines de valeurs directionnelle-

L'arit d'un problme est l'arit maximale de ses

ment substituables qui peuvent tre considrs simul-

contraintes.

tanment lors de la rsolution de problmes.

aux CSOPs binaires. Deux variables

Dans le prsent article, nous proposons deux extensions du travail prsent dans [26] :
 nous gnralisons davantage la notion de substi-

Dans

cet

article,

nous

nous

limitons

xi et xj , relies
par une contrainte binaire, note Ci,j , sont dites
voisines. La valeur a Di , dnote aussi par (xi , a),
est compatible avec b Dj si (a, b) Rel(Ci,j ).
Dans ce cas, on dit que b est un support de a.
Un

CSOP

est

un

ensemble

de

CSPs

sous-jacent,

tuabilit directionelle en considrant, comme r-

considrs comme arc-consistants si chaque valeur

frence, une orientation du graphe d'incohrence

appartenant au domaine d'une des variables possde

au lieu d'un ordre sur les variables.

au minimum un support dans le domaine de chaque

 nous introduisons des conditions supplmentaires

variable voisine. Le graphe de contrainte d'un CSOP

de substituabilit guarantissant l'optimalit de

binaire associe, chaque variable, un sommet et re-

la solution lors de la rsolution de problme

lit chaque couple de sommets

{xi , xj } tel que Ci,j C .

de satisfaction et d'optimisation de contraintes


(CSOP).

Nous nous intressons aux mthodes de rsolution


dites compltes : celles qui permettent de trouver la
solution optimale si cette dernire existe. L'algorithme

Cet article est organis comme suit : dans la section

du

Branch-and-bound

est sans doute l'algorithme com-

2, nous donnons les dnitions et les notations utili-

plet le plus communment utilis pour rsoudre les

ses. Nous dnissons par la suite (section 3), la notion

CSOPs. Cet algorithme explore l'espace de recherche

de substituabilit directionnelle. On prsente, dans la

du problme rsoudre en eectuant une recherche

mme section, une version de l'algorithme du Branch-

arboressante en profondeur d'abord. Les problmes

and-Bound qui exploite substituabilit directionnelle

considrs tout lelong d'un chemin de l'arbre de re-

ainsi qu'un algorithme qui dcompose les domaines

cherche sont des rductions du problme initial que

de valeurs en de chanes de valeurs directionnellement

l'on peut dnir de la manire suivante :

substituables. () Dans la section 5, nous reportons les


rsultats d'une exprimentation montrant l'apport de
l'exploitation de la notion de substituabilit directionnelle pour la rsolution de CSOPs.

Dnition 2

Un problme P = (X, D, C, Z) est une


rduction d'un problme P 0 = (X 0 , D0 , C 0 , Z 0 ) (notation P v P 0 ) si et seulement si

 X0 = X,
 Di Di0 , i : 1, . . . , n,
0
0
 C = {Ci,j | Ci,j
C 0 et Rel(Ci,j ) = Rel(Ci,j
)
Di Dj },
 Z0 = Z.
Notez que

3 Substituabilit directionnelle (DS)


3.1 Dnitions et proprits
La substituabilit directionnelle [26] est une forme
faible de substituabilit de voisinage. Au dpart, cette
notion t dnie en se rfrant un ordre total sur

est une relation transitive.

les variables du problme. Dans le prsent traivail, on

Dnition 3

Le graphe d'inconsistance d'un CSOP


binaire est un graphe simple dans lequel les sommets
correspondent aux valeurs des variables et les artes
relient les couples de sommets qui reprsentent des valeurs non compatibles.

gnralise la notion de substituabilit directionnelle


en consdant, comme rfrence, une orientation du
graphe d'inconsistance.
Formellement, une orientation
arrte

L'ensemble des valeurs incompatibles avec une valeur

d'une variable

xi ,

du graphe d'incon-

sistance est une aectation d'une direction chaque

(a, b)

{a, b}

du graphe donnant lieu, ou bien l'arc

(b, a).

ou bien l'arc

Etant donne une orientation

est dni par

du graphe d'incon-

sistance, on dni l'ensemble des conits directionnels

N (xi , a) = {(xj , b) | Ci,j C et (a, b)


/ Rel(Ci,j )}
En se rfrant

[13], une valeur

d'une variable

est voisinage-substituable (VS) une valeur


si et seulement si

N (xi , a) N (xi , b).

de

d'une valeur

d'une variable

xi
xi

la fonction objective est une fonction globale (n-aire)


puisqu'elle s'applique toutes les variables du pro-

soit une fonction telle qu'il est possible de

z:

Z(T ) = ni=1 z(Ti ),


o

Sn

i=1

Di IR

qui vrie

nante :

~ ((xi , xj ), a) = N
~ (xi , a) Dj
N

IR.

La

substituabilit

(1)

La sub-

stituabilit de voisinage pour les CSOPs binaires peut


alors tre dnie de la manire suivante :

xi

consquent,

on peut dduire une solution

a.

Par

peut tre supprime du domaine de

xi

sans perdre toutes les solutions optimales du problme.


Par ailleurs, l'ensemble de conits peut tre restraint
une seule variable avoisinante

xj

de la manire sui-

vante :

(3)

et

z(xi , b) z(xi , a)

dnie

~ (xi , b) N
~ (xi , a)
N

Il en dcoule qu' partir de toute solution dans laquelle on aecte

alors

Soit P = (X, D, C, Z) est un CSOP binaire et a et b deux valeurs d'une variable xi de P .


b est dit directionnellement substituable a par rapport l'orientation du graphe d'inconsistance de P ,
(notation : a P b) si et seulement si

et

de qualit, au moins, gale si l'on substitue

est

Dnition 4

N (xi , b) N (xi , a)

directionnelle

comme suit :

T D1 . . . Dn

dsigne un oprateur monotone sur

(2)

tre restraint aux valeurs d'une seule variables avoisin-

tuabilit de voisinage est une notion locale. On propose


trouver une fonction

de la

L'ensemble des conits directionnels d'une valeur peut

blme (voir dnition 1) alors que la notion de substidonc que

Rel(Ci,j ) et (a, b) }

peut tre tendue pour tenir compte de la fonction obproprits pour que ceci soit possible. La raison est que

par rapport

~ (xi , a) = {(xj , b) | Ci,j C, (a, b)


N
/

Cette dnition

jective. Toutefois, cette dernire doit vrier certaines

xi

manire suivante :

z(xi , b) z(xi , a)

Dans ce qui suit, on utilisera la notation


de

P

au lieu

si ceci ne cause pas d'ambiguit. La relation

dnit un prordre sur le domaine de chaque va-

Di peut tre subdivis


Di = Di,1 . . . Di,s tel que
chaque Di,k , k = 1, ..., s sont tous

riable. Ainsi, chaque domaine


en de sous-ensembles
les lments de

deux deux comparables. C'est--dire, que pour tout

a, b Di,k ,

on a

 b

ou

b  a.

Chaque

Di,k

est

donc une chaine de valeurs totalement ordonn par

N ((xi , xj ), a) = N (xi , a) Dj

 .

Dans chaque chaine

Di,k ,

on peut distinguer le

sous-ensemble des lments minimaux.

Preuve :
min(Di,k ) = {b Di,k | a Di,k , b  a}

(4)

Dans le cas particulier o chaque domaine de valeurs du CSOP est une chaines non vide de valeurs directionnellement substituables, une solution peut tre
trouve en temps polynomial.

Proposition 1 Soit P = (X, D, C, Z) est un CSOP


binaire arc-consistent et soit est une orientation du
graphe d'inconsistence de P . Si chaque domaine de valeurs de P est une chaine non vide de valeurs directionnellement substituables par rapport alors une
solution optimale de P peut tre trouve en un temps
polynomial.
Preuve :

d'un probme quelconque

est une solution

0
S P

D =

0
xi X Di Di .

(xi , a)

l'ensemble des

Soient

~ P (xi , a) = N
~ P 0 (xi , a) D
N

(5)

~ P (xi , b) = N
~ P 0 (xi , b) D
N

(6)

De mme

D'autre part, en partant de

0
P

b et de (3), on dduit

que

~ P 0 (xi , a) D
N

~ P 0 (xi , b) D
N

et

z(xi , a) z(xi , b)

est calculable en temps polynomial, cette slection

peut tre eectue en temps polynomial.

et par

qui ne gurent pas dans

optimale. En se rfrant (3) et au fait que la fonction

P . On a donc
(xi , a) et (xi , b) deux
0
valeurs quelconques disponibles dans P et P . Puisque
0
P v P , on a
valeurs de

On montre qu'on slectionnant un lment

n-uplet T min(D1 ) . . . min(Dn )

l'ensemble des

conits directionnels d'une valeur quelconque

minimum de chaque domaine de valeur, on obtient


une solution optimale. Ce qui veut dire que tout

~ P (xi , a)
N

Dsignons par

D'aprs (5) et (6), on obtient

T min(D1 ) . . . min(Dn ) n'est


T est
inconsistent ou que Z(T ) n'est pas minimum.
Commenons par supposer que T est inconsistent.
Donc T doit contenir, au moins, une paire de valeurs
incompatibles. Soit a min(Di ) et b min(Dj ) une

~ P (xi , a) N
~ P (xi , b)
N

Supposons que

pas une solution optimale. Ceci implique que

telle paire. Supposons, sans perte de gnralit, que

(a, b) , (sinon on pourra raisoner sur b au lieu de


a est obtenir le mme rsultat). Il s'ensuit que b
~ (xi , a), et puisque a min(Di ) alors pour tout a0
N
~ (xi , a0 ). Ce qui veut dire que
Di , on doit avoir b N
b n'a pas de support dans Di et donc que P n'est pas
arc-consistent, d'o une contradiction.

Z(T ) n'est pas minimum,


T 0 D1 . . . Dn tel que Z(T 0 ) <
Z(T ). Puisque les valeurs de la fonction Z sont obtenues partir de celles de z en utilisant un oprateur
monotone (voir quation (1)), il doit exister xi X
0
0
0
tel que Ti = (xi , a), Ti = (xi , a ) et z(xi , a ) < z(xi , a).
Il en rsulte que a
/ min(Di ), d'o une contradiction.
Supposons, prsent que

donc, qu'il existe

et

z(xi , a) z(xi , b)
Ce qui est quivalent

a P
b
Une consquence directe de la proposition 2 est que

P et P 0 telles que P v P 0 ,
0
si Di est une chaine de valeurs DS dans P alors Di est
0
une chaine de valeurs DS dans P .
pour toute paire de CSOPs

3.2 Exemple
Considrons le problme Job-Shop (JSP) classique
dcrit dans la Figure 3.2. Il s'agit de plannier l'excu-

tionnelle est qu'elle soit prserve quand on passe d'un

J1 et J2 sur trois machines M1 , M2 et


M3 . Chaque job Ji se compose de trois taches Ti,1 , Ti,2
et Ti,3 . Une tache Ti,j est ddie tre excute sur
la machine Mj . Pour cet exemple, on suppose que la

problme l'une de ses rductions (voir dnition 2).

dure de toutes les taches est la mme et est xe

Formellement, on a

XXXX

Une proprit essentielle de la substituabilit direc-

Proposition 2

Soit P = (X, D, C, Z) et P =
(X, D0 , C 0 , Z) deux CSOPs binaires tel que P v P 0 et
soit , (resp. 0 ) une orientation du graphe d'inconsistance de P (resp. de P 0 ) telles que 0 . Alors,
on a
xi X, a, b Di Di0 ,

P
a P
0 b a  b

tion de deux jobs

units de temps. Les job-shops font interve-

nir des contraintes de prcdence qui imposent que les


taches d'un mme job soient excutes les une aprs
les autres ainsi que des contraintes de resource qui empchent qu'une machine excute plus d'une tache
la fois. Pour notre exemple, les instants auxquels les
taches peuvent commencer sont reprsents par les entiers de

3.

Job1
M1M2M3
0
0
0
T1.3
T1.1T1.2
1
2

T1.1T1.2
T1.3

1
1

Job2

M1M2M3

T2.3
T2.1T2.2

T2.3
T2.1T2.2

1
1

Contraintesdeprcdenceentrelesvariables
Conflitsdeprcdenceentrelesvaleurs

Conflitsderessourcesoudemachines
Conflitsderessourcesoudemachines

Figure 1  Graphe de contraintes d'un JSP compor-

Figure 2  Graphe d'inconsistance du JSP de la

tant deux jobs, chacun composs de trois tches.

gure 3.2 aprs application d'un algorithme d'arcconsistence.

Rsoudre un tel problme revient aecter un


temps de dbut d'excution chacune des taches de
faon satisfaire les contraintes de prcdence et de
resource toute en minimisant le temps total d'excution de toutes les taches.

ciant une variabl,. ayant comme domaine l'ensemble


chaque tache du job-shop.

Aprs

l'application

consistence

sur

le

La notion de substituabilit directionnelle peut tre


utilise pour amliorer la rsolution de CSOPs binaires
et ceci en l'intgrant un algorithme complet du type

peut tre exprim par un CSOP binaires en asso-

{0, 1, 2, 3},

3.3 Exploitation de la Substituabilit Directionnelle

d'un

CSOP

cette ide.
BABDS prend comme paramtres le CSOPs

algorithme

modlisant

Branch-and-Bound. L'algorithme BABDS rsulte de

le

d'arc-

problme,

on obtient le problme dont le graphe d'inconsistance


est reprsent dans la Figure 3.2. Dans la mme
gure, on peut voir aussi une orientation du graphe
d'inconsistance du CSOP.

rsoudre

(X, D, C, Z),

(qui

est

suppos

tre

arc-

consistent), une orientation du graphe d'inconsistence


du problme
instancies

l'ensemble des variables non encore

et la meilleure solution courante

I .

BABDS procde alors comme suit : Il slectionne


une variable non encore instancie, calcule la partition de son domaine de valeurs en des chaines de va-

Par contre si nous observons l'orientation donne

leurs DS et dcompose le problme courant en deux

par les arcs du graphe de la Figure 3 et calculons l'en-

sous-problmes. Le premier sous-problme est obtenu

semble des conits directionnels de chaque valeur du

en rduisant le domaine de valeur de la variable cou-

problme en se rfrant (1), nous notons que chaque

rante une chaine de valeurs DS (notes par

domaine des taches

T1.1 , T1.2

T1.3

Di,k

est une chaine

dans le pseudo-code). L'arc-consistance du problme

de valeurs directionnellement substituables. Bien que

rsultant est alors restaur en utilisant un algorithme

T2.3 , les conits des valeurs


de T2.2 et de la valeur 3 de

d'arc-consistance. Puis, un appel rcursif est eectu

sont inclus, dans leurs domaines, respectivement

met d'obtenir la meilleure solution du sous-problme

dans les conits des valeurs 0, 1 et 2. Les valeurs de

qui limite les valeurs possibles de la variables courante

pour les tches


1 de

T2.3

T2.1 ,

T2.1 , T2.2

et

et

de la valeur 2

pour considrer les variables restantes. Cet appel per-

Di,k .

ces tches sont incomparables par l'eet de la fonction

aux lments de la chaine

d'optimisation Z.

de restauration des domaines de valeurs est eectu et

Ensuite, un processus

Restaurer(D)

20 :
21 :

retourner(I

T1.1T1.2
T1.3

1
1

3.4 Algorithme de DS partition

La relation

dnit un prordre sur le domaine

de chaque variable du problme. Ce prordre peut


tre utilis pour partitionner le domaine de valeurs de
chaque variable en de chaines de valeurs DS. A partir

 ,

de

a b

T2.3
T2.1T2.2

1
1

on dni la relation

telle que

a  b

On peut facilement vrier que


d'quivalence. En plus,

Di \

sur l'ensemble

Conflitsderessourcesoudemachines

[a]

b  a

est une relation

induit un ordre partiel

des classes d'quivalence de

[a] [b]

Conflitsdeprcdenceentrelesvaleurs

et

a  b

dsigne la classe d'quivalence de la valeur

a.

En gnral, etant donn un ensemble partiellement

Figure 3  Graphe d'inconsistance orient du JSP


Binaire.

ordonn

E,

on peut avoir plusieurs partitions de

en

chaines d'lments totalement ordonns. En thorie


des ensembles, la partition optimale en chaines d'un

la chaine

Di,k

est limine du domaine de la variable

courante. Aprs la restauration de arc-consistance du


problme rsultant, l'algorithme eectuer un deuxime
appel rcursif pour considrer les autres chaines de valeurs DS. Si l'algorithme russit instancier toutes
les variables alors il excute un processus polynomial
(ligne 4 de l'algorithme) pour extraire la meilleure solution partir des chaines slectionnes.

Fonction 1

BABDS((Z, X, D, C), , Y, I

ensemble partiellement ordonn est connue sous le


nom de partition en chaines de Dilworth (DCP) [12].
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), dnit la largeur de l'ordre partiel.
Le problme qui consiste trouver la DCP d'un
ensemble partiellement ordonn peut tre rsolu en
temps polynomial en l'exprimant comme un problme

1 : si Y = alors
2:
retourner( MeilleuresValeurs(D))
3 : sinon
4:
xi Slectionner(Y )
5:
Di DS-Partition(Di , , (X, D, C, Z))
6:
Di,k Selectionner (Di )
7:
Di Di,k
8:
AC(X, D, C)
9:
si / D et h(D) < Z(I) alors
10 :
I BABDS(Y {xi }, (Z, X, D, C), , I )
11 :
si Z(I) < Z(I ) alors
12 :
I I
13 : Restaurer (D)
14 : Di Di - Di,k
15 : AC(X, D, C)
16 : si
/ D et h(D) < Z(I) alors
17 :
I BABDS(Y {xi }, (Z, X, D, C), , I )
18 :
si Z(I) < Z(I ) alors
19 :
I I

de recherche d'un couplage maximum dans un graphe


bipartite [16].
Motiv par le fait qu' chaque noeud de l'arbre de
recherche, l'algorithme de rsolution aura autant de
choix que de chaines dans une DCP du domaine de
la variable courante, nous proposons de calculer une
DCP chaque noeud l'arbre de recherche. Par cette
stratgie, on cherche minimiser la taille de l'arbre
de recherche que l'algorithme aura explorer.
La premire tape du calcul de la DCP (voir la
fonction 2) consiste dterminer la relation

Ceci

peut tre accompli en O(nd ) tapes en utilisant l'algorithme dcrit dans [13] ou celui propos dans [26]. On
en dduit les classes d'quivalences

Di /

en

O(d)

tapes. L'tape la plus couteuse en terme de temps est


celle du calcul de la relation

1)/2

. Au pire des cas, d(d

tests d'inclusion entre les paires d'ensembles de

conits directionnels sont ncessaire. Chaque test d'inclusion peut tre accompli en

O(nd)

puisque chaque

T1.1

ensemble de conit directionnel contient au maximum

(n1)d lments. D'o une complexit de O(nd

) pour

T1.1

T1.1

T1.1

T1.1

{0,1}
{0,1}
{0,1}
{0,1}

{1}

{0}

T1.2
T1.2
T1.2

{1,2}
{1,2}
{1,2}

T1.2

{2}

T1.2

{1}

T1.1

cette tape. Ensuite, l'algorithme construit un graphe

G = (V, U, E) tel que V = U = Di / et


l'ensemble des artes E contient une arte ([a], [b]) si et
seulement si [a] [b]. La construction de G ncessite
2
O(d ) tapes. Un algorithme de couplage maximum
est alors appliqu G. On utilise l'algorithme dcrit
2.5
dans [16] qui s'excute en O(d
) tapes. Les chaines

bipartite

T1.3

T1.3

{2,3}
{2,3}

T2.1

de la DCP sont extraites du couplage maximum en in-

T2.1

[a] et ceux de [b] dans une mme


([a], [b]) fait partie du
2
couplage maximum. Ceci demande O(d ) tapes. D'o
3
une complexit totale de O(nd ).

T2.2

{1}

{2}

T2.3

T2.3

{2}

{3}

cot=4

cot=3.5

DSPartition(Di , , (X, D, C, Z))

DirInterchangeable(Di , , (X, D, C, Z))


Di / ExtractEqClass( , Di , (X, D, C, Z))
DirSubstituable(Di / , (X, D, C, Z))
G BipartiteGraph(Di / , )
M CouplageMaximum(G)
Di ExtractChaines(Di , , M )
return(Di )

Figure 4  Chemins explors par l'application de


LDSBABDS au JSP Binaire.

3.5 Exemple (suite)

et 2 < 3, l'algorithme dveloppe une seule branche {2,

Considrons le JSP prsent dans la Figure 3 dans


la quelle toutes les variables (les tches) sont supposes avoir les mmes valeurs de domaines {0, 1, 2, 3},
l'exception de

T2.1

T2.2

chaine chaque fois que l'arrte

1:
2:
3:
4:
5:
6:
7:

T1.3
{2}

{0}

{1} {0} {1}

cluant les lments de

Fonction 2

T1.3
{3}

d2.3 = 0.5.

Nous supposons que les

dures de tches sont tous gales 1.

3}.
Et Comme

~ (T2.1 ,
N

les valeurs {0, 1} de la


d'o

DT2.1

~ (T2.1 , 0) mais 1>0 donc


N
tche T2.1 sont incomparables,

1)

= {{0}, {1}}, l'algorithme dveloppe deux

branches : une premire branche {0} et une seconde

Il y a deux types de conits : conits de prcdences


entre les tches et conits de ressources ou de machines

{1}.
 Pour

la

branche

{0}

la

propagation

des

(comme les dures sont gales 1, ce conit est qui-

contraintes permet d'liminer la valeur 0 de

valent un conit d'galit entre les valeurs).

Une nouvelle tape consiste calculer la DS dans

L'application de l'algorithme LDS-BAB-DS ce

DT2.2 ,

DT1.1 .

les valeurs de ce domaine sont incompa-

problme est dtaille dans les tapes de la Figure 4.

rables et par la suite

Pour simplier, nous ne nous allons pas utiliser d'heu-

rithme dveloppe deux branches : une premire

ristique d'ordre ni pour les variables ni pour les va-

branche {1} et une deuxime {2}.

leurs. L'orientation dterminant la DS est indique par

 Pour

les arcs du graphe d'inconsistance.


Dans l'tape 1, toutes les valeurs de
observant que tous les arcs sortant de
alors 0

la

branche

DT2.2 =

{1},

{{1}, {2}}, l'algo-

la

propagation

contraintes nous donne : {1}

DT1.1 sont DS en
T1.1 . Nous avons

1 (comme les conits de la valeur 0 sont

inclus dans celles de la valeur 1 et 0<1 donc satisfait


mieux Z depuis notre hypothse) et donc

DT1.1

{0}

{1}

{2}

de

{3}

{2}. Une valuation du cot de

cette solution est faite ce niveau. Soit un cot


de

M ax{(3 + 1); (2 + 1)} = 4.

 Pour

la

branche

{2},

la

propagation

de

= {{0,

contrainte nous montre que ce branchement ne

Dans l'tape suivante, La partition DS de base de

 Alors que pour la branche {1} la propagation des

1}}.

DT1.2

conduit pas une solution ralisable.


nous donne aussi

arcs sortant de

T1.2

DT1.2

= {{1, 2}} depuis les

et comme 1 < 2. Exactement,

contraintes permet d'liminer la valeur 1 de


et cette mme valeur de

DT2.2 .

DT1.1 ,

Puis, elle permet

comme dans la premire tape, l'algorithme dveloppe

d'aecter les valeurs 2 et 3 respectivement aux

une seule branche {1, 2}.

tches

DT1.3 nous donne DT1.3


~ (T1.3 , 2) N
~ (T1.3 ,
avons N

De mme la partition de
{ {2, 3}} Comme nous

=
3)

T2.2 et T2.3 . Tout en liminant les valeurs


DT1.2 et 3 de DT1.3 .
Nous obtenons alors {0} {1} {2} {1} {2}

2 de

(a (a,b) a0 ) alors
{(a, b)}

{3}. Une valuation du cot de cette solution

est faite ce niveau. Soit un cot de

1); (3 + 0.5)} = 3.5.

M ax{(2 +

Ce cot est plus faible donc

il correspond la solution optimale.

4 Orientation du graphe d'inconsistence


L'orientation

du

graphe

d'inconsistence

utilise

comme rfrence (voir quation 2) pour dterminer les

4:
5:
6:
7:

sinon

{(b, a)}

Retourer()

5 Resultats d'Experimentation

valeurs DS a un grand impact sur l'occurence des va-

L'exprimentation a port sur des problmes du

leurs DS. Les meilleures rsultats on t obtenus lors-

type job-shop [1, 6, 28]. Ces derniers sont modliss

qu'on s'ai rfr une orientation qui favorise l'occu-

par des CSOPs comportant une variable pour chaque

rence des valeurs DS des niveaux proches de la ra-

tches. Les domaines sont composs de valeurs entires

cine de l'arbre de recherche. Une telle orientation est

qui reprsentent une discrtisation du temps auxquels

obtenue de manire dynamique en adoptant un algo-

les direntes taches peuvent commencer. Toutes les

rithme glouton (voir fonction 3) pour la construction

contraintes sont binaires. On distingue deux types :

de l'orientation

Au dpart du processus de recherche,

des contraintes de prcdence et des contraintes de res-

est vide. A

source. Le critre minimiser est le temps total nces-

chaque tape, l'algorithme d'orientation ne considre

saire pour excuter toutes les taches, (makespan ). Ce

que les artes qui relient les valeurs de la variable cou-

critre est exprim par la fonction objective

rante ceux des variables dja instancies. Soit

a une
b une
{a, b}

xi et
xj dja instancie. L'arte
donnera lieu l'arc (a, b), (qui sera ajout ), uniquement dans le cas o l'orientation (b, a) fait que la
valeur b perde sa comparabilit avec une des valeurs

valeur quelconque de la variable courante


valeur d'une variable

avec laquelle elle t comparable auparavant.


Cette stratgie favorise l'occurence des valeurs DS

suivante

Z(T ) = max{a + dur


ee(xi ) | Ti = (xi , a)}
i

Notez que

max

L'algorithme

est bien un oprateur monotone.

d'arc-consistence

employ

est

3 [24]. L'heuristique d'ordre de variables est

domain/wdeg

AC-

min-

[4], celle de l'ordre des valeurs prvilgie

la valeur qui a le moins de conit [14].

des niveaux proche de la racine. En eet, rappelons que

Les critres d'valuation des performances sont la

seulement les arcs sortants d'une valeur sont pris en

qualit de la solution trouve mesure par la fonction

considration lors du calcul des conits directionnels

objective, la taille de l'arbre de recherche explor qui

de cette valeur. En plus, moins une valeur a de conits

est s'exprime en nombre de nuds visits et le temps

directionnels plus elle peut tre DS d'autres valeurs.

de calcul.

En ne considrant que les artes qui vont vers les va-

Tous les algorithmes ont t implment en C++.

leurs de variables instancies, on augmente les chances

Ils ont t excuts sur un PC

des valeurs des variables traites des niveaux proches

et une mmoire vive de

de la racine tre DS les une aux autres.


En adoptant cette stratgie, le domaine de la va-

GHZ de frquence

256Mo.

Les problmes test utiliss sont ceux rfrenc par

js-taillard-15 disponible sur [22]. Ce sont des job-

riable instancie en premier sera composera d'une

shop comportant

seule chaine. Ceci implique qu' la racine de l'arbre

taches), gnrs selon le modle dcrit dans [33].

de recherche aucune dcision ne sera prise.


Le fait de considrer de larges chaines de valeurs

15

jobs et

15

machines, (donc

225

Les temps taches peuvent dbuter dpassent les


mille valeurs.

DS des niveaux peu profond de l'arbre de recherche

Pour arriver obtenir des solutions en des temps

est une stratgie souvent avantageuse car, ce stade,

raisonnables pour des CSOPs impliquant des domaines

l'heuristique d'ordre des valeurs ne dispose pas d'assez

de telle taille, on a fait recours une recherche par

d'information pour faire des choix correctes de valeur.

divergence limite [15].

En prenant des dcisions portant sur plusieurs valeurs,


on peut viter des erreurs qui, plus elles sont commises
tt, plus elles sont couteuses en temps d'exploration.

Fonction 3
1:
2:
3:

pour

Orientation(xi , , Y, (X, D, C, Z))

tout xj X Y tel que Ci,j C faire


pour tout a Di faire
si a0 Di , b Dj , a  a0

instance

noeuds visits

temps (en sec.)

BAB

BABDS

BAB

cot (en min.)

BABDS

BAB

BABDS
1308

tai15-15-105-0

1227484

121416

7065

651

1308

tai15-15-105-1

18859

563852

90

3847

1326

1325

tai15-15-105-2

2660107

82618

11521

748

1295

1295

tai15-15-105-3

595587

3743

1239

tai15-15-105-4

1183894

5503

1297

tai15-15-105-5

295665

2532

1308

tai15-15-105-6

27073

1477641

105

6056

1297

1296

tai15-15-105-7

51164

376

1282

tai15-15-105-8

1183674

9445

3406

74

1353

1353

tai15-15-105-9

830122

985537

3051

4681

1334

1333

Figure 5  Les rsultats donns par BAB et BABDS simuls sur les instances js-taillard-15-105. Le nomre
des sommets visits, le temps CPU et le cot sont reports. Le temps de simulation a t limit 4 heures pour
chaque problme gn.

noeuds visits
instance

temps (en sec.)

cot (en min.)

BAB

BABDS

BAB

BABDS

BAB

BABDS

tai15-15-104-0

788570

4526

1296

tai15-15-104-1

65607

460

1313
1283

tai15-15-104-2

9932

88

tai15-15-104-3

116305

457245

646

2716

1228

1227

tai15-15-104-4

314254

2728090

1500

12942

1285

1285

tai15-15-104-5

97275

643

1297

tai15-15-104-6

168007

1136

1284

tai15-15-104-7

441632

2033520

2606

14028

1270

1270

tai15-15-104-8

15875

112535

61

539

1341

1340

tai15-15-104-9

22970

18595

99

79

1321

1321

Figure 6  Les rsultats donns par BAB et BABDS simuls sur les instances js-taillard-15-104. Le nomre
des sommets visits, le temps CPU et le cot sont reports. Le temps de simulation a t limit 4 heures pour
chaque problme gn.

noeuds visits
instance

BAB

temps (en sec.)

BABDS

BAB

BABDS

cot (en min.)


BAB

BABDS
1284

tai15-15-103-0

9889

122

tai15-15-103-1

103439

885

1301

tai15-15-103-2

33057

423

1271

tai15-15-103-3

tai15-15-103-4

tai15-15-103-5

tai15-15-103-6

192459

1274

1273

tai15-15-103-7

623560

2513

1259

tai15-15-103-8

tai15-15-103-9

92320

454

1309

Figure 7  Les rsultats donns par BAB et BABDS simuls sur les instances js-taillard-15-103. Le nomre
des sommets visits, le temps CPU et le cot sont reports. Le temps de simulation a t limit 4 heures pour
chaque problme gn.

6 Travaux Connexes

lit pour les contraintes gnralise la fameuse notion


de

k -consistance.

Plusieurs auteurs [17, 23, 32] ont travaill sur l'ex-

Toutes les approches, cites ci-dessus, utilisent une

ploitation dynamique de l'interchangeabilit voisine

forme spcique d'interchangeabilit ou de substitua-

(NI) en prsentant divers algorithmes de recherche.

bili pour dterminer les valeurs ou les uplets qu'on

Ces algorithmes fonctionnent sur de sous ensembles

peut liminer sans modier le problme. En eet, ces

de valeurs voisinage interchangeables, dont le produit

mthodes peuvent tre classes comme des mthodes

cartsien fournit une reprsentation compacte de l'en-

de ltrage de domaine ou de relation. Dans notre cas,

semble de solutions du CSP. Il est remarquable que

la substituabilit directionnelle ne cherche pas li-

les algorithmes de reprsentation du produit cartsien

miner les valeurs ou les uplets redondants, mais plu-

(CPR) sont trs utiliss pour trouver toutes les solu-

tt elle cherche analyser plusieurs valeurs par un

tions possibles du CSP. Dans [7], les auteurs concluent

seul branchement, lors de l'exploration de l'arbre de

que les algorithmes CPR sont souvent ecaces dans

recherche. La substituabilit directionnelle est, alors,

la recherche de la premire solution d'un CSP dont les

une mthode de dcomposition de domaine.

instances sont diciles.


Cependant, l'ecacit de ces mthodes semble relie l'occurrence de l'interchangeabilit voisine. Pour

7 Conclusion

cette raison, plusieurs variantes de l'interchangeabilit


voisine ont t proposes. Dans [35], les auteurs proposent la notion d'interchangeabilit conditionnelle,

Dans le prsent article, nous avons propos deux


extensions du travail prsent dans [26] :

qui consiste renforcer la rencontre des valeurs voisi-

 Nous avons gnralis davantage la notion de sub-

nage interchangeables. Une condition est une restric-

stituabilit directionnelle en considrant, comme

tion du domaine de la variable voisine dont le rle est

rfrence, une orientation du graphe d'inconsistance au lieu de l'ordre sur les variables.

de capturer l'interchangeabilit dans une situation limite lorsque l'interchangeabilit voisine choue.

 Nous avons introduit des conditions supplmen-

Bowen et Likitvivatanavong ont introduit le concept

taires de substituabilit garantissant l'optimalit

de transmutation de domaine qui est fermement reli

de la solution lors de la rsolution de problme

l'interchangeabilit [5]. Leur approche consiste di-

de satisfaction et d'optimisation de contraintes


(CSOP).

viser le domaine de valeurs en divers sous ensemble


de valeurs an de mieux exploiter l'interchangeabilit.

Les rsultats de simulation, sur plusieurs CSOPs

Les auteurs ont report que leur approche est particu-

(JSP) modlisant des problmes d'ordonnancement,

lirement avantageuse dans la recherche de toutes les

ont montr qu'une variante de l'algorithme du Branch-

solutions d'un CSP.

and-Bound exploitant la substituabilit directionnelle

Le concept d'interchangeabilit voisine a t aussi


appliqu aux CSPs non binaires [20]. Les auteurs ont

(BABDS) est souvent plus ecace que l'algorithme


original (BAB).

propos un algorithme permettant de calculer les va-

Une extension de ce travail consiste proposer de

leurs voisinage interchangeables tout en tenant compte

nouvelles formulations, appliques sur d'autres cas de

des contraintes non binaires. Ils ont aussi valu la per-

Soft CSPs [3, 11, 30] : les CSPs valus [31], les CSPs

formance de leur algorithme dans la recherche dyna-

pondrs

mique.

de l'avantage de la substituabilit

Dans [27], les auteurs ont gnralis davantage la dnition d'interchangeabilit aux soft CSPs en introdui-

[4, 10], les CSP ou

substituabilit directionnelle

[8, 27] en protant


[13, 18] et de la

[26], tout en prsentant

de nouvelles mthodes de rsolution.

sant deux relaxations bases sur la dgradation et sur

interchangeabilit

voisine ( NI) et interchangeabilit voisine ( NI). Ils


le seuil rfrs respectivement par

ont montr exprimentalement qu'il existe une grande


occurrence de

NI et de NI lors de la recherche de

Rfrences
[1]

la solution optimale dans les CSPs ous et les CSPs

nal on Computing

pondrs.
La notion de substituabilit a t aussi dnie pour

Applegate, D., Cook, W. A computational study


of the job-shop scheduling problem,

[2]

ORSA Jour-

pages 3 : 149-156. 1991

Balakrishnan, V., Boyd, S., et Balemi, S. Branch

les contraintes [18]. Les auteurs ont dni une op-

and bound algorithm for computing the minimum

ration de substitution permettant la dtection des

stability degree of parameter-dependent linear

uplets redondants dans les relations dnissant les

systems.

contraintes. Ils ont aussi soulign que la substituabi-

317 1991

Robust and Nonlinear Control, 1(4) :295-

[3]

changeability in Soft CSP. InSpringer

Berlin Heidelberg,
[4]

the 10th National Conference on Articial Intelligence, pages 421427. San Jose, California, USA,

Bistarelli, S., Faltings, F., et Neagu, N. Inter-

Boussemart,

Verlag

2002

F.,

1992

Hemery,

F.,

Lecoutre,

C.,

[18]

constraints. In

Proceedings of ECAI'04,

pages

146150, 2004
[5]

Bowen, J., Likitvivatanavong, C. Domain trans-

[6]

[19]

2004

Bowman, E. H. The scheduling sequencing problem.

Operations Research,

pages 7 : 621-624,

[20]

ling : less eort for more solutions. In Proceedings


of the 5th International Symposium on Abstraction, Reformulation and Approximation, Lecture
Notes in Computer Science, pages 6482, volume

lued constraint satisfaction.

[9]

[21]

[11]

Cooper, M., Schiex, T. Arc consistency for soft


constraints.

Articial Intelligence,

pages 154 :

199227, 2004
[12]

[23]

Annals of Mathematics,

51 :

161-166. 1950
[13]

ceedings of AAAI-91,
[14]

[24]

[25]

[26]

110114, Amsterdam, The Ne-

Articial Intelligence,

[28]

Computers and Mathematics with Ap21(6/7) :25-39, 1991

Naanaa, W. Directional interchangeability for en-

CPAIOR 2007,

pages 200

Neagu, N., Bistarelli, S., Faltings, B. Experi-

International Workshop on Constraint Solving and Constraint Logic Programming (CSCLP


2003), pages 140153, 2003
Pinedo, P. Scheduling Theory. Algorithms and
Systems, Prentice Hall, Englewood Clis, N.J.,
1995
Sabin, D., Freuder, E.C. Contradicting conven-

Proceedings of the 11th European Conference on Articial Intelligence, 1994


tional wisdom in constraint satisfaction. In

SIAM

2, 4 : 225231, 1993
[30]

Schiex, T. Arc consistency for soft constraints. In

product representation of the constraint satis-

Proceedings of CP'2000,

faction problem search space. In

1894 of LNCS, 2000

Proceedings of

8 : 99118, 1977

CSPs.

[29]

Hubbe, P. D., Freuder, E. C. An ecient cross

for

mental Evaluation of Interchangeability in Soft

Hopcroft, J. E., Karp, R. M. An n 5 2 algorithm

Journal on Computing,

solutions

2007

Proceedings of the International Joint Conference on


Articial Intelligence, pages 572578, 1995

for maximum matching in bipartite graphs.

of

213, Hentenryck and Wolsey Eds. LNCS 4510,

[27]

Proceedings of the 14th International


Joint Conference On Articial Intelligence, pages

sets

Proceedings
European Conference on Articial In-

plications,

Frost, D., Dechter, R. Look-ahead value orde-

607613. 1995

[17]

Maximal

Moore., R. E. Global optimization to prescribed


accuracy.

Pro-

Harvey, W., Ginsberg, M. Limited discrepancy

CSP

Mackworth., A., K. Consistency in networks of


relations.

search. In

[16]

D.

hancing CSP solving.

pages 227233, 1991

of

therlands, 1994

ring for constraint satisfaction problems. In

[15]

Lesaint,

of the 11th
telligence, pages

Freuder, E. C. Eliminating interchangeable values in constraint satisfaction problems. In

Benchmarks

constraint satisfaction problems. In

Dilworth, R. P. A decomposition theorem for partially ordered sets.

Toward

representation

http
://www.cril.univartois.fr/lecoutre/research/benchmarks/benchmarks.html, 2007

Cohrence d'arc virtuelle pour les CSP pndrs.


2008

C.

XML

instances.

Cooper, M., de Givry, S., Schiex, T., Zytnicki, M.

Actes JFPC 2008,

Lecoutre,
2.1.

Fuzzy Sets and Sys-

Proceedings of IJCAI-07,

Operations Research, 14 :699-

719, 1966

pages 6873, Hyderabad, India, 2007

In

Lawler, E. L., et Wood, D. E. Branch-and-bound

[22]

Cooper, M., de Givry, S., Schiex, T. Optimal

Proceedings of

pages 397404, 2005

methods : A survey.

pages 134 : 311342, 2003

soft arc consistency. In

[10]

Lal, A., Choueiry, B.Y., Freuder, E.C. Neigh-

AAAI-05,

Cooper, M. Reduction operations in fuzzy or va-

tems,

1995

ling for non-binary nite CSPs. In

Choueiry, B. Y., Davis, A. M. Dynamic Bund-

2371, Springer-Verlag, 2002


[8]

Jensen, T., Toft, B. Graph Coloring Problems.

Wiley,

borhood interchangeability and dynamic bund-

1959
[7]

Proceedings of the Second International Workshop on


Principal and Proctice of Constraint Programming (PPCP94), pages 19, Lecture Notes in
Computer Science 874 Springer-Verlag, 1994

mutation in constraint satisfaction problems. In

Proceedings of AAAI-04,

Jeavons, P. G., Cohen, D. A., Cooper, M. C. A

substitution operation for constraints. In

Sais, L. Boosting systematic search by weighting

pages 411424, Volume

[31]

Schiex, T., Fargier, H., Verfaillie, G. Valued


constraint satisfaction problems : hard and easy
problems. In

Proceedings of the 14t h IJCAI, pages

631637, Montral, Canada, 1995


[32]

Silaghi, M. C., Sam-Haroud, D., Faltings, B.


V. Ways of maintaining arc-consistency in search

New Trends in
Constraints, Joint ERCIM/Compulog Net Workshop, pages 173187, Springer-Verlag, 2000
using the Cartesian representation

[33]

Taillard, E. Benchmarks for basic scheduling problems.

European Journal of Operational Research,

64 : 278285, 1993
[34]

Tsang, E. Foundations of constraint satisfaction.

Published by Academic Press Limited in UK 24-28

Oval Road, London NW1 7DX USA : Sandiego,


CA 92101 ISBN 0-12-701610-4. 1993
[35]

Zhang, Y., Freuder, E.C. Conditional interchan-

Proceedings of
Fourth International Workshop on Symmetry and
Constraint Satisfaction Problems (SymCon04),
geability and substitutability. In

Toronto, 2004