Esempio n. 1
0
    def Evolution(self, MRate, CRate, nGenerations):

        self.MRate = MRate
        self.CRate = CRate
        self.nGenerations = nGenerations

        # creates the initial population
        pop = Population(self.size_pop)
        pop.create_new(self.Matrix_inf, self.size_pop, self.nGenes, True, self.IniCoordinate, self.FinalCoordinate)

        fittest = pop.Fittest(self.size_pop)

        print("Path: ", fittest.genes, "Cost:", fittest.cost, "Fitness:", fittest.fitness)
        self.resultado_fitness.append(fittest.fitness)
        self.resultado_generation.append(0)

        ##evolves the initial population in n generations
        for i in range(1,self.nGenerations):
            pop = self.create_new_generation(pop)
            fittest = pop.Fittest(self.size_pop)
            print("Path: ", fittest.genes, "Cost:", fittest.cost,"Fitness:", fittest.fitness)

            self.resultado_fitness.append(fittest.fitness)
            self.resultado_generation.append(i)

        fittest = pop.Fittest(self.size_pop)

        ##print solution
        print("\nSolution:")
        print("Path: ", fittest.genes, "Cost:", fittest.cost,"Fitness:", fittest.fitness)
        self.fittest_cost = fittest.cost
Esempio n. 2
0
 def selection(self, pop): #Torneio
     fitpop = Population(self.size_pop)
     quantity = random.randint(1, self.size_pop)
     for i in range(quantity):
         add = random.randint(0, self.size_pop - 1)
         fitpop.chromosomes.append(pop.chromosomes[add])
     fit = fitpop.Fittest(quantity)
     return (fit)