基本公式
每一代中的粒子i,其速度
V
i
=
{
V
i
1
,
V
i
2
,
.
.
.
,
V
i
d
,
.
.
.
,
V
i
D
}
V_i=\{V_{i1},V_{i2},...,V_{id},...,V_{iD}\}
Vi={Vi1,Vi2,...,Vid,...,ViD}
V
i
d
k
+
1
=
ω
V
i
d
k
+
c
1
ξ
1
(
P
i
d
−
X
i
d
)
+
c
2
ξ
2
(
P
g
d
−
X
i
d
)
V_{id}^{k+1}=\omega V_{id}^k+c_1\xi_1(P_{id}-X_{id})+c_2\xi_2(P_{gd}-X_{id})
Vidk+1=ωVidk+c1ξ1(Pid−Xid)+c2ξ2(Pgd−Xid)
其
中
:
ω
,
c
1
,
c
2
是
常
数
其中:\omega ,c_1,c_2是常数
其中:ω,c1,c2是常数
X
i
d
k
+
1
=
X
i
d
k
+
V
i
d
X_{id}^{k+1}=X_{id}^k+V_{id}
Xidk+1=Xidk+Vid
其
中
:
p
i
是
粒
子
i
的
历
史
最
优
解
,
p
i
d
是
p
i
的
第
d
个
分
量
,
p
g
是
群
体
的
历
史
最
优
解
其中:p_i是粒子i的历史最优解,p_{id}是p_i的第d个分量,p_g是群体的历史最优解
其中:pi是粒子i的历史最优解,pid是pi的第d个分量,pg是群体的历史最优解
PSO算法的计算步骤
- 1、初始化粒子群i=1,2,…,m,给予随机的位置和速度 x i , v i x_i,v_i xi,vi
- 2、评估每个粒子的适应度值f(x)
- 3、对每个粒子,更新历史最优位置 p i p_i pi
- 4、对群体更新历史最优解 p g p_g pg
- 5、对所有粒子计算 x i , v i x_i,v_i xi,vi
- 6、若达到终止条件,则终止,否则转步骤2