多策略调和的布谷鸟搜索算法

一、理论基础

1、布谷鸟搜索算法

请参考这里

2、多策略调和的布谷鸟搜索算法

(1)自适应步长

本文提出了一种新的自适应步长策略以提高CS算法的搜索效率,即自适应步长随迭代次数的增加而减小。在迭代前期,MSRCS的大步长扩大了其搜索范围,提高算法的全局搜索能力,有利于算法更快找到更优解,加快收敛速度;在迭代后期,小步长有利于算法的局部搜索。步长的规律变化对布谷鸟的搜索起引导作用,即在整体上从全局搜索逐渐过渡到局部搜索。该策略主要是由线性递减的自适应步长控制因子 α 0 \alpha_0 α0决定,公式如下: α 0 = η × cos ⁡ [ π 3 × ( 1 + t 2 G ) ] (1) \alpha_0=\eta\times\cos\left[\frac\pi3\times\left(1+\frac{t}{2G}\right)\right]\tag{1} α0=η×cos[3π×(1+2Gt)](1)其中, η \eta η是控制步长变化范围的调和因子,并决定步长的初值,本文取值为0.5。根据余弦函数在范围呈递减变化的特性,并将步长与迭代次数进行关联,使步长也随着迭代次数的增加而减小。自适应 α 0 \alpha_0 α0为近似一条直线的曲线,为整个搜索过程提供了轻微的缓冲作用。 α 0 \alpha_0 α0的范围是 [ 0 , 0.25 ] [0,0.25] [0,0.25]

(2)更新方法

本文提出了CS-current、CS-best和CS-rand三种不同的更新方法。
1)CS-current更新方法以布谷鸟自身当前位置为中心,在其邻域内搜索潜在更优解,并加入 X b e s t t X_{best}^t Xbestt控制寻优方向,防止布谷鸟在其他方向上进行无效的搜索和评价次数的浪费。公式如下: X i t + 1 = X i t + R d × [ ( X b e s t t − X i t ) + ( X j t − X k t ) ] (2) X_i^{t+1}=X_i^t+R_d\times\left[(X_{best}^t-X_i^t)+(X_j^t-X_k^t)\right]\tag{2} Xit+1=Xit+Rd×[(XbesttXit)+(XjtXkt)](2)其中, X i t X_i^t Xit是当前解, X b e s t t X_{best}^t Xbestt是当代最优解, X j t X_j^t Xjt X k t X_k^t Xkt是当前种群随机选取的两个解, R d R_d Rd是一行 d d d维且在 ( 0 , 1 ) (0,1) (0,1)之间的随机数矩阵,服从均匀分布。相于比一个单纯的随机数,它改变了简单的学习方式,使各维度的信息多样化。
2)CS-best更新方法以当前最优解为引导,使当前布谷鸟向着当前最优解的方向移动。公式如下: X i t + 1 = X b e s t t + R d × [ ( X b e s t t − X j t ) + ( X k t − X i t ) ] (3) X_i^{t+1}=X_{best}^t+R_d\times\left[(X_{best}^t-X_j^t)+(X_k^t-X_i^t)\right]\tag{3} Xit+1=Xbestt+Rd×[(XbesttXjt)+(XktXit)](3)
3)在CS-rand更新方法中,通过学习两个随机个体各维度的不同信息,生成一个新的随机个体。公式如下: X i t + 1 = V + r × R d × [ ( X j t − X i t ) + ( X k t − X i t ) ] (4) X_i^{t+1}=V+r\times R_d\times\left[(X_{j}^t-X_i^t)+(X_k^t-X_i^t)\right]\tag{4} Xit+1=V+r×Rd×[(XjtXit)+(XktXit)](4) V = r ⋅ X m t + ( 1 − r ) ⋅ X n t (5) V=r\cdot X_m^t+(1-r)\cdot X_n^t\tag{5} V=rXmt+(1r)Xnt(5)基于以上分析发现,三种新的更新方法能够从多方面寻找算法更优解,根据算法在迭代过程中的缺陷使用不同的更新方法在搜索空间中进行寻优,不仅在迭代过程中加快收敛速度,还有效克服算法收敛停滞,提高跳出局部极值的能力。

