MATLAB: Do I get mostly identical optimum results from “gamultiobj”

multi-objective gaoptimization

Hello everyone
Recently I attempt to solve a multi-objective optimization problem with "gamultiobj" function. I set the population size to 50 and 'ParetoFraction' to 1 .I expected to got 50 different results after optimization, but most of them were identical . Isn't it strange? My problem was a binary one and my code was as below:
options = struct('PopulationType', 'bitstring', ...
'PopInitRange', [], ...
'PopulationSize', 50, ...
'CrossoverFraction', .8, ...
'ParetoFraction',1, ...
'MigrationDirection','both', ...
'MigrationInterval',5, ...
'MigrationFraction',0.6, ...
'Generations', 900, ...
'TimeLimit', inf, ...
'StallGenLimit', 100, ...
'TolFun', 1e-4, ...
'TolCon', 1e-4, ...
'InitialScores', [], ...
'PlotInterval',1, ...
'CreationFcn',@gacreationuniform, ...
'SelectionFcn', {{@selectiontournament,2}}, ...
'CrossoverFcn',@crossoverscattered, ...
'MutationFcn',@mutationadaptfeasible, ...
'DistanceMeasureFcn',{{@distancecrowding, 'genotype'}}, ...
'HybridFcn',[], ...
'Display', 'iter', ...
'PlotFcns',{ @gaplotpareto }, ...
'OutputFcns', [], ...
'Vectorized', 'on', ...
'UseParallel', false);
[x,fval,exitflag] = ...
gamultiobj(@fsf_feature_selection,115,[],[],[],[],[],[],[],options);
Tell me your opinions. Thank you

Best Answer

Why are you setting all those options? There is absolutely no sense in setting any of the Migration options. Why did you set TolCon? It does not apply to binary problems. Why did you set those particular creation, mutation, etc. functions? The documentation states that for bitstring population you should use @mutationuniform or a custom mutation function.
And, to answer your question, why did you set ParetoFraction to 1? As the documentation states, this option relates to parents, not children, so you are restricting the choice of parents unduly, resulting (as you saw) in many identical children.
Generally, do not set any option that you don't understand. The defaults are often good.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation