多目标下改进NSGA-II算法并使用ZDT测试函数验证matlab

目标优化机械臂轨迹,不知道NSGA-II算法改进后到底有没有效果,需要用测试函数进行验证,附matlab代码

参考多目标优化NSGA-II的实现(MATLAB完整代码)_nsga2 matlab_羽丶千落的博客-CSDN博客

目录

1.复制所有matlab代码

2.查看plotPareto.m

3.运行nsga2.test.m

4.出结果

5.改进初始种群NSGA-II算法matlab代码


1.复制所有matlab代码

复制后列表如下

2.查看plotPareto.m

按照plotPareto.m里的“前沿数据/ZDT1.txt”创建文件夹,在上图中创建文件夹“前沿数据”,ZDT1.txt如何下载请看这篇博客,复制并保存到前沿数据文件夹中

测试函数-ZDT函数.txt版本免费下载_邸笠佘司的博客-CSDN博客多目标优化问题中,改进NSGA-II算法需要测试函数ZDT函数来查看改进的效果如何,大多博客下载需要积分,在这附上免费网址,大家自行下载。包含ZD1-ZDT6,测试函数-ZDT函数.txt版本免费下载https://blog.csdn.net/m0_68738477/article/details/131574219?spm=1001.2014.3001.5501

3.运行nsga2.test.m

直接运行nsga2.test.m会导致,五个测试函数的图像没有一一保存

所以最好在测试函数zdt1时,将剩下的测试函数注释掉,如下所示

将nsga2.test.m中的case1,使用ctrl+R整行注释掉

4.出结果

5.改进初始种群NSGA-II算法matlab代码

如图所示,这是每个.m的文件的含义

nsga2_test:测试函数,用于保存测试数据
nsga2_main:主函数,,用于运行NSGA2算法的框架
get_variable_bounds:获取种群范围
init_pop:种群初始化
sort_pop:种群排序
select_parent:选择父代
myga:进行遗传算法,杂交变异
combined_pop:子代和原始种群进行合并
select_pop:选择新一代种群
calculate_gd:计算GD
calculate_sp:计算SP
calculate_pop:计算种群

改进的方法有许多,每个.m都可以进行改进,我是在init_pop:种群初始化方向上进行改进,具体如何改进就不说了,将代码复制到原来的init_pop.m中就可以了,具体代码参考如下

NSGA-II改进之种群初始化_羽丶千落的博客-CSDN博客原NSGA-II的算法在初始化种群的时候采用的是随机生成。随机代表着不确定,且随机生成的种群在整个空间上表现为不均匀;为消除随机初始化带来的不确定,和种群在空间上分布不均匀问题,由此引出新的初始化种群方式:佳点集生成种群_种群初始化https://blog.csdn.net/weixin_44034444/article/details/129102116?spm=1001.2014.3001.5502改进后运行后的图像如下

 进行比较,其他5个测试函数zdt也是如此

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值