网站留言表单是如何做的,怎么用网站做chm,适合夫妻看的哔哩哔哩电视剧,ip网域名查询文章目录 一、前置知识NSGA-II帕累托前沿 二、算法流程1.NSGA2.NSGA-II 一、前置知识
1.NSGA(非支配排序遗传算法):旨在同时优化多个冲突的目标函数#xff0c;寻找帕累托前沿上的解集。
什么是多个冲突的目标: 比如你看上了一辆车#xff0c;你既想要它便宜#xff0c;又… 文章目录 一、前置知识NSGA-II帕累托前沿 二、算法流程1.NSGA2.NSGA-II 一、前置知识
1.NSGA(非支配排序遗传算法):旨在同时优化多个冲突的目标函数寻找帕累托前沿上的解集。
什么是多个冲突的目标: 比如你看上了一辆车你既想要它便宜又想要它的配置达到Top水平那这两个目标就是相互冲突的。
NSGA-II
NSGA-II其实就是NSGA算法的改进缩减了算法的时间复杂度其中NS是非支配排序GA是遗传算法。
帕累托前沿
支配关系: 通俗来说就是A的能力比B强则A就能支配B。 满足两个条件: (1)X的解不比Y差 (2)X解中至少有一个解比Y好如果满足这两个条件那说明X可以支配Y。 如上图(默认函数值越小越好):A可以支配DB可以支配DA和B相互无法支配 这些相互无法支配的解构成了非支配解(帕累托解)。
这些非支配解组成的集合称之为 帕累托最优集 这些解在目标空间中形成了 帕累托前沿。 帕累托前沿Pareto Front 是多目标优化问题中的一个关键概念它是 帕累托最优解集Pareto Optimal Set 在目标空间中的表示。帕累托前沿是目标空间中所有帕累托解的集合它展示了不同目标之间的最佳权衡。 对于这些非支配解和其右上方的解很容易进行比较但是这些非支配解之间如何比较?我们引入了一个新的标准-拥挤距离 拥挤度较高的解即周围解较为稀疏远离其他解会被认为更优。这有助于保持解集的多样性和均匀性避免解决方案集中在帕累托前沿的某些区域。
二、算法流程
1.NSGA 也就是对于种群中的每个个体如图中的A依次会和剩余的所有个体进行比较,如果A被其它个体支配则A被支配数加1等每个个体的dominatecount被统计后就查找被支配数为0的个体并列为第一层并记录下来随后pop去掉这一层的个体dominatecount清零后继续寻找第二层。一直等pop为0结束。
2.NSGA-II
在NSGA上进行改进降低了时间复杂度。