• Aucun résultat trouvé

145 [Cotta et al, 2005]. Dans le cas de la résolution de problèmes d'optimisation

PROBLEME MURDS

145 [Cotta et al, 2005]. Dans le cas de la résolution de problèmes d'optimisation

combinatoire, les chercheurs ont accordé, tout d'abord, peu d'intérêt à l'hybridation des métaheuristiques [Cotta et al, 2005]. Toutefois, les méthodes hybrides ont rapidement gagné du terrain en réussissant à produire les meilleurs résultats pour de nombreux problèmes [Blum et Roli, 2001; Talbi, 2002; Basseur, 2004; Hnich et al, 2004; Blum et al, 2005; Talbi et al, 2007; Talbi, 2009].

On peut classifier les différentes hybridations selon la taxonomie proposée par Talbi [2002]. Cette dernière comporte deux niveaux : une classification hiérarchique qui permet d'identifier la structure de l'hybridation et une classification générale qui spécifie les détails des algorithmes impliqués dans l'hybridation. La classification hiérarchique se subdivise en deux classes: une hybridation de bas et de haut niveau. Une hybridation est dite de bas niveau lorsqu'une fonction d'une métaheuristique est remplacée par une autre métaheuristique. On obtient une hybridation de haut niveau lorsque deux métaheuristiques sont hybridées sans que leur fonctionnement interne ne soit en relation.

De plus, chacune des deux classes d'hybridation précédentes se subdivise en deux sous-classes : à relais et co-évolutionnaire. Lorsque les métaheuristiques sont exécutées de façon séquentielle, l'une utilisant le résultat de la précédente comme entrée, on a une hybridation à relais. L'hybridation co-évolutionnaire se fait lorsque des agents coopèrent en parallèle pour explorer l'espace de solutions. D'autre part et selon la classification générale de la taxonomie de Talbi [2002], une hybridation peut être homogène ou hétérogène, globale ou partielle et spécialisée ou générale. Une hybridation est dite hétérogène lorsque les métaheuristiques combinées sont différentes. Une hybridation est dite partielle lorsqu'elle décompose un problème en sous-problèmes ayant leur propre

espace de solutions, et que chaque sous-problème est résolu par un algorithme.

Finalement, les hybridations générales sont celles où tous les algorithmes hybrides résolvent le même problème d'optimisation.

L'intégration des métaheuristiques et des méthodes exactes a fait ses preuves au cours des dernières années et spécialement pour les problèmes réels [Ginsberg, 1993;

Freuder et al, 1995; Harvey, 1995; Glover et Laguna, 1997]. Il existe plusieurs classifications impliquant des métaheuristiques et des méthodes exactes. Parmi ces classifications, nous pouvons citer, sans être exhaustif, la classification de Dimistrescu et Stûtzle [2003], Basseur [2004] ou encore celle de Puchinger et Raidi [2005].

Dans leur classification, Dimistrescu et Stùtzle [2003] décrivent cinq types d'approches d'hybridation impliquant des métaheuristiques et des méthodes exactes. Pour chaque approche d'hybridation, un problème de la littérature est étudié à titre d'illustration. Cependant, pour la plupart, les approches impliquées sont la recherche avec tabous ou la recherche locale. La classification proposée par les auteurs sépare les approches selon la méthode utilisée pour l'hybridation. Les cinq classes proposées par Dimistrescu et Stùtzle [2003] regroupent les approches utilisant:

• un algorithme exact pour explorer de larges voisinages dans un algorithme de recherche locale;

• une méthode heuristique pour réduire l'espace de recherche de la méthode exacte;

• les bornes de la méthode exacte pour une heuristique constructive;

147

• les informations fournies par les relaxations des formulations de programmation linéaire pour orienter un algorithme de recherche locale ou constructif; et

• une méthode exacte pour remplacer une fonction spécifique de la métaheuristique.

Dans sa thèse de doctorat, Basseur [2004] propose une classification plus détaillée pour catégoriser les méthodes hybridant les métaheuristiques et les méthodes exactes.

Cette classification s'inspire de la taxonomie proposée par Talbi [2002], décrite plus haut, pour classifier les métaheuristiques hybrides selon leur niveau d'hybridation.

Pour leur part, Puchinger et Raidi [2005] proposent une classification axée sur l'hybridation de méthodes exactes et approximatives. Les méthodes hybrides sont divisées en deux catégories : les hybridations collaboratives et intégratives. Les algorithmes qui échangent des informations de façon séquentielle, parallèle ou entrelacée entrent dans la catégorie des hybridations collaboratives. Les algorithmes à hybridation intégrative font en sorte qu'une technique est un composant incorporé d'une autre technique.

Nous retrouvons dans la littérature plusieurs travaux qui ont traité plus particulièrement l'hybridation impliquant la programmation par contraintes [Pesant et Gendreau, 1996; Backer et al, 2000; Focacci et al, 2002]. Une description de ce type d'hybridation est détaillée dans Focacci et al. [2002]. Il existe trois approches pour hybrider des métaheuristiques et des méthodes exactes :

• une métaheuristique et une méthode exacte sont exécutées séquentiellement (une ou plusieurs fois). Ainsi, la métaheuristique est exécutée pour produire une

solution utilisée comme une borne pour la méthode exacte. Inversement, cette dernière est exécutée pour produire une solution partielle qui est complétée par la métaheuristique;

• la métaheuristique utilise la méthode exacte (programmation par contraintes ou méthode de recherche par arborescence telle le B&B) pour améliorer l'efficacité de recherche dans le voisinage au lieu de le faire aléatoirement ou de l'énumérer; et

• les concepts ou les stratégies d'une classe d'algorithmes sont introduits dans une autre. Par exemple, il est possible d'utiliser la notion de liste taboue ou de critère d'aspiration de la recherche avec tabous pour gérer la liste des nœuds non encore explorés dans une arborescence de recherche.

La première approche, ainsi que la seconde, peuvent être considérées comme une instance d'une hybridation coopérative selon la classification de Puchinger et Raidi [2005], mais présente peu d'intégration entre les deux méthodes. De plus, la deuxième approche combine l'avantage de la rapidité d'exploration d'une métaheuristique avec l'efficacité d'exploration d'un voisinage d'une méthode exacte. Nous trouvons de telles hybridations, par exemple, dans la « recherche dans un large voisinage » {Large Neighborhood Search) [Shaw, 1998; Caseau et Laburthe, 1999]. L'efficacité de ces approches augmente considérablement avec l'augmentation du voisinage à explorer.

Malheureusement, plusieurs problèmes réels ont des contraintes additionnelles qui ne permettent pas l'exploration usuelle du voisinage effectuée par les métaheuristiques. En effet, ces dernières ne vont qu'énumérer les solutions. Par exemple, les problèmes à contraintes reliées aux fenêtres de temps ont un nombre de solutions réalisables très

149