Bonjour je cherche desesperement a implementer mon algorithme tabou recherche tabou en r mais je ne vois pas comment commence et surtout determiner un voisinage d'espace
voici l'algo
Algorithme taboo avec du pseudo code
1-GÈnÈration de la premiere solution
x0 est generÈ alÈatoirement on se fixe un nombre arbitraire par exemple 10n solution
dans omega (espace des solutions) suivant une loi uniforme
x0=runif
2-GÈnÈration des nc.nx vecteur alÈatoire
on introduit la structure d'un voisinage d'un espace continu ommega par des partions
disjointe en cellule en divisant les intervales autour des points x1,x2,....,xn en
p1,p2,.....,pn partie d'ou P=(p1,p2,.....,pn) determinant une unique partition de omega
en celule a chaque iteration on selectionne nx point d'une distribution uniforme
sur nc cellule alÈatoire
3- conditions taboo
a chaque itÈration on produit une solution y appartenant dans une region taboo
d l'espace omega des solutions a ce stade nous somme a l'iteration l taille de la liste
taboo supposons xk solution a l'etape l
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 xk<-xk+1 pseudo code s <- s0 smeilleur <- s Listtabou <- [] while (not stoppingCondition()) Listcandidat<- [] meilleurCandidat <- null for (sCandidat in sNeighborhood) if ( (not Listtabou.contains(sCandidat)) and (fitness(sCandidat) > fitness(meilleurCandidat)) ) meilleurCandidat <- sCandidat end end s <- meilleurCandidat if (fitness(meilleurCandidat) > fitness(smeilleur)) smeilleur <- meilleurCandidat end Listtabou.push(meilleurCandidat); if (Listtabou.size > maxTabuSize) Listtabou.removeFirst() end end return smeilleur
4- terminaison de l'algorithme
l’algorithme se termine quand au bout de N itération l’algorithme ne trouve pas de meilleurs candidat
merci d'avance
Partager