分数阶麻雀搜索算法
文章目录
- 分数阶麻雀搜索算法
- 1.麻雀优化算法
- 2. 改进麻雀算法
- 2.1 分数阶微积分
- 2.2 分数阶优化的麻雀搜索算法
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要:采用分数阶微积分算法优化麻雀搜索算法,根据麻雀的位置信息,引入自适应分数阶阶次以自适应地调整分数阶阶次,加快算法收敛速度;
1.麻雀优化算法
2. 改进麻雀算法
2.1 分数阶微积分
分数阶微积分与整数阶微积分对应, 是将微积分阶次从 整数推广到分数, 通过对整数微积分的差分近似递推求解极 限 , 即阶次为分 数的微分和积分。最为常用的定义是 Grumwald-Letniko(G-L 定义)。
G-L 定义的离散表达式为 :
其中, 为阶次; 为周期; 为伽 马函数;
2.2 分数阶优化的麻雀搜索算法
为了防止麻雀搜索算法陷入局部最优, 同时加快该算法 的收敛速度, 本文利用分数阶的学习训练算法易跳出局部极 值点的特点, 将麻雀搜索算法与分数阶微分相结合, 通过麻雀 群中麻雀位置的更新来自适应地调整分数阶次。
令式 (4) 中的 , 可得:
由式 (5) 可知, 分数阶导数结果与当前项和之前的状态值 均有关, 且过去事件的影响随着时间的推移而减小。将分数 阶引入到麻雀搜索算法中发现者的位置更新处。由式 (1) 可 知, 当种群中的一些麻雀已经发现了捕食者, 并向种群中其他 麻雀发出警报时, 发现者的位置更新可描述为:
式 (6) 的左边为分数阶 定义阶次 为 1 且周期 为 1 时的离散形式, 即:
由式 (5) 可知, 当种群中的一些麻雀已经发现了捕食者, 并向种群中其他麻雀发出警报时, 发现者的位置更新可表 示为:
可以看出, 分数阶次影响着发现者的位置更新。因此, 本 文采用自适应调整机制, 引入进化因子 对分数阶阶次
(1) 当种群中的一些麻雀已经发现了捕食者, 并向种群中 其他麻雀发出警报时, 发现者 到其他麻雀的平均距离为:
其中, 和 分别表示加入者的个数和维数。
(2) 在进化过程中, 进化因子 决定加入者当前的状态, 其定义为:
其中, 为全局最优位置到其他麻雀的平均距离; 和 分别为所有 中的最大值和最小值。
(3) 当分数阶阶次 时, 收敛速度更快 。 因此,
3.实验结果
4.参考文献
[1]江妍,马瑜,梁远哲,王原,李光昊,马鼎.基于分数阶麻雀搜索优化OTSU肺组织分割算法[J].计算机科学,2021,48(S1):28-32.
5.Matlab代码
6.Python代码