问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

NSGA2(基于精英策略的快速非支配排序遗传算法)

创作时间:
作者:
@小白创作中心

NSGA2(基于精英策略的快速非支配排序遗传算法)

引用
CSDN
1.
https://m.blog.csdn.net/csdnVIP071210/article/details/143111819

NSGA2(Non-dominated Sorting Genetic Algorithm II)是一种基于精英策略的快速非支配排序遗传算法,广泛应用于多目标优化问题。本文将详细介绍NSGA2算法的流程和关键步骤,帮助读者深入理解这一重要的优化算法。

NSGA2算法详解

算法流程(步骤)

  1. 初始化种群 Pt ( Pt 规模为 N,t 代表迭代次数,也就是这是第几代种群)
  2. 计算种群 Pt 的适应度 f(x)
  3. 判断当前情况已经满足结束要求,若是则跳出算法、输出结果;若否则继续运行下一步
  4. 对种群 Pt 进行常规非支配排序、选择、交叉、变异操作,生成新种群 Rt ( Rt 规模也为 N)
  5. 合并种群 Pt 以及 Rt,生成新种群 St ( St 规模为 2N )
  6. 对种群 St 进行快速非支配排序 rank1、rank2…ranki…
  7. 在进行快速非支配排序后的多层中选择出 N 个个体进入新种群 Pt+1 中,选择完成后继续返回第 2 步。

选择时会出现的情况:
① 若前 i 层中个体总数正好等于 N ,则选择前i层中所有个体进入到新种群 Pt+1 中.
② 若前 i-1 层中个体数总数小于 N ,但是前 i 层中个体总数大于 N ,说明在选择第 i 层中个体时我们不能完全接收,所以就要利用拥挤度指标来衡量哪些个体比较好,让好的个体进入新种群 Pt+1 中。

注:拥挤度计算方式方式:
利用个体周围最近两个个体所围成的长方图形周长确定,我们通常选择拥挤度值比较高的个体进入新种群(为了确保种群多样性)

例如:下图中,假设图中点指的是第 i 层中的个体,a点和f点的拥挤度为∞(我们为了保证物种多样性,通常将处在边缘的个体拥挤度直接设置成无穷),b点的拥挤度就是a点和c点围成的长方形周长…

NSGA2具体流程图

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号