APP下载

天牛须搜索算法研究综述

2021-06-23廖列法

计算机工程与应用 2021年12期
关键词:天牛步长种群

廖列法,杨 红

江西理工大学 信息工程学院,江西 赣州341000

元启发式算法因其较好的灵活性、鲁棒性及避免局部最优的能力而广受欢迎,常见的有粒子群优化算法(PSO)[1]、人工蜂群优化算法(ABC)[2]、果蝇优化算法(FOA)[3]、遗传算法(GA)[4]等,在许多实际工程领域的应用中都有着举足轻重的地位。人类对大自然生物的探索,受到其社会行为的启发,提出了多种智能优化算法。剑桥大学学者Yang受萤火虫闪烁以吸引异性求偶的行为的启发,提出了萤火虫优化算法(FA)[5],该算法依赖萤火虫之间的吸引进行移动;Mirjalili等受灰狼协作的捕食行为启发,提出了灰狼优化算法(GWO)[6],该算法依赖灰狼之间的协作进行优化;Dorigo等受到蚂蚁觅食过程的启发,提出了蚁群算法(ACO)[7-8],该算法依赖先前走过的蚂蚁产生的信息素前进。

Jiang和Li在2017年受到天牛觅食及寻偶行为的启发,提出了天牛须搜索算法(BAS)[9]。天牛在空气中捕获食物及潜在配偶的味道,根据天牛两侧天牛须检测到的气味浓度前进。该算法复杂度低,且不需要知道梯度信息等就能实现优化的目的。该算法与众多新型及主流智能优化算法相比也极具竞争性[10],与PSO算法相比,虽然二者都无法避免陷入局部极值,但BAS跳出的能力更强,收敛速度也更快。GA算法有时需要二进制编码,计算量较大,BAS则不需要,运行速度也远远快于GA。BAS算法需要的初始参数比FA算法更少,故而受参数敏感性的影响也更小,BAS核心代码非常短,仅四行,易于实现且方便用任何语言编写。而与蝙蝠算法(BA)及人工蜂群(ABC)相比,效率更高且复杂度极低。另外,由于迭代期间仅单个天牛,在时间和空间复杂度方面都比多数群体智能算法要低,效率也更高。

自BAS算法提出后,就被国内外学者们广泛研究和关注,从当前对BAS算法的研究来看,该算法已被成功应用于多个领域且一直处在增长阶段,例如:机器人路径规划及其避障、PID参数整定、图像增强、故障诊断、神经网络等。本文首先回顾了BAS算法的原理和基本步骤;然后对该算法的变种及其在各个领域的应用做了一个全面的综述,方便于其他学者快速了解BAS算法及其国内外研究最新进展与成果;最后对该算法进行展望并进一步扩展其研究方向。

1 天牛须搜索算法

在寻找食物过程中,天牛并不知道食物的具体位置,它通过头上的左右两个触角对周围环境中气味的浓度进行捕获。倘若天牛探测到左侧触角感知的浓度更大,便向左侧前进;反之,则向右侧前进。通过这一简单原理,天牛最终能有效地寻找到食物。

该算法用数学模型表示的寻优步骤如下:

(1)天牛在任意位置时,头的朝向都是随机的。在维度D中,天牛朝向向量表示并归一化为:

(2)天牛左右须xleft、xright位置可用天牛质心位置x m和两须距离d m表示为:

(3)依据适应度函数f(x)计算天牛两侧触须的气味浓度,即f(xleft)和f(xright)。为了模仿天牛探测机制,生成以下位置更新迭代模型:

式(3)中,δm为m时刻的搜索步长。

(4)天牛步长δ与两须距离d的更新规则如下,当然,也可以取一个特定的值,依实际情况而定。

式(4)中,d e和δe分别表示d和δ的递减因子。

由于算法寻优过程中,仅有单只天牛,并非种群,故而算法所需参数少,代码简单,计算量也远小于其他算法,复杂度低,但也因此而失去了种群多样性,算法的单一性使得其易陷入局部极值。

