metaheuristic_designer.strategies.single_solution_strategy module#

Single solution abstract strategy

class SingleSolutionStrategy(initializer, operator=None, survivor_sel=None, name='HillClimb', rng=None, **kwargs)[source]#

Bases: SearchStrategy

No parent selection method exists, we only have one solution at each given time

Parameters:
initializerInitializer

Population initializer (typically creates a single individual).

operatorOperator, optional

Perturbation operator. Defaults to NullOperator.

survivor_selSurvivorSelection, optional

Survivor selection method; defaults to "hill_climb".

namestr, optional

Display name (default "HillClimb").

rngRNGLike, optional

Random number generator.

**kwargs

Forwarded to SearchStrategy.

Attributes:
params

Access parameter values by attribute-style lookup.

population_size

Gets the amount of individuals in the population.

Parameters:

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:

Population

Parameters:
populationPopulation

Population of solutions in which to perform the operators.

Returns:
Population

Next population after performing all the steps in the iteration.

Parameters: