郭璐, 刘晓东
(1.空军工程大学 装备管理与无人机工程学院, 陕西 西安 710051; 2.江南机电设计研究所, 贵州 贵阳 550009)
导弹装备保障系统是一个包含预防性维修行为、修复性维修行为以及保障资源调配的复杂系统,具有功能组成复杂、作业流程复杂、资源种类及约束条件复杂等特点[1]。随着导弹装备保障系统越来越精准化,根据实际工况确定其所需的约束及变量,并通过确定性分析方法来展现和优化其保障过程变得愈发困难,而仿真技术的出现可以处理这些复杂性问题[2]。
近年来,国内外装备保障研究人员采用了多种建模方法来描述装备维修保障过程[3],例如,很多学者采用的Petri网[4]及其改进模型,高层次体系结构(high level architecture,HLA)模型[5]等。但随着导弹装备综合保障系统仿真对颗粒度和智能性的要求不断提升,很多方式已经不能完全满足综合保障设计全方位的需求,尤其是在设计阶段因缺乏数据而无法构建有效模型。智能体(Agent)仿真建模技术逐渐成为综合保障仿真建模的新趋势[6]。
Agent仿真技术通过多个Agent间的交互、调度、合作、竞争来解决复杂系统,特别是大型复杂装备系统的建模与仿真[7]。基于智能体的综合保障系统建模仿真方法可根据具体需求,采用不同的方式进行灵活设计,可以在不同层面抽象智能体,确保合适的仿真颗粒度。每个智能体都具有智能性,将Agent技术应用在装备保障系统中具有很好的适应性。
目前,针对保障系统的建模与仿真研究大多是面向任务的,根据装备交付后的保障数据开展仿真,验证构建的保障模型是否与装备保障实际情况相符[8],或者评估装备保障效果[9]。少有针对装备保障设计阶段的建模与仿真。还有一些针对装备保障资源配置的研究[10],但仍然存在一系列的问题,保障资源需求预测模型研究一般都是针对故障件到达情况、排队或等待策略等展开研究,然后应用各类新型算法进行优化计算,基本不考虑保障资源共用情况、保障资源自身的故障情况、预防性和修复性维修占用时间等对保障资源的影响。保障人员需求预测模型研究[11]相对于保障设备和备件要少一些,其方法也相对简单,主要包括类比法、排队论法和仿真法。对于人本身的因素,包括专业、技能等级、操作与维修分工等考虑较少。
本文提出了一种新的基于建模与仿真的保障方案设计方法,针对装备设计阶段开展保障规划,尤其是新研装备或历史经验数据不充分的装备的保障方案设计。本文在对导弹装备典型任务场景中的保障过程及评价指标分析的基础上,以Agent技术为依托,建立装备类、保障类、管理类、环境类Agent,搭建装备保障系统仿真框架。分析出装备使用可用度受装备故障扰动和人员失误扰动影响,建立装备故障扰动模型、人员失误扰动模型、恢复行为模型,开展装备保障系统仿真。本方法基于导弹装备设计阶段确定的各类属性,根据装备实际情况建立准确的保障模型,最终由4类Agent共同协作完成保障决策。仿真结果可辅助生成综合保障方案,使装备在设计阶段开展保障方案规划,尤其是使质保期内的保障资源配置有了更科学的方法。
由于导弹装备在运行过程中的复杂性和动态性,其保障系统中的各组成部分会因各种扰动而降低装备使用可用度,严重时将无法实现装备的既定功能且无法完成任务计划。本文以扰动数据为驱动,从导弹装备系统中提取有效信息,在对数据进行处理的基础上,将其输入保障仿真模型中,根据决策机制,对出现故障的装备进行维修或重构,以恢复装备的战备完好性。
基于Agent技术搭建导弹装备保障系统建模与仿真框架。基于Agent的框架将建模过程分为2个主要阶段:分析阶段与设计阶段。每个阶段又由一组具体的步骤组成。分析阶段由问题及目标定义、基于角色的任务分解、Agent功能与状态描述、Agent标识与多智能体系统(multi-agent system,MAS)架构定义以及确定系统环境条件5个步骤组成。同时,前4个步骤之间存在反复迭代关系,目的是获取满意的分析结果。设计阶段则包含建立Agent协同机制、定义Agent内部逻辑、定义环境Agent以及Agent实现与MAS组装4个步骤。按照这些步骤实施相应的建模活动即可建立导弹装备系统模型。其中,分析阶段的主要任务是从影响任务成功率的关键因素出发,确定导弹装备在完成任务过程中的相关行为,以及建模必须考虑的环境条件。需定义Agent的类型与数量及扮演的角色及主要行为。该阶段的最终输出是MAS架构、Agent的属性和功能行为以及环境条件分析列表。设计阶段的主要任务是根据导弹装备系统中各种行为,设计Agent在任务中的各项行为,建立Agent间的协同机制与Agent内部的推理逻辑,并在通过一致性检查后编码实现。完成MAS环境模型的构建,构建环境Agent,其他Agent通过与其交互获取环境信息。
基于以上建模框架及导弹装备实际需求,将装备保障系统及其运行过程抽象为装备类、保障类、管理类和环境类4类Agent。
装备类Agent是对指挥控制车、天线收发车、导弹发射车、电源配电车、运输装填车等各类装备的抽象。使用描述参数、时空参数、物理参数及能力参数来描述装备类Agent的属性。
保障类Agent是对保障人员、保障设备、保障设施以及保障物资的抽象,使用描述参数、时空参数、保障资源参数及保障能力参数来描述保障类Agent的属性。
管理类Agent为虚拟Agent,来源于装备保障系统运行过程中的指挥管理过程,是对任务和逻辑的抽象。其属性仅包括描述参数。根据功能差别将管理类Agent分为状态监控Agent、计算决策Agent及管理控制Agent。管理类Agent包括任务驱动类型、数据驱动类型。任务驱动类型是当系统输入新的任务时,管理类Agent根据任务进行信息处理和信号下发,控制装备类Agent和保障类Agent完成任务;数据驱动类型是当装备出现故障时,管理类Agent采集数据并进行决策分析,根据装备状态变化做出控制调整措施,保障装备正常工作。
环境类Agent是对自然环境、诱发条件、力学环境及攻击目标等的抽象。其参数主要包括:时间参数,如太阳辐射时间等;状态参数,如温度、气压、湿度等。环境类会影响其他Agent的能力。
管理类Agent处于最高层次,管理各Agent交互过程,保证交互的顺利进行;保障类Agent协同装备类Agent,完成保障工作;环境类Agent对各Agent交互产生扰动。全局调度由管理类Agent负责,当管理类Agent收到装备类Agent发出的故障情况通知时进行整体协调控制,以生成总体维修策略,对保障资源进行全局优化配置。局部调度发生在装备类Agent和保障类Agent之间,侧重于具体维修作业的实现过程。同时,在装备类Agent之间、保障类Agent之间还存在着复杂的竞争或合作的关系。各类Agent的交互机制如图1所示。
图1 Agent的交互框架
由管理类Agent在顶层负责全局主控协同。装备类、保障类和环境类Agent处于下一层次,可通过局部自主协同完成具体任务。同时,可按照各类Agent影响范围对装备类和保障类Agent进行分块管理。此外,考虑到需要基于多Agent模型获取优化控制策略,当破坏发生时,优先通过装备类和保障类Agent的局部协同进行恢复,仅当局部协同无法满足需求时,由管理类Agent进行系统重构,即任务的再分配。构建的分层分块的混合递阶仿真框架如图2所示。基于此分层协同运行框架,在局部自主协同的基础上,通过设定Agent间既定的逻辑规则来实现Agent间信息的实时传递。
图2 保障系统仿真框架
在导弹装备全寿命周期过程中,会不断出现多种扰动进而影响装备的任务执行,降低装备战备完好性。大部分的扰动是由于不可控制因素导致的,从扰动来源分析可将系统的扰动分成2类,分别是装备故障扰动和人员失误扰动。装备故障扰动是发生最多的扰动,装备故障的发生与装备自身结构组成、故障率水平以及装备使用过程有着密切的关系。装备在使用过程中存在着大量的人员和装备交互的过程,如使用人员密集操作装备,保障人员定期开展预防性维修等,在这些过程中会由于各种因素,如身体状态、心理因素、极端的环境条件等导致人员发生失误从而影响装备的正常运行。所以准确描述人员失误可以提高模型的准确度,对装备保障规划有着重要作用。保障系统中出现各种扰动属于离散事件,如何设计合理的扰动触发方式对于保障系统模型后续的仿真运行十分关键,下面是2类扰动在模型运行过程中的建模方案。
装备的故障扰动可以建立在“武器系统——分系统(整车)——设备(组合)——现场可更换单元(line replaceable unit,LRU)——…”不同的层次上,由于故障建立的层次越低故障建立过程越复杂,本文故障注入的层次不超过LRU层。使用Agent的方法研究装备保障系统,需要采用仿真方式进行。因为在模型仿真过程中装备的故障发生属于离散事件而不能直接嵌入到Agent的正常仿真时钟,所以本文提出采用双时钟机制来实现正常仿真过程中的故障注入。双时钟机制示意如图3所示。
图3 双时钟机制示意
双时钟机制的基本思路是利用系统动力学的基本原理结合离散事件触发方法,当系统动力学存量为0时故障发生。设编号为i的装备Agent为Ai,其包含q个LRU,第j个LRU为Lij(1≤j≤q)。设Lij的寿命为Fij,Ai的故障时间为Fi。
故障时钟机制的基础是动力学消耗机制,设Ai对应的故障时钟存量为S∈[0,1],动力学消耗速率为vi,t为仿真时间。若vi=1/Fi,则任意时刻系统动力学存量为
(1)
Si=0的时刻即为Ai故障发生的时刻。
可以灵活地控制时钟的消耗速率来实现装备在不同阶段的故障发生情况仿真。当装备处于贮存状态或待机状态时,出现故障的概率很低,此时将动力学消耗速率设置为0。当装备执行演训任务(包括阵地转移、运输)时,出现故障的概率较高,此时将动力学消耗速率设置相应提高。
根据故障时钟推进机制,确定Ai的寿命时间是关键环节。Ai的寿命时间可以根据Lij的寿命Fij以及Ai的可靠性框图(reliability block diagrams,RBD)来确定,具体步骤如下。
步骤1确定LRU及其寿命分布类型
开展装备故障模式与影响分析(failure modes and effects analysis,FMEA),确定装备LRU。根据装备保障模式发展趋势,提升部队级维修保障能力的举措之一为减少部队级复杂维修任务,将大部分需在部队级开展的维修简化为换件维修,故装备LRU大多为能直接拆卸的设备、组合和功能单元。一般情况下装备LRU的寿命是服从某个分布的,可根据LRU所属类型,如机械类、电子类、机电类等,确定其分布。表1给出了发射车部分LRU的寿命分布类型。
表1 发射车LRU的寿命分布
步骤2确定LRU的寿命
LRU的寿命值是一个随机变量,本文采用逆变换法抽样得到LRU的寿命值。逆变换法抽样基本原理:如果随机变量ξ具有分布函数F(x)或概率密度分布函数f(x),且F(x)单调递增,则有
Z=F(x)
(2)
Z是[0,1]上的均匀分布,则有
ξ=F-1(Z)
(3)
当Lij寿命为指数分布时,设其寿命分布密度函数为
fij(t)=λije-λij
(4)
式中,λij为Lij的失效率。
Lij寿命分布函数为
(5)
根据(2)式可得Fij的抽样公式为
(6)
故Fij第k次随机抽样值tFij(k)的计算方式为
(7)
式中,η是[0,1]上的随机数。
同样,当LRU的寿命为正态分布、威布尔分布或其他分布时,根据逆变换法可计算出相应的抽样值。
步骤3确定Agent的故障逻辑
根据Agent对应装备的FMEA及自身功能与结构分析建立RBD。一个典型装备的RBD如图4所示。
图4 典型装备RBD示意图
其中,单元Unit对应LRU。设Lij的状态值为Xij,其值为
(8)
即当Xij=1时表示Lij正常,当Xij=0时表示Lij故障。建立Ai的状态函数φ(Xi1,Xi2,…,Xiq),将Lij的状态与Ai的状态关联起来。根据RBD得到Ai的状态函数,可表示为
φ(Xi1,Xi2,…,Xi5)=[1-(1-Xi1)]×
[1-(1-Xi2)(1-Xi3)]×
[1-(1-Xi4)(1-Xi5)]
(9)
若φ(Xi1,Xi2,…,Xiq)=1,则表示Ai正常,若φ(Xi1,Xi2,…,Xiq)=0则表示Ai故障。
步骤4确定Agent的寿命
根据Agent的RBD可知,当Lij发生故障后,Ai不一定发生故障,所以需要在Lij的基础上确定Ai的寿命Fi。根据仿真时间推进,如果到达t=Fij的时刻,则Lij故障,对应的状态值Xij=0。若Xik=0(1≤k≤q)使得Ai的状态函数φ(Xi1,Xi2,…,Xiq)=0,则有Fi=Fik。
特别的,当Ai的RBD是串联模型时,有
Fi=min{Fi1,Fi2,…,Fiq}
(10)
当Ai的RBD是并联模型时,有
Fi=max{Fi1,Fi2,…,Fiq}
(11)
确定装备Agent的寿命时间后,将得到的寿命时间作为故障时钟的初始时间,然后利用双时钟仿真机制来触发故障,实现故障发生的离散化。
人员在操作过程中发生失误的时间M同样服从相应分布Z=F(x),所以对于人员的失误发生也采用双时钟机制。由于人员Agent(包含在保障Agent中)不可能建立类似装备Agent的RBD,所以抽样过程直接在人员的整体层面上进行。
人员工作是处于循环状态的,人员是不断在“工作状态——空闲状态”之间进行循环。这样就跟装备Agent的故障时钟抽样有所不同,即对同一个人员Agent的M需要重复抽样,即由空闲状态到工作状态每循环一次就对其M进行抽样。
与装备的故障时钟抽样方法相同,编号为h的人员Agent的Mh为
Mh=F-1(Z)
(12)
一般情况下人员失误发生时间服从对数正态分布,此时Mh的抽样值为
(13)
式中:η是[0,1]上的随机数;μ是失误时间均值;σ是失误时间均方根。
使用基于动力学的时钟消耗机制来触发失误事件的发生,任意时刻人员Agent对应的动力学存量Sh(t)可以表示成
(14)
式中:vh是消耗速率;t是仿真时间。当Sh(t)=0时,表示人员Agent在当前操作中发生了失误。
建立导弹装备类、保障类、管理类、环境类Agent后,需确定Agent间的行为逻辑和信息传递链路,导弹装备保障过程链路图如图5所示。
图5 装备保障过程链路图
作为“任务发起者”的装备Agent首先检查装备的故障情况,并与管理Agent交互,发出维修任务需求。一旦有任务需求产生,且维修任务分配给了保障Agent,则需与相应的保障Agent协作,完成维修任务。作为“管理者”的管理Agent负责判定任务是否成功、制定维修策略、安排维修任务等动作。其中,判定任务是否成功需要与装备Agent交互,以充分了解装备Agent的数据;制定维修策略需要在装备Agent和任务需求数据的基础上,按照一系列规则,制定维修策略以优化完成维修过程;安排维修任务需要与保障Agent交互,将维修任务分配给相应的保障Agent。作为“服务者”的保障Agent的主要行为是向故障装备Agent提供维修保障服务。
针对导弹装备保障要素多、保障流程复杂等特点,使用基于Agent的方式对导弹装备保障系统进行建模与仿真。整个仿真过程涉及到的装备及相关的保障点、人员、设施、设备、备件、工具、技术资料等,在模型中以不同的Agent的形式表现,它们之间通过消息、事件、时间或命令触发和交互,共同构成了整个仿真系统。
由于装备的故障行为都是由装备的一个或多个设备或组合的失效造成的,对于建立的Agent模型来说,故障行为等价于故障设备或组合对应的装备Agent或保障Agent的参数的改变。将装备故障行为的建模抽象如下:系统运行过程中故障作为“信号”传递给目标Agent(装备Agent);接受故障信号的Agent改变自身的相应参数值,更新系统的参数数据,并反馈给管理Agent;在管理Agent的指导下对系统的运行进行新一轮的规划,包括安排保障Agent对装备Agent进行维修、更新装备Agent的任务规划等。
基于系统运行流程设计故障扰动的建模实现方案如下:根据装备Agent内所有会导致装备运行出现故障的设备或组合的失效率和寿命分布类型等随机抽取故障时间,通过时钟对故障时间进行监控。当时钟归零时,故障发生,正常运行的流程中的装备Agent检测时钟归零信号,自动变更当前Agent的相关参数为故障状态,终止当前活动并加入等待维修队列,或转入其他运行逻辑。
装备类Agent包括指挥控制车、导弹发射车、电源配电车、运输装填车等各类装备的抽象Agent。使用多种类型的参数,包括描述参数、时空参数、物理参数及能力参数来描述装备Agent属性,其中:描述参数用于描述装备Agent自身特征,如装备Agent的编号;时空参数用于描述装备Agent工作时的时空特征,如装备Agent的位置;几何参数用于描述装备Agent的构型,如装备Agent的长度;能力参数用于描述装备类Agent的各类能力,包括专用特性与通用特性,专用特性如探测距离、精度、射程、最大速度等,通用特性如可靠性、测试性、维修性等。装备Agent所包含具体典型参数如表2所示。
表2 装备Agent典型参数
导弹地面装备有多种类型,提取各类车辆的共性状态形成状态图,将差异状态设计为保障任务内容和工作任务内容。建立的发射车内部视图如图6所示。
图6 发射车内部视图
保障类Agent是对装备运行过程中所涉及到的保障人员、保障设备、保障设施以及保障物资的整体抽象,即保障类Agent是拥有一定资源,且能够独立提供服务或物资的综合体。其属性包括描述参数、时空参数、保障资源参数及保障能力参数,其中,描述参数与时空参数内涵同装备Agent;保障资源参数用于描述保障Agent包含的保障人员、设备、设施、物资的相关信息,如保障人员类型、保障物资存储量等;保障能力参数用于描述保障类Agent提供服务或资源的能力,如最大可维修装备数、可维修时间等。
系统发出保障需求后,由保障人员领取后前往作业。保障人员领取保障作业时,需要考虑前置任务完成情况、保障人员专业与人数要求、保障设施与备件要求等各项约束条件。满足条件的保障作业才被领取。保障作业视图和保障人员视图分别如图7和图8所示。
图7 保障作业视图 图8 保障人员视图
在保障作业视图中,设计了营级、旅团级和基地级维修流程图,可观察装备及维修地点的整体运转情况。在保障人员视图中可观察人员的状态。
装备LRU视图包含参数和状态图,其中故障率、故障影响等故障机制都通过LRU参数进行配置,并在模型运行过程中进行更新。LRU视图如图9所示。
图9 LRU视图
为验证仿真系统的合理性,本文以某型服役导弹装备为例开展仿真。根据装备部件的寿命分布函数随机抽取故障时间,通过仿真时钟对故障时间进行监控,当仿真时钟归零时故障发生。在正常运行的仿真过程中,装备Agent检测到时钟归零信号,就自动变更当前Agent的相关参数为故障状态,管理Agent判断是否终止当前活动并加入等待维修队列,或转入其他运行逻辑。设定仿真周期为2年,经多次仿真后统计平均结果,可输出各类故障的数据,各类专业人员的使用数据,各种备件、工具、设备、技术资料等的使用和消耗数据。将仿真系统输出方案与该型装备的初始保障资源规划方案、装备实际使用数据进行对比,部分备件的设计量与实际消耗量对比结果如图10所示,部分备件的设计量与实际需求量对比结果如图11所示。
可以看出,在设计阶段装备的初始备件资源规划不合理,备件“备而不用”问题尤其突出,“用而不备”问题较突出,部分备件设计值与实际消耗值、实际需求值的偏差率甚至超过100%。这会导致使用阶段装备作战任务受到严重影响,而同时保障费用又居高不下。
装备使用和保障过程涉及机械、电子、液压、控制、光电、驾驶等专业技术人员,这也是在设计阶段需要规划的。部分专业人员的设计量与实际需求量对比结果如图12所示。
图10 部分备件设计量与消耗量对比 图11 部分备件设计量与需求量对比 图12 部分专业人员的设计量与需求量对比
可以看出,装备的初始人员规划偏多,原因是在初始方案中未考虑人员交叉使用的情况。仿真系统输出的方案中初始人员规划也稍偏多,原因是在仿真模型中,设置专业技术人员为8小时工作制,而专业技术人员在实际过程中未严格按照工作时间执行任务。
本文根据导弹装备在设计阶段的保障性工作特点和需求,提出了一种考虑多重扰动的装备保障仿真方法。首先在对装备组成、功能、故障模式,及保障场景、任务过程、使用与维修保障过程等进行了分析的基础上,确定了装备的扰动类型。然后,建立了保障系统仿真框架,在装备故障扰动和人员失误扰动的基础上,对装备保障过程中的各类Agent进行抽象,给出了Agent的状态变化图,以此为基础完成装备的使用与保障任务。其次,采用双时钟机制来实现仿真过程中的装备故障扰动和人员失误扰动注入,并建立了系统的恢复行为模型。最后,通过实例仿真,验证了装备保障仿真系统的合理性,根据仿真结果合理规划保障资源,不仅可以节省经费,还可以减少保障延误时间,从而提高装备使用可用度。本方法给在设计阶段制定合理科学的装备保障方案提供了参考,也为装备保障资源的规划提供了新思路。