当前位置:文档之家› 一种保证全局收敛的PSO算法

一种保证全局收敛的PSO算法


假设 1:若 f (D(z,ξ )) ≤ f (z),ξ ∈ S, 则 f (D(z,ξ )) ≤ f (ξ )
其中D为产生问题解的函数,ξ 为从概率空间 (R n , B, μk ) 产生的随机向量,f为目标函数,S
为Rn的子集,表示问题的约束空间。 μk 为B上的概率度量,B为Rn子集的σ 域。
关键词:微粒群算法(PSO 算法),全局最优性,收敛性,模拟退火 中图法分类号:TP18
A Guaranteed Global Convergence Particle Swarm Optimizer
ZENG Jian-Chao CUI Zhi-Hua
(Division of system simulation and computer application,Taiyuan Heavy Machinery Institute,030024) Abstract: A new particle swarm optimizer, called stochastic PSO, that is guaranteed to convergence to the global optimization solution with probability one, is presented based on the analysis of the standard PSO. And the global convergence analysis is made using the F.Solis and R.Wets’ research results, and two methods the stopping evolution particle regenerated are given. Finally, several examples are simulated to show that SPSO is more efficient than the standard PSO.
4
足假设 1 和假设 2 时,有
lim
k →+∞
P[
z
k


]
=1
其中 Rε 为全局最优点集合。
也就是说,对一个随机优化算法,只要能够满足假设 1 与假设 2,则就可以保证以概率 1 收 敛于全局最优解。下面对 SPSO 算法分析其是否满足上述假设。
在 SPSO 算法中,其解序列为{ pg,t } ,其中 t 为进化代数, pg,t 为第 t 代时的微粒群最好位
置。对 SPSO 算法定义函数 D 为
D(
p
g
,t
xi
(t
))
=
⎪⎧ ⎪⎩⎨
p g ,t xi (t
, f ( pg,t ) ≤ ), f ( pg,t ) >
f
(xi (t)) f (xi (t))
(9)
则很容易证明其满足假设 1。 为了满足假设 2,规模为 S 的微粒群的样本空间的并必须包含 S,即
随机产生,其它微粒在更新 pg 、 pi 后按(2)式进化;若 pg ≠ p j ,且 pg 未更新,则所有微粒
均按(2)式进化;若 pg ≠ p j ,且 pg 已更新,即存在 k≠j,使得 xk (t + 1) = pk = pg ,则微粒 k
停止进化,在搜索空间 S 重新随机产生,其余微粒在更新 pg 、 pi 后按(2)式进化。这样在进
S
U S ⊆ M i,t i =1
其中 M i,t 为 t 代时微粒 i 的样本空间的支撑集。对于满足 x j (t) = pk = pg 的微粒 j, M i,t =S。而
对于其它微粒 i:
M i,t = xi (t − 1) + ϕ1 ( pi − xi (t − 1)) + ϕ 2 ( pg − xi (t − 1))
定理
1:当| 1 − ϕ
|<
1
时,
lim
t→∞
xi
(t
)
=
pg
证明:由(6)式知,当| 1 − ϕ
|<
1
时,
lim
t →∞
xi
(t
)
=
k
=
ϕ1 pi
+ϕ2 pg ϕ
,而
xi (t + 1) = xi (t) − (ϕ1 + ϕ 2 )xi (t) + ϕ1 pi + ϕ 2 pg 当 t → +∞ 时 ,
3.1 SPSO 算法的微粒进化轨迹分析。
由(2)式可得:
xi (t + 1) = (1 − ϕ )xi (t) + ϕ1 pi + ϕ 2 pg (5)
当 pg 、 pi 固定时,上式为一简单的线性差分方程,当 xi (0) = xi0 时,其解为:
xi (t) = k + (xi0 − k)(1 − ϕ )t
前位置 xi (t) 、历史最好位置 pi 和微粒群的历史最好位置 pg ,速度本身无记忆性。这样,对于
位于全局最好位置的微粒将保持静止,而其它微粒则趋向它本身最好位置 pi 和全局最好位置 pg
的加权中心。也就是说,微粒群将收缩到当前的全局最好位置,更像一个局部算法;当 w≠0 时, 使得微粒具有了扩展搜索空间的趋势,即具有一定的全局搜索能力。w 越大,全局搜索能力越强。
S ] < v(s) ,其中 diam(S)表
示 S 的长度。由定理 1,当 t → ∞ 时, M i,t 的长度趋于 0。因此,随着 t 的增长,每一 M i ,t 的
U U 闭包 v[ M i,t ]在逐渐变小,其并集 M i≠ j i,t 的闭包 v[ M i≠ j i,t ]也在变小。因而存在 N,使得 t>N U 时,v[ M i≠ j i,t ∩S]<v[S]。也就是说仅有进化方程(2)的 PSO 算法不满足假设 2。
xi (t + 1) = xi (t) + vi (t + 1)
(1b)
其中 pi 表示第i个微粒所经历过的最好位置,pg 表示所有微粒所经历过的最好位置,w、c1、c2为
常数, r1, r2 ∈[0,1] 均匀分布的随机数。
PSO算法自提出以来,其收敛性问题一直是研究的重要方面。早期的研究大多采用代数方法,
根据上述分析,当 w=0 时,(1a)、(1b)描述的进化方程为
xi (t + 1) = xi (t) + c1r1 ( pi − xi (t)) + c2r2 ( pg − xi (t)) (2)
与基本 PSO 算法相比,(2)式描述的进化方程使得全局搜索能力减弱,而局部搜索能力加强。
2
同时,当
本文在对基本 PSO 算法进行分析的基础上,提出了一种能够保证以概率 1 全局收敛的 PSO 算法变型,并利用 F.Solis 和 R.Wets 的研究结果对其全局收敛性进行了证明。最后以典型优化问 题的实例仿真对该算法进行了验证。
2、 PSO 算法的变型。
在(1a)、(1b)所描述的基本 PSO 算法中,当 w=0 时,微粒的飞行速度只取决于微粒的当
一种保证全局收敛的PSO算法*
曾建潮 崔志华
(太原重型机械学院系统仿真与计算机应用研究所 山西 太原 030024) (zengjianchao@)
摘 要:在对基本 PSO 算法分析的基础上,提出了一种能够保证以概率 1 收敛于全局最优解的 PSO 算法—随机
PSO 算法(Stochastic PSO,简称 SPSO),并利用 F.Solis 和 R.Wets 的研究结果对其全局收敛性进行了理论分析, 给出了两种停止进化微粒的重新产生方法。最后以典型优化问题的实例仿真验证了 SPSO 算法的有效性。
分析 pg 、 pi 保持不变时,PSO算法进化方程的收敛性条件[1][2],即PSO算法收敛时参数w、c1、
c2 应 满 足 的 条 件 。 理 论 上 已 证 明 [3] : 假 设 pg 、 pi 在 进 化 中 保 持 不 变 , 则 当
(2 1 + w − ϕ)2 − 4w < 2 ( ϕ = ϕ1 + ϕ 2 , ϕ1 = c1r1 , ϕ 2 = c2r2 )时,PSO算法的 x i (t ) 收敛
(6)
其中,
k = ϕ1 pi + ϕ2 pg ϕ
(7)
3
(6)式是在假设随着t的变化而 pg 、 pi 固定不变的情况下得到的。但在SPSO算法的进化过程 中, pg 、 pi 则随时可能更新,因此,(6)、(7)式仅在新的更好位置产生之前有效。一旦产生 新的更好位置( pg 或者 pi ),微粒的运动轨迹方程将按照新的 pg 、 pi ,并将当前位置作为初
pi
=
⎩⎨⎧xpii(,t
f ( pi ) < + 1), f (
f pi
(xi (t )≥ f
+ 1)) (xi (t
+ 1))
(3)
−−−−
p
' g
= arg min{ f ( pi ) | i
= 1, S }
pg = arg min{ f ( pg '), f ( pg )} (4)
若 pg = p j ,则随机产生的微粒 j 处于历史最好位置,无法按(2)式进化,继续在搜索空间 S
Keywords: Particle Swarm Optimizer, Global Optimility, Convergence, Simulated-Annealing
*本文的研究没有基金资助
1
1、 引言。
微粒群算法(PSO)的进化方程为:
vi (t + 1) = wvi (t) + c1r1 × ( pi − xi (t)) + c2r2 × ( pg − xi (t)) (1a)
相关主题