Vous êtes sur la page 1sur 10

1.

Introduction :
L’objectif de ce rapport est d’illustrer la richesse des algorithmes d’optimisation pour
résoudre des problèmes difficiles issus de la recherche opérationnelle de l’ingénierie ou de
l’intelligence artificielle pour lesquels on ne connaît pas de méthode classique plus efficace.
Il existe un grand nombre de méthodes différentes, allant de la simple recherche locale à
des algorithmes complexes de recherche globale et chacune peut s’adaptée a un problème.

 Tendance dans les années 70 : techniques d’amélioration des solutions par recherche
local.
 1983 : une nouvelle heuristique apparaît, le Recuit Simulé.
 L’origine de la RT remonte à 1977, mais elle n’est proposée qu’au milieu des années 80
par Fred Glover précisément en 1986.
 Par la suite : algorithmes génétiques, colonies de fourmis, …

2. Définition de la Recherche Tabou


La Recherche Tabou est la Méthode heuristique de recherche locale utilisée pour
résoudre des problèmes complexes et/ou de très grande taille (souvent NP-durs). La RT a
plusieurs applications en programmation non linéaire (PNL). Révolution de cette méthode par
rapport aux autres: permet de surmonter le problème des optima locaux par l’utilisation de listes
taboues (principe de mémoire).

C’est une méthode à mémoire adaptative :

 Mémoire à court terme : diversification.


 Mémoire à long terme : intensification.

Cette méthode est généralement meilleure en temps d’exécution.

2.1 Principe de base :


 Poursuivre la recherche de solutions même lorsqu’un optimum local est rencontré,
 En permettant des déplacements qui n’améliorent pas la solution.
 En utilisant le principe de mémoire pour éviter les retours en arrière (mouvements
cycliques).
2.2 Mémoire :
 Elle est représentée par une liste taboue qui contient les mouvements qui sont
temporairement interdits.
 Mouvements interdits ou solutions interdites.
 Son rôle évolue au cours de la résolution: diversification (exploration de l’espace des
solutions) vers l’intensification.

2.3 Exception aux interdictions :


Il est possible de violer une interdiction lorsqu’un mouvement interdit permet d’obtenir la
meilleure solution enregistrée jusqu’à maintenant.

3. L’algorithme de la RT en générale :

Caractéristiques de l’algorithme :

Voici l'explication des différentes variables du schéma :


·s0 : solution initiale
·s* : meilleure solution jusqu'à présent.
·s' et s : nouvelle solutions du voisinage de s*
·f(x) : fonction objectif à minimiser.
·f*= f(s*) : valeur de la meilleure solution.
4. Critère d’arrêt dans la RT :
On peut arrêter la recherche à tout moment contrairement au recuit simulé…
Des critères d’arrêt possibles sont :

- Si une solution prouvée optimale a été trouvée.

- Si une limite a été atteinte en ce qui concerne :

 Le nombre d’itérations ;
 Le temps de calcul.

- Si la recherche semble stagner : nombre d’itérations sans amélioration de la


meilleure configuration trouvée.
Dans la recherche avec tabou, on cherche «normalement» le meilleur mouvement non
tabou. Cependant, cette manière de procéder peut se révéler trop coûteuse.
Pour y remédier, on peut se limiter à engendrer seulement un sous-ensemble des voisins
(Ou mouvements). On parle de liste de candidats :

 Construction de la liste de candidats :


- Les candidats de la liste peuvent être engendrés de manière aléatoire.
- Une autre approche consiste à sélectionner les voisins qui semblent les plus
prometteurs selon un critère quelconque.

5. Comportement de l’algorithme tabou :


 Si la liste taboue est courte :
- Il y a moins d’interdictions (mouvements tabous).
- La recherche épouse mieux les optima locaux rencontrés.
- L’algorithme tend à parcourir de moins grandes distances dans l’espace de
recherche. Il explore moins l’espace de recherche.
- Le risque de cycles est plus grand.
 Si la liste taboue est longue :
- Il y a avantage d’interdictions (mouvements tabous).
- La recherche risque de manquer de nombreux optima locaux sur son chemin.
- L’algorithme tend à parcourir de plus grandes distances dans l’espace de
recherche. Il explore davantage l’espace de recherche.
- Le risque de cycles est réduit.
Le comportement de l’algorithme dépend :
- De la longueur de la liste taboue.
- Mais aussi de la taille de la liste de candidats (si on en utilise une).

 Dans le cas où une liste de candidats est utilisée :

- Les meilleurs mouvements risquent de ne pas appartenir à la liste.


Il y a donc deux «forces» qui conjuguent leurs effets pour ressortir des optima locaux : la liste
taboue et la liste de candidats.
- Plus la liste de candidats est petite, moins la liste taboue a besoin d’être grande.

6. Diverses améliorations de la RT

