Is it possible to get some repeated values of non-dominated solutions in a pareto optimal solution set?

조회 수: 2 (최근 30일)
I tried to solve an unconstrained multi-objective problem through a Non- Dominated Sort Evolutionary Algorithm (NDSEA) and got some repeated values of non-dominated solutions in the pareto optimal solutions set. I am now confused about the repeated values of non-dominated solutions in the optimal data set of solutions. Is it alright to have some repeated non-dominated solutions in the pareto optimal solution set? First 10 solutions of my pareto optimal solution set are attached in the screenshot file.
Please help me to clear the confusion that i have.

채택된 답변

Alan Weiss
Alan Weiss 2021년 1월 20일
It can be difficult for solvers to remove duplicate points themselves. Feel free to do so yourself after the solver finishes.
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 4
Syed Shahed
Syed Shahed 2021년 1월 26일
편집: Syed Shahed 2021년 1월 26일
Dear Alan,
Is there any other approach except this one to remove those duplicates from the solutions of gamultiobj?
This method seems complex enough for me to implement.
Does it possible to have some duplicate solutions shown by gamultiobj due to limited number of solutions?
I checked the problem with NSGA 2 and it didn't include a single duplicate of solution.
Can you please suggest any other way of removing duplicates from gamultiobj result?
My objective function:
function f=MOGA_a(g)
x1=g(1);
x2=g(2);
x3=g(3);
x4=g(4);
x5=g(5);
x6=g(6);
f=[];
f(1)=-(671.17-(1107.08*x1)-(1.03*x2)-(8.49*x4)+(13.27*x6)-(2.11*(x1*x2))-(35.74*(x1*x3))-(42.93*(x1*x6))+(0.028*(x2*x4))+(0.89*(x3*x6))+(2666.77*(x1*x1)));
f(2)=33.17+(0.023*x5)+(1.53*x6)-(1.49*x1*x3)-(0.12*x1*x4)-(1.87*x1*x6)+(0.00084*x2*x4)-(0.0029*x2*x5)-(0.0051*x2*x6)+(0.0086*x3*x4)+(0.066*x3*x5)+(0.061*x3*x6)+(0.011*x4*x5)-(0.014*x4*x6)-(0.081*x5*x6)+(8.23*x1*x1)-(0.00019*x2*x2)-(0.029*x3*x3)+(0.0027*x4*x4)+(0.079*x6*x6);
end
Bound:
lb = [0.1 200 2 60 2 5];
ub= [0.5 320 10 90 8 11.67];
Output:
Alan Weiss
Alan Weiss 2021년 1월 26일
I don't know of another approach. I think that the clumpthem function in the post I linked is relatively straightforward, and you can modify it for your case. Basically, you sort rows based on, say, objfun1, and pretty much any duplicate you find there is a duplicate, as you can check by doing an isequal row by row.
Alan Weiss
MATLAB mathematical toolbox documentation

댓글을 달려면 로그인하십시오.

추가 답변 (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