NSGA2算法代码理解

NSGA2算法代码理解NSGA2算法代码理解:设置200个个体,目标函数为2个,决策变量的个数为30,首先初始化得到一个每个个体位于0~1之间的决策变量,利用ZDT1函数求得目标值,保存在数组中。寻找非支配排序,在这200个个体中,选中一个个体,将这个个体和其余个体的目标函数值比较,如果没有一个个体可以支配他,那么就将其加入到非支配集合中ifindividual(i).n==0%个体i非支配等级排序最高,…

大家好,又见面了,我是你们的朋友全栈君。

NSGA2算法代码理解:
设置200个个体,目标函数为2个,决策变量的个数为30,首先初始化得到一个每个个体位于0~1之间的决策变量,利用ZDT1函数求得目标值,保存在数组中。

寻找非支配排序,在这200个个体中,选中一个个体,将这个个体和其余个体的目标函数值比较,如果没有一个个体可以支配他,那么就将其加入到非支配集合中
if individual(i).n == 0 %个体i非支配等级排序最高,属于当前最优解集,相应的染色体中携带代表排序数的信息
x(i,M + V + 1) = 1;
F(front).f = [F(front).f i];%等级为1的非支配解集
end
首先求出等级最高的非支配解集,然后遍历这个解集,找出每个解支配的个体,将被支配数量减1,看是否成为一个非支配,如果是则加入到新的非支配集合中,如此反复知道新集合为空。
将种群一分为2,随机选取最优的种群作为父代,然后交叉变异形成子代,接着合并子代和父代,采取精英策略,得到新的子代。
注意,如果原种群是200个,选取的合适繁殖的父代是100个,生成大约200个子代,合并再选取200个作为新的种群。
在这里插入图片描述
代码参考
https://blog.csdn.net/joekepler/article/details/80820240

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144681.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月18日 下午11:20
下一篇 2022年5月18日 下午11:20


相关推荐

  • 协方差的意义和计算公式

    协方差的意义和计算公式学过概率统计的孩子都知道 统计里最基本的概念就是样本的均值 方差 或者再加个标准差 首先我们给你一个含有 n 个样本的集合 依次给出这些概念的公式描述 这些高中学过数学的孩子都应该知道吧 一带而过 很显然 均值描述的是样本集合的中间点 它告诉我们的信息是很有限的 而标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均 以这两个集合为例 0 8 12 20 和 8 9 11 1

    2026年3月20日
    1
  • Web前端开发工具(编辑器)汇总

    Web前端开发工具(编辑器)汇总Web 前端开发工具 1 文本编辑器应用 操作系统自带编辑器 如 Windows 系统的记事本 Unix 及类 Unix 系统文本编辑器 Vim EditPlus Notepad 等 记事本 windows 自带的记事本 可直接运行 无需卸载与重装 notepad exe 事实上就是一个 windows 记事本 它是微软操作系统自带的记事本程序 该程序功能非常的实用 可以为用户记录文字 并且支持自动换行 支持设置字体 字形和字体大小 支持查找和替换 是目前用户使用最多的记事本软件 EditPlus 小巧但是功能强大的编辑

    2026年3月26日
    2
  • AI购物争夺战:巨头抢的不是卖货,是入口

    AI购物争夺战:巨头抢的不是卖货,是入口

    2026年3月15日
    2
  • android stagefright框架

    android stagefright框架stagefright 框架 一 VideoPlaybac 的流程在 Android 上 預設的多媒體框架 multimediafr 是 OpenCORE OpenCORE 的優點是兼顧了跨平台的移植性 而且已經過多方驗證 所以相對來說較為穩定 但是其缺點是過於龐大複雜 需要耗費相當多的時間去維護 從 Android2 0 開始 Google 引進了架構稍為簡潔

    2026年3月19日
    1
  • 【Simulink】粒子群算法(PSO)整定PID参数(附代码和讲解)

    【Simulink】粒子群算法(PSO)整定PID参数(附代码和讲解)本文提供粒子群算法简介和一个算法举例,提供粒子群算法仿真PID的M文件代码及simulink仿真。另外,本文还提供了一种动态simulink仿真方法,可以让M文件和simulink文件之间互相交换数据,实现仿真与程序的反馈,增加了仿真的灵活度。

    2022年6月10日
    85
  • Linux磁盘分区详解

    Linux磁盘分区详解文章目录预备知识磁道扇区柱面簇文件系统本地存储设备的识别设备的挂载和卸载设备名称设备挂载磁盘分区具体分区步骤swap分区管理概念新建swap分区删除swap分区磁盘配额quota配额概念quota如何设定配额quota的限额磁盘加密cryptsetup概念加密方法加密设备开机自动挂载删除加密后的虚拟设备预备知识在开始之前,先了解一些基础知识。磁道硬盘被一圈圈分成18等分的同心圆,这些同心…

    2022年5月20日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号