geatpy-dev / geatpy

Evolutionary algorithm toolbox and framework with high performance for Python
http://www.geatpy.com
GNU Lesser General Public License v3.0
1.99k stars 727 forks source link

Fix duplicate solutions in the final Pareto solution set and address issues with blank Pareto front plots in newer versions of matplotlib. #377

Closed daytime001 closed 1 week ago

daytime001 commented 1 month ago

pareto前沿图

原项目在绘制3维帕累托前沿图时使用self.ax = Axes3D(self.fig)创建绘图区域,但是在目前较高版本中已被弃用,绘制出的3维pareto前沿图空白,而修改为self.ax = self.fig.add_subplot(111, projection='3d')可以正常绘制,如下图所示 pareto前沿图空白 pareto前沿图_修改后

pareto解集中存在重复解

本人在使用moea_NSGA2_templet进行多目标问题求解时最终求得的pareto解集中总是会出现重复解,且各个解顺序杂乱,不利于作出决策 重复解 图中两个解的值完全一样(包括后面精确到所有位数),并且随着种群大小、迭代次数的增多,重复解个数会越来越多 本人通过NDSet = NDSet[np.unique(NDSet.ObjV,return_index=True,axis=0)[1]]对重复解进行排除,并且各个解按照大小顺序排列 无重复解