遗传算法与蜂群算法实现效果对比
遗传算法与蜂群算法实现效果对比
实现环境
win10,matlab R2016b,python3,pycharm
实现代码
项目相关,暂不贴,应用的遗传算法和蜂群算法的基本框架。参考前面几篇文章。
实现比较
遗传算法
种群大小为50,编码长度为4bit,迭代次数为50次,交叉概率为0.9,变异概率为0.09,对某一信号处理问题的求解结果如下:
目标函数最优函数值:
0.3516
最优解(CQI-SNR-BER表索引):
6
所用时间:
0.4531
其中,所用时间是在matlab R2016b上运行本遗传算法程序的时间。
蜂群算法
蜜源数量为50,跟随蜂数量为50,最大迭代次数为50次(基本和遗传算法保持相似),对同一信号处理问题的求解结果如下:
目标函数最优函数值: [ 0.35156227]
最优解(CQI-SNR-BER表索引): [ 6.]
程序运行时间: 0.2240407245147516
其中,所用时间实在pycharm 基于python3 运行本蜂群算法程序的时间。
小想法
以上实现,在参数,比如迭代次数,蜜源–种群数量等差不多的情况下,蜂群算法的运行时间要小一些,但是这个也只能作为一个小小的参考,毕竟语言和运行软件也都不一样。
不过就写程序的过程中,对程序的理解来看,好像蜂群算法要快一点点。虽然两个算法中间过程有不同的处理方式(生物遗传变异,生物寻找事物),但是两个的想法真的差别不大呀呀呀~~~所以运行的复杂度相差不大也是正常的。