Duplicates in Pareto frontier using gamultiobj
조회 수: 24(최근 30일)
I am using gamultiobj in the Global Optimization Toolbox to solve a knapsack problem. I use the following code:
[xbest, fbest, exitflag] = gamultiobj(@KnapsackWeightMulti, 22, , , , , ...
lb, ub, @const_knap, opts)
When I examine the xbest variable generated, which to my understanding represents the Pareto frontier of solutions, many of the solutions are duplicates. Why is this?
Alan Weiss 2018년 11월 19일
The genetic algorithm does not remove duplicate points that it finds.
I do not know how you are implementing the constraints for the problem, but I believe that this is an integer-constrained problem. It is entirely possible that gamultiobj does not have a large enough population to give you a diverse Pareto front with the constraints satisfied, or there might not be that many points on the Pareto front even with a large initial population that is well-dispersed. In other words, it is possible that the solution is, by its nature, just a few points, so gamultiobj has to have a lot of duplicates in its solution.
MATLAB mathematical toolbox documentation