• Aucun résultat trouvé

Hybridation m´etaheuristiques/m´ethodes compl`etes

1.5 M´etaheuristiques hybrides

1.5.2 Hybridation m´etaheuristiques/m´ethodes compl`etes

L’hybridation englobe aussi la combinaison des m´ethodes exactes avec les algo- rithmes m´etaheuristiques. Au cours de ces derni`eres ann´ees, de nombreux travaux ont montr´e l’utilit´e de cette combinaison. Comme les m´ethodes exactes ne sont pas capables de r´esoudre les probl`emes de grandes tailles, elles ont ´et´e combin´ees avec des

m´etaheuristiques pour r´esoudre des sous-probl`emes de petites tailles ou pour exploiter les exp´eriences r´ealis´ees par les algorithmes m´etaheuristiques comme une information heuristique pour faire une recherche non exhaustive.

Les algorithmes m´etaheuristiques ont ´et´e hybrid´es notamment avec quatre cat´e- gories importantes de m´ethodes exactes (Blum et al., 2011) : (i) la programmation par contraintes, (ii) les m´ethodes de recherche arborescente, (iii) les techniques de relaxation, et (iv) la programmation dynamique. Nous d´ecrivons bri`evement par la suite chaque cat´egorie et mentionnons quelques exemples. Nous reportons le lecteur `a (Blum et al., 2011) pour une revue de la litt´erature sur ces cat´egories d’hybridation.

1.5.2.1 Hybridation des m´etaheuristiques avec la programmation par contraintes

En programmation par contraintes (ou CP pour Constraint Programming en an- glais), chaque contrainte du probl`eme trait´e est utilis´ee par un algorithme de filtrage (ou propagation) pour supprimer les valeurs de variables qui ne peuvent pas prendre part `a des solutions r´ealisables. Le processus de recherche de solution est caract´eris´e par la succession d’une phase de propagation de contraintes, pour r´eduire l’espace des solutions, et d’une phase de recherche syst´ematique durant laquelle des affectations possibles de chacune des variables sont effectu´ees. Lorsque le filtrage d´etecte qu’une affectation partielle de variables viole une contrainte, un m´ecanisme de retour sur trace (ou backtracking en anglais) est utilis´e afin de remettre en cause la derni`ere affectation ´el´ementaire (d’une seule variable) effectu´ee. Dans le cas de r´esolution d’un probl`eme d’optimisation, une contrainte est ajout´ee `a la fonction objectif chaque fois qu’une nouvelle solution am´elior´ee est trouv´ee. Les m´etaheuristiques explorent usuellement un espace de recherche dans laquelle les configurations sont d´efinies par des affecta- tions compl`etes de variables, et sont g´en´eralement guid´ees par une information locale sur la fonction objectif. Elles ne sont pas usuellement assez puissantes pour traiter les probl`emes de satisfaction de contraintes. En revanche, l’importance des techniques de CP r´eside dans leurs capacit´es d’explorer un espace d’affectations partielles et de trouver une solution respectant les contraintes du probl`eme, mais elles ne sont pas ca- pables de r´esoudre les probl`emes d’optimisation de grande taille. Ces deux m´ethodes

tr`es diff´erentes sont compl´ementaires et il est donc tout `a fait naturel d’essayer de les combiner afin d’exploiter des synergies possibles (Blum et al., 2011).

