分类:可靠性工程中的科学问题

来自Big Physics


背景、问题和基本定义

在产品使用中,用户关注经过多长的使用时间,在什么样的使用条件下,一个产品还能保持其正常工作状态。这个问题在可靠性工程领域被称为产品的可靠性[1]

在任意时刻[math]\displaystyle{ t }[/math],一个系统有两个工作状态:正常工作状态[math]\displaystyle{ \xi_t=1 }[/math]、不能正常工作的状态[math]\displaystyle{ \xi_t=0 }[/math]。系统的真实物理状态记为[math]\displaystyle{ x_t }[/math]。从物理状态到工作状态之间有一个判断函数[math]\displaystyle{ \xi_{t}=F\left(x_{t}\right) }[/math]

可靠性是,在[math]\displaystyle{ t }[/math]时刻,或者在[math]\displaystyle{ t-t_{0} }[/math]时间内,通常我们让[math]\displaystyle{ t_{0}=0 }[/math],在不做外界干预例如维修(也就是如果某个时刻这个系统出问题了,则后续时间仍然处于出问题的状态)的情况下,系统保持工作状态的概率,也就是[math]\displaystyle{ R\left(t\right)=P\left(\xi_{t}=1\right) }[/math]

工程上,习惯用正常工作时间长度[math]\displaystyle{ T }[/math]来定义,则,可靠性也可以定义为[math]\displaystyle{ R\left(t\right)=P\left(T\gt t\right) }[/math],也就是这个系统正常工作时间长度[math]\displaystyle{ T }[/math]大于[math]\displaystyle{ t }[/math]的概率[1]

或者说,用系综的视角,就是对于一开始大量(数量记为[math]\displaystyle{ N }[/math])的同样的系统来说,经过了[math]\displaystyle{ t }[/math]时候,还能正常工作的比例,[math]\displaystyle{ R\left(t\right)=\frac{N_1\left(t\right)}{N} }[/math]。其中[math]\displaystyle{ N_1\left(t\right)=\sum_{n\in N} \delta_{\xi_{n}\left(t\right),1} }[/math]就是[math]\displaystyle{ t }[/math]时刻仍然处于正常状态的系统的数量[1]

对于这个问题,原则上只要我们有一个明确的状态演化动力学,也就是在给定环境下,系统的下一个时刻的状态[math]\displaystyle{ \xi_t }[/math](背后是[math]\displaystyle{ x_t }[/math])如何依赖于上一个时刻的状态[math]\displaystyle{ \xi_{\tau} }[/math](背后是[math]\displaystyle{ x_\tau }[/math]),[math]\displaystyle{ t\gt \tau }[/math],记做[math]\displaystyle{ \xi_{\tau}\overset{\Gamma\left(E,t,\tau\right)}{\longrightarrow} \xi_{t} }[/math](背后是[math]\displaystyle{ x_{\tau}\overset{\Gamma\left(E,t,\tau\right)}{\longrightarrow} x_{t} }[/math]),我们就可以算出来上面的[math]\displaystyle{ R\left(t\right) }[/math]

例如,最简单的情况就是,考虑一个时间离散过程,每过一个单位的时间,系统以一定的概率[math]\displaystyle{ q }[/math]从正常态变成失败态,则[math]\displaystyle{ R\left(t\right)=1-q^{t} }[/math]

因此,如果一个系统的状态演化过程[math]\displaystyle{ \Gamma\left(E,t,\tau\right) }[/math]完全已知,则问题完全解决。因此,本质上,可靠性问题,在给定状态判断函数[math]\displaystyle{ \xi_{t}=F\left(x_{t}\right) }[/math]之后,就是一个物理问题——系统的演化动力学问题。

对于一个不包含内部单元的系统,这个任务比较简单。如果这个系统包含内部子系统,并且内部子系统之间还具有比较复杂的相互依赖的关系,而不仅仅是串联或者并联关系,那这个问题就复杂一些。

当然,原则上,都可以先解决演化过程的描述的问题,然后,来做概率计算。不过,复杂系统的演化本来就是一个复杂问题,因此,我们可能可以尝试另一条道路:先把每个子系统的状态演化的问题解决(注意,这个演化可能其实也依赖于系统内的其他子系统,但是有的时候,可以简化,仅仅考虑那些直接受环境影响的,一定程度上独立的子系统的演化),也就是先算出来子系统[math]\displaystyle{ j }[/math][math]\displaystyle{ t }[/math]时刻的[math]\displaystyle{ R_{j}\left(t\right) }[/math],然后,问,能不能通过从这样的[math]\displaystyle{ \left\{R_{j}\left(t\right)\right\} }[/math]来得到整体系统的[math]\displaystyle{ R\left(t\right) }[/math]

这样的道路的好处是,时间演化问题只需要在子系统的层面解决,从子系统的正常态概率到整体系统的正常态概率的计算不需要考虑动力学。这样就把动力学和概率传播的问题分解开来了。

但是,这个思路还是有一个问题,子系统的单独演化的动力学问题,和子系统放在系统之中在其他子系统的影响之下的演化,不是完全相同的问题。例如,两点之间有两条路可以走,当其中一条路条件变差之后,另一条路被使用的概率会变大,于是也更可能失效。因此,不能直接用两条路独立使用的失败概率来计算整体两条路的失败概率,还会出现一个“干涉项”。这当做一个问题,先留在这里。