La liste taboue peut s’avérer trop contraignante lors de la recherche d’une solution.
Le mécanisme d’aspiration permet de lever ponctuellement le statut “tabou” afin d’atteindre
des solutions inédites.

- L’intensification : est l’une des stratégies qui permet de mémorisé les meilleures
solutions rencontrées (ou leur configuration) et les utilise afin d’améliorer la
recherche.
- La diversification : cherche à utiliser des mouvements encore jamais réalisés afin
d’explorer des régions nouvelles de l’espace de recherche en mémorisant bien sur les
solutions les plus visitées.

⇒bien sûr, les deux stratégies sont complémentaires.

- Sélection du meilleur voisin :


Best Fit : le voisinage est exploré en entier.
First Fit : une partie du voisinage est explorée.
- Utilisation d’une table de calculs : pour éviter de calculer entièrement le coût de
chaque voisin, à chaque itération on mémorise dans une table les modifications au
coût de la solution courante associées à chacun des mouvements possibles.

7. Avantages et inconvénients de la RT :
Avantage :
·Grande efficacité: tabou bat tout !
·Fonctionnement simple à comprendre.
Inconvénients :
·Paramètres peu intuitifs.
·Demande en ressources importantes si la liste des tabous est trop imposante.
·Aucune démonstration de la convergence.

8. Domaines concernés par la RT :


 Problème de transport
 Planification et ordonnancement
 Optimisation de graphes
 Télécommunications
 Logistique et intelligence artificielle
 Création d’horaire
 Optimisation de structure
 Techniques spécialisées

9. Exemple application de la RT sur la fable des randonneurs :


Un randonneur malchanceux, est perdu dans une région montagneuse. Toutefois, il sait
qu’une équipe de secours passe régulièrement par le point situé à la plus basse altitude dans la
région. Ainsi, il doit se rendre à ce point pour attendre les secours. Comment s’y prendra-t-il ?
Il ne connaît pas l’altitude de ce point et, à cause du brouillard, il ne voit pas autour de lui.
Donc, arrivé à un croisement, il doit s’engager dans une direction pour voir si le chemin monte
ou descend.

Tout d’abord, il commence par descendre tant qu’il peut, en choisissant le chemin de
plus grande pente à chaque croisement. Voir figure 01

Puis, lorsqu’il n’y a plus de sentier menant vers le bas, il décide de suivre le chemin qui
remonte avec la plus faible pente car il est conscient qu’il peut se trouver à un minimum local.
Voir figure 02

Toutefois, dès qu’il remonte, il redescend vers le point où il était. Cette stratégie ne
fonctionne pas. Par conséquent, il décide de s’interdire de faire marche arrière en mémorisant
la direction d’où il vient. Il est à noter que sa mémoire ne lui permet de mémoriser que les deux
dernières directions prohibées. Voir figure 03
Cette nouvelle stratégie lui permet d’explorer des minimums locaux et d’en ressortir. À
un moment donné, il arrive à un point où il décèle une forte pente descendante vers le sud.
Toutefois, les directions mémorisées lui interdisent d’aller vers le sud car cette direction est
prohibée. Il décide d’ignorer cette interdiction et emprunte ce chemin. Voir figure 04

Cette décision fut bénéfique: il arriva au point de plus basse altitude et attendit les secours
qui ne tardèrent à arriver. Voir figure 05

 Définition des variables : Voir figure 06


• i : la solution actuelle.
• i’ : la prochaine solution atteinte (solution voisine).
• N(i): l’espace de solutions voisines à i (l’ensemble des i’).
• m : mouvement de i à i’.
• i globale : la solution optimale globale qui minimise la fonction objectif f( ).
• i* : la solution optimale actuelle.
 Définition des termes des mouvements a appliqué dans l’algorithme:

Mouvement non améliorateur: un mouvement qui nous sortirait d’un minimum local i* en
nous amenant à une solution voisine i’ pire que l’actuelle.

La méthode taboue permet un mouvement non améliorateur, comme le permet le recuit


simulé. La différence entre les 2méthodes est que la RT choisira le meilleur i’ dans N(i),
l’ensemble des solutions voisines. Voir figure 07

Mouvement tabou: un mouvement non souhaitable, comme si on redescendait à un


minimum local d’où on vient juste de s’échapper.

Le mouvement est considéré tabou pour un nombre prédéterminé d’itérations. k


représente l’index des itérations (l’itération actuelle). Voir la figure 08

• T : liste des mouvements tabous. Il peut exister plusieurs listes simultanément. Les
éléments de la liste sont t (i, m).
Une liste T avec trop d’éléments peut devenir très restrictive. Il a été observé que trop
de contraintes (tabous) forcent le programme à visiter des solutions voisines peu alléchantes à
la prochaine itération

Une liste T contenant trop peu d’éléments peut s’avérer inutile et mener à des
mouvements cycliques.