2 BAS算法改进策略

虽然BAS算法在各领域优化问题上表现出了良好的性能,但是该算法依然存在缺陷,例如算法收敛速度慢,在处理高维复杂问题上,精度低且易陷入局部最优,优化效果不佳等。为了解决这些问题,学者们对算法不断进行完善和改进。主要的改进方法有以下几类。

2.1 改进搜索步长

(1)Khan等[11]为了避免BAS算法陷入局部极小值,提出一种将自适应矩估计(ADAM)与BAS算法结合的改进算法(BAS-ADAM)。使用ADAM在算法每次迭代中调整每个维度的搜索步长,步长更新规则相关公式如下:

式中,xnew为自适应调整步长后产生的新解,δ0为初始步长,δm(∇͂m)为估计梯度值∇͂m的函数,ŷm和êm分别为m时刻的一阶动量y和二阶动量e偏差修正后的值,γm和βm分别表示m时刻一阶和二阶动量衰减因子。不过,由于算法用了k个搜索粒子,时间复杂度有所增加。另外,Nesterov自适应矩估计(Nadam)抑制震荡的效果比Adam好,也可以考虑用Nadam对算法改进,进一步提升算法稳定性。

(2)Wang等[12]为了解决算法过度依赖于甲虫的随机方向和每次迭代都要更新天牛位置、步长的问题,提出了一种反馈步长更新策略和BAS算法结合的天牛群搜索算法(BSAS)。BSAS算法引入了概率常数Pδ和随机数rand(1)的概念,Pδ用来度量随机方向对算法的影响,将随机数与Pδ比较,来决定是否需要更新步长。若rand(1)>Pδ,表示大多数情况下,k只天牛在当前步长无法找到更小的最优值,则更新步长与两须间距;反之,保持步长、两须间距不变。两须间距与步长更新规则如下:

式(9)中,d0和δ0分别为左右须初始间距和初始步长。该改进方法增强了处理高维问题的能力,却忽视了种群对算法性能的影响,可以考虑用混沌映射初始化种群或拉丁超立方抽样(LHS)选取更优的种群。

(3)徐鑫等[13]为了提高BAS算法精度和稳定性,加快收敛速度,提出来一种引入精英个体和包围机制的改进算法。算法利用包围机制减少参数,让步长在迭代过程中自适应地更新,利用精英个体使得天牛能更好地寻优。步长调整公式如下:

2.2 引入混沌概念

(1)郑源等[14]把混沌迁移概念引入BAS算法。首先,用LHS选取多样性好的种群,迭代时期,天牛群依赖最优天牛的相似度进行混沌迁移,最后为使天牛群在更新时高效的信息交互,采用社会学习策略。相关公式如下:

式(12)中,x s为混沌序列的第s个变量,bmax和bmin为序列上下边界。

引入社会学习的天牛群位置、速度更新公式为:

上式中,P i为学习概率,为m+1时刻天牛i的第j维的位置,c1,c2,c3∈[0,1],为m时刻天牛群在j维位置的平均值,ε为影响因子。算法引入社会学习策略,让天牛群中差的个体随机向比自己好的个体学习,每次都可向多个个体学习,保证了种群之间的信息交互,从而在一定概率上增加了算法跳出局部极值的可能。SLBSA算法虽然在成功率、收敛速度和精度都有一定提升,但实验表明,在所选的基准函数中,算法均未收敛到0。

(2)赵玉强等[15]提出一类带群体学习和竞争机制的改进BAS算法(LCCBAS),以解决BAS算法多维寻优收敛慢的缺陷。LCCBAS算法用混沌序列初始化天牛群,天牛群之间实现信息传递与反馈,位置更新不再仅限于自身经验判断,位置更新规则及相关公式如下:

式(16)由三部分组成,第一部分是天牛上一时刻的位置,第二部分为个体认知,δm为认知因子,按公式(17)计算,第三部分为群体经验,c为学习因子,c∈[1,2]。(17)式中,f、f a、fmax、fmin分别为当前天牛适应度、最大群体适应度、最小群体适应度。

