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)∗(UB−LB)+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)∗(1−exp(−k∗t))(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∗(eps∗rand(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=r2∗gbestt−Xi(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=r3∗c1attracti−Xi(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=r4∗rand(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=r5∗c2diversityi−Xi(10)
伪代码
3.结果展示
4.参考文献
[1] Alzoubi S, Abualigah L, Sharaf M, et al. Synergistic swarm optimization algorithm[J]. 2024.