【算法改进】基于分数阶微积分的花朵授粉算法与局部搜索用于全局优化和图像分割


在这里插入图片描述

1.摘要

本文介绍一种新颖的方法来增强花朵授粉算法(FPA)的多样化和强化倾向,其采用分数阶(Fractional-Order, FO)微积分特征来增强基本FPA的局部搜索能力,并自适应修改FPA探索和开发之间的协调系数。

2.算法原理与背景

2.1 花朵授粉算法(FPA)

【智能算法】花朵授粉算法(FPA)原理及实现

2.2 分数阶微积分定义

几种典型分数阶微积分定义

3.分数阶花朵授粉算法(FO-FPA)

FPA表现出良好的全局搜索能力,但由于局部搜索效率低下,导致收敛速度急剧下降。为了解决这一限制,FO-FPA将分数阶(FO)微积分嵌入到基本的FPA中,以利用FO微积分对前期解决方案的记忆特性,保证在开发阶段解决方案之间的信息共享。当α = 1时更新公式为:
D 1 [ Z ( t + 1 ) ] = Z i t + 1 − Z i t = ϵ ( Z j t − Z k t ) D^1[Z(t+1)]=Z_i^{t+1}-Z_i^t=\epsilon\left(Z_j^t-Z_k^t\right) D1[Z(t+1)]=Zit+1Zit=ϵ(ZjtZkt)
基于分数阶GL定义:
D α [ Z i t + 1 − Z i t ] = ϵ ( Z j t − Z k t ) D^{\alpha}\left[Z_{i}^{t+1}-Z_i^t\right]=\epsilon\left(Z_{j}^{t}-Z_{k}^{t}\right) Dα[Zit+1Zit]=ϵ(ZjtZkt)

因此,FO-FPA位置更新为:
Z i t + 1 = − ∑ n = 1 r ( − 1 ) n Γ ( α + 1 ) Z i t + 1 − n Γ ( n + 1 ) Γ ( α − n + 1 ) + ϵ ( Z j t − Z k t ) Z_i^{t+1}=-\sum_{n=1}^r\frac{(-1)^n\Gamma(\alpha+1)Z_i^{t+1-n}}{\Gamma(n+1)\Gamma(\alpha-n+1)}+\epsilon\left(Z_j^t-Z_k^t\right) Zit+1=n=1rΓ(n+1)Γ(αn+1)(1)nΓ(α+1)Zit+1n+ϵ(ZjtZkt)

考虑历史数据中导数阶为α的前四项(r = 4),FO-FPA更新:
Z i t + 1 = 1 1 ! α Z i t + 1 2 ! α ( 1 − α ) Z i t − 1 + 1 3 ! α ( 1 − α ) ( 2 − α ) Z i t − 2 + 1 4 ! α ( 1 − α ) ( 2 − α ) ( 3 − α ) Z i t − 3 + ϵ ( Z j t − Z k t ) \begin{aligned} &Z_{i}^{t+1}=\frac{1}{1!}\alpha Z_{i}^{t}+\frac{1}{2!}\alpha(1-\alpha)Z_{i}^{t-1}+\frac{1}{3!}\alpha(1-\alpha)(2-\alpha)Z_{i}^{t-2} \\ &+ \frac{1}{4!}\alpha(1-\alpha)(2-\alpha)(3-\alpha)Z_{i}^{t-3}+\epsilon \left(Z_{j}^{t}-Z_{k}^{t}\right) \end{aligned} Zit+1=1!1αZit+2!1α(1α)Zit1+3!1α(1α)(2α)Zit2+4!1α(1α)(2α)(3α)Zit3+ϵ(ZjtZkt)

对于历史数据的前8项,FO-FPA更新:
Z i t + 1 = 1 1 ! α Z i t + 1 2 ! α ( 1 − α ) Z i t − 1 + 1 3 ! α ( 1 − α ) ( 2 − α ) Z i t − 2 + 1 4 ! α ( 1 − α ) ( 2 − α ) ( 3 − α ) Z i t − 3 + 1 5 ! α ( 1 − α ) ( 2 − α ) ( 3 − α ) ( 4 − α ) Z i t − 4 + 1 6 ! α ( 1 − α ) ( 2 − α ) ( 3 − α ) ( 4 − α ) ( 5 − α ) Z i t − 5 + 1 7 ! α ( 1 − α ) ( 2 − α ) ( 3 − α ) ( 4 − α ) ( 5 − α ) ( 6 − α ) Z i t − 6 + 1 8 ! α ( 1 − α ) ( 2 − α ) ( 3 − α ) ( 4 − α ) ( 5 − α ) ( 6 − α ) ( 7 − α ) Z i t − 7 + ϵ ( Z j t − Z k t ) \begin{aligned} &Z_{i}^{t+1}=\frac{1}{1!}\alpha Z_{i}^{t}+\frac{1}{2!}\alpha(1-\alpha)Z_{i}^{t-1}+\frac{1}{3!}\alpha(1-\alpha)(2-\alpha)Z_{i}^{t-2}+ \\ &\frac1{4!}\alpha(1-\alpha)(2-\alpha)(3-\alpha)Z_{i}^{t-3} \\ &+\frac{1}{5!}\alpha(1-\alpha)(2-\alpha)(3-\alpha)(4-\alpha)Z_{i}^{t-4}+ \\ &\frac1{6!}\alpha(1-\alpha)(2-\alpha)(3-\alpha)(4-\alpha)(5-\alpha)Z_{i}^{t-5}+ \\ &\frac{1}{7!}\alpha(1-\alpha)(2-\alpha)(3-\alpha)(4-\alpha)(5-\alpha)(6-\alpha)Z_{i}^{t-6}+ \\ &\frac{1}{8!}\alpha(1-\alpha)(2-\alpha)(3-\alpha)(4-\alpha)(5-\alpha)(6-\alpha)(7-\alpha)Z_{i}^{t-7} \\ &+\epsilon\left(Z_{j}^{t}-Z_{k}^{t}\right) \end{aligned} Zit+1=1!1αZit+2!1α(1α)Zit1+3!1α(1α)(2α)Zit2+4!1α(1α)(2α)(3α)Zit3+5!1α(1α)(2α)(3α)(4α)Zit4+6!1α(1α)(2α)(3α)(4α)(5α)Zit5+7!1α(1α)(2α)(3α)(4α)(5α)(6α)Zit6+8!1α(1α)(2α)(3α)(4α)(5α)(6α)(7α)Zit7+ϵ(ZjtZkt)

分数阶微积分的开关概率因子S的自适应调整:
y = B ( ( α v e c ) , r ) S ( j ) = ( y − m i n ( y ) ) ∗ ( b − a ) ( m a x ( y ) − m i n ( y ) ) + a \begin{aligned} &y=B((\alpha_{vec}),r) \\ &S(j)={\frac{(y-min(y))*(b-a)}{(max(y)-min(y))}}+a \end{aligned} y=B((αvec),r)S(j)=(max(y)min(y))(ymin(y))(ba)+a
其中 B 是 β 函数,输入为导数阶次(α)的向量,从 0.1 到 1,步长为 0.1,项数 r 为 4、8 或 12。

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

4.结果展示

CEC2005
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
PS:PC-FPA在多峰问题上表现较好🤣

5.参考文献

[1] Yousri D, Abd Elaziz M, Mirjalili S. Fractional-order calculus-based flower pollination algorithm with local search for global optimization and image segmentation[J]. Knowledge-Based Systems, 2020, 197: 105889.

6.代码获取

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值