一种基于速度惯性系数的自适应蝙蝠算法制造技术

技术编号:34477081 阅读:15 留言:0更新日期:2022-08-10 08:52
本发明专利技术涉及智能算法技术领域,具体为一种基于速度惯性系数的自适应蝙蝠算法;包括以下步骤:步骤一:将种群参数初始化,设置初始种群数量为n,将每只蝙蝠的初始位置设为x

【技术实现步骤摘要】
一种基于速度惯性系数的自适应蝙蝠算法


[0001]本专利技术涉及智能算法
,具体为一种基于速度惯性系数的自适应蝙蝠算法。

技术介绍

[0002]蝙蝠算法(BA)是一种基于群体智能的启发式全局搜索算法。该算法是一种基于迭代的优化方法,将一组随机解初始化,然后通过给定逻辑迭代计算在全局搜索最优解,且在个体最优解周围随机搜索产生新的局部最优解,加强了局部搜索。与其他算法相比,蝙蝠算法有较好的准确性和有效性,且没有过多参数需要调整。
[0003]通常启发式智能优化算法计算到后期时,会出现收敛速度变慢,寻有能力减弱等缺点,为了保证一定的寻优精度,容易缩短寻优时间。

技术实现思路

[0004]本专利技术针对现有技术中存在的技术问题,提供一种基于速度惯性系数的自适应蝙蝠算法来解决上述启发式智能算法计算到后期,收敛速度变慢的问题。
[0005]本专利技术解决上述技术问题的技术方案如下:一种基于速度惯性系数的自适应蝙蝠算法,包括以下步骤:
[0006]步骤一:将种群参数初始化,设置初始种群数量为n,将每只蝙蝠的初始位置设为x
i
(i=1,2

,n),初速度设为v
i
,蝙蝠个体频率设为f
i
,脉冲速率设为r
i
,响度设为A
i

[0007]步骤二:种群中所有蝙蝠个体通过调整脉冲频率,根据位置更新方程,产生一组新的解(即每个蝙蝠个体所处的新的位置),并从中选取全局最优解,作为其他蝙蝠个体的参考目标;
[0008]步骤三:if(rand<r
i
),在当前全局最优解附近进行局部搜寻,以寻求最优解,并将局部最优解作为其他的蝙蝠个体的参考目标;
[0009]步骤四:end if任意飞行,进行新一轮寻优;
[0010]步骤五:if(rand<A
i and f(x
i
)<f(x
*
))接受这个新解,然后增加r
i
,减小A
i

[0011]步骤六:end if对种群所有个体进行排序,识别出全局最佳位置x
*

[0012]步骤七:end while跳出迭代,输出结果;
[0013]其中,基于蝙蝠算法原个体速度更新公式增设个体速度惯性系数ω,并设定惯性系数ω与蝙蝠个体适应值相关,自适应蝙蝠算法个体速度更新公式为:
[0014]v
it+1
=ω*v
it
+(x
it

x
*
)f
i

ꢀꢀ
(公式1)
[0015]公式1中,ω为速度惯性常数,取ω∈[ω
min

max
]。
[0016]在上述技术方案的基础上,本专利技术还可以做如下改进。
[0017]进一步,设蝙蝠群体的总量为N,如果应用E
avg
表示蝙蝠个体当前适应度的平均值,则:
[0018][0019]公式2中,E
i
表示第i个个体在迭代中的自适应值;
[0020]在当前个体适应值比适应度平均值较差时,选取ω=ω
max
,以确保全局搜索效率;在当前个体适应值比适应度平均值更好时,自适应惯性权重ω为:
[0021][0022]公式3中,E
best
为当前最佳个体适应值。
[0023]进一步,蝙蝠的速度与位置更新方式如下:
[0024]设在一个d维搜索域中,每只蝙蝠发出的脉冲频率随机,第i只蝙蝠在t时刻的位置为x
it
,速度为v
it
,则在t+1时刻的脉冲频率、位置x
it+1
和速度v
it+1
更新公式为:
[0025]f
i
=f
min
+(f
max

f
min
)β;
ꢀꢀꢀꢀꢀꢀ
(公式4)
[0026]v
it+1
=ω*v
it
+(x
it

x
*
)f
i

ꢀꢀꢀꢀꢀꢀ
(公式1)
[0027]x
it+1
=x
it
+v
it+1

