蝙蝠算法应用综述

2017-01-21 16:35李丽丽
软件导刊 2016年12期

李丽丽

摘 要:受蝙蝠觅食时回声定位行为启发,剑桥大学的Yang教授于2010年提出了蝙蝠算法(Bat Algorithm, BA)。BA因具有结构简单、参数少、鲁棒性强、易于理解和实现等优点,因而受到极大关注,逐渐成为计算智能研究领域热点。阐述了蝙蝠算法的仿生原理和算法的具体流程,总结了蝙蝠算法优缺点,介绍了蝙蝠算法和改进蝙蝠算法的应用,对蝙蝠算法发展方向进行了展望。

关键词:蝙蝠算法;仿生原理;改进的蝙蝠算法;算法应用

DOIDOI:10.11907/rjdk.161982

中图分类号:TP312

文献标识码:A文章编号:1672-7800(2016)012-0170-02

1 蝙蝠算法概述

蝙蝠算法模拟蝙蝠通过回声定位捕食猎物行为[1]实现搜索问题的最优解,其模拟回声定位方式为:将每只蝙蝠个体视为当前可行域内的一个解,每个解对应一个由所优化问题确定的适应值,每只蝙蝠通过调整脉冲波长、音量、脉冲发射率3项参数来追随当前最优蝙蝠,使得整个种群在问题求解空间中产生从无序到有序的深化,获取最优解。

2 蝙蝠算法应用

自BA提出以来,已有不少学者将其应用于优化问题,包括简单函数优化、生产调度、分类类别、模式识别等,相对于PSO、GA以及HS等,BA具有更大潜能。本文从基本BA和改进的BA两方面来阐述BA的应用。

2.1 BA基本应用

为了对燃气轮机发电系统进行性能优化和状态监测,Tamiru[2]将蝙蝠算法应用于燃气轮机发电系统模型中。首先使用蝙蝠算法和局部线性模型树算法对模糊系统进行训练,然后利用该系统捕捉燃气轮机发电系统的能量损失分布及变化情况,与局部线性模型树算法进行训练结果对比,证明蝙蝠算法和局部线性模型树算法结合的有效性;Nakamura[3]使用BA解决拓扑优化问题中的弹簧问题和减速器问题,实验测试结果表明蝙蝠算法得到的解优于目前为止所有文献的最优解;Nakamura[4]首次将BA强大的搜索能力和快速查找能力结合,实验测试结果表明蝙蝠算法的解优于目前为止所有文献的最优解;Bora[5]将BA应用于求解无刷直流齿轮电机问题[6],与SQP、GA、GA&SQP、ACO、PSO的对比实验结果表明BA可行;Fister[7]引入BA对运动员运动过程数据进行处理,给教练提供智能体育训练计划,与DE、PSO、DET进行对比实验证实BA的可行性;Yang[8]使用BA求解3个基准工程约束优化问题,实验结果表明BA的求解结果优于目前最优解。Taher[9]应用蝙蝠算法求解机组负荷经济调度问题,与PSO的对比实验表明BA的可行性与有效性。

2.2 改进的BA

基本BA存在易陷入局部最优导致早熟收敛问题,不少学者对基本蝙蝠算法进行相应改进以获取更好的解。

2.2.1 基准测试函数求解

Tsai[10]重新定义了蝙蝠的运动方式和随机游走过程,和基本BA进行对比测试,结果表明了该算法的有效性;Guanghui Liu[11] 提出了多普勒效应蝙蝠算法,给出发现猎物、靠近猎物、捕食猎物时蝙蝠声波频率变化公式,通过和PSO、基本BA结果对比,证明了该算法的有效性和快速性;刘长平[12]对BA迭代过程中产生的较优解进行混沌优化,较差解用新的解予以替换,与PSO、BA求解结果对比,表明BA是解决工程应用中复杂函数优化问题的一种有效方法;谢健[13]将Levy飞行作用于蝙蝠位置的更新公式中,通过和基本BA求解结果对比,表明该BA的有效性和可行性;黄光球[14]把基本蝙蝠的回声定位方式改进为追随、自主、避险或从众行为运动,通过和基本BA、改进自组织迁移算法的求解结果进行对比,表明该算法具有较强的全局收敛性;肖辉辉[15]对BA迭代过程中产生的解进行变异、交叉、选择操作,得到新的解,和基本BA仿真结果对比,表明该BA能够增强算法的全局寻优能力。通过这两种BA求解非线性方程组问题,验证了BA的可行性和有效性,扩展了蝙蝠算法的应用范围;李枝勇[16]用量子旋转门和非门分别实现搜索和变异;高珊[17]使用小生境技术把蝙蝠划分为若干类,每个类内部通过共享适应度函数和排挤机制提高种群多样性。通过与PSO、GA、CS对比,表明改进的BA能够有效避免了局部最优,提高了全局寻优能力。

2.2.2 规划问题求解

李枝勇[18]为了求解多目标0-1规划问题,重新定义了蝙蝠位置和速度的更新公式,将约束条件转化到目标函数,把问题转化成无约束形式,通过和元胞蚁群算法、枚举法进行对比实验,证明了蝙蝠算法在解决多目标0-1规划问题上的有效性和优越性;李国成[19]在评估蝙蝠个体过程中嵌入交叉熵操作来更新蝙蝠位置,通过和HS、GA求解绝对值方程结果进行对比,表明该算法具有较强的全局搜索能力和稳定性;Taher和Farhad[20]使用自适应启发式蝙蝠算法解决机组组合优化问题,通过和GA、DPSO、HPSO、SFLA对10~100个单元的集成系统问题和38个单元、不间断调度的集成系统问题求解结果对比,证明了该算法的有效性和快速性。

