基于AnyLogic的舰炮装备保障性综合仿真平台
2022-10-17周锦锋涂继超孙世岩
周锦锋,涂继超,孙世岩
(海装驻上海地区第二军代室,上海 200129)
保障性作为重要的装备通用质量特性,是舰炮装备执行任务的基础之一。随着舰炮装备的快速发展,技术不断革新,任务强度逐渐加大,对装备的保障性提出了更高的要求。从装备研制立项到交付部队使用,保障性贯穿舰炮装备寿命全过程。目前,舰炮装备的保障性涵盖战备完好性、设计特性以及保障资源三个方面,保障系统结构越来越复杂。传统的保障性仿真方法往往只是针对保障性的某一个或几个指标进行仿真,在仿真的过程中,往往只考虑了与该指标有关的因素,而忽略了其他影响因素。因此,导致了以下问题:一方面是仿真结果比较单一,难以形成有效的指导;另一方面是仿真结果精度不高,参考性不强。
针对这些问题,本文以Multi-Agent仿真技术为支撑,基于AnyLogic软件构架,综合考虑舰炮装备可靠性、维修性等因素,搭建舰炮装备保障性综合仿真平台,提高了仿真精度,对各项保障性指标进行输出。
1 总体设计
舰炮装备保障性综合仿真平台(以下简称仿真平台)包含仿真子系统和计算子系统两部分,仿真子系统主要提供仿真信息的输入、修改、存储等功能,而计算子系统则负责保障活动成功仿真及效能评估等功能。它们之间不需要实时数据交换,利用数据库交换即可满足要求。
仿真子系统属于管理信息系统的范畴,且目前主要部署在单机,不存在分布式部署和分布式维护的问题,因此,仿真子系统拟采用Visual Studio 2019作为桌面式开发平台。考虑开发的快速性,拟采用C#语言开发。本系统的数据库拟选用SQL Server。
计算子系统是整个系统的核心,需要将可靠性、维修性、保障性综合考虑,此时,单一的仿真方法难以解决此类问题。AnyLogic软件是一种可以对离散事件、系统动力学、多智能体和混合系统建模和仿真的工具。由于其天然支持Multi-Agent建模,因此,我们选用AnyLogic作为仿真计算子系统的开发平台。
仿真平台具备仿真想定管理、仿真计算、保障性评估等功能,实现仿真过程从输入、计算到输出的全流程管理,其功能模块如图1所示。
图1 仿真平台功能模块图
其中,仿真想定管理负责管理仿真信息,如任务信息、装备结构信息,装备故障信息、维修保障资源信息等,为仿真计算提供输入。其包含如下功能:1)对仿真任务的持续时间、任务剖面、任务成败准则进行配置;2)对系统故障指定故障规律、故障分布;3)对预防性维修的时间间隔、资源需求、延误时间等信息进行管理;4)对故障维修的维修资源、维修时间分布、保障延误等信息进行管理。
仿真计算包含如下功能:1)对仿真时间、仿真次数、仿真速度进行配置;2)对仿真任务进行蒙特卡洛仿真;3)可通过仿真动画展示仿真进程,观察仿真是否与实际情况吻合;4)对仿真结果提供存储功能,避免重复仿真。
保障性评估负责对仿真结果进行分析,评估当前保障系统的效能。其包含如下功能:1)对多次仿真进行统计分析,以图表的形式展现任务成功概率及任务失败原因;2)可进行敏感性分析,以评估任务成败的关键部件及关键故障;3)根据指标体系及仿真结果对目前维修保障体系进行效能评估;4)形成评估报告,给出系统评估结果及相应的对策建议。
传统的舰炮装备保障性分析主要是基于解析方法,对系统的假设往往比较苛刻,比如系统组成部件的寿命必须服从指数分布,不同部件的故障概率相互独立等,而现实中的系统往往很难满足以上假设。因此,用计算机仿真方法解决复杂系统的保障性分析问题成为最佳选择。本文对舰炮进行保障性综合仿真,需要将可靠性、维修性、保障性综合考虑,此时,单一的仿真方法难以解决此类问题。
Agent是一个具有自适应性和智能性的软件实体,能代表用户或其他程序,以主动服务的方式完成一项工作。Agent具有自主性、交互性、反应性、主动性等特点,单一Agent很难对存在于动态开放环境中的大规模复杂问题进行求解。通常,我们将多个Agent组成的系统称为多Agent系统,其多个Agent成员之间相互协调,相互服务,共同完成任务。Agent技术对于自底向上建立复杂的可靠性、维修性、保障性仿真系统十分有利,但如果采用纯Agent技术建立仿真模型,带来的一个主要问题是各Agent之间消息传递过多,严重影响仿真效率。
离散事件系统是指受事件驱动,系统状态只在离散的时间点发生变化的系统,各种排队系统即是离散事件系统,由于现实世界大多数的业务流程都可以描述为离散事件系统,因此,在生产、物流、军事等领域,离散事件仿真系统得到了广泛应用。但纯离散事件仿真系统一般需要建立离散事件仿真表来调度仿真模型,当系统较为复杂时,开发者需要考虑过多细节以保证仿真表的正确性,开发难度较大,而且对于可靠性维修性保障性仿真系统,离散事件仿真系统缺乏描述故障传递的有效机制。
本仿真系统需要对舰炮典型任务进行维修保障效能评估,因此涉及可靠性、维修性、保障性建模问题,其中的关键就是如何对系统中的各种故障模式进行建模,且能模拟故障之间的相互影响。因此,设计方案拟采用Agent模拟各种故障模式,利用Agent的消息机制模拟故障传递。产生故障后,故障的维修和保障资源配置是一个典型的排队问题,可以用离散事件系统建模。
2 仿真平台实现
2.1 舰炮装备结构建模
舰炮装备结构建模主要描述舰炮装备的逻辑层次结构关系,并包含舰炮装备的基本信息、可靠性信息、维修性信息等。其中:基本信息主要是设置装备的编号、名称、型号、数量和当前状态(正常、故障、降工况等);可靠性信息主要是设置装备的故障分布函数类型(指数分布、正态分布、威布尔分布等)及其参数;维修性信息主要是设置装备的平均修复时间、需要的维修人员等。
作为复杂系统,舰炮装备功能及基本组成要素的数量非常庞大。若模型描述过于详细,将使得模型本身非常复杂。由于舰炮装备在结构上以及使用、保障的体制上,都具有显著的层次化组织的特征,因此,需要结合任务情况进行层次化建模。如图2所示,将舰炮装备划分为系统—单元—部件三个结构层次。
图2 舰炮装备结构层次图
部件是整个装备系统的基础,装备的状态由部件开始,部件的状态变化反映到单元层次,进而反映到系统层次。每一个部件对应为一个Agent,部件主要划分为5个模块:正常工作、预防性维修、故障、等待维修和维修。如图3所示。
图3 单元部件状态转移图
1)正常工作模块,表示单元部件现在的工作状态为正常。
2)预防性维修模块,表示单元部件正在进行预防性维修活动,其进入预防性维修的判断条件为正常工作时间是否达到预防性维修时间阈值,如果达到该时间阈值,则当前单元部件进入预防性维修状态。
3)故障模块,表示单元部件发生了故障,需要对其进行维修。
对于故障的发生,由于舰炮装备符合指数分布,本文采用指数分布的方法,利用累计失效率求取一次任务时部件的故障间隔发数,通过求取的故障间隔发数触发故障。对故障的类型进行比较,判断其故障的类型。
4)等待维修模块,对维修资源保障库的空闲维修人员进行统计,维修人员不足,则继续等待维修,维修人员足够,则进入维修状态。
5)维修状态,表示单元部件正在进行维修。
用Agent对各故障模式进行建模,无论是哪种故障模式,其基本形态都是一致的,如图4所示。故障Agent包含失效与正常两个状态,正常状态可由自身随机故障(由失效分布决定)或其他故障发出消息引发进入失效状态,失效状态可由维修完毕消息引发进入正常状态(当故障不可修时,即没有相应的维修保障模型时,就不会收到这个消息,因此,部件一旦失效,将永远处于失效状态)。当进入失效状态时,将产生一个故障实体进入离散事件仿真模型,同时若此故障与其他故障关联时,将发送消息引发其他故障产生。
图4 故障模型
根据舰炮装备的任务和特点,采用嵌套方式进行建模。由于舰炮装备划分为机电单元、BYD单元、GD单元和FS单元,因此,根据各单元的结构组成,利用部件Agent建立四个单元,以GD单元为例,其结构框图如图5所示。
图5 GD单元结构框图
根据四个单元之间的关系,我们建立舰炮装备系统级模型,并且画出各单元的状态转移图,如图6所示。
图6 舰炮装备系统状态转移图
舰炮装备系统状态转移图由工作模块和任务成功性判定模块组成。工作模块有两个状态,分别是“正常”和“故障”状态,表示的是舰炮装备的两种工作状态,正常工作状态到故障状态的变迁条件,通过单元的结构框图进行判定。
2.2 舰炮装备任务建模
舰炮系统执行任务期间远离岸上基地,海洋环境变幻莫测,各种航态交替进行,补给保障困难。采用多阶段任务系统可以有效地描述舰炮复杂系统多阶段任务特点,由于执行任务和环境压力的变化,系统结构会按时间顺序被划分为不同的阶段。在任务剖面中,每个任务阶段都称为一个阶段任务,在一个给定的阶段任务中,系统配置、任务是否成功的判据及单元故障特性等是相对固定的。
舰炮装备任务剖面用于描述舰炮任务的层次结构及其时序关系。由于舰炮任务较为复杂,需要根据舰炮使用方案中对任务剖面的描述,将各任务剖面分别细化为不同的任务阶段和任务单元,形成逐步细化、深入的“任务剖面→任务阶段→任务单元”3级递进关系。其中:任务剖面是从宏观的角度描述舰炮在一定时间段内的总体任务要求,以及舰炮装备在任务中所需经历的事件和环境;任务阶段是对任务剖面的展开,具体描述舰炮为了完成任务在特定时间段内须运行的工况或具备的功能;任务单元则是构成舰炮任务的基本组成元素,详细描述参与任务的装备名称、数量和使用方式,在每个任务单元中,参与任务的装备和装备的使用方式是唯一的。舰炮装备任务剖面分解示意图如图7所示,图中括号里的数字表示任务持续时间范围。
图7 任务剖面分解图
2.3 基于Multi-Agent的保障系统建模
仿真建模的基本思路为:用Multi-Agent仿真模型模拟故障的产生和传播,用离散事件系统仿真模型模拟故障的维修和保障,两者通过消息机制联结起来形成有机整体,最终完成“三性”一体化仿真建模。其基本结构如图8所示,仿真流程如9所示。
图8 仿真模型基本结构
对比单一的Multi-Agent系统仿真方法和单一的离散事件系统仿真方法,本文仿真方法主要有以下特点。
1)维修保障仿真部分由离散事件系统仿真分担,减少了过多的Agent消息传递,有利于提高仿真效率。
2)此仿真模型是可伸缩的,当不需要对维修性和保障性做过多考虑时,可以将离散事件系统仿真部分去掉,将维修过程简化为故障Agent的一个定时状态转换即可,修改工作量极小。
图9 仿真流程
3)故障的产生部分可以用Multi-Agent模拟,降低了离散事件系统仿真建模压力,提高了模型计算速度。
4)可以用Agent的消息机制模拟故障的传播,能够更加真实地模拟舰炮装备各部件之间、单元之间的内在联系。
3 平台展示
设置初始输入参数,包括部件失效率、随船备件数量、保障人员数量、故障类型、平均故障修复时间、预防性维修时间等。设置射击次数为200、500、1 000、2 000,对不同任务强度下的仿真结果进行对比分析,得到的仿真界面如图10所示。
图10 不同射击次数的仿真界面
将“输出结果.xlsx”系统有关计算结果导出,内容如表1所示。
表1 不同射击次数下仿真计算结果
对比分析可以发现:
1)其他条件不变,随着任务强度的加大(射击次数增多),舰炮装备备件满足率呈明显下降的趋势,备件利用率呈上升趋势;
2)单次任务成功率基本维持不变,说明单次任务的成败主要与舰炮装备的固有属性相关;
3)虽然备件利用率较低,但是仍有备件短缺的情况发生。某些部件的故障次数较多,对备件需求量更大,显然,将所有类型备件配置成一致数量是不科学的,不仅导致了某些备件短缺,还导致了备件满足率、备件利用率的降低。
如果我们改变输入参数,还可以得到不同保障资源条件、组成结构、失效率条件的仿真结果,因此,仿真平台具备推广条件。
4 结束语
本文通过多智能体建模技术赋予舰炮任务、装备、部件、故障更为丰富、灵活的发生与信息传递机制;通过离散事件系统建模实现舰炮全任务过程的建模与仿真;通过对仿真结果的评估,研究舰炮装备的保障活动以及任务与设备关系分析,可以评估多个不同维修保障方案的效能,指导维修保障资源的合理配置,为装备的科学使用提供决策依据。