13.07.2015 Views

La Contrainte Deviation

La Contrainte Deviation

La Contrainte Deviation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

solution L 0 L 1 L 2 L ∞1 100 100 100 100 30 170 2 140 9800 702 60 80 100 100 120 140 4 120 4000 403 70 70 90 110 130 130 6 140 3800 304 71 71 71 129 129 129 6 174 5046 29Tab. 1 – Illustration montrant qu’aucun critère définipar les normes L 0 , L 1 , L 2 or L ∞ n’est plus généralqu’un autre. <strong>La</strong> plus petite norme est indiquée en gras.Par exemple, la solution 2 est la plus équilibrée selonle critère L 1 .une moyenne m. Cet article propose une contrainteglobale et ses propagateurs pour la norme L 1 . Cettecontrainte est formulée dans la définition suivante :Définition 1. Étant donné un ensemble de variablesà domaines finis X = {X 1 , X 2 , ..., X n }, une valeurmoyenne m et une variable intervalle D, la contrainteDEVIATION(X , m, D) spécifie que la moyenne desvaleurs prises par les variables de X est égale à met que la somme des écarts à m est égale à D. Plusexactement, DEVIATION(X , m, D) est satisfaite si etseulement sin.m =n∑X i et D =i=1n∑|X i − m|.i=1Pour que la contrainte soit consistante, n.m doit êtreentier. Par conséquent n.D est également entier.Plan de l’article :<strong>La</strong> Section 2 introduit des notions relatives à la programmationpar contraintes telles que la propagation,la consistance de domaine et la consistance aux bornes.Nous y définissons également quelques notations utilespour la suite. <strong>La</strong> Section 3 donne les motivations pourla contrainte globale DEVIATION en termes de propagation.<strong>La</strong> section 4 explique les propagateurs réduisantle domaine de la variable D. Ces propagateursutilisent la minimisation et maximisation de la sommedes écarts à la moyenne. <strong>La</strong> minimisation peut être résolueen temps linéaire. <strong>La</strong> maximisation est une problèmeN P-complet mais une borne supérieure peutêtre calculée en temps linéaire. <strong>La</strong> Section 5 décrit unalgorithme de filtrage depuis m et D vers les variablesde X . L’idée est similaire à un algorithme de consistanceaux bornes pour la contrainte SUM mais incluantla contrainte de la somme des écarts à la moyenne. <strong>La</strong>Section 6 montre que nos propagateurs n’atteignentpas toujours la consistance aux bornes en particulierlorsque la moyenne n’est pas entière. <strong>La</strong> Section 7donne une relaxation de SPREAD à l’aide de DEVIATION.Pour terminer, la Section 8 évalue les performancesdes propagateurs présentés en termes de filtrage surdes instances aléatoires.2 Notions préliminaires et notationsQuelques notions de programmation par contraintes(inspirées de la Section 2 de [9]) sont introduites. Ensuite,quelques notations utiles pour le reste de l’articlesont définies.Soit X une variable à domaine fini entier. Son domaineest un ensemble ordonné d’entiers pouvant êtreassigné à X et dénoté Dom(X). <strong>La</strong> valeur minimum(resp. maximum) de son domaine est dénotée X min =min(Dom(X)) (resp. X max = max(Dom(X)). SoitX = {X 1 , X 2 , ..., X k } une séquence de variables.Une contrainte C sur X est définie comme un sousensembledu produit cartésien des domaines des variablesdans X : C ⊆ Dom(X 1 ) × Dom(X 2 ) × ... ×Dom(X k ). Un nuplet (v 1 , ..., v k ) ∈ C est appelé unesolution de C. Une valeur v ∈ Dom(X i ) pour i ∈1, ..., k est inconsistante par rapport à C si elle n’appartientà aucun nuplet de C, sinon elle est consistante.<strong>La</strong> contrainte C est inconsistante si elle ne contient aucunesolution. Sinon, C est dite consistante.Le processus de recherche de solution(s) en programmationpar contraintes alterne la propagationdes contraintes et la recherche. <strong>La</strong> recherche consisteen l’énumération de toutes les combinaisons possiblesvariables-valeurs jusqu’à ce qu’une solution soit trouvéeoù qu’il soit prouvé qu’il n’en existe pas. Nous disonsque ce processus construit un arbre de recherche.Afin de réduire le nombre exponentiel de combinaisons,la propagation des contraintes est appliquéesà chaque noeud de l’arbre de recherche : Pour unecontrainte C et des domaines pour les variables impliquéesdans C, un propagateur pour C retire des domainesdes valeurs n’appartenant à aucune solution deC. Cela est répété pour chaque contrainte jusqu’à cequ’aucune valeur ne puisse être retirée par les propagateurs.<strong>La</strong> suppression de valeurs inconsistantes dansles domaines est aussi appelé filtrage.Pour que la recherche soit efficace, les algorithmesde filtrage doivent être rapides car ils sont exécutésde nombreuses fois durant le processus de recherche.Ils doivent également retirer le plus possible de valeursinconsistantes. Si un algorithme de filtrage pourune contrainte C retire toute les valeurs inconsistantesdes domaines par rapport à C, nous disons que l’algorithmeatteint la consistance de domaines pour C.Pour certaines contraintes telles que AllDiff, il estpossible d’atteindre la consistance de domaines entemps polynomial mais pour d’autres telles que SUM,cela serait bien trop coûteux. Dans de tels cas, il de-


vient avantageux d’utiliser une notion de consistanceplus faible par exemple la consistance aux bornes. Unecontrainte C est bornes-conistante si les bornes desdomaines de chaque variable impliquée dans C appartiennentà au moins à une solution de C. L’idée est deborner le domaine de chaque variable par un intervalleen s’assurant que les points extrêmes des intervallessatisfasse la propriété de consistance de domaines. Sice n’est pas le cas, les bornes supérieures et inférieuresdes intervalles peuvent êtres ajustées jusqu’à ce que laconsistance de bornes soit obtenue.<strong>La</strong> Proposition 1 affirme que réaliser la consistancede domaines pour DEVIATION est aussi difficile quepour les contraintes arithmétiques en général.mrdldX maxX max rdld=rd=0 rd=rd=0 X min rdld=ld=0X max ldldX min X minProposition 1. Atteindre la consistance de domainepour DEVIATION est N P-Complet.Démonstration. <strong>La</strong> contrainte SUM(X 1 ...X n , S) est satisfaitesi et seulement si ∑ ni=1 X i = S. Il est bienconnu que réaliser la consistance de domaines pourSUM est un problème N P-Complet (Le problème subsetsum [3] peut aisément être réduit vers le problème deréalisation de la consistance de domaines pour SUM).Dans le cas particulier où Dom(D) = [0, +∞] etm = S/n, réaliser la consistance de domaine pour SUMse réduit à réaliser la consistance de domaines pourDEVIATION(X , m, D).Dans la suite, les domaines des variables sontconsidérés comme pleins et décrits par l’intervalleDom(X) = [X min ..X max ].<strong>La</strong> Définition 2 introduit quelques notations utilesqui peuvent être aisément comprises à l’aide de la Figure1. Un exemple numérique est également donné àl’Exemple 1.Définition 2. Pour une variables X et une valeurdonnée m, les bornes supérieures sur l’écart à droiteet à gauche de la moyenne sont respectivement• rd(X, m) = max(0, X max − m) et• ld(X, m) = max(0, m − X min ).Les sommes de ces valeurs sur l’ensemble X sont respectivement• RD(X , m) = ∑ X∈Xrd(X, m) et• LD(X , m) = ∑ X∈Xld(X, m).Suivant la même idée, les bornes inférieures sur lesécarts à la moyenne sont :• rd(X, m) = max(0, X min − m).• ld(X, m) = max(0, m − X max ).• RD(X , m) = ∑ X∈Xrd(X, m).• LD(X , m) = ∑ X∈Xld(X, m).Pour une variable X i ∈ X nous définissons :Fig. 1 – Illustration des définitions introduites à laDéfinition 2 pour trois variables.• LD i (X , m) = LD(X , m) − ld(X i , m) et• RD i (X , m) = RD(X , m) − rd(X i , m).Afin d’alléger les notations, l’argument (X , m) seraparfois omis. Par exemple LD(X , m) s’écrit simplementLD.Exemple 1. Soit quatre variables X ={X 1 , X 2 , X 3 , X 4 } ayant pour domaines Dom(X 1 ) =[8, 10], Dom(X 2 ) = [4, 7], Dom(X 3 ) = [1, 5] etDom(X 4 ) = [3, 4]. Le tableau suivant donne lesquantités introduites à la Définition 2.i Ximin Xi max rd(X i , 5) ld(X i , 5) rd(X i , 5) ld(X i , 5)1 8 10 5 0 3 02 4 7 2 1 0 03 1 5 0 4 0 04 3∑4 0 2 0 1i7 7 3 1i RD i (X , 5) LD i (X , 5) RD i (X , 5) LD i (X , 5)1 2 7 0 12 5 6 3 13 7 3 3 14 7 5 3 0Le filtrage pour DEVIATION est basé sur le théorèmesuivant stipulant que les sommes des écarts au dessuset en dessous de la moyenne doivent être égales.∑Lemme 1. Soit X = {X 1 , ..., X n }. L’égalité n.m =X∈X X est satisfaite si et seulement si ∑ X>m (X −m) = ∑ Xm(X − m) +∑Xm(X −m)−(m − X).X


Propriété 1. Soit X = {X 1 , ..., X n }. Une affectationsur X satisfait :• ∑ X>m(X − m) ∈ [RD(X , m), RD(X , m)] et• ∑ X Dmax2alors ∑ DmaxX>m(X − m) >2(Propriété 1). Donc ∑ ni=1 |X i − m| > D max (par leLemme 1).2., 3. et 4. sont similaires à 1.5. est une conséquence des Lemme 1 et Propriété 1.3 Implémentation NaïveCette section explique pourquoi une implémentationnaïve de DEVIATION par décomposition en plusieurscontraintes élémentaires n’est pas optimale en termesde filtrage.Comme il est dit dans la Définition 1, DEVIA-TION(X , m, D) est satisfaite si et seulement si n.m =∑ ni=1 X i et D = ∑ ni=1 |X i − m|. Cela suggère une implémentationde la contrainte par décomposition endeux contraintes SUM. <strong>La</strong> Figure 2 montre que le filtrageobtenu avec la décomposition n’est pas optimal.Soit deux variables X 1 , X 2 avec des domaines nonbornés et la contrainteDEVIATION({X 1 , X 2 }, m, D ∈ [0, D max ]).Le carré hachuré de lignes diagonales (voire Figure 2)délimite l’ensemble des points tels que |X 1 − m| +|X 2 − m| ≤ D max . <strong>La</strong> ligne diagonale est l’ensembledes points tels que X 1 + X 2 = 2.m. Les domaines nonbornés pour X 1 et X 2 sont bornes-consistants pourla contrainte moyenne. Le rectangle hachuré verticalementdéfinit le domaine de X 1 après un filtrage consistantaux bornes pour |X 1 − m| + |X 2 − m| ≤ D max .L’ensemble des solutions de DEVIATION est défini par lesegment diagonal en gras obtenu par intersection de lasurface carrée et de la ligne diagonale. <strong>La</strong> figure montreque les domaines peuvent être davantage réduits. Eneffet, le filtrage bornes-consistant sur le segment diagonalen gras donne un domaine pour X 1 représenté parDom X 2D max∣X 1−m∣∣X 2−m∣D maxm , mX 1 X 2=2mDom X 1Fig. 2 – Filtrage de X 1 avec la décomposition et avecDEVIATION.le rectangle hachuré de lignes diagonales. En conclusion,un filtrage borne-consistant pour la décompositiondonne Dom(X 1 ) = Dom(X 2 ) = [m − D max , m +D max ] alors qu’un filtrage consistant aux bornes pourDEVIATION({X 1 , X 2 }, m, D ∈ [0, D max ]) donne des domainesdeux fois plus petits Dom(X 1 ) = Dom(X 2 ) =[m − Dmax2, m + Dmax2].4 Filtrage de DLe filtrage bornes-consistant de D nécessite de résoudredeux problèmes d’optimisation : la minimisationet la maximisation de la somme des écarts à lamoyenne donnée m. <strong>La</strong> Définition 3 définit une relaxationde ces problèmes en permettant une assignationsur les rationnels.Définition 3. D et D dénotent les valeurs optimalesdes problèmes :n∑n∑D = min |X i − m| et D = max |X i − m|i=1tels que :n∑X i = n.mi=1Ximin≤ X i ≤ Ximax , 1 ≤ i ≤ nX i ∈ Q, 1 ≤ i ≤ n.i=1Les valeurs D et D peuvent être utilisées pour filtrerle domaine de D :Dom(D) ←− Dom(D) ∩ [D, D].


Le restant de la section explique comment D peutêtre calculé en temps linéaire par rapport au nombrede variables n = |X |. Malheureusement, trouver Dest un problème N P-complet et le mieux que nouspuissions faire est de créer une bonne borne supérieurecomme expliqué en fin de section.<strong>La</strong> Définition 4 caractérise une solution optimale auproblème de trouver D.Définition 4 (affectation centrée vers le haut et vers lebas). Soit X = {X 1 , ..., X n }. Soit A : X i → Dom(X i )une affectation de X ∈ X . <strong>La</strong> quantité s(A) dénote lasomme des valeurs affectées : s(A) = ∑ X A(X i∈X i).Une affectation A est dit centrée vers le hautquand :A(X i ){= Xmini≤ s(A)/nsi Ximinsinon≥ s(A)/nEn d’autres termes, chaque variable dont la plus petitevaleur de son domaine est supérieure à la moyennedes valeurs affectées prend la valeur minimum de sondomaine et les autres variables prennent des valeursinférieures à la moyenne des valeurs affectées.Un affectation A est dit centrée vers le basquand :A(X i ){= Xmaxi≥ s(A)/nsi Ximaxsinon≤ s(A)/nEn d’autres termes, chaque variable dont la plusgrande valeur de son domaine est inférieure à lamoyenne des valeurs affectées prend la valeur maximumde son domaine et les autres variables prennentdes valeurs supérieures à la moyenne des valeurs affectées.Exemple 2. Considérant les variables et domaines del’Exemple 1, l’affectation suivante est centrée vers lehaut avec une moyenne de 17/4 :A(X 1 ) = 8, A(X 2 ) = 4, A(X 3 ) = 2, A(X 4 ) = 3.Théorème 2. Une affectation est une solution optimaleau problème de trouver D si et seulement si elleest centrée ver le haut ou vers le bas avec une moyennem.Démonstration. (si) Étant donné un affectation Ade moyenne m i.e. s(A) = n.m. <strong>La</strong> seule manièrede diminuer la somme des écarts tout en conservantune moyenne de m est de trouver une paire devariables (X i , X j ) telle que A(X i ) > m, A(X i ) >Ximin , A(X j ) < m, A(X j ) < Xjmax et de les rapprochertoutes les deux de m en diminuant A(X i )et augmentant A(X j ) d’une même quantité. Pardéfinition d’une affectation centrée vers le haut etvers le bas, il est impossible de trouver une tellepaire de variables X i , X j . Par conséquent, les affectationscentrées vers le haut ou vers le bas sontdes solutions optimales. (seulement si) Supposonsune affectation A qui n’est ni centrée vers le haut,ni centrée vers le bas telle que s(A) = n.m. Il estalors possible de trouver au moins deux variablesX i , X j ∈ X . <strong>La</strong> première telle que A(X i ) > m etA(X i ) > Ximin (violation de centrée vers le haut) etla seconde telle que A(X j ) < m et A(X j ) < Xjmax(violation de centrée vers le bas). Nous définissons δ =min ( A(X i ) − max(Ximin , m), min(Xj max , m) − A(X j ) ) .L’affectation A(X) n’est pas optimale puisque lasomme des écarts à m peut-être diminuée de 2δ en modifiantl’affectation sur X i et X j : A ′ (X i ) = A(X i ) − δet A ′ (X j ) = A(X j ) + δ.Théorème 3. Si DEVIATION est consistante alorsD = 2. max(LD (X , m), RD(X , m)) .Démonstration. Supposons LD ≥ RD. Il est alorspossible de construire un affectation A centrée versle bas de moyenne m qui est optimal (par le Théorème2). Pour cette affectation ∑ A(X)m (X − m) = ∑ X


Il est possible de réduire le problème subset sum [3]vers le problème de trouver D. Étant donné un ensemblede n valeurs positives {b 1 , ..., b n−1 , T }, le problèmesubset sum est de trouver s’il existe un ensemblede valeurs binaires {y 1 , ..., y n−1 }, y i ∈ {0, 1}, 1 ≤ i < ntelles que ∑ n−1i=1 y i.b i = T . <strong>La</strong> réduction est la suivante:• Ximin = − bi2et Xmax i = bi2pour 1 ≤ i < n.P n−1i=1• X n =bi2− T .• Il y a une solution au problème subset sum si etP n−1Pi=1 n−1seulement si D ≥bii=1∣2+ ∣bi2− T ∣. Cettecontrainte sur la valeur optimale garantit que lasolution optimale est telle que X i ∈ {− bi2 , bi2}. <strong>La</strong>solution au problème subset sum est alors donnéepar y i = 1 si X i = bi2 et y i = 0 si X i = −bi2 .A moins que P = N P, le problème de calculer Dest exponentiel (Théorème 4). Comme expliqué à laSection 2, un algorithme de filtrage doit être aussi rapideque possible pour être utile. En effet celui-ci estexécuté de nombreuses fois durant le processus de recherche.C’est pour cette raison que nous préféreronstrouver rapidement une borne supérieure D ↑ pour Dplutôt que sa valeur exacte. Une borne supérieure pouvantêtre calculée en temps linéaire estD ↑ =n∑i=1max ( |X maxiLe filtrage de Dom(D) devient :5 Filtrage de X− m|, |X mini − m| ) .Dom(D) ←− Dom(D) ∩ [D, D ↑ ]Deux propagateurs peuvent être considérés pour filtrerle domaine de X :1. depuis D min et m vers X et2. depuis D max et m vers X .Atteindre la consistance aux bornes pour le premierpropagateur est N P-complet. En effet, vérifierla consistance d’une valeur nécessite de maximiser lasomme des écarts ce qui est un problème N P-complet(Théorème 4). <strong>La</strong> décomposition de DEVIATION présentéedans la Section 3 peut néanmoins être utilisée pourréaliser la consistance de bornes pour la contrainte∑X∈X |X − m| ≥ Dmin . Remarquons que ce filtrageest inutile si nous cherchons une solution équilibrée surX . Le restant de cette section se concentre donc surun algorithme pour le second propagateur.Le filtrage est basé sur le calcul des valeurs X i etX i introduites dans la Définition 5.Définition 5. X i et X i sont les valeurs optimales desproblèmes suivant :X i = max(X i ) et X i = min(X i )n∑tels que : X j = n.m (1)j=1n∑|X j − m| ≤ D max (2)j=1X minj≤ X j ≤ Xjmax , 1 ≤ j ≤ n, j ≠ iX j ∈ Q, 1 ≤ j ≤ n.<strong>La</strong> règle de filtrage du domaine de X i s’écrit simplement:Dom(X i ) ←− Dom(X i ) ∩ [X i , X i ] (3)Théorème 5. Pour une variable X i , si la contrainteest consistante, les égalités suivantes sont satisfaites :( )DmaxX i = min , LD i (X , m) − RD2i (X , m) + m.( )DmaxX i = − min , RD i (X , m) + LD2i (X , m) + m.Démonstration. Seul X i est étudié car la preuve pourX i est symétrique par rapport à m. Deux cas sontpossibles :• LD i ≤ Dmax2: Par le Lemme 1 les sommes desécarts au dessus et en dessous de la moyennedoivent être égales. Donc la solution optimale esttelle que X i − m + RD i = LD i . <strong>La</strong> contrainte (2)n’est pas serrée 2 dans ce cas.• LD i> Dmax2: Par le Lemme 1, la contrainte(1) signifie que la somme des écarts au dessus eten dessous de la moyenne doivent être égales. <strong>La</strong>conjonction des contraintes (1) et (2) signifie queles sommes des écarts au dessus et en dessous dela moyenne sont égales et valent au plus D max /2.Par conséquent la solution optimale est telle queX i −m+RD i = Dmax2. <strong>La</strong> contrainte (2) est serréedans ce cas.Si les deux cas sont considérés ensemble, l’égalité suivanteest satisfaite pour une solution optimale X i −m + RD i = min( Dmax2, LD i ).<strong>La</strong> procédure de filtrage sur X applique la règle (3)une fois sur chaque X i ∈ X . Cela se fait en tempslinéaire par rapport au nombre de variables.2 Une contrainte d’inégalité est dite non serrée si elle est vérifiéeà l’aide du signe d’inégalité stricte et serrée si elle est vérifiéeà l’aide du signe d’égalité


Exemple 4. Les variables et domaines sont lesmêmes que dans l’Exemple 1. <strong>La</strong> contrainte étudiée estDEVIATION(X = {X 1 , X 2 , X 3 , X 4 }, m = 5, D ∈ [0, 7]).Les valeurs X i et X i sont : X 1 = min(3.5, 7) − 0 +5 = 8.5, X 2 = min(3.5, 6) − 3 + 5 = 5.5, X 3 =min(3.5, 3)−3+5 = 5, X 4 = min(3.5, 5)−3+5 = 5.5,X 1 = − min(3.5, 2) + 1 + 5 = 4, X 2 = − min(3.5, 5) +1 + 5 = 2.5, X 3 = − min(3.5, 7) + 1 + 5 = 2.5 et X 4 =− min(3.5, 7) + 0 + 5 = 1.5. <strong>La</strong> règle (3) donne les domainesfiltrés : Dom(X 1 ) = [8, 8], Dom(X 2 ) = [4, 5],Dom(X 3 ) = [3, 5] et Dom(X 4 ) = [3, 4].6 <strong>La</strong> consistance de bornes pour DEVIA-TIONLe filtrages pour toutes les variables s’effectue enO(n) comme suit :1. Filtrage depuis D max et m vers X :∀X ∈ X , Dom(X) ←− Dom(X) ∩ [X, X].2. Filtrage depuis X et m vers D :Dom(D) ←− Dom(D) ∩ [D, D ↑ ].Même s’il était possible de calculer D efficacement,la consistance de bornes ne serait pas nécessairementobtenue. <strong>La</strong> raison étant que que les valeurs X, X (Définition5) et D (Définition 3) sont calculées en faisantl’hypothèse que les domaines des variables sont des intervallesrationnels (Q) plutôt qu’entiers (Z). Commele montre l’exemple suivant, cela a pour effet de ne pasfiltrer certaines valeurs inconsistantes.Exemple 5. Considérons une ensemble de 10 variablesX avec pour domaine [0, 1] et une contraintemoyenne m = 0.5. Le Théorème 3 donne la valeurD = 0 puisque chaque domaine chevauche m. En réalité,la seule façon possible d’obtenir une affectationqui respecte la contrainte moyenne est d’assigner cinqvariables à 0 et cinq variables à 1. Pour une telle affectation,la somme des écarts à la moyenne minimumvaut 5 et non 0. En conséquence, la contrainteDEVIATION(X , m = 0.5, D ∈ [0, 3]) est inconsistante.Cette inconsistance n’est pas détectée par notre propagateur.L’Exemple 5 montre que toutes les inconsistancesne sont pas détectées par notre propagateur. Cela seproduit lorsque la moyenne n’est pas entière mais rationnelleet lorsque les domaines de certaines variableschevauchent la moyenne. Lorsque la moyenne est entière,le propagateur est bornes-consistant.7 Lien entre SPREAD et DEVIATIONCette section montre que DEVIATION peut être utiliséecomme relaxation de SPREAD. Cette relaxation peut∑x∈X Xêtre utile puisque la propagation pour SPREAD s’effectueen O(n 2 ) contre O(n) pour DEVIATION. De plus,DEVIATION est plus simple à implémenter. <strong>La</strong> relaxationest illustrée sur un schéma et les paramètres àdonner à DEVIATION pour obtenir la plus forte relaxationpossible sont donnés en fonction des paramètresde SPREAD.SPREAD(X , m, ∆ 2 ) est satisfaite si la valeur m estla moyenne sur X et que la somme des écarts quadratiquesà la moyenne m vaut ∆ 2 . Plus formellement,∑SPREAD est satisfaite si= n.m etx∈X (X − m)2 = ∆ 2 .D’un point de vue géométrique, ∑ x∈X (X − m)2 ≤(∆ max ) 2 définit une hyper-sphère centrée en [m, ..., m]de∑rayon ∆ max . L’ensemble des points satisfaisantx∈X |X −m| ≤ Dmax se trouve sur un polytope réguliercentré en [m, ..., m] avec 2 n facettes dans un espaceà n dimensions 3 .Dom X 2X 1 X 2=2m maxm , mD maxDom X 1Fig. 3 – Lien entre SPREAD et DEVIATION pour deuxvariables.L’idée est de relâcher SPREAD avec DEVIATION entrouvant le plus petit D max possible tel que l’hypersphèreest inclue dans le polytope. Pour deux variablesX 1 et X 2 , la Figure 3 montre que le cerclepeut être placé dans un carré externe tangent. PourD max = √ 2∆ le carré externe est tangent avec le cercle(relation de Pythagore). Pour n variables le résultatsest décrit dans le Théorème suivant.Théorème 6. SPREAD(X , m, [0, (∆ max ) 2 ]) ⊆DEVIATION(X , m, [0, √ n.∆ max ]) et ∄ D max


Démonstration. Pour des raisons de simplicité nousconsidérons∑m = 0. L’ensemble des points tels quex∈X |X| ≤ Dmax définit un polytope régulier centréà l’origine à 2 n facettes dans un espace à n dimensions.Nous travaillons dans le premier orthantpour trouver D max tel que le polytope est tangent àl’hyper-sphère de rayon ∆ (la situation étant symétriquedans les autres orthants). Dans cet orthant, leproblème est réduit à trouver D max tel que l’hyperplanX 1 + X 2 + ... + X n = D max est tangent avecl’hypersphère X1 2 +X2 2 +...+Xn 2 = (∆ max ) 2 . Au pointde tangence, nous avons X 1 = X 2 = ... = X n . Parconséquent, en ce point X 1 = X 2 = ... = X n = ∆max √ net donc D max = √ n n∆ max .Notons que l’égalité SPREAD(X , m, [0, (∆ max ) 2 ]) =DEVIATION(X , m, [0, √ n.∆]) n’est valide que quandn = 2 (deux variables). Pour trois variables ouplus c’est une inclusion stricte. Par exemple, le nuplett = 〈X 1 = √ 32 ∆max , X 2 = − √ 32 ∆max , X 3 =0〉 ∈ DEVIATION(X , m = 0, [0, √ 3.∆ max ]) maist /∈ SPREAD(X , m = 0, [0, (∆ max ) 2 ]). En effet,( √3 ) 2 ( √3 ) 22 ∆max +2 ∆max + 02= 3 2 (∆max ) 2 >(∆ max ) 2 .8 Résultats expérimentauxL’objectif de cette section expérimentale est de comparerle filtrage obtenu par les propagateurs décritsaux Sections 4 et 5, avec une implémentation par décompositionsuggérée à la Section 3.20, 000 ensembles X = {X 1 , ..., X 50 } ont été générés.Le domaine d’une variable X est composé desentiers entre le minimum et le maximum d’une pairede nombres générés aléatoirement entre -50 et 50. <strong>La</strong>contrainte moyenne pour chaque ensemble est m =0.5. <strong>La</strong> somme des écarts maximum D max varie entre200 et 1000. Cet intervalle a été trouvé expérimentalementde sorte qu’avec D max = 200 (resp. 1000) tousles ensembles sont inconsistants (resp. consistants).<strong>La</strong> Figure 4 montre les statistiques au noeud racine(aucune recherche n’a été employée). Le nombre d’ensembleinconsistants détectés par les deux approchessont données sur la Figure 4 à gauche. Remarquonsque si un exemple est détecté comme inconsistant pardécomposition, DEVIATION le détecte aussi. Le pourcentagede filtrage moyen (le nombre de valeurs filtréesdivisé par le nombre de valeurs dans les domaines initiaux)sur les ensembles consistants sont représentéssur la Figure 4 à droite.Le nombre d’ensembles inconsistants détectés est significativementplus important pour les propagateursprésentés que pour une approche par décomposition.Par exemple, pour D max = 500, DEVIATION détecte9, 619 inconsistances contre 3, 628 pour la décomposition.Sur les 10, 381 ensembles inconsistants, le pourcentagede filtrage obtenu pour DEVIATION est de11.8% contre 0.9% pour la décomposition.Comme expliqué à la Section 6, toutes les inconsistancespeuvent ne pas être détectées par nos propagateurssi la moyenne n’est pas entière. C’est la cas dansnos expérience puisque m = 0.5. <strong>La</strong> Figure 5 montreun graphique du pourcentage d’inconsistances détectéespar décomposition et par DEVIATION. Presquetoutes les inconsistances sont détectées par DEVIA-TION. Le plus faible pourcentage est de 99.66% pourD max = 400.Pourcentage d'inconsistances détectées0 20 40 60 80 100Pourcentage d'inconsistances détectées200 400 600 800 1000D maxDEVIATIONDécompositionFig. 5 – Pourcentage d’inconsistance détectées.<strong>La</strong> Section 7 introduit une approximation de SPREADavec DEVIATION. <strong>La</strong> partie gauche de la Figure6 montre le nombre d’inconsistances détectées parSPREAD (telle que implémentée dans [7]) comparé aunombre d’inconsistances trouvées par l’approximation.De nombreuses inconsistances restent non détectéesmais, comme montré sur la droite de la Figure 6, lapropagation utilisant DEVIATION est deux ordres degrandeur plus rapide qu’avec SPREAD sur ces 20.000instances aléatoires.9 ConclusionCe travail présente DEVIATION, une nouvellecontrainte globale pour équilibrer un ensemble de variables.Cette contrainte est assez similaire à SPREAD[5, 7]. Alors que SPREAD contraint la norme L 2 , DE-VIATION contraint la norme L 1 .Les algorithmes de filtrage que nous introduisonsont une complexité temporelle linéaire par rapport au


Inconsistances détectéesPourcentage de filtrage sur problèmes consistantsfaildev0 5000 10000 15000 20000DEVIATIONDécompositionperc[sel]0 5 10 15 20 25DEVIATIONDécomposition200 400 600 800 1000400 500 600 700 800 900 1000D maxD maxFig. 4 – Résultats expérimentaux : comparaison de DEVIATION et de la décomposition proposée à la Section 3.Inconsistances détectéesTemps total (milli secondes)failspread5000 10000 15000 20000DEVIATIONSPREADtimespread1 10 100 1000 10000DEVIATIONSPREAD5000 10000 150005000 10000 15000(∆ max ) 2(∆ max ) 2Fig. 6 – Résultats expérimentaux : SPREAD v.s. approximation par DEVIATION.nombre de variables. Des expériences évaluent l’efficacitéde nos propagateurs en termes de filtrage. Unerelaxation de SPREAD avec DEVIATION est également introduite.Cette relaxation filtre moins de valeurs queles propagateurs dédiés mais permet néanmoins de réduirele temps de calcul.RemerciementLes auteurs aimeraient remercier Julien Hendrickxet Raphaël Jungers pour la preuve du Théorème 4 ainsique Jean-Noël Monette et Grégoire Dooms pour lesnombreuses discussions intéressantes.Cette recherche a été partiellement supportée par laRégion Wallonne (projet Transmaze 516207).


Références[1] Problem 30 of CSPLIB (www.csplib.org).[2] C. Castro and S. Manzano. Variable and value orderingwhen solving balanced academic curriculumproblem. Proc. of the ERCIM WG on constraints,2001.[3] M. R. Garey and David S. Johnson. Computerand Intractability : A Guide to the Theory of NP-Completeness. W. H. Freeman, 1979.[4] Brahim Hnich, Zeynep Kiziltan, and Toby Walsh.Modelling a balanced academic curriculum problem.Proceedings of CP-AI-OR-2002, 2002.[5] G. Pesant and J.C. Régin. Spread : A balancingconstraint based on statistics. Lecture Notes inComputer Science, 3709 :460–474, 2005.[6] J.C. Régin, T. Petit, C. Bessière, and J.-F. Puget.An original constraint based approach forsolving over constrained problems. Sixth InternationalConference on Principles and Practice ofConstraint Programming (CP 2000), 1894, 2000.[7] P. Schaus, Y. Deville, P. Dupont, and J.C.Régin. Simplification and extension of thespread constraint. Third International Workshopon Constraint Propagation And Implementation,2006.[8] P. Schaus, Y. Deville, P. Dupont, and J.C. Régin.The deviation constraint. Proceedings of CP-AI-OR, 4510 :269–284, 2007.[9] W.J. van Hoeve, G. Pesant, L.M. Rousseau, andA. Sabharwal. Revisiting the sequence constraint.Twelfth International Conference on Principlesand Practice of Constraint Programming (CP2006), 4204, 2006.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!