system: [SYSTEM]

user: 4. 数值模拟 本节将通过数值算例来验证本文提出的考虑竞争失效的多阶段二元随机退化模型的有效性。使用蒙特卡洛方法产生相关的仿真样本数据，将仿真模拟结果与解析结果进行比对，最终分析判断模型的准确性。 首先需要仿真得到两组相关的性能退化数据，由二维Copula的一般形式 H ( u ， v ) = C ( u ， v ) ， (34) 可知Copula函数对 u 的偏导数 C u ( v ) 为 C u ( v ) = ∂ C ( u ， v ) ∂ u . (35) 令 s = C u ( v ) ，则 v = C u − 1 ( s ) 。此时有 C − 1 : ( u ， s ) → v ，输入 u ， s 即可得到 v ，这样得到的 u ， v 就是服从联合分布的 C ( u ， v ) 的随机变量。以Frank Copula函数为例 [ 23 ] ，可得 C u ( v ) = exp ( − θ u ) ( exp ( − θ v ) − 1 ) ( exp ( − θ u ) − 1 ) ( exp ( − θ v ) − 1 ) + exp ( − θ ) − 1 ， (36) C u − 1 ( s ) = − 1 θ ln ( ( 1 − s ) exp ( − θ u ) + s exp ( − θ ) ( 1 − s ) exp ( − θ u ) + s ) . (37) 给定退化量初始值，退化变点时刻，性能指标1的各阶段退化速率，迭代步长 Δ t 等参数，可得到性能指标1的退化量为： X 1 = ( X 1 ， 1 ( 0 ) ， X 1 ， 1 ( Δ t ) ， ⋯ ， X 1 ， 2 ( τ 1 ) ， X 1 ， 2 ( τ 1 + Δ t ) ， ⋯ X 1 ， j ( τ j − 1 ) ， X 1 ， j ( τ j − 1 + Δ t ) ) . (38) 此时，性能指标1的退化增量为： Δ X 1 = ( Δ X 1 ， 1 ( Δ t ) ， ⋯ ， Δ X 1 ， 2 ( τ 1 ) ， Δ X 1 ， 2 ( Δ t ) ， ⋯ Δ X 1 ， j ( τ j − 1 ) ， Δ X 1 ， j ( Δ t ) ) . (39) 而退化增量的分布函数表达式为： F Δ X 1 ， j ( t ) ( x 1 ， j ) = Φ ( Δ X 1 ， j ( t ) − μ 1 ， j Δ t σ 1 ， j Δ t ) = u . (40) 将性能指标1的退化增量分布函数 u 与服从(0， 1)上均匀分布的 s 代入Frank Copula函数的偏导函数当中，便可得到性能指标2的退化增量分布函数 v 。同理，可知性能指标2的分布函数为： F Δ X 2 ， j ( t ) ( x 2 ， j ) = Φ ( Δ X 2 ， j ( t ) − μ 2 ， j Δ t σ 2 ， j Δ t ) = v . (41) 则性能指标2的退化增量表达式为： μ 2 ， j Δ t + Φ − 1 ( v ) σ 2 ， j Δ t = Δ X 2 ， j ( t ) ， (42) 其中 Φ − 1 ( v ) 、 Δ t 、 μ 2 ， j 和 σ 2 ， j 已知，累加退化增量最终可得到性能指标2的退化量为： X 2 = ( X 2 ， 1 ( 0 ) ， X 2 ， 1 ( 0 ) + Δ X 2 ， 1 ( 0 ) ， ⋯ ， X 2 ， j ( τ j − 1 ) ， X 2 ， j ( τ j − 1 ) + Δ X 2 ， j ( τ j − 1 ) ) . (43) 模拟出系统设备的退化数据后，需要进一步模拟冲击过程。由于冲击过程为泊松过程，因此可以根据泊松过程的到达率得到在 [ t ， t + Δ t ] 范围内冲击到达的时间分布，求和之后便可以得到 [ t ， t + Δ t ] 发生的总冲击次数 N ( t + Δ t ) − N ( t ) 。定义初始时刻 t = 0 ， N ( t ) = 0 ，迭代相加后便可得到对应时刻发生的冲击次数 m 。 随后模拟生成 m 个服从一定分布的该时刻冲击退化量，若冲击过程为累积冲击过程，则将 m 个冲击退化量相加求和。若冲击过程为极值冲击过程，则取 m 个冲击退化量中的最大值。综上，系统可靠度的模拟仿真算法如下： 步骤1 (输入基本参数)：给定迭代步长 Δ t ，模拟次数 N ，参数 μ i ， j ， σ i ， j ， θ ， λ ， μ w ， σ w ， D w ， μ y ， σ y ， D i 的数值，并初始化模拟次数 n ( = 1 ， 2 ， ⋯ ， N ) = 1 ，四个空矩阵 X 1 、 X 2 、 D w 和 D y ，分别用于记录第 n 次模拟的两组性能指标的退化数据、极值冲击过程数据和累积冲击过程数据，其中矩阵的行数表示模拟次数，列数表示依序排列的时刻。 步骤2 (开始循环)：判断当前模拟次数 n 与 N 的大小，若 n < N ，则初始化当前时刻 t = 0 ，然后执行步骤3~4，否则进入步骤5。 步骤3 (模拟退化过程)：利用输入的参数 μ i ， j ， σ i ， j ， θ 得到退化速率 β i ， j ，得到第 n 次模拟的两组性能指标的退化数据，并分别记录在矩阵 X 1 、 X 2 的第 n 行当中。 步骤4 (模拟冲击过程)：初始化冲击次数 m = 0 ，利用输入的参数 λ ， μ w ， σ w ， μ y ， σ y 分别得到累积冲击过程的累积退化量和极值冲击过程的最大退化量，并分别记录在矩阵 D y 和 D w 的第 n 行当中。然后令 n = n + 1 ，返回执行步骤2。 步骤5 (判断是否失效)：将基于退化过程数据得到的矩阵 X 1 、 X 2 分别与基于累积冲击过程数据得到的矩阵 D y 相加并遍历相加后的两个矩阵 X 1 + D y 和 X 2 + D y ，判断对应的性能指标i相加后的矩阵中的元素是否超过阈值 D i ，若超出则记录对应位置元素为1，否则记录对应位置元素为0。同理，遍历基于极值冲击过程数据得到的矩阵 D w ，判断矩阵中的元素是否超过阈值 D w ，若超出则记录对应位置元素为1，否则记录对应位置元素为0。 步骤6 (计算失效概率)：随后，矩阵 X 1 + D y 、 X 2 + D y 和 D w 的相同位置元素做逻辑或运算，将得到的结果保存在矩阵 当中。对矩阵 进行列求和得到 次模拟中不同时刻失效的次数，并分别与总模拟次数做比值，得到的比值向量即为系统的模拟失效概率。 本算例中，所有的参数值为： ， ， ， ， ， ， ， ， ， ， ， 。模拟次数 ，步长 ，变点时间 ，Copula函数为Frank Copula函数。表1给出了 次模拟后的部分样本退化均值，图1给出了基于表1数据得到的不同情况下的退化路径图像及其累积退化增量分布直方图。 Table 1 Degraded sample dat 一般退化过程样本数据 时间 0.1 0.2 0.3 … 0.8 0.9 1 性能指标1 0.4004 0.8008 1.2012 … 3.2031 3.6035 4.0039 性能指标2 0.6029 1.2060 1.8090 … 4.8243 5.4274 6.0304 时间 1.1 1.2 1.3 … 1.8 1.9 2.0 性能指标1 4.7029 5.4018 6.1008 … 9.5958 10.2947 10.9937 性能指标2 6.7405 7.6439 8.5473 … 13.0642 13.9676 14.8710 时间 2.1 2.2 2.3 … 2.8 2.9 3.0 性能指标1 11.9942 12.9946 13.9951 … 18.9973 19.9978 20.9982 性能指标2 15.8823 17.0918 18.3013 … 24.3487 25.5582 26.7677 一般退化过程遭受累积冲击后的样本数据 时间 0.1 0.2 0.3 … 0.8 0.9 1 性能指标1 0.7995 1.5794 2.3160 … 6.0070 6.7377 7.4838 性能指标2 1.0021 1.9845 2.9239 … 7.6282 8.5615 9.5103 时间 1.1 1.2 1.3 … 1.8 1.9 2.0 性能指标1 8.5095 9.5397 10.5937 … 15.9045 16.9572 18.0428 性能指标2 10.5472 11.7818 13.0402 … 19.3730 20.6301 21.9200 时间 2.1 2.2 2.3 … 2.8 2.9 3.0 性能指标1 19.4270 20.8271 22.2252 … 29.2698 30.7042 32.1464 性能指标2 23.3151 24.9243 26.5314 … 34.6212 36.2647 37.9159 表1. 退化样本数据 图1. 一般退化路径与累积冲击退化路径。(a) 一般退化路径；(b) 考虑累积冲击突增的退化路径；(c) 考虑累积冲击突增的退化路径函数；(d) 累积冲击增量直方图 另外，利用解析表达式和模拟算法可以得到变点固定情况下的极值冲击和累积冲击的退化过程可靠度模拟解和解析解的曲线，如图2所示。从图2中可以看到基于解析解与模拟解的系统可靠度曲线基本一致。图3则给出了基于模拟解得到的不同冲击类型下的系统可靠度。 图2. 变点固定情况下的系统可靠度 图3. 变点固定情况下不同冲击类型的可靠度曲线 图3中可以看到，不考虑冲击影响的系统可靠度曲线与仅考虑累积过程和同时考虑两种冲击过程的系统可靠度曲线的相对位置不同，同时考虑两种冲击的系统，其可靠度曲线呈下降趋势的时间更早，仅考虑累积的次之，没有冲击的可靠度曲线的呈下降趋势的时间则最晚。符合日常系统或产品的一般失效规律。 接下来，考虑变点随机情况下的系统可靠度曲线。假设系统存在两个变点，呈现三阶段退化过程。而变点产生的时间间隔服从参数为 的指数分布。本算例中， ， ， ， ， 和30， ， ， ， ， ， ， ，步长 ， 和1。得到的可靠度曲线如图4所示。 根据结果可知，随着 值的增大，可靠度曲线呈现下降的趋势更晚，由于变点产生的时间间隔服从指数分布， 值越大，间隔越大，故进入退化速率较快的第二、三阶段的时间较晚，因此系统的失效时间延后。另外，由图5可知， 值越大，可靠度曲线呈现下降的趋势更晚，由于Copula函数的性质可知，当 趋于0时，两个性能的可靠度趋向于独立，而独立的两个退化量会降低整体的可靠度 [ 24 ]。 图4. 变点随机情况下的可靠度曲线 图5. 变点随机情况下的可靠度曲线