分数阶麻雀搜索算法


文章目录

  • 分数阶麻雀搜索算法
  • 1.麻雀优化算法
  • 2. 改进麻雀算法
  • 2.1 分数阶微积分
  • 2.2 分数阶优化的麻雀搜索算法
  • 3.实验结果
  • 4.参考文献
  • 5.Matlab代码
  • 6.Python代码



摘要:采用分数阶微积分算法优化麻雀搜索算法,根据麻雀的位置信息,引入自适应分数阶阶次以自适应地调整分数阶阶次,加快算法收敛速度;

1.麻雀优化算法

 

2. 改进麻雀算法

2.1 分数阶微积分

分数阶微积分与整数阶微积分对应, 是将微积分阶次从 整数推广到分数, 通过对整数微积分的差分近似递推求解极 限 分数阶麻雀搜索算法-附代码_自适应, 即阶次为分 数的微分和积分。最为常用的定义是 Grumwald-Letniko(G-L 定义)。
G-L 定义的离散表达式为 分数阶麻雀搜索算法-附代码_优化算法_02 :
分数阶麻雀搜索算法-附代码_搜索算法_03
其中, 分数阶麻雀搜索算法-附代码_优化算法_04 为阶次; 分数阶麻雀搜索算法-附代码_自适应_05 为周期; 分数阶麻雀搜索算法-附代码_自适应_06 为伽 马函数; 分数阶麻雀搜索算法-附代码_自适应_07

2.2 分数阶优化的麻雀搜索算法

为了防止麻雀搜索算法陷入局部最优, 同时加快该算法 的收敛速度, 本文利用分数阶的学习训练算法易跳出局部极 值点的特点, 将麻雀搜索算法与分数阶微分相结合, 通过麻雀 群中麻雀位置的更新来自适应地调整分数阶次。
令式 (4) 中的 分数阶麻雀搜索算法-附代码_自适应_08, 可得:
分数阶麻雀搜索算法-附代码_自适应_09
由式 (5) 可知, 分数阶导数结果与当前项和之前的状态值 均有关, 且过去事件的影响随着时间的推移而减小。将分数 阶引入到麻雀搜索算法中发现者的位置更新处。由式 (1) 可 知, 当种群中的一些麻雀已经发现了捕食者, 并向种群中其他 麻雀发出警报时, 发现者的位置更新可描述为:
分数阶麻雀搜索算法-附代码_优化算法_10
式 (6) 的左边为分数阶 分数阶麻雀搜索算法-附代码_优化算法_11 定义阶次 分数阶麻雀搜索算法-附代码_优化算法_04 为 1 且周期 分数阶麻雀搜索算法-附代码_自适应_05 为 1 时的离散形式, 即:
分数阶麻雀搜索算法-附代码_自适应_14
由式 (5) 可知, 当种群中的一些麻雀已经发现了捕食者, 并向种群中其他麻雀发出警报时, 发现者的位置更新可表 示为:
分数阶麻雀搜索算法-附代码_搜索算法_15
可以看出, 分数阶次影响着发现者的位置更新。因此, 本 文采用自适应调整机制, 引入进化因子 分数阶麻雀搜索算法-附代码_搜索算法_16 对分数阶阶次 分数阶麻雀搜索算法-附代码_优化算法_04

(1) 当种群中的一些麻雀已经发现了捕食者, 并向种群中 其他麻雀发出警报时, 发现者 分数阶麻雀搜索算法-附代码_搜索算法_18 到其他麻雀的平均距离为:
分数阶麻雀搜索算法-附代码_搜索算法_19
其中, 分数阶麻雀搜索算法-附代码_优化算法_20分数阶麻雀搜索算法-附代码_自适应_21 分别表示加入者的个数和维数。
(2) 在进化过程中, 进化因子 分数阶麻雀搜索算法-附代码_搜索算法_16 决定加入者当前的状态, 其定义为:
分数阶麻雀搜索算法-附代码_优化算法_23
其中, 分数阶麻雀搜索算法-附代码_自适应_24 为全局最优位置到其他麻雀的平均距离; 分数阶麻雀搜索算法-附代码_搜索算法_25分数阶麻雀搜索算法-附代码_自适应_26 分别为所有 分数阶麻雀搜索算法-附代码_自适应_27 中的最大值和最小值。
(3) 当分数阶阶次 分数阶麻雀搜索算法-附代码_自适应_28 时, 收敛速度更快 分数阶麻雀搜索算法-附代码_搜索算法_29 。 因此, 分数阶麻雀搜索算法-附代码_自适应_30

3.实验结果

分数阶麻雀搜索算法-附代码_自适应_31

4.参考文献

[1]江妍,马瑜,梁远哲,王原,李光昊,马鼎.基于分数阶麻雀搜索优化OTSU肺组织分割算法[J].计算机科学,2021,48(S1):28-32.

5.Matlab代码

6.Python代码