how can i change Pareto front axis in genetic algorithm?

6 views (last 30 days)
how can i change the axis in Pareto front plot in genetic algorithm? is there a way to plot the two objective functions on the y axis and indicate the optimal solution since there is an axis. Thank you

Accepted Answer

Elizabeth Reese
Elizabeth Reese on 23 Aug 2017
I am not exactly sure how you would like to "indicate the optimal solution" using the Pareto front, but here are a few ways to visualize the information about a Pareto front. I am elaborating on the example found at the link below which uses two fitness functions of one bounded variable.
The two fitness functions are cos(x) and sin(x) for 0 <= x <= 2*pi. If we want to visualize the two functions on the y-axis, we can execute the following code. This will plot black lines at each x on the Pareto front.
>> xs = linspace(lb,ub,500)';
>> figure
>> plot(xs,fitnessfcn(xs))
>> xlabel('x');
>> hold on;
>> plot([x';x'],fitnessfcn(x)','k')
>> legend('sin(x)','cos(x)','Pareto front')
Another way to visualize the Pareto front is to plot the parametric curve of the two objective functions over the input variable. This will look like the following.
>> fEvals = fitnessfcn(xs);
>> fEvalsPareto = fitnessfcn(x);
>> figure
>> plot(fEvals(:,1),fEvals(:,2))
>> hold on
>> plot(fEvalsPareto(:,1),fEvalsPareto(:,2),'*')
>> xlabel('sin(x)')
>> ylabel('cos(x)')
>> legend('fitness function','Pareto front')
  4 Comments
Gali Musa
Gali Musa on 27 Aug 2017
Edited: Gali Musa on 27 Aug 2017
how can i get an optimal solution from Pareto front graph. i noticed the Pareto front gives many solutions. Is it normal that i got a linear Pareto front rather than convex or non-convex front.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!