Skip to main content

Module moead

Module moead 

Source
Expand description

MOEA/D: Multi-Objective Evolutionary Algorithm based on Decomposition

Implements the algorithm by Zhang & Li (2007). The core idea is to decompose the multi-objective problem into N scalar sub-problems using weight vectors and to exploit neighbourhood relationships during evolution.

Algorithm outline (per generation):

  1. For each sub-problem i (weight vector λ_i): a. Choose mating partners from the neighbourhood B(i) of size T. b. Generate offspring y by differential evolution (DE/rand/1). c. Update ideal point z*. d. For each j ∈ B(i), replace x_j with y if g^te(y|λ_j,z*) ≤ g^te(x_j|λ_j,z*).
  2. Collect the final population as the Pareto-front approximation.

§References

  • Zhang, Q., & Li, H. (2007). MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE TEC, 11(6), 712–731.
  • Li, H., & Zhang, Q. (2009). Multiobjective optimization problems with complicated Pareto sets, MOEA/D and NSGA-II. IEEE TEC, 13(2), 284–302.

Structs§

MoeadConfig
Configuration for the MOEA/D algorithm.
MoeadResult
Result returned by moead.

Functions§

build_neighborhood
Build neighbourhood table.
generate_weight_vectors
Generate approximately target_n uniformly distributed weight vectors on the unit simplex for n_obj objectives.
moead
Run MOEA/D on a multi-objective optimisation problem.
tchebycheff_scalarization
Tchebycheff (Chebyshev) scalarization.