柯西变异和自适应权重优化的蝴蝶算法

一、理论基础

1、蝴蝶优化算法

请参考这里

2、改进的蝴蝶优化算法

为了改进蝴蝶算法容易陷入局部最优和收敛精度低的问题,本文从三个方面对蝴蝶算法进行改进。首先通过引入柯西分布函数的方法对全局搜索的蝴蝶位置信息进行变异,提高蝴蝶的全局搜索能力;其次通过引入自适应权重因子来提高蝴蝶的局部搜索能力;最后采用动态切换概率 p p p平衡算法局部搜索和全局搜索的比重,提升了算法的寻优性能。因此本文提出一种混合策略改进的蝴蝶优化算法(CWBOA)。

(1)柯西变异

针对蝴蝶优化算法易陷入局部最优的特点,利用柯西变异来增加种群的多样性,提高算法的全局搜索能力,增加搜索空间。柯西分布函数在原点处的峰值较小但在两端的分布比较长,利用柯西变异能够在当前变异的蝴蝶个体附近生成更大的扰动从而使得柯西分布函数的范围比较广,采用柯西变异两端分布更容易跳出局部最优值。本文融入柯西算子,充分利用柯西分布函数两端变异的效果来优化算全局最优个体,使得算法能够更好地达到全局最优。
在求得当前最优解后,本文使用公式 (1)所示的更新公式对当前全局最优解进行变异处理。 x n e w b e s t = x b e s t + x b e s t × Cauchy ( 0 , 1 ) (1) x_{newbest}=x_{best}+x_{best}×\text{Cauchy}(0,1)\tag{1} xnewbest=xbest+xbest×Cauchy(0,1)(1)

(2)自适应权重

自适应权重公式如式(2)所示 w = s i n ( π t 2 ⋅ i t m a x + π ) + 1 (2) w=sin(\frac{\pi t}{2\cdot itmax}+\pi)+1\tag{2} w=sin(2itmaxπt+π)+1(2)其中, t t t为当前迭代次数, i t m a x itmax itmax为最大迭代次数。
改进后的局部搜索公式为 x i t + 1 = w ⋅ x i t + ( r 2 × x j t − x k t ) × f i (3) x_i^{t+1}=w\cdot x_i^t+(r^2×x_j^t-x_k^t)×f_i\tag{3} xit+1=wxit+(r2×xjtxkt)×fi(3)通过融合自适应权重因子 w w w,使蝴蝶个体具有更好的局部寻优能力。

(3)动态切换概率策略

引入动态切换概率来平衡局部开采和全局开采的比重,来实现更好的寻优策略。动态切换概率 p p p的公式如下 p = 0.6 − 0.1 × ( M a x I t e r − t ) / M a x I t e r (4) p=0.6-0.1×(MaxIter-t)/MaxIter\tag{4} p=0.60.1×(MaxItert)/MaxIter(4)

(4)算法描述

CWBOA的具体执行步骤如下:
在这里插入图片描述

图1 改进算法的流程图

二、函数测试与结果分析

本文选取了基于柯西变异和动态自适应权重的蝴蝶优化算法(CWBOA) 、基本蝴蝶算法 (BOA)、鲸鱼算法(WOA)以及花授粉算法(FPA)进行对比。为了实验的公平、客观性,本文将所有算法的初始种群规模统一设为30, 迭代次数设置为500,四个算法的共有参数保持一致。CWBOA和BOA 中的 c c c感官形态设置为0.01, a a a幂指数在迭代过程从0.1迭代到0.3;基本的BOA和FPA中的切换概率均为 p = 0.8 p=0.8 p=0.8
为了验证改进后的BOA在收敛性和鲁棒性两方面的性能上更优,本文基于14个测试函数进行对比实验,标准测试函数的信息见表1。

表1 测试函数的基本信息

在这里插入图片描述本文以f1、f3、f7、f9、f11、f12、f14为例。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述最大值、最小值、平均值和标准差显示如下:

函数:F1
BOA:最大值: 1.4499e-11,最小值:1.1241e-11,平均值:1.2801e-11,标准差:8.858e-13
WOA:最大值: 7.3975e-73,最小值:2.3916e-85,平均值:3.131e-74,标准差:1.353e-73
FPA:最大值: 23803.0104,最小值:947.6602,平均值:4173.2952,标准差:5457.3121
CWBOA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F3
BOA:最大值: 5.7184e-09,最小值:2.2932e-09,平均值:4.4704e-09,标准差:1.278e-09
WOA:最大值: 8.9851e-50,最小值:4.8473e-58,平均值:5.076e-51,标准差:1.8277e-50
FPA:最大值: 8710.4476,最小值:28.1287,平均值:513.6911,标准差:1768.5884
CWBOA:最大值: 4.7981e-249,最小值:7.7934e-279,平均值:1.6759e-250,标准差:0
函数:F7
BOA:最大值: 0.41445,最小值:1.7408e-13,平均值:0.068926,标准差:0.15676
WOA:最大值: 0,最小值:0,平均值:0,标准差:0
FPA:最大值: 2.755,最小值:2.959e-11,平均值:0.10097,标准差:0.50222
CWBOA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F9
BOA:最大值: 1.2352e-11,最小值:8.7385e-12,平均值:1.012e-11,标准差:1.0014e-12
WOA:最大值: 5.2454e-05,最小值:1.6577e-46,平均值:4.0482e-06,标准差:1.0357e-05
FPA:最大值: 3505.7816,最小值:70.2088,平均值:711.0633,标准差:1036.3243
CWBOA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F11
BOA:最大值: 6.6915e-09,最小值:5.2465e-09,平均值:6.057e-09,标准差:3.692e-10
WOA:最大值: 7.9936e-15,最小值:8.8818e-16,平均值:4.6777e-15,标准差:2.6279e-15
FPA:最大值: 19.9631,最小值:14.2613,平均值:17.6983,标准差:1.6073
CWBOA:最大值: 8.8818e-16,最小值:8.8818e-16,平均值:8.8818e-16,标准差:0
函数:F12
BOA:最大值: 7.7948e-12,最小值:8.4921e-13,平均值:4.5165e-12,标准差:2.1098e-12
WOA:最大值: 0,最小值:0,平均值:0,标准差:0
FPA:最大值: 223.7537,最小值:9.77,平均值:31.449,标准差:40.2159
CWBOA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F14
BOA:最大值: 0.043863,最小值:7.9381e-14,平均值:0.026527,标准差:0.021455
WOA:最大值: 0.043671,最小值:0,平均值:0.011645,标准差:0.019642
FPA:最大值: 0.047395,最小值:8.7206e-05,平均值:0.011072,标准差:0.015677
CWBOA:最大值: 0,最小值:0,平均值:0,标准差:0

由函数的收敛曲线可知,改进的CWBOA在收敛的速度和精度上要优于BOA、WOA、FPA。

三、参考文献

[1] 高文欣, 刘升, 肖子雅, 等. 柯西变异和自适应权重优化的蝴蝶算法[J]. 计算机工程与应用, 2020, 56(15): 43-50.

  • 12
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值