Un premier exemple de ce type d’hybridation concerne la recherche `a voisinage large bas´ee sur CP (CP-based large neighborhood search : LNS) qui utilise une tech- nique de CP pour explorer un voisinage typiquement tr`es large. En d’autres termes, une technique de CP est appliqu´ee pour trouver une affectation optimale d’un sous- ensemble de variables. Cette hybridation combine l’avantage de LNS, qui am´eliore souvent la capacit´e d’exploration de la recherche locale, avec une exploration exhaus- tive par CP qui est plus rapide qu’une ´enum´eration. LNS a ´et´e propos´ee pour la premi`ere fois dans (Shaw, 1998).

Un deuxi`eme exemple est la combinaison de ACO avec CP (Solnon, 2013), qui sont des techniques constructives compl´ementaires : ACO est caract´eris´ee par sa ca- pacit´e d’apprentissage par renforcement, tandis que CP est efficace pour traiter les contraintes. Dans (Meyer, 2008) une combinaison ACO-CP a ´et´e propos´e pour un probl`eme d’ordonnancement. Dans cette combinaison, CP est utilis´ee par les four- mis artificielles durant la phase de construction de solutions pour viser des solutions r´ealisables. En d’autres termes, CP joue le rˆole de filtrage, tandis que ACO par son m´ecanisme de construction probabiliste joue le rˆole de s´election de valeurs/variables. Une autre algorithme ACO-CP a ´et´e pr´esent´e dans (Khichane et al., 2010). Il comporte en deux phases. Dans la premi`ere phase, une recherche par ACO typique est effectu´ee et la matrice de ph´eromones est sauvegard´ee. Dans la seconde phase, un algorithme de CP effectue une recherche compl`ete en exploitant la structure de ph´eromones comme une information heuristique pour l’affectation de valeurs aux variables.

1.5.2.2 Hybridation des m´etaheuristiques avec les techniques de recherche arborescente

L’hybridation des m´etaheuristiques avec les techniques de recherche arborescente est parmi les formes les plus populaires de combinaison de diff´erents algorithmes d’op- timisation. C’est parce que plusieurs m´etaheuristiques ainsi que certains des algo- rithmes complets les plus importants effectuent des d´eplacements (dans l’espace des solutions) de type recherche arborescente. Ces techniques consid`erent l’espace de re-

cherche d’un probl`eme d’optimisation sous forme d’un arbre. Un tel arbre est d´efini (parfois seulement implicitement) par un m´ecanisme d’extension de solutions par- tielles. Chaque chemin allant de la racine jusqu’`a une des feuilles correspond `a la construction d’une solution candidate. Les nœuds internes de l’arbre correspondent `a des solutions partielles. Le d´eplacement d’un nœud interne `a un de ses descendants est une extension de la solution partielle correspondante.

Comme d´ej`a mentionn´e, la classe de techniques de recherche arborescente englobe des m´etaheuristiques et des algorithmes complets. La m´etaheuristique ACO (voir sec- tion 1.4.3) et la m´ethode GRASP (voir section 1.3.5) sont des exemples sp´ecifiques des m´etaheuristiques qui appliquent une recherche arborescente. Ces algorithmes construc- tifs g´en`erent des solutions candidates par l’application r´ep´et´ee d’une proc´edure de construction probabiliste. Un exemple important d’algorithmes complets de la classe de techniques de recherche arborescente est la m´ethode de Branch & Bound, qui peut ˆetre ´egalement appliqu´ee dans plusieurs variantes heuristiques comme, par exemple, sous forme de recherche par faisceau (de l’anglais beam search). Alors que la m´ethode de Branch & Bound consid`ere (implicitement) tous les nœuds d’un certain niveau de l’arbre de recherche, la recherche par faisceau explore un nombre limit´e de nœuds.

Les m´etaheuristiques constructives, comme les algorithmes de ACO et la m´ethode GRASP, pr´esentent deux inconv´enients. D’une part, mˆeme elles prennent des d´ecisions probabilistes pour construire des solutions, elles n’´evitent pas des actions gloutonnes, ce qui augmente le risque de converger vers des r´esultats moins pr´ecis. D’autre part, en comparaison avec les algorithmes complets, ces deux m´etaheuristiques n’appliquent pas des m´ecanismes pour r´eduire l’espace de recherche. Afin de rem´edier `a ces incon- v´enients, plusieurs travaux r´ecents ont consid´er´e l’incorporation de propri´et´es de la m´ethode Brand & Bound dans des m´etaheuristiques constructives. Un exemple re- pr´esentatif est les algorithmes propos´es dans (Blum, 2010, 2005, 2008, Blum et al., 2013, L´opez-Ib´a˜nez et Blum, 2010) qui utilisent des concepts de la recherche par fais- ceau pour optimiser la construction de solutions dans un algorithme de ACO. L’id´ee principale de cet algorithme hybride, nomm´e Beam-ACO, est que, `a chaque it´era- tion, plusieurs solutions sont construites en parall`ele de mani`ere non ind´ependante, comme c’est le cas dans la recherche par faisceau (En revanche, `a chaque it´eration

d’un algorithme de ACO, des fourmis artificielles construisent des solutions de ma- ni`ere ind´ependante les unes des autres). Cependant, contrairement `a la recherche par faisceau qui ´etend les solutions partielles de mani`ere d´eterministe en utilisant des in- formations heuristiques, dans Beam-ACO le choix d’extensions r´ealisables est effectu´e de mani`ere probabiliste de la mˆeme mani`ere qu’un algorithme de ACO. En plus des traces de ph´eromones et des informations heuristiques qui sont utilis´ees pour guider la recherche, Beam-ACO calcule aussi des bornes pour ´evaluer les solutions partielles et, ainsi, pour couper des branches de l’arbre de recherche.

