粒子群优化算法初探(PSO)
简介
粒子群优化算法PSO(particle swarm optimization)是模拟自然界生物群体行为的算法, 一种基于种群的随机搜索方法,它模仿鸟群的觅食行为,通过群体合作来寻找问题的最优解
基本粒子群优化算法
pbest表示个体极值,gbest表示种群极值,其数据模型为
v
k
+
1
=
v
k
+
c
1
(
p
b
e
s
t
k
−
x
k
)
+
c
2
(
g
b
e
s
t
k
−
x
k
)
x
k
+
1
=
x
k
+
v
k
+
1
\begin{aligned} & v_{k+1} = v_k + c_1(pbest_k - x_k) + c_2(gbest_k - x_k) \\ & x_{k+1} = x_k+ v_{k+1} \end{aligned}
vk+1=vk+c1(pbestk−xk)+c2(gbestk−xk)xk+1=xk+vk+1
其中
v
k
v_k
vk表示粒子的速度向量,
x
k
x_k
xk表示当前粒子的位置,
p
b
e
s
t
k
pbest_k
pbestk表示粒子个体当前的最优位置,
g
b
e
s
t
k
gbest_k
gbestk表示种群当前找到的最优位置,
c
1
c_1
c1和
c
2
c_2
c2表示两个学习因子,一个是对于个体最优值的,一个是对于群体最优值的
标准粒子群优化算法
在基本粒子群优化算法上引入了惯性权重
v
k
+
1
=
w
v
k
+
c
1
(
p
b
e
s
t
k
−
x
k
)
+
c
2
(
g
b
e
s
t
k
−
x
k
)
v_{k+1} = wv_k + c_1(pbest_k - x_k) + c_2(gbest_k - x_k)
vk+1=wvk+c1(pbestk−xk)+c2(gbestk−xk)