You are on page 1of 12

Tabu Search (TS)

- Méthode basée sur la recherche locale.


- Une partie d'une solution , et explorer, à chaque itération, un sous-ensemble du voisinage
( ).
- Explorer l'espace des solutions en se déplaçant d'une solution à une autre ′ ∈ qui est son
meilleur voisin.
- Motivation : Il ne faut pas rester bloqué dans un optimum local.
- Cependant, on peut faire cycler l'algorithme ( 1 → 2 → 1 → 2 → 1 → ⋯).
- Pour éviter le cyclage de l'algorithme, il fait usage d'une structure mémoire pour stocker les
caractéristiques des solutions générées.
- Une telle structure est appelée la liste tabou.

- Les caractéristiques des solutions (ou des coups) stockées dans la liste Tabou sont interdites
par | | itérations.
- A la n de chaque itération, on ajoute le mouvement (ou la caractéristique de la solution
obtenue) en haut de la liste et on retire le dernier de la liste.
- Réduit la possibilité de cyclage, mais peut interdire les mouvements pour les solutions non
encore visitées.
- Fonction d'aspiration (A) : Mécanisme qui supprime le statut tabou d'un mouvement.
- Ex. : L'aspiration par un mouvement d'objectif est acceptée si la valeur de la solution
générée est meilleure que la valeur de la meilleure solution trouvée jusqu'alors (solution en
place).

- Critères d'arrêt
- Nombre d'itérations sans
amélioration ;
- Temps d'exécution ;
- Valeur de la solution ; etc.
- Paramètres
- Taille du tableau (| |) ;
- Fonction d'aspiration (A) ;
- Nombre de solutions voisines
explorées| | ;
- Nombre maximal d'itérations
sans amélioration ( ) ; etc.
𝑁
𝑠
𝑇
𝑉
fi
𝑇
𝑆
𝑚
𝑎
𝑥
𝑇
𝑠
𝑠
𝑠
𝑠
𝑠
𝑠
𝑠
𝑠
𝑉
𝑇
𝑉
Iterated Local Search (ILS)
- La méthode de recherche locale itérée (ILS) repose sur l'idée qu'une procédure de recherche
locale peut être améliorée en générant de nouvelles solutions
de départ, obtenues au moyen de perturbations.

- Elle se compose de 4 composantes/procédures :


1. GenerateInitialSolution() : génère une solution initiale 0 .
2. LocalSearch() : à partir d'une solution ′, renvoie une solution
′′ éventuellement améliorée.
3. Perturbation() : modi e la solution courante conduisant à une
solution intermédiaire ′.
4. AcceptanceCriteria() : décide à partir de quelle solution la
prochaine perturbation sera appliquée OU si une solution est meilleure que l'autre.

- Le succès de l'ILS est centré sur le choix de la méthode de recherche locale, de la perturbation
et des critères d'acceptation.
- La performance de l'ILS en ce qui concerne la qualité de la solution nale et la vitesse de
convergence dépend fortement de la méthode de recherche locale choisie.
- La perturbation doit être :
- Su samment forte pour permettre de sortir de l'optimum local actuel.
- Su samment faible pour sauvegarder les caractéristiques de l'optimum local actuel.

- Les critères de perturbation et d'acceptation contrôlent les procédures d'intensi cation et de


diversi cation.

- Intensi cation
- Consiste à rester dans la région de l'espace où se trouve la recherche, en cherchant à
l'explorer plus e cacement.
- Ex : application de petites perturbations.

- Diversi cation
- Consiste à se déplacer vers d'autres régions de l'espace des solutions. - Ex : Accepter
plusieurs solutions ; appliquer des perturbations majeures.
𝑠
ffi
ffi
fi
fi
fi
ffi
𝑠
fi
𝑠
𝑠
𝑠
fi
fi
- Les solutions générées par la phase de construction GRASP ne sont probablement pas
optimales localement.
- D'où l'importance de la phase de recherche locale, qui vise à améliorer la solution construite.
- L'e cacité de la recherche locale dépend, en partie, de la qualité de la solution construite.

Variable Neighborhood Search (VNS)


- Proposée par Nenad Mladenovic et Pierre Hansen, c'est une méthode de recherche locale qui
consiste à explorer l'espace des solutions par des échanges systématiques de structures de
voisinage.
- Elle explore des voisinages progressivement plus éloignés de la solution courante et focalise la
recherche autour d'une nouvelle solution si et seulement si un mouvement d'amélioration est
e ectué.
- Il contient également une procédure de recherche locale à appliquer à la solution courante.
- La procédure de recherche locale peut également utiliser di érentes structures de voisinage.
- Dans sa version originale, la méthode VNS utilise la méthode Variable Neighborhood Descent
(VND) pour e ectuer la recherche locale.
ff
ffi
ff
ff
Métaheuristique à solution unique

