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 Center および File ExchangeMultiobjective Optimization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by