论文部分内容阅读
人工蜂群算法是一种新型的元启发式搜索算法,它的实现原理是模拟蜂群在采蜜过程中所表现出的群智能行为来实现对实际问题的求解。由于该算法简单易懂、容易实现、鲁棒性强、参数少等特点,自2005年被土耳其学者Karaboga提出以来,已经被成功应用到约束数值优化问题、多目标优化问题、训练人工神经网络、蛋白质的检测和预测、动态路径选择、可靠性冗余分配等领域,都取得了较好的研究成果。不过它作为一种新型的算法,其算法模型还不是很成熟,在求解一些复杂的实际问题上还处于起步阶段。所以,改进人工蜂群算法的理论模型,使其有更好的解决问题的能力及更广的应用范围有着重要的研究意义及实际价值。通过仔细研究会发现人工蜂群算法存在不足的地方主要是收敛精度不高、收敛速度慢、易陷入局部最优解等,这使得它在解决有些问题时得到的结果让人还不是很满意。所以很多学者致力于对该算法进行改进,让它能更好的去解决实际问题、拓宽其应用范围。本文在借鉴差分进化算法中突变算子的基础上,针对上述人工蜂群算法的不足之处,提出了几种改进算法,并将其中一种表现优异的改进应用到了非线性方程组的求解中去。主要工作如下:首先,本文详细介绍了人工蜂群算法的来由、生物模型和基本思想,并详细分析了算法的基本步骤、时间复杂度和特点。然后针对算法的收敛速度慢的缺点,我们在改进算法的搜索方式中引入了当前最优解的信息,这样能够有效引导搜索向全局最优快速收敛。在后面的仿真实验中可以发现在解决单峰问题时,改进算法的收敛速度明显快于标准人工蜂群算法。其次,针对算法容易陷入局部最优的问题,我们在改进算法的搜索方式中引入一个或两个扰动向量,这样来保持种群的多样性,防止算法陷入局部最优。在仿真实验中可以看出在解决多峰问题时,改进的人工蜂群算法比其他智能算法的收敛精度更高,也即是跳出了局部最优的表现形式。最后,本文对人工蜂群算法中对于解的适应度计算作了调整,简化了原先算法中复杂难懂的计算方式,选择直接用函数的值来作为解的适应度,既简单又一目了然。本文将上面改进算法中性能比较好的一种继续深入探索,将其应用到非线性方程组的求解中,最后的实验在一组基本测试函数和一组非线性方程组上进行,与其他的群智能算法作了纵向的比较,也和其他的ABC的改进算法作了横向的比较,结果表明改进的人工蜂群算法比这些其他的算法更适合于解非线性方程组问题。