Multi-Objective Optimizaion using Evolutionary Algorithm
Updated 19 Jul 2009
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 http://www.iitk.ac.in/kangal/
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.
Aravind Seshadri (2023). Multi-Objective Optimizaion using Evolutionary Algorithm (https://www.mathworks.com/matlabcentral/fileexchange/10351-multi-objective-optimizaion-using-evolutionary-algorithm), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.