刘鹏宇 朱建冲
(海军工程大学管理工程系 武汉 430033)
基于Petri网的装备临抢修业务流程建模研究*
刘鹏宇 朱建冲
(海军工程大学管理工程系 武汉 430033)
为了提高装备临抢修业务工作的科学性和准确性,论文利用Petri网建模的优势,将排队系统运用到装备临抢修业务流程建模研究中,利用库所优先级实现对故障装备按重要程度进行优先修理。论文讨论了将排队系统转化为HTCPN模型的建模规则,这种方法既可以给出简单直观的模型顶层结构,又可以根据实际情况对模型进行细化,并有利于对模型进行分析和仿真。最后利用CPN Tools工具对所建立的模型进行了性能分析,验证了模型的实用性和有效性。
Petri网; 建模; 装备临抢修; 排队系统; 优先级
Class Number TP391.9
近年来,随着大批高新武器陆续装备部队,维修保障需求有了极大的增加,同时对装备保障工作也提出了更高的要求。装备保障决策分析、保障系统性能评估、保障流程优化等内容已经成为提高装备保障能力的研究重点。装备临抢修业务工作就是为了使装备快速、准确地恢复完好的技术状态,以便发挥其作战性能而采取的一组有序活动。Petri网是一个集图形建模、数学分析和仿真为一体的工具,在描述以并发、异步、分布式、非确定性或者随机为特征的系统时有独特和杰出的能力[1]。
文献[2]给出了建立业务流程模型的一般步骤,文献[3~4]给出了利用Petri网描述战场装备抢修的方法,文献[5]讨论了HTCPN应用于装备保障业务流程中建模与优化的方法,文献[6]提出按照队列的输入过程、排队规则和服务机构三要素,将排队系统转化为HTCPN模型的建模规则,进行了队列模型相关指标的性能分析和评价工作,文献[7]给出了装备维修流程的通用模型。
由此可见,目前国内外很多学者在流程优化上已经做了大量的工作,但是可以看出,战损装备到达维修车间,准备维修之前,还不能按着重要程度进行区分、排队,而是随机分配到服务台上进行处理。实际情况却是,对于重要程度高的战损装备,要优先修理。本文在上述研究的基础上,将排队系统运用到装备保障业务流程建模和优化研究中,利用库所优先级实现对故障装备按重要程度进行优先修理,达到了预期目的。
Petri网的基本网系统定义是个六元组,分层赋时着色Petri网(Hierarchy Timed Colored Petri Net,HTCPN)就是在基本网系统的基础上拓展而来的,其拓展形式化定义见文献[5],这里不再赘述。
有效率的CPN模型要求能够将一个CPN分配到多个页面,使其分解为多个足够小的易于监控的模型,这也就是我们所说的子模型。在CPN Tools里可以通过运用层次网(Hierarchical Nets)来实现此功能。有两个专门用于连接分布于不同界面上的CPN网结构:替代变迁和融合库所。替代变迁代表了一个页面,而融合库所等同于多个其他的库所。
从具体的建模思路来讲,基于HTCPN的建模方法主要分为Bottom-Up Development(自下而上)和Top-Down Development(自上而下)两种方法,文献[8]对两种方法进行了研究,给出了具体的建模步骤。笔者认为,前一种方法能够从模型最细节的部分开始快速地进行建模,能较好地反映系统的当前状况,而后一种方法主要是从总体的角度把握全局,从广义上定义系统模型的全貌,然后逐步地细化需要建立的模型。在建模中,应视系统的复杂程度决定采用Bottom-Up Development或Top-Down Development方法,并在具体步骤中综合运用两种方法。
本文将排队系统引入到临抢修业务流程建模中,并且利用Petri网的拓展形式HTCPN较好地完成了模型的构建,同时介绍了将排队系统转化为HTCPN模型的建模规则。
3.1 临抢修业务流程描述
本文以某型装备临抢修业务流程为例进行建模研究,该装备故障具有有限种状态,且当某种装备发生故障时有且仅有一种故障状态,假设主要故障类型可分为A和B两类。系统随机产生故障装备到达时间和装备故障类型。在实际的临抢修过程中,在进入维修点之前,有专门的检测人员对故障装备进行分类和评估分析,且能准确地判断装备故障类型,若故障类型为A或者B,则进入本维修点。
1) 根据分析可知,该种装备在特定条件下损伤数量是一定的,但损伤时刻是不定的,装备损伤后要送到固定维修点进行维修;
2) 假定送修的装备均为可修复装备。经过对装备故障规律的研究发现,该种装备送修时间间隔大致服从参数为λ的负指数分布,其概率密度是fT=λe-λt(t≥0),分布函数是FT(t)=1-e-λt(t≥0);
3) 维修点有多个服务台,这里仅选取其中一个服务台进行建模研究,每个服务台上有一名维修人员,且维修人员可以修复故障装备;
4) 故障装备到达后,只要该服务台上维修人员空闲,则直接进入服务台开始维修,确定维修时间时,本文假设即使是同种装备故障类型,也会因为故障的严重程度不同而导致维修时间不一样,所以,维修时间也服从参数为μ的负指数分布。
3.2 临抢修业务流程的HTCPN模型
图1 顶层模型
图2 模型的Arrivals子页
图3 模型的Server子页
图1给出了模型的顶层视图。战损装备也就是维修任务(记为task)通过替代变迁Arrivals产生并加入到队列(库所Queue)中,服务台通过替代变迁Server对task进行维修管理,服务完成后将task送入库所REquip,此时即完成一次维修任务。相关的变量声明ML如图4所示。
图4 相关的变量声明
3.3 排队系统的CPN建模规则
从建立的顶层模型(父页)可以看出,两个子模型(子页)Arrivals和Server是业务流程输入过程、排队规则与服务机构的概要表示。在介绍具体模型之前,首先简要介绍一下三个要素所需要考虑的CPN建模规则[9]:
1) 输入过程的CPN建模规则
输入过程是描述当前task来源以及task按照怎样的规律抵达排队系统,主要从三个方面进行描述:
(1)根据task的总体数目,分为有限task源和无限task源。
(2)根据到达类型,分为单个到达和成批到达;
(3)根据相继到达的task到达的时间间隔服从什么样的概率分布、到达间隔是否独立,大致分为负指数分布、爱尔朗分布和泊松分布等。
图2显示的是无限task源单个到达的排队系统,其中task到达服从负指数分布(expTime函数),CPN Tools除了支持负指数分布之外,还支持定长分布、爱尔朗分布和泊松分布等。本例中的由变迁Arrivals指向库所Next的弧标注:()@+expTime(120),其含义为下一个task的到达时间是服从参数为120个时间单位的负指数分布。
2) 排队规则的CPN建模规则
排队规则是指服务允不允许排队(本例中只允许故障类型为A和B的排队),task是否愿意排队以及在排队的情况下采取什么样的服务顺序。主要分为损失制排队和等待制排队,损失制排队是任务到达服务台后,若服务台被占用则随机离去。对于等待制排队的服务规则,主要有:先到先服务(FCFS),后到先服务(LCFS),随机服务和有优先权的服务。图3中变迁Arrival指向库所Queue的弧标注是:tasks^^[task],意思是后来的task排到队尾,也就是FCFS。随机服务是,任务到达后,不管其到达的先后顺序,直接从等待队列中选取其一进行维修。有优先权的服务,在装备临抢修工作中会经常遇到,所以,该规则也是本文主要讨论的服务规则,具体内容在下文进行详细说明。
3) 服务机构的CPN建模规则
服务结构的建模规则主要有以下两点:
(1)服务台的数目,以及串并联关系,本文均采用单个服务台来进行模型说明的。
(2)服务时间服从什么样的概率分布,服务时间的概率分布建模规则如图4中变迁Start指向库所Busy的弧标注(server,task)@+proctime所示,其中proctime可以是固定的时间,也可以是服从某一概率分布的随机时间,前者的实现比较简单,本文模型实现的是后者。
优先级分为变迁优先级、库所优先级和托肯优先级三种[9]。本文我们利用库所优先级来实现:按着故障装备重要程度不同,来优先修理重要程度高的装备。库所优先级,即当无优先级高的task时,才处理优先级较低的task。虽然CPN Tools不支持禁止弧,但是可使用列表lists(适用于所有情况)和增加反库所anti-places(只能用于和禁止弧相连接的库所的令牌数量是有限的情况下)来达到模拟禁止弧的行为。如图所示,本文实现了task的故障类别A的优先级高于B的。
图5 带优先级的Server模型
这里采用列表lists来模拟禁止弧,相较于上例,主要是将颜色类型改为列表型,将所有的输入弧(库所)加进列表中,并且所有的输出弧必须从列表中移出一个随机元素,并将列表返回库所。所做的更改主要有:
1) 相关声明的改变,增加新的颜色类型“Tasks”,定义是“colset Tasks=list Task;”,创建新类型Tasks的变量“tasks”;
2) 相关库所、变迁的变化,本模型相较于图3模型,将库所的颜色类型改为“Tasks”,成为列表类型,并且库所pre1和pre2的初始标识是一个令牌的列表,这里用“1`[ ]”来代替;增加了变迁extract到库所ready这一段,战损装备进入队列进行排队后,经过变迁extract和库所buffer后,分别在变迁t1、t2的警卫函数[#taskType task=A]、[#taskType task=B]的作用下,分成故障类型为A和B的两个子队列。通过库所pre1到变迁ta2之间的弧实现了A的优先级高于B。
3) 弧的标注的变化,tasks^^[task],意思是将新到达的战损装备直接放到队尾,task::tasks,意思是取列表tasks里面的队头元素;并且在相反的方向上增加一个新弧,弧的标志为“tasks”。
4) 禁止弧,必须在禁止弧上输入注入式“[ ]”,并且将禁止弧改成一个双向弧,这样连接于禁止弧上的变迁就只有当其输入库所为空列表时才能触发,也就达到了禁止弧预期的效果。
对本文所建立的两个模型,设定到达时间间隔λ和维修时间μ均服从参数为1.5(h)的负指数分布,在CPN Tools仿真器中,通过CPN ML语言在模型中加入监视器(Monitor)用以监视系统的运行状态,在仿真过程中使用data collector记录动态数据并保存在文件中[10],通过多次仿真取平均值,分析后得到如下仿真结果:
表1 仿真结果比较
由此可以看出,本文建立的优化模型,较随机修理的各项性能指标略有提高,也实现了按着重要程度的不同优先修理重要程度高的故障装备。当遇到重大任务保障时,将发挥重要的作用。实际上,在实际修理过程中,优化后的模型修理时间还会减少,因为还存在其他的优先级,比如,重要程度比较高的故障装备实现了插队和连续修理(其余故障装备也是如此),这对于服务台和修理人员而言,其修理前准备时间几乎减少为零,同时熟练修理相同装备的能力也逐渐提高。
本文使用HTCPN层次化建模方法,通过引入排队系统建立了装备临抢修业务流程模型,并利用库所优先级实现对故障装备按重要程度进行优先修理,最后利用CPN Tools进行了仿真和性能分析,基本上达到了预期目的。但是,对于装备临抢修业务流程建模与优化而言,这是一个复杂的系统工程。如何更加真实地模拟实际情况,更好地服务于装备保障工作,是我们今后应该继续努力研究的方向。
[1] 吴哲辉.Petri网导论[M].北京:军械工业出版社,2005:1-23.
[2] Gu Zhonghua. Techniques and tools for model-based design and analysis of embedded real-time software. (ISBN:0496853341)[D]. Michigan: University of Michigan,2004:10-15.
[3] 齐胜利,武昌,杨懿.基于分层着色Petri网的装备战场抢修系统建模[J].系统仿真学报,2005,17(10):2327-2329.
[4] 刘勇,武昌,林健,曾玉君.装备战场抢修的任意随机Petri网建模及仿真[J].系统仿真学报,2007,1(24):5651-5653.
[5] 陈春良,王岩磊,孙胜坤.HTCPN在装备保障业务流程建模与优化中的应用[J].系统仿真学报,2008,20(10):2746-2749.
[6] 方欢,陆阳,黄镇谨,魏臻.基于CPN仿真的排队系统建模及性能分析[J].系统仿真学报,2013,25(2):228-234.
[7] 杨美玲,朱建冲.基于Petri网的装备维修流程通用模型研究[J].系统仿真学报,2005,17(S1):128-130.
[8] 张新龙.基于时间Petri网的流程建模及性能分析[D].北京航空航天大学:博士学位论文,2003:35-39.
[9] 运筹学教材编写组.《运筹学》[M].北京:清华大学出版社,2003:310-348.
[10] Lisa Wells. Performance Analysis using CPN tools[C]//Proceedings of the 1st International Conference on Performance Evaluation Methodologies and Tools. USA: ACM Press,2006:1-59.
Modeling Research on Equipment Repair Work Process Based on Petri Net
LIU Pengyu ZHU Jianchong
(Department of Management Science, Naval University of Engineering, Wuhan 430033)
In order to improve the scientific and accuracy of equipment repair, this article combines queuing system into equipment support work process modeling with the advantages of modeling based on Petri Net and uses place priority to find out the degree of importance of failure of equipment. The article also discusses the modeling rules of how to transform queuing system into HTCPN model. This method can give a simple and intuitive model of top-level structure, refine the model based on the actual situation and contribute to the model analysis and simulation. In the end the model performance is analyzed using CPN Tools, and the practicability and validity of the model has been verified.
Petri Net, modeling, equipment repair, queuing system, priority
2014年9月3日,
2014年10月27日
刘鹏宇,男,硕士研究生,研究方向:装备效能评估与保障优化。
TP391.9
10.3969/j.issn1672-9730.2015.03.032