• a (i, m) : critères d’aspiration. Déterminent quand il est avantageux d’entreprendre m,


malgré son statut tabou.

 L’algorithme de la RT appliqué sur l’exemple du randonneur :

Étape 1: choisir une solution initiale i dans S (l’ensemble des solutions)


Appliquer i* = i et k = 0
Étape 2: appliquer k = k+1 et générer un sous-ensemble de solutions en N (i, k) pour
que:

– les mouvements tabous ne soient pas choisis.


– un des critères d’aspiration a (i,m) soit applicable.
Étape 3: choisir la meilleure solution i’ parmi l’ensemble de solutions voisines N (i, k)
Appliquer i = meilleur i’

Étape 4: si f(i) <= f (i*), alors nous avons trouvé une meilleure solution
Appliquer i* = i
Étape 5: mettre à jour la liste T et les critères d’aspiration
Étape 6: si une condition d’arrêt est atteinte, stop.
Sinon, retour à Étape 2.
Ex: arrêt après 22 itérations (k = 22).
 Amélioration :
La recherche de la solution optimale peut être améliorée.
– choix stratégique de la solution initiale i. Ceci donnera une « bonne » valeur de f (i*)
Intensification :
La recherche est menée dans un voisinage N(i) de S, l’ensemble des solutions.
Une haute priorité est donnée aux solutions f(i’) qui ressemblent à la solution actuelle f(i).
Le résultat est donc une intensification de la recherche dans un certain secteur, dans un
voisinage choisi: Voir la figure 09
Diversification :
La recherche est éloignée du voisinage N(i) actuelle de l’ensemble des solutions.
Une haute priorité est donnée aux solutions f(i’) d’une autre région que celle actuellement
sous exploration. Voir la figure 10
Le résultat : chercher ailleurs

L’intensification et la diversification sont présentées comme des modifications à la fonction


objective.
Donc: f = f + intensification + diversification
Il est à noter que l’intensification et diversification se manifestent pendant quelques itérations
k seulement, ensuite il y a alternance.

10 . Conclusion :
 Incorpore de la mémoire dans la stratégie de recherche.
 Permet les mouvements non-améliorateurs.
 Offre des économies de temps de résolution pour des programmes de grosse taille.
 Ne génère pas toujours la solution optimale (heuristique) mais parfois retourne de très
bons résultats sur certains types de problèmes.
 Une liste taboue trop longue peut être restrictive. Par contre, une liste trop courte
risque de s’avérer inutile.
 Les méthodes exactes, notamment celles d’énumération intelligente, ne sont plus
utilisables lorsque le problème devient trop important.
 Les méta-heuristiques sont alors indispensables pour obtenir de “bonnes” solutions
dans la pratique.
 De nombreux résultats ont été obtenus pour prouver l’efficacité de cette approche.
 Cependant, ces méthodes interdisent souvent de comprendre pourquoi une bonne
solution a pu être découverte.
 Même l’algorithme tabou de base est souvent d’une efficacité remarquable.
 Algorithmes faciles à mettre en œuvre.

Bibliographie :
Article de Joseph Ayas & Marc André Viau « la recherche tabou »
Livre de Lapetoule KévinLes algorithmes métaheuristiques Juin 06
http://209.85.129.132/search?q=cache:mqeV919vqdgJ:hal.archivesouvertes.fr/docs/00/07/44
89/PDF/RR 2182.pdf+recherche+tabou.pdf&cd=15&hl=fr&ct=clnk&client=firefox-a
http://docs.google.com/viewer?a=v&q=cache:3kx1L_xg40gJ:www.tamps.cinvestav.mx/~ertel
lo/papiers/ROADEF2005.pdf+recherche+tabou.pdf&hl=fr&pid=bl&srcid=ADGEESiacZ9K9
Ln6WBmoLw6P7koNedpJ_9W5HF1AtWdUEOqWJZqN2aWAtOr3zl2wvytxYpekQ0QI1tA
TnjzOVr1EjGaueQvu11fr_I_uE0sISId4482oNoAsRadWqraOcM9s1OoFiVD&sig=AHIEtbR
kqyXGMQU_0veKKqtVh_KalU2Vkg
http://docs.google.com/viewer?a=v&q=cache:Xr0dzSa4kCUJ:www.cours.polymtl.ca/mth641
4/automne2004/presentations/MTH6414Recherche_Tabou.pdf+recherche+tabou.pdf&hl=fr&
pid=bl&srcid=ADGEESjllrKtepsPg7Hv6ehm7xq87cOm13SGLPR2X5573BhmFSYy5dLEvg
O1paD98Yd21ls_ekW1MgOHfibK1Us5NAgoVk13QIQEqO1LGqieuTiUxnvPA2EvFqThU
2GnO8bkRH7&sig=AHIEtbQnqWTU2426yAYBfn9BpBJII2v7HA

Vous aimerez peut-être aussi