Skip to main content

OBCE

Module: opytimizer.optimizers.single_objective.evolutionary.ce

Opposition-Based Chaotic Evolution — Single-Objective (CEcOB variant).

Integrates Opposition-Based Learning (OBL) into the conventional CE algorithm. For each individual, generates a chaotic vector and its opposite vector, then keeps the best among the three candidates (target, chaotic, chaotic-OB).

References: T. Li and Y. Pei, "Opposition-based chaotic evolution for optimization," Scientific Reports, 15, 22718 (2025).

Constructor​

OBCE(params: Optional[Dict[str, Any]] = None, DR: float = 0.5, CR: float = 0.9, chaotic_system: Literal['logistic', 'gauss', 'tent', 'henon'] = 'logistic')

Parameters​

ParameterTypeDefaultDescription
paramsOptional[Dict[str, Any]]None—
DRfloat0.5—
CRfloat0.9—
chaotic_systemLiteral['logistic', 'gauss', 'tent', 'henon']'logistic'—

Methods​

compile​

compile(self, space: opytimizer.core.space._SingleObjectiveSpace)

Compiles additional information that is used by this optimizer.

This method is called before the optimization procedure and makes sure that the additional variable is available as a property.

Parameters​

ParameterTypeDefaultDescription
spaceopytimizer.core.space._SingleObjectiveSpace—

evaluate​

evaluate(self, space: opytimizer.core.space._SingleObjectiveSpace, function: opytimizer.core.function.Function)

Evaluates the search space according to the objective function.

If you need a specific evaluate method, please re-implement it on child's class.

Also, note that function only accept arguments that are found on Opytimizer class.

Parameters​

ParameterTypeDefaultDescription
spaceopytimizer.core.space._SingleObjectiveSpaceA Space object that will be evaluated.
functionopytimizer.core.function.FunctionA Function object serving as an objective function.

update​

update(self, space: opytimizer.core.space._SingleObjectiveSpace, function: opytimizer.core.function.Function)

Updates the agents' position array.

As each child has a different procedure of update, you will need to implement it directly on its class.

Parameters​

ParameterTypeDefaultDescription
spaceopytimizer.core.space._SingleObjectiveSpace—
functionopytimizer.core.function.Function—