基于Petri网的作战航材保障仿真系统研究∗
2018-11-26徐常凯任佳成
陈 博 徐常凯 任佳成
(空军勤务学院航材四站系 徐州 221000)
1 引言
随着信息技术的不断发展与进步,后勤保障不断向信息化、智能化的方向发展,但由于战场的情况往往错综复杂,对于作战航材保障的影响因素多,不确定性大,使其与由战场需求主导的精确保障模式还存在一定的差距,具体包括航材保障人员对战场的环境不熟悉,对作战航材保障流程还较为陌生,对其与平时的保障流程区分不清,从而导致作战航材保障效率较低,造成了作战保障资源的浪费。
本文主要采用应用较为广泛的面向Agent的仿真建模技术对作战装备保障流程进行仿真建模,将作战装备保障中各个实体单元的状态与方法进行完全封装,再以此为基础;用Petri网对Agent模型进行表达,充分利用Petri网语义描述具体规范,适用于动态离散事件系统仿真的特点,对作战航材保障流程进行具体仿真[1]。
2 Petri网仿真技术的概述
Petri网最早是由德国C.A.Petri博士于20世纪60年代在他的论文中提出的,主要应用于对网状结构的信息流模型的描述,后来经过四十几年的发展,Petri网技术因为其描述能力强,数学性质好等特点渗透运用于各个行业、各个领域,其能够对离散事件的动态系统进行全面的建模分析,清晰地对系统的内部状态变化情况与系统各部分状态变化条件进行表述[2]。
基本的Petri网结构是标有运行方向的图,主要包括库所(Place)、变迁(Transition)、令牌(Token)以及弧(Are)四种结构。其中库所一般采用空心的圆圈表示,用于描述所表示的动态系统中各组成部分的状态与条件;变迁一般用空心矩阵表示,用于表示改变库所状态所发生的事件,例如航材保障部队从准备保障状态到下一阶段的实施保障任务所要经过转场保障这一事件,来进行描述[3];令牌一般用实心的黑点表示,其主要用于在各库所之间进行传递,其具体的传递过程能够展现系统的状态变化过程,令牌的位置代表了系统变化的状态,一个库所能够拥有多个令牌,库所拥有多少个令牌即称为其有多少个标识[4];弧用有向线段来表示,其主要将库所与变迁进行连接,即能够从库所指向变迁,也能够从变迁指向库所,弧展现了系统的局部与事件之间的关系,简单的Petri网图结构如图1所示[5]。
根据Petri网的相关定义能够将其表示为一个三元组即N=(P,T,R),其中P表示库所的集合,T表示变迁的集合,R表示库所与变迁之间的关系的集合,集合P与集合T之间没有相交的元素,集合P与集合T中至少要存在一个元素[6];R⊆(P×T)∪(T×S)其中规定在整个系统中不存在孤立的库所与孤立的状态。与此同时,其库所中的令牌又称为标识用字母A表示,若初始库所P1中的初始标识数A0≥1,则对于与P1相连的库所T1具有发生权,在变迁发生后,系统产生新的标识A1,并按网络结构继续推进下去,变迁不断发生,标识也随之不断变化,这就是Petri网的运行方式[7]。
3 基于Agent模型的作战航材保障实体关系描述
基于Agent的作战仿真建模主要是对作战航材的保障流程进行分析,对整个作战航材保障任务进行描述分解,将他们分配给仿真中的实体Agent并确定各个实体Agent之间的相关关系。可将每个实体Agent分解为名称、行动、约束、表识四个组成部分,其具体可表示为[8]
Agent={Agent-name;Actions;Constraint;AgentRole}在作战航材保障的过程中主要包括上级机关进行命令的下达,各保障单位在接收到任务后制定保障的清单,并进行器材的保障,在保障的过程中发生缺器材的情况时要及时向上级提出申请,请求紧急调拨器材,相关部门要通过保障资源的分布,下达器材调拨的命令,接收到命令的航材股或后方航材仓库应及时进行装备的发付,使保障的活动能够正常的进行,其基于Agent模型的具体仿真关系描述如下:
Pre-conditions{上级发布作战命令}
Agents{
Agent{
Agent-name:指挥机关
Actions{
Action(接受上级命令,{上级发布作战命令},{接受结束})
Action(下达作战命令,{接受结束},{下达作战命令结束})
}
Constraints{
接受上级命令Seq下达作战命令
AgentRole{下达命令}
}
Agent{
Agent-name:应急指挥机关
Actions{
Action(接受作战装备请领单,{填写结束},{接收结束},{In 24h})
Action(选择器材调拨单位,{接收结束},{应急事件处理结束},{In 24h})
}
Constraints{
AgentRole{应急事件的处置}
}
Agent{
Agent-name:A单位装备保障单位
Acitons
Action(接受上级指挥机关命令,{上级指挥机关下达命令},{接受完毕})
Action(清点库存情况,{接受完毕},{清点结束},{In 6h})
Action(制定携行清单,{清点结束},{制定结束},{In 6h}))
Action(派遣转场保障部队,{接受完毕},{派遣结束},{In 12h})
}
Constraints{
接受上级指挥机关命令Seq清点库存情况清点库存情况Seq制定携行清单
制定携行清单Seq派遣转场保障部队
AgentRole{战斗部署}
}
Agent{
Agent-name:A单位装备携行保障分队Actions
Action(接受A单位命令,{A单位下达派遣命令},{接受完毕})
Action(制定作战装备保障预案,{接受完毕},{制定完毕})
Action(实施作战装备转场保障,{制定完毕},{转场完毕},{use作战装备},{At B装备保障单位})
Action(记录器材消耗情况,{转场完毕},{记录完毕})
Action(填写作战装备请领单,{记录完毕},{填写结束},{In 2h}
}
Constraints{
接受A单位命令Seq制定作战装备保障预案
制定作战装备保障预案Seq实施作战装备转场保障
记录器材消耗情况Seq填写作战装备请领单
AgentRole{保障实施}
}
(……B装备保障单位,B单位附近装备保障单位,后方装备仓库)
Ordering_Constraints{上级指挥机关And Split A装备保障单位,B装备保障单位,后方仓库
B装备保障单位,A单位装备保障分队And Join应急指挥机关
上级指挥机关Or Split B装备保障单位,后方装备仓库
B单位附近装备保障单位,后方装备仓库Or Join汇总数据
}
}
其中Action表示作战过程中各实体Agent的行动;Constraint表示对各要素的约束;Ordering Constraints表示顺序约束;Seq表示顺序;And split表示起始并行关系;Or Join表示结束并行关系;Or split表示起始选择关系;Or Join表示结束选择关系。
4 基于Petri网的作战航材保障建模仿真设计
根据搭建的作战航材保障流程的Agent仿真框架并结合Agent模型的表达方式,基于离散事件系统仿真建模工具——Petri网方法,可实现对作战装备保障中实体Agent模型结构的定义。在Petri网中,能够用变迁(Transitions)描述Agent实体状态的变化,库所(Place)描述Agent实体的状态,弧表示状态发生改变的条件[9]。所以,对作战装备保障流程的形式化定义进行转化,可选用Petri网对其进行表达,并通过Petri网对作战装备消耗情况进行模拟仿真,最后通过仿真算法实现对作战装备保障流程的仿真[10]。
从作战装备保障的Agent建模定义到采用Petri网进行图形化的描述,首先主要根据作战装备保障流程中各Agent之间以及Agent本身内部的逻辑关系进行提取,然后根据这些关系将其进行合并,从而转化为Petri网的形式[11],最后通过 Petri网的仿真能够清楚地获得各部门在作战装备保障流程中所担负任务的时间长短。
具体地讲,首先根据Agent中的形式定义,绘制各Agent之间的逻辑关系图与Agent内部的关系图,主要有上级指挥机关、A装备保障单位、B装备保障单位、A装备保障单位携行保障分队、应急指挥机关、B单位附近装备保障单位以及后方装备仓库共7个Agent实体,其Agent实体的内部结构与协同关系描述如图2所示。
然后在梳理完各实体Agent之间协同关系及其内部流程的基础上,根据作战装备保障流程的逻辑顺序,将其进行第二阶段的转化,即将各Agent之间的顺序、选择以及并行关系分别采用Petri网进行合并转化[12]。
1)顺序关系
在上级下达作战命令之后,进行转场保障的部队需对人员进行分工,派遣作战装备携行保障分队执行转场保障任务,A装备保障单位与其携行保障分队之间为顺序关系。在顺序关系中,上一个Agent的终止状态与下一个Agent的起始状态是相同的。所以,A装备保障单位的结束状态P7与其携行保障分队的起始状态P8是等同的,将2种状态进行合并。顺序关系的Agent实体结构如图3所示。
2)并行关系
上级指挥机关下达作战命令之后,A单位与B单位需要分别接受相关数据信息并进入并行状态。所以,可用起始并行关系来描述三者之间的关系。在两个单位初始状态P3与P14之前增加初始状态库所Pands1和变迁Tands1,并用有向弧Fas11和Fas12进行连接,从而表示在上级指挥机关Agent结束状态相同的条件下,经过相同的变迁连接到两个不同的Agent实体的初始状态。在作战装备保障部队需要进行器材的请领时,两个单位都需向应急指挥机关提交作战装备请领单,在此可用结束并行关系来进行描述。在A装备保障单位携行保障分队与B装备保障单位的结束状态P13和P20后增加库所Pande1和变迁Tande1并用有向弧Fae11和Fae12进行连接,从而可以表示在不同的Agent结束状态经过不同连接和相同的变迁转化为相同的初始状态。并行关系的Agent实体结构如图4所示。
3)选择关系
应急指挥机关在接收作战装备请领单后对器材的调拨单位进行选择。所以,在应急指挥机关的结束状态与后方装备仓库和B单位附近装备保障单位的初始状态能够用起始选择关系来表示。在应急指挥机关结束状态之后增加初始状态库所Pors1和变迁Tors11、Tors12,并用有向弧Fors11和Fors12将变迁与两个Agent实体的初始状态相连接,用来表示从两个Agent实体中选择一个进行变迁操作。同理,在这两个实体运行结束后结束选择关系转化为汇总数据状态,所以在各Agent结束状态后添加变迁Tore11和Tore12,并用有向弧Fore11和Fore12与增加的结束状态库所Pore1相连接。选择关系的Agent实体结构如图5所示。
5 作战装备保障流程的仿真算例分析
上述对各Agent实体之间的逻辑顺序关系进行了合并描述,将第一步中的各Agent内部结构进行添加,最终可以将作战装备保障流程用Petri网进行表示,从而实现对整个作战航材保障流程的仿真。
下面以作战保障任务为例,通过分析其作战装备保障流程,建立作战装备保障实体Agent模型。具体任务如下:空军某型飞机24架,于某年某月某日由A单位进驻B单位,执行战略性突击任务,作战时间为7天。此型装备完好率设为85%,出动率设为80%,出动强度设为3次/天,装备战损率设为4%。其Petri网的作战仿真流程如图6所示。
图6 中在进行Agent逻辑顺序描述的基础上,考虑各Agent之间的协同关系,采用循环结构模拟,重复执行对发生短缺的作战装备请领过程。本文主要采用Matlab的Petri网仿真数据包,对设计的作战装备保障的Petri网模型结构进行仿真,系统仿真结果如图7所示。
图7 中的横轴表示算例中各Agent实体的名称,纵轴表示作战装备保障流程中仿真得到的各Agent执行各自任务的时间。由仿真结果可知:担负转场任务的装备保障单位在执行作战装备保障过程中执行任务较长且工作量较大;与此同时,应急处置作战装备短缺的总时间为957h,这是评价作战装备保障任务的重要指标之一。
6 结语
对作战航材保障流程进行仿真的过程中,需要对作战航材的整体进行分析与梳理,并对其过程中的各个作战单元进行任务的分配。本文首先将作战装备保障流程中的Agent实体模型包装为独立模块,通过实现自身内部状态自治和执行某种方法或者动作以实现预期的功能,然后建立各Agent相互之间的协同关系,最后采用Petri网技术对其进行表达,达到仿真目标,具有较强的实用性,能够广泛地运用于对作战装备保障决策领域中。