协同群优化算法(SSOA)【免费获取Matlab代码】


1.背景

2024年,S Alzoubi受到群体智能和协同合作的原理启发,提出了协同群优化算法(Synergistic Swarm Optimization Algorithm, SSOA)。

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

2.算法原理

2.1算法思想

SSOA结合了群体智能和协同合作的原理,有效地寻找最优解。采用协同合作机制,粒子之间相互交换信息,相互学习,改进搜索行为。这种合作加强了对搜索空间中有潜力区域的开发,同时保持了探索能力。

2.2算法过程

初始化种群方式:
X = r a n d ( N , D i m ) ∗ ( U B − L B ) + L B (1) X=rand\left(N,Dim\right)*(UB-LB)+LB\tag{1} X=rand(N,Dim)(UBLB)+LB(1)
更新候选解:
X n e w ( i , j ) = X ( i , j ) + v ( i , j ) (2) Xnew\left(i,j\right)=X\left(i,j\right)+v\left(i,j\right)\tag{2} Xnew(i,j)=X(i,j)+v(i,j)(2)
除了速度更新方程外,引入一个动态吸引方程,该方程影响粒子向搜索空间中更有希望的区域移动。该方程旨在根据位置的局部和全局吸引力自适应地引导粒子:
v n e w ( i , j ) = I W V + P B C + G B C + D A C + A N I C + M D C (3) v_{new}\left(i,j\right)=IWV+PBC+GBC+DAC+ANIC+MDC\tag{3} vnew(i,j)=IWV+PBC+GBC+DAC+ANIC+MDC(3)
惯性权重:
I W V = w ( t ) ∗ ν ( i , j ) (4) IWV=w\left(t\right) * \nu\left(i,j\right)\tag{4} IWV=w(t)ν(i,j)(4)
其中w为惯性权参数w的自适应机制,用于动态控制探索与开发之间的平衡。自适应邻域相互作用方程通过赋予适应度较高的粒子更多的权重,促进了群体的集中搜索空间探索,使群体更有效地收敛。引入一个基于适应度值动态调整粒子间相互作用强度的方程:
w ( t + 1 ) = w ( t ) ∗ ( 1 − e x p ( − k ∗ t ) ) (5) w\left(t+1\right)=w\left(t\right)*\left(1 - exp\left(-k * t\right)\right)\tag{5} w(t+1)=w(t)(1exp(kt))(5)
个人最佳系数(PBC):
P B C = r 1 ∗ ( e p s ∗ r a n d ( p b e s t ) − X i ) (6) PBC=r1 * (eps*rand (pbest) - X_i)\tag{6} PBC=r1(epsrand(pbest)Xi)(6)
全局最优系数(global best coefficient, GBC):
G B C = r 2 ∗ g b e s t t − X i (7) GBC=r2*gbest_{t} - X_{i}\tag{7} GBC=r2gbesttXi(7)
动态吸引系数(DAC):
D A C = r 3 ∗ a t t r a c t i c 1 − X i (8) DAC=r3*\frac{attract_i}{c1}- X_i\tag{8} DAC=r3c1attractiXi(8)
自适应邻域相互作用系数(ANIC):
A N I C = r 4 ∗ r a n d ( b e s t f ) − b e s t f i (9) ANIC=r4* rand (bestf) -bestf_i\tag{9} ANIC=r4rand(bestf)bestfi(9)
分集保持系数(DMC):
D M C = r 5 ∗ d i v e r s i t y i c 2 − X i (10) DMC=r5*\frac{diversity_i}{c2}- X_i\tag{10} DMC=r5c2diversityiXi(10)

伪代码

在这里插入图片描述

3.结果展示

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

4.参考文献

[1] Alzoubi S, Abualigah L, Sharaf M, et al. Synergistic swarm optimization algorithm[J]. 2024.

5.代码获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值