融合收敛因子和樽海鞘群的蝴蝶优化算法

该文提出了一种融合收敛因子和樽海鞘群领导者策略的改进蝴蝶优化算法(CFSSBOA),旨在提高算法的探索能力和收敛精度。通过引入非线性收敛因子和樽海鞘群领导者机制,算法在全局搜索和局部勘探之间取得平衡。仿真实验对比了CFSSBOA与基本蝴蝶优化算法(BOA)和樽海鞘群算法(SSA),结果显示CFSSBOA在收敛速度、寻优精度和鲁棒性上具有显著优势。
摘要由CSDN通过智能技术生成

一、理论基础

1、蝴蝶优化算法

请参考这里

2、改进策略

(1)收敛因子

为进一步提高BOA算法的探索能力和收敛精度,受灰狼优化算法和樽海鞘群算法的启发,分别将其收敛因子 A A A c 1 c_1 c1引入BOA的全局搜索和局部搜索公式中,则改进后的全局计算公式为: x i t + 1 = A × x i t + ( r 2 × g ∗ − x i t ) × f i (1) x_i^{t+1}=A×x_i^t+(r^2×g^*-x_i^t)×f_i\tag{1} xit+1=A×xit+(r2×gxit)×fi(1)在迭代初期 A A A值变化范围较大以增强全局搜索,在迭代后期 A A A值变化范围较小以增强局部搜索, A A A值变化范围如图1所示,其计算公式如下: d = 2 − 2 × t / N g e n (2) d=2-2\times t/Ngen\tag{2} d=22×t/Ngen(2) A = 2 × d × r − d (3) A=2×d×r-d\tag{3} A=2×d×rd(3)同理将非线性收敛因子 c 1 c_1 c1引入局部位置更新处,当 c 1 > 1 c_1>1 c1>1时,算法进行全局搜索,否则进行局部勘探, c 1 c_1 c1随着迭代次数增加变化曲线如图2所示。则改进后的局部计算公式为: x 1 = x i t + c 1 × ( r 2 × x j t − x k t ) × f i (4) x_1=x_i^t+c_1\times (r^2×x_j^t-x_k^t)\times f_i\tag{4} x1=xit+c1×(r2×xjtxkt)×fi(4)其中, c 1 c_1 c1的计算公式如下: c 1 = 2 × exp ⁡ ( − ( 4 × t / N g e n ) 2 ) (5) c_1=2\times\exp(-(4×t/Ngen)^2)\tag{5} c1=2×exp((4×t/Ngen)2)(5)
在这里插入图片描述

图1 A A A收敛因子曲线图

在这里插入图片描述
图2 c 1 c_1 c1收敛因子曲线图

(2)融合樽海鞘群领导者策略

