• Aucun résultat trouvé

Chapitre 2. Revue de littérature

2.3. Approches exactes pour résoudre le problème

Alors qu’une multitude de méthodes heuristiques pour le problème de la médiane de permutations ont été décrites dans la littérature (voir Section 2.4), plusieurs travaux ont été réalisés pour résoudre le problème exactement. Calculer une solution exacte au problème n’est pas seulement d’intérêt mathématique ou informatique. Dans le cadre d’élections, il est évidemment important de trouver une médiane (et peut-être toutes les médianes) étant donné que l’utilisation de n’importe quelle autre heuristique reviendrait à changer le système électoral. De plus, avoir une solution optimale donne la garantie que le

consensus est bien l’estimateur du maximum de vraisemblance de la permutation centrale de A selon le modèle de Young (voir Section2.1).

Les deux principales approches exactes qui ont été étudiées sont l’approche branch- and-bound et l’approche par programmation linéaire en nombres entiers. Une troisième approche est la recherche de classes spéciales du problème qui sont faciles à résoudre.

2.3.1. Branch-and-bound (BnB)

Un premier algorithme branch-and-bound pour le problème est introduit dans [51]. Dans cet algorithme, une recherche en profondeur est effectuée et chaque noeud de re- cherche est un ensemble de paires d’éléments qui ont été ordonnés. À l’étape du bran- chement, une paire d’éléments, dont l’ordre n’a pas encore été déterminé, est choisie puis ordonnée. Pour A ⊆ Sn, les paires (i,j), 1 ≤ i ≠ j ≤ n, dont la différence entre Rij(A)

et Rji(A) (Définition 1.1.6) est la plus élevée sont choisies en priorité. Quand la paire

est ordonnée, une étape de fermeture transitive est appliquée. À l’étape d’élagage, une borne inférieure (LowerBound0 de la Section 2.8 ) est évaluée sur le nouvel ensemble de

paires d’éléments ordonnées, et si elle dépasse le score de la meilleure permutation trouvée jusqu’à présent, cette branche de l’algorithme est élaguée. Une permutation est obtenue quand toutes les paires d’éléments sont ordonnées. Des tests sont effectués sur des en- sembles de 5, 15, 25 et 35 permutations de 15 éléments, générées aléatoirement de sorte que les permutations de ces ensembles partagent une certaines similarité allant de 50% à 100%. Ils concluent que plus les permutations de l’ensemble de départ sont éloignées, plus il est difficile de calculer une médiane. Pour améliorer leur temps de calcul, les auteurs proposent une heuristique gloutonne à partir de leur algorithme exacte en ne permettant pas le retour en arrière.

Dans [92] un second algorithme branch-and-bound est proposé dans lequel les noeuds de l’arbre de recherche sont des préfixes de permutations. L’algorithme énumère alors toutes les permutations en ordre lexicographique. L’opération de branchement est simple- ment de choisir le prochain élément à insérer dans la permutation en construction. L’opé- ration d’élagage est la borne inférieure améliorée de [44]. Le prochain noeud a être sélec- tionné est celui qui possède la borne inférieure la plus petite (méthode meilleur d’abord). Des tests sont effectués sur des instances aléatoires de taille allant jusqu’à n= 10.

Dans [48], est présenté le coefficient de corrélation de Kendall entre deux permuta- tions : τ(π,σ) = 1 − 2dKτ(π,σ)

n(n−1) . Il y est montré que minimiser le score de Kemeny revient

un algorithme branch-and-bound (provenant de [58]) qui maximise cette corrélation et dans lequel un noeud est une permutation partielle. Le placement d’un nouvel élément dans n’importe quelle position de cette permutation partielle donne un nouveau branche- ment. L’exploration de l’arbre est guidée par une permutation donnée en entrée qui va déterminer l’ordre dans lequel les éléments seront considérés. Leur algorithme utilise les heuristiques QUICK et FAST [8] (voir aussi Section2.4.9) pour trouver ces permutations de guidage. Leur BnB peut résoudre des problèmes de taille ≤ 35 éléments dépendam- ment de la similarité des permutations de départ. Des tests sont fait sur des données synthétiques et réelles, de taille 5≤ n ≤ 10.

2.3.2. Programmation en nombres entiers

