Vous êtes sur la page 1sur 12

Recherche Tabou

(Tabu Search)

Master: Métaheuristiques (2020-2021) 1

Plan
■ Introduction
■ Origines de la recherche tabou
■ Principe
■ Algorithme de base
■ Liste Tabou
■ Concepts avancés

Master: Métaheuristiques (2020-2021) 2

1
Introduction
■ En permettant des
remontées occasionnelles
dans le processus de
recherche, on pourra
éviter le piège des
minima locaux

Master: Métaheuristiques (2020-2021) 3

Méthode Tabou (Origine)

■ Développée parallèlement par Glover et Hansen (1986)

■ Domaines d'applications :
■ Ordonnancement d'employés (Glover & Mc Millan (1986))
■ Ordonnancement de travaux dans un atelier (Dell'Amico &
Trubian (1992))
■ Voyageur de commerce (Malek et al. (1989))
■ Affectation quadratique (Skorin-Karpov (1990), Taillard (1991))
■ …

Master: Métaheuristiques (2020-2021) 4

2
Méthode Tabou
(Formulation générale)

■ Le problème à résoudre :
Min {f(s), s X}
■ A toute solution réalisable s dans X, supposons que
l'on puisse lui associer un ensemble V(s) : le voisinage
de s.
■ Le déplacement d'une solution s à une solution s'
s'obtient par l'introduction d'une modification
acceptable m sur s.
■ Ainsi V(s) = {s'/ m acceptable tq s'=m(s)}
Master: Métaheuristiques (2020-2021) 5

Méthode Tabou (Remarque)


■ Il est plus convenable d'associer un graphe
d'états à ce type de problème où,
■ les sommets : les solutions
■ les arêtes : des opérateurs permettant le
déplacement d'une solution à une autre.

un état initial

un voisin

l'état final

un état
passage d'un état à un autre

Un graphe d'états
Master: Métaheuristiques (2020-2021) 6

3
Choix des voisins
■ Plusieurs façons pour générer un échantillon de voisins
d'une solution s :

■ Le voisinage en entier de s est généré; ceci est possible


lorsque sa taille est relativement petite.

■ Un seul voisin est généré de manière aléatoire; c'est ce qui se


passe dans la procédure du recuit simulé.

■ ...

Master: Métaheuristiques (2020-2021) 7

Choix du meilleur voisin


■ La stratégie le définissant, Min {f(x), x V(s)},
n'est pas toujours la meilleure.

■ De plus, elle peut toujours être longue si V(s)


est assez grand.

■ € emploi d'une certaine heuristique

Master: Métaheuristiques (2020-2021) 8

4
Rappel: Les méthodes de descente
(Principe)

■ Soit s une solution réalisable


■ Générer V(s), un voisinage de s
■ Chercher s’il existe s’ dans V(s) tq f(s') > f(s)
■ Si tel est le cas, on remplace s par s' et on
recommence.
■ Sinon, on s'arrête: on a obtenu un optimum local.

Master: Métaheuristiques (2020-2021) 9

Rappel: Les méthodes de descente


(Une grande difficulté !)

■ Rester piégé en un optimum local ;


généralement loin de l'optimum global

■ Remède ?
La méthode Tabou

■ € Méthode Tabou : une amélioration des


méthodes de descente
Master: Métaheuristiques (2020-2021) 10

5
Méthode Tabou
(Principe)

■ Pour sortir de la situation rencontrée dans les


méthodes de descente, la méthode de recherche Tabou
permet de se déplacer d'une solution s à une solution
voisine s', même si f(s) < f(s')

■ Oui, ...Mais? Risque de cycler!

■ → Tabou emploie une liste appelée liste


■ Tabou

Master: Métaheuristiques (2020-2021) 11

Méthode Tabou
(Algorithme de base)

Master: Métaheuristiques (2020-2021) 10

6
Méthode Tabou
(Liste Tabou)
■ Liste Tabou ou Mémoire à court terme

■ Rôle :
■ Pour tenter de progresser vers un optimum global sans risque de cycler, la
technique de recherche Tabou interdit certaines modifications.
■ Pour cela, on maintient une liste Tabou de modifications ou de solutions
déjà visitées.

■ Questions :
■ Que mettre dans cette liste?
■ Comment la choisir?
■ Comment la gérer?

Master: Métaheuristiques (2020-2021) 13

Méthode Tabou
(Que mettre dans la liste Tabou ?)

■ Une liste de solutions n'est pas très réaliste car ceci


consommerait beaucoup d'espace.
■ De plus, tester si une solution s' est dans la liste peut être
fait, mais nécessiterait beaucoup de temps de calcul.
■ En pratique, caractérisation des constituants de la liste
(solutions ou modifications) par des identifiants ou
attributs.
■ = = > les conditions (ou restrictions) Tabou.

Master: Métaheuristiques (2020-2021) 14

7
Méthode Tabou
(Exemple de liste Tabou)
■ Considérons un exemple de POC où les solutions sont codées sous forme de
permutations.