Les solveurs MIP (pour Mixed Integer Programming) sont en g´en´eral bas´es sur des techniques de recherche arborescente et appliquent la programmation lin´eaire sur des relaxations continues du probl`eme trait´e afin d’obtenir des bornes inf´erieurs et sup´erieurs de la fonction objectif. De tels solveurs peuvent ˆetre utiles pour explorer des voisinages tr`es larges dans le cadre de r´esolution de probl`emes d’optimisation difficiles par algorithmes m´etaheuristiques, ´etant donn´e que le probl`eme en question peut ˆetre exprim´e par un mod`ele MIP. Un exemple de telles applications est le voisinage large d´ecrit dans (Prandtstetter et Raidl, 2008) dans le cadre de la r´esolution du probl`eme de s´equen¸cage de voitures (ou, en anglais, car sequencing problem). L’objectif est de d´eterminer une bonne s´equence (i.e., une permutation) d’un ensemble de voitures `a assembler, c’est-`a-dire une s´equence permettant d’´egaliser la charge de travail des postes de la ligne d’assemblage. Dans cette application, un solveur MIP est appliqu´e pour repositionner `a l’optimalit´e un certain nombre de voitures.

1.5.2.3 Hybridation des m´etaheuristiques avec les tehniques de relaxation L’am´elioration des performances des algorithmes m´etaheuristiques par des infor- mations provenant de relaxations du probl`eme initial repr´esente un type d’hybridation tr`es populaire au cours des derni`eres ann´ees. Une version relax´ee d’un probl`eme donn´e est obtenue en simplifiant et/ou en supprimant des contraintes. Lorsqu’on supprime des contraintes, elles peuvent soit ˆetre abandonn´ees, soit ˆetre int´egr´ees dans la fonc- tion objectif. Dans le cas o`u le probl`eme relax´e peut ˆetre r´esolu efficacement, l’espoir est que la structure de la solution du probl`eme relax´e en combinaison avec la valeur de la fonction objectif peuvent faciliter d’une fa¸con ou d’une autre la r´esolution du

probl`eme initial. La relaxation est ´egalement fortement utilis´ee, par exemple, dans les techniques exactes comme la m´ethode de Branch & Bound. C’est parce que la valeur de fitness de la solution optimale du probl`eme relax´e peut ˆetre consid´er´ee comme une borne pour la valeur de fitness de la solution optimale du probl`eme initial et, par cons´e- quent, peut ˆetre utilis´ee pour ´elaguer l’arbre de recherche. Un type tr`es important de relaxation dans l’optimisation combinatoire concerne la suppression des contraintes d’int´egralit´e sur les variables enti`eres d’un mod`ele MIP. La version relax´ee obtenue, qui est un programme lin´eaire (ou linear program), peut ˆetre r´esolue `a l’optimalit´e par une m´ethode efficace comme l’algorithme du simplexe.

Un premier exemple de ce type d’hybridation est une approche m´etaheuristique bas´ee sur la relaxation lagrangienne (Boschetti et Maniezzo, 2009, Boschetti et al., 2010). Une relaxation lagrangienne est obtenue en int´egrant des contraintes dans la fonction objectif. A chaque it´eration du processus d’optimisation, la solution opti- male de la relaxation courante est utilis´ee pour la g´en´eration des solutions r´ealisables au probl`eme initial. Ces solutions sont utilis´ees pour d´efinir une nouvelle relaxation am´elior´ee. Cela peut se faire au moyen des heuristiques simples ou au moyen des concepts m´etaheuristiques. Le processus de recherche peut s’arrˆeter lorsque les bornes inf´erieures et sup´erieures de la fonction objectif co¨ıncident.

