PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization [Educational Forum]

Ye TianRan ChengXing-yi ZhangYaochu Jin

article2017IEEE Computational Intelligence Magazine2,299 citationsIEEE Computational Intelligence Magazine Outstanding Paper Award

Presents PlatEMO, an open-source MATLAB platform equipped with over 50 algorithms and 100 test problems to standardize benchmarking and facilitate the development of evolutionary multi-objective optimization methods.

Listen

Real-world engineering, scientific, and operational problems often require optimizing multiple conflicting criteria simultaneously. While dozens of multi-objective evolutionary algorithms have been developed over recent decades, the research and practitioner community has lacked a comprehensive, accessible software environment to benchmark these algorithms or apply them to practical problems. Many existing algorithms lack publicly available code, and alternative toolkits frequently suffer from steep learning curves, minimal graphical interfaces, or fragmented architectures that hinder comparative evaluation.

The article demonstrates the design, architecture, and functional capabilities of PlatEMO, a unified, open-source MATLAB-based platform created to streamline the benchmarking, execution, and development of multi-objective evolutionary algorithms.

To establish an effective and standardized experimental framework, the developers built an object-oriented architecture centered on two core classes that decouple algorithms, benchmark problems, and genetic variation operators. The platform was evaluated and verified by implementing fifty well-established algorithmsranging from standard genetic algorithms to surrogate-assisted and large-scale optimization methodsalongside 110 standard benchmark problems across 16 test suites and multiple quantitative performance metrics. The software provides both a command-line interface for customized execution and an interactive graphical interface equipped with dedicated modules for performance visualization and automated statistical experimentation.

The platform integrates fifty published optimization algorithms, 110 benchmark test problems, and standard performance metrics into a single MATLAB environment. It incorporates an automated statistical testing framework that performs pairwise comparisons, applies significance tests, and exports fully formatted LaTeX and spreadsheet tables. The software integrates high-performance sorting routines that enhance execution efficiency compared to classical non-dominated sorting techniques. Additionally, it provides sampling algorithms capable of generating reference points across Pareto-optimal fronts with arbitrary objective counts to support precise performance scoring.

These capabilities significantly lower the barrier to executing rigorous computational benchmarks and deploying optimization methods to real-world tasks. Automating data collection, statistical significance testing, and result formatting reduces research overhead, mitigates human error in comparative studies, and shortens experimental timelines. The open modular architecture allows practitioners to incorporate custom problem definitions or proprietary algorithms without modifying base platform routines.

Organizations and researchers engaged in complex multi-criteria optimization should adopt the platform to standardize baseline comparisons and accelerate algorithm selection. When evaluating new optimization techniques, teams should utilize the automated batch experiment module to ensure statistically sound performance reporting. Future development efforts will expand the system to include specialized functional modules, such as dynamic optimization, preference-based selection, and noisy optimization environments.

Confidence in the system's architecture and performance is supported by rigorous unit testing, standardized code-reuse documentation, and alignment with established empirical standards. However, users should remain cautious regarding potential re-implementation discrepancies or undiscovered software bugs common to large-scale libraries. Continued community involvement and open-source updates are relied upon to validate implementations and extend support to emerging problem domains.

Cover for PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization [Educational Forum]

Abstract

Over the last three decades, a large number of evolutionary algorithms have been developed for solving multiobjective optimization problems. However, there lacks an up-to-date and comprehensive software platform for researchers to properly benchmark existing algorithms and for practitioners to apply selected algorithms to solve their real-world problems. The demand of such a common tool becomes even more urgent, when the source code of many proposed algorithms has not been made publicly available. To address these issues, we have developed a MATLAB platform for evolutionary multi-objective optimization in this paper, called PlatEMO, which includes more than 50 multi-objective evolutionary algorithms and more than 100 multi-objective test problems, along with several widely used performance indicators. With a user-friendly graphical user interface, PlatEMO enables users to easily compare several evolutionary algorithms at one time and collect statistical results in Excel or LaTeX files. More importantly, PlatEMO is completely open source, such that users are able to develop new algorithms on the basis of it. This paper introduces the main features of PlatEMO and illustrates how to use it for performing comparative experiments, embedding new algorithms, creating new test problems, and developing performance indicators. Source code of PlatEMO is now available at: this http URL.

Table of Contents

  • I Introduction
  • II Architecture of PlatEMO
  • III Running PlatEMO
  • III-A Running PlatEMO without GUI
  • III-B Running PlatEMO with GUI
  • IV Extending PlatEMO
  • IV-A Adding New Algorithms to PlatEMO
  • IV-B Adding New Problems to PlatEMO
  • IV-C Adding New Operators or Performance Indicators to PlatEMO
  • IV-D Adding Acceptable Parameters for New Functions
  • V Conclusion and Future Work
  • References

