遗传算法(三):算法的调试

  编写完基本的代码流程后,本节我们进行代码的调试,并分析在不同参数下的结果分析比对。

五、解决过程 5.1 main function:

遗传算法(三):算法的调试 遗传算法(三):算法的调试 遗传算法(三):算法的调试

5.2算法复杂度分析:

  以lastmax(N = 1000; N_chrom = 2;iter = 2000;mut = 0.05; acr = 0.8; best = 1;)为例,采用代码运行时间和函数调用次数模糊反应算法复杂度:

遗传算法(三):算法的调试

六、实验结果 6.1实际函数

F使用matlab直接求区间最值得到:

遗传算法(三):算法的调试 遗传算法(三):算法的调试

6.2通过meshgrid绘图得到函数最值:

遗传算法(三):算法的调试

实际函数图像(蓝色高亮显示为最大值) 遗传算法(三):算法的调试

6.3 改变参数对比实验结果

参数:

N(种群个体数目); N chrom(染色体节点数); iter(迭代次数); mut(变异概率); acr(交叉概率) (1)N = 100; N_chrom = 2;iter = 2000;mut = 0.05; acr = 0.8; best = 1; 遗传算法(三):算法的调试 遗传算法(三):算法的调试 (2)N = 1000; N_chrom = 2;iter = 2000;mut = 0.05; acr = 0.8; best = 1;   初始种群个数至1000反倒收敛速度减慢,通过实验对比初始种群数量为15左右时候收敛速度最快。 遗传算法(三):算法的调试 遗传算法(三):算法的调试 (3)N = 100; N_chrom = 2;iter = 200;mut = 0.05; acr = 0.8; best = 1;   缩减迭代次数至200,仍然可以收敛到期望的最值。通过实验发现大约迭代次数少于50次时,开始有一定概率无法收敛到期望的最值。 遗传算法(三):算法的调试 遗传算法(三):算法的调试 (4)N = 100; N_chrom = 2;iter = 2000;mut = 0.5; acr = 0.8; best = 1;   增大变异概率,可通过图像看出迭代运算时,平均适应度抖动很厉害, 说明变异概率对算法稳定度的影响,即变异概率越大,适应度毛刺越多。收敛过程越不线性。 遗传算法(三):算法的调试 遗传算法(三):算法的调试 (5)N = 100; N_chrom = 2;iter = 2000;mut = 0.05; acr = 0.2; best = 1;   缩小交叉概率可以通过图像发发现,与变异概率0.8并没有很大区别。 遗传算法(三):算法的调试 遗传算法(三):算法的调试   到这里使用遗传算法来解决实际函数优化问题就全部讲解结束了。如果有什么问题欢迎在评论区提问交流。

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:遗传算法(三):算法的调试 https://www.yhzz.com.cn/a/13318.html

上一篇 2023-05-11 21:01:00
下一篇 2023-05-11 21:03:15

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。