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的极大似然估计方程组是:
其中,n表示已知的失效数,ti表示第i个失效发生的时刻。
4.如权利要求1所述的基于改进PSO的软件可靠性模型参数估计方法,其特征在于:所述步骤(2)中,构造适应值函数的方法是:将步骤(1)中的极大似然估计方程组进行数学变换,使之变成只含参数b的适应值函数:
其中,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;由此,作为下一轮算法的迭代的开始,求出更加准确的参数。