式(18)用于计算聚集度,N为天牛群个数,为m时刻天牛i和j的相似度。算法实验中选取得到最高维度仅为50,没有解决算法在高维优化上精度不高的缺陷,而且实验结果表明,算法在Ackley函数上的收敛效果与对比算法相差并不大。

2.3 混合算法

2.3.1 与粒子群算法PSO结合

Lin等[16]提出将BAS算法结合PSO算法的一种混合算法(BAS-PSO),用标准PSO更新种群中每个粒子位置和速度,以保留PSO侧重全局搜索的优点,将每个粒子看作是一只独立的天牛,用BAS算法进行局部搜索。利用四个基准函数测试,实验表明,提升了局部、全局搜索性能,寻优效果优于BAS和PSO算法,BAS-PSO选用群体机制,且需要多次计算适应度值,后期也并未对算法进行减小复杂度的改进,使得该算法的寻优速度有所下降。Li等[17]将该算法用来解决电力系统的经济负载分配(ELD)问题,优化效果比混沌迭代、遗传和粒子群算法更好。Wang等[18]发现BAS算法过于依赖个体的初始位置,借鉴PSO的优化原理,将天牛个体扩展到一个种群的天牛群优化算法(BSO),以提高算法的优化速度、准确性和稳定性。BSO与PSO、GA、GOA算法相比,有比较好的性能,最后,将BSO用于压力容器和Himmelblau工程设计问题,稳定性和收敛速度较好,该算法的优化效果比其他算法更好。陈婷婷等[19]把BAS和PSO算法有效结合,用BAS构建粒子新的更新规则,将改进算法应用于AI概念股投资组合,计算得出的风险值更低,搜索能力更强。Song[20]将BAS与PSO算法结合,用天牛位置更新公式更新粒子位置,将天牛搜索机制用于群体搜索,改进算法应用于无线传感器网络覆盖,仿真结果表明比标准PSO算法更优,覆盖范围更广。Xie等[21]将PSO算法粒子更新思想引入BAS算法中,将BAS的左右两须的历史最优值用于更新天牛新位置,改进了BAS算法的搜索策略,以解决船舶避碰问题,实验表明,在KVLCC2船舶模型和多船模型上都能有效避碰,不过,仿真的预测范围对实验也存在影响,可考虑设置不同预测范围进行实验。简琤峰等[22]提出天牛须粒子群算法(BAPSO),将天牛个体扩展到一个种群,同时将二阶震荡机制、动态因子用于改进该算法,在保障用户体验质量(QoE)的同时,应用于求解边缘计算下的资源协同和调度,实验表明,BAPSO能在符合条件下找到请求执行时间尽可能小的解,具有实用性。

2.3.2 与花朵授粉算法FPA结合

Lei等[23]提出把BAS算法与FPA算法结合的优化算法(BFPA),全局搜索时期,用蝴蝶授粉策略提高搜索性能和收敛速度,局部搜索时期,用BAS算法跳出局部极值,结果表明,比其他花授粉改进算法性能好,但该算法在Schwefel 2.21上与PFA效果差不多,优化不显著。邵良杉等[24]提出一种把天牛须搜索引入FPA算法的改进算法(BASFPA),该算法在全局搜索时期使用天牛须搜索,局部搜索时期采用变异策略,既加快了收敛速度,又使算法一定程度上提升跳出局部极值的能力,将算法用基准函数测试,结果表明,BASFPA在低、高维的精度和寻优速度都比其他算法好。韩瑞达[25]提出天牛须搜索、变异策略、FPA算法结合的改进算法(BMFPA),由于FPA算法搜索时没有用到全局最优解,对有效信息利用不充分,提出加入全局最优的变异策略,并引入小概率突变,且对最优个体突变无效,以此增加种群多样性,避免进入局部最优。将算法在低维、高维、固定精度情况下进行对比实验,结果表明,算法在寻优速度和精度上优于其他对比算法,但该算法只在局部搜索时引入小概率变异,变异条件比较简单。

