蝙蝠算法的研究进展

2016-11-14 01:49程春英刘娜仁
电脑知识与技术 2016年24期
关键词:改进脉冲

程春英 刘娜仁

摘要:蝙蝠算法(BA)是通过用搜索空间中的点模拟自然界中的蝙蝠个体,将搜索和优化过程模拟成蝙蝠个体搜索猎物和移动过程,将求解问题的目标函数度量成个体所处位置的优劣,在搜索和优化过程中用好的可行解取代较差的可行解的迭代过程的一种优化算法。蝙蝠算法因具有较强的鲁棒性、高效性和应用性,已成功地应用于函数优化、工程设计、分类等多个方面。本文首先给出了蝙蝠算法的原理及模型,然后列出了蝙蝠算法近几年来的改进研究,最后展望了蝙蝠算法的发展方向。

关键词:蝙蝠算法;回声定位;脉冲;改进

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)24-0187-02

Abstract: Bat algorithm (BA) is by using the search space of some model bats in the nature, search and optimization of process simulation into bats individual search prey and moving process, measures to solve the problem of objective function into individual strengths and weaknesses of the location, in the search and optimization process with good poor feasible solution to replace the feasible solution of an optimization algorithm of iterative process.The bat algorithm for has stronger robustness, efficiency and applicability, has been successfully applied to functionoptimization, engineering design, classification, and many other aspects.This article first elaborated the bat algorithm basic principle and mathematical model, and then bat algorithm existing various kinds of improved algorithm is given, and the development direction of the bat algorithm are discussed.

Key words: Bat Algorithm; Echolocation ;Impulse ;Improvement

1 引言

蝙蝠算法(Bat Algorithm,BA)是2012年杨教授提出的一种群智能优化算法[1]。该算法具有实现简单、参数少等特点,已经成为近几年启发式算法的研究热点。蝙蝠算法也像其他群智能优化算法一样是一种基于迭代的优化算法。算法初始化时随机生成一组随机解,再通过反复的迭代过程查找最优解,并且在寻优过程中会在最优解周围通过随机飞行产生部分的新解,这不仅加快了局部搜索过程,还保证了种群的多样性。

蝙蝠算法在解决函数优化问题方面表现出了良好的性能,通过对多个标准测试函数的测试,展现了在连续性优化问题中的较好应用。

2 BA的基本原理

(1)蝙蝠的行为

蝙蝠是一种具有回声定位能力的哺乳动物。蝙蝠在觅食时,通过发出声音脉冲和聆听从周围反弹回来的回声,可准确的躲避障碍物和发现猎物。

(2)蝙蝠的回声定位功能

在蝙蝠算法中提出了一些基本假设条件:

1)所有蝙蝠粒子利用自身回声定位感知与目标之间的距离,同时以一种神秘的方式辨别目标和障碍物的不同。

2)蝙蝠的位置为[xi],以速度[ui]任意地飞行,以固定的频率[fmin]、可变波长[λ]和响应度[Ao]搜索目标。它们可以判断自己与猎物之间的距离并自动地调整脉冲的波长,同时在接近目标时调整脉冲的频度[r∈[0,1]]。

3)响应度的变化从为[[+Ao,-Ao]]。

3 BA算法的数学描述

4 BA算法研究

根据文献资料的研究来看,蝙蝠算法的研究目标主要集中在如何改善蝙蝠算法的性能方面。具体改进的算法有:

刘长平等人[2]针对基本蝙蝠算法收敛精度低和易早熟的不足,采用levy飞行搜索策略来模拟蝙蝠的捕食行为,取代了原有算法的速度和位置更新公式,使得该算法有效地避免了局部极值的吸引。

贺兴时等人[3] 提出了一种基于模拟退火的高斯扰动蝙蝠优化算法。该算法将模拟退火的思想引入到蝙蝠优化算法中,并对蝙蝠算法的某些个体进行高斯扰动,提高了蝙蝠算法的搜索效果。

