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])
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))