首页 > 编程语言 >【算法改进】离散分数阶Caputo方法克服局部最优陷阱:蝠鲼觅食优化算法案例研究

【算法改进】离散分数阶Caputo方法克服局部最优陷阱:蝠鲼觅食优化算法案例研究

时间:2024-09-02 21:22:33浏览次数:14  
标签:分数 离散 nf Caputo 算法 Delta GL nu

目录


在这里插入图片描述

1.摘要

增强元启发式(MH)优化算法的探索和开发阶段是避免局部最优的关键,本工作提出了一种新的蝠鲼觅食优化算法变体,用于全局优化问题、工程设计优化问题和多阈值分割。在所提出的方法中,本文采用了Caputo分数阶微积分算子(Fractional Calculus, FC),通过利用FC的历史依赖性来增强蝠鲼在开发阶段的移动,以通过共享优化过程中的过往知识来提高对最优解的开发,提出了分数阶Caputo蝠鲼觅食优化算法(FCMRFO)。

2.离散分数阶Caputo方法

回顾一下Caputo分数阶微积分定义:

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

离散分数阶Caputo后向差分形式(C-FOBD):

k 0 C Δ k ( ν ) f ( k ) = k 0 G L Δ k ( ν − n ) [ Δ n f ( k ) ] = k 0 G L ∑ k ( n − ν ) [ Δ n f ( k ) ] {}_{k_0}^C\Delta_k^{(\nu)}f(k)={}_{k_0}^{GL}\Delta_k^{(\nu-n)}\left[\Delta^nf(k)\right]={}_{k_0}^{GL}\sum_k^{(n-\nu)}\left[\Delta^nf(k)\right] k0​C​Δk(ν)​f(k)=k0​GL​Δk(ν−n)​[Δnf(k)]=k0​GL​k∑(n−ν)​[Δnf(k)]
限制窗口大小为L:
k − L C Δ k ( ν ) f ( k ) = k − L G L Δ k ( ν − n ) [ Δ n f ( k ) ] = k − L G L ∑ k ( n − ν ) [ Δ n f ( k ) ] {}_{k-L}^{C}\Delta_{k}^{(\nu)}f(k)={}_{k-L}^{GL}\Delta_{k}^{(\nu-n)}\left[\Delta^{n}f(k)\right]={}_{k-L}^{GL}\sum_{k}^{(n-\nu)}\left[\Delta^{n}f(k)\right] k−LC​Δk(ν)​f(k)=k−LGL​Δk(ν−n)​[Δnf(k)]=k−LGL​k∑(n−ν)​[Δnf(k)]

当 0 < ν < 1 0<\nu<1 0<ν<1时,形式表述为:
k − L + 1 C Δ k + 1 ( ν ) f ( k + 1 ) = ∑ j = 0 L a ( ν − 1 ) ( j ) Δ f ( k − j + 1 ) = f ( k + 1 ) − f ( k ) + ∑ j = 1 L a ( ν − 1 ) ( j ) Δ f ( k − j + 1 ) \begin{aligned}_{k-L+1}^{C}\Delta_{k+1}^{(\nu)}f(k+1)&=\sum_{j=0}^{L}a^{(\nu-1)}(j)\Delta f(k-j+1)=f(k+1)-f(k)\\&+\sum_{j=1}^{L}a^{(\nu-1)}(j)\Delta f(k-j+1)\end{aligned} k−L+1C​Δk+1(ν)​f(k+1)​=j=0∑L​a(ν−1)(j)Δf(k−j+1)=f(k+1)−f(k)+j=1∑L​a(ν−1)(j)Δf(k−j+1)​

3.基于Caputo定义的分数阶蝠鲼觅食优化算法

【智能算法】蝠鲼觅食优化算法(MRFO)原理及实现

分数微积分(FC)通过适当的记忆增强MRFO,使个体能够共享每个个体获得的位置信息,以提高最终求解的质量。

使用FC Caputo定义的MRFO开发阶段

为了提高基本MRFO的局部搜索能力,避免陷入局部极值点,我们采用了FC Caputo定义:
Z i ( t + 1 ) = Z i ( t ) − ∑ j = 1 L a ( ν − 1 ) ( j ) Δ Z i ( t − j + 1 ) + S × ( r 2 Z b e s t − r 3 Z i ( t ) ) Z_{i}^{(t+1)}=Z_{i}^{(t)}-\sum_{j=1}^{L}a^{(\nu-1)}(j)\Delta Z_{i}^{(t-j+1)}+S\times\left(r_{2}Z_{best}-r_{3}Z_{i}^{(t)}\right) Zi(t+1)​=Zi(t)​−j=1∑L​a(ν−1)(j)ΔZi(t−j+1)​+S×(r2​Zbest​−r3​Zi(t)​)

为了在内存中考虑之前的条件和到目前为止获得的最佳个体位置之间实现平稳的共享平衡,筋斗因子修正为如下反切函数:

S = 2 × t a n − 1 ( a b s ( b e s t F ( i ) − g l o b a l F ) ) S=2\times tan^{-1}(abs(bestF(i)-globalF)) S=2×tan−1(abs(bestF(i)−globalF))

流程图

在这里插入图片描述

4.结果展示

CEC2017测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.参考文献

[1] Yousri D, AbdelAty A M, Al-qaness M A A, et al. Discrete fractional-order Caputo method to overcome trapping in local optima: Manta Ray Foraging Optimizer as a case study[J]. Expert Systems with Applications, 2022, 192: 116355.

6.代码获取

标签:分数,离散,nf,Caputo,算法,Delta,GL,nu
From: https://blog.csdn.net/Logic_9527/article/details/141777039

相关文章