Multi-démarrage

• consiste à échantillonner l'espace des solutions, en


appliquant une procédure d'amélioration à chaque
solution générée.

• Les échantillons sont obtenus par la génération de


solutions aléatoires.

• Avec cette procédure, il y a une diversi cation de


l'espace de recherche, ce qui en fait possible de
s'échapper des endroits optimaux.

• Le grand avantage de la méthode est qu'elle est


facile à mettre en œuvre.

Procédure de recherche adaptative randomisée


avide (GRASP)

• La procédure GRASP est une méthode itérative,


proposée par Feo & Resende (1995). • Il se
compose de deux phases :

1. Phase de construction : une solution est


générée, élément par élément.2

2. Phase de recherche locale : un emplacement


optimal dans le voisinage de la solution construite
est recherché. La meilleure solution trouvée tout au
long de toutes les itérations GRASP e ectuées est
renvoyée en conséquence.

• Dans la phase de construction, une solution est construite de manière itérative, élément par
élément.

• À chaque itération de cette phase, les éléments candidats suivants à inclure dans la solution
sont placés dans une liste C de candidats, selon un critère prédéterminé d'ordre c.

• Les avantages associés au choix de chaque élément sont mis à jour à chaque itération de la
phase de construction pour re éter les changements qui découlent de la sélection de l'élément
précédent.

• Chaque élément est sélectionné au hasard dans un sous-ensemble restreint formé par les
meilleurs éléments qui composent la liste des candidats.

• Ce sous-ensemble s'appelle la Liste restreinte des candidats (LCR).

• Il permet de générer di érentes solutions sur chaque iteration GRASP


ff
fl
ff
fi
Complexité élevé

Di érence : il évite la recherche


exhaustive (prendre tout à la fois)

Métaheuristique : un processus de génération itératif qui guide une heuristique subordonnée.


• Il s'agit d'une stratégie maîtresse qui guide et modi e d'autres heuristiques pour produire des
solutions au-delà de celles qui sont normalement générées dans une quête d'optimalité locale.
• Méthodes évolutives
• Sous-ensemble des approches métaheuristes qui se caractérisent par le fait qu'elles
maintiennent une population de solutions candidates et que ces solutions rivalisent pour la survie.
• De telles approches sont inspirées par l'évolution de la nature.

Matheuristique : méthodes qui hybrident la métaheuristique avec des techniques de


programmation mathématique.

• La métaheuristique est une procédure conçue pour trouver une bonne solution, éventuellement
optimale, consistant en l'application, à chaque étape, d'une heuristique subordonnée, qui doit
être modélisée pour chaque problème spéci que.

• Ils sont de nature générale et disposent de mécanismes pour éviter de rester coincés dans des
endroits optimaux, peut-être loin de l'optimal global.

• Les métaheuristiques di èrent fondamentalement les unes des autres par le mécanisme utilisé
pour sortir des pièges des grands endroits.

• Ils peuvent être classés en fonction du nombre de solutions gérées au cours du processus de
recherche de solutions :

• Métaheuristique à solution unique : l'exploration de l'espace des solutions se fait au


moyen de mouvements, qui sont appliqués à chaque étape de la solution actuelle, générant une
autre solution prometteuse dans son voisinage.

• Métaheuristique basée sur la population : consiste à garder un ensemble de bonnes


solutions et à les combiner a n d'essayer de produire des solutions encore meilleures.
ff
ff
fi
fi
fi
Improvement Heuristique (recherche locale) : un mécanisme heuristique dans lequel nous
considérons les voisins de la solution actuelle comme des remplacements potentiels. Si nous
acceptons une nouvelle solution de ce quartier, alors nous passons à cette solution, puis
considérons ses voisins.
• Ex : Escalade, recuit simulé, recherche Tabu, recherche de quartier variable, etc.
• Contrairement à l'heuristique constructive, il passe d'une solution à une autre.

Algorithme
Procedure LocalSearch_heuristic( ):
while is not locally optimal do
Find ′ ∈ ( ) with ( ′) < ( );
← ′;
End LocalSearch_heuristic
𝑠
𝑠
𝑠
𝑠
𝑁
𝑠
𝑓
𝑠
𝑠
𝑓
𝑠

You might also like