La formulation en programmation en nombres entiers (IP ou ILP) pour le problème de la médiane (Section 1.1.3) a été introduite dans [44] où ILOG CPLEX est utilisé pour résoudre la formulation IP. Des tests sont effectués sur des instances allant jusqu’à 40 éléments, mais toujours avec des ensembles de 5 permutations.

Dans [18], Betzler et al. utilisent les solveurs commerciaux CPLEX, Gurobi et le solveur open source GLPK pour résoudre le modèle de programmation en nombres entiers pour le problème de la médiane. Ils notent une différence significative entre les solveurs commerciaux et open source en faveurs des premiers. Avec les réductions d’espace de recherche (Section 2.7) ECC [43] et 3/4-Majority Rule [18], ils arrivent à résoudre très rapidement des instances allant jusqu’à n= 100 candidats de provenance réelle.

Charon et al. [36] proposent un algorithme branch-and-bound ILP qui utilise la re- laxation lagrangienne et une méthode de perturbation (noising) qui permet de résoudre le problème LOP sur des graphes de tournois pondérés allant jusqu’à n = 100 sommets. Le problème de Kemeny en est un sous-problème. La relaxation lagrangienne consiste à relaxer des contraintes d’un modèle ILP et de les remplacer par une pénalité intégrée dans la fonction objective. La fonction objective se trouve ainsi pénalisée si ces contraintes sont non-respectées. La méthode de perturbation consiste à modifier légèrement la fonction objective et de la résoudre avec des heuristiques, et de répéter cette modification pour faire converger la fonction objective perturbée vers la vraie fonction objective. L’avantage est que les chances qu’une solution reste prise dans un minimum local sont diminuées. Les auteurs remarquent que dans les données provenant de problèmes réels, le niveau de transitivité est proche de 100% (i.e. il y a peu de cycles de longueur 3) et cela facilite grandement la résolution.

2.3.3. Classes spéciales du problème

Outre les approches algorithmiques, une approche basée sur l’identification des classes d’instances faciles à résoudre a été étudiée. Elle prend en compte que même si un problème est NP-Difficile, ce ne sont pas toutes les instances qui sont difficiles à résoudre.

Dans [71], travail réalisé pendant ma maîtrise, nous avons investigué deux classes d’ins- tances du problème dites automédianes i.e. les cas où l’ensembleA est égal à son ensemble de médiane M(A) (A = M(A)). Les instances de la première classe sont caractérisées par le fait que l’ensemble des permutations A est composé d’une permutation et de toutes les permutations obtenues de celle-ci par "rotation" des éléments. Pour π = π1π2...πn, l’en-

semble de cette classe à partir de π est A = {π, π2π3...πnπ1, π3π4...πnπ1π2,...,πnπ1...πn−1}.

La seconde classe comprend les instances dans lesquelles A est l’ensemble Sn ou contient

un noyau Sk avec des éléments points fixes. Des opérations de combinaison de ces classes

sont présentées et conservent la propriété d’automédiane.

Dans [53], Charles Desharnais et Sylvie Hamel poussent plus loin l’étude sur les classes automédianes. Premièrement, il est montré que pour A ⊆ Sn et π ∈ Sn, A = M(A) im-

plique que πM(A) = M(πA) où πA représente la composition à gauche de π avec chaque élément de A. Il est aussi montré que la distance de Kendall-τ est invariante sous l’action de composition à gauche i.e. que ∀π,σ,γ ∈ Sn, dKT(γπ, γσ) = dKT(π, σ). Intuitivement,

cette action a pour effet de renommer les éléments des permutations. Deuxièmement, il est montré que la classe des ensembles automédians est fermée sous l’opération de somme directe ⊕, i.e. A et B sont des ensembles automédians si et seulement si A ⊕ B est au- tomédian. À noter que A⊕ B = {π ⊕ σ∣π ∈ A, σ ∈ B} où π ⊕ σ = π1π2...πkσ1+ k...σl+ k.

Finalement, une formule est donnée pour compter le nombre d’ensembles automédians construit par les méthodes précédentes pour une certaine taille n de permutation.

Pour conclure cette section, notez que l’approche branch-and-bound a été étudiée par plusieurs auteurs alors que l’approche par programmation en nombres entiers semble sous-représentée et pourrait bénéficier de plus d’attention étant donné ses bonnes perfor- mances en temps d’exécution et en taille d’instance observées dans la pratique. Ceci dit, la prochaine section va aborder les heuristiques.