• Aucun résultat trouvé

2.3 Recherches locales

3.1.1 Heuristiques génériques pour les WCSP

(Travail en collaboration avec Nicolas Levasseur et Patrice Boizumault ; publications asso-ciées : ICTAI’07 [Levasseur et al., 2007] et JFPC’08 [Levasseur et al., 2008b]).

Contexte. Définissant l’ordre d’exploration de l’espace de recherche des méthodes arborescentes, les heuristiques de choix de valeur et de variable ont une influence importante sur l’efficacité de ces méthodes. Il est bien sûr toujours intéressant d’utiliser la connaissance liée au problème pour

faire en premier les choix les plus pertinents et se diriger vers les branches les plus prometteuses. En l’absence de connaissance spécifique, il est alors utile d’avoir des heuristiques génériques et efficaces. Bien que de nombreuses heuristiques génériques aient été proposées pour les mé-thodes de recherche arborescente dans le cadre des CSP, peu de travaux ont été effectués afin de définir des heuristiques adaptées au cadre des WCSP. Parmi ceux-ci nous pouvons citer les heuristiques de choix de valeur MinAC [Larrosa et Schiex, 2003] et de variable 2-sided Jeroslow-like [de Givry et al., 2003] basée sur les coûts des contraintes. MinAC exploite les coûts unaires associées aux valeurs des domaines des variables, obtenus par filtrage par les cohérences locales décrites en section 2.2.2. En sélectionnant la valeur ayant le coût unaire le plus petit, la recherche est guidée vers les sous-espaces les moins incohérents. Toutefois, cette heuristique présente deux inconvénients majeurs :

— elle ne permet pas de départager les nombreux candidats ex-æquo ;

— elle est dépourvue de mécanisme de mémorisation lui permettant d’adapter ses choix en fonction de ses erreurs passées.

Contributions. Afin de pallier les inconvénients évoqués précédemment, nous avons défini un critère global, H-Qualité (HQ), plus indépendant des mécanismes de filtrage, qui exploite l’his-torique des solutions trouvées au cours de la recherche. En se basant sur ce critère, nous avons proposé de nouvelles heuristiques de choix de valeur et de variable.

3.1.1a Heuristiques de choix de valeur basées sur la H-Qualité

La H-Qualité s’appuie sur une idée simple : associer à chaque valeur de chaque variable le coût d’une meilleure solution connue passant par cette valeur (solution déjà explorée ou obtenue par échantillonnage glouton).

Définition 3.1 (H-qualité d’une affectation [Levasseur et al., 2008b]) Pour xi ∈ X, a ∈ Di et un historiqueH.

HQval(xi, a, H) = min{f (A) | A ∈ H ∧ A[xi] = a}

HQval(xi, a, H) représente le coût de la meilleure solution de l’historique H contenant l’af-fectation (xi = a). Plus les solutions contenues dans H sont de bonne qualité, plus la notion de H-Qualité devient pertinente car approchant, pour chaque affectation (xi= a), le coût minimal d’une affectation complète contenant(xi= a).

En se basant sur ce critère, nous avons étudié deux variantes qui ordonnent les valeurs du domaine d’une variable selon l’ordre croissant10des valeurs d’H-Qualité :

— HQOnce, qui effectue un échantillonnage glouton à chaque nœud mais uniquement pour les valeurs n’apparaissant dans aucune solution connue,

— HQAll qui effectue un échantillonnage à chaque nœud sur toutes les valeurs. L’idée est d’augmenter la diversité et le nombre de solutions présentes dans l’historique.

Échantillonnage glouton. Certaines valeurs d’H-Qualité peuvent être inconnues : pour une valeura ∈ Di,H peut très bien ne contenir aucune solution contenant (xi, a). Dans ce cas, afin de renseigner la H-Qualité de l’affectation (xi, a), nous effectuons un échantillonnage glouton à

10. En effet, plus la valeur d’H-Qualité d’une affectation est petite, plus cette affectation a des chances de générer peu d’incohérences. A égalité, les valeurs ex-æquo sont départagées par MinAC.

partir de l’affectation partielle Ap ∪ {(xi = a)}. Chaque échantillonnage glouton est guidé par une heuristique de choix de valeur basée sur MinAC. En cas d’égalité nous départageons en choisissant la valeur la moins souvent affectée depuis le début de la recherche11. Par ailleurs, afin de trouver rapidement une solution, la phase de filtrage est désactivée et les coûts unaires pour chacune des valeurs des variables non encore affectées sont mis à jour par forward checking : pour toute fonction de coûtwS∈ W contenant l’affectation (xi, a) et ayant une seule variable xj non affectée dansS, pour toute valeur b ∈ Dj, si la valeur (xj, b) génère une nouvelle violation, celle-ci est projetée surwj(b).

3.1.1b Heuristiques de choix de variable basées sur les H-Qualités

À partir des H-qualités des valeurs du domaine d’une variable, nous avons défini un critère de qualité au niveau variableHQvar, en agrégeant les H-qualités des valeurs d’une variable par un opérateur de type max ou moyenne.

Combiner HQvar avec d’autres critères. Comme pour les heuristiques de choix de variable pour les CSP, nous avons proposé de combiner la H-Qualité d’une variable avec la taille de son domaine et son degré comme suit :

1. L’heuristique dom/HQvar(op) sélectionne la variable ayant le plus petit ratio suivant |Di|/ HQvar(xi, H, op), avec op désignant l’opérateur d’agrégation utilisé.

2. Initialement, les variables sont ordonnées selon trois heuristiques : taille de leur domaine (dom), leur degré (fdeg) et leur H-Qualité. Soitpi un compteur représentant la somme des positions de la variable xi dans ces trois ordres. L’heuristique RANK(dom,fdeg,HQvar(op)). sélectionne la variable ayant le plus petit compteurpi.

Initialisation des HQvar. Au début de la recherche, aucune solution n’étant présente dans l’historique, les H-Qualités de toutes les variables sont inconnues. Dans le but de les calculer, les H-Qualités des valeurs doivent être initialisées auparavant (i.e. avant le début de la recherche). Complexité. L’initialisation des H-Qualités de toutes les valeurs des variables nécessite dans le pire casn × d échantillonnages, chacun étant effectué en O(e × d). La complexité temporelle de cette phase d’initialisation estO(e × n × d2).

Bilan des expérimentations. Nous avons réalisé plusieurs séries d’expérimentations sur des instances réelles du problème d’allocation de fréquences à des liens radio RLFAP mais aussi sur des instances binaires de WCSP générées aléatoirement à partir d’un programme fourni par Simon de Givry. Les résultats de nos expérimentations ont montré que les heuristiques de choix de valeur HQOnce et HQAll guidaient plus efficacement la recherche que MinAC. Par ailleurs, nous avons observé que l’écart de performances entre ces deux heuristiques augmentait avec l’augmentation de la dureté et/ou de la connectivité du graphe de contraintes. Nous avons également remarqué que l’heuristique HQOnce obtenait de meilleurs résultats lorsque la dureté des contraintes était faible. Cependant, lorsque celle-ci augmentait, les mises à jour régulières des H-Qualités effectuées par HQAll, permettaient de diversifier l’historique et ainsi de guider plus efficacement la recherche. Pour les heuristiques de choix de variable, les résultats étaient décevants car aucune tendance définitive ne s’était dégagée. Toutefois, nous avons constaté que, sur les instances à forte connectivité et dureté, l’heuristique RANK(moyenne) était plus pertinente.