Extension de la méthode d’élimination inverse pour la gestion dynamique de la liste des tabous Extension de la méthode d’élimination inverse (R.E.M) • • • • Introduction Présentation des extensions proposées Illustration de R.E.M-t Conclusion introduction • La méthode tabou • Présentation de R.E.M La méthode tabou • C’est une métaheuristique entièrement déterministe. • Elle exploite la notion de mémoire. • Pour un voisinage donné, cette méthode choisit la solution avec laquelle nous obtenons la meilleure valeur pour la fonction économique sans référence aux valeurs précédentes. introduction • La méthode tabou • Présentation de R.E.M Présentation de R.E.M • Cette une gestion dynamique de la liste Tabou • Elle permet d’éviter les cycles (dans la mesure du possible); i.e. les solutions visitées ne sont plus explorées • Elle consiste à parcourir à revers la séquence de mouvements que l’on a effectué pour construire la solution, ceci pour construire, à chaque itération, une liste tabou. Présentation de R.E.M • Notations : – On note par i l’action consistant à mettre la ième composante de la solution courante à 1, (implique qu’elle soit à 0 auparavant), l’action permettant de passer la ième composante de la valeur 1 à 0. – RCS désigne la liste dans laquelle sont stockées les valeurs nécessaires à la gestion dynamique du R.E.M – TL désigne la liste de tabous. – RL désigne la liste de déplacement successifs effectués pour arriver à la solution courante. i Présentation de R.E.M • Algorithme du R.E.M Procédure REM (k , RL , TL) Initialisa tion TL : nul RCS : nul Backtracing for i : k to 1 step - 1 do begin if RL i RCS then RCS : RCS - RL i else RCS : RCS RL i endif; if RCS e then Construction de la liste des tabous if e TL then TL : TL e endif endif; endfor; Extension de la méthode d’élimination inverse (R.E.M) • • • • Introduction Présentation des extensions proposées Illustration de R.E.M-t Conclusion Présentation des extensions proposées • R.E.M avec gestion de l’ordre chronologique • R.E.M-t : généralisation du R.E.M • R.E.M dynamique : une gestion dynamique du paramètre t. R.E.M avec gestion de l’ordre chronologique • Extension très simple. • Permet d’éviter les cycles quand c’est inévitable, c’est à dire quand toutes alternatives de déplacements sont marquées comme tabou. • La solution proposée est de permettre dans ce cas précis le dernier déplacement tabou placé dans la liste TL, qui sera donc sauvegardé au fur et à mesure dans l’algorithme. • Cette règle est couramment appelée dans la littérature : Le critère d’aspiration par défaut. R.E.M avec gestion de l’ordre chronologique • Algorithme du R.E.M chronologique Procédure REM _ C (k , RL , TL, LAST ) Initialisa tion TL : nul RCS : nul Backtracing for i : k to 1 step - 1 do begin if RL i RCS then RCS : RCS - RL i else RCS : RCS RL i endif; if RCS e then if e TL then TL : TL e endif Last : RCS; endif; endfor; Extension : sauvegarde du dernier tabou ajouté dans TL Présentation des extensions proposées • R.E.M avec gestion de l’ordre chronologique • R.E.M-t : généralisation du R.E.M • R.E.M dynamique : une gestion dynamique du paramètre t. R.E.M-t : généralisation du R.E.M • Le principe est ici de gérer une liste, noté min_rep, dans laquelle est placé la plus petite taille de la liste RCS qui contient l’attribut e. • Un paramètre t est fixé. Il sert à déterminer si un attribut est tabou ou non: L' attribut e est : { Tabou si min_rep(e)<=t Ne peut être tabou sinon • Il permet aussi une diversification de la recherche (la cas t=1 correspond à la version initiale de R.E.M) R.E.M-t : généralisation du R.E.M • Algorithme du R.E.M_t Procédure REM _ t (k , RL , TL) Initialisa tion TL : nul RCS : nul For e : 1 to q do Min_rep e : t 1; Backtracing for i : k to 1 step - 1 do begin if RL i RCS then RCS : RCS - RL i For (all e RCS ) do Min_rep e min Min_rep RL i , RCS Mise à jour de la liste Min_rep else RCS : RCS RL i Min_rep RL i min Min_rep RL i , RCS endif; endfor; for e : 1 to q do if (Min_rep e t and e TL) then TL : TL e ; endif. Modification de la liste tabou Présentation des extensions proposées • R.E.M avec gestion de l’ordre chronologique • R.E.M-t : généralisation du R.E.M • R.E.M dynamique : une gestion dynamique du paramètre t. R.E.M dynamique • Cette version gère dynamiquement le paramètre t. • Cette gestion permet une dynamique dans l’intensification / la diversification de la recherche courante : – Plus le paramètre t est petit, plus la liste tabou est restreinte, et plus l’on intensifie la recherche. – Plus le paramètre t est grand, plus la liste tabou sera grande, et plus la recherche se diversifiera car l’on risque de repartir d’une solution déjà visitée. R.E.M. dynamique • Algorithme du R.E.M. dynamique Procédure REM _ dynamic(k , RL , TL) Initialisa tion TL : nul RCS : nul For e : 1 to q do Min_rep e : k 1; Backtracing for i : k to 1 step - 1 do begin if RL i RCS then k est le numéro d’itération, il représente le max de la taille de la liste RCS RCS : RCS - RL i For (all e RCS ) do Min_rep e min Min_rep RL i , RCS else RCS : RCS RL i Min_rep RL i min Min_rep RL i , RCS endif; endfor; Choisir une règle de calcul pour le paramètre t. for e : 1 to q do La gestion dynamique du paramètre t se fait à ce niveau. if (Min_rep e t and e TL) then TL : TL e ; endif. R.E.M dynamique • La gestion dynamique du paramètre t se fait par le choix d’une des règles suivantes: – t k (eI ( k ) min_rep [e]) / qk – tk (min min_rep [e] : e I (k ) max min_rep [e] : e I (k )) / 2 Où I(k)= {e | min_rep[e] <> k+1} et qk = | I(k) | Extension de la méthode d’élimination inverse (R.E.M) • • • • Introduction Présentation des extensions proposées Illustration de R.E.M-t Conclusion Illustration du R.E.M.-t • L’algorithme de TS_Oscillation pour le problème de multi sac à dos constitue un bon exemple d’utilisation du R.E.M-t. • La plupart des recherches tabou suivent en général une ou plusieurs des règles suivantes : • Réalisabilité maintenue durant la recherche • La non réalisabilité due aux contraintes d’intégralité des variables est autorisée durant le processus de recherche. • La non réalisabilité due aux contraintes du problème (autres que les contraintes précédemment citées) est autorisée. • La stratégie d’oscillation semble être une méthode prometteuse. Elle consiste à osciller entre deux domaines, réalisable et non réalisable, définis autour d’une zone critique. Illustration du R.E.M-t • Ces oscillations correspondent respectivement à une phase constructive et à une phase destructive. • La zone (non)réalisable est atteinte en fixant certaines variables à 1(0). • Le choix de ces variables est décidé par une règle qui choisit la variable ayant un rapport (profit/coût) maximal, pour passer du domaine réalisable au domaine non réalisable, ou bien minimal dans le cas inverse. • La zone critique, aussi appelée zone prometteuse, est une zone qui peut être déterminée en agrégeant des contraintes, ou bien en appliquant une méthode de permutation de contraintes violées. Ces deux méthodes font varier l’amplitude de l’oscillation autour de la solution courante. • Le Rem-t est utilisé pour intensifier la solution lors des phases constructives et destructives. Illustration du R.E.M-t Présentation de l’algorithme de TS-Oscillation: • Choisir une solution initiale x (réalisable ou non) • Initialisations diverses(recherche tabou et paramètres d’oscillations) • Stop=faux; • Tantque(non stop) faire – Suivant la stratégie faire: • Étape constructive • Étape destructive – Mettre à jour les paramètres de la recherche tabou et de la stratégie d’oscillation FinTantque Extension de la méthode d’élimination inverse (R.E.M) • • • • Introduction Présentation des extensions proposées Illustration de R.E.M-t Conclusion Extensions du R.E.M : conclusion • La première extension consistait à ajouter une règle d’ordre chronologique, ce qui permet d’assurer la convergence finie de la recherche. • La seconde est la généralisation de R.E.M, qui est en fait une correction de l’algorithme proposé par Glover en 1990. • La dernière permet d’orienter la recherche selon un paramètre t dynamique, qui permet de créer un équilibre entre diversification et intensification. Extensions du R.E.M : conclusion • Pour illustrer la version du R.E.M-t proposé par Hanafi et Fréville, nous vous avons présenté l’algorithme de TS oscillation qui utilise le R.E.M-t . • Il est à noter que toutes ces approches peuvent être appliquées à des autres problèmes numériques.