Esempio n. 1
0
    def __init__(self, param_bounds):
        """
        Initialise the optimization environment
        :param param_bounds: Legal parameter bounds
        """
        super(_GAOptimizer, self).__init__()

        self.param_bounds = param_bounds
        self.num_params = len(self.param_bounds)
        self.optimizer = GeneticAlgorithm.Optimizer()
        self.optimizer.timeout = None
        self.optimizer.hall_of_fame_size = 5
        self.optimizer.max_iterations = 5
        self.optimizer.log = self.__log
        self.optimizer.elite_count = 1
        self.optimizer.population_size = 5

        self.optimizer.initialization = GeneticAlgorithm.UniformInitialisation(
        )
        self.optimizer.selection = GeneticAlgorithm.TournamentSelection()
        self.optimizer.selection.tournament_ratio = 0.1
        self.optimizer.selection.selection_ratio = 0.75
        self.optimizer.crossover = GeneticAlgorithm.OnePointCrossover()
        self.optimizer.mutation = GeneticAlgorithm.GaussianMutation()
        self.optimizer.mutation.point_mutation_ratio = 0.15
        self.optimizer.mutation.mu = 0.0
        self.optimizer.mutation.sigma = 0.01