Skip to main content

MOEAD

Module: opytimizer.optimizers.multi_objective.evolutionary.moead

MOEAD class, inherited from Optimizer.

References: Zhang, Q., & Li, H. (2007). MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on evolutionary computation, 11(6), 712-731.

Constructor​

MOEAD(params: Optional[Dict[str, Any]] = None, crossover_operator=None, mutation_operator=None, weight_vectors=None, neighborhood_size: int = None, decomposition_method: opytimizer.math.aggregation._BaseAggregation = None) -> None

Parameters​

ParameterTypeDefaultDescription
paramsOptional[Dict[str, Any]]None—
crossover_operatorNone—
mutation_operatorNone—
weight_vectorsNone—
neighborhood_sizeintNone—
decomposition_methodopytimizer.math.aggregation._BaseAggregationNone—

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) -> None

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) -> None

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—