2.3.3 与遗传算法GA结合

冯晓东等[26]提出一种GA算法与BAS搜索结合的杂交算法(BAGA),此算法引入天牛须搜索算子加强算法局部寻优性能,通过数据驱动降低杂交后算法的运算量,在桁架优化中表现出了良好的准确性,算法优化的成功率有所提升,但桁架用钢总量并未减少,也就是说算法并未对桁架结构进行更好的优化。赵玉强等[27]考虑到BAS和GA算法的优缺点,提出两者的混合算法(BASGA),先用多向感知模型和探路反馈改进BAS算法,将其加入到自适应交叉、变异的GA中。算法的交叉算子及交叉、变异概率调整种群丰富度。迭代早期,交叉概率大,产生的新个体也多,种群丰富度得以保证。为避免后期种群同类化,选取10%的个体参与BAS搜索也有效保留了种群多样性。改进算法很好地克服了BAS、GA算法各自的缺陷,但一定程度上提高了时间复杂度。邱彬等[28]把BAS与改进GA算法结合,构造合适的适应度函数以及开关函数,利用BAS搜索初始化种群,对IEEE33节点配电网模型仿真,在单重、多重故障和信息畸变情况下,算法都能100%精确找到故障位置,容错性好。

2.3.4 与人工蜂群算法ABC结合

Zhang等[29]受ABC算法的启发,提出了多任务甲虫天线群算法(MBAS),此算法借鉴ABC的蜂群结构,将k维空间的天牛群按一定比例分为搜索者、追随者和探索者三类。搜索者在可行解集内找到最优解并用BAS算法更新其位置;追随者跟随部分搜索者,搜索当前全局最优周围的潜在解;探索者为防止陷入局部最优,以特定的步长随机移动。将算法应用于极限学习机ELM,结果表明,极大程度提升了稳定性和泛化能力。由于算法为了增加种群多样性,扩展成了天牛群,而每只天牛寻优过程中需要计算三次适应度值,这很大程度上增加了算法的计算量和计算时间。Cheng等[30]提出了一种改进的ABC算法(BAS-ABC),从天牛的搜索过程中确定蜜蜂前进的方向,提高算法效率,将BAS-ABC、ABC、PSO算法在基准函数上优化效果进行比较,结果表明,BAS-ABC算法有更高的精度和搜索速度。

2.3.5 与灰狼算法GWO结合

Fan等[31]针对灰狼多样性不足带来的反复停滞和狼群社会等级导致陷入局部极值的可能,提出BAS算法与GWO算法结合,将天牛天线策略引入灰狼算法的改进算法(BGWO)。算法中社会等级首层是领头狼,它负责作出行动决策,其他狼服从命令。狩猎过程中,领头狼所处的位置就极为重要,类似于BAS算法中的天牛,BGWO算法让领头狼获得听觉,增加了其对猎物判断的条件,使其根据左右耳的听觉判断猎物距离,并通过双耳不同位置的声音决定是否更新狼群位置。用23个基准函数和压力容器、焊接梁、悬臂梁、拉伸/压缩弹簧设计四个工程问题进行测试,实验表明,GWO算法有更快搜索速度和更好的鲁棒性。

2.3.6 与蚁群算法ACO结合

Zhang等[32]提出了一种新的天牛群体优化算法(BCO),该算法引入BAS算法和集群智能的ACO算法模式,每只蚂蚁的状态更新不再是按照原来的概率机制,而是采用一个随机方向,并将单体搜索与群体机制进行有效平衡。BCO算法在解决旅行商问题上,能有效搜索到与ACO算法差不多的最优路径,虽然都是群体算法,但BCO寻优速度比ACO快;二次分配问题上,BCO优化结果比ACO更小;无人机路径规划问题上,算法搜索广度和效率有所提升,具有较好的实时性,但由于算法的不确定性,无法衡量可行解与最优解的偏差。

2.3.7 与模拟退火算法SA结合

