• Aucun résultat trouvé

Chapitre 2. Revue de littérature

2.4. Méthodes heuristiques

2.4.9. Heuristiques à base de recherche locale

Plusieurs heuristiques utilisent l’opération de replacer un élément dans la permuta- tion. Ce type d’heuristiques est très populaire pour résoudre le problème LOP [46, 66]. Cette opération est connue sous les noms de BestFit [15], INSERT_MOVE [66], MOVES heuristic [41], Local Search [6], single vertex move [80] ou mouvement circulaire [25].

Un mouvement circulaire consiste à déplacer un segment d’éléments vers la droite ou vers la gauche d’une position circulairement i.e. en renvoyant le dernier élément du segment au début. Formellement, le mouvement circulaire c[i,j] (1 ≤ i ≠ j ≤ n), on suppose

i< j sans perte de généralité, appliqué à une permutation π ∈ Sn est défini comme suit : cr[i,j](π) = π1. . . πi−1πjπi. . . πj−1πj+1. . . πn

pour le mouvement circulaire vers la droite et

cl[i,j](π) = π1. . . πi−1πi+1. . . πjπiπj+1. . . πn

pour le mouvement circulaire vers la gauche.

Notez que d’après des observations préliminaires, nous avons remarqué que les permu- tations médianes d’un ensemble de permutations sont souvent reliées par un ou plusieurs mouvements circulaires.

Dans [25] et [26], l’heuristique FindMedian est introduite. Cette heuristique part de chaque permutation de l’ensemble des permutations de départ et y effectue des mouve- ments circulaires pour diminuer le score de Kemeny. Lorsque l’heuristique ne trouve plus de mouvements circulaires avantageux, elle peut effectuer jusqu’à deux 0-mouvements, des mouvements qui ne changent pas le score de Kemeny. Cette heuristique a été testée sur des ensembles de permutations de 3 à 12 éléments, et trouve toujours la vraie médiane quand n≤ 6. Pour 7 ≤ n ≤ 12, le pourcentage d’erreur croît de 0.05% à 1.6%.

La recherche avec voisinage variable ou VNS (pour "Variable Neighborhood Search") est une métaheuristique qui consiste à alterner entre la recherche locale et la diversification de la solution. Dans [15], les auteurs décrivent leur heuristique et la testent sur des données réelles et synthétiques. L’heuristique débute avec une solution (permutation) aléatoire et va itérativement effectuer un processus pour un nombre d’itérations déterminé. Le processus consiste à effectuer itérativement une étape de diversification dans laquelle la solution courante va être modifiée suivie d’une étape de recherche locale dans laquelle l’heuristique va chercher à diminuer le score de Kemeny de la solution courante. L’étape de la diversification consiste à effectuer k mouvements circulaires aléatoires sur la solution courante. Au fil des itérations du processus, k augmente (jusqu’à un maximum déterminé), permettant ainsi d’aller chercher des solutions de plus en plus éloignées. La recherche locale est une version modifiée des mouvements circulaires qui diminuent le score de Kemeny. Dans cette version, la recherche locale peut considérer parfois jusqu’à deux mouvements circulaires imbriqués. Lorsqu’une meilleure solution est trouvée, celle-ci est sauvegardée en mémoire puis le processus s’arrête, une nouvelle itération de l’heuristique commence et le processus est relancé. En bref, cette métaheuristique essaye de trouver un optimum global en cherchant dans un voisinage de plus en plus étendu d’un optimum local. Quand, un meilleur optimum local est trouvé, la métaheuristique recommence à partir de ce nouveau point avec un petit voisinage. Dans cet article, les auteurs utilisent cette métaheuristique sur des données qui incluent des classements (partiels) d’articles (ou de candidats) par des

arbitres et poursuivent avec un deuxième algorithme de recommandation qui considère aussi des scores donnés par les arbitres sur les articles. Les auteurs tentent d’estimer un score moyen pour les articles à partir de classements incomplets (chaque arbitre n’examine qu’un sous-ensemble d’articles).

Dans [8], deux heuristiques, qui utilisent une variation du mouvement circulaire et une approche gloutonne, sont décrites. QUICK qui se trouve à mi-chemin entre Insertion- Sort (Section 2.4.6) et LS (Section 2.4.11), part d’une permutation guide donnée par une variante de l’heuristique de Borda (Section 2.4.2). Une liste vide est créée et le premier élément de la permutation guide est inséré dans la liste. L’heuristique QUICK va ensuite prendre l’élément suivant et évaluer toutes les positions pour insérer le nouvel élément. La position qui minimise le score (partiel) sera choisie. Ce processus est répété jusqu’à ce que tous les éléments soient placés. L’heuristique va ensuite répéter le tout avec la nouvelle solution comme permutation guide. L’heuristique FAST exécute l’heuristique QUICK originale une première fois puis répète pour un nombre d’itérations défini (manuellement en fonction de n), l’heuristique QUICK ayant ici comme point de départ une permutation guide aléatoire. Les heuristiques ont été évaluées sur des données simulées allant jusqu’à 20 éléments et des données réelles allant jusqu’à 50 éléments.

Dans [12], plusieurs heuristiques intéressantes sont proposées avec leurs combinaisons. De plus, deux critères supplémentaires sur les permutations médianes sont énoncés. Ces critères permettent de différencier les "meilleures" médianes. Le premier critère est de choisir la ou les médianes dont la distance maximale entre la médiane et une permu- tation de A est minimale. Le second critère est de minimiser la variance des distances entre une médiane et les permutations de A. Ces deux critères poussent les désaccords entre les permutations de A à être distribués plus équitablement. L’heuristique Subite-

rative Convergence ou SC consiste à optimiser à l’intérieur d’une fenêtre de longueur η, avec typiquement η∈ {2,...,8}. Étant donné un ensemble de permutations A ⊆ Snet une

permutation de départ π, l’heuristique regarde les η premiers éléments de π et optimise sur ce segment. Le premier élément de ce segment est placé au début d’une liste vide et l’heuristique recommence en déplaçant la fenêtre de taille η d’une position vers la droite. Le processus se termine lorsque la nouvelle liste contient n éléments, ce qui termine la première itération. Le dernier segment optimisé est ajouté en entier dans la liste. L’heu- ristique répète itérativement le processus jusqu’à convergence du résultat. Les auteurs utilisent l’heuristique de Borda (Section 2.4.2) pour obtenir la première permutation. Ils

décrivent ensuite une stratégie pour répéter l’heuristique SC sur des permutations diffé- rentes. L’heuristique Greedy Algorithm ou GA est la même que LocalSearch (Section 2.4.9) avec un paramètre s, s ≤ 30 recommandé, qui limite le déplacement d’un d’élé- ment vers une nouvelle position. Tous les éléments ne sont considérés qu’une seule fois. Les heuristiques FUR et SIgFUR sont des méthodes un peu plus élaborées, basée sur Subiterative Convergence et Greedy Algorithm. FUR répète Subiterative Convergence et Greedy Algorithm jusqu’à convergence du résultat avec plusieurs valeurs de η. SIgFUR consiste à appliquer la méthode répétée de Subiterative Convergence puis d’appliquer Greedy Algorithm et finalement FUR. Les heuristiques sont testées et comparées contre QUICK [8] et FAST [8] sur des ensembles de permutations allant jusqu’à n = 400. Il en sort que les heuristiques FUR et SIgFUR donnent des meilleures approximations que QUICK et FAST.