how can i change Pareto front axis in genetic algorithm?

4 次查看(过去 30 天)
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

采纳的回答

Elizabeth Reese
Elizabeth Reese 2017-8-23
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 个评论
Gali Musa
Gali Musa 2017-8-27
编辑:Gali Musa 2017-8-27
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multiobjective Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by