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

2 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Alan Weiss
Alan Weiss am 20 Jan. 2021
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 Kommentare
Syed Shahed
Syed Shahed am 26 Jan. 2021
Bearbeitet: Syed Shahed am 26 Jan. 2021
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 am 26 Jan. 2021
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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Multiobjective Optimization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by