Dans (Wilbaut et Hanafi, 2009), plusieurs heuristiques bas´ees sur des relaxations it´eratives ont ´et´e pr´esent´ees pour la r´esolution de probl`emes de programmation mixte en nombres binaires (ou, en anglais, 0-1 mixed integer programming problems). Les au- teurs ont combin´e deux techniques de relaxation dans un ensemble d’algorithmes heu- ristiques : une relaxation lin´eaire (ou continue) qui consiste `a supprimer les contraintes d’int´egralit´e sur les variables enti`eres, et une relaxation dite MIP qui impose des contraintes d’int´egralit´e sur un sous-ensemble de variables binaires. Les solutions ob- tenues par les deux relaxations sont exploit´ees it´erativement pour r´eduire l’espace de recherche du probl`eme initial.

1.5.2.4 Hybridation des m´etaheuristiques avec la programmation dyna- mique

La programmation dynamique (ou DP pour Dynamic Programming en anglais) (Bertsekas, 2017) est une m´ethode algorithmique d’optimisation qui r´esout un pro- bl`eme combinatoire comme suit. Tout d’abord, le probl`eme `a traiter est divis´e en sous-probl`emes. Ensuite, la (ou une) solution du probl`eme est obtenue en combinant les solutions de sous-probl`emes r´esolus pr´ec´edemment en des solutions `a des pro- bl`emes plus grands jusqu’`a ce que le probl`eme initial soit r´esolu. Un point cl´e de DP r´eside dans le fait qu’elle r´esout chaque sous-probl`eme une seule fois et m´emorise le r´esultat, ´evitant ainsi le recalcul (lorsque les sous-probl`emes comportent des parties communes). En fait, un probl`eme d’optimisation doit pr´esenter deux propri´et´es pour ˆetre r´esolu par DP (Blum et al., 2011) :

1. Les solutions optimales du probl`eme doivent contenir des solutions optimales de sous-probl`emes. Cette caract´eristique garantit qu’il existe une formule per- mettant de d´eduire la (ou une) solution optimale du probl`eme en combinant les solutions optimales d’une s´erie de sous-probl`emes.

2. L’espace de sous-probl`emes doit ˆetre relativement petit. Typiquement, le nombre total de sous-probl`emes distincts est polynomial en la taille de l’entr´ee.

Dans (Congram et al., 2002), DP est utilis´ee comme une strat´egie d’exploration de voisinage dans une proc´edure de recherche locale it´er´ee. Dans cette approche propo- s´ee pour la r´esolution d’un probl`eme d’ordonnancement, un algorithme d’´enum´eration r´ecursif bas´e sur DP explore un voisinage de taille exponentielle en un temps polyno- mial.

Une m´etaheuristique hybride inspir´ee de DP, appel´ee en anglais “Corridor Meh- tod ”, a ´et´e pr´esent´ee dans (Sniedovich et Viß, 2006). Cette m´ethode a ´et´e con¸cue dans le but d’appliquer DP d’une mani`ere heuristique pour la r´esolution de probl`emes de grande taille. Elle applique it´erativement DP sur des sous-espaces de recherche construits `a partir de la solution courante.

Une autre application a ´et´e pr´esent´ee dans (Juang et Su, 2008) pour l’alignement multiple de s´equences en bio-informatique. Le processus d’alignement multiple de

s´equences par DP fonctionne comme suit. Tout d’abord, deux s´equences sont align´ees `a l’optimalit´e. Puis, la s´equence obtenue est align´ee avec une troisi`eme s´equence. Ce processus est r´ep´et´e jusqu’`a ce que toutes les s´equences soient consid´er´ees. A la fin de chaque ´etape, un algorithme de PSO est appliqu´e pour optimiser le r´esultat.