how can i change Pareto front axis in genetic algorithm?
조회 수: 2 (최근 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!