卢光辉等[33]提出一种改进的BAS算法(IBAS),将SA算法中的蒙特卡洛法则引入BAS算法,以解决分布式电源(DG)选址定容规划,结果表明,IBAS算法收敛快且具有实用性,但该算法在DG选址定容规划的优化精度比PSO略差。周田江等[34]提出SA与BAS融合的混合算法(SABAS),引入自适应因子加快寻优收敛,融合SA算法跳出局部最优,用六个基准函数对算法进行测试并与BAS、BSAS、SA算法比较,实验表明,改进算法在多维函数上寻优能力好。但算法跳出局部最优具有概率性,可能导致算法不稳定。汪玉凤等[35]提出采用变步长的BAS算法结合SA算法的改进算法(SABAS),在更新最优适应度值阶段加入Metropolis准则,设计最大功率点追踪(MPPT)控制方法,该方法追踪效果稳定,但在单峰静态条件时,SABAS方法比BAS慢一些。

为更直观地展现BAS算法与其他智能优化算法结合的影响,对改进后的混合算法的改进机制、优缺点及其适用场景进行了汇总,如表1所示。

2.4 其他策略

2.4.1 与二次插值结合

廖列法等[36]将二次插值引入BAS算法,提出了一种新的BAS算法(QIBAS),此算法利用天牛每次迭代时的左右两触角的位置作为插值区间,构造与目标函数值类似的二次多项式,以此求得区间最优解,将其与全局最优解比较,取更优赋给全局最优,反之不更新。该方法用二次插值增强了算法的局部搜索性能,从而避免局部最优。将算法取多个维度在单峰、多峰函数上进行测试,实验结果表明,算法在精度和速度方面有极大提升。QIBAS算法在高维上有极好的优化效果,但缺少对该算法的实际应用,不能充分证明算法的实用性。

2.4.2 与Levy飞行和自适应策略结合

Xu等[37]提出基于Levy飞行和自适应策略的BAS算法(LABAS)。用精英个体更新种群信息,对初始种群、精英个体采取广义对立学习策略,搜索阶段引入Levy飞行,步长自适应更新。Levy飞行可以最大程度地增加搜索空间效率,其特点是频繁对短距离进行局部搜索,偶尔大范围的跳跃,大幅度改变运动方向,以避免算法得到局部最优。LABAS算法在10个基准函数上测试并与其他6种算法比较,结果表明,LABAS算法寻优精度、速度和稳定性方面都更胜于6种对比算法。虽然LABAS算法在大部分基准函数上都表现出了优于原BAS算法的性能,但在Griewank函数上,只能偶尔搜索到0,存在不稳定的问题,其他函数上精度都有一定程度提升。同时,算法目前并不适用于多目标和离散化优化问题。BAS算法更多改进策略可参考文献[38-39]。

表1 BAS混合算法优缺点及其应用汇总

将算法改进搜索步长、引入混沌概念及其他策略的改进机制、改进后算法优缺点及适用场景进行汇总,如表2所示。

3 BAS算法应用研究

3.1 PID控制器

Xie等[40]将BAS算法结合PID控制器,调节IGBT的导通时间和顺序,实时调整电磁力的方向和大小,BAS+PID应用于升降电磁铁的系统,电流超调量小,响应快;Zhou等[41]也将BAS算法与PID结合,BAS-PID实现无人帆船航向控制,具有更高的控制稳定性;Wang等[42-43]引入BAS算法调整PID参数,解决控制参数调整难等问题,用船舶的MMG模型进行仿真,实时获取最优船舶航向,比手动调整精度更高更快;Fan等[44]将BAS与PID结合的复合PID,用BAS调整PID参数,抑制干扰信号,应用于电液伺服系统,极大增强了系统的性能,能够有效满足系统控制需求;山石姣等[45]将BAS算法与蝙蝠算法融合,整定PID参数,与BAS算法相较,稳定性更高,响应更快;吴强等[46]则将BAS算法融合进PSO算法后,再进行PID参数整定,控制器各项指标都得到了提升;刘云飞等[47]和金爱娟等[48]也用BAS优化PID参数。