关于子系统的任何一个时刻的失败概率本身,除了计算其独立的演化方程(以及上面提到的在其他子系统的影响下的演化方程),还可以直接通过实验来获得,例如加速衰减实验。

下面,我们暂时不再关注子系统动力学的问题,仅仅问,如何从子系统的正常态概率到整体系统的正常态概率。

串联和并联的系统的可靠性

举个两个子系统串联构成整体系统的例子[2],假设每个系统自己的可靠性是[math]\displaystyle{ R_{1}\left(t\right), R_{2}\left(t\right) }[/math],则整体系统正常当且仅当两个子系统都正常,于是,[math]\displaystyle{ R\left(t\right)=R_{1}\left(t\right)R_{2}\left(t\right) }[/math]

当两个子系统并联构成整体系统的例子,则整体系统正常当且仅当两个子系统之一正常,于是,[math]\displaystyle{ R\left(t\right)=1-\left(1-R_{1}\left(t\right)\right)\left(1-R_{2}\left(t\right)\right)=R_{1}\left(t\right)+R_{2}\left(t\right)-R_{1}\left(t\right)R_{2}\left(t\right) }[/math]

于是,如果所有的子系统的各种依赖关系,最后都可以分解成为串联和并联关系,则问题就解决了。但是,这个分解总是成立的吗?

多个相互依赖的子系统构成的系统的可靠性

可靠性举例.jpg

例如,考虑图中第三个系统,其中的红色边[math]\displaystyle{ A_{2}\rightarrow B }[/math]使得整个图不再是串联或者并联。这个时候,如何从子系统的可靠性来计算整体系统的可靠性?

这是一个科学问题。没准已经解决了,没准没有解决。需要进一步调研。如果没有解决,实际上,这是一个系统科学用于Complicated System 的例子。Complicated的意思是,子系统自身的动力学完全知道,子系统之间的依赖关系完全知道,并且整体系统的行为就是子系统行为的叠加——在这里就是失败概率的传播,不一定会出现涌现行为——也就是系统的整体行为和子系统的行为存在定性差别。

但是,从这个角度来看,由于需要综合考虑子系统之间的相互依赖关系才能得到整体系统的行为,仍然是一个系统科学的很好的研究案例。因此,系统科学不一定就是需要研究复杂系统(Complex Systems),还可以研究复杂的系统(Complicated Systems)。

除了“和”与“或”之外的传递性

同时,考虑到更一般的子系统到整体系统的依赖关系,子系统的失败概率到整体系统之间也不一定就是“和”与“或”两种计算运算,可能需要更加一般的计算形式。因此,我们需要考虑条件概率传播模型,也就是概率图模型。

这也需要去做进一步的调研,是否概率图模型已经被用于可靠性的计算。尤其是,利用概率图模型,可以把对系统结构的认知和从系统的实际运行数据中获得的对系统结构的认知整合起来。这是一个很大的优势。

换一个角度:需要哪些已知条件来计算可靠性

首先,我们需要那些直接受环境影响,但是不受系统内其他子系统影响(或者说,不受系统内其他子系统影响的情况下的)的子系统的状态演化方程[math]\displaystyle{ \Gamma_{j}\left(E,t,\tau\right) }[/math],或者等价地,每一个时刻的可靠性[math]\displaystyle{ R_{j}\left(t\right) }[/math]

其次,我们需要对每一个依赖子系统构成的更高级的系统(不一定就是大系统本身)给出来从其直接子系统得到其可靠性的传播方程,也就是那一堆条件概率,[math]\displaystyle{ P\left(\xi_{k}\left(t\right)|\xi_{j}\left(t\right)\right) }[/math]。注意,这里,我们已经把时间上的依赖完全算到子系统内部去了,因此,这个条件概率是等时的。

最后,我们需要有一个计算方法,从[math]\displaystyle{ R_{j}\left(t\right) }[/math][math]\displaystyle{ P\left(\xi_{k}\left(t\right)|\xi_{j}\left(t\right)\right) }[/math]得到整体系统的可靠性[math]\displaystyle{ R\left(t\right) }[/math]

当然,原则上,也会存在不能把时间和子系统结构两个因素分开的情况。这个时候,就只有去获得整体系统的演化方程,然后再来计算正常态的概率了。

此外,还存在另一个极端,很可能有更加简单的方法,不需要完整地来计算这些依赖关系的细节,尤其是当仅仅需要针对严重的、大规模的、整体性的失败来做计算的时候。

概念网络梳理

在本网站的概念网络中有一个专门的可靠性概念网络分类,来梳理可靠性的概念。

在概念地图软件Lynkage上有一个可靠性概念地图制作空间。供配合梳理可靠性概念网络使用。

参考文献

  1. 1.0 1.1 1.2 Kapur, Kailash C., Pecht, Michael, Reliability Engineering
  2. System Reliability Analysis, CS6323 http://www.cs.ucc.ie/~gprovan/CS6323/2014/L12-Relibility-Block-Diagram.pdf

本分类目前不含有任何页面或媒体文件。