metaheuristic_designer.strategies.population_based_strategy module#
Strategy where the population size remains constant, no explicit parent selection.
- class PopulationBasedStrategy(initializer, operator=None, parent_sel=None, survivor_sel=None, name='Static Population Evolution', rng=None, **kwargs)[source]#
Bases:
SearchStrategyPopulation-based strategy with constant size and no parent selection.
The entire population is perturbed each generation. By default, parent selection is the identity (all individuals are used) and survivor selection is generational (offspring replace parents).
- Parameters:
- initializerInitializer
Population initializer.
- operatorOperator
Perturbation operator.
- parent_selParentSelection, optional
Parent selection; defaults to identity (keep all).
- survivor_selSurvivorSelection, optional
Survivor selection; defaults to generational replacement.
- namestr, optional
Display name (default
"Static Population Evolution").- rngRNGLike, optional
Random number generator.
- **kwargs
Forwarded to
SearchStrategy.
- Attributes:
paramsAccess parameter values by attribute-style lookup.
population_sizeGets the amount of individuals in the population.
- Parameters:
initializer (Initializer)
operator (Operator)
parent_sel (Optional[ParentSelection])
survivor_sel (Optional[SurvivorSelection])
name (str)
rng (Optional[RNGLike])
Methods
extra_report()Hook called at the end of the optimization (intended for subclasses).
extra_step_info()Hook called after each generation (intended for subclasses).
gather_parameters()Collect the current parameters from all sub-components.
get_params()Return a copy of the current parameter dictionary.
get_state()Gets the current state of the search strategy as a dictionary.
initialize(objfunc)Initializes the optimization search strategy.
step(prev_population, objfunc)Performs a single iteration of the algorithm on a given population.
store_kwargs([progress])Store keyword arguments and evaluate them at the given progress.
update(progress)Advances the state of the search by one iteration.
update_kwargs([progress])Add or replace parameters and immediately evaluate them.
reset
- step(prev_population, objfunc)[source]#
Performs a single iteration of the algorithm on a given population.
- Return type:
- Parameters:
- populationPopulation
Population of solutions in which to perform the operators.
- Returns:
- Population
Next population after performing all the steps in the iteration.
- Parameters:
prev_population (Population)
objfunc (ObjectiveFunc)