一种自适应变异粒子群优化算法的制作方法

文档序号:12748487阅读:来源:国知局

技术特征:

1.一种自适应变异粒子群优化算法,其特征在于如下步骤:

设粒子群的粒子数目为N,fi为第i个粒子的适应度,favg为粒子目前的平均适应度,σ2为粒子群的群体适应度方差,则σ2定义为:

<mrow> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>f</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> <mi>f</mi> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

上式中f是归一化定标因子,用来限制σ2的大小;群体适应度方差σ2反映的是粒子群中所有粒子的收敛程度;σ2越小,说明粒子越趋于收敛;反之,粒子群则处于随机搜索阶段;当σ2等于0时,则说明粒子群优化算法陷入早熟收敛或者达到全局收敛;

为了避免陷入早熟收敛,要对粒子群进行位置变异操作,具体形式如下:

xi(k+1)=C·rand()·xi(k) (2)

C为变异因子,服从Gauss(0,1)分布的随机变量;k为当前迭代次数,rand()为(0,1)之间的随机数;考虑到粒子在当前的gbest的作用下寻找到更好的位置,将变异操作引入一个随机算子,即满足变异条件的xi(k+1)按一定概率pk变异;pk在[0.1,0.5]之间取值,随机产生;当粒子进行位置变异后,它将改变原有的搜索方向,使其进入其它区域进行搜索,发现新的pbest和gbest;如此循环迭代,变异算法增大了发现全局最优解的概率。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1