Esempio n. 1
0
	def create_first_population(self):
		print "create first population"
		# création du graphe
		self.M=Chargement.EuclideanDistMatrix("./dev/data/n10-2")
		self.nb_nodes = len(self.M)
		F=MSTKruskal.MinimumSpanningTree(self.M)	
		self.graph = MSTKruskal.convertToAdjacent(F, self.M)
		# création de la première population
		adLN = MSTKruskal.convertToAdjacentN(F)
		Lev = Chargement.getLevels(adLN)
		#for cycle in Chargement.getCycles(Lev, adLN, 3):
		#    self.pop.append([int(i) for i in cycle])
		self.pop = [Chargement.getCycles(Lev, adLN, 3)]
		print self.pop
		print type(self.pop), type(self.pop[0][0])
Esempio n. 2
0
	
	M=EuclideanDistMatrix("./dev/data/n40-1")
	print("=====================")
	print("Matrice de couts")
	print("=====================")
	print(M)
	
	print("=====================")
	print("ACM sous forme de liste d'aretes")
	print("=====================")
	F=K.MinimumSpanningTree(M)
	print(F)

	print("=====================")
	print("Liste d'adjacence")
	print("=====================")
	adL=K.convertToAdjacentN(F)
	print(adL)
	
	print("=====================")
	print("Liste des Niveaux de l'ACM: par defaut, le noeud 0 est la racine")
	print("=====================")
	Lev=getLevels(adL)
	print(Lev)
	
	print("=====================")
	k=5
	print("Solution finale: liste des cycles de longueur <=",k)
	print("=====================")
	print(getCycles(Lev,adL,k))