Ejemplo n.º 1
0
            parents_pool = [
                self.population[self.fps()]
                for i in range(self.population_size)
            ]
            random.shuffle(parents_pool)
            offsprings = self.generate_offsprings2(parents_pool=parents_pool)
            self.population = offsprings
            self.generation += 1
        return max(self.population,
                   key=lambda item: self.fitness_function(item))


if __name__ == '__main__':
    time1 = time.time()
    sql_manager = SqlManager(file="information.sqlite")
    sql_manager.create_database()
    for function in [one_max, peak, trap]:
        for max_gen in [100, 200, 300]:
            for problem_size in [10, 30, 50, 70, 100]:
                for pop_size in [50, 100, 200, 300]:
                    for i in range(10):
                        print(
                            "\n_________________________________________________"
                        )
                        print(
                            f"problem_size={problem_size}\npop_size={pop_size}\nmax_gen={max_gen}\nfitness ={function.__name__}"
                        )
                        sga = SGA(population_size=pop_size,
                                  problem_size=problem_size,
                                  fitness_function=function,
                                  max_gen=max_gen)