Knowls

  1. Knowl 1 — Core Architecture and Decoupled Interaction Model of PlatEMO

    model/method

    PlatEMO (MATLAB Platform for Evolutionary Multi-Objective Optimization) utilizes an object-oriented architecture designed around two central classes that decouple multi-objective evolutionary algorithms (MOEAs), benchmark problems (MOPs), and evolutionary operators:

    1. GLOBAL Class: Stores global optimization settings and execution environment parameters, including population size NN, objective count MM, decision variable dimension DD, maximum evaluation budget, lower/upper variable bounds (lower, upper), and handles to the active algorithm, problem, and variation operator functions. It provides core coordination methods:

      • Initialization(): Generates and evaluates a random initial population of candidate solutions.
      • Variation(Parents): Dispatches parent individuals to the active variation operator to create offspring.
      • NotTermination(Population): Verifies whether the evaluation budget is exhausted, manages progress tracking, and formats intermediate or final population outputs.
      • ParameterSet(...): Automatically parses and assigns algorithm- or problem-specific parameters.
    2. INDIVIDUAL Class: Represents individual candidate solutions. Once an INDIVIDUAL object is instantiated, its properties are read-only:

      • dec: Numerical array of decision variable values.
      • obj: Vector of objective function values computed by the active MOP.
      • con: Vector of constraint violation values.
      • add: Optional auxiliary property container for specialized algorithms (such as velocity vectors in particle swarm optimization).

    Decoupled Interaction Workflow: Algorithms, benchmark problems, and operators do not directly reference or invoke one another. When an MOEA generates new candidates, it invokes Global.Variation(Parents). This method calls the designated operator function, which calculates offspring decision variables and instantiates INDIVIDUAL objects. The INDIVIDUAL constructor automatically triggers objective and constraint evaluations using the active problem function in Global. This separation enables arbitrary modular combinations of algorithms, test problems, and operators without modifying source code.

  2. Knowl 2 — Standard MOEA Execution Flow in PlatEMO

    algorithm

    In PlatEMO, each multi-objective evolutionary algorithm (MOEA) is written as a standardized MATLAB function accepting a single GLOBAL object and running an evaluation-governed loop. The standard execution sequence, illustrated using the Non-dominated Sorting Genetic Algorithm II (NSGA-II), is structured as follows:

    Input: Global (GLOBAL object containing configuration parameters and function handles)
    Output: Final population of evaluated INDIVIDUAL objects
    Population = Global.Initialization()
    FrontNo = NDSort(Population.objs, inf)
    CrowdDis = CrowdingDistance(Population.objs, FrontNo)
    while Global.NotTermination(Population) do
        MatingPool = TournamentSelection(2, Global.N, FrontNo, -CrowdDis)
        Offspring = Global.Variation(Population(MatingPool))
        [Population, FrontNo, CrowdDis] = EnvironmentalSelection([Population, Offspring], Global.N)
    end while

    Operational Procedure:

    1. Initialization: Calling Global.Initialization() instantiates and evaluates an initial population of NN INDIVIDUAL objects according to the configured problem.
    2. Ranking and Crowding: Non-dominated sorting (NDSort) assigns Pareto front numbers (FrontNo), while crowding distance calculation (CrowdingDistance) measures crowding within each front.
    3. Termination Check: Global.NotTermination(Population) updates the cumulative evaluation count, refreshes GUI visualizations or trajectory logs, and returns false when the evaluation budget is exhausted.
    4. Mating and Offspring Generation: Binary tournament selection samples parents into MatingPool, and Global.Variation() applies the configured evolutionary operator.
    5. Environmental Selection: Combined parent and offspring solutions (2N2N) are truncated back to NN individuals based on Pareto front rank and diversity metric.
  3. Knowl 3 — Standard MOP Interface and Operation Modes in PlatEMO

    algorithm

    Benchmark multi-objective problems (MOPs) in PlatEMO follow a unified interface: varargout = ProblemFunction(Operation, Global, input). The function executes one of three independent modes determined by the string parameter Operation:

    Input: Operation (string: 'init', 'value', or 'PF'), Global (GLOBAL configuration object), input (data dependent on Operation)
    Output: varargout (cell array containing results)
    switch Operation do
        case 'init' do
            Global.M = default_M
            Global.D = default_D
            Global.lower = lower_bound_vector
            Global.upper = upper_bound_vector
            Global.operator = default_operator_handle
            PopDec = RandomMatrix(input, Global.D) within bounds
            varargout = {PopDec}
        case 'value' do
            PopDec = input
            PopObj = EvaluateObjectives(PopDec, Global.M)
            PopCon = EvaluateConstraints(PopDec)
            varargout = {PopDec, PopObj, PopCon}
        case 'PF' do
            f = SampleParetoFrontPoints(input, Global.M)
            varargout = {f}
    end switch

    Mode Definitions:

    1. 'init' (Initialization): Sets default problem dimensionality (objective count MM, variable dimension DD), lower and upper variable bounds (Global.lower, Global.upper), and the default variation operator. It creates a random decision variable matrix PopDec of size N×DN \times D (where N=inputN = \text{input}) and returns {PopDec}.
    2. 'value' (Objective Evaluation): Takes an N×DN \times D matrix of decision variables as input and computes the N×MN \times M objective matrix PopObj and constraint violation matrix PopCon (empty if unconstrained), returning {PopDec, PopObj, PopCon}.
    3. 'PF' (Reference Pareto Front Sampling): Generates input uniformly distributed reference points across the true Pareto front (PF) for performance metric calculations, returning {f}.
  4. Knowl 4 — Dimension-Adaptive Non-Dominated Sorting Architecture

    model/method

    To minimize the computational bottleneck of non-dominated sorting in evolutionary multi-objective optimization, PlatEMO incorporates a dimension-adaptive sorting strategy:

    1. Low-Dimensional Problems (M3M \le 3): PlatEMO applies the Efficient Non-dominated Sort with Sequential Search (ENS-SS). Individuals are first sorted by their first objective value. Each candidate solution is sequentially compared only against established non-dominated fronts, avoiding exhaustive pairwise dominance checks and reducing execution time compared to standard O(MN2)O(M N^2) non-dominated sorting.

    2. High-Dimensional / Many-Objective Problems (M>3M > 3): For problems with more than three objectives, PlatEMO deploys Tree-based Efficient Non-dominated Sort (T-ENS). T-ENS structures non-dominated fronts in a hierarchical tree, enabling rapid pruning of non-dominating comparisons in high-dimensional spaces where the vast majority of solutions are mutually non-dominated.

    This automatic dimension-dependent dispatch ensures efficient population sorting across both multi-objective (M3M \le 3) and many-objective (M>3M > 3) regimes.

  5. Knowl 5 — Evolutionary Operator Interface and Offspring Generation in PlatEMO

    algorithm

    Variation operators in PlatEMO are standardized as functions taking a GLOBAL object and parent INDIVIDUAL array, executing recombination and mutation, and outputting newly instantiated INDIVIDUAL offspring.

    Input: Global (GLOBAL configuration object), Parent (array of N parent INDIVIDUAL objects)
    Output: Offspring (array of N offspring INDIVIDUAL objects)
    ParentDec = Parent.decs
    [N, D] = size(ParentDec)
    Parent1Dec = ParentDec[1 : N/2, :]
    Parent2Dec = ParentDec[N/2 + 1 : N, :]
    OffspringDec = Crossover(Parent1Dec, Parent2Dec)
    OffspringDec = Mutation(OffspringDec)
    Offspring = INDIVIDUAL(OffspringDec)

    Sequence of Execution:

    1. Decision Variable Extraction: Decision variables of all parent individuals are extracted as an N×DN \times D matrix via the property accessor Parent.decs.
    2. Recombination: The parent matrix is split into two halves (Parent1Dec and Parent2Dec). Crossover operators (e.g., Simulated Binary Crossover for real-valued representations, single-point crossover for binary representations) produce intermediate offspring decision variables.
    3. Mutation: A mutation operator (e.g., polynomial mutation for real variables, bitwise flipping for binary encodings) perturbs decision values according to user-configured distribution and probability parameters.
    4. Offspring Instantiation: Passing OffspringDec to INDIVIDUAL(OffspringDec) instantiates offspring objects and automatically invokes the active benchmark problem to calculate their objective and constraint vectors.
  6. Knowl 6 — Inverted Generational Distance (IGD) Calculation in PlatEMO

    algorithm

    Inverted Generational Distance (IGD) evaluates the convergence and diversity of an obtained solution set relative to reference points sampled on the true Pareto front:

    IGD(P,P)=1PvPminuPvu2\text{IGD}(P, P^*) = \frac{1}{|P^*|} \sum_{v \in P^*} \min_{u \in P} \|v - u\|_2

    where PP^* is the set of reference points on the true Pareto front, PP is the set of objective vectors generated by the algorithm, and vu2\|v - u\|_2 denotes the Euclidean distance between points vv and uu.

    In PlatEMO, IGD is computed via vectorized pairwise distance operations:

    Input: PopObj (N x M matrix of solution objective values), PF (K x M matrix of true Pareto front reference points)
    Output: score (scalar IGD metric value)
    DistanceMatrix = pdist2(PF, PopObj)
    MinDistances = min(DistanceMatrix, [], 2)
    score = mean(MinDistances)

    PlatEMO calls MATLAB's built-in pdist2(PF, PopObj) to compute the K×NK \times N distance matrix between all KK reference points and NN population objective vectors. Taking the minimum along each row yields the shortest distance from each reference point to the population, and calculating the arithmetic mean produces the final scalar IGD score.

  7. Knowl 7 — Header-Comment Parameter Specification and Dynamic GUI Integration

    model/method

    PlatEMO employs a comment-parsing protocol in MATLAB source files that enables automatic parameter binding, documentation rendering, and dynamic graphical user interface (GUI) control generation without hardcoded UI logic:

    1. Header-Comment Format:

      • Line 2 (Type Descriptor): Declares category and representation tags (e.g., % <operator> <real> or % <algorithm> <multiobjective>).
      • Line 3 (Documentation): Brief summary or source publication title.
      • Lines 4+ (Parameter Declarations): Defines parameter names, default numerical values, and textual descriptions delimited by ---: % paramName --- defaultValue --- parameterDescription For example: % proC --- 1 --- The probability of doing crossover.
    2. Dynamic Binding via Global.ParameterSet(): Inside the function, parameters are retrieved via: [param1, param2, ...] = Global.ParameterSet(default1, default2, ...)

      • If user-specified values are passed via command-line arguments (e.g., '-X_parameter', {val1, val2, ...}) or input boxes in the GUI, ParameterSet() assigns those custom values.
      • Otherwise, the provided default values are assigned.
    3. GUI Reflection: The PlatEMO GUI inspects function header comments, parses parameter names and default values, and dynamically generates interactive input fields on the user panel.

  8. Knowl 8 — Command-Line Parameter Interface and Run Modes in PlatEMO

    model/method

    PlatEMO provides a command-line interface via main('paramName', paramValue, ...) that enables scriptable, non-GUI execution with configurable parameters and output behaviors.

    Standard Configuration Parameters:

    • -algorithm: Function handle for the optimization algorithm (default: @NSGAII).
    • -problem: Function handle for the benchmark problem (default: @DTLZ2).
    • -operator: Function handle for the variation operator (default: @EAreal).
    • -N: Population size (positive integer; default: 100100).
    • -M: Number of objectives (positive integer; default: 33).
    • -D: Number of decision variables (positive integer; default: 1212).
    • -evaluation: Maximum fitness evaluation budget (positive integer; default: 1000010000).
    • -run: Run index or random seed identifier (positive integer; default: 11).
    • -mode: Execution and output mode (11, 22, or 33; default: 11).
    • -outputFcn: Function handle for custom operations when -mode is set to 33.
    • -X_parameter: Cell array specifying overrides for algorithm-, problem-, or operator-specific parameters associated with function XX.

    Execution Modes:

    • Mode 1 (Visual Display): Plots the final population distribution in objective and decision spaces, displays the true Pareto front, and tracks metric convergence trajectories.
    • Mode 2 (File Export): Suppresses graphical windows and saves the final population and statistics to a .mat file.
    • Mode 3 (Custom Processing): Calls the user-supplied function handle passed via -outputFcn upon completion.
  9. Knowl 9 — Comparative Feature Assessment of MOEA Software Platforms

    data/table

    PlatEMO is evaluated against five established multi-objective evolutionary optimization platforms (ParadisEO-MOEO, PISA, jMetal, OTL, and MOEA Framework) across supported algorithm paradigms, problem classes, usability, component configurability, and extendibility:

    MOEA Library Language Types of MOEAs Available Types of MOPs Available Usability Components Configurability Extendibility
    ParadisEO-MOEO C++ GA, SA, TS Multi-objective, Combinatorial Normal High Normal
    PISA C GA Multi-objective, Many-objective, Combinatorial Normal Low Normal
    jMetal Java GA, DE, PSO Multi-objective, Many-objective, Combinatorial Normal Normal Normal
    OTL C++, Python GA, DE Multi-objective, Many-objective, Combinatorial Low Normal Normal
    MOEA Framework Java GA, DE, PSO Multi-objective, Many-objective, Combinatorial Normal Normal Normal
    PlatEMO MATLAB GA, DE, PSO, MA, EDA, Surrogate-assisted Multi-objective, Many-objective, Combinatorial, Large-scale, Expensive High Normal High

    Algorithm abbreviations: GA = Genetic Algorithm, SA = Simulated Annealing, TS = Tabu Search, DE = Differential Evolution, PSO = Particle Swarm Optimization, MA = Memetic Algorithm, EDA = Estimation of Distribution Algorithm.

    Analysis: PlatEMO covers a broader set of algorithm categories (including surrogate-assisted MOEAs, estimation of distribution algorithms, and memetic algorithms) and problem formulations (including expensive and large-scale problems) than preceding libraries. Its graphical interface and automatic generation of LaTeX and Excel statistical tables provide high usability, while MATLAB matrix operations and decoupled classes provide high extendibility.

  10. Knowl 10 — Statistical IGD Comparison of KnEA and RVEA on DTLZ Benchmarks

    data/table

    The Inverted Generational Distance (IGD) performance (mean and standard deviation) of the Knee Point Driven Evolutionary Algorithm (KnEA) and the Reference Vector Guided Evolutionary Algorithm (RVEA) on DTLZ1 through DTLZ4 test problems across objective dimensions M[2,13]M \in [2, 13] and decision variable dimensions D[2,13]D \in [2, 13] illustrates PlatEMO's automated statistical benchmarking:

    Problem MM DD KnEA RVEA
    DTLZ1 2 2 7.5785e-2 (1.47e-1) + 4.6018e-1 (5.52e-1)
    3 3 1.8036e-1 (1.37e-1) \approx 4.2677e-1 (2.33e-1)
    4 4 2.6713e-1 (2.55e-1) \approx 7.3718e-1 (7.76e-1)
    DTLZ2 5 5 2.4033e-1 (1.14e-2) - 2.1394e-1 (3.65e-4)
    6 6 3.1285e-1 (9.17e-3) - 2.8203e-1 (9.06e-4)
    7 7 3.6826e-1 (7.51e-3) - 3.4342e-1 (9.55e-4)
    DTLZ3 8 8 1.3282e+2 (6.05e+1) - 9.2466e+0 (4.45e+0)
    9 9 2.0923e+2 (5.21e+1) - 1.4395e+1 (5.95e+0)
    10 10 2.6730e+2 (1.10e+2) - 1.2605e+1 (9.14e+0)
    DTLZ4 11 11 5.3976e-1 (7.19e-3) \approx 5.8265e-1 (3.49e-2)
    12 12 6.1240e-1 (5.45e-3) \approx 6.3605e-1 (2.85e-2)
    13 13 6.0250e-1 (2.03e-3) \approx 6.3893e-1 (2.54e-2)
    +//+/- /\approx 1 / 6 / 5

    Statistical notation: $+$, $-$, and $\approx$ indicate statistically significantly better, significantly worse, and comparable performance, respectively, relative to the control algorithm (NSGA-III) according to the Wilcoxon rank-sum test (p<0.05p < 0.05).

    Analysis:

    • On DTLZ1 (M=2M=2), KnEA achieves significantly lower IGD (7.5785×1027.5785 \times 10^{-2}) than both RVEA (4.6018×1014.6018 \times 10^{-1}) and the control.
    • On multimodal DTLZ3 across 8 to 10 objectives, RVEA demonstrates substantially better convergence (IGD values 9.2\approx 9.2 to 14.414.4) than KnEA (IGD values 132.8\approx 132.8 to 267.3267.3), reflecting the advantage of reference vector guidance in higher dimensions.
    • On DTLZ4, KnEA maintains consistent performance across 11 to 13 objectives with no significant degradation relative to the control algorithm.

