Skip to main content

MOCE

Module: opytimizer.optimizers.multi_objective.evolutionary.moce

Multi-Objective Chaotic Evolution (MOCE).

Uses chaotic ergodicity combined with non-dominated sorting and crowding distance selection (NSGA-II style) for multi-objective optimization.

References: Y. Pei, "Chaotic Evolution Algorithm with Elite Strategy in Single-objective and Multi-objective Optimization," 2020 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Toronto, Canada, 2020, pp. 579-584.

Constructor​

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

Parameters​

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

Methods​

compile​

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

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._MultiObjectiveSpace—

evaluate​

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

Evaluates the search space according to the objective function.

Parameters​

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

update​

update(self, space: opytimizer.core.space._MultiObjectiveSpace, 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._MultiObjectiveSpace—
functionopytimizer.core.function.Function—