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