Exemple #1
0
    def __init__(self,
                 problem: Problem,
                 initial_population_size: int,
                 initial_inidividual_energy: float,
                 reproduction_threshold: float,
                 energy_exchange_operator: EnergyExchange,
                 death_operator: Death,
                 termination_criterion: TerminationCriterion,
                 neighbours_operator: Neighbours,
                 reproduction_operator: Reproduction,
                 population_generator: Generator = RandomGenerator(),
                 population_evaluator: Evaluator = SequentialEvaluator()):

        super(Emas, self).__init__()
        self.reproduction_operator = reproduction_operator
        self.reproduction_threshold = reproduction_threshold
        self.initial_inidividual_energy = initial_inidividual_energy
        self.neighbours_operator = neighbours_operator
        self.problem = problem
        self.initial_population_size = initial_population_size
        self.population_generator = population_generator
        self.population_evaluator = population_evaluator
        self.termination_criterion = termination_criterion
        self.observable.register(termination_criterion)
        self.death_operator = death_operator
        self.energy_exchange_operator = energy_exchange_operator
Exemple #2
0
    def __init__(
            self,
            problem: Problem,
            mu: int,
            lambda_: int,
            elitist: bool,
            mutation: Mutation,
            termination_criterion: TerminationCriterion,
            population_generator: Generator = RandomGenerator(),
            population_evaluator: Evaluator = SequentialEvaluator(),
    ):
        super(EvolutionStrategy,
              self).__init__(problem=problem,
                             population_size=mu,
                             offspring_population_size=lambda_)
        self.mu = mu
        self.lambda_ = lambda_
        self.elitist = elitist

        self.mutation_operator = mutation

        self.population_generator = population_generator
        self.population_evaluator = population_evaluator

        self.termination_criterion = termination_criterion
        self.observable.register(termination_criterion)
 def __init__(self,
              problem: Problem,
              mu: int,
              lambda_: int,
              elitist: bool,
              mutation: Mutation,
              termination_criterion: TerminationCriterion,
              population_generator: Generator = RandomGenerator(),
              population_evaluator: Evaluator = SequentialEvaluator()):
     super(EvolutionStrategyWithHistory,
           self).__init__(problem=problem,
                          mu=mu,
                          lambda_=lambda_,
                          elitist=elitist,
                          mutation=mutation,
                          termination_criterion=termination_criterion,
                          population_generator=population_generator,
                          population_evaluator=population_evaluator)
     self.history = []
    def load_initial_solutions(self, warm_startup_info: Mapping,
                               problem: Problem) -> None:
        self.warm_startup_info = warm_startup_info
        if warm_startup_info and 'paths' in self.warm_startup_info.keys(
        ) and len(self.warm_startup_info['paths']) > 0:
            from jmetal.util.generator import InjectorGenerator
            one_sol_variables = self.warm_startup_info['paths'][0]
            solution = PermutationSolution(
                number_of_variables=problem.number_of_variables,
                number_of_objectives=problem.number_of_objectives)
            solution.variables = one_sol_variables
            self._initial_solutions.append(problem.evaluate(solution))

            for one_sol_variables in self.warm_startup_info['paths'][1:]:
                solution = copy(solution)
                solution.variables = one_sol_variables
                self._initial_solutions.append(problem.evaluate(solution))
            generator = InjectorGenerator(solutions=self._initial_solutions)

        else:
            from jmetal.util.generator import RandomGenerator
            generator = RandomGenerator()
        self._solution_generator = generator
    def __init__(self,
                 problem: Problem,
                 population_size: int,
                 offspring_population_size: int,
                 mutation: Mutation,
                 cloning_param: float,
                 termination_criterion: TerminationCriterion,
                 population_generator: Generator = RandomGenerator(),
                 population_evaluator: Evaluator = SequentialEvaluator()):
        super(CloneAlg, self).__init__(
            problem=problem,
            population_size=population_size,
            offspring_population_size=offspring_population_size)
        self.population_size = population_size
        self.offspring_population_size = offspring_population_size

        self.mutation_operator = mutation
        self.cloning_param = cloning_param

        self.population_generator = population_generator
        self.population_evaluator = population_evaluator

        self.termination_criterion = termination_criterion
        self.observable.register(termination_criterion)
    def __init__(self,
                 problem: Problem,
                 strategies_params: List[StrategyParams],
                 termination_criterion: TerminationCriterion,
                 population_generator: Generator = RandomGenerator(),
                 population_evaluator: Evaluator = SequentialEvaluator()):
        super(SocioCognitiveEvolutionStrategy, self).__init__()

        self.strategies = [EvolutionStrategy(problem=problem,
        mu=params.mu,
        lambda_=params.lambda_,
        elitist=params.elitist,
        mutation=CognitivePolynomialMutation(probability=1.0 / problem.number_of_variables, look_at_others_probability=params.look_at_others_probability),
        termination_criterion=termination_criterion) for params in strategies_params]

        self.problem = problem

        self.termination_criterion = termination_criterion
        self.observable.register(termination_criterion)

        self.population_generator = population_generator
        self.population_evaluator = population_evaluator

        self.history = []
Exemple #7
0
 def default_generator(self):
     return RandomGenerator()