3.2 电力调度

谭碧飞等[49]结合协同进化框架和PSO思想改进BAS算法,用中国某微网系统进行仿真,改进后算法收敛速度和稳定性更佳;Li等[50]用BAS算法分别解决互补系统和等效负荷中波动性最小的调度模型,降低太阳能、风能对电网运行的影响;Zhu等[51]用BAS算法来解决运行成本和污染处理成本最小的两个多目标优化模型,算法在仿真中表现出了良好的可行性;Cao等[52]先用变分模式分解技术对初始荷载数据进行处理,然后将天牛群优化算法用于获得ELM的最优输入权重和隐藏层的阈值,建立预测模型,结果表明准确性比其他方法高。

3.3 定位

邹东尧等[53]将BAS算法用于室内定位,先用测距技术得到锚节点和未知节点的距离,并用卡尔曼滤波对数据预处理,然后用BAS算法定位未知节点的具体坐标,与GA和PSO算法相比,定位效率明显提高;邹东尧等[54]随后又提出一种测距定位方法,引入BAS算法优化BP网络进行拟合,获得测距模型并得到距离值,最后用极大似然估计法求得所需坐标;刘影等[55]也将BAS算法解决室内定位问题,首先拟合测量的接受信号强度值,得到其传播模型,计算出锚节点和未知节点的距离,最后使用BAS算法定位未知节点;Jiang等[56]用天牛群算法对风力涡轮机损伤部位定位,用松动的螺栓进行测试,算法准确定位到了结构损伤部位。

3.4 经济

王付宇等[57]用BAS算法优化BP网络,选用一定数量的装配式建筑对其投资估算,BAS-BP网络精确度和稳定性比BP网络估算的更高;Katsikis等[58]将惩罚函数加入到BAS算法,以解决时变最小成本投资组合保险(TV-MCPITC)问题,结果表明,在数值模拟和实际场景中都是有效的。

表2 BAS改进算法优缺点及其应用汇总

3.5 网络

徐佑宇等[59]先选取候选簇首,然后用BAS优化候选簇首,以获得最优簇首集合,提出的算法用于无线传感器网络(WSN)检测,网络生命周期显著延长;Yin等[60]先对BAS进行改进,将固定的天牛触须长度和步长调整为可变的,并对迭代过程的值都离散化,最后用改进的BAS算法搜索最优服务功能链映射方案,算法在网络延迟方面展现了较好的性能,且降低了资源消耗;Li等[61]首先对BAS算法进行改进,将其与GA算法相结合,再引入合同网协议,任务节点根据改进算法优化得到的最优方案划分为多个子任务,并将子任务分配给雾节点,以解决雾计算网络任务卸载问题。

3.6 支持向量机SVM

Wang等[62]将BAS引入SVM,提出一种能诊断滚动轴承故障的方法,先用多尺度排列熵对滚动轴承进行特征提取,接着提出马氏半监督流形学习算法,对特征集降维,最后处理过的特征集输入被BAS优化的SVM中,用于识别滚动轴承的状态;方涛等[63]用BAS算法优化SVM的惩罚因子及核函数参数,让BAS-SVM诊断变压器绕组是否故障;Sun等[64]则是用BAS算法优化SVM的超参数,得到最优超参数,建立的SVM-BAS模型能有效地预测煤混凝土的杨氏模量。

3.7 图像处理

马吉明等[65]将混沌扰动引入BAS算法对其进行改进,将迭代分为扰动和原始搜索两部分,随后,改进的BAS对图像进行增强,结果表明图像更清晰,层次更丰富;Wang等[66]用自适应因子对BAS进行改进,用改进算法优化神经网络初始的阈值,应用于人脸分类,该方法所需的训练时间短,准确性、稳定性高;肖振久等[67]提出一种零水印算法,用BAS算法自适应搜索最优的最抗攻击缩放比例参数,用以提取图像中的水印;肖振久等[68]又将零水印算法进行改进,在原有基础上引入分块非负矩阵分解,实验表明该算法降低了虚警率,增强了鲁棒性;李桃等[69]把二维灰色Ostu算法和BAS算法结合,用BAS算法更快搜索到分割阈值并有效分割图像,该算法与基于遗传的分割算法相比,能更快分割图像,分割效果也更优;唐艳等[70]和Jiang等[71]也将BAS算法用于图像处理。