李枝勇等人[4]在基本蝙蝠算法的基础上结合遗传变异的思想,引入主动进化算子、无效蝙蝠和当前最优蝙蝠集聚的处理规则,提出了遗传变异蝙蝠算法,并将该算法用于求解0/1背包问题,仿真结果表明该算法在精度和收敛速度上都要要优于基本蝙蝠算法。

李枝勇等人[5]针对传统的多目标多选择优化算法由于计算复杂度非常高,难以获得满意的解的缺点,在基本蝙蝠算法的基础上,提出了一种改进的蝙蝠算法用于求解多目标多选择背包问题,并与粒子群算法相比较。仿真结果表明,该算法能够以更快的速度找到相同的Pareto,拓展了蝙蝠算法的应用领域。

盛晓华等人[6]将蝙蝠算法用于解决PFSP调度干扰研究问题,并与粒子群算法进行比较,结果表明蝙蝠算法性能不仅适用于生产调度问题的求解且优于粒子群算法。

肖辉辉等人[7]提出了一种基于差分进化算法的改进蝙蝠算法,该算法把差分进化算法中的变异、交叉、选择机制应用于蝙蝠算法,使缺乏变异机制的蝙蝠算法具有变异机制,从而提高蝙蝠算法的多样性,避免种群个体陷入局部最优,增强了算法全局寻优能力。

黄光球等人[8]采用正交拉丁方原理生成蝙蝠的初始位置,将蝙蝠的追随、自主、避险和从众行为用于构造每个蝙蝠的空间位置转移策略,根据蝙蝠捕获猎物时的响度和脉冲速率来保证整个蝙蝠群体保持原态或向好的空间转移,但绝不会向差的空间转移,提高了算法的适应性和收敛速度。

张宇楠等人[9]提出一种变步长自适应的蝙蝠算法。该算法中,步长可随迭代次数的增加而自适应地调整,从而使算法在后期获得更高精度的解。因此算法的收敛速度及精度均有明显提高,且算法在一定程度上避免了过早陷入局部最优解的问题。

冷令[10]针对入侵检测的特征和分类器参数选择问题,采用极限学习机ELM进行构建分类器,提出一种蝙蝠算法联合选择特征和分类器参数的网络入侵检测模型。算法将特征子集和极限学习机参数编码成蝙蝠个体,以入侵检测准确率和特征数加权组成个体适应度函数,通过个体和群体更新的规则引导蝙蝠向最优解飞行,从而找到最优的子特征集和极限学习机参数。

李枝勇等人[11] 对于元胞自动机原理进行研究,提出了一种元胞蝙蝠算法。该算法通过元胞及其邻居来提高算法的全局寻优能力和搜索过程的多样性。并利用该算法求解多个0/1规划问题,实验结果表明该算法具有较好的全局寻优能力和较快的收敛速度。

孙文捷等人[12]利用Fuch映射对基本蝙蝠算法的局部最优解的邻域和蝙蝠的频率变化区间进行混沌遍历搜索,提出了一种新型混合蝙蝠算法——Fuch混沌蝙蝠算法。通过仿真计算与基本蝙蝠算法相比,该算法具有较好的收敛性能,能够较快地收敛于测试算例的全局最优解,并很好地避免了搜索过程陷入局部最优的问题。

李枝勇等人[13]针对传统的蝙蝠算法在解决整数规划问题时容易陷入局部最优并出现早熟收敛现象,提出了一种基于势阱的具有量子行为的蝙蝠算法。并将具有量子行为的蝙蝠算法与粒子群算法和量子行为粒子群算法进行性能对比研究,实验结果表明,该算法不仅能够有效地解决整数规划问题,而且比其他算法具有更好的性能。

韩福霞等人[14] 为了优化信息工程监理过程中的多目标问题,通过对各目标权重分配方法的改进,构建针对各监理阶段的多目标控制优化模型,采用蝙蝠算法对其进行求解,并与粒子群算法进行比较,仿真结果表明,该算法能够适用于对信息工程监理多目标优化问题的最优解的搜索且优于基本粒子群算法。

