File Exchange

image thumbnail

Normalized Normal Constraint (NNC) algorithm for multi-objective optimization

version 1.4 (9.06 KB) by

This code implements a NNC algorithm for multi-objective optimization.



View License

This Toolset comprises of the following files:

1) NNCparam.m

Generates the required parameters to run the NNC optimization algorithm.

2) NNC.m

Runs the optimization algorithm. This code implements the NNC algorithm for 2 and 3 objectives as described in:

A. Messac, A. Ismail-Yahaya and C.A. Mattson. The normalized normal
constraint method for generating the Pareto frontier structural and
multidisciplinary optimization Volume 25, Number 2 (2003), 86-98.

3) OPTroutine.m
Implements the optimization routine for NNC algorithm.

4) CostFuntion.m
The cost function to optimize

Comments and Ratings (6)

Fan Zhang


pooya pooya

Hi Dear Gilberto Reynoso Meza
thanks for your NNC code,I use it.
but have problem with it,I can't understand what i have write "OPTroutine" in "NNCparam.m".
if it is possible for you , give me an example of simple multi objective problem with using this code.
thanks alot.

It is possible; in that case, you would have to re-write the step 3 (Utopia line vector) and step 5 (utopia linea points) accordingly to your desired number of objectives. When dealing with more than 3 objectives, I use usually an evolutionary algorithm instead of the NNC; a local optimization routine could be always used at the end of the evolutionary optimization process, to improve convergence.

using this matlab code could it be possible to handle more than 3 objectives. if so, how this could be done.



December 13th. 2012: A bug reported by users in Smart Filter has been fixed (Correspondence between Filtered Front and Filtered Set).

MATLAB Release
MATLAB 7.9 (R2009b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video