3.8 神经网络

Cai等[72]用BAS算法找到最优值替换Elman神经网络中的初始权重及阈值,构建BAS-Elman模型,将该模型与GA-Elman模型及其他模型相比较,该模型精度更高,可用于隧道工程爆破振动速度的预测;Huang等[73]则用logsig函数来改变步长变化系数,改进BAS算法,并用于短期电力负荷的预测,结果表明,改进后的BASElman模型比BAS-Elman运行时间更短,预测更精准;任乾华等[74]用BAS算法对Spiking神经网络的突触延时和连接权重进行初始化,构建BAS-SNN模型,用于串扰电压预测,与PSO-SNN模型相比,BAS-SNN精度更高且鲁棒性更强;Wu等[75]将BAS算法对新型神经网络分类器NNC隐藏层和输出层之间的权重进行优化,提升了计算速度和预测精度;王甜甜等[76]用BAS算法搜索BP神经网络中的初始权重及阈值并用于预测风暴潮灾害带来的损失,BAS-BP模型寻优速度和精度明显提高;更多BAS算法优化神经网络在各个领域的应用可参考文献[77-79]。

3.9 路径规划

Lin等[80]用BAS算法解决机器人的路径规划问题,判断天牛的位置和行进轨迹在不在有效区域,以此决定机器人要不要避障,将BAS算法与快速扩展随机树算法RRT相比,BAS算法最优路径搜索能力和避障能力更强;Zhang等[81]将BAS算法和GA算法结合,对天牛群的每个个体加入了交叉、变异操作,提出的新算法BAS-GA用于焊接机器人的路径规化,结果表明实用性较强;王雨露等[82]通过改变步长和天牛两须间距改进BAS算法,用于自动引导小车AGV的路径规划,结果表明,算法在复杂环境下也能很快地找到最优路径;Wu等[83]将回退机制引入BAS算法,天牛在搜索过程中进入死胡同时,则回退一段距离,再重新搜索,对移动机器人规划路径以解决发生碰撞的问题,实验表明,算法具有有效性且时间复杂度低等优点;Song等[84]用BAS算法优化人工势场法中的引力和排斥增益系数,应用于高速旋翼无人机的实时轨迹规划,该算法能更快更安全地到达目的地;Zhou等[85]和Wang等[86]也将BAS算法用于机器人路径规划。

3.10 其他

Yang等[87]用二进制编码来表示天牛初始位置,增加变异、交叉、吞噬和淘汰作用,以松花江特大桥进行仿真实验,结果表明,算法全局寻优能力更好,收敛速度更快,适用于大型桥梁传感器位置的布置;Wang等[88]将变步长的BAS算法用于评定空间直线度;Miao等[89]提出三个带或不带偏置的能效优化问题并转化为凸优化问题,再引入不同步长、搜索策略和目标函数的变体BAS算法解决它,结果表明,在带偏置噪声的带式输送机上能效优化非常有效;孔慧华等[90]将BAS算法引入全变分最小化过程,从梯度下降或BAS算法优化的最优方向中任意选择一种对图像更新,将改进算法应用于CT内重建,实验结果表明,重建效果比一般方法效果更好;Li等[91]提出改进BAS算法,将一只天牛扩展为一群,并根据天牛离最优值的远近划分区域,实行不同的更新规则,将该算法应用于三轴磁力计的校对;更多有关BAS算法的应用研究可参考文献[92-95]。

4 展望