陈绍炜等人[15]将蝙蝠算法引入到极限学习机输人权值和阈值的优化中,有机结合两种算法的优点,建立了基于蝙蝠算法优化极限学习机的故障模型,以带通滤波器作为测试电路,并和ELM、DE-ELM、SAE-ELM进行对比,仿真和实验结果表明蝙蝠算法有效地改善了ELM网络的诊断精度和泛化能力。

蝙蝠算法在函数优化问题的应用上取得了一定的成绩,但在离散优化问题上的应用却少之又少。因此,对蝙蝠算法的改进还是有很大的空间的。

1)BA算法的收敛性研究

对于蝙蝠算法的研究,还只是停留在实验研究阶段,其数学基础还很薄弱,没有其收敛性证明给予支持,因此对蝙蝠算法的收敛性研究是一个很重要的研究方向。

2)BA算法的拓展研究和混合研究

从文献资料来看,已出现了蝙蝠算法与一些常用群智能算法(遗传算法、粒子群算法等)的混合算法,但是与近几年来出现的新型群智能算法(蛙群算法、布谷鸟算法等)的混合算法的相关研究还是很少,因此,将BA算法和这一类新型群智能算法的混合研究也是一个非常重要的研究方向。

3)BA算法应用研究

从文献资料来看,目前蝙蝠算法的应用研究有:在PFSP调度和干扰管理上的应用、0/1及多目标背包问题上的应用、在分类器参数的入侵检测问题的应用、在ELM模拟电路故障诊断中的应用、在信息工程管理优化问题中的应用等等,其他应用还是集中解决函数优化问题。因此今后如何拓展蝙蝠算法的应用领域也是一个非常重要的研究方向。

参考文献:

[1] YANG X S. A new met heuristic Bat-Inspired Algorithm[J]. Nature Inspried Cooperative Strategies for Optimization,Spinger,2010:65-74.

[2]刘长平,叶春明.具有levy飞行特征的蝙蝠算法[J].智能系统学报,2013,8(3):240-245.

[3] 贺兴时,丁文静,杨新社.基于模拟退火高斯扰动的蝙蝠优化算法[J].计算机应用研究.

[4] 李枝勇,马良,张惠珍.遗传变异蝙蝠算法在0-1背包问题上的应用[J].计算机工程与应用.2012

[5] 李枝勇,马良,张惠珍.蝙蝠算法在多目标多选择背包问题中的应用[J].计算机仿真.2013,(10):350-353.

[6] 盛晓华,叶春明. 基于蝙蝠算法的PFSP调度干扰管理研究[J].工业工程,2013,16(1):119-124.

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

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

[9] 张宇楠,刘付永.一种改进的变异步长自适应蝙蝠算法及其应用[J].广西民族大学学报,20113,19(2):51-54.

[10] 冷令.蝙蝠算法联合选择特征和分类器参数的入侵检测[J].计算机应用与软件,2014.

[11] 李枝勇,马良,张惠珍.0-1规划问题的元胞蝙蝠算法[J].计算机应用研究.2013.

[12] 孙文捷,张惠珍,张建,赵坤.基于Fuch映射的混沌蝙蝠算法[J].上海理工大学学报,2014.

[13] 李枝勇,马良,张惠珍.整数规划的量子行为蝙蝠算法[J].计算机工程与科学,2014.

[14] 韩福霞,刘宏志.基于蝙蝠算法的信息工程监理多目标优化研究[J].现代计算机,2013.

[15] 陈绍炜,柳光峰,冶帅,等. 基于蝙蝠算法优化ELM的模拟电路故障诊断研究[J].电子测量技术,2015,38(2).

猜你喜欢
改进脉冲
具瞬时脉冲接种与非瞬时脉冲接种效应的一类新的SIR传染病模型研究
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
上下解反向的脉冲微分包含解的存在性
黄芩苷脉冲片的制备
“慕课”教学的“八年之痒”
无限时滞―阶脉冲中立型偏泛函微分方程温和解的存在性