Heuristique de choix de valeur dirigée par HQ dans les WCSP - Lina
Heuristique de choix de valeur dirigée par HQ dans les WCSP - Lina
Heuristique de choix de valeur dirigée par HQ dans les WCSP - Lina
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Actes JFPC 2008<strong>Heuristique</strong> <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong> dirigée <strong>par</strong> <strong>HQ</strong> <strong>dans</strong><strong>les</strong> <strong>WCSP</strong>Nicolas Levasseur Patrice Boizumault Samir LoudniGREYC, UMR60-72Campus Côte <strong>de</strong> Nacre, boulevard du Maréchal Juin, BP 518614032 CAEN Ce<strong>de</strong>x{nicolas.levasseur,patrice.boizumault}@info.unicaen.fr loudni@iutc3.unicaen.frRésuméLe formalisme <strong>de</strong>s <strong>WCSP</strong> [11, 14] (WeightedConstraint Satisfaction Problem) est un cadre généralpour modéliser et résoudre <strong>de</strong>s problèmes d’optimisationsous contraintes. Les <strong>WCSP</strong> sont très souvent résolus<strong>par</strong> <strong>de</strong>s métho<strong>de</strong>s arborescentes qu’el<strong>les</strong> soient complètes(Depth First Branch and Bound) ou <strong>par</strong>tiel<strong>les</strong>(Limited Discrepancy Search) combinées avec <strong>de</strong>s mécanismes<strong>de</strong> filtrage basés sur un calcul <strong>de</strong> minorants.Dans ces métho<strong>de</strong>s, <strong>les</strong> heuristiques <strong>de</strong> sélection dynamique<strong>de</strong> variable (MinDom/FutDeg) et <strong>de</strong> <strong>valeur</strong> (MinAC)sont <strong>par</strong>mi <strong>les</strong> plus efficaces. Dans cet article, nousproposons <strong>de</strong>s nouvel<strong>les</strong> heuristiques <strong>de</strong> sélection <strong>de</strong> <strong>valeur</strong>basées sur la qualité <strong>de</strong>s solutions (H-Quality). LaH-Quality d’une affectation estime sa capacité à êtreprésente <strong>dans</strong> <strong>de</strong>s solutions <strong>de</strong> “bonne” qualité. Les expérimentationsréalisées avec LDS et DFBB sur <strong>de</strong>s instancesréel<strong>les</strong> (CELAR) et aléatoires montrent que nosheuristiques gui<strong>de</strong>nt plus efficacement la recherche queMinAC.1 IntroductionEn programmation <strong>par</strong> contraintes, <strong>les</strong> heuristiques<strong>de</strong> sélection <strong>de</strong> variable et <strong>de</strong> sélection <strong>de</strong> <strong>valeur</strong> jouentun rôle primordial <strong>dans</strong> la résolution d’un problèmeen permettant <strong>de</strong> définir <strong>de</strong>s stratégies <strong>de</strong> recherchespécifiques et efficaces. Si <strong>de</strong> tel<strong>les</strong> stratégies ont étéétudiées intensivement <strong>dans</strong> le cadre <strong>de</strong>s Problèmes <strong>de</strong>Satisfaction <strong>de</strong> Contraintes [6, 7, 2, 13], ce n’est pasencore le cas pour <strong>les</strong> <strong>WCSP</strong>.Le formalisme <strong>de</strong>s <strong>WCSP</strong> (Weighted Constraint SatisfactionProblem) [11, 14] est un cadre général pourmodéliser et résoudre <strong>de</strong>s problèmes d’optimisationsous contraintes. Les <strong>WCSP</strong> sont très souvent résolus<strong>par</strong> <strong>de</strong>s métho<strong>de</strong>s arborescentes qu’el<strong>les</strong> soient complètes(Depth First Branch and Bound) ou <strong>par</strong>tiel<strong>les</strong>(Limited Discrepancy Search [8]) combinées avec <strong>de</strong>smécanismes <strong>de</strong> filtrage basés sur un calcul <strong>de</strong> minorants.Dans ces métho<strong>de</strong>s, <strong>les</strong> heuristiques <strong>de</strong> sélection<strong>de</strong> variable (MinDom/FutDeg [15]) et <strong>de</strong> <strong>valeur</strong> (MinAC)sont considérées <strong>par</strong>mi <strong>les</strong> plus efficaces.Dans cet article, nous proposons une nouvelle heuristique<strong>de</strong> sélection <strong>de</strong> <strong>valeur</strong> <strong>dans</strong> le cadre <strong>de</strong>s <strong>WCSP</strong>basée sur la qualité <strong>de</strong>s solutions. La H-Quality d’uneaffectation estime sa capacité à être présente <strong>dans</strong><strong>de</strong>s solutions <strong>de</strong> “bonne” qualité. Notre heuristiqueselect-value-<strong>HQ</strong> ordonne <strong>les</strong> <strong>valeur</strong>s <strong>de</strong>s variab<strong>les</strong><strong>par</strong> ordre croissant <strong>de</strong>s H-Quality. Les expérimentationsréalisées avec LDS et DFBB sur <strong>de</strong>s instancesréel<strong>les</strong> (CELAR) et aléatoires montrent que sur la plu<strong>par</strong>t<strong>de</strong> cel<strong>les</strong>-ci, select-value-<strong>HQ</strong> gui<strong>de</strong> plus efficacementla recherche que MinAC.La section 2 présente le cadre <strong>WCSP</strong>. Les sections3 et 4 rappellent et décrivent DFBB combiné avec <strong>les</strong>mécanismes <strong>de</strong> filtrage. La section 5 détaille la version<strong>de</strong> LDS que nous avons utilisée et la section 6l’heuristique <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong> MinAC. La notion <strong>de</strong>H-Quality ainsi que <strong>les</strong> nouvel<strong>les</strong> heuristiques <strong>de</strong> sélection<strong>de</strong> <strong>valeur</strong> qui en résultent sont définies <strong>dans</strong> la section7. Dans la section 8, nous com<strong>par</strong>ons la notion <strong>de</strong>H-Quality à celle utilisée <strong>par</strong> MinAC. La section 9 estconsacrée aux expérimentations, puis nous concluons.2 Problème <strong>de</strong> Satisfaction <strong>de</strong>Contraintes PondéréesUn <strong>WCSP</strong> (Weighted Constraint Sastisfaction Problem)est défini <strong>par</strong> un quadruplet (X , D, C, k), avecX = {x 1 , ..., x n } l’ensemble <strong>de</strong>s variab<strong>les</strong> (<strong>de</strong> taille n),1
5 Limited Discrepancy SearchLDS (Limited Discrepancy Search) est une métho<strong>de</strong><strong>de</strong> recherche <strong>par</strong>tielle introduite <strong>par</strong> Harvey et Ginsberg[8]. Soit h une heuristique <strong>dans</strong> laquelle on a unegran<strong>de</strong> confiance. Le principe <strong>de</strong> LDS est <strong>de</strong> suivrel’heuristique h lors du <strong>par</strong>cours <strong>de</strong> l’arbre <strong>de</strong> recherche,mais en considérant que h peut se tromper un petitnombre (δ) <strong>de</strong> fois. On s’autorise donc δ écarts (discrepancies)à l’heuristique h. Pour un nombre maximalδ d’écarts autorisé, LDS explore l’arbre <strong>de</strong> recherche<strong>de</strong> manière itérative selon un nombre croissant d’écartsallant <strong>de</strong> i = 0 à i = δ. A chaque itération, i est incrémenté<strong>de</strong> 1. Nous avons étendu LDS aux <strong>WCSP</strong>comme <strong>dans</strong> [12] en trois étapes :D’un arbre binaire à un arbre n-aire. La comptabilisation<strong>de</strong>s écarts <strong>dans</strong> un arbre n-aire est un sujettrès rarement traité <strong>dans</strong> la littérature. Un écart <strong>de</strong> jest comptabilisé lorsque l’on sélectionne le (j+1)èmefils (selon l’heuristique h) à la place du premier. Ainsi,le <strong>choix</strong> du premier fils (selon h) provoquera un écart<strong>de</strong> 0, le <strong>choix</strong> du second un écart <strong>de</strong> 1, et ainsi <strong>de</strong> suite.De la satisfaction à l’optimisation. CommeDFBB, LDS essaie d’étendre une affectation <strong>par</strong>tielleen une affectation complète. Soit A une affectation<strong>par</strong>tielle ; une phase <strong>de</strong> filtrage, basée sur le calcul d’unminorant LB(A) du coût <strong>de</strong> toutes <strong>les</strong> affectation complètesprolongeant A, permet comme pour DFBB (algorithme1), l’élagage <strong>de</strong> l’arbre <strong>de</strong> recherche.N’effectuer qu’une seule itération. Le principalinconvénient <strong>de</strong> LDS est la redondance d’exploration<strong>de</strong> certains nœuds. En effet, l’itération i revisite <strong>les</strong>nœuds déjà visités aux itérations 0, 1, ..., et i − 1.Nous effectuons uniquement la <strong>de</strong>rnière itération afin<strong>de</strong> ne pas revisiter plusieurs fois <strong>les</strong> mêmes sous arbres.L’algorithme 2 détaille le pseudo-co<strong>de</strong> <strong>de</strong> LDS n-aire, A représente l’affectation courante, X f <strong>les</strong> variab<strong>les</strong>futures et δ le nombre d’écarts à h. Au débutA = ∅, X f = X et δ =<strong>valeur</strong> maximale autorisée.Comme pour DFBB (algorithme 1), si toutes <strong>les</strong> variab<strong>les</strong>sont affectées, on met à jour UB et la solutioncourante <strong>de</strong>vient la meilleure solution connue. Sinon,on sélectionne la prochaine variable à affecter (ligne4) ; soit d i le domaine <strong>de</strong> x i ordonné <strong>par</strong> h. Dans laboucle while, un écart <strong>de</strong> j correspond au <strong>choix</strong> <strong>de</strong> la(j +1)ième <strong>valeur</strong>. Tant qu’il reste suffisament d’écarts(j ≤ δ) et <strong>de</strong> <strong>valeur</strong>s <strong>dans</strong> le domaine d i (d i ≠ ∅,la (j + 1)ième <strong>valeur</strong> est sélectionnée (ligne 7) et lenombre restant d’écarts est décrémenté à (δ − j). Sila phase <strong>de</strong> filtrage ne produit aucun domaine vi<strong>de</strong>, larecherche se poursuit (ligne 9).123456789101112Algorithm 2: n-ary LDS for optimisation.function n-ary-LDS-PROBE-optim (A, X f , δ)beginif X f = ∅ thenUB ← V(A)return Ax i ← select-variable (X f )j ← 0while (d i ≠ ∅) ∧ (j ≤ δ) doa ← select-value (d i )if Filtering (A ∪ {(x i = a)}, X f \ {x i }, UB) thenBestS ← n-ary-LDS-PROBE-optim(A ∪ {(x i =a)}, X f \ {x i }, δ − j)13 return BestSendcancelFiltering (A, (x i = a), X f )d i ← d i \ {a}j ← j + 16 <strong>Heuristique</strong> <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong> génériquepour <strong>les</strong> <strong>WCSP</strong>Les compteurs d’arc consistance (ac) détaillés section4 prennent en compte pour chaque affectation(x i = a) <strong>les</strong> coûts <strong>de</strong>s contraintes qui seront nécessairementviolées lors <strong>de</strong> l’extension <strong>de</strong> l’affectation<strong>par</strong>tielle A avec (x i = a). En sélectionnant la <strong>valeur</strong>ayant le compteur d’inconsistances minimal ac, la rechercheest guidée vers <strong>les</strong> sous-espaces <strong>de</strong> recherche <strong>les</strong>moins inconsistants. L’heuristique <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong>MinAC décrite <strong>dans</strong> [11] est une heuristique générique(indépendante du problème) basée sur ces compteurs.Elle ordonne <strong>les</strong> <strong>valeur</strong>s <strong>de</strong>s domaines <strong>de</strong>s variab<strong>les</strong><strong>par</strong> ordre croissant <strong>de</strong>s valuations comptabilisées <strong>par</strong><strong>les</strong> compteurs d’arc consistance.7 <strong>Heuristique</strong>s <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong> baséessur <strong>les</strong> H-Quality pour <strong>WCSP</strong>Les <strong>choix</strong> effectués <strong>par</strong> MinAC dépen<strong>de</strong>nt fortement<strong>de</strong> la capacité <strong>de</strong>s mécanismes <strong>de</strong> filtrage à détecter <strong>les</strong>inconsistances futures. La plu<strong>par</strong>t <strong>de</strong>s algorithmes <strong>de</strong>filtrage sont basés sur un critère local (i. e. arc cohérence).De plus, nous avons constaté sur <strong>les</strong> nombreusesexpérimentations effectuées que MinAC engendrait<strong>de</strong> nombreux candidats ex-aequo.7.1 L’historique <strong>de</strong> la rechercheAu cours <strong>de</strong> la recherche, on effectue <strong>de</strong>s observationsbasées sur la qualité <strong>de</strong>s solutions obtenues. Eneffet, toutes <strong>les</strong> inconsistances étant connues <strong>dans</strong> <strong>les</strong>affectations complètes, on se base alors sur un critèreglobal plus indépendant <strong>de</strong>s mécanismes <strong>de</strong> filtragepour dériver <strong>de</strong>s heuristiques <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong>.
Définition 1 L’historique <strong>de</strong> recherche H est défini<strong>par</strong> l’ensemble <strong>de</strong>s solutions obtenues <strong>de</strong>puis le début<strong>de</strong> la résolution.7.2 H-Quality d’une affectationLa notion <strong>de</strong> H-Quality d’une affectation, selon unhistorique, estime la capacité d’une <strong>valeur</strong> à être présente<strong>dans</strong> <strong>les</strong> solutions <strong>de</strong> “bonne” qualité, et doncsa capacité à gui<strong>de</strong>r la recherche vers <strong>les</strong> sous-espacesoù <strong>les</strong> inconsistances (somme <strong>de</strong>s coûts <strong>de</strong>s contraintesviolées) seront plus faib<strong>les</strong>.Définition 2 Pour x i ∈ X , a ∈ d i et un historique H.<strong>HQ</strong> val (x i , a, H) = min A∈H∧(xi=a)∈A V(A)<strong>HQ</strong> val (x i , a, H) représente le coût <strong>de</strong> la meilleure solution<strong>de</strong> l’historique H contenant l’affectation (x i = a).Plus <strong>les</strong> solutions contenues <strong>dans</strong> H sont <strong>de</strong> bonnequalité, plus la notion <strong>de</strong> H-Quality <strong>de</strong>vient pertinentecar approchant, pour chaque affectation (x i , a),la <strong>valeur</strong> théorique : min A∈d1×...×(x i=a)×...×d nV(A),qui représente le coût minimal d’une affectation complètecontenant (x i = a). Cette <strong>valeur</strong> qui ne peutêtre obtenue qu’en énumérant toutes <strong>les</strong> affectationscomplètes d’un problème, permettrait <strong>de</strong> prédire enhaut <strong>de</strong> l’arbre <strong>de</strong> recherche que l’affectation (x i = a)ne pourrait être étendue en une solution <strong>de</strong> qualitémeilleure que <strong>HQ</strong> val (x i , a, H). Par conséquent, nousavons choisi d’utiliser l’opérateur min <strong>dans</strong> la définition<strong>de</strong>s H-Quality, car il permet <strong>de</strong> s’approcher aucours <strong>de</strong> la recherche <strong>de</strong> cette <strong>valeur</strong>, et également <strong>de</strong>gui<strong>de</strong>r vers <strong>les</strong> zones <strong>les</strong> moins inconsistantes.L’opérateur max nous a semblé inadapté, car le rôle<strong>de</strong> l’heuristique est <strong>de</strong> gui<strong>de</strong>r la recherche vers <strong>les</strong> solutions<strong>de</strong> “bonne” qualité et non <strong>de</strong> “mauvaise”. Enfin,l’opérateur average nous a semblé inadapté également,car <strong>de</strong> nombreuses solutions étant générées <strong>par</strong><strong>de</strong>s <strong>de</strong>scentes gloutonnes sans filtrage (voir section 7.4pour plus <strong>de</strong> détails), el<strong>les</strong> sont régulièrement <strong>de</strong> moinsbonne qualité que la meilleure solution connue. Lamoyenne reflète alors plus <strong>les</strong> moins bonnes qualitésque <strong>les</strong> bonnes, et ne gui<strong>de</strong> pas la recherche vers <strong>les</strong>meilleurs sous-espaces.Complexité. Pour une affectation (x i , a), on stockeen mémoire uniquement la meilleure (plus petite)<strong>HQ</strong> val (x i , a, H) ; l’espace mémoire nécessaire pour représenterH est donc en 0(n × d). Mettre à jour l’historiqueH, en ajoutant une solution A, se fait en O(n)(cf. la procédure update-<strong>HQ</strong> <strong>de</strong> l’algorithme 3).7.3 LDS guidée <strong>par</strong> <strong>de</strong>s heuristiques basées sur <strong>les</strong>H-QualityNous proposons l’heuristique select-value-<strong>HQ</strong> (cf.Algo. 3) qui trie <strong>les</strong> <strong>valeur</strong>s du domaine d’une variableAlgorithm 3: H-Quality heuristicsfunction select-value-<strong>HQ</strong> (d i ) begin1 Select a ∈ d i having the smal<strong>les</strong>t H-Quality value2 Break the ties using MinAC3 return aendprocedure update-<strong>HQ</strong>(A, H)begin4 foreach (x i = a) ∈ A do5 if <strong>HQ</strong> val (x i , a, H) > V(A) then<strong>HQ</strong> val (x i , a, H) ← V(A)6789101112endprocedure compute-<strong>HQ</strong>Once (A, d i , X f )beginfor a ∈ d i doif <strong>HQ</strong> val (x i , a, H) is unknown thenA ← greedy(A ∪ (x i = a), X f \ {x i })update-<strong>HQ</strong>(A, H)endprocedure compute-<strong>HQ</strong>All (A, d i , X f )beginfor a ∈ d i doA ← greedy(A ∪ (x i = a), X f \ {x i })update-<strong>HQ</strong>(A, H)endselon l’ordre croissant <strong>de</strong>s <strong>valeur</strong>s d’H-Quality. A égalité,<strong>les</strong> ex-aequo seront dé<strong>par</strong>tagés <strong>par</strong> MinAC. Cependant,lors <strong>de</strong> l’appel à cette fonction, certaines <strong>valeur</strong>sd’H-Quality peuvent être inconnues : pour une<strong>valeur</strong> a ∈ d i , H peut très bien ne contenir aucunesolution contenant (x i = a). Dans ce cas, nous choisissonsd’ajouter (x i = a) à l’affectation <strong>par</strong>tielle et<strong>de</strong> l’étendre en une affectation complète à l’ai<strong>de</strong> d’une<strong>de</strong>scente gloutonne. Pour combiner select-value-<strong>HQ</strong>avec LDS (cf. Algo. 4), on doit :1. mettre à jour <strong>les</strong> H-Quality <strong>de</strong>s affectations lorsqu’unenouvelle solution est trouvée (ligne 2) en appelantla procédure update-<strong>HQ</strong> ;2. appeler la procédure compute-<strong>HQ</strong>Once juste aprèsla sélection d’une variable (ligne 4) ;3. remplacer l’heuristique select-value <strong>par</strong> selectvalue-<strong>HQ</strong>(ligne 7).La pertinence <strong>de</strong> notre heuristique est directementliée à la diversité et au nombre <strong>de</strong> solutions présentes<strong>dans</strong> l’historique. Nous avons donc aussi étudié unecombinaison <strong>de</strong> l’algorithme <strong>de</strong> recherche avec une variante<strong>de</strong> select-value-<strong>HQ</strong> notée <strong>HQ</strong>All, la précé<strong>de</strong>nteétant notée <strong>HQ</strong>Once, où l’on effectue à chaque nœud,une <strong>de</strong>scente gloutonne pour chaque <strong>valeur</strong> du domaine(et non plus uniquement pour <strong>les</strong> <strong>valeur</strong>s d’H-Quality inconnues). Pour cela, il suffit <strong>de</strong> substituerl’appel à la procédure compute-<strong>HQ</strong>Once <strong>par</strong> un appelà la procédure compute-<strong>HQ</strong>All <strong>dans</strong> l’algorithme 4. Lesur-coût est négligeable car chaque <strong>de</strong>scente gloutonnea une faible complexité, comme nous allons le voir.
compte <strong>de</strong>s répercussions au niveau <strong>de</strong> l’ensemble dugraphe <strong>de</strong> contraintes.Notre heuristique <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong> se base el<strong>les</strong>ur un critère global où toutes <strong>les</strong> inconsistances sontconnues. Cependant, contrairement à MinAC, elle netient pas compte directement <strong>de</strong> l’affectation <strong>par</strong>tiellecourante pour affecter <strong>les</strong> variab<strong>les</strong> futures, mais indirectement,car :1. <strong>les</strong> compteurs d’inconsistances sont utilisés <strong>par</strong>l’algorithme <strong>de</strong> filtrage, et ainsi <strong>les</strong> <strong>valeur</strong>s générant“beaucoup” d’inconsistances avec l’affectation <strong>par</strong>tiellecourante seront filtrées, même si el<strong>les</strong> ont <strong>de</strong>s “bonnes”<strong>valeur</strong>s d’H-Quality.2. <strong>les</strong> compteurs d’inconsistances gui<strong>de</strong>nt <strong>les</strong> <strong>de</strong>scentesgloutonnes qui permettent <strong>de</strong> mettre à jour également<strong>les</strong> H-Quality. Ces <strong>de</strong>scentes, peuvent alors apporter<strong>de</strong>s informations qui sont prises en compte <strong>dans</strong> l’explorationdu sous-espace <strong>de</strong> recherche.3. <strong>les</strong> H-Quality ont été “apprises” sur <strong>de</strong>s affectations<strong>par</strong>tiel<strong>les</strong> différentes <strong>de</strong> l’affectation <strong>par</strong>tielle courante,mais fortement similaires. En effet, hormis à la racine<strong>de</strong> l’arbre <strong>de</strong> recherche, LDS et DFBB ne modifientjamais complètement l’affectation <strong>par</strong>tielle courante,seul le <strong>de</strong>rnier <strong>choix</strong> est remis en cause, le reste <strong>de</strong>l’affectation étant conservée.4. <strong>les</strong> H-Quality permettent <strong>de</strong> mémoriser <strong>les</strong>meilleures extensions d’affectations <strong>par</strong>tiel<strong>les</strong> similairesà la courante A. En effet, lors <strong>de</strong> la remise encause <strong>de</strong> la <strong>de</strong>rnière affectation (x i = a), cela a peu <strong>de</strong>chances d’influencer l’ensemble <strong>de</strong>s affectations <strong>de</strong>s variab<strong>les</strong>futures. Ainsi, l’affectation pour <strong>de</strong>s variab<strong>les</strong>futures éloignées (au sens du graphe <strong>de</strong>s contraintes)<strong>de</strong> x i avec leur meilleure trouvée précé<strong>de</strong>mment génèrera“peu” d’inconsistances. Cela est d’autant pluspertinent si le graphe <strong>de</strong> contraintes est structuré.9 Expérimentations9.1 BenchmarksInstances <strong>WCSP</strong> générées aléatoirement :chaque instance est caractérisée <strong>par</strong> un quadruplet< n, d, p 1 , p 2 > où n est le nombre <strong>de</strong> variab<strong>les</strong>, dle nombre <strong>de</strong> <strong>valeur</strong>s <strong>par</strong> domaine, p 1 la connectivitédu graphe <strong>de</strong> contraintes (définissant le nombre <strong>de</strong>contraintes du graphe), et p 2 la dureté <strong>de</strong>s contraintes(le pourcentage <strong>de</strong> n-uplets interdits <strong>par</strong> contrainte) et<strong>par</strong> une distribution <strong>de</strong>s coûts ; 20% <strong>de</strong>s contraintes ontcomme valuation pour <strong>les</strong> n-uplets interdits ⊤, 20%1000, 20% 100, 20% 10 et 20% 1. Les tup<strong>les</strong> autorisésont pour valuation 0. Chaque courbe représente unemoyenne <strong>de</strong> 25 résolutions <strong>de</strong> l’évolution <strong>de</strong> la qualitémeilleure <strong>de</strong> la solution au cours du temps.Instances binaires RLFAP : le CELAR (Centred’Electronique <strong>de</strong> l’Armement) a fourni <strong>de</strong>s instancesréel<strong>les</strong> d’affectation <strong>de</strong> fréquences radio (Radio LinkFrequency Assignment Problem [1]). Dans ces instances,l’objectif est d’affecter un nombre limité <strong>de</strong>fréquences à un ensemble <strong>de</strong> liens radio définis entre<strong>de</strong>s sites, <strong>dans</strong> le but <strong>de</strong> minimiser <strong>les</strong> interférencesdues à la réutilisation <strong>de</strong>s fréquences. Dans nos expériences,nous avons considéré <strong>les</strong> sous-instances (Sub0à Sub4) <strong>de</strong> l’instance 6. Un pré-traitement est réaliséavant le début <strong>de</strong> la recherche sur chaque sous-instance<strong>dans</strong> le but <strong>de</strong> diminuer le nombre <strong>de</strong> variab<strong>les</strong> et <strong>de</strong>contraintes.Chaque instance a été résolue <strong>par</strong> soit LDS, soitDFBB en utilisant soit MFDAC*, soit PFC-DAC.Pour LDS, l’écart (discrepancy) avait pour <strong>valeur</strong> 4,qui est la <strong>valeur</strong> optimale trouvée <strong>par</strong> [12] sur <strong>les</strong> instancesRLFAP ou 5. Toutes <strong>les</strong> stratégies <strong>de</strong> rechercheont été implémentées en Java en utilisant la bibliothèquechoco [9]. Toutes <strong>les</strong> expérimentations ont étéeffectuée sur un Pentium 4 d’1.6 GHz.Nous avons com<strong>par</strong>é MinAc à <strong>de</strong>ux heuristiques :<strong>HQ</strong>Once qui effectue à chaque nœud, une recherchegloutonne pour initialiser <strong>les</strong> <strong>valeur</strong>s ayant <strong>de</strong>s H-Quality inconnues et <strong>HQ</strong>All qui effectue à chaquenœud, une recherche gloutonne pour chaque <strong>valeur</strong> dudomaine. Pour l’heuristique <strong>de</strong> <strong>choix</strong> <strong>de</strong> variable, nousavons utilisé MinDom/FutDeg.9.2 DFBBLes figures 1 à 3 montrent <strong>les</strong> résultats obtenus avecMFDAC* sur différents problèmes aléatoires. Sur laclasse <strong>de</strong>s problèmes “faci<strong>les</strong>” < 50, 10, 20, 60 > (fig.2), <strong>les</strong> résultats obtenus avec MinAC, <strong>HQ</strong>All et <strong>HQ</strong>Oncesont très similaires. Sur ces problèmes l’optimum a étéprouvé 24 fois sur <strong>les</strong> 25 résolutions <strong>par</strong> <strong>les</strong> trois heuristiques.Lorsque la connectivité augmente (fig. 3), nosheuristiques sont nettement plus efficaces que MinAC,toutefois l’optimum n’est jamais prouvé (le timeoutété fixé à 2 heures). Même sur <strong>de</strong>s instances plus petitesayant la même connectivité < 40, 8, 48, 60 > (fig.1), le timeout a été atteint plus <strong>de</strong> 20 fois sur <strong>les</strong> 25résolutions pour <strong>les</strong> 3 heuristiques.En raison <strong>de</strong> son caractère local (arc-consistency),on observe que <strong>les</strong> éventuels mauvais <strong>choix</strong> <strong>de</strong> MinACont moins <strong>de</strong> conséquences sur <strong>les</strong> problèmes “faci<strong>les</strong>”,ce qui n’est pas le cas sur <strong>les</strong> problèmes “diffici<strong>les</strong>” où<strong>les</strong> conséquences peuvent être très importantes.Sur <strong>les</strong> sous-instances <strong>de</strong> la scène 6 du Celar, nosheuristiques ont <strong>de</strong> meilleurs résultats sur l’instanceSub2 (fig. 5), et sont com<strong>par</strong>ab<strong>les</strong> sur l’instance Sub3(fig. 6). Notons toutefois que sur l’instance Sub0 (fig.4) MinAC est nettement meilleur. Cela peut s’expliquer<strong>par</strong> le sur-coût induit <strong>par</strong> <strong>les</strong> <strong>de</strong>scentes <strong>les</strong> gloutonneset du fait que cette instance est facile à résoudre
(l’optimum est obtenu en moins d’une secon<strong>de</strong>).9.3 LDSNous avons également com<strong>par</strong>é <strong>les</strong> trois heuristiquescombinées avec LDS sur <strong>les</strong> classes <strong>de</strong> problèmes aléatoires< 50, 10, p 1 , p2 >, avec p 1 égal à 20 ou 48 et différentes<strong>valeur</strong>s <strong>de</strong> p 2 (figures 10-14). De nouveau, <strong>HQ</strong>Allet <strong>HQ</strong>Once surpassent clairement MinAC sur la plu<strong>par</strong>t<strong>de</strong>s instances. Par ailleurs, on observe que l’écart<strong>de</strong> performances entre <strong>les</strong> heuristiques s’accroît avecl’augmentation <strong>de</strong> la dureté et/ou <strong>de</strong> la connectivitédu graphe. En effet, en augmentant un <strong>de</strong> ces <strong>par</strong>amètres(ou <strong>les</strong> <strong>de</strong>ux), on accroît <strong>les</strong> conséquences <strong>de</strong>s“mauvais” <strong>choix</strong>, car le nombre d’inconsistances <strong>dans</strong>le graphe croît. En effet, MinAc guidée <strong>par</strong> l’arc consistancene permet pas d’anticiper ces conséquences, alorsque nos heuristiques basées sur <strong>les</strong> H-Quality, calculéesà <strong>par</strong>tir d’affectations complètes où toutes <strong>les</strong> inconsistancessont connues, sont plus efficaces. En outre,<strong>les</strong> <strong>choix</strong> effectués <strong>par</strong> nos heuristiques assurent qu’aumoins une affectation (x i = a) est présente <strong>dans</strong> unesolution <strong>de</strong> qualité <strong>HQ</strong> val (x i , a, H).Notons que <strong>les</strong> performances <strong>de</strong> <strong>HQ</strong>All et <strong>HQ</strong>Oncesont très com<strong>par</strong>ab<strong>les</strong> au début <strong>de</strong> la recherche. Mais,dès que la qualité <strong>de</strong> l’historique est suffisamment pertinente,<strong>HQ</strong>All <strong>de</strong>vient très efficace et surpasse <strong>HQ</strong>Once.En effet, <strong>les</strong> mises à jour régulières <strong>de</strong>s H-Qualityavec <strong>les</strong> <strong>de</strong>scentes gloutonnes diversifient l’historiqueet augmentent sa qualité, guidant la recherche vers <strong>de</strong>ssous-espaces plus prometteurs.Sur <strong>les</strong> sous-instances <strong>de</strong> la scène 6 du Celar (figures7-9), <strong>HQ</strong>All obtient <strong>de</strong> meilleurs performances que MinAC,excepté sur l’instance Sub3 où <strong>les</strong> résultats sontcom<strong>par</strong>ab<strong>les</strong>.Nous avons étudié l’influence <strong>de</strong> la <strong>valeur</strong> <strong>de</strong> la discrepancysur nos heuristiques en augmentant celle-ci à5 (fig. 15 et 16). Les résultats reportés montrent que<strong>HQ</strong>Once et <strong>HQ</strong>All restent toujours plus pertinentes queMinAC. Nous avons également étudié l’influence <strong>de</strong>salgorithmes <strong>de</strong> filtrage sur notre heuristique en substituantMFDAC* <strong>par</strong> PFC-DAC (fig. 17 et 18), etil ap<strong>par</strong>aît que <strong>HQ</strong>Once et <strong>HQ</strong>All sont moins sensib<strong>les</strong>aux mécanismes <strong>de</strong> filtrage que MinAC et restent bienmeilleurs.10 ConclusionDans ce papier, nous avons proposé <strong>de</strong> nouvel<strong>les</strong>heuristiques <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong> pour <strong>les</strong> <strong>WCSP</strong> baséessur la qualité <strong>de</strong>s solutions. Les expérimentations sur<strong>de</strong>s instances aléatoires et sur <strong>de</strong>s problèmes réels (CE-LAR) montrent que nos heuristiques <strong>de</strong> <strong>choix</strong> <strong>de</strong> <strong>valeur</strong>gui<strong>de</strong>nt plus efficacement la recherche sur la plu<strong>par</strong>t<strong>de</strong>s instances. Nous souhaitons également confirmer <strong>les</strong>résultats obtenus <strong>par</strong> nos heuristiques en initialisant laborne supérieure <strong>par</strong> une métho<strong>de</strong> <strong>de</strong> recherche locale,et en utilisant EDAC comme algorithme <strong>de</strong> filtragecombiné avec une phase <strong>de</strong> pré-traitement [3].Références[1] B. Cabon, S. De Givry, L. Lobjois, T. Schiex, andal. Radio link frequency assignment. Constraints,4(1) :79–89, 1999.[2] H. Cambazard and N. Jussien. I<strong>de</strong>ntifying and exploitingproblem structures using explanation-basedconstraint programming. Constraints, 11(4), 2006.[3] Martin C. Cooper, Simon <strong>de</strong> Givry, and ThomasSchiex. Optimal soft arc consistency. In IJCAI, pages68–73, 2007.[4] S. <strong>de</strong> Givry, F. Heras, M. Zytnicki, and J. Larrosa.Existential arc consistency : Getting closer to full arcconsistency in weighted CSPs. IJCAI, pages 84–89,2005.[5] E. C. Freu<strong>de</strong>r and R. J. Wallace. Partial constraintsatisfaction. AI, 58 :21–70, 1992.[6] P. A. Geelen. Dual viewpoint heuristics for binaryconstraint satisfaction problems. ECAI, pages 31–35,1992.[7] I. P. Gent, E. MacIntyre, P. Prosser, B. Smith, andT. Walsh. An empirical study of dynamic variableor<strong>de</strong>ring heuristics for the constraint satisfaction problem.CP, pages 179–193, 1996.[8] W. D. Harvey and M. L. Ginsberg. Limited discrepancysearch. IJCAI, pages 607–615, 1995.[9] N. Jussien and V. Barichard. The PALM system :explantion-based constraint programming. Proceedingsof TRICS a post-conference workshop of CP,pages 118–133, 2000.[10] J. Larrosa and P. Meseguer. Exploiting the use ofDAC in MAX-CSP. Proceedings of CP, 1996.[11] J. Larrosa and T. Schiex. In the quest of the best formof local consistency for Weighted CSP. IJCAI, pages239–244, 2003.[12] S. Loudni and P. Boizumault. Combining VNS withconstraint programming for solving anytime optimizationproblems. to appear in EJOR, pages 1–31, 2007.[13] P. Refalo. Impact-based search strategies forconstraint programming. CP, pages 557–571, 2004.[14] T. Schiex, H. Fargier, and G. Verfaillie. Valuedconstraint satisfaction problems : Hard and easy problems.IJCAI, pages 631–639, 1995.[15] B. M. Smith and S. A. Grant. Trying har<strong>de</strong>r to failfirst. ECAI, pages 249–253, 1998.[16] R. J. Wallace. Directed arc consistency preprocessing.ECAI, Workshop on constraint Processing, pages 121–137, 1994.
Fig. 1 – DFBB-Fig. 2 – DFBB-1350013000MinAC+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg1000950MinAC+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg1250090012000850Best UB1150011000Best UB800750105007001000065095000 1000 2000 3000 4000 5000 6000 7000 8000Time (sec)6000 1000 2000 3000 4000 5000 6000 7000 8000Time (sec)Best Averaged UB3400032000300002800026000Fig. 3 – DFBB-MinAC+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg0 500 1000 1500 2000 2500 3000 3500 4000Time (sec)Fig. 4 – DFBB-Sub0 (32 vars, 223 contraintes)Best UB450400350300250200MinAC+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg1500.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65Time (sec)Fig. 5 – DFBB-Sub2(32 vars,369 constraints)550050004500MinAC+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDegFig. 6 – DFBB-Sub3(36 vars,439 constraints)8000750070006500MinAC+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDegBest UB4000Best UB600055003500500030004500400025000 500 1000 1500 2000 2500 3000 3500Time (sec)35000 500 1000 1500 2000 2500 3000 3500 4000Time (sec)
Fig. 13 – LDS(4)Fig. 14 – LDS(4)10080MinAC+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg125001200011500MinAC+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDegBest UB6040Best UB110001050010000209500900000 5 10 15 20 25Time (sec)85000 10 20 30 40 50 60 70Time (sec)Fig. 15 – LDS(5)Fig. 16 – LDS(5)14001300MinAC+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg330003200031000MinAC+MinDom/FutDeg<strong>HQ</strong>All+MinDom/FutDeg<strong>HQ</strong>Once+MinDom/FutDeg120030000Best UB1100Best UB290002800010002700026000900250008000 50 100 150 200 250 300 350Time (sec)240000 50 100 150 200 250 300 350 400Time (sec)Fig. 17 – LDS(4) PFC-DACFig. 18 – LDS(4) PFC-DAC70006000MinAC+Dom/FutDeg<strong>HQ</strong>All+Dom/FutDeg<strong>HQ</strong>Once+Dom/FutDeg4000038000MinAC+Dom/FutDeg<strong>HQ</strong>All+Dom/FutDeg<strong>HQ</strong>Once+Dom/FutDegBest Averaged UB500040003000Best Averaged UB3600034000320003000020002800010000 50 100 150 200 250 300 350Time (sec)260000 50 100 150 200 250 300 350 400Time (sec)