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