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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 3D建模大神都在用的学习技巧!

    3D建模大神都在用的学习技巧!整个互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的5年时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯、电子阅读、网络游戏、虚拟社区、电子商务、远程教育等等。甚至对于旅游业,3D互联网也能够起到推动的作用,一些世界名胜、雕塑、古董将在互联网上以3D的形式来让用户体验,这种体验的真实震撼程度要远超2D环境。我们所接触到的游戏建模,室内建模,数学建模等,包括现在很流行的电子商务,都对3D模式有着很强的需求,可见,未来市场对3D建模这一技术的渴望程度。.

  • SpringBoot全局配置long转String 丢失精度[通俗易懂]

    SpringBoot全局配置long转String 丢失精度[通俗易懂]web项目中,Java后端传过来的Long/long类型,前端JS接收会丢失精度。 **本文推荐第三、第四种方式**第一种方式简单粗暴,将所有的Lang类型,改为String,数据库改成varchar类型;第二种方式自己建个配置类extendsWebMvcConfigurerAdapter已经被弃用,直接实现WebMvcConfigurer该接口就行了@EnableWebMvc@ConfigurationpublicclassWebDataConvertConfigimple

  • 婚礼进行曲计算机谱子,婚礼进行曲(简谱+歌词+吉他谱)

    ===============婚礼进行曲lrc歌词下载=================[ti:婚礼进行曲][ar:胡彦斌][al:男人歌][by:www.Ailrc.comFrom水晶心]婚礼进行曲胡彦斌胡彦斌by:水晶心[00:03.71]婚礼进行曲[00:09.07]词曲:胡彦斌[00:17.59]专辑:《男人歌》[00:21.22]by:水晶心[00:28.75]所有故事停止撕开了幸…

  • HashMap扩容全过程

    HashMap扩容全过程 1.如果HashMap的大小超过了负载因子(loadfactor)定义的容量,怎么办?默认的负载因子大小为0.75,也就是说,当一个map填满了75%的bucket时候,和其它集合类(如ArrayList等)一样,将会创建原来HashMap大小的两倍的bucket数组,来重新调整map的大小,并将原来的对象放入新的bucket数组中。这个过程叫作rehashing,因为它调用hash方…

  • @ResponseBody的作用

    @ResponseBody的作用

  • ajax返回JSON时的处理方式

    ajax返回JSON时的处理方式

发表回复

您的电子邮箱地址不会被公开。

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