• Aucun résultat trouvé

M´ etaheuristique Tabou

Dans le document The DART-Europe E-theses Portal (Page 107-113)

R´ esolution approch´ ee pour les probl` emes de synth` ese de r´ eseaux

3.3. M´ etaheuristique Tabou

Le m´ecanisme de base de cette m´etaheuristique est tr`es simple : en partant d’une solution initiale, on progresse de proche en proche en s´electionnant le meilleur voisin possible et en interdisant tout retour `a une solution r´ecemment explor´ee, solution que l’on qualifie alors de tabou. Cet algorithme n’est pas un algorithme de descentecar la meilleure solution voisine n’est pas forc´ement une solution am´eliorante de la solution courante.

L’algorithme tabou que nous pr´esentons est plus ´elabor´e et se d´ecompose en deux ni-veaux : la recherche ”globale” pilote une recherche ”locale” sous contrainte et on proc`ede `a une diversification si certains crit`eres d’am´elioration ne sont pas r´eunis.

3.3.1. M´emorisation d’une solution

La mise en œuvre de l’algorithme suppose que l’on soit capable de m´emoriser une solution afin de ne pas la reconsid´erer durant le processus de r´esolution. Dans notre cas, il s’agirait de stocker l’´etat complet d’une g´eod´esique, c’est-`a-dire de stocker la liste des points de contrˆole et leurs chemins associ´es. Il faudrait alors disposer d’une m´ethode efficace de d´etection de l’´egalit´e de deux g´eod´esiques (il faut tester l’´egalit´e de deux circuits, comme nous l’avons d´ej`a

´evoqu´e, ce n’est pas difficile mais c’est toujours coˆuteux en temps de calcul).

Bien ´evidemment, en pratique, on ne stocke jamais compl`etement une solution que l’on veut bannir. On se contente d’en extraire certaines caract´eristiques, que l’on nomme carac-t`eres tabou, qui sont `a la fois faciles `a identifier et porteuses d’assez d’informations pour permettre de ne pas revenir `a la solution pendant un certain temps. Pr´ecisons aussi que la m´emoire du processus de r´esolution tel que l’a con¸cu Glover, n’est pas infaillible : on peut mˆeme parler d’amn´esie `a plus ou moins long terme. Cette qualit´e de m´emorisation est un param`etre de l’algorithme. Dans notre impl´ementation, le caract`ere tabou retenu est le fait qu’un nœud du graphe soit un point de contrˆole ou pas, et ainsi nous interdisons ”toute”

solution qui viserait `a choisir de nouveau ce sommet comme point de contrˆole avant un cer-tain nombre d’it´erations. Ce caract`ere peut s’av´erer quelquefois trop discriminatoire, c’est pourquoi on peut envisager l’utilisation du m´ecanisme d’aspiration.

3.3.2. Recherche Locale sous contrainte

On a pos´e une contrainte forte sur le coˆut de la tourn´ee. Par choix, elle n’a pas ´et´e relˆach´ee car le probl`eme de la relaxation est que la projection,le retour dans le domaine r´ealisable est d’autant plus dur que le probl`eme est contraint[GL97].

Une cons´equence directe est qu’il n’est pas toujours possible d’obtenir un voisin x0 lors de la recherche locale, ou alors on constate le nombre de voisins peut se r´eduire `a une peau de chagrin (surtout lorsque cette contrainte se combine avec l’interdiction des solutions tabou).

Cette situation est embarrassante dans la mesure o`u la m´etaheuristique a de bien meilleures chances de trouver une bonne solution si elle peut visiter un tr`es grand nombre de solutions. Si on se retrouve dans ce cas de figure, on est tent´e de diversifier afin de retrouver des solutions r´ealisables mais il ne faut pas le faire trop rapidement car la lev´ee de caract`eres tabou peut permettre de d´ecouvrir de bonnes solutions. L`a encore, le concept d’aspiration prend tout son

Lo¨ıc Yon Chapitre 3. R´esolution approch´ee - M´etaheuristiques

3.3.3. Aspiration

L’aspiration estla lev´ee du caract`ere tabou d’une solutiondans certaines condi-tions.

Nous avons choisi ce que Glover et Laguna appellent l’aspiration by regional objective [GL97, p. 53] : lors de recherche de voisinage, elle consiste `a accepter une solution tabou si celle-ci am´eliore la solution record locale. Bien entendu, cela peut augmenter les temps de calculs car il est n´ecessaire d’´evaluer tous les voisinages mais dans le mˆeme temps, cela r´eduit le nombre d’it´erations pour l’obtention de la solution finale.

Notons aussi qu’il faut utiliser l’aspiration avec parcimonie dans la mesure o`u l’on change le comportement de l’algorithme tabou. Lorsque l’on utilise ce m´ecanisme, la m´ethode tabou se comporte localement comme un algorithme de descente, ce qui peut ˆetre parfois pr´ejudiciable.

3.3.4. Diversification

Avec la diversification, on essaye d’explorer une nouvelle r´egion dans l’espace des solutions.

Cette ´etape ne fait pas partie de l’algorithme originel mais se r´ev`ele ˆetre uneextension natu-relle pour am´eliorer le comportement de la m´etaheuristique. La discussion introduite lorsque l’on a d´efini la diversification pour la m´ethode GRASP est valide et on peut se contenter d’une version multistart o`u l’algorithme de recherche tabou est relanc´e sans tenir compte des it´erations pr´ec´edentes (amn´esie p´eriodique) ; ou alors, on peut utiliser le travail d´ej`a effec-tu´e pour la m´ethode GRASP et, ainsi, rendre intelligente la diversification. A ce titre, on peut alors parler d’hybridation naturelleentre les deux m´etaheuristiques GRASP et Tabou.

Chapitre 3. R´esolution approch´ee - M´etaheuristiques Lo¨ıc Yon

3.3.5. Algorithme Param`etres :

• Q : nombre de points de contrˆole de la g´eod´esique,

• ` : fonction coˆut d’une g´eod´esique, coˆut born´e par `max,

• f : fonction d’´evaluation d’une g´eod´esique (par exemple, la satisfaction induite),

• P : pr´edicat de test (par exemple, ”inf´erieur ou ´egal”) pour comparer les ´evaluations de deux g´eod´esiques distinctes,

• max g iter : nombre maximum d’it´erations globales/totales,

• max l iter : nombre maximum d’it´erations locales,

• max d iter : nombre maximum de diversifications,

• max no nb : nombre maximum de mauvais voisinages cons´ecutifs avant diversification,

• max no l iter, max no g iter : nombre maximum d’it´erations (locales ou globales) con-s´ecutives sans am´elioration,

• max no d iter : nombre maximum de diversifications cons´ecutives sans am´elioration,

• M EM : param`etre concernant le type de m´emoire (taille par exemple). Ce param`etre n’apparaˆıt pas de mani`ere explicite dans l’algorithme.

Lexique :

• x : solution courante,

• x˜ : meilleure solution de la recherche locale,

• xˆ : meilleure solution de la recherche globale,

• tous les compteurs d’it´erations : g iter, l iter, d iter, no nb, no l iter, no g iter, no d iter dont on connaˆıt les valeurs maximales.

La liste tabou T est mise `a jour `a chaque it´eration locale. Si la m´emoire est limit´ee, cela permet de rendre certains mouvements `a nouveau licites (les mouvements les plus anciens sont retir´es de la liste). Lors de la phase de recherche locale, on g´en`ere le voisinage de la solution courante : toutes les solutions de ce voisinage sont r´ealisables mais ne sont pas forc´ement am´eliorantes par rapport `a la solution courante (c’est la grande diff´erence avec un m´ecanisme de descente classique).

Lo¨ıc Yon Chapitre 3. R´esolution approch´ee - M´etaheuristiques

Algorithme 6: Recherche Tabou avec diversification et contrainte forte sur la recherche locale

initialisations

g´en´erer al´eatoirement une solution initiale r´ealisablex0 (une Q-g´eod´esique) initialiser la liste tabou :T ← ∅

ˆ

x←x˜←x←x0, g iter← d iter ← no g iter← no d iter←0 it´erations au niveau global

tant quecrit`ere1 non satisfaitfaire it´erations au niveau local l iter← no l iter ← no nb←0 tant quecrit`ere2 non satisfaitfaire

incr´ementer les compteurs : g iter, l iter, no g iter et no l iter s´electionner le meilleur voisinx0 ∈V(x), tel que

x0∈/ T

sinon incr´ementer no g iter et no d iter diversification

incr´ementer g iter et d iter

g´en´erer une nouvelle solution r´ealisable x T ← ∅

fin tant que

Dans l’algorithme, nous n’avons pas explicit´e les crit`eres d’arrˆet des boucles, rep´er´escrit`ere1 etcrit`ere2. Nous le faisons donc maintenant.

Crit`ere 1 : C’est le crit`ere d’arrˆet de la recherche globale. Cette recherche se termine si l’un des cas suivants se produit :

• un certain nombre d’it´erations globales a ´et´e d´epass´e [max g iter],

• un certain nombre de diversifications a ´et´e atteint [max d iter],

• la valeur record global n’a pas ´et´e am´elior´ee pendant un certain nombre d’it´erations [max no g iter],

Chapitre 3. R´esolution approch´ee - M´etaheuristiques Lo¨ıc Yon

• la valeur record global n’a pas ´et´e am´elior´ee pendant un certain nombre de diversifica-tions [max no d iter].

Crit`ere 2 : C’est le crit`ere d’arrˆet de la recherche locale. On sort de cette recherche si l’un des cas suivants se produit :

• on a d´ej`a effectu´e un certain nombre d’it´erations locales (et ce, mˆeme s’il est toujours possible d’am´eliorer la solution courante) [max l iter],

• la solution courante n’a pas ´et´e am´elior´ee pendant un certain nombre d’it´erations [max no l iter],

• un certain nombre de voisinages non exploitables a ´et´e g´en´er´e [max no nb],

• le nombre d’it´erations globales a ´et´e d´epass´e [max g iter].

Si l’on veut prendre en compte la notion d’aspiration, il est n´ecessaire d’adapter l’algorithme pr´ec´edent au niveau de la recherche locale. On l`eve le caract`ere tabou d’une solution r´ealisable x0 si celle-ci est meilleure qu’une solution record ˜x, la meilleure solution de la recherche locale.

Algorithme 7 : Modification de la phase de recherche locale pour prendre en compte la notion d’aspiration

x0 ← ∅ // on cherchex0 meilleur voisin de x donn´e pour tout v∈V(x) faire

siv∈T alors

siP(f(v), f(˜x))alors x0←v // aspiration fin si

sinon

siP(f(v), f(x0)) alors x0←v fin si

fait

3.3.6. Exp´erimentations Pr´esentation des tests

Nous reprenons les instances de test d´ecrites an annexe page 155 que nous avons d´ej`a utilis´ees dans la mise en œuvre des mod`eles au chapitre 2 (section 2.5 page 55).

Au travers de ces diff´erentes instances, nous devons tester et ´evaluer l’influence de diff´erents param`etres :

• la r´esolution Tabou ”simple”,

• l’influence du mode de d´eplacement : PCC ou r´ealiste,

• l’influence du type de diversification : la diversification al´eatoire multistart ou bien la diversification ”intelligente” (hybridation avec le GRASP),

Lo¨ıc Yon Chapitre 3. R´esolution approch´ee - M´etaheuristiques

Instance a10e [10 sommets, peu de commodit´es]

cp = 4 mode = real

Fig. 3.10 – Tabou simple sur a10e

La figure ci-contre (3.10) montre nous sommes limit´es `a l’inter-valle [0 : 250000]. Cela suffit pour illustrer le comportement de la m´etaheuristique. Cette fi-gure regroupe plusieurs tests. De haut en bas, on trouve la so-lution optimale donn´ee par le mod`ele exact, puis la solution pour le mode PCC avec 6 points de contrˆole, la solution pour le mode r´ealiste (paresseux) avec six points de contrˆole et ainsi de suite...

On remarque que le mode PCC donne, en g´en´eral, une meilleure ´evaluation que le mode r´ealiste (les ´evaluations sont ´egales pour les g´eod´esiques `a 2 points de contrˆole).

A un nombre de points de contrˆ` ole fix´e, il existe un pallier enpmax pour lequel, on ne trouve plus de meilleure solution. Notons que ces courbes ne sont pas monotones car nous avons pris une moyenne des r´esultats. La courbe est croissante si l’on prend les meilleures satisfactions et non plus les moyennes.

Plus le nombre de points de contrˆole est ´elev´e, plus on arrive `a approcher la solution opti-male, donc on est d’ailleurs tr`es proche pour des valeurs depmax relativement petites. Pour am´eliorer le comportement de l’heuristique sur des bornes de coˆut plus importantes, il faut augmenter le nombre de points de contrˆole ou bien utiliser plusieurs tourn´ees. Le nombre de points de contrˆole conditionne bien la qualit´e de la solution.

Sur un r´eseau aussi petit, la solution optimale est trouv´ee tr`es rapidement. La m´ etaheu-ristique effectue un tr`es grand nombre d’it´erations pendant lesquelles elle cherche `a encore am´eliorer la solution courante.

On constate un nombre important d’´echecs lors de la recherche locale sous contrainte, c’est-`a-dire que l’on ne dispose pas d’un solution voisine r´ealisable pour continuer le proces-sus d’exploration. Comme le graphe est tr`es petit, on retombe en fait sur des configurations tabous. Plusieurs solutions sont alors envisageables : lever le caract`ere tabou grˆace au m´ eca-nisme d’aspiration, enlever les solutions les plus anciennes de la m´emoire de la m´etaheuristique pour essayer de trouver des solutions r´ealisables (cette op´eration peut ˆetre effectu´ee un certain nombre de fois) et en dernier, diversifier. Bien entendu, ces m´ecanismes sont en comp´etition : une diversification trop rapide, sans attendre la lev´ee de certains caract`eres tabous, peut ˆetre une maladresse. L’utilisation intensive de l’aspiration force la m´ethode tabou `a adopter le comportement d’un algorithme de descente.

Chapitre 3. R´esolution approch´ee - M´etaheuristiques Lo¨ıc Yon

Instance a10a [10 sommets, commodit´es point `a point]

Nous avons test´e ce r´eseau dans les mˆemes conditions que le r´eseau pr´ec´edent, c’est-`a-dire avec 1770 r´eplications pour chaque famille de tests.

Si l’on s’int´eresse aux modes de d´eplacement des produits, le mode r´ealiste apporte une l´eg`ere d´egradation de la valeur obtenue avec le mode de d´eplacement par plus courts chemins.

La diversification intelligente (issue de la m´ethode GRASP) permet d’obtenir de meilleurs r´esultats plus rapidement (aussi bien en temps de calcul que du nombre d’it´erations).

L’utilisation de la notion d’aspiration n’a pas eu d’effet sur cette instance, nous avons trouv´e les mˆemes r´esultats en moyenne.

Si l’on compare nos impl´ementations de la m´ethode GRASP et de la m´ethode Tabou, nous constatons que la m´ethode GRASP est toujours plus rapide mais que la m´ethode Tabou donne en moyenne de meilleurs r´esultats.

Instance a20a [20 sommets, commodit´es point `a point]

Nous avons r´ealis´e des tests sur l’instance a20a avec des g´eod´esiques allant de 2 `a 12 points de contrˆole, cela nous a donn´e environ 800 points d’´echantillonnage et plus de 3300 r´eplications au total pour chaque type de test. Nous nous sommes content´e du mode r´ealiste.

Le meilleur objectif obtenu est en moyenne `a 18% du r´esultat optimal obtenu en mode PCC.

La diversification intelligente permet d’obtenir de meilleurs r´esultats sur 50% des r´ eplica-tions et plus rapidement (90% des r´eplications).

L’utilisation de la notion d’aspiration n’a pas apport´e de gain probant.

Instance cf992 [92 sommets, 992 commodit´es]

La figure (3.11) montre l’´evolution des diff´erents solutions records m´emoris´ees en fonction du nombre d’it´erations effectu´ees par la m´ethode tabou. On recherche une 4-g´eod´esique avec une contrainte de taille sur le r´eseau cf992. On peut noter diff´erents paliers : le premier, le plus visible est la convergence du record global vers son optimum. On peut ensuite remarquer plein de petits paliers g´en´eralement suivis par des traits verticaux : il s’agit de l’´evolution de la solution record locale. Chaque palier repr´esente un optimum local donc l’algorithme tabou essaie de sortir en provoquant une diversification (un trait vertical). Le nuage de points repr´esente simplement les diff´erents valeurs des solutions `a un coˆut donn´e.

La solution renvoy´ee finalement par l’algorithme est trouv´ee rapidement mais l’algorithme effectue un grand nombre d’it´erations et de diversifications afin de s’assurer qu’il ne trouve pas de meilleure solution.

Dans le document The DART-Europe E-theses Portal (Page 107-113)