Multi-Objective Optimizaion using Evolutionary Algorithm

Examples of Multi-Objective Optimization using evolutionary algorithm - NSGA-II
Updated 19 Jul 2009

View License

Conventional optimization algorithms using linear and non-linear programming sometimes have difficulty in finding the global optima or in case of multi-objective optimization, the pareto front. A lot of research has now been directed towards evolutionary algorithms (genetic algorithm, particle swarm optimization etc) to solve multi objective optimization problems.

Here in this example a famous evolutionary algorithm, NSGA-II is used to solve two multi-objective optimization problems. Both problems have a continuous decision variable space while the objective space may or may not be continuous. The first example, MOP1, has two objective functions and six decision variables, while the second example, MOP2, has three objective functions and twelve decision variables.

nsga_2.m is the main function (in fact it is mainly a script). Kindly read the accompanied pdf file and also published M-files.

Since there has been a lot of interest in evolutionary algorithms, I am sharing my homework files from last semester. Feel free to edit them according to your needs and feel free to post your comments/suggestion/critisim. I am more than happy to hear from your.

For more information on NSGA-II visit Kanpur Genetic Algorithm Laboratory at

Effective January 30, 2009 this code is released under GPLv3. Feel free to use, modify and distribute the derivatives. But do remember to contribute the code back to the community.

Effective July 17, 2009 this code is re-licensed under BSD license to comply with Mathworks policy on submissions to MATLAB central.

Note: I no longer have the resources to maintain this code.

Cite As

Aravind Seshadri (2024). Multi-Objective Optimizaion using Evolutionary Algorithm (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP1
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Changed the description

Modified the license to BSD

Released the code under GPLv3