基于改进PSO的软件可靠性模型参数估计方法与流程

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

技术特征:

1.一种基于改进PSO的软件可靠性模型参数估计方法,其特征在于包括如下步骤:

(1)选取软件可靠性模型,初始化粒子群体各参数;

(2)构造适应值函数,根据适应值函数评价每个粒子当前适应值;

(3)根据步骤(2)中得到的适应值更新每个粒子当前个体历史最优适应值pbest和全局最优适应值gbest,对应于个体历史最优适应值pbest的是个体历史最优位置pbest_b,对应于全局最优适应值gbest的是全局最优位置gbest_b;

(4)判断是否满足算法停止条件;如果达到最大迭代次数Tmax或全局最优适应值gbest的精度达到k,执行步骤(7),否则执行步骤(5);

(5)根据如下速度和位置的更新公式更新每个粒子的速度和位置:

v'i=wvi+c1r1(pbest_bi)+c2r2(gbest_b-bi)

bi'=v'i+bi

其中,i=1,2,…,60,代表60个粒子;r1、r2是介于[0,1]之间的随机数;

(6)剔除掉明显不合适的解;

(7)达到算法停止条件,输出全局最优适应值gbest和全局最优位置gbest_b,然后将b代入步骤(1)的极大似然估计方程组求解得到a;

(8)判断a与实际数据的误差是否在规定范围内,若是则结束,否则执行步骤(9);

(9)加入先验知识明确搜索方向,直至搜索到最合适的参数a和b。

2.如权利要求1所述的基于改进PSO的软件可靠性模型参数估计方法,其特征在于:所述步骤(1)中,软件可靠性模型采用GO模型,其表达式如下所示:

m(t)=a(1-e-bt)

其中,m(t)表示截止时刻t为止检测到的累积失效数,a表示测试完成后软件期望的最终被检测出的累积失效数,b表示在时刻t产生的失效的查出率,取值为0-1。

3.如权利要求2所述的基于改进PSO的软件可靠性模型参数估计方法,其特征在于:所述步骤(1)中,a、b的极大似然估计方程组是:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>a</mi> <mo>=</mo> <mfrac> <mi>n</mi> <mrow> <mn>1</mn> <mo>-</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <msub> <mi>bt</mi> <mi>n</mi> </msub> </mrow> </msup> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mi>n</mi> <mi>b</mi> </mfrac> <mo>=</mo> <msub> <mi>at</mi> <mi>n</mi> </msub> <msup> <mi>e</mi> <mrow> <mo>-</mo> <msub> <mi>bt</mi> <mi>n</mi> </msub> </mrow> </msup> <mo>+</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>t</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>

其中,n表示已知的失效数,ti表示第i个失效发生的时刻。

4.如权利要求1所述的基于改进PSO的软件可靠性模型参数估计方法,其特征在于:所述步骤(2)中,构造适应值函数的方法是:将步骤(1)中的极大似然估计方程组进行数学变换,使之变成只含参数b的适应值函数:

<mrow> <mi>f</mi> <mo>=</mo> <mo>|</mo> <mi>b</mi> <mo>-</mo> <mfrac> <mrow> <mi>n</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <msub> <mi>bt</mi> <mi>n</mi> </msub> </mrow> </msup> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>nt</mi> <mi>n</mi> </msub> <msup> <mi>e</mi> <mrow> <mo>-</mo> <msub> <mi>bt</mi> <mi>n</mi> </msub> </mrow> </msup> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>-</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <msub> <mi>bt</mi> <mi>n</mi> </msub> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>t</mi> <mi>i</mi> </msub> </mrow> </mfrac> <mo>|</mo> </mrow>

其中,f表示解的适应值,n表示已知的失效数,tn表示第n个失效发生的时刻,ti表示第i个失效发生的时刻。

5.如权利要求1所述的基于改进PSO的软件可靠性模型参数估计方法,其特征在于:所述步骤(6)的详细内容是:判断第i个粒子的新位置bi是否小于X,若是,则去掉该粒子的新位置,用原位置代替,若否,则返回步骤(2);其中,X是不合适的解的界限。

6.如权利要求1所述的基于改进PSO的软件可靠性模型参数估计方法,其特征在于:所述步骤(9)中的先验知识为:参数a和b是反向的关系,b大则a小,b小则a大,如果根据第一次运行得到的结果b求出的累积失效数a大于已知失效数,希望a的值变小,那么参数b的值就要偏大,继续运行程序找出较大的b;如果根据第一次运行得到的结果b求出的参数a小于已知失效数,希望a的值变大,那么参数b的值就要偏小,继续运行程序找出较小的b;由此,作为下一轮算法的迭代的开始,求出更加准确的参数。

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