evox.algorithms.mo.moead
¶
Module Contents¶
Classes¶
Implementation of the Original MOEA/D algorithm. |
Functions¶
API¶
- class evox.algorithms.mo.moead.MOEAD(pop_size: int, n_objs: int, lb: torch.Tensor, ub: torch.Tensor, selection_op: Optional[Callable] = None, mutation_op: Optional[Callable] = None, crossover_op: Optional[Callable] = None, device: torch.device | None = None)[source]¶
Bases:
evox.core.Algorithm
Implementation of the Original MOEA/D algorithm.
- References:
[1] Q. Zhang and H. Li, “MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition,” IEEE Transactions on Evolutionary Computation, vol. 11, no. 6, pp. 712-731, 2007. Available: https://ieeexplore.ieee.org/document/4358754
Note
This implementation closely follows the original paper and reference code. It is not optimized for tensorized computation and may therefore be less efficient on GPU.
Initialization
Initializes the MOEA/D algorithm.
- Parameters:
pop_size – The size of the population.
n_objs – The number of objective functions in the optimization problem.
lb – The lower bounds for the decision variables (1D tensor).
ub – The upper bounds for the decision variables (1D tensor).
selection_op – The selection operation for evolutionary strategy (optional).
mutation_op – The mutation operation, defaults to
polynomial_mutation
if not provided (optional).crossover_op – The crossover operation, defaults to
simulated_binary_half
if not provided (optional).device – The device on which computations should run (optional). Defaults to PyTorch’s default device.