• Aucun résultat trouvé

Les m´ethodes de recherche locale

La premi`ere classe de m´etaheuristiques pr´esent´ees regroupe les m´ethodes utilisant les principes de la recherche locale. Ces m´ethodes r´esolvent le probl`eme d’optimisation de mani`ere it´erative. Elles font ´evoluer la configuration courante en la rempla¸cant par une autre issue de son voisinage, ce changement de configuration est couramment appel´e un mouvement.

2.2.1 D´eterminer le voisinage

Toutes les approches de recherche locale utilisent la notion de voisinage. Un aspect fondamental de ces approches est donc la d´etermination de ce voisinage.

D´eterminer le voisinage consiste `a caract´eriser tous ses ´el´ements. Le voisinage est sou-vent repr´esent´e par une fonction N qui, `a un point x, associe un ensemble de points N(x). Il existe une infinit´e de mani`eres de choisirN, il faut adapter ce choix au probl`eme, c’est-`a-dire choisir la meilleure fonctionN selon le probl`eme consid´er´e.

D´efinition 16 Fonction de voisinage :SoitX l’espace de recherche d’un probl`eme. Une fonction de voisinage N est une association N :X −→2X, d´efinissant, pour chaque point x∈ X, un ensemble N(x)⊆ X de points “proches” de x.

1. Notons que dans la litt´erature, le terme “recherche locale” est de plus en plus employ´e pour d´esigner non seulement la m´ethode dedescente, mais plus g´en´eralement les m´ethodes `a voisinage. Nous utilisons ce terme dans ce sens.

2.2 Les m´ethodes de recherche locale

Un autre aspect important est la taille du voisinage. En effet, certaines fonctions N peuvent calculer un ensemble si grand qu’il est impossible de le traiter efficacement avec un ordinateur (d´epassement de la taille m´emoire par exemple). Il convient alors soit de changer la fonction N, soit, pour un voisinage compl`etement diff´erent, soit, et c’est souvent la solution retenue, pour restreindre le voisinage `a un ensemble contenant moins d’´el´ements.

Il est clair que plusieurs pointsxseront visit´es pendant la recherche. Certaines m´ethodes comme lerecuit simul´ene calculent pas tout le voisinage mais uniquement certains points.

D’autres, comme larecherche Tabou, pr´econisent l’examen de tous les voisins pour r´ealiser un mouvement. Dans ce dernier cas de figure, il est important que le voisinage N(x) soit calcul´e rapidement. L’´evaluation du ou des voisins est un autre aspect important de ces m´ethodes. En effet, le choix de la prochaine configuration d´epend en grande partie de l’´evaluation des voisins. Plus le voisinage est important et plus les phases d’´evaluations sont longues. Il est donc imp´eratif que l’´evaluation d’un candidat soit tr`es rapide. Le plus souvent les m´ethodes de recherche locale utilisent des fonctions d’´evaluation dites incr´ementales. Ces fonctions se basent sur le changement local de x pour calculer de mani`ere incr´ementale la nouvelle ´evaluation. En effet, elles permettent, si un ordre de parcours du voisinage est respect´e, d’´evaluer chaque voisin tr`es rapidement.

2.2.2 La descente

La descente est une m´ethode d’am´elioration it´erative simple permettant d’atteindre le premier optimum local. La descente pour un probl`eme de minimisation peut ˆetre d´efinie tr`es simplement :

Algorithme 1 Pseudo-code de la m´ethode de descente.

Param`etres d’entr´ee:N, f,x0 xsuiv←x0

R´epeter x←xsuiv

xsuiv∈ {x0 |x0 ∈ N(x)∧f(x0) = min({f(y)| y∈ N(x)})} Jusqu’`a f(xsuiv)> f(x)

Renvoyerx

o`u N est la fonction de voisinage, f la fonction d’´evaluation, et x0 la configuration initiale servant de point de d´epart `a l’algorithme.

Ainsi le plus proche optimum local de x0 est trouv´e. Mais celui-ci peut ˆetre loin de l’optimum global, et ˆetre une mauvaise approximation de cet optimum. Pour essayer de se rapprocher de l’optimum global, plusieurs techniques sont envisageables : la premi`ere technique couramment utilis´ee est celle de la relance. Elle consiste `a recommencer une nou-velle recherche `a partir d’un autre point initial, si possible loin du pr´ec´edent. La deuxi`eme technique est celle du chemin al´eatoire. Elle consiste `a effectuer, de temps en temps, un mouvement al´eatoire pour diversifier la recherche et ainsi esp´erer se rapprocher de l’opti-mum global.

La descente est largement utilis´ee, et est souvent la premi`ere m´ethode exp´eriment´ee sur un nouveau probl`eme. Elle permet, dans un temps de d´eveloppement assez court, de bien appr´ehender le probl`eme et de calculer rapidement des premi`eres approximations de l’optimum global.

2.2.3 Le recuit simul´e

Lerecuit simul´e[Kirkpatricket al., 1983] s’inspire du processus de recuit physique. Le processus du recuit simul´e r´ep`ete une proc´edure it´erative qui cherche des configurations de coˆut plus faible tout en acceptant de mani`ere contrˆol´ee des configurations qui d´egradent la fonction de coˆut.

Nous donnons maintenant le pseudo-code d’un algorithme type du recuit simul´e pour un probl`eme de minimisation :

