【摘要】:还需要注意的是,参考代码采用面向对象的形式,设计了一个种群类population,遗传算法中的一些基本功能都设计成了种群类的一些方法,而例题中的代码是以函数的形式提供的,注意一下两者的细微区别。
1.实验目的
掌握遗传算法的基本框架,深入理解遗传算法中的编码、适应度函数、选择、重组、突变等概念,体会遗传算法的基本应用方法以及参数对算法的影响。
2.实验内容
(1)编写Python程序,找出例5.2所示函数的最大值、最小值。
(2)找出函数f(x,y)=xsin(4πx)-ysin(4π y+π)+1在x,y∈[-1,1]上的最大值。
(3)修改参数,查看参数对算法性能的影响。(www.xing528.com)
(4)对程序界面及算法进行优化。
实验参考代码说明如下:
Plot TheFunction.py实现了绘制函数图形的功能,因为是三维图形,所以用到了Matplotlib包里面的mpl_toolkits.mplot3d绘图包Axes3D,它随Matplotlib一起安装进来。
参考代码p5_2_GA01.py中一些关键代码已经在例5.2中给出了说明。还需要注意的是,参考代码采用面向对象的形式,设计了一个种群类population,遗传算法中的一些基本功能都设计成了种群类的一些方法,而例题中的代码是以函数的形式提供的,注意一下两者的细微区别。代码中reproduce_elitist()实现了对精英染色体的查找,通过实验,还可以发现精英选择策略比不保留精英到子代的算法在性能上要好许多。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。