2.2.3 模式识别问题求解

Behnam[21]提出了多普勒效应蝙蝠算法。算法中加入多普勒效应特性,靠近猎物时声波频率增大,远离时声波频率减小,以此调节搜索过程中蝙蝠的声波频率,通过和ACO、PSO检测钓鱼网站的正确率和错误率进行对比,表明该算法稳定可行;为了提高BA的求解精度, Chen[22]根据蝙蝠和猎物速度方向的不同给出不同的声波频率更新公式,通过对燃气涡轮发电机进行故障检测和诊断,对比实际故障数据和该算法预测数据的偏差,证明了该算法的准确性。

3 研究展望

综上,蝙蝠算法未来研究方向如下:

(1)参数的敏感性研究。对不同的变量比如α、γ值的改变对算法收敛速度和结果的影响进行分析,在总结各参数变化对结果影响的基础上,设计出更好、更稳定、更快速求解问题的BA算法。

(2)BA与局部启发式算法相结合。利用BA自适应的随机搜索性,探索潜在的最优空间。局部启发式算法能对BA的搜索空间进行深入搜索,两相结合能在提高收敛速度和寻求全局最优之间找到一个平衡点,从而跳出局部最优解,提高求解精度。

(3)BA与其它概念相结合。目前,BA与其它概念(多普勒效应、混沌蝙蝠等)相结合进行改进都取得了很好的效果。因而,BA与其它概念结合并进一步自然延伸,会促使BA产生更有趣的变种。

参考文献:

[1] XIN SHE YANG. A new metaheuristic bat-inspired algorithm[J]. Nature Inspired Cooperative Strategies for Optimization, SCI,2010,284(1):65-74.

[2] LEMMA, TAMIRU ALEMU.Use of fuzzy systems and bat algorithm for exergy modeling in a gas turbine generator[J]. Science and Engineering, 2011(5):305-310.

[3] XINSHE YANG,MEHMET KARAMANOGLU,SIMON FONG.Bat algorithm for topology optimization in microelectronic applications[C]. 1st International Conference on Future Generation Communication Technologies, 2012:150-155.

[4] R Y M NAKAMURA, L A M PEREIRA, PEREIRA K A, et al. A binary bat algorithm for feature selection[C]. IEEE XXV SIBGRAPI Conference on Graphics, Patterns and Images, 2012:291-297.

[5] TEODORO C BORA, LEANDRO DOS S COELHO, LUIZ LEBENSZTAJN. Bat-inspired optimization approach for the brushless dc wheel motor problem[J]. IEEE Transactions on Magnetics, 2012, 48(2):947-950.

[6] S BRISSET,P BROCHET.Analytical model for the optimal design of a brushless DC wheel motor,COMPEL:int J comput math elect[J].Electron Eng,2005,24(3):829-948.

[7] FISTER L, RAUTER S . Planning the sports training sessions with the bat algorithm[J]. Neurocomputing, 2015, 149(PB):993-1002.

[8] XINSHE YANG, SIAMAK TALATAHARI. Bat algorithm for constrained optimization tasks[J]. Neural Computing and Applications, 2013, 22(6):1239-1255.

[9] THOLATH JOSE, JULIA. Economic load dispatch including wind power using bat algorithm[C].Proceedings-2013 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2013(2):806-811.

[10] TSAI, PEI WEI, PAN. Bat algorithm inspired algorithm for solving numerical optimization problems[J]. Mechanics and Materials, 2012(1):134-149.

[11] GUANGHUI LIU, HEYAN HUANG. An improved bat algorithm with doppler effect for stochastic optimization[J]. International Journal of Digital Content Technology and its Applications, 2012, 6(21):326-336.

[12] 刘长平,叶春明.具有混沌搜索策略的蝙蝠优化算法及性能仿真[J].系统仿真学报,2013,25(6): 1183-1195.

[13] 谢健,周永权,陈欢.一种基于Lévy飞行轨迹的蝙蝠算法[J].模式识别与人工智能, 2013,26(9):829-837.

[14] 黄光球,赵魏娟,陆秋琴.求解大规模优化问题的可全局收敛蝙蝠算法[J].计算机应用研究,2013,30(5):1323-1328.

[15] 肖辉辉,段艳明.基于DE算法改进的蝙蝠算法的研究及应用[J].计算机仿真,2014,31(1): 272-301.

[16] 李枝勇,马良,张惠珍.函数优化的量子蝙蝠算法[J].系统管理学报,2014,23(5):717-722.

[17] 高珊,马良,张惠珍.函数优化的小生境蝙蝠算法[J].数学的实践与认识,2014,44(15):253-260.

[18] 李枝勇,马良,张惠珍.多目标0-1规划问题的蝙蝠算法[J].智能系统学报,2014,9(6):672-676.

[19] 李国成,肖庆宪.绝对值方程的交叉熵蝙蝠算法求解[J].计算机应用研究,2014,31(10):2965-2985.

[20] NIKNAM T, BAVAFA F, AZIZIPANAH-ABARGHOOEE R. New self-adaptive bat-inspired algorithm for unit commitment problem[J]. IET Science, 2014, 8(6):505-517.

[21] DAMODARAM R, PHIL M,VALARMATHI M L.Phishing website detection and optimization using modified bat algorithm[J]. International Journal of Engineering Research and Applications,2012,2(1):870-876.

[22] YITING CHEN, BINYIN LIAO, CHINFENG LI. An adjustable frequency bat algorithm based on flight direction to improve solution accuracy for optimization problems[C]. International Conference on Robot,2013:172-177.

(责任编辑:杜能钢)