Coverage note — Bibliographic cataloging of the 50 bundled MOEAs and 110 benchmark MOPs from prior literature was omitted as standalone knowls because they represent existing algorithms and problem formulations summarized from prior work rather than original conceptual contributions.

References

  1. 1.A. Mukhopadhyay, U. Maulik, S. Bandyopadhyay, and C. Coello Coello, –A survey of multiobjective evolutionary algorithms for data mining: Part I,— IEEE Transactions on Evolutionary Computation, vol. 18, no. 1, pp. 4–19, 2014.
  2. 2.J. Handl and J. Knowles, –An evolutionary approach to multiobjective clustering,— IEEE Transactions on Evolutionary Computation, vol. 11, no. 1, pp. 56–76, 2007.
  3. 3.B. Lazzerini, F. Marcelloni, and M. Vecchio, –A multi-objective evolutionary approach to image quality/compression trade-off in JPEG baseline algorithm,— Applied Soft Computing, vol. 10, no. 2, pp. 548–561, 2010.
  4. 4.F. Pettersson, N. Chakraborti, and H. Saxn, –A genetic algorithms based multi-objective neural net applied to noisy blast furnace data,— Applied Soft Computing, vol. 7, no. 1, pp. 387–397, 2007.
  5. 5.S. H. Yeung, K. F. Man, K. M. Luk, and C. H. Chan, –A trapeizform U-slot folded patch feed antenna design optimized with jumping genes evolutionary algorithm,— IEEE Transactions on Antennas and Propagation, vol. 56, no. 2, pp. 571–577, 2008.
  6. 6.A. Ponsich, A. L. Jaimes, and C. A. C. Coello, –A survey on multiobjective evolutionary algorithms for the solution of the portfolio optimization problem and other finance and economics applications,— IEEE Transactions on Evolutionary Computation, vol. 17, no. 3, pp. 321–344, 2013.
  7. 7.J. G. Herrero, A. Berlanga, and J. M. M. Lpez, –Effective evolutionary algorithms for many-specifications attainment: Application to air traffic control tracking filters,— IEEE Transactions on Evolutionary Computation, vol. 13, no. 1, pp. 151–168, 2009.
  8. 8.H. Ishibuchi and T. Murata, –Multiobjective genetic local search algorithm and its application to flowshop scheduling,— IEEE Transactions on Systems, Man, and Cybernetics-Part C, vol. 28, no. 3, pp. 392–403, 1998.
  9. 9.J. D. Schaffer, –Multiple objective optimization with vector evaluated genetic algorithms,— in Proceedings of the 1st International Conference on Genetic Algorithms, 1985, pp. 93–100.
  10. 10.C. M. Fonseca, P. J. Fleming et al., –Genetic algorithms for multiobjective optimization: Formulationdiscussion and generalization,— in Proceedings of the Fifth International Conference on Genetic Algorithms, vol. 93, 1993, pp. 416–423.
  11. 11.N. Srinivas and K. Deb, –Multiobjective optimization using nondominated sorting in genetic algorithms,— Evolutionary Computation, vol. 2, no. 3, pp. 221–248, 1995.
  12. 12.J. Horn, N. Nafpliotis, and D. E. Goldberg, –A niched pareto genetic algorithm for multiobjective optimization,— in Proceedings of the 1994 IEEE Congress on Evolutionary Computation, 1994, pp. 82–87.
  13. 13.K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, –A fast and elitist multi-objective genetic algorithm: NSGA-II,— IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182–197, 2002.
  14. 14.E. Zitzler, M. Laumanns, and L. Thiele, –SPEA2: Improving the strength Pareto evolutionary algorithm for multiobjective optimization,— in Proceedings of the Fifth Conference on Evolutionary Methods for Design, Optimization and Control with Applications to Industrial Problems, 2001, pp. 95–100.
  15. 15.D. W. Corne, N. R. Jerram, J. D. Knowles, and M. J. Oates, –PESA-II: Region-based selection in evolutionary multi-objective optimization,— in Proceedings of the 2001 Conference on Genetic and Evolutionary Computation, 2001, pp. 283–290.
  16. 16.T. Murata, H. Ishibuchi, and M. Gen, –Specification of genetic search directions in cellular multiobjective genetic algorithms,— in Proceedings of the First International Conference on Evolutionary Multi-Criterion Optimization, 2001, pp. 82–95.
  17. 17.Q. Zhang and H. Li, –MOEA/D: A multi-objective evolutionary algorithm based on decomposition,— IEEE Transactions on Evolutionary Computation, vol. 11, no. 6, pp. 712–731, 2007.
  18. 18.H. Li and Q. Zhang, –Multiobjective optimization problems with complicated Pareto sets, MOEA/D and NSGA-II,— IEEE Transactions on Evolutionary Computation, vol. 13, no. 2, pp. 284–302, 2009.
  19. 19.H.-L. Liu, F. Gu, and Q. Zhang, –Decomposition of a multiobjective optimization problem into a number of simple multiobjective subproblems,— IEEE Transactions on Evolutionary Computation, vol. 18, no. 3, pp. 450–455, 2014.
  20. 20.Y. Yuan, H. Xu, B. Wang, B. Zhang, and X. Yao, –Balancing convergence and diversity in decomposition-based many-objective optimizers,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 2, pp. 180–198, 2016.
  21. 21.H. Ishibuchi, Y. Setoguchi, H. Masuda, and Y. Nojima, –Performance of decomposition-based many-objective algorithms strongly depends on pareto front shapes,— IEEE Transactions on Evolutionary Computation, 2016.
  22. 22.A. Zhou, B.-Y. Qu, H. Li, S.-Z. Zhao, P. N. Suganthan, and Q. Zhang, –Multiobjective evolutionary algorithms: A survey of the state of the art,— Swarm and Evolutionary Computation, vol. 1, no. 1, pp. 32–49, 2011.
  23. 23.J. J. Durillo and A. J. Nebro, –jMetal: A java framework for multi-objective optimization,— Advances in Engineering Software, vol. 42, no. 10, pp. 760–771, 2011.
  24. 24.M. Lukasiewycz, M. Gla, F. Reimann, and J. Teich, –Opt4J: A modular framework for meta-heuristic optimization,— in Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, 2011, pp. 1723–1730.
  25. 25.R. Shen, J. Zheng, and M. Li, –A hybrid development platform for evolutionary multi-objective optimization,— in Proceedings of the 2015 IEEE Congress on Evolutionary Computation, 2015, pp. 1885–1892.
  26. 26.A. Liefooghe, M. Basseur, L. Jourdan, and E.-G. Talbi, –ParadisEO-MOEO: A framework for evolutionary multi-objective optimization,— in Proceedings of the International Conference on Evolutionary Multi-Criterion Optimization, 2007, pp. 386–400.
  27. 27.S. Bleuler, M. Laumanns, L. Thiele, and E. Zitzler, –PISA-a platform and programming language independent interface for search algorithms,— in Proceedings of the International Conference on Evolutionary Multi-Criterion Optimization, 2003, pp. 494–508.
  28. 28.C. Igel, V. Heidrich-Meisner, and T. Glasmachers, –Shark,— Journal of Machine Learning Research, no. 9, pp. 993–996, 2008.
  29. 29.D. Izzo, –PyGMO and PyKEP: Open source tools for massively parallel optimization in astrodynamics (the case of interplanetary trajectory optimization),— in Proceedings of the Fifth International Conference on Astrodynamics Tools and Techniques, 2012.
  30. 30.L. C. Bezerra, M. Lopez-Ibanez, and T. Stutzle, –Automatic component-wise design of multiobjective evolutionary algorithms,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 3, pp. 403–417, 2016.
  31. 31.J. Humeau, A. Liefooghe, E.-G. Talbi, and S. Verel, –Paradiseo-mo: From fitness landscape analysis to efficient local search algorithms,— Journal of Heuristics, vol. 19, no. 6, pp. 881–915, 2013.
  32. 32.K. Deb, M. Mohan, and S. Mishra, –Towards a quick computation of well-spread Pareto-optimal solutions,— in Proceedings of the 2003 International Conference on Evolutionary Multi-Criterion Optimization, 2003, pp. 222–236.
  33. 33.E. Zitzler and S. Kunzli, –Indicator-based selection in multiobjective search,— in Proceedings of the 8th International Conference on Parallel Problem Solving from Nature, 2004, pp. 832–842.
  34. 34.N. Beume, B. Naujoks, and M. Emmerich, –SMS-EMOA: Multiobjective selection based on dominated hypervolume,— European Journal of Operational Research, vol. 181, no. 3, pp. 1653–1669, 2007.
  35. 35.E. J. Hughes, –MSOPS-II: A general-purpose many-objective optimiser,— in Proceedings of the 2007 IEEE Congress on Evolutionary Computation, 2007, pp. 3944–3951.
  36. 36.L.-Y. Tseng and C. Chen, –Multiple trajectory search for unconstrained/constrained multi-objective optimization,— in Proceedings of the 2009 IEEE Congress on Evolutionary Computation, 2009, pp. 1951–1958.
  37. 37.M. Wagner and F. Neumann, –A fast approximation-guided evolutionary multi-objective algorithm,— in Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation, 2013, pp. 687–694.
  38. 38.B. Chen, W. Zeng, Y. Lin, and D. Zhang, –A new local search-based multiobjective optimization algorithm,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 1, pp. 50–73, 2015.
  39. 39.M. Li, S. Yang, and X. Liu, –Pareto or non-Pareto: Bi-criterion evolution in multi-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 5, pp. 645–665, 2015.
  40. 40.Y. Tian, X. Zhang, R. Cheng, and Y. Jin, –A multi-objective evolutionary algorithm based on an enhanced inverted generational distance metric,— in Proceedings of the 2016 IEEE Congress on Evolutionary Computation, 2016, pp. 5222–5229.
  41. 41.J. Bader and E. Zitzler, –HypE: An algorithm for fast hypervolume-based many-objective optimization,— Evolutionary Computation, vol. 19, no. 1, pp. 45–76, 2011.
  42. 42.R. Wang, R. C. Purshouse, and P. J. Fleming, –Preference-inspired coevolutionary algorithms for many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 17, no. 4, pp. 474–494, 2013.
  43. 43.S. Yang, M. Li, X. Liu, and J. Zheng, –A grid-based evolutionary algorithm for many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 17, no. 5, pp. 721–736, 2013.
  44. 44.K. Deb and H. Jain, –An evolutionary many-objective optimization algorithm using reference-point based non-dominated sorting approach, part I: Solving problems with box constraints,— IEEE Transactions on Evolutionary Computation, vol. 18, no. 4, pp. 577–601, 2014.
  45. 45.H. Jain and K. Deb, –An evolutionary many-objective optimization algorithm using reference-point based nondominated sorting approach, part II: Handling constraints and extending to an adaptive approach,— IEEE Transactions on Evolutionary Computation, vol. 18, no. 4, pp. 602–622, 2014.
  46. 46.M. Li, S. Yang, and X. Liu, –Shift-based density estimation for pareto-based algorithms in many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 18, no. 3, pp. 348–365, 2014.
  47. 47.M. Li, S. Yang, and X. Liu (2015), –Bi-goal evolution for many-objective optimization problems,— Artificial Intelligence, vol. 228, pp. 45–65, 2015.
  48. 48.M. Asafuddoula, T. Ray, and R. Sarker, –A decomposition based evolutionary algorithm for many objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 3, pp. 445–460, 2015.
  49. 49.X. Zhang, Y. Tian, and Y. Jin, –A knee point driven evolutionary algorithm for many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 6, pp. 761–776, 2015.
  50. 50.J. Cheng, G. Yen, and G. Zhang, –A many-objective evolutionary algorithm with enhanced mating and environmental selections,— IEEE Transactions on Evolutionary Computation, vol. 19, pp. 592–605, 2015.
  51. 51.K. Li, K. Deb, Q. Zhang, and S. Kwong, –Combining dominance and decomposition in evolutionary many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 5, pp. 694–716, 2015.
  52. 52.R. Hernandez Gomez and C. A. Coello Coello, –Improved metaheuristic based on the R2 indicator for many-objective optimization,— in Proceedings of the 2015 on Genetic and Evolutionary Computation Conference, 2015, pp. 679–686.
  53. 53.H. Wang, L. Jiao, and X. Yao, –Two Arch2: An improved two-archive algorithm for many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 4, pp. 524–541, 2015.
  54. 54.Z. He and G. G. Yen, –Many-objective evolutionary algorithm: Objective space reduction and diversity improvement,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 1, pp. 145–160, 2016.
  55. 55.Y. Liu, D. Gong, X. Sun, and Z. Yong, –Many-objective evolutionary optimization based on reference points,— Applied Soft Computing, vol. 50, pp. 344–355, 2017.
  56. 56.R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, –A reference vector guided evolutionary algorithm for many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 5, pp. 773–791, 2016.
  57. 57.S. Jiang and S. Yang, –A strength Pareto evolutionary algorithm based on reference direction for multi-objective and many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 21, no. 3, pp. 329–346, 2017.
  58. 58.Y. Yuan, H. Xu, B. Wang, and X. Yao, –A new dominance relation-based evolutionary algorithm for many-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 1, pp. 16–37, 2016.
  59. 59.X. Ma, F. Liu, Y. Qi, X. Wang, L. Li, L. Jiao, M. Yin, and M. Gong, –A multiobjective evolutionary algorithm based on decision variable analyses for multiobjective optimization problems with large-scale variables,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 2, pp. 275–298, 2016.
  60. 60.X. Zhang, Y. Tian, R. Cheng, and Y. Jin, –A decision variable clustering-based evolutionary algorithm for large-scale many-objective optimization,— IEEE Transactions on Evolutionary Computation, 2016, in press.
  61. 61.J. Molina, L. V. Santana, A. G. Hernandez-Dıaz, C. A. C. Coello, and R. Caballero, –g-dominance: Reference point based dominance for multiobjective metaheuristics,— European Journal of Operational Research, vol. 197, no. 2, pp. 685–692, 2009.
  62. 62.L. B. Said, S. Bechikh, and K. Ghedira, –The r-dominance: A new dominance relation for interactive evolutionary multicriteria decision making,— IEEE Transactions on Evolutionary Computation, vol. 14, no. 5, pp. 801–818, 2010.
  63. 63.X. Zhang, X. Jiang, and L. Zhang, –A weight vector based multi-objective optimization algorithm with preference,— Acta Electronica Sinica, vol. 44, no. 11, pp. 2639–2645, 2016.
  64. 64.S. Kukkonen and J. Lampinen, –GDE3: The third evolution step of generalized differential evolution,— in Proceedings of the 2005 IEEE Congress on Evolutionary Computation, vol. 1, 2005, pp. 443–450.
  65. 65.C. C. Coello and M. S. Lechuga, –MOPSO: A proposal for multiple objective particle swarm optimization,— in Proceedings of the 2002 IEEE Congress on Evolutionary Computation, vol. 2, 2002, pp. 1051–1056.
  66. 66.A. J. Nebro, J. J. Durillo, J. Garcia-Nieto, C. C. Coello, F. Luna, and E. Alba, –SMPSO: A new PSO-based metaheuristic for multi-objective optimization,— in Proceedings of the 2009 IEEE Symposium on Computational Intelligence in Multi-Criteria Decision-Making, 2009, pp. 66–73.
  67. 67.S. Zapotecas Martınez and C. A. Coello Coello, –A multi-objective particle swarm optimizer based on decomposition,— in Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, 2011, pp. 69–76.
  68. 68.J. D. Knowles and D. W. Corne, –M-PAES: A memetic algorithm for multiobjective optimization,— in Proceedings of the 2000 IEEE Congress on Evolutionary Computation, 2000, pp. 325–332.
  69. 69.C. Igel, N. Hansen, and S. Roth, –Covariance matrix adaptation for multi-objective optimization,— Evolutionary computation, vol. 15, no. 1, pp. 1–28, 2007.
  70. 70.Q. Zhang, A. Zhou, and Y. Jin, –RM-MEDA: A regularity model-based multiobjective estimation of distribution algorithm,— IEEE Transactions on Evolutionary Computation, vol. 12, no. 1, pp. 41–63, 2008.
  71. 71.R. Cheng, Y. Jin, K. Narukawa, and B. Sendhoff, –A multiobjective evolutionary algorithm using Gaussian process based inverse modeling,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 6, pp. 838–856, 2015.
  72. 72.J. Knowles, –ParEGO: A hybrid algorithm with on-line landscape approximation for expensive multiobjective optimization problems,— IEEE Transactions on Evolutionary Computation, vol. 10, no. 1, pp. 50–66, 2006.
  73. 73.W. Ponweiser, T. Wagner, D. Biermann, and M. Vincze, –Multiobjective optimization on a limited budget of evaluations using model-assisted S-metric selection,— in Proceedings of the 2008 International Conference on Parallel Problem Solving from Nature, 2008, pp. 784–794.
  74. 74.T. Chugh, Y. Jin, K. Miettinen, J. Hakanen, and K. Sindhya, –A surrogate-assisted reference vector guided evolutionary algorithm for computationally expensive many-objective optimization,— IEEE Transactions on Evolutionary Computation, 2016, in press.
  75. 75.E. Zitzler and L. Thiele, –Multiobjective evolutionary algorithms: A comparative case study and the strength pareto approach,— IEEE transactions on Evolutionary Computation, vol. 3, no. 4, pp. 257–271, 1999.
  76. 76.H. Ishibuchi, N. Akedo, and Y. Nojima, –Behavior of multiobjective evolutionary algorithms on many-objective knapsack problems,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 2, pp. 264–283, 2015.
  77. 77.K. D. E. Zitzler and L. Thiele, –Comparison of multiobjective evolutionary algorithms: Empirical results,— Evolutionary Computation, vol. 8, no. 2, pp. 173–195, 2000.
  78. 78.J. Knowles and D. Corne, –Instance generators and test suites for the multiobjective quadratic assignment problem,— in Proceedings of the 2003 International Conference on Evolutionary Multi-Criterion Optimization, 2003, pp. 295–310.
  79. 79.K. Deb, L. Thiele, M. Laumanns, and E. Zitzler, Scalable test problems for evolutionary multiobjective optimization. Springer London, 2005.
  80. 80.L. B. S. Huband, P. Hingston and L. While, –A review of multiobjective test problems and a scalable test problem toolkit,— IEEE Transactions on Evolutionary Computation, vol. 10, no. 5, pp. 477–506, 2006.
  81. 81.H. Ishibuchi, H. Masuda, and Y. Nojima, –Pareto fronts of many-objective degenerate test problems,— IEEE Transactions on Evolutionary Computation, vol. 20, no. 5, pp. 807–813, 2016.
  82. 82.Y. Zhang, M. Harman, and S. A. Mansouri, –The multi-objective next release problem,— in Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, 2007, pp. 1129–1137.
  83. 83.D. W. Corne and J. D. Knowles, –Techniques for highly multiobjective optimisation: Some nondominated points are better than others,— in Proceedings of the 9th Conference on Genetic and Evolutionary Computation, 2007, pp. 773–780.
  84. 84.M. Koppen and K. Yoshida, –Substitute distance assignments in NSGA-II for handling many-objective optimization problems,— in Proceedings of the 2007 International Conference on Evolutionary Multi-criterion Optimization, 2007, pp. 727–741.
  85. 85.Q. Zhang, A. Zhou, S. Zhao, P. N. Suganthan, W. Liu, and S. Tiwari, –Multiobjective optimization test instances for the CEC 2009 special session and competition,— University of Essex, Colchester, UK and Nanyang technological University, Tech. Rep. CES-487, Tech. Rep., 2008.
  86. 86.T. Okabe, Y. Jin, M. Olhofer, and B. Sendhoff, –On test functions for evolutionary multi-objective optimization,— in Proceedings of the 2004 International Conference on Parallel Problem Solving from Nature, 2004, pp. 792–802.
  87. 87.H. Li, Q. Zhang, and J. Deng, –Biased multiobjective optimization and decomposition algorithm,— IEEE Transactions on Cybernetics, vol. 47, no. 1, pp. 52–66, 2017.
  88. 88.R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, –Test problems for large-scale multiobjective and many-objective optimization,— IEEE Transactions on Cybernetics, 2016, in press.
  89. 89.D. A. V. Veldhuizen and G. B. Lamont, –Multiobjective evolutionary algorithm research: A history and analysis,— Department of Electrical and Computer Engineering. Graduate School of Engineering, Air Force Inst Technol, Wright Patterson, Tech. Rep. TR-98-03, Tech. Rep., 1998.
  90. 90.L. While, P. Hingston, L. Barone, and S. Huband, –A faster algorithm for calculating hypervolume,— IEEE Transactions on Evolutionary Computation, vol. 10, no. 1, pp. 29–38, 2006.
  91. 91.A. Zhou, Y. Jin, Q. Zhang, B. Sendhoff, and E. Tsang, –Combining model-based and genetics-based offspring generation for multi-objective optimization using a convergence criterion,— in Proceedings of the 2006 IEEE Congress on Evolutionary Computation, 2006, pp. 892–899.
  92. 92.H. Wang, Y. Jin, and X. Yao, –Diversity assessment in many-objective optimization,— IEEE Transactions on Cybernetics, vol. 47, no. 6, pp. 1510–1522, 2017.
  93. 93.J. R. Schott, –Fault tolerant design using single and multicriteria genetic algorithm optimization,— Master’s thesis, Cambridge: Massachusetts Institute of Technology, 1995.
  94. 94.Y. Wang, L. Wu, and X. Yuan, –Multi-objective self-adaptive differential evolution with elitist archive and crowding entropy-based diversity measure,— Soft Computing, vol. 14, no. 3, pp. 193–209, 2010.
  95. 95.Z. He and G. G. Yen, –Performance metric ensemble for multiobjective evolutionary algorithms,— IEEE Transactions on Evolutionary Computation, vol. 18, no. 1, pp. 131–144, 2014.
  96. 96.K. Deb, Multi-Objective Optimization Using Evolutionary Algorithms. New York: Wiley, 2001.
  97. 97.K. Deb and M. Goyal, –A combined genetic adaptive search (GeneAS) for engineering design,— Computer Science and Informatics, vol. 26, no. 4, pp. 30–45, 1996.
  98. 98.L. Davis, –Applying adaptive algorithms to epistatic domains,— in Proceedings of the International Joint Conference on Artificial Intelligence, vol. 1, 1985, pp. 162–164.
  99. 99.D. B. Fogel, –An evolutionary approach to the traveling salesman problem,— Biological Cybernetics, vol. 60, no. 2, pp. 139–144, 1988.
  100. 100.K. Price, R. M. Storn, and J. A. Lampinen, Differential evolution: A practical approach to global optimization. Springer Science & Business Media, 2006.
  101. 101.J. Kennedy, J. F. Kennedy, R. C. Eberhart, and Y. Shi, Swarm intelligence. Morgan Kaufmann, 2001.
  102. 102.X. Yao, Y. Liu, and G. Lin, –Evolutionary programming made faster,— IEEE Transactions on Evolutionary Computation, vol. 3, no. 2, pp. 82–102, 1999.
  103. 103.X. Zhang, Y. Tian, R. Cheng, and Y. Jin, –An efficient approach to non-dominated sorting for evolutionary multi-objective optimization,— IEEE Transactions on Evolutionary Computation, vol. 19, no. 2, pp. 201–213, 2015.
  104. 104.X. Zhang, Y. Tian, R. Cheng, and Y. Jin (2016), –Empirical analysis of a tree-based efficient non-dominated sorting approach for many-objective optimization,— in Proceedings of the 2016 IEEE Symposium Series on Computational Intelligence, 2016, pp. 1–8.
  105. 105.D. Brockhoff, –A bug in the multiobjective optimizer IBEA: Salutary lessons for code release and a performance re-assessment,— in Proceedings of the 2015 International Conference on Evolutionary Multi-Criterion Optimization, 2015, pp. 187–201.

Citation

MLA
Tian, Y., et al. “PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization”. IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87, 2017, http://arxiv.org/abs/1701.00879v1.
APA
Tian, Y., Cheng, R., Zhang, X., & Jin, Y. (2017). PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization. IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87. http://arxiv.org/abs/1701.00879v1
Chicago
Tian, Y., R. Cheng, X. Zhang, and Y. Jin. 2017. “PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization”. IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87. http://arxiv.org/abs/1701.00879v1.
Harvard
Tian, Y. et al. (2017) “PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization”, IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87 [Preprint]. Available at: http://arxiv.org/abs/1701.00879v1.
Vancouver
1. Tian Y, Cheng R, Zhang X, Jin Y (2017) PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization. IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87

BibTeX

@article{tian2017platemo,
  title = {PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization},
  author = {Tian, Ye and Cheng, Ran and Zhang, Xingyi and Jin, Yaochu},
  year = {2017},
  journal = {IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87},
  url = {http://arxiv.org/abs/1701.00879v1},
  eprint = {1701.00879}
}
Metadata:arXiv

Source Code

This paper has an official code repository available. Click below to access the source code.

View Repository

Access the Paper

This paper is available from its original source. Click below to access the PDF.

Open PDF