1.摘要
本文提出了一种结合策略动态的粒子群优化算法(SDPSO),专门用于解决单目标优化问题。该方法整合了四种不同的PSO搜索策略,并引入进化博弈理论以有效控制种群状态。利用进化博弈理论中玩家之间的互动,可以确保更有效的策略逐渐在种群中占据主导地位。此外,研究提出了选择机制和变异机制,分别用于提升高效策略的采用率和评估现有策略在面对进化压力时的稳定性,这些机制共同促进了算法在解决复杂优化问题时的性能和适应性。
2.粒子群算法PSO原理
3.SPPSO
3.1 改进PSO
线性递减惯性权重粒子群优化算法LDWPSO
V
i
d
=
ω
V
i
d
+
c
1
×
r
a
n
d
1
i
d
×
(
p
b
e
s
t
i
d
−
X
i
d
)
+
c
2
×
r
a
n
d
2
i
d
×
(
g
b
e
s
t
i
d
−
X
i
d
)
X
i
d
=
X
i
d
+
V
i
d
\begin{aligned}&V_i^d=\omega V_i^d+c_1\times rand1_i^d\times\left(pbest_i^d-X_i^d\right)+c_2\times rand2_i^d\times\left(gbest_i^d-X_i^d\right)\\&X_i^d=X_i^d+V_i^d\end{aligned}
Vid=ωVid+c1×rand1id×(pbestid−Xid)+c2×rand2id×(gbestid−Xid)Xid=Xid+Vid
统一粒子群优化算法UPSO
G i d = X [ V i d + c 1 × r a n d 1 i d × ( p b e s t i d − X i d ) + c 2 × r a n d 2 i d × ( g b e s t i d − X i d ) ] L i d = X [ V i d + c 1 × r a n d 3 i d × ( p b e s t i d − X i d ) + c 2 × r a n d 4 i d × ( n b e s t i d − X i d ) ] G_i^d=\mathscr{X}\left[V_i^d+c_1\times rand1_i^d\times\left(pbest_i^d-X_i^d\right)+c_2\times rand2_i^d\times\left(gbest_i^d-X_i^d\right)\right]\\L_i^d=\mathscr{X}\left[V_i^d+c_1\times rand3_i^d\times\left(pbest_i^d-X_i^d\right)+c_2\times rand4_i^d\times\left(nbest_i^d-X_i^d\right)\right] Gid=X[Vid+c1×rand1id×(pbestid−Xid)+c2×rand2id×(gbestid−Xid)]Lid=X[Vid+c1×rand3id×(pbestid−Xid)+c2×rand4id×(nbestid−Xid)]
基于距离的局部信息粒子群优化算法LIPS
V
i
d
=
K
(
V
i
d
+
φ
(
P
i
d
−
X
i
d
)
)
V_i^d=\mathscr{K}\left(V_i^d+\varphi\left(P_i^d-X_i^d\right)\right)
Vid=K(Vid+φ(Pid−Xid))
其中,各参数为:
φ
∼
U
(
0
,
4.1
n
s
i
z
e
)
P
i
=
∑
j
=
1
n
s
i
z
e
(
φ
j
×
n
b
e
s
t
j
)
/
n
s
i
z
e
φ
\begin{aligned}&\varphi\sim U\left(0,\frac{4.1}{nsize}\right)\\&P_{i}=\frac{\sum_{j=1}^{nsize}\left(\varphi_j\times nbest_j\right)/nsize}{\varphi}\end{aligned}
φ∼U(0,nsize4.1)Pi=φ∑j=1nsize(φj×nbestj)/nsize
综合学习粒子群优化算法CLPSO
V
i
d
=
ω
V
i
d
+
c
1
×
r
a
n
d
i
d
×
(
p
b
e
s
t
f
i
(
d
)
d
−
X
i
d
)
V_i^d=\omega V_i^d+c_1\times rand_i^d\times\left(pbest_{fi(d)}^d-X_i^d\right)
Vid=ωVid+c1×randid×(pbestfi(d)d−Xid)
决策取决于学习概率Pci:
P
c
i
=
a
+
b
×
(
exp
(
10
(
i
−
1
)
N
−
1
)
−
1
)
(
exp
(
10
)
−
1
)
Pc_i=a+b\times\frac{\left(\exp\left(\frac{10(i-1)}{N-1}\right)-1\right)}{(\exp\left(10\right)-1)}
Pci=a+b×(exp(10)−1)(exp(N−110(i−1))−1)
3.2 进化博弈论
进化博弈理论最初是作为博弈理论在生物学领域的应用和扩展,现今已经被广泛应用于经济、金融以及其他多个领域。在进化过程中,选择机制和变异机制是两个基础元素,而复制动力学和进化稳定策略(ESS)则是两个关键概念,分别强调了选择和变异的重要性。
进化稳定策略
假设大多数群体成员采用策略
x
∈
Δ
x\in\Delta
x∈Δ(现有策略),而一小部分群体成员采用策略
y
∈
Δ
y\in\Delta
y∈Δ(变异策略)。令
ϵ
\epsilon
ϵ表示突变者的比例
ϵ
∈
(
0
,
1
)
\epsilon\in(0,1)
ϵ∈(0,1),在这个群体中的策略可以看作个体
w
=
ϵ
y
+
(
1
−
ϵ
)
x
∈
Δ
w=\epsilon y+(1-\epsilon)x\in\Delta
w=ϵy+(1−ϵ)x∈Δ混合策略。因此,如果策略
x
x
x是ESS,则下式成立:
u
(
x
,
ϵ
y
+
(
1
−
ϵ
)
x
)
>
u
(
y
,
ϵ
y
+
(
1
−
ϵ
)
x
)
u(x,\epsilon y+(1-\epsilon)x)>u(y,\epsilon y+(1-\epsilon)x)
u(x,ϵy+(1−ϵ)x)>u(y,ϵy+(1−ϵ)x)
复制动力学
复制动力学是用一组普通微分方程来建模的,这些方程描述了策略在种群中的扩散和变化。通过这些模型,可以计算出种群的平均收益:
u
(
x
,
x
)
=
∑
h
=
1
k
x
h
u
(
e
h
,
x
)
u(x,x)=\sum_{h=1}^kx_hu(e^h,x)
u(x,x)=h=1∑kxhu(eh,x)
复制动力学如下:
x
˙
h
=
[
u
(
e
h
,
x
)
−
u
(
x
,
x
)
]
x
h
\dot{x}_h=\begin{bmatrix}u(e^h,x)-u(x,x)\end{bmatrix}x_h
x˙h=[u(eh,x)−u(x,x)]xh
其思想是:使用高于平均收益策略的亚群体将增长,而使用低于平均收益策略的亚群体将减少。
如果进行离散时间建模,则有:
x
h
(
t
+
1
)
=
x
h
(
t
)
+
x
h
(
t
)
[
u
(
e
h
,
x
)
−
u
(
x
,
x
)
]
x_h(t+1)=x_h(t)+x_h(t)\left[u(e^h,x)-u(x,x)\right]
xh(t+1)=xh(t)+xh(t)[u(eh,x)−u(x,x)]
3.3 基于进化博弈的多策略粒子群优化算法
SDPSO的思想是将多个PSO策略组合到一个算法中,为每个策略分配适当比例的种群,并保持策略的多样性。
为了评估每种策略的收益,我们按照以下方式计算在学习期间每次成功更新 pbesti 时的策略改进
Δ
F
h
\Delta F_{h}
ΔFh:
Δ
F
h
(
t
)
=
Δ
F
h
(
t
)
+
F
(
p
b
e
s
t
i
)
−
F
(
X
i
)
F
(
p
b
e
s
t
i
)
\Delta F_h(t)=\Delta F_h(t)+\frac{F(pbest_i)-F(X_i)}{F(pbest_i)}
ΔFh(t)=ΔFh(t)+F(pbesti)F(pbesti)−F(Xi)
当一个学习周期结束时,每次适应度评估的平均策略改进
Δ
F
h
\Delta F_{h}
ΔFh:
Δ
F
h
‾
(
t
)
=
Δ
F
h
(
t
)
F
E
h
(
t
)
\overline{\Delta F_h}(t)=\frac{\Delta F_h(t)}{FE_h(t)}
ΔFh(t)=FEh(t)ΔFh(t)
对
Δ
F
h
\Delta F_{h}
ΔFh进行归一化:
u
h
(
t
)
=
Δ
F
h
‾
(
t
)
∑
h
=
1
k
Δ
F
h
‾
(
t
)
u_{h}(t)=\frac{\overline{{\Delta F_{h}}}(t)}{\sum_{h=1}^{k}\overline{{\Delta F_{h}}}(t)}
uh(t)=∑h=1kΔFh(t)ΔFh(t)
选择机制
制动力学通过描述策略的频率分布如何随时间变化来测量策略的适应度。在固定人口规模的前提下,策略的采用概率与其收益正相关:高收益策略的采用概率增加速度更快,而低收益策略则相反。这种动态调整机制使得算法能够根据策略的表现适应性地调整其人口分布,从而在不同问题及其不同阶段上都能保持高效性。时间被假设为离散:
x
h
(
t
+
1
)
=
x
h
(
t
)
+
α
×
x
h
(
t
)
×
(
u
h
(
t
)
−
u
‾
(
t
)
)
x_h(t+1)=x_h(t)+\alpha\times x_h(t)\times(u_h(t)-\overline{u}(t))
xh(t+1)=xh(t)+α×xh(t)×(uh(t)−u(t))
平均收益为:
u
‾
(
t
)
=
x
(
t
)
⋅
u
(
t
)
T
\overline{u}(t)=x(t)\cdot u(t)^T
u(t)=x(t)⋅u(t)T
变异机制
ESS是一种策略,当整个种群采用这种策略时,它不会被少数携带突变基因型的小群体入侵,显示出对选择压力的高度稳健性。在提出的算法中,ESS用于检验PSO搜索策略在面对其他存在的策略时是否稳健。
伪代码
4.结果展示
CEC2014
5.参考文献
[1] Liu Z, Nishi T. Strategy dynamics particle swarm optimizer[J]. Information Sciences, 2022, 582: 665-703.