第三代非支配排序遗传算法(NSGA 您所在的位置:网站首页 nsga3 第三代非支配排序遗传算法(NSGA

第三代非支配排序遗传算法(NSGA

2022-12-29 23:33| 来源: 网络整理| 查看: 265

        第三代非支配遗传算法是针对高维多目标优化计算代价大,难以挑选Pareto解的情况而开发的,基本流程与NSGA-II相似,但选择个体的方法加入了基于参考点的方法,能够有效降低计算代价。

       NSGA-III 首先定义一组参考点。然后随机生成含有 N 个个体的初始种群,其中 N 是种群大小。接下来,算法进行迭代直至终止条件满足。在第 t 代,算法在当前种群 Pt的基础上,通过交叉和变异产生子代种群 Qt。Pt和 Qt的大小均为 N。因此,两个种群 Pt和 Qt合并会形成种群大小为 2N 的新的种群 Rt=Pt∪Qt。

        为了从种群 Rt中选择最好的 N 个解进入下一代,首先利用基于Pareto支配的非支配排序将 Rt分为若干不同的非支配层(F1,F2等等)。然后,算法构建一个新的种群St,构建方法是从 F1开始,逐次将各非支配层的解加入到 St,直至 St的大小等于 N,或首次大于 N。假设最后可以接受的非支配层是 L层,那么在 L+ 1 层以及之后的那些解就被丢弃掉了,且 St\ FL中的解已经确定被选择作为 Pt+1中的解。Pt+1中余下的个体需要从 FL中选取,选择的依据是要使种群在目标空间中具有理想的多样性。

        比如你的N设置为100,那么Pt大小为100,Qt是Pt交叉和变异后的个体,Qt的数目也是100,那么Rt=Pt∪Qt,Rt数目是两百,现在只要从这两百中选100个个体进行下一轮迭代。

        那么怎么从这两百个选一百个呢?NSGA的思想首先是把所有解进行分非支配排序,假设问题为最小化问题,那么目标值越小越好,若个体A三个目标值是(2,3,5),B的三个目标是(4,3,5),C的三个目标是(3,3,4),那么个体A和C放入F1层,其等级为1,F2层是B,等级为2,以此类推。假如一共有8层非支配层(F1,F2,。。。,F8),你选到F1+F2+F3+…+F7时候已经有90个个体了,而F8层有20个个体,那么怎么在F8选这10个个体,即怎么在F8里的20个选十个,NSGA2用的是基于拥挤距离的方法,而NSGA3用的是基于参考点的方法。这是NSGA-III区别于NSGA-II的显著特征。( St\ FL里面,St就是这里的F1到F7的所有个体的总和,F8就是FL,St\ FL这个符号意思就是已经被选择的F1到F7所有个体)

         在原始NSGA-II中,FL中具有较大拥挤距离的解会优先被选择。然而,拥挤距离度量并不适合求解 高维多目标优化问题(三个及更多目标的多目标优化问题)。因此 NSGA-III 不再采用拥挤距离,而是采用了新的选择机制,该机制会通过所提供的参考点,对 St中的个体进行更加系统地分析,以选择 FL中的部分解进入 Pt+1。

算法步骤如下:

   1. 分支配排序、分层

   2. 生成参考点

   3. 计算理想点

即求解这一代种群所有目标每个维度的的最小值。比如A三个目标值是(2,3,5),B的三个目标是(4,3,5),C的三个目标是(3,3,4),那么 ideal point为(2,3,4)。

   4. 将解空间零点挪到上述理想点

   5. 找出极值点(以上几个步骤是常规操作,较好理解,这里专门阐述较难理解的极值点生成公式)

第三代非支配排序遗传算法(NSGA-III)的图1

       这个公式通过将群体中的个体均与一个同维度的向量点除找出极值点,这个向量ωi的特点是,除了第i位数字为1,其余都为一个极小值,比如0.000001。这个算法看起来很难,但其实很好理解,用下一张图来表示。

第三代非支配排序遗传算法(NSGA-III)的图2

       比方说我们现在想找出哪个点离x轴(1号轴)最近,那么ω1=[1, 0.000001],那么上图中的两个点分别点除这个向量会得到:【1,2000 000】,【3,500 000】,那么这两个个体(点)的最大值分别为2000 000和500 000,公式外面的argmin的意思就是说我要的点是带有500 000这个值的点,这样就把离X轴最近的点(极值点)找出来了。找出各个轴的极值点,就能构建超平面(对于上图只有两个个体的情况,超平面其实就是通过两个点的直线),超平面和坐标轴的交点即可得到截距,有多少个坐标轴,就有多少个截距,把所有个体点除包含所有截距的向量,就是个体的归一化,个体即映射到参考点所在的归一化平面上。

        6.将所有个体关联到参考点(根据参考点和个体之间的欧几里得距离或其他距离)

        7.依据参考点的小生境从F8层提取10个个体加入到下一代种群中。

        8.迭代往复进行,直至达到收敛条件。

     



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有