
2. Les contraintes tabou peuvent ˆetre viol´ees dans certaines circonstances. Quand un mouvement
tabou fournit un ´etat meilleur que n’importe quel autre ´etat visit´e, sa condition tabou peut ˆetre
lev´ee; ce crit`ere est appel´e crit`ere d’aspiration.
3. Vu que la liste des mouvements tabous doit avoir une longueur finie, un mouvement reste tabou
seulement pendant un certain nombre d’it´erations, ce qui oblige `a une strat´egie d’oubli.
2 Recherche tabou d’une partition par transferts
Soit Ω un ensemble de nindividus, not´es xiet munis de poids positifs pitels que Pipi= 1, sur lesquels
on a mesur´e pvariables quantitatives xj. On propose une m´ethode pour trouver une partition de Ω en k
classes, bas´ee sur la technique de la recherche tabou et qui utilise le principe des transferts de S. R´egnier
[6].
Si P=(C1,...,C
k) est une partition de Ω en kclasses, alors l’inertie intra-classes de Pest:
W(P)=
k
X
`=1
X
i∈C`
pid2(xi,g
`)
o`ug`=1
µ`Pxi∈C`pixiest le centre de gravit´e de la classe C`,µ`le poids de la classe C`,etdest une
distance euclidienne.
Un mouvement dans la recherche tabou sera le transfert d’un individu d’une classe dans une autre
classe. Si Pest la partition de Ω avant le mouvement et P0la partition apr`es celui-ci, alors la valeur du
mouvement est donn´ee par:
∆W=W(P)−W(P0).
Tel que nous l’avons expliqu´e dans [5], on peut simplifier le calcul de ∆Wde fa¸con `a avoir:
∆W=µ`·pi
µ`+pi
d2(g`,x
i)−µj·pi
µj−pi
d2(gj,x
i).
o`uCjest la classe de l’individu xitrait´e avant le transfert et C`est la classe apr`es le transfert. De
mˆeme, nous avons des expressions qui simplifient le calcul de l’inertie de la classe Cjet de la classe
C`si le transfert est accept´e, ainsi que le calcul des centres de gravit´e de ces classes modifi´ees. Les
d´emonstrations de ces r´esultats peuvent ˆetre trouv´ees dans [4].
Les valeurs des mouvements fournissent un bon crit`ere pour repr´esenter la qualit´e d’un mouvement,
mˆeme si on peut en utiliser d’autres.
Pour mod´eliser le probl`eme de partitionnement, on utilisera un vecteur de taille n, dont chaque
entr´ee est un nombre entre 1 et k, qui repr´esente la classe `a laquelle appartient l’individu correspondant.
L’initialisation de la m´ethode se fait al´eatoirement, c’est-`a-dire on affecte un nombre al´eatoire entre 1 et
k`a chaque entr´ee du vecteur qui repr´esente la partition P. Cependant, cette partition initiale peut aussi
ˆetre fournie par un expert.
On appelera le voisinage d’une partition P, l’ensemble de partitions g´en´er´ees `a partir de Ppar un
mouvement, c’est-`a-dire, par le transfert d’un individu. On notera N(P) le voisinage de P.
Un mouvement sera appel´e tabou s’il a ´et´e consid´er´e dans une des mderni`eres it´erations. Les derni`eres
it´erations induisent ainsi une liste tabou, dont la longueur est un des param`etres de l’algorithme. Si cette
longueur est trop petite alors les cycles apparaitront, mais si elle est trop longue on serait peut-ˆetre
contraint dans l’habilit´e d´esir´ee de monter les “vall´ees profondes”.
On remarquera que dans l’algorithme, on introduit dans la liste tabou l’inertie intra-classes W(P)au
lieu de la partition P. En effet, la partition P1=(2,1,1,1,1) est ´egale `a la partition P2=(1,2,2,2,2);
vu que, pour des donn´ees r´eelles, il est tr`es peu probable que l’on trouve deux partitions diff´erentes avec
la mˆeme inertie intra-classes, nous avons pris cette d´ecision qui nous a donn´e d’excellents r´esultats.
Un mouvement de N(P) est admissible s’il n’est pas tabou ou bien si le crit`ere d’aspiration ´elimine
son statut tabou. V?est l’ensemble de tous les mouvements admissibles de N(P). Dans une it´eration,
on choisit le meilleur mouvement P0de V?et la liste tabou est actualis´ee avec la valeur de W(P), mˆeme
si W(P0)>W(P). L’algorithme fait des it´erations jusqu’`a un nombre maximal d’it´erations donn´e par
l’utilisateur.