Diapositive 1

publicité
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  (eI ( 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.
Téléchargement