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
0 件のコメント
採用された回答
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Multiobjective Optimization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!