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):
- 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*).
- 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§
- Moead
Config - Configuration for the MOEA/D algorithm.
- Moead
Result - Result returned by
moead.
Functions§
- build_
neighborhood - Build neighbourhood table.
- generate_
weight_ vectors - Generate approximately
target_nuniformly distributed weight vectors on the unit simplex forn_objobjectives. - moead
- Run MOEA/D on a multi-objective optimisation problem.
- tchebycheff_
scalarization - Tchebycheff (Chebyshev) scalarization.