鉴于樽海鞘群中领导者策略能较好地平衡全局搜索和局部勘探,领导者以食物源为目标不断搜索前进,于是考虑在局部搜索过程中融合其领导者策略来平衡算法的全局搜索和局部勘探,领导者计算公式如下: x 2 = { g j ∗ + c 1 ( ( u b j − l b j ) r + l b j ) c 3 < 0.5 g j ∗ − c 1 ( ( u b j − l b j ) r + l b j ) c 3 ≥ 0.5 (6) x_2=\begin{dcases}g_j^*+c_1((ub_j-lb_j)r+lb_j)\quad c_3<0.5\\g_j^*-c_1((ub_j-lb_j)r+lb_j)\quad c_3≥0.5\end{dcases}\tag{6} x2={gj+c1((ubjlbj)r+lbj)c3<0.5gjc1((ubjlbj)r+lbj)c30.5(6)其中, g j ∗ g_j^* gj表示食物源第 j j j维位置; c 3 ∈ [ 0 , 1 ] c_3\in[0,1] c3[0,1] l b j lb_j lbj u b j ub_j ubj分别为变量范围第 j j j维的上下界。
于是在局部搜索过程中,BOA算法的局部算子与樽海鞘群中领导者机制同时探索,分别按式(4)和式(6)计算 x 1 x_1 x1 x 2 x_2 x2,再按式(7)计算更新后的蝴蝶位置。 x i t + 1 = ( x 1 + x 2 ) / 2 (7) x_i^{t+1}=(x_1+x_2)/2\tag{7} xit+1=(x1+x2)/2(7)

(3)CFSSBOA实施步骤

经过上述分析,CFSSBOA的实施过程如下:
步骤1 设置 a , b , c a,b,c a,b,c初值及种群规模、最大迭代次数、转换概率和获取相关函数等参数。
步骤2 在边界范围内随机初始化蝴蝶种群,求解目标函数值,并计算当前种群最优位置和最优解。
步骤3 判断算法是否终止,如果是,输出最优位置和最优解,否则进入步骤4。
步骤4 按式(2)和式(5)分别计算 d d d和收敛因子 c 1 c_1 c1,然后按原始算法计算每只蝴蝶的香味浓度 f i f_i fi,按式(3)计算每只蝴蝶的收敛因子 A A A,若随机数小于转换概率,则按式(1)进行全局搜索;否则按式(4)和式(6)进行局部搜索。再进行越界处理和计算此时函数值,若较之前的优越,则替换种群、最优位置和最优解。
步骤5 更新感知形态 c c c
步骤6 迭代次数加1,跳转至步骤3。

二、仿真实验与分析

为了检验CFSSBOA算法的性能,将其与BOA、SSA进行比较,以文献[1]中表1的f1、f2(单峰函数)、f8、f9(多峰函数)、f14、f15(固定维多峰函数)为例,其中非固定维函数维度为30。为了公平比较,所有算法的参数设置:种群规模为30,最大迭代次数为500,其余参数设置与原始论文相同。每种算法独立运行30次。
结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
SSA:最优值: 2.6392e-08,最差值:4.0806e-07,平均值:1.0961e-07,标准差:8.9115e-08
BOA:最优值: 1.125e-11,最差值:1.4371e-11,平均值:1.2668e-11,标准差:8.072e-13
CFSSBOA:最优值: 0,最差值:0,平均值:0,标准差:0
函数:F2
SSA:最优值: 0.03537,最差值:7.1554,平均值:2.157,标准差:1.911
BOA:最优值: 1.5043e-09,最差值:5.7807e-09,平均值:4.5023e-09,标准差:1.417e-09
CFSSBOA:最优值: 1.0799e-283,最差值:3.1792e-256,平均值:1.1989e-257,标准差:0
函数:F8
SSA:最优值: 0.0031022,最差值:3.1332,平均值:0.57101,标准差:0.61468
BOA:最优值: 9.3734e-12,最差值:1.26e-11,平均值:1.133e-11,标准差:8.1828e-13
CFSSBOA:最优值: 0,最差值:0,平均值:0,标准差:0
函数:F9
SSA:最优值: 33.8286,最差值:102.4806,平均值:59.9959,标准差:17.4676
BOA:最优值: 0,最差值:202.3897,平均值:18.8317,标准差:57.192
CFSSBOA:最优值: 0,最差值:0,平均值:0,标准差:0
函数:F14
SSA:最优值: 0.998,最差值:3.9683,平均值:1.5268,标准差:0.9645
BOA:最优值: 0.99801,最差值:2.2985,平均值:1.2001,标准差:0.40772
CFSSBOA:最优值: 0.998,最差值:3.9683,平均值:1.693,标准差:0.78778
函数:F15
SSA:最优值: 0.00030942,最差值:0.020363,平均值:0.0025573,标准差:0.0052802
BOA:最优值: 0.00031001,最差值:0.00093543,平均值:0.00040334,标准差:0.00012368
CFSSBOA:最优值: 0.00030752,最差值:0.00050373,平均值:0.00033773,标准差:5.055e-05

实验结果表明:采用综合改进策略的蝴蝶优化算法在收敛速度、寻优精度和鲁棒性方面具有一定优势。

三、参考文献

[1] 郑洪清, 彭石燕, 周永权. 融合收敛因子和樽海鞘群的蝴蝶优化算法[J]. 微电子学与计算机, 2021, 38(10): 28-34.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值