第九章天牛须搜索算法9・1基本天牛须搜索图1(a)所示的长角天牛是天牛科的一种,其特征是触角非常长,通常和天牛的身体一样长,甚至更长。天牛家族成员众多,共有26,000多个物种。它们中的大多数都有长长的触角。通常由多种嗅觉感受器细胞组成的触角结构,在特定物种中往往是独特的,而这类传感系统的功能仍在研讨中。然而,这种大型触角的两个基本功能是与猎物的气味结合,并获得潜在的合适伴侣的性信息素,其中大触角可以扩大探测区域。此外,大触角也可以作为一种保护预警机制。(a)(b)图1长角天牛及其使用长触角的搜索行为。(a)长角天牛。(b)长角天牛利用长触角进行搜索,其中黑色线表示气味的传播,蓝色线表示天牛的轨迹。我们知道,天牛在捕食或寻找配偶时,会摆动身体一侧的每根触角来接收气味。也就是说,天牛用两根触角随机探索附近的区域。此外,当一侧的触角探测到更高浓度的气味时,天牛会转向同一方向,否则就会转向另一侧。如图1(b)所示,这两个因素结合在一起,使得大多数天牛能够捕食或者寻找配偶,这启发我们设计一种元启发式优化算法。基于这两个方面,LiShuai和JiangXiangyuan[1]提出了天牛须搜索算法(BeetleAntennaeSearchAlgorithm,BAS),其伪代码如下:Input:建立目标函数f(xt),其中变量xt=[x1,x2,...,xi]T,初始化参数xo,do,“。Output:xbst,fbst。while(tfbstthenf(xt)=f(xt),xbst=xt;分别使用下降函数(4)和(5)更新感知参数d和步长5;returnxbst,fbst。通过将双触角天牛的搜索行为与待优化的目标函数相关联,可以构造出新的优化算法。接下来,将概述BAS算法的形式化表达,然后详细讨论其实现。为了便于说明,使用xt表示t时刻天牛的位置,则位置x处的气味浓度为f(x),也称为适应度函数,其最大值的位置对应于气味的源点。为了简单描述BAS算法,现在使用以下两条受到触角天牛搜索行为(包括搜素行为和探测行为)启发的规则。注意,天牛为探索未知的环境是随机进行搜索的。第一,为了对天牛的搜索行为进行建模,提出了如下描述天牛搜索的随机方向:b「md伙(1)Ilrnd(k,1)其中rnd(.)表示随机函数,k代表位置的维度。此外,还分别提出了左右两侧的搜索行为,以模拟天牛触角的活动:x=xt+dtb,、r-(2)x=xt-dtb,l其中xr表示位于右侧的搜索区域的位置,xl表示位于左侧的搜索区域的位置,d是触角的感知长度,代表探索能力,初始时该值应该足够大以覆盖合理的搜素区域,从而保证跳出局部最优点,然后随着时间的流逝而逐渐衰减。xt=xt-1+51bsign(f(x)-f(x))rl3第二,为了表达检测行为,进一步生成如下迭代模型,通过考虑搜索行为来关联气味检测:其中8是搜索步长,用于调整收敛速度,是时间t的递减函数,而不是递增函数或常量。8应该初始化为与搜索相同的值。sgn(.)表示符号函数,即输入大于0返回1,等于0返回0,小于0返回-1。对于搜索参数,即触角长度d和步长8,使用如下如下规则进行更新:dt二0.95dt-i+0.01(4)51二0.9551-1(5)9.2天牛须搜索变体9.2.1BeetleAntennaeSearchwithoutParameterTuning(BAS-WPT)在原始的BAS中,参数d和8的设定会严重影响算法的性能,因此作者JiangXiangyuan和LiShuai[2]试图对其进行改进以提高有效性和鲁棒性。图2描述了BAS-WPT的迭代优化过程,可以清楚地看出其实一种变尺度算法。7)s.tMinimizeMaximizf(x)g(x)<0,j—1,…,KXmax