ꢀꢀꢀꢀꢀꢀ
(公式5)
[0028]公式4中,f
i
代表第i只个蝙蝠体在t+1时刻发出的脉冲频率,f
min
、f
max
分别代蝙蝠个体所能发出脉冲频率的最大值和最小值,β是[0,1]范围内随机数;x
*
表示t时刻全局最优解所在位置;
[0029]找到全局最优解所在位置后,通过脉冲速率判断是否进行局部搜索;即在当前时刻最优解的周围区域进行局部寻优,通过以下公式产生新的位置:
[0030]x
new
=x
old
+εA
t

ꢀꢀꢀ
(公式6)
[0031]公式6中,x
old
代表从当前排列的佳点集合中选取的一个任意解,ε为元素属于[

1,1]的d维向量,A
t
代表当代所有蝙蝠个体响度的平均值;
[0032]蝙蝠的响度和脉冲速率更新方式如下:
[0033]脉冲的响度A
i
和发射速率r
i
在迭代计算过程中逐次更新。通常在接近最优解过程中,响度A
i
设置为逐渐减小,而脉冲发射的速率r
i
逐渐增加。响度A
i
和脉冲发射速率r
i
更新方式如下式所示:
[0034]A
it+1
=αA
it

ꢀꢀꢀꢀꢀꢀ
(公式7)
[0035]r
it+1
=r
i0
*[1

exp(

γt)];
ꢀꢀꢀꢀꢀꢀ
(公式8)
[0036]公式7中,α为脉冲响度衰减系数,其取值范围为[0,1];γ为脉冲频率增加系数,其取值范围为γ>0。
[0037]本专利技术的有益效果是:本专利技术涉及的基于速度惯性系数的自适应蝙蝠算法,可实现个体适应值较群体平均适应值差时,保持全局高速搜索,避免陷入局部最优解;个体适应值优于群体平均适应值时,通过速度惯性系数,降低全局搜索速度,确保寻优效率,加快算法收敛速度。
附图说明
[0038]图1为本专利技术基于速度惯性系数的自适应蝙蝠算法的流程图;
[0039]图2为实施例中种群规模为10的寻优曲本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于速度惯性系数的自适应蝙蝠算法,其特征在于,包括以下步骤:步骤一:将种群参数初始化,设置初始种群数量为n,将每只蝙蝠的初始位置设为x
i
(i=1,2

,n),初速度设为v
i
,蝙蝠个体频率设为f
i
,脉冲速率设为r
i
,响度设为A
i
。步骤二:种群中所有蝙蝠个体通过调整脉冲频率,根据位置更新方程,产生一组新的解(即每个蝙蝠个体所处的新的位置),并从中选取全局最优解,作为其他蝙蝠个体的参考目标;步骤三:if(rand<r
i
),在当前全局最优解附近进行局部搜寻,以寻求最优解,并将局部最优解作为其他的蝙蝠个体的参考目标;步骤四:end if任意飞行,进行新一轮寻优;步骤五:if(rand<A
i and f(x
i
)<f(x
*
))接受这个新解,然后增加r
i
,减小A
i
;步骤六:end if对种群所有个体进行排序,识别出全局最佳位置x
*
;步骤七:end while跳出迭代,输出结果;其中,基于蝙蝠算法原个体速度更新公式中增设个体速度惯性系数ω,并设定惯性系数ω与蝙蝠个体适应值相关,自适应蝙蝠算法个体速度更新公式为:公式1中,ω为速度惯性常数,取ω∈[ω
min

max
]。2.根据权利要求1所述的基于速度惯性系数的自适应蝙蝠算法,其特征在于,设蝙蝠群体的总量为N,如果应用E
avg
表示蝙蝠个体当前适应度的平均值,则:公式2中,E
i
表示第i个个体在迭代中的自适应值;在当前个体适应值比适应度平均值较差时,选取ω=ω
max
,以确保全局搜索效率;在当前个体适应值比适应度平均值更好时,自适应惯性权重ω为:公式3中,E
best
为当前最佳个体适应值。3.根据权利要求1所述的基于速度惯性系数的自适应蝙蝠算法,其特征在于,蝙蝠的速度与位置更新方式如下:设在一个d维搜索域中,每只蝙蝠发出的脉冲频率随机,第i只蝙蝠在t时刻的位置为x
it
,速度为则在t+1时刻的脉冲频率、位置x
it+1
和速度v
i...

【专利技术属性】
技术研发人员:刘易斯李杰代祥吴诗雄景希肖俊超罗川蒋超方付戈万涛
申请(专利权)人:国网湖北省电力有限公司孝感供电公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1