Dear list, I have a couple of questions regarding the parameters paretoFraction and DistanceFcn of multiobjective optimization 'gamultiobj' in MATLAB. The help says: "gamultiobj uses a controlled elitist genetic algorithm (a variant of NSGA-II ). An elitist GA always favors individuals with better fitness value (rank). A controlled elitist GA also favors individuals that can help increase the diversity of the population even if they have a lower fitness value. It is important to maintain the diversity of population for convergence to an optimal Pareto front. Diversity is maintained by controlling the elite members of the population as the algorithm progresses. Two options, ParetoFraction and DistanceFcn, control the elitism. ParetoFraction limits the number of individuals on the Pareto front (elite members). The distance function, selected by DistanceFcn, helps to maintain diversity on a front by favoring individuals that are relatively far away on the front."
I have two questions: - How do I "emulate" a original NSGA-II using MATLAB? Using ParetoFraction=1? - Why the final pareto solution is tamPopulation*paretoFraction? I thought that, for a given pareto, MATLAB selects tamPareto*paretoFraction individuals using crowding distance for this pareto, but it seems that it selects always tamPopulation*paretoFraction individuals regardless of the size of the given pareto.
Any help, would be appreciated. All the best, Javier