论文部分内容阅读
萤火虫优化算法(Firefly Algorithm, FA)是群智能优化算法领域中一种比较新颖的优化方法,它是模拟萤火虫发光的生物特性表现出来的社会行为而设计的随机优化算法。因其结构简单,需要调节的参数较少,以及具有较好的寻优搜索能力而受到国内外学者的关注,目前广泛应用在工程、计算机、管理、经济以及生物等领域。然而,萤火虫优化算法难以避免基于群体搜索的随机优化算法所具有的通病和缺陷,比如:算法运行到后期收敛速度较慢,早熟收敛、易陷于局部最优等,从而导致求解精度不高。本文在分析萤火虫优化算法研究现状的基础上,从不同角度提出了六种改进算法,并将其中三种改进算法应用于聚类分析算法。完成的主要研究工作和成果总结如下:(1)两种基于步长改进策略的萤火虫优化算法。针对在基本萤火虫优化算法中使用统一固定的步长值、忽略个体搜索能力差异性的问题,提出自适应步长萤火虫优化算法和考虑最优位置信息的变步长萤火虫优化算法。第一种改进算法利用搜索过程中每个萤火虫个体的前二次迭代目标函数值,以及当前迭代目标函数值,自适应地调整步长参数;第二种改进算法通过考虑萤火虫个体的最优位置信息以及直到当前全局最好萤火虫个体的位置信息,来动态地调整步长参数。以上两种改进方法通过对步长参数的设置,克服原有算法固定步长的缺陷,增强了算法的搜索性能,提高了算法的求解精度。最后通过在标准测试函数上仿真实验的比较,说明了这两种改进算法的有效性。(2)两种基于种群多样性引导的萤火虫优化算法。种群多样性的损失是基本萤火虫优化算法存在的一个严重问题,也是导致过早收敛,影响最终求解精度的重要原因。为提高种群多样性,增强算法的搜索能力,提出两种改进算法。第一种改进算法,通过种群多样性的值来动态地引导算法搜索,当种群多样性值小于某一阂值时,通过调整萤火虫个体的位置,来动态地提高种群多样性,从而避免算法早熟而陷入局部最优;第二种改进算法通过计算种群分布熵,来动态调整算法在每次迭代中的步长值,如果种群分布熵大,说明种群集聚现象严重,此时步长变大,使得集聚的萤火虫个体能跳出该区域,搜索更大的区域,从而提高算法的搜索能力和求解精度。最后通过仿真实验结果分析,表明两种改进的算法比基本萤火虫优化算法性能好。(3)两种基于学习策略改进的萤火虫优化算法:基于反向学习和自我调整策略的萤火虫优化算法。在基于反向学习策略算法中,引入学习概率,对进化过程中表现最差的萤火虫个体采用反向学习策略,如果高于学习概率则采用反向学习策略,将最差萤火虫个体位置进行反向更新;如果低于学习概率,则向当前迭代中表现最优的萤火虫个体进行学习;在自我调整策略改进算法中,根据人类认知心理学学习原则,对表现最优的萤火虫个体采用更大的步长,保持其全局探索能力以搜索更大区域,而对剩下的萤火虫个体采用线性减小的步长。以上两种改进算法通过实验结果对比表明,基于上述学习策略改进的萤火虫优化算法要比基本萤火虫优化算法具有更强的搜索能力,算法性能得到明显改善。(4)将改进的萤火虫优化算法应用到聚类分析中。以聚类算法典型代表K-means算法为例,针对其容易收敛于一个任意的局部最优解,结合萤火虫优化算法具有较好的全局搜索能力、较快的收敛速度等优点,将聚类问题转化为优化问题。选取上述三种改进萤火虫优化算法与K-means聚类算法相结合的方式进行求解,利用K-means聚类算法自身收敛速度较快的优势,以及萤火虫优化算法在全局优化上的特长,克服局部最优缺陷,获得全局最优解。通过对6个UCI数据集测试实验,说明将改进的萤火虫优化算法与K-means聚类算法结合,能获得较好的聚类结果。