Home \ Multiobjective Optimization \ MOEA/D in MATLAB


One of the classic approaches to deal with multi-objective optimization problems, is decomposition, which means that a multi-objective is decomposed to several (theoretically infinite) single-objective optimization problems. Decomposed objective functions, can be defined using several methods, like weighted sum of objectives and distance (or norm) of difference vector of objectives and a predefined ideal point in the objective space. However, these classic methods have limited performance for the real-world multi-objective optimization problems and usually the full set of Pareto solutions cannot be discovered.

Multi-Objective Evolutionary Algorithm based on Decomposition (MOEA/D) is an evolutionary algorithm which decomposes the multi-objective optimization problems to several single-objective sub-problems. Each sub-problem has its own best solution ever found which is determined comparing all of solutions found by algorithm. MOEA/D is proposed by Qingfu Zhang and Hui Li, in 2007 (here).

In this post, we are going to share with you, the open source MATLAB implementation of MOEA/D. The algorithm is implemented in a structured manner and if you are familiar with MATLAB programming language, you will find it easy, to use the codes in your research projects.


The download link of this project follows.

Implementation of Multi-Objective Evolutionary Algorithm based on Decomposition (MOEA/D) in MATLAB


Citing This Work

If you wish, you can cite this content as follows.

Cite as:

Mostapha Kalami Heris, MOEA/D in MATLAB (URL: https://yarpiz.com/95/ypea124-moead), Yarpiz, 2015.


  1. First I would like to thank you for sharing this information which is very useful. As a researcher in production scheduling, I am very much concerned with the application of MOEA algorithms.
    I have a simple question, are the meta-heuristics developed according to the very primitive version? Have the origin paper where the algorithm is first proposed being mentioned?
    Thank you so much.

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.


Check Also

Strength Pareto Evolutionary Algorithm 2 (SPEA2) in MATLAB

Strength Pareto Evolutionary Algorithm 2 (SPEA2) is an extended version of SPEA multi-objective evolutionary optimization ...