12.07.2015 Views

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

SHOW MORE
SHOW LESS

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)

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

Saved successfully!

Ooh no, something went wrong!