MATLAB: Output function for gamultiobj (multiobjective optimization)

gamultiobjMATLABmultiobjectiveoptimizationoutput

Dear all, I have 6 functions, represented by function called "response", and one linear equality, there are 7 design variables in my problem. I am using gamultiobj to optimize my problem. I used code generated as: %____________________________________________________________
if true
% code
LB= [168000 168000 168000 168000 168000 168000 168000];
UB= [315000 315000 315000 315000 315000 315000 315000];
numberOfVariables=7;
PS=100;
IniPop=[315000 250000 190000 168000 168000 168000 218000];
Aineq = [1/1470000 1/1470000 1/1470000 1/1470000 1/1470000 1/1470000 1/1470000];
bineq = 1;
Aeq = [];
beq = [];
defaultopt = struct('PopulationType', 'doubleVector', ...
'PopInitRange', [LB;UB], ...
'PopulationSize', PS', ...
'CrossoverFraction', 0.8, ...
'ParetoFraction', 0.35, ...
'MigrationDirection','forward', ...
'MigrationInterval',20, ...
'MigrationFraction',0.2, ...
'Generations', '200*numberOfVariables', ...
'TimeLimit', inf, ...
'StallGenLimit', 100, ...
'TolFun', 1e-14, ...
'TolCon', 1e-12, ...
'InitialPopulation',IniPop, ...
'InitialScores', [], ...
'PlotInterval',1, ...
'CreationFcn',@gacreationuniform, ...
'SelectionFcn', {{@selectiontournament,2}}, ...
'CrossoverFcn',@crossoverintermediate, ...
'MutationFcn',@mutationadaptfeasible, ...
'DistanceMeasureFcn',{{@distancecrowding, 'phenotype'}}, ...
'HybridFcn',[], ...
'Display', 'final', ...
'PlotFcns', {@gaplotpareto,@gaplotscorediversity}, ...
'OutputFcns', [], ...
'Vectorized', 'off', ...
'UseParallel', 'Always');
[x,f,exitflag,output,population,score] = gamultiobj(@response,numberOfVariables,Aineq,bineq,[],[],LB,UB,defaultopt);
end
%—————————— # Item one: After solving, I want to extract the paretofrontier points and associated responses. What should I do? # Item two: How can plot pareto for obj1 vs obj 3, or obj 3 vs obj 6?
With Regards

Best Answer

I'm not sure what you are asking. The solution x contains the Pareto points, and f contains the response values at those points. See the documentation.
If you want to plot the responses, pick the appropriate columns out of the f matrix. Column j contains the responses for the jth objective.
Alan Weiss
MATLAB mathematical toolbox documentation
Related Question