文章目录
- 1 引入
- 2 约束满足
- 3 Pareto前沿未知
-
- 3.1 Hypervolume (HV)
- 3.2 运行指标
- 4 Pareto前沿已知或者近似
-
- 4.1 IGD/GD/IGD+/GD+
- 参考文献
1 引入
??收敛性分析可以帮助我们在再次解决同一个问题时,更好地决定终止标准。收敛性分析应当考虑两种情况:
??1)Pareto前沿未知;
??2)Pareto前沿通过解析推导而来,或者存在合理的近似值。
??一个双目标优化示意如https://inkiyinji.blog.csdn.net//article/details/125914306,其Pareto前沿和解如下:
??示意中开启了一个历史记录选项save_history,这正是收敛性分析所需要的。当开启save_history后,其将记录每次迭代的算法对象并存储于Result对象中。该方法更占内存 (特别是对于多次迭代),但具有可以事后分析任何算法相关变量的优点。
??为了进行分析,算法的一些中间步骤需要被考虑。它们已经被以下实现:
??1)Callback类存储了算法每次迭代的必要信息;
??2)当使用最小化方法时开启save_history以记录。
??此外使用Hypervolume和IGD来衡量算法的性能:
??从history可以导出我们所需要的信息:
2 约束满足
??首先,可以按如下查询每一代可行解的数量:
??输出如下:
??因为这个问题的复杂性低,所以很快就找到了可行的解决方案。然而,对应于自己的优化问题可能完全不同,因此需要先行分析:

??代码如下:
3 Pareto前沿未知
??如果Pareto前沿未知,则无法知道算法是否已经收敛到真正的最优值。当然也不是没有任何进一步的信息。因为依然可以看到算法在优化过程中何时取得了大部分进展,并确定迭代次数是否增减。此外,以下指标用于将两种算法相互比较:1)Hypervolume和2)IGD。
3.1 Hypervolume (HV)
??Hypervolume是多目标优化中的一个很重要的指标,是Pareto兼容的,需要基于预定义参考点和提供的解决方案之间的volume。因此,首先定义参考点ref_point,其应当大于Pareto前沿的最大值:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!