■ Soient les solutions s1 et s2 :


s1= 1 2 3 4 5, s2= 1 4 3 2 5

■ Le passage de la solution s1 à s2 revient à modifier (ou échanger) deux


positions ; ici 2 et 4.

■ Que peut-on mettre dans la liste Tabou?


■ (i, position(i), j, position(j)) (la moins restrictive !)
■ (i, position(i))
■ (i)
■ (i et j) (très restrictive !)
■ ...

Master: Métaheuristiques (2020-2021) 15

Méthode Tabou
(Comment choisir la taille de la liste?)
■ Une grande taille aboutirait à un manque de
flexibilité et pourrait générer une solution de
mauvaise qualité.

■ Une petite taille : la recherche pourrait cycler .

→ Compromis!

Master: Métaheuristiques (2020-2021) 16

8
Méthode Tabou (Remarques)
(de Werra & Hertz (1989)) (1)
■ Considérons l’exemple suivant :
■ Un ensemble W.
■ X : tous les sous-ensembles s, parties de W, | s | = k pour un k fixé.
■ Une modification m=(i j) est le remplacement de i dans s par j.

■ Supposons qu'initialement T est vide et qu'on prend |T | = 3 .


■ Décrivons les premières itérations :
solution courante s modification m liste Tabou T
{a, b} b€ c b€ c
{a, c} a€ d b€ c,a€ d
{c, d} c€ e b € c , a € d, c € e
{d, e}

■ Considérons les deux solutions, s={d, e} et s'={a, e}.


■ → Une liste Tabou peut empêcher certaines solutions même non encore
visitées.

Master: Métaheuristiques (2020-2021) 17

Méthode Tabou (Remarques)


(de Werra & Hertz (1989)) (2)
■ Considérons maintenant un second exemple où l'on prend | T | = 3
solution courante s modification m liste Tabou T
{a, b, c} c€ d c€ d
{a, b, d} b€ c c€ d,b€ c
{a, c, d} d€ b c € d , b € c, d € b
{a, b, c}

■ Il s’agit bien d’un cyclage !


■ On remarque cette fois que T n'interdit pas certaines modifications (par
exemple (d € b), ce qui conduit à retrouver des solutions déjà visitées.

■ → Une liste Tabou n'évite pas nécessairement le cyclage.

Master: Métaheuristiques (2020-2021) 18

9
Méthode Tabou
(Comment gérer cette liste ?)

■ fixe ou dynamique?

■ de manière cyclique ou non?

Master: Métaheuristiques (2020-2021) 19

Méthode Tabou
(Critères d'aspiration)
■ Motivation
■ Éviter de cycler n'est pas le but d'une recherche Tabou.
■ Quand, pourra-t-on annuler une restriction Tabou?
■ Généralement, pour atteindre de "bonnes" solutions, on devra traverser des
régions sous-optimales!

==> Critères d'aspiration.

■ Principe (critère du niveau d'aspiration)


■ Lever le statut Tabou d'une modification, à une itération donnée, si elle conduit
à une valeur de la fonction objective strictement meilleure que la meilleure valeur
obtenue jusqu'ici.

■ Remarque
■ Il existe d'autres critères d'aspirations!

Master: Métaheuristiques (2020-2021) 20

10
Méthode Tabou
(Concepts avancés)
■ La technique de recherche Tabou utilise d'autres stratégies pour guider, de manière
intelligente, la recherche.

■ Diversification
■ Tabou, utilise une fonction de mémoire à long terme qui enregistre les modifications
effectuées dans le passé afin de les utiliser pour guider la recherche.
■ € But : Diversifier la recherche dans des régions non encore visitées.

■ Intensification
■ Si l'on est sûr de la région où trouver la ou les "bonnes" solutions, Tabou y intensifie la
recherche.

■ = = > conclusion : Tabou utilise des mémoires


■ mémoire à court-terme (liste)
■ mémoire à moyen-terme (intensification)
■ mémoire à long-terme (diversification)

Master: Métaheuristiques (2020-2021) 21

Méthode Tabou
(Critères de terminaison)

■ La recherche Tabou s'arrête :


■ Si l'on connaît d'avance la borne inférieure de la
fonction objective,
■ ou après un certain nombre d'itérations sans
amélioration de la meilleure solution trouvée
jusqu'ici.
■ …

Master: Métaheuristiques (2020-2021) 22

11
Méthode Tabou
(Récapitulatif)
■ méthode d'amélioration itérative.
■ méthode de mémoires.
■ méta-heuristique : utilise d'autres heuristiques.
■ sa bonne utilisation requiert la définition :
■ d'une solution de départ,
■ du choix du voisinage,
■ du choix du meilleur voisin,
■ des paramètres : taille de la liste, nombre d'itérations sans
amélioration, ...
■ du choix de la représentation des constituants de la liste,
■ ...
Master: Métaheuristiques (2020-2021) 23

12

Vous aimerez peut-être aussi