一种保证全局收敛的PSO算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词:微粒群算法(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.
定理
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 → +∞ 时 ,
xi (t + 1) = xi (t) + vi (t + 1)
(1b)
其中 pi 表示第i个微粒所经历过的最好位置,pg 表示所有微粒所经历过的最好位置,w、c1、c2为
常数, r1, r2 ∈[0,1] 均匀分布的随机数。
PSO算法自提出以来,其收敛性问题一直是研究的重要方面。早期的研究大多采用代数方法,
随机产生,其它微粒在更新 pg 、 pi 后按(2)式进化;若 pg ≠ p j ,且 pg 未更新,则所有微粒
均按(2)式进化;若 pg ≠ p j ,且 pg 已更新,即存在 k≠j,使得 xk (t + 1) = pk = pg ,则微粒 k
停止进化,在搜索空间 S 重新随机产生,其余微粒在更新 pg 、 pi 后按(2)式进化。这样在进
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)
根据上述分析,当 w=0 时,(1a)、(1b)描述的进化方程为
xi (t + 1) = xi (t) + c1r1 ( pi − xi (t)) + c2r2 ( pg − xi (t)) (2)
与基本 PSO 算法相比,(2)式描述的进化方程使得全局搜索能力减弱,而局部搜索能力加强。
2
同时,当
一种保证全局收敛的PSO算法*
曾建潮 崔志华
(太原重型机械学院系统仿真与计算机应用研究所 山西 太原 030024) (zengjianchao@263.net)
摘 要:在对基本 PSO 算法分析的基础上,提出了一种能够保证以概率 1 收敛于全局最优解的 PSO 算法—随机
PSO 算法(Stochastic PSO,简称 SPSO),并利用 F.Solis 和 R.Wets 的研究结果对其全局收敛性进行了理论分析, 给出了两种停止进化微粒的重新产生方法。最后以典型优化问题的实例仿真验证了 SPSO 算法的有效性。
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))
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
始点重新计算,也就是说(6)式中k,xi0的值重新设置。
从(6)式可以看出,当| 1 − ϕ |< 1时,(5)式所描述的进化方程线性收敛,即当 t → ∞ 时,
xi (t)
→
ϕ1 pi
+ϕ2 pg ϕ
。根据| 1 − ϕ
|< 1,可得:0
<
c1
+ c2
<
2 。也就是说,当 0
<
c1
+ c2
<
2
时,SPSO 算法的进化方程线性渐近收敛。
本文在对基本 PSO 算法进行分析的基础上,提出了一种能够保证以概率 1 全局收敛的 PSO 算法变型,并利用 F.Solis 和 R.Wets 的研究结果对其全局收敛性进行了证明。最后以典型优化问 题的实例仿真对该算法进行了验证。
2、 PSO 算法的变型。
在(1a)、(1b)所描述的基本 PSO 算法中,当 w=0 时,微粒的飞行速度只取决于微粒的当
分析 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 ) 收敛
假设 2:若对 S 的任意 Borel 子集 A,有 v(A)>0,则
∞
∏ (1 − μk [ A]) =0
k =0
(8)
其中:v(A)为子集 A 的 n 维闭包, μ k ( A) 为由 μ k 产生 A 的概率。
定理 2:设f为一可测函数,S为Rn的一可测子集,{zk }∞0 为随机算法产生的解序列,则当满
置。对 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,即
化的某些代,至少有一个微粒 j 满足 x j (t) = p j = pg ,也就是说,至少有一个微粒需在 S 中重
新随机产生,这样就势必增强了全局搜索能力。为了与基本 PSO 算法相区别,上述算法称之为 随机 PSO 算法(SPSO)。
3、 SPSO 算法的收敛性分析。
对于任意优化算法,其收敛性分析主要包括算法所产生的解序列是否收敛、收敛速度以及收 敛的全局最优性或局部最优性等。
4
足假设 1 和假设 2 时,有
lim
k →+∞
P[
z
k
∈
Rε
]
=1
其中 Rε 为全局最优点集合。
也就是说,对一个随机优化算法,只要能够满足假设 1 与假设 2,则就可以保证以概率 1 收 敛于全局最优解。下面对 SPSO 算法分析其是否满足上述假设。
在 SPSO 算法中,其解序列为{ pg,t } ,其中 t 为进化代数, pg,t 为第 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
x
(t j
)
=
pj
=
pg 时,第
j
个微粒将停止进化。为了改善(2)式的全局搜索能力,可保
留 pg 作为微粒群的历史最好位置,而在搜索空间 S 重新随机产生微粒 j 的位置 x j (t + 1) ,其它
微粒 i 以(2)式进化产生 xi (t + 1) (i≠j),则
p j = x j (t + 1) ,
由于 0 ≤ ϕ1 ≤ c1,0 ≤ ϕ 2 ≤ c2 ,则 M i ,t 为一具有顶点 ϕ1 = ϕ 2 = 0 和 ϕ1 = c1,ϕ 2 = c2 的超矩形
I 体,且当 max(c1 | pi − xi (t
< 0.5 × diam(S)
−1) |, c2
|
pg
−
xi (t
−1) |) 时, v[M i,t
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) 、历史最好位置 pi 和微粒群的历史最好位置 pg ,速度本身无记忆性。这样,对于
位于全局最好位置的微粒将保持静止,而其它微粒则趋向它本身最好位置 pi 和全局最好位置 pg
的加权中心。也就是说,微粒群将收缩到当前的全局最好位置,更像一个局部算法;当 w≠0 时, 使得微粒具有了扩展搜索空间的趋势,即具有一定的全局搜索能力。w 越大,全局搜索能力越强。
lim
t → +∞
xi
(t
+
1)
=
lim
t →+∞
xi
(t)
,则
− (ϕ1
+
ϕ
2
)
lim
t →+∞
xi
(t
)
wk.baidu.com
+
ϕ1
pi
+ϕ2 pg
=0
由于
ϕ1
,ϕ
2
为随机变量,显然只有当
lim
t → +∞
xi
(t
)
=
pi
=
pg 时,上式满足。
3.2 SPSO 算法的全局收敛性。
F.Solis 和 R.Wets 在文献[4]中证明了随机优化算法以概率 1 收敛于全局最优解的条件,为了 分析方便,首先给出其主要结论。
假设 1:若 f (D(z,ξ )) ≤ f (z),ξ ∈ S, 则 f (D(z,ξ )) ≤ f (ξ )
其中D为产生问题解的函数,ξ 为从概率空间 (R n , B, μk ) 产生的随机向量,f为目标函数,S
为Rn的子集,表示问题的约束空间。 μk 为B上的概率度量,B为Rn子集的σ 域。
于
pg 与
pi 的加权中心,即 xi (t) → ϕ1 pi
+ϕ2 pg ϕ
。而在实际上,
pg 、
pi 在进化过程中根据其
适应值而不断更新,可以证明[2],只要参数满足上述条件,PSO算法的收敛是完全保证的,但收 敛的全局最优性或局部最优性则无法保证。
有关PSO算法的全局收敛性研究,大多针对典型优化问题进行仿真实验研究,给出全局最优 性的实验结果。F.Solis和R.Wets对随机优化算法提出了其全局收敛须满足的条件[4],Frans Van Den Bergh博士利用该条件对基本PSO算法和保证收敛的PSO算法(GCPSO)的全局收敛性和局部收 敛性进行了研究[5],指出基本PSO算法不能保证全局或局部收敛,而GCPSO则属于局部收敛。
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.
定理
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 → +∞ 时 ,
xi (t + 1) = xi (t) + vi (t + 1)
(1b)
其中 pi 表示第i个微粒所经历过的最好位置,pg 表示所有微粒所经历过的最好位置,w、c1、c2为
常数, r1, r2 ∈[0,1] 均匀分布的随机数。
PSO算法自提出以来,其收敛性问题一直是研究的重要方面。早期的研究大多采用代数方法,
随机产生,其它微粒在更新 pg 、 pi 后按(2)式进化;若 pg ≠ p j ,且 pg 未更新,则所有微粒
均按(2)式进化;若 pg ≠ p j ,且 pg 已更新,即存在 k≠j,使得 xk (t + 1) = pk = pg ,则微粒 k
停止进化,在搜索空间 S 重新随机产生,其余微粒在更新 pg 、 pi 后按(2)式进化。这样在进
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)
根据上述分析,当 w=0 时,(1a)、(1b)描述的进化方程为
xi (t + 1) = xi (t) + c1r1 ( pi − xi (t)) + c2r2 ( pg − xi (t)) (2)
与基本 PSO 算法相比,(2)式描述的进化方程使得全局搜索能力减弱,而局部搜索能力加强。
2
同时,当
一种保证全局收敛的PSO算法*
曾建潮 崔志华
(太原重型机械学院系统仿真与计算机应用研究所 山西 太原 030024) (zengjianchao@263.net)
摘 要:在对基本 PSO 算法分析的基础上,提出了一种能够保证以概率 1 收敛于全局最优解的 PSO 算法—随机
PSO 算法(Stochastic PSO,简称 SPSO),并利用 F.Solis 和 R.Wets 的研究结果对其全局收敛性进行了理论分析, 给出了两种停止进化微粒的重新产生方法。最后以典型优化问题的实例仿真验证了 SPSO 算法的有效性。
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))
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
始点重新计算,也就是说(6)式中k,xi0的值重新设置。
从(6)式可以看出,当| 1 − ϕ |< 1时,(5)式所描述的进化方程线性收敛,即当 t → ∞ 时,
xi (t)
→
ϕ1 pi
+ϕ2 pg ϕ
。根据| 1 − ϕ
|< 1,可得:0
<
c1
+ c2
<
2 。也就是说,当 0
<
c1
+ c2
<
2
时,SPSO 算法的进化方程线性渐近收敛。
本文在对基本 PSO 算法进行分析的基础上,提出了一种能够保证以概率 1 全局收敛的 PSO 算法变型,并利用 F.Solis 和 R.Wets 的研究结果对其全局收敛性进行了证明。最后以典型优化问 题的实例仿真对该算法进行了验证。
2、 PSO 算法的变型。
在(1a)、(1b)所描述的基本 PSO 算法中,当 w=0 时,微粒的飞行速度只取决于微粒的当
分析 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 ) 收敛
假设 2:若对 S 的任意 Borel 子集 A,有 v(A)>0,则
∞
∏ (1 − μk [ A]) =0
k =0
(8)
其中:v(A)为子集 A 的 n 维闭包, μ k ( A) 为由 μ k 产生 A 的概率。
定理 2:设f为一可测函数,S为Rn的一可测子集,{zk }∞0 为随机算法产生的解序列,则当满
置。对 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,即
化的某些代,至少有一个微粒 j 满足 x j (t) = p j = pg ,也就是说,至少有一个微粒需在 S 中重
新随机产生,这样就势必增强了全局搜索能力。为了与基本 PSO 算法相区别,上述算法称之为 随机 PSO 算法(SPSO)。
3、 SPSO 算法的收敛性分析。
对于任意优化算法,其收敛性分析主要包括算法所产生的解序列是否收敛、收敛速度以及收 敛的全局最优性或局部最优性等。
4
足假设 1 和假设 2 时,有
lim
k →+∞
P[
z
k
∈
Rε
]
=1
其中 Rε 为全局最优点集合。
也就是说,对一个随机优化算法,只要能够满足假设 1 与假设 2,则就可以保证以概率 1 收 敛于全局最优解。下面对 SPSO 算法分析其是否满足上述假设。
在 SPSO 算法中,其解序列为{ pg,t } ,其中 t 为进化代数, pg,t 为第 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
x
(t j
)
=
pj
=
pg 时,第
j
个微粒将停止进化。为了改善(2)式的全局搜索能力,可保
留 pg 作为微粒群的历史最好位置,而在搜索空间 S 重新随机产生微粒 j 的位置 x j (t + 1) ,其它
微粒 i 以(2)式进化产生 xi (t + 1) (i≠j),则
p j = x j (t + 1) ,
由于 0 ≤ ϕ1 ≤ c1,0 ≤ ϕ 2 ≤ c2 ,则 M i ,t 为一具有顶点 ϕ1 = ϕ 2 = 0 和 ϕ1 = c1,ϕ 2 = c2 的超矩形
I 体,且当 max(c1 | pi − xi (t
< 0.5 × diam(S)
−1) |, c2
|
pg
−
xi (t
−1) |) 时, v[M i,t
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) 、历史最好位置 pi 和微粒群的历史最好位置 pg ,速度本身无记忆性。这样,对于
位于全局最好位置的微粒将保持静止,而其它微粒则趋向它本身最好位置 pi 和全局最好位置 pg
的加权中心。也就是说,微粒群将收缩到当前的全局最好位置,更像一个局部算法;当 w≠0 时, 使得微粒具有了扩展搜索空间的趋势,即具有一定的全局搜索能力。w 越大,全局搜索能力越强。
lim
t → +∞
xi
(t
+
1)
=
lim
t →+∞
xi
(t)
,则
− (ϕ1
+
ϕ
2
)
lim
t →+∞
xi
(t
)
wk.baidu.com
+
ϕ1
pi
+ϕ2 pg
=0
由于
ϕ1
,ϕ
2
为随机变量,显然只有当
lim
t → +∞
xi
(t
)
=
pi
=
pg 时,上式满足。
3.2 SPSO 算法的全局收敛性。
F.Solis 和 R.Wets 在文献[4]中证明了随机优化算法以概率 1 收敛于全局最优解的条件,为了 分析方便,首先给出其主要结论。
假设 1:若 f (D(z,ξ )) ≤ f (z),ξ ∈ S, 则 f (D(z,ξ )) ≤ f (ξ )
其中D为产生问题解的函数,ξ 为从概率空间 (R n , B, μk ) 产生的随机向量,f为目标函数,S
为Rn的子集,表示问题的约束空间。 μk 为B上的概率度量,B为Rn子集的σ 域。
于
pg 与
pi 的加权中心,即 xi (t) → ϕ1 pi
+ϕ2 pg ϕ
。而在实际上,
pg 、
pi 在进化过程中根据其
适应值而不断更新,可以证明[2],只要参数满足上述条件,PSO算法的收敛是完全保证的,但收 敛的全局最优性或局部最优性则无法保证。
有关PSO算法的全局收敛性研究,大多针对典型优化问题进行仿真实验研究,给出全局最优 性的实验结果。F.Solis和R.Wets对随机优化算法提出了其全局收敛须满足的条件[4],Frans Van Den Bergh博士利用该条件对基本PSO算法和保证收敛的PSO算法(GCPSO)的全局收敛性和局部收 敛性进行了研究[5],指出基本PSO算法不能保证全局或局部收敛,而GCPSO则属于局部收敛。