BAS算法作为一种提出时间不长的智能算法,在提出以来受到了众多海内外学者的广泛研究,由于研究还只是初期阶段,不够深入,还存在许多未解决的问题,算法的理论、改进及其应用研究都有很大前景,BAS算法未来的研究重点可以从以下几点考虑。

(1)BAS理论研究。BAS算法提出时间较短,理论研究相对较少。由于参数设置较敏感,分析算法的不同参数对其性能的影响,增强算法理论依据是非常具有研究意义的。例如:步长及天牛两须间距等参数对算法迭代过程影响较大,可以从理论上进行分析,设定合适的参数规则或自动化设置参数。对BAS算法的全局和局部搜索性能进行理论分析,探讨寻优机制对算法的影响,为算法改进提供正确理论指导;另外,对BAS算法的收敛性、稳定性、复杂度等其他特性,及影响这些性能的重要因素也有必要进行深入的分析,为算法提供理论支撑。

(2)BAS改进研究。根据BAS目前还存在的一些不足进行深层次的研究。比如为解决易陷入局部极值等问题,本文已提到过的引入精英个体策略、社会学习策略、小概率突变及调节混合算法中GA算法的交叉、变异概率等,都是从增加种群多样性为出发点进行改进,避免算法得到局部极值。增加种群丰富度、多样性,以此增大群体间有效信息的交互是解决此类问题用的最多的一种方法,而采用何种策略对算法信息进行高效交互也是一个值得研究的问题。当然,也有对搜索过程中跳出局部最优的方法,例如引入二次插值,加上Levy飞行,或者将种群进行分组后采取不同搜索策略。二次插值以增强局部搜索得以跳出局部极值,而Levy飞行则是利用该策略的自身搜索特点。综上,为避免局部最优,可以考虑用增加种群丰富度,增强局部搜索,利用改进策略特点等方法。目前,大部分方法都是在一开始就加入了改进策略,这就有可能导致不必要的计算,增大计算量,可以考虑设置成检测到陷入局部极值或即将陷入时执行改进策略。大部分对BAS算法的改进都是将的单体机制扩展为群体机制,这就需要考虑初始解质量的优劣及分布是否随机且均匀,就目前来看,对这方面的改进还是相对来说比较少。步长对BAS算法性能影响较大,在不同的应用场景中如何定义步长的范围也是很重要的研究,在高维情况下,步长分量太小,效果不佳,步长太大,可能错过最优解。还可考虑减弱算法对参数设置的敏感度,增强算法稳定性。或者借鉴其他算法的繁殖、视觉、社会等级、克隆等机制对算法的搜索策略进行改进,以提升算法各方面性能。

(3)BAS应用研究。文中许多学者对算法进行了多方位的改进,但其实可以看出,大部分可能仅是用基准函数对其测试,数值优化较多,并未真正运用到实际工程应用当中去。虽然众多学者已经把BAS算法应用于多个领域,但在每个领域的应用都不够完善,算法的应用研究空间仍然很大。目前,算法较多用于单目标优化问题,对于复杂问题,如多维离散、多目标及动态不确定优化问题的应用有待扩展。可以考虑主成分分析、t-分布领域嵌入、矩阵分解等方法对算法进行降维。也可考虑将BAS算法用于构建各类神经网络模型与多层ELM模型,用于各个领域的数据预测。实际工程应用可以考虑生物食品、无人驾驶、云计算、物体识别和复杂网络等BAS尚未涉及的领域。由于BAS算法的高效性,将其用于医学影像的处理,蛋白质结构预测等的应用前景也非常客观。同时,也可考虑解决算法在某些领域上存在的不能实现实时控制的问题,例如实现光纤陀螺仪的在线去噪。

猜你喜欢

天牛步长种群
山西省发现刺五加种群分布
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
天牛到底有多牛
黑黄花天牛
巨型昆虫——天牛
中华蜂种群急剧萎缩的生态人类学探讨
天牛
基于逐维改进的自适应步长布谷鸟搜索算法
一种新型光伏系统MPPT变步长滞环比较P&O法
岗更湖鲤鱼的种群特征