樽海鞘群算法
外观
樽海鞘群算法(英語:Salp Swarm Algorithm, SSA),又称樽海鞘群优化(英語:Salp Swarm Optimizaiton, SSO),是由Mirjalili et al. 在2017年提出的一种元启发式算法。
该算法受樽海鞘群捕食规律启发。在粒子数量受限的情况下,该算法比其他算法更有效。
算法原理
[编辑]樽海鞘群分为领导者和追随者,领导者向食物移动,而其追随者成链式运动进行跟随。
算法实现
[编辑]参数设置:
-为樽海鞘种群数量
-为求解维度
-(upper bound)为求解上边界
- (lower bound) 为求解下边界
-为最大迭代次数
-为当前迭代次数
初始化种群。请注意,因为樽海鞘群成链式运动,所以在上边界和下边界均匀分布的初始化最适合本算法,也有论文[1][2]提出使用混沌序列进行初始化。总之,随机初始化很可能导致结果不理想,条件允许尽量不要采用随机初始化。
在计算机语言中,种群通常用数组表示,这里用表示粒子位置,表示第几个粒子,表示粒子所在维度数。
领导者位置更新公式:
其中,表示领导者位置,表示当前最优解位置(食物位置),为平衡开发与探索的系数,其公式为:,其中e为自然常数,为当前迭代次数,为最大迭代次数,、为0~1的随机数。
追随者位置更新公式:
其中,等式左边的表示第个樽海鞘的更新位置,等式右边的表示第个樽海鞘当前的位置,表示第个樽海鞘的位置。
改进的樽海鞘群算法
[编辑]与其他元启发式算法一样,樽海鞘群算法也会遇到收敛速度和被限制在局部最优解的情况,以下介绍几种优化的方法。
- 在可以保证不被限制局部最优解的情况下,收敛速度不理想的情况可以通过动态增加领导者数量来解决。在迭代初始,设1个领导者,此时算法能充分探索,在迭代末尾,设个领导者,此时算法能迅速收敛。领导者数量可用常见函数计算,为计算得出的领导者数量,为根据具体情况所得出的函数。
樽海鞘算法的实际应用
[编辑]在光伏发电,最大功率的追踪算法(Maximum power point tracking,MPPT)[5]。
参考文献
[编辑]- ^ 1.0 1.1 张达敏; Da-min, ZHANG; 陈忠云; Zhong-yun, CHEN; 辛梓芸; Zi-yun, X. I. N.; 张绘娟; Hui-juan, ZHANG; 闫威. 基于疯狂自适应的樽海鞘群算法. kzyjc.alljournals.cn. 2020-09-25 [2023-04-16]. (原始内容存档于2023-04-16) (中文(中国大陆)).
- ^ Zhang, Jiawei; Zhang, Qizhi; Li, Lin. An Improved Slap Swarm Algorithm Incorporating Tent Chaotic Mapping and Decay Factor. 2022 4th International Conference on Intelligent Control, Measurement and Signal Processing (ICMSP). 2022-07 [2023-04-22]. doi:10.1109/ICMSP55950.2022.9859159. (原始内容存档于2022-08-27).
- ^ 张严, 秦亮曦; ZHANG Yan, QIN Liang-xi. 基于Levy飞行策略的改进樽海鞘群算法. 计算机科学. 2020-07-15, 47 (7) [2023-04-16]. ISSN 1002-137X. doi:10.11896/jsjkx.190600068. (原始内容存档于2023-04-16) (中文(中国大陆)).
- ^ Lévy flight. Wikipedia. 2023-04-12 (英语).
- ^ Mirza, Adeel Feroz; Mansoor, Majad; Ling, Qiang; Yin, Baoqun; Javed, M. Yaqoob. A Salp-Swarm Optimization based MPPT technique for harvesting maximum energy from PV systems under partial shading conditions. Energy Conversion and Management. 2020-04-01, 209. ISSN 0196-8904. doi:10.1016/j.enconman.2020.112625 (英语).