File Exchange

image thumbnail

MATLAB code for Constrained NSGA II - Dr.S.Baskar, S. Tamilselvi and P.R.Varshini

version (8.74 KB) by Tamilselvi Selvaraj
Constrained and Unconstrained Real coded NSGA II in MATLAB


Updated 24 Feb 2015

View License

A MATLAB code for NSGA II algorithm (Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and T. Meyarivan, " A Fast and Elitist Multi-objective Genetic Algorithm: NSGA-II", IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 6, No. 2, APRIL 2002.) is developed for 9 unconstrained and 5 constrained test problems in this file.

Cite As

Tamilselvi Selvaraj (2020). MATLAB code for Constrained NSGA II - Dr.S.Baskar, S. Tamilselvi and P.R.Varshini (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (38)

Kai Yang

qiuli huang


Yibiao Liu

Great implementation of NSGA II


Very useful and better than ‘gamultiobj’


great work!i can't run the code because i don't know how to input the test problem index, is there anyone who could tell me.
thanks very much!

Karan Jain

Great work!! I have one question. How can we modify the code to incorporate the situation when there are both real and integer decision variables? Please give some idea.


Great work!! It's really implementable and easy to follow. Additionally, I have come up with some ideas which suit to this code and can couple with binary decision variables. Actually, I have realised these in my own work which simultaneously addresses binary and decimal variables. So many thanks to the code writers, and anyone who is interested in the ideas is welcome to keep in touch with me.

Anjie Chen

Great work. I have one question though.
In the function 'NDS_CD_cons.m', for the parameter 0.5 of 'problem_type=0.5' , how can we get the original literature?
Thank you!

Anjie Chen


Great work. I have one question though.
Is it compulsory to have the objective function in mathematical formulation? I am doing airfoil optimization using NSGA-II. My objective functions are Lift to drag ratio and Coefficient of lift. I get these values from Xfoil. By taking those values from Xfoil, how to implement this program for my application? Thank you.

Jerry hunt

Thank you for sharing.Very helpful.

Steve Steve

Well implemented, I have one question though.

How can we implement a crossover probability?


Biyun Xie

I added the third objective function, but it seems that this code does not work. This code only optimize the first two objective functions. Is it my problem or the problem of this code?

hao hao


Yanjun Gan

Shan Liu

Very useful, very grateful


Best NSGA II File on the FileExchange. Easy to modify, well commented and documented. Runs smoothly for my application, simultaneously minimising the mean squared error and the cross correlation between electrophysiological data and a nonlinear PDE (reaction diffusion equation). Really good code.

Beginner with NSGA II and Octave, I wanted to ask some quick questions. Is there a way to add a third objective function? I also wanted to know where the i-th and j-th iterations are in the code, from where I'm looking at it seems they are in genetic_operator.m but I want to make sure.



Nick S

Simple to use. Easy to modify. Extremely helpful. Thanks!

Nga Nguyen

Would you please help me to get the figure for the convergence of the objectives in this code?
Thank you so much

it is very helpful , and i want help to draw only problem TNK , could you help me.

Xinglei REN

The codes are so cool. And could you please tell me what BNH、TNK、OSY、CONSTR represent for?

Zhang Huile

This code it's been very helpfull for

I'm a beginner on NSGA-II and this software it's been very helpfull, but there is any way to assign the no_run parameter to the pareto_rank1 matrix to identify which solution belongs to each run? thanks.

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Inspired: Real Coded (Integer Handling) NSGA II