MultiObjectiveSteepestDescentHillClimberMutation#
- class pybrops.opt.algo.pymoo_addon.MultiObjectiveSteepestDescentHillClimberMutation(setspace, p_hillclimb, **kwargs)[source]#
Bases:
Mutation
Perform a memetic subset exchange mutation.
Constructor for SubsetMutation.
- Parameters:
kwargs (dict) – Additional keyword arguments used for cooperative inheritance.
Methods
Perform steepest descent hillclimber for subset chromosomes
get_prob_var
Hillclimb mutation for a single individual.
Attributes
Set space from which to sample elements.
- __call__(problem, elem, *args, to_numpy=False, **kwargs)#
Call self as a function.
- do(problem, pop, inplace=True, **kwargs)[source]#
Perform steepest descent hillclimber for subset chromosomes
- Parameters:
problem (pymoo.core.problem.Problem) – An optimization problem.
pop (pymoo.core.population.Population) – A population of individuals to mutate.
inplace (bool) – Whether to modify a population in-place.
- Returns:
out – A mutated population.
- Return type:
pymoo.core.population.Population
- hillclimb(problem, indiv, *args, **kwargs)[source]#
Hillclimb mutation for a single individual. For a single individual, pick a single allele locus and mutate it with all alternative alleles. Remove individuals that are dominated. Return a population of individuals that are non-dominated.
- Parameters:
problem (pymoo.core.problem.Problem) – Problem object.
indiv (pymoo.core.individual.Individual) – A single individual to mutate via a hillclimb.
- Returns:
out – Chromosome of a single individual.
- Return type:
pymoo.core.population.Population
- property setspace: ndarray#
Set space from which to sample elements.