Skip to main content

HybridHyperHeuristic

Module: opytimizer.hyperheuristics.hybrid.hybrid_hyperheuristic

A hybrid hyperheuristic that combines selection and adaptation approaches.

This hyperheuristic implements a hybrid approach where both optimizer selection and parameter adaptation are used together to improve performance.

Constructor​

HybridHyperHeuristic(optimizers: Optional[List[Any]] = None, selection_strategy: Optional[opytimizer.hyperheuristics.selection_strategy.SelectionStrategy] = None, adaptation_mechanism: Optional[opytimizer.hyperheuristics.adaptation_mechanism.AdaptationMechanism] = None, performance_metric=None, selection_interval: int = 1, adaptation_interval: int = 5) -> None

Parameters​

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

Methods​

adapt_optimizer​

adapt_optimizer(self, optimizer: Any) -> None

Adapt the parameters of an optimizer.

Parameters​

ParameterTypeDefaultDescription
optimizerAnyOptimizer to be adapted.

get_hybrid_statistics​

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

Get comprehensive statistics about the hybrid hyperheuristic.

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

select_optimizer​

select_optimizer(self, space: opytimizer.core.space._Space, function: opytimizer.core.function.Function) -> Any

Select optimizer using the configured selection strategy.

Returns: (Any): Selected optimizer.

Parameters​

ParameterTypeDefaultDescription
spaceopytimizer.core.space._SpaceCurrent search space.
functionopytimizer.core.function.FunctionObjective function.

update​

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

Update the search space, potentially select a new optimizer, and adapt 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).