Algorithme 2 Pseudo-code du recuit simul´e.

Param`etres d’entr´ee:T0, Seuil, α, itpalier,N, f,x0 x←x0

T ← T0

Tant que T > Seuil faire nombre it´erations←0

Tant que nombre it´erations < itpalier faire nombre it´erations←nombre it´erations+ 1 Choisir x0∈ N(x)

∆f ←f(x0)−f(x) Si ∆f <0 Alors

x←x0 Sinon

Tirer r de mani`ere al´eatoire dans l’intervalle [0,1]

Si r < e∆fT Alors x←x0

FinSi FinSi FinTantQue T ←α(T) FinTantQue Renvoyerx

o`u T0 est la temp´erature initiale, Seuil le seuil minimal que la temp´erature peut atteindre, α la fonction diminuant la temp´erature `a certains paliers, itpalier le nombre d’it´erations `a effectuer dans un palier,N la fonction de voisinage,fla fonction d’´evaluation, et x0 la configuration initiale servant de point de d´epart `a l’algorithme. Dans l’algorithme que nous pr´esentons, le nombre d’it´erations (itpalier) devant ˆetre atteint pour effectuer un changement de palier est fixe. Dans la pratique, les algorithmes de recuit simul´e font

2.2 Les m´ethodes de recherche locale

varier ce param`etre en fonction de la temp´erature actuelle. Il est possible, par exemple, d’augmenter cette valeur lorsque la temp´erature diminue. De mˆeme, la fonction α dimi-nuant la temp´erature pendant la recherche peut tenir compte d’autres param`etres non in-diqu´es ici. Par exemple, beaucoup d’algorithmes de recuit simul´e font intervenir le nombre d’it´erations ou le taux d’am´elioration de la solution courante pour calculer la diminution de la temp´erature.

Un pr´esentation d´etaill´ee de cette m´ethode est donn´ee dans [Aarts and Korst, 1989].

Le recuit simul´e a acquis son succ`es notamment grˆace `a des r´esultats pratiques obtenus sur de nombreux probl`emes dans des domaines vari´es. Des exemples de ces applications sont pr´esent´es dans [Aarts and Korst, 1989; Vidal, 1993; Koulamas et al., 1994].

2.2.4 La recherche Tabou

La recherche Tabou est introduite par Glover [Glover, 1986]. Cette m´ethode est am-plement pr´esent´ee dans [Glover and Laguna, 1997].

Son fonctionnement est plus proche de la m´ethode de descente (Section 2.2.2) que du recuit simul´e (Section 2.2.3). La recherche Tabou examine un ´echantillonnage de confi-gurations de N(x) et retient la meilleure x0 mˆeme si x0 est plus mauvaise que x. Ce-pendant, cette strat´egie peut entraˆıner des cycles, par exemple le cycle de longueur 2 : x→x0 →x→x0 → · · ·. Pour empˆecher ce type de cycle d’apparaˆıtre, on m´emorise les k derni`eres configurations visit´ees dans une m´emoire `a court terme et on interdit de retenir toute configuration qui en fait d´ej`a partie. Cette m´emoire, appel´ee la liste Tabou, est une des composantes essentielles de la m´ethode. En effet, elle permet d’´eviter tous les cycles de longueur inf´erieure `ak,k´etant d´etermin´ee en fonction du probl`eme. Plusieurs algorithmes de recherche Tabou sont pr´esent´es `a la Section 4.2.

La m´emorisation de configurations enti`eres serait trop coˆuteuse en temps de calcul et en place m´emoire. Il est pr´ef´erable de m´emoriser des caract´eristiques des configurations au lieu de configurations enti`eres. Plus pr´ecis´ement, il est possible de m´emoriser unique-ment un attribut de la configuration. Il en r´esulte que toutes les configurations poss´edant cet attribut, y compris celles qui n’ont pas encore ´et´e rencontr´ees, deviennent elles aussi Tabou. Pour palier `a ce probl`eme, un m´ecanisme particulier, appel´e l’aspiration, est mis en place. Ce m´ecanisme consiste `a r´evoquer le statut Tabou d’une configuration `a certains moments de la recherche. La fonction d’aspiration la plus simple consiste `a enlever le statut Tabou d’une configuration si celle-ci est meilleure que la meilleure configuration trouv´ee jusqu’alors.

Il existe aussi d’autres techniques permettant d’am´eliorer les performances de la m´ethode Tabou, en particulier, l’intensificationet la diversification. L’intensification per-met de se focaliser sur certaines zones de l’espace de recherche en apprenant des pro-pri´et´es favorables, par exemple les propro-pri´et´es communes souvent rencontr´ees dans les meilleurs configurations visit´ees. La diversification a un objectif inverse de l’intensifica-tion. En effet, elle cherche `a diriger la recherche vers des zones inexplor´ees, en modifiant par exemple la fonction d’´evaluation. L’intensification et la diversification jouent donc des rˆoles compl´ementaires.

La recherche Tabou a fait l’objet de bien des d´eveloppements ces derni`eres ann´ees. Elle

est utilis´ee pour traiter un grand nombre de probl`emes d’optimisation : coloriage de graphe, sac `a dos, sac `a dos multidimensionnel . . . . La majorit´e des d´eveloppements apport´es ainsi qu’un large ´eventail d’applications de la recherche Tabou, se retrouvent dans [Glover and Laguna, 1997].

Documents relatifs