Skip to main content

AdaptiveHyperHeuristic

Module: opytimizer.hyperheuristics.adaptive.adaptive_hyperheuristic

An adaptive hyperheuristic that adapts optimizer parameters based on performance feedback.

This hyperheuristic implements the adaptive approach where optimizer parameters are modified dynamically based on their performance history and the chosen adaptation mechanism.

Constructor​

AdaptiveHyperHeuristic(optimizers: Optional[List[Any]] = None, adaptation_mechanism: Optional[opytimizer.hyperheuristics.adaptation_mechanism.AdaptationMechanism] = None, performance_metric=None, adaptation_interval: int = 5) -> None

Parameters​

ParameterTypeDefaultDescription
optimizersOptional[List[Any]]None—
adaptation_mechanismOptional[opytimizer.hyperheuristics.adaptation_mechanism.AdaptationMechanism]None—
performance_metricNone—
adaptation_intervalint5—

Methods​

adapt_optimizer​

adapt_optimizer(self, optimizer: Any) -> None

Adapt the parameters of an optimizer.

Parameters​

ParameterTypeDefaultDescription
optimizerAnyOptimizer to be adapted.

get_adaptation_statistics​

get_adaptation_statistics(self) -> Dict[str, Any]

Get statistics about the adaptation mechanism.

Returns: (Dict[str, Any]): Dictionary containing adaptation statistics.

update​

update(self, space: opytimizer.core.space._Space, function: opytimizer.core.function.Function = None) -> None

Update the search space and potentially adapt optimizer parameters.

Parameters​

ParameterTypeDefaultDescription
spaceopytimizer.core.space._SpaceA Space object containing agents and update-related information.
functionopytimizer.core.function.FunctionNoneObjective function (optional, for optimizers that need it).