推荐阅读:摘要:分析了萤火虫优化算(Glowworm swarm optimization,GSO)的全局收敛性,针对其收敛效率低的缺陷,提出了一种具有群体智能的改进萤火虫优化算法,借鉴混合蛙跳算法族群划分思想,在GSO算法引入了局部搜索及全局信息交换机制,改善了算法寻优性能,并将
摘要:分析了萤火虫优化算(Glowworm swarm optimization,GSO)的全局收敛性,针对其收敛效率低的缺陷,提出了一种具有群体智能的改进萤火虫优化算法,借鉴混合蛙跳算法族群划分思想,在GSO算法引入了局部搜索及全局信息交换机制,改善了算法寻优性能,并将GSO算法与混合蛙跳算法融合,实现了两种群体共同进化,进一步提高了算法收敛效率。最后,在仿真测试中引入经典测试函数来进行验证,其结果显示,在求解的精确度和收敛速度两个方面,改进优化后的算法提升明显。
关键词:萤火虫优化算法 混合蛙跳算法 全局收敛性
1 GSO和SFLA
1.1 萤火虫优化算法
萤火虫优化算法始于2005年,当时,是Krishnanand等人在借鉴群智能优化理论的基础上所提出的。在目标函数维解空间当中分布萤火虫群体 ,且这种分布带有随机性,一个解 由一个萤火虫替代及代表,并同其所携带的荧光素 和发光的强度存在一定的联系,萤火虫目标函数值 作用于荧光素,并两者呈现出正相关的关系,即越优的目标函数值表现为越大的发光亮度。GSO算法当中,在决策范围 内,相比于个体组成领域集 ,萤火虫对于荧光素的选择要多,并进行领域集内个体的概率选择和转移。在初始时刻,萤火虫的的荧光素和决策范围均相同,在时刻 ,依据公式(1)来进行 的更新:
混合蛙跳算法属于启发式计算基数的范畴,其是以群体智能为基础而出现的,集聚了Memetic算法和粒子群算法的优势。在SFLA中,每只青蛙为一个模因载体,算法通过不同青蛙个体间的交流实现模因进化。对于 维目标优化问题,随机生成 只青蛙群体 ,第 只青蛙的位置为 ,因此SFLA实现过程可以描述为:
公式中, 代表随机的数目, 代表具有最好适应度的族群解。相比于 ,当目标函数值 更优时,则 被 所替代,如不替代, 就要求被 替代,这样,就需要进行更新策略(6)的重新执行。如相比于 , 不具备优势,则 由随机生成的青蛙来取代,局部搜索过程便会在全部族群中进行重复的执行,直至搜索次数达到一定值时停止。
Step3 信息全局交换。待局部搜索在全部族群中作用完毕后,进行重新的青蛙粒子组合,得出青蛙群体 ,再进行最优群体解的更新。对满足终止条件与否做出判断,如满足则停止,如不满足,则需返至Step1进行重新求解。
2 IGSO
2.1萤火虫族群划分
从本质上来讲,GSO在算法上具有随机性,因荧光素交流必须在领域集空间内完成,故萤火虫群体只能被划分成多个聚集区域,虽然从这使得算法陷入极值的概率降低了,但也造成萤火虫作用个体被限制在其领域集当中,不能够同其它萤火虫交流,群体内最有个体信息传递不能完成,算法的收敛速度受到很大影响。为促进GSO算法收敛速度的进一步提高,文章立足于族群划分来对萤火虫算法加以改进,其中族群划分遵循如下规则:依据目标函数值 来对 只萤火虫作降序排列处理,并平均分成 组,这样, 就代表了单个族群内的萤火虫数量。第 个族群用 进行表示,就得出如下公式:
2.2 SFLA与GSO融合
SFLA和GSO融合是将萤火虫群体均分为两个种群:SFLA种群和GSO种群。两个种群独立执行各自的搜索操作,当两者完成一次迭代后,便就最优信息展开交流,即针对两种算法,待其见全局迭代发生 次后, 代表GSO算法最优解, 代表SFLA最优解,就两种算法的目标函数作出比较,当 时, 由 替代,来就青蛙进化作方向引导,反之,则 由 替代,来就萤火虫进化作方向引导,这样,两个种群间进化中的协同性就凸显出现,是的算法的收敛速率获得大幅度提高。
2.3 IGSO算法流程
3 仿真实验
3.1 实例仿真
就IGSO算法有效性进行研究在仿真测试中运用四个经典测试函数,并同GSO的基本算法作出比较。四个经典测试函数如下:
3.2 算法性能分析
基于经典函数的仿真测试表明,就函数优化问题来看,尤其是针对复杂函数的情况下,IGSO算法的寻优能力更好,其原因在于ISGO划分萤火虫群体为两个种群,且将群组划分机制引入到GSO种群内的萤火虫,在全局信息交换和局部搜索方式的作用下,算法求解精度大幅度改善,改进后的算法采用了协同进化机制,具备群体智能特征,依靠不同群组间共享最优信息,促进了彼此协同进化的实现,促进了改进算法收敛速率的有效提高。
参考文献
[2]李咏梅,周永权,韦军.用于函数优化的层次结构萤火虫群算法[J].应用科学学报,2012,30(4):391 -396.