(3)多策略调和

为适应算法在不同阶段的需求,使策略的选择更加有效,提出了一种多策略调和,对自适应步长和三种改进更新方法组成的调和策略进行选择,以调和算法的勘探与开采。
调和策略一将自适应步长和CS-current结合,并设置调和因子 p 1 = 0.8 p_1=0.8 p1=0.8来调节选择概率。 调和策略一流程如下:

If r<p1 
	使用自适应Lévy飞行更新个体 
Else 
	使用CS-current方法更新个体

在迭代前期,算法的最优解不明显,且解较为分散,适度使用CS-current有利于算法更快地找到自身邻域内的潜在最优解,在迭代前期对算法的勘探与开采起调和作用。
调和策略二将自适应步长和CS-best、CS-rand结合。自适应步长和更新方法的概率调和因子 p 2 = 0.5 p_2=0.5 p2=0.5,对两种更新方法的概率调和因子为 p 1 p_1 p1。调和策略二流程如下:

If r<p2 
	使用自适应Lé vy飞行更新个体 
Else 
	If r<p1 
		使用CS-best方法更新个体 
	Else 
		使用CS-rand方法更新个体 
	End 
End 

在迭代中后期,自适应步长逐渐减小,全局搜索逐渐过渡至局部搜索,解向当前最优解逐步收敛。若目标函数值与全局最优解近似,自适应的小步长或者CS-best则有利于向最优解收敛。若目标函数值与全局最优解相差较大,或陷入局部极值,基于随机思想,算法有小概率使用CS-rand尝试寻找更优解或尝试跳出局部极值。且适当增大选择CS-best和CS-rand的概率,在迭代后期使算法的收敛性,多样性和
解的精度得以提升。
另一方面,调和策略的选择建立在线性递减概率规则的框架下,根据迭代次数动态更新选择概率,达到调和策略之间从前期向后期的自适应过渡,以及调和算法的勘探和开采能力。

(4)MSRCS算法流程

MSRCS算法的流程如下:

初始化个体Xi(i = 1,2,...,n),计算其适应度值 
While t<tmax
	If r<(1-t/G)
     使用调和策略一更新个体Xi
	Else 
		使用调和策略二更新个体Xi 
	End if 
	计算新解Xi(t+1)的适应度值,若新解优于旧解则替换 
	根据抛弃概率pa和随机游走的公式来更新个体
	计算新解Xi(t+1)的适应度值,若新解优于旧解则替换
End While 

二、实验仿真与结果分析

为了验证MSRCS的性能,将其与DE、ABC、FA、CS进行对比,以文献[2]中的F1、F2(单峰函数/30维)、F11、F12(多峰函数/30维)、F18、F19(固定维度多峰函数/2维、3维)为例,种群规模设置为20,最大迭代次数设置为25000。结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
DE:最优值:0
ABC:最优值:1.9439e-164
CS:最优值:3.7268e-161
MSRCS:最优值:0
函数:F2
DE:最优值:1.1336e-246
ABC:最优值:2.992e-137
CS:最优值:3.8874e-89
MSRCS:最优值:9.1237e-263
函数:F11
DE:最优值:0
ABC:最优值:0
CS:最优值:0
MSRCS:最优值:0
函数:F12
DE:最优值:1.5705e-32
ABC:最优值:0.4861
CS:最优值:1.5705e-32
MSRCS:最优值:1.5705e-32
函数:F18
DE:最优值:3
ABC:最优值:3
CS:最优值:3
MSRCS:最优值:3
函数:F19
DE:最优值:-3.8628
ABC:最优值:-3.8628
CS:最优值:-3.8628
MSRCS:最优值:-3.8628

实验结果验证了MSRCS的有效性和优异的收敛性。

三、参考文献

[1] 彭虎, 李源汉, 邓长寿, 等. 多策略调和的布谷鸟搜索算法[J]. 计算机工程, 2022, 48(8): 85-97.
[2] Weiguo Zhao, Zhenxing Zhang, Liying Wang. Manta ray foraging optimization: An effective bio-inspired optimizer for engineering applications[J]. Engineering Applications of Artificial Intelligence, 2020, 87: 103300.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值