发明名称 一种基于改进自适应重要抽样的性能可靠性仿真方法
摘要 一种基于改进自适应重要抽样的性能可靠性仿真方法,该方法依照下述四个阶段进行:第一阶段:抽取初始失效样本,以参数原始均值为采样中心,原始方差的1-3倍为采样协方差,进行随机搜索,并通过迭代找到初始失效样本;第二阶段:抽取一批失效样本,以第一阶段搜索到的失效样本作为第二阶段的初始采样中心进行随机抽样,并在下一次的循环中,调整采样中心,循环至抽取到指定数目的失效样本;第三阶段:自适应重要抽样,根据第二阶段抽取到的失效样本,计算第三阶段的初始采样中心和初始采样协方差,进行循环抽样仿真;第四阶段:统计计算,完成一次抽样后,重新计算采样中心和采样协方差,当失效概率的仿真结果趋于稳定时,停止仿真,完成自适应重要抽样的性能可靠性仿真。
申请公布号 CN102063524B 申请公布日期 2013.01.30
申请号 CN201010585014.6 申请日期 2010.12.13
申请人 北京航空航天大学 发明人 马纪明;詹晓燕;曾声奎;任羿;郭健彬;孙博;冯强
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 一种基于改进自适应重要抽样的性能可靠性仿真方法,其特征在于:该方法依照下述四个阶段进行:第一阶段:抽取初始失效样本初始失效样本的选择对于算法的收敛有关键作用,应使其尽可能地靠近失效面上的设计点;以原始概率密度函数的均值μ为采样中心,原方差σ的1‑3倍作为采样协方差,进行随机搜索得随机参数向量样本Xi=[x1i x2i…xLi]仿真,得性能结果θi;给定误差限ζ,判断θi和失效阈值θf的距离是否在给定误差限内,即|θi‑θf|<ζ 若是则判断系统是否失效,是则进入第二个阶段,否则继续循环;在下一次的循环中,对采样中心μ进行调整,μi=argmin(|θ(μi‑1)‑θf|,|θ(Xi‑1)‑θf|)即将性能结果|θ(μi‑1)‑θf|和|θ(Xi‑1)‑θf|进行比较;若|θ(μi‑1)‑θf|>|θ(Xi‑1)‑θf|,说明抽样值Xi‑1比采样中心μi‑1更靠近失效面,则将Xi‑1作为下次抽样的中心;否则仍然以μi‑1作为采样中心;第二阶段:抽取一批失效样本抽取完初始失效样本后,进入第二个阶段;以第一阶段搜索到的失效样本作为第二阶段的初始采样中心,仿真并计算其概率密度f(Xj),其中Xj为第j次抽样样本;判断系统是否失效,是则令失效样本个数M=M+1;判断M是否达到指定失效样本个数Nr,是则进入第三阶段,否则继续循环;在下一次的循环中,对采样中心μ进行调整,μi+1=arg max(f(Xi‑1),f(μi‑1)),选择概率密度值大者作为新的采样中心,循环至抽取到Nr个失效样本,进入第三阶段;第三阶段:自适应重要抽样根据第二阶段抽取到的Nr个失效样本,分别利用下列式(1)和式(2)计算第三阶段的初始采样中心μf(1)和初始采样协方差σf2(1),即重要抽样函数h(.)的初始参数;令循环次数L=1,每次仿真Nr次,失效概率在指定误差内的循环次数S=0; <mrow> <msub> <mover> <mi>&mu;</mi> <mo>^</mo> </mover> <mi>f</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>N</mi> <mi>s</mi> </msub> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mi>r</mi> </msub> </munderover> <msubsup> <mi>x</mi> <mi>i</mi> <mi>f</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mover> <mi>&sigma;</mi> <mo>^</mo> </mover> <mi>f</mi> <mn>2</mn> </msubsup> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>N</mi> <mi>r</mi> </msub> </mfrac> <mi>diag</mi> <mo>{</mo> <msubsup> <mover> <mi>&sigma;</mi> <mo>^</mo> </mover> <mrow> <mn>1</mn> <mo>,</mo> <mi>f</mi> </mrow> <mn>2</mn> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>&sigma;</mi> <mo>^</mo> </mover> <mrow> <mn>2</mn> <mo>,</mo> <mi>f</mi> </mrow> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msubsup> <mover> <mi>&sigma;</mi> <mo>^</mo> </mover> <mrow> <mi>n</mi> <mo>,</mo> <mi>f</mi> </mrow> <mn>2</mn> </msubsup> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>重要抽样函数h(.)为:h(X)=I(X)f(X)/Pf                 (3)其中Pf为系统性能可靠度,I(X)为示性函数,即对于失效阈值θf,若性能结果θ大于等于θf时,系统为失效,此时I(X)为1,否则为0,即 <mrow> <mi>I</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> <mo>,</mo> </mtd> <mtd> <mi>&theta;</mi> <mo>&GreaterEqual;</mo> <msub> <mi>&theta;</mi> <mi>f</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> <mo>,</mo> </mtd> <mtd> <mi>&theta;</mi> <mo>&lt;</mo> <msub> <mi>&theta;</mi> <mi>f</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>采用蒙特卡洛数值求解系统性能可靠度,通常是利用概率密度函数f(X)抽取足够多的样本值,然后用示性函数I(X)的均值来近似估算失效概率Pf,即: <mrow> <msub> <mi>P</mi> <mi>f</mi> </msub> <mo>&ap;</mo> <msub> <mover> <mi>P</mi> <mo>^</mo> </mover> <mi>f</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>I</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>第四阶段:统计计算完成一次抽样后,根据下列式(6)‑(7)计算采样中心μf(1)和采样协方差σf2(1),并作为下次抽样的抽样中心和协方差;根据下列式(8)计算失效概率Pf(1),并预先给定容许误差η,计算第1次仿真所得失效率Pf(1)和第1‑s‑1次仿真所得失效率Pf(1‑s‑1)的相对误差δ=|Pf(1)‑Pf(1‑s‑1)|/Pf(1‑s‑1);如果δ>η,说明失效概率Pf(1)和第1‑s‑1次循环所得失效概率Pf(1‑s‑1)的相对误差不在给定容许误差内,则令失效概率在指定误差内的循环次数s=0,并进入下一次循环;否则,令s=s+1,进入下一次循环;如果s=10,即连续10次循环所得失效概率都在容许误差内,说明仿真结果已经趋于稳定,停止仿真,完成自适应重要抽样的性能可靠性仿真;所述公式(6)、(7)、(8)列如下: <mrow> <msub> <mi>&mu;</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>l</mi> </mfrac> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mi>i</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>&mu;</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&mu;</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> <mi>l</mi> </mfrac> <msub> <mi>&mu;</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mn>1</mn> <mi>l</mi> </mfrac> <msub> <mi>&mu;</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mi>&sigma;</mi> <mi>f</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>l</mi> </mfrac> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msubsup> <mi>&sigma;</mi> <mi>f</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>&sigma;</mi> <mi>f</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> <mi>l</mi> </mfrac> <msubsup> <mi>&sigma;</mi> <mi>f</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mn>1</mn> <mi>l</mi> </mfrac> <msubsup> <mi>&sigma;</mi> <mi>f</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>P</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>l</mi> </mfrac> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>P</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> <mi>l</mi> </mfrac> <msub> <mi>P</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mn>1</mn> <mi>l</mi> </mfrac> <msub> <mi>P</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>
地址 100191 北京市海淀区学院路37号北航可靠性与系统工程学院