基于通用生成函数的混流制造系统脆弱性评价方法
2018-09-13高贵兵岳文辉欧文初
高贵兵 岳文辉 欧文初
湖南科技大学机电工程学院,湘潭,411201
0 引言
制造系统的脆弱性是指某个设备、程序或子系统在设计、生产或编码时产生错误或缺陷,当它们受到特定攻击和威胁时,导致的系统整体性能下降或损失[1]。在软件方面,制造系统的脆弱性可能来自编码产生的错误、业务流程与逻辑设计的缺陷或系统交互设计的不合理等[2];硬件方面,制造系统的脆弱性主要来自于设备的安全隐患、故障以及设计缺陷等,如芯片设计存在问题[3]。这些问题都有可能被人有意或无意利用,影响甚至破坏系统性能,危及系统的健康与安全。
现有的复杂系统脆弱性分析评估方法如下:①经验分析法利用过去已经发生过的事故报告和数据分析系统的脆弱性,识别系统的高频故障和失效模式,提供有效的风险防范策略,降低风险的危害[4-5];②基于 Agent的方法用 Agent表示复杂系统的组成部分,建立一系列相关规则以描述Agent的行为和相互关系,获取系统在干扰、故障行为下的性能反应,并仿真分析系统在模拟干扰场景下的脆弱性和脆弱性消减策略的效果[6-7];③基于网络的方法通过建立复杂系统的网络模型,利用网络的拓扑特性识别系统的脆弱部分,从拓扑层次上提供系统脆弱性消减策略[8-9];④基于系统动态特性的方法利用系统支路、主线的反馈和流程建立复杂系统在干扰场景下的动态演化模型,以此分析各种脆弱性影响因素对系统脆弱性的影响[10-11]。上述脆弱性分析评价方法的对象是电力、交通、工业链网络、生态、金融系统等,这些对象的运行机理与制造系统存在本质区别,因此上述已有的分析评价方法并不适用于制造系统的脆弱性分析评价。
关于制造系统脆弱的研究,CHEMINOD等[12]指出生产系统受到各种内外因素的影响会引起系统效能中断或瓦解,导致整个生产网络变得越发脆弱,但没有考虑系统结构对脆弱性的影响,且没有给出效能损失的量化评价标准;KÓCZA等[13]建立了分析生产系统脆弱性的可靠性集成分析系统(integrated reliability analysis system,IRAS)平台,但该平台只将脆弱性作为可靠性的一个影响因素,没有分析脆弱性的具体成因和构成因素;高贵兵等[14]基于状态熵的方法建立了制造系统的脆弱性评估方法,但这种方法在面对多状态系统的状态组合爆炸问题时求解困难。
针对现有制造系统脆弱性问题研究的不足,本文利用通用生成函数对其脆弱性进行分析评价。
1 相关理论
1.1 信息熵
基于Shannon对熵的定义,随机离散型变量X=(x1,x2,…,xn)的信息熵定义如下:
式中,p(xi)为xi发生的概率;n为变量X包含的变量数目。
如果X是某个系统,则信息熵H(X)表征该系统的总体信息测度,其值越大,系统存在的不确定性越大。
1.2 通用生成函数
通用生成函数[15](universal generating function,UGF)定义如下:对于任意M个离散型随机变量 X1,X2,…,XM,设 Xi中xi,ji(ji=1,2,…,ki)发生的概率为pi,ji,则随机变量Xi的通用生成函数ui定义为实变数z的实函数,即
对于包含M个离散型变量的函数g(X1,X2,…,XM),则有
式中,⊗f为与函数g的特性有关的复合算子。由此,通用生成函数将离散数列间的组合关系转换成幂级数间的运算关系,结合式(2)、式(3),系统的通用生成函数可表示为
2 混流制造系统脆弱性建模与分析
2.1 混流制造系统脆弱性问题分析与假设
混流制造系统脆弱性既与自身的结构、功能特性有关,也与外界风险和干扰的种类、大小、强度等有关。为准确描述其脆弱性,提出以下假设作为脆弱性建模与评价的依据:①系统的各设备、单元受到各种干扰引起的故障均可以及时修理,且修复好的设备、单元立即恢复到稳定工作状态;②系统受到的各种干扰对各单元、设备的影响相同,任何单元遇到故障和扰动均可能降级运行,且单元降级运行时系统不会发生故障,只有所有单元故障才导致系统崩溃;③系统内的缓冲区不受干扰影响,容量足够大,首尾单元不存在饥饿和阻塞;④系统内各单元相互独立。
2.2 基于马尔可夫链的制造单元脆弱性分析
假设制造单元Mi存在正常工作状态、完全故障和降级运行等m种状态,设状态1为正常状态,…,m-1为降级运行状态,m为崩溃状态。正常工作的概率服从指数分布1-e-λmit,故障后修复的时间服从指数分布1-e-μmit,其中,λmi和μmi分别表示制造单元的状态转移密度,λmi,μmi>0,i=1,2,…,n。所有随机变量相互独立,则制造单元的状态转移图见图1。
制造单元的多状态转移过程可用微分方程组表示:
图1 制造单元状态转移图Fig.1 The state transition diagram of manufacturing unit
假设t=0时刻制造单元处于最佳工作状态1,则方程式的初始条件为p1(0)=1,p2(0)=0,…,pm(0)=0。为求得制造单元的稳态解,可令式(1)的左边为0,则式(5)简化为
求式(6),可得到制造单元任意状态的概率。
定义1 脆性熵 定义制造单元Mi的脆性熵为单元遭遇干扰、破坏时的脆弱性熵值,用His表示,用以对制造单元在脆弱状态下的无序度进行测度,其中s定义为制造单元Mi所处的状态,则
由His的定义可知,His与Mi的脆弱性状态有关,正常状态的脆性熵取值最小,但都大于0。
定义2 制造单元脆弱性 制造单元脆弱性为单元Mi遭遇风险、故障时的脆弱性程度,用Vi表示,用以衡量制造单元遭到干扰和破坏的程度,脆弱性的表达式如下:
其中,Hi1和Hi2为脆性熵的两个临界点,Hi1表示Mi脱离正常运行范围时的脆性熵,Hi2表示Mi完全故障时的脆性熵,基于脆性熵的定义可得
由单元脆弱性定义可知,0≤Vi≤1,当Vi=0时,Mi正常工作,Vi=1时,Mi完全故障。0<Vi<1时,Mi处于脆弱状态,丧失部分功能。
2.3 缓冲区影响分析
假设系统中存在B(B<n,n为制造单元数)个缓冲区,缓冲区Bb(b=1,2,…,B)的容量为bb,缓冲区的状态虽然有bb+1种,但影响系统脆弱性状态的只有全满(S1)或全空(S2)两种,缓冲区的有空位和库存状态(正常状态S0)对系统运行不产生影响,因此,在脆弱性分析时只需考虑上述3种状态。设缓冲区前后制造单元为Mi和Mi+1,对应的生产率分别为ωb和ωb+1。在全满状态下,当ωb>ωb+1时,Mi会发生阻塞,ωb≤ ωb+1时,Mi正常工作;在全空状态下,当ωb>ωb+1时,系统正常,当ωb≤ ωb+1时,Mi+1饥饿。
设缓冲区全满和全空以及不满不空的概率分别为 PMBb、PKBb和PBb,建立缓冲区Bb的状态转移方程[16],得到缓冲区Bb全满、全空以及正常工作(不满不空)的概率如下:
则缓冲区的通用生产函数可表示为
2.4 基于通用生成函数的制造系统脆弱性分析
基于通用生成函数原理与制造单元状态分析结果,根据式(6)求出制造单元的各种脆弱性状态的发生概率,则制造单元的通用生成函数可表示为制造单元为脆弱性状态si时对应的概率。
对于包含有n个制造单元Mi(i=1,2,…,n)和B个缓冲区Bb(b=1,2,…,B)的混流制造系统,可以将系统分解为独立的并联和串联制造子系统,然后与缓冲区串联得到等效制造系统,在此基础上递推分解,利用如下串并联子系统的通用生成函数运算算子即可求出系统的通用生成函数。
两个串联的制造单元Mi、Mj的通用生成函数运算算子为
两个并联的制造单元Mi、Mj的通用生成函数运算算子为
包含n个制造单元和B个缓冲区的混流系统对应的生成函数为
式中,μMi(z)、μBi(z)分别为制造单元Mi和缓冲区Bi的生成函数;mi、bi分别为制造单元Mi和缓冲区Bi的状态数目;pmnj为制造单元Mn在状态smnj时的概率;pbbh为缓冲区Bb在状态SBbh时的概率;f为系统制造单元、缓冲区之间的串并联结构函数,根据串并联关系取相应的算子。
式中,s为制造系统在任意t时刻所处的状态,s∈S;S为系统所有的状态集合;ps(gs)为系统处于脆弱状态s的概率;gs、gω分别为系统脆弱状态和正常工作状态下的产出。
定义3 制造系统脆弱性 制造系统脆弱性定义为制造系统MS遭遇风险、故障时的脆弱性程度,用VS表示,用以衡量系统受到干扰和破坏的程度,其表达式如下
式中,Hs为MS在任意状态s下的脆性熵;Hs1为MS脱离正常运行范围时的脆性熵;Hs2为MS完全故障时的脆性熵。
基于脆性熵的定义可得
由式(16)可得
3 算例分析
某混流制造系统如图2所示,由8个制造单元和4个缓冲区构成,每个制造单元均存在正常工作、降级运行和完全故障等不同的状态,缓冲区容量 B1=20,B2=30,B3=30,B4=20。各制造单元的状态转移图见图3,各单元状态转移的λ、μ取值见表1,各单元在不同状态下的生产率见表2。
图2 混流制造系统示例Fig.2 The example of FMS
图3 各制造单元状态转移图Fig.3 State transition diagram of different manufacturing units
表1 各制造单元状态转移密度λ、μ的取值表Tab.1 Theλ,μ value of different manufacturing units
表2 各单元各状态下的生产率Tab.2 The productivity of each unit in different state件/h
3.1 制造单元脆弱性计算与分析
在正常生产状态下,令pij表示制造单元Mi(i=1,2,…,8)在状态j的概率,根据式(2)可得各制造单元的状态转移概率方程组:
将状态转移密度λ、μ的值代入上述状态转移方程,得到各制造单元不同状态的理论概率值:
根据求得的各单元状态的概率,利用式(2)求得M1~M8的发生函数:
根据式(7)计算各单元在故障时的脆性熵值(bit),结果如下:计算结果可以看出,8个制造单元中脆弱性熵值最小的是 HM1、HM3,最大的是 HM4、HM5和HM8,其中 M1和M3的状态数为3,而M4、M5和M8的状态数为 6,说明单元的状态数多时,其对应的脆弱性熵值较大。基于熵理论,单元的熵值越大,其存在的不确定性越大,遇到故障、风险时对系统产生的危害也就越大。
3.2 制造系统脆弱性分析
M1、M2、M3三个单元和M6、M7为并联,其余与缓冲区串联,利用式(14)所示并联算子,求得M1、M2、M3的通用生成函数(z)和 M6、M7的通用生成函数(z)如下:
缓冲区不会发生故障、不生产或加工产品,因此正常工作状态下其生产率都可以看作是生产线的生产率,即该生产线的产量为57件/h,堵塞或饥饿时的生产率为0。根据缓冲区不同状态的概率,可得缓冲区B1、B2、B3、B4的生成函数:
这样,原系统等效为M′1与M4、M5、M′6、M8以及缓冲区一起组成的串联系统,利用式(13)的串联复合算子和式(15)计算得到整个系统的生产函数:
根据式(9)、式(10),计算系统的临界脆性熵值,然后得到系统任意状态下的脆弱性VS:
3.3 脆弱性结果对比分析
图4 U函数法与状态熵分析法的系统脆弱性对比图Fig.4 Comparison of system vulnerability between U-function method and state entropy analysis
表3 两种方法的典型输出状态下的脆弱性偏差对比Tab.3 Comparisons of vulnerability deviation for two methods in typical states
由式(21)和式(23)系统脆性熵和脆弱性计算公式,得到以系统状态为变量的系统脆弱性变化曲线,系统脆弱性的平均值VS=0.503 3,与基于系统状态熵的脆弱性分析方法[15]的计算结果进行对比,见图4,两种方法所得的结果基本一致。几种典型输出状态下的结果对比见表3,两种方法计算所得到的系统脆弱性结果的最大偏差为7.56%,说明通用生成函数法可以较好地用于多状态系统的脆弱性分析。此外,从该实例可知,如果采用状态熵方法,8个制造单元总共有3×6×6×6×3×5×5×4=194 400多种状态需要分析计算,而采用通用生成函数法,则只有21种,由此可见,通用生成函数法显著减小了状态空间的规模,提高了脆弱性求解的效率。
3.4 缓冲区对系统脆弱性的影响
如果不考虑缓冲区状态对制造单元的影响,即中间缓冲区容量无限大时,系统的发生函数
由式(17)、式(21)、式(22)得到不考虑缓冲区时的系统脆弱性
根据系统通用生成函数模型,计算得到不同状态下系统脆弱性的平均值=0.605 2,与考虑缓冲区影响的系统脆弱性比较,其差异率
由此可以看出,不考虑缓冲区状态影响的情况下,系统的脆弱性比考虑缓冲区影响的情况下大16.84%,即中间缓冲区的设置减少了系统的脆弱性,增加了系统的稳定性,但同时,缓冲区的增加会增加系统的复杂性,使得控制系统更加复杂。
4 结论
(1)基于状态熵的制造系统脆弱性评估方法,在面对多状态制造系统的组合爆炸问题时,分析计算复杂,导致其实用性受到很大影响。针对状态组合爆炸情况下状态熵方法难以求解系统脆弱性的问题,在分析系统内各单元、子系统状态的基础上,提出基于通用生成函数的脆弱性分析方法。
(2)通过制造单元状态转移方程,求解各单元在不同状态下的概率,建立单元的通用发生函数,然后利用串联、并联的通用生成函数构造算子,得到整个系统的通用生成函数模型,并以此为基础,基于信息熵原理,定义制造系统的临界脆性熵,建立系统的脆弱性评价模型。
(3)以某混流制造系统为例,采用所提出的基于通用生成函数的脆弱性评价计算方法,计算得到系统的脆弱性评价指标数值,分析了制造单元脆弱性与其状态之间的相关性,通过与状态熵方法的计算结果对比,证明该方法在保证计算结果准确性的基础上可以显著提高计算的效率,提高了脆弱性评价的实际应用。