需要的库
python的强大在于可以安装非常丰富的库,针对遗传算法已经有非常完善的库了,只需要在里面设计即可,我使用的是Geatpy库,这是一个高性能的Python遗传算法库以及开放式进化算法框架,由华南理工大学、华南农业大学、德州奥斯汀公立大学的学生联合团队开发。如何安装及其使用请查看Geatpy的官方文档。
可视化工具
Tkinter、Tix…非常多的选择,我这里使用的是easygui,为什么使用easygui呢?因为我看的第一本python书《父与子学python…》啥的,具体书名记不清了,里面介绍的就是easygui,入手很简单,剩下就是matplotlib和Axes3D当然了离不开我们的numpy
遗传算法
关于遗传算法,我这里不想多讲了,参考我上一篇文章https://blog.csdn.net/quinn1994/article/details/80501542
适应度函数的选择
我做了一个选择的界面,可以选择几个经典的测试函数,如下
这里是Ackley函数的二维描述
def Ackley(Phen):
x1 = Phen[:, [0]]
x2 = Phen[:, [1]]
return -20.0*np.exp(-0.2*np.sqrt((x1**2+x2**2)/2)) - np.exp((np.cos(2.0*np.p