APP下载

面向舰面航空保障效能评估的智能超实时仿真系统构建方法

2022-08-11罗永亮常智超于传林

计算机集成制造系统 2022年7期
关键词:实体模型不确定性组件

白 天,罗永亮,刘 广,常智超,刘 敬,于传林

(中国船舶工业系统工程研究院,北京 100036)

0 引言

舰载机出动效能是衡量舰船作战能力的重要指标,一直是舰船总体设计和航空保障系统设计关注的重点[1]。相对于其他任务场景,航空保障过程效能预测和评估存在两方面的特点和难点:①舰船的狭小动平台特性导致舰面作业具有高度动态性及不确定性,包括变化的飞行任务、作业工时延长等,给效能仿真与评估增加了干扰与挑战;②机群舰面保障作业呈现复杂多样性和高度耦合性,全面精确地描述复杂作业流程、空间占用、资源占用等约束条件十分困难。

目前,主流效能预测和评估方法涵盖基于模型驱动的仿真推演方法[2]、基于网络流推导的解析技术[3-5]、基于机器学习的数据拟合方法[6-7],以及综合效能评估方法[8]等。考虑到舰船航空保障效能预测场景的复杂性,及实船数据、先验知识的获取难度,本文构建了智能超实时仿真系统,利用试验设计算法及并行仿真技术提升大样本仿真效率,并基于时间片回滚机制,构建支撑大仿真推进比的智能化仿真引擎,实现了针对大型舰船航空保障过程顶层效能指标的可信预测及评估。

1 系统框架

如图1所示为本文提出的智能化超实时仿真系统,该系统由数据库组件、仿真预案生成组件、主控组件和仿真引擎组件构建。下面分别描述各个组件在超实时仿真系统中的功能定位。

1.1 数据库组件

数据库组件负责仿真系统全工作周期内的各类仿真数据的增、删、改、查。

按支撑的仿真阶段可分为3类数据,即仿真开始前的预案生成阶段需求的输入数据、仿真运行阶段的对象状态管理所需的过程数据,以及仿真结束后的仿真结果统计及可视化所需的结果数据。

按数据的类别,可分为场景数据、对象数据、任务数据、约束规则数据、路径数据、仿真结果数据。其中:场景数据是指仿真对应物理场景的基础数据,如场地信息、设备信息、人员信息、自然环境信息等;对象数据是指抽象得到的物理实体对象的特征参数数据,既包含不随仿真进程变化的对象编号、尺寸参数、功能性能等静态特征数据,又涵盖随仿真系统演化的对象位置、状态、故障率等动态特征数据;任务流程数据是指为完成规定任务而定义的作业执行流程,任务的作业执行流程绑定在特定实体对象上,从而驱动对应实体对象由初始态向目标态发生状态变迁;约束规则数据是指按规定的任务流程驱动实体对象由初始态向目标态发生状态变迁过程中需遵守的一系列时、空、环作业执行约束条件;路径数据是指当实体对象需要进行空间位置变换时,调运执行的路径信息;仿真结果数据是指经统计分析而获取的指标结果,例如任务的完成时间、完成率等。

1.2 仿真想定编辑组件

仿真想定编辑组件致力于编辑仿真系统运行所需的基础元素信息和不确定性因素信息,从而输出主控组件可识别的仿真想定文件,并基于与数据库组件的交互,实现仿真想定文件的新增、导入、编辑、删除、复制等操作。

仿真想定编辑组件按其功能划分,可分为仿真想定基础元素编辑模块、仿真想定不确定性因素编辑模块和仿真想定文件生成模块。仿真想定基础元素编辑模块负责编辑仿真想定文件的人、机、环场景信息,任务作业流程信息及其他重要信息;仿真想定不确定性因素编辑模块是以融入作业时长、故障概率等不确定性为目标,通过设定仿真不确定性因素及其水平,基于试验设计算法生成具有近似正交性和良好空间填充特性的不确定性因素排列组合样本,从而实现以较小的仿真运行次数、较短的试验周期,获取科学的仿真结论;仿真想定文件生成模块负责汇总仿真想定信息,并生成结构化的仿真想定文件。

1.3 主控组件

主控组件可分为仿真任务创建模块、仿真任务销毁模块、仿真任务监视模块、仿真结果处理及可视化模块。

仿真任务创建模块负责接收来自于仿真想定编辑组件的仿真想定文件,并依据文件中规定的n组由仿真不确定性因素采样获取的仿真样本,并行开启n个仿真任务进程,每个仿真任务进程负责在一组特定仿真不确定性因素水平下获取仿真结果;仿真任务监视模块负责监控仿真任务进程的执行状态及进度,将已完成或陷入死锁中的仿真进程编号反馈给仿真任务销毁模块;仿真任务销毁模块,根据仿真任务监视模块反馈的仿真进程状态,一方面销毁已陷入死锁的仿真进程并释放其占用内存,另一方面保存正常结束进程的仿真结果;仿真结果处理及可视化模块负责读取各个已正常执行结束的仿真进程的指标数据,从而支撑仿真结果的统计分析及可视化展示。

1.4 仿真引擎组件

仿真引擎组件负责维护主控组件并行生成的n个仿真任务进程,可分为3个主要模块,分别为虚拟世界初始化模块、全局仿真时间管理模块和对象状态管理模块。虚拟世界初始化模块负责按照仿真想定文件中配置的场景实体信息、任务作业信息、不确定性因素信息,完成虚拟世界中实体、作业流程等模型对象实例化;全局仿真时间管理模块提出了一种基于时间片回滚的主动全局仿真时间推进机制,能严格满足仿真事件的发生次序逻辑,实现全局仿真时间的合理计算及推进,从而完成高效的超实时仿真;对象状态管理模块建立全局仿真时间到实体对象状态、作业对象状态的关联模型,实现离散事件驱动下的作业对象状态变更,及连续时间驱动下的实体对象状态迁移。

2 超实时仿真引擎实现策略

2.1 超实时仿真引擎实现框架

仿真引擎由虚拟世界初始化模块、全局仿真时间管理模块及对象状态管理模块3个主要模块构成。

2.2 虚拟世界初始化模块

虚拟世界初始化模块一方面,完成对象状态管理模块内的实体对象管理器创建,再由实体对象管理器依据仿真想定文件中配置的场景实体信息和不确定性因素信息,完成虚拟世界中各类实体模型对象实例化;另一方面,完成全局仿真时间管理模块内时间管理器和事件管理器创建,其中,事件管理器依据仿真想定文件中配置的任务作业信息,完成任务作业模型对象实例化,并将实例化后的任务作业模型放入任务作业队列中。

在本文中,利用描述任务作业的前继作业,抽象表征任务间的执行先后顺序。具体而言,作业的序号ID、作业的名称Name、作业预期执行时间execTime、执行作业的舰载机execAircraft、作业执行所在保障阵位execSite、作业的时序前置激活作业列表PreTaks,以及执行此作业所需的保障资源ID列表resList被用于描述保障作业。

task=(ID,Name,execTime,execAircraft,

execSite,PreTaks,resList)。

(1)

2.3 对象状态管理模块

对象状态管理模块运用集中式的管理接口,按实体模型类型分类建立实体模型管理容器,每类实体模型管理容器维护该类实体模型对象的索引指针,从而实现对指定实体模型的创建、状态查询、状态属性变更、实体与任务作业绑定、作业模型子活动流程配置、模型销毁功能。

(1)模型创建 实现各个实体模型的创建功能。

(2)模型状态查询 实现实体模型的状态查询显示的功能。

(3)模型状态变更 根据不同情况,可以实现实体模型的状态切换功能。

(4)实体与作业绑定 实体模型根据作业流程中对实体模型的耦合情况进行实体模型与作业模型的绑定,进行后续的状态变更。

(5)作业模型子活动流程配置 部分作业模型可划分为若干个子活动并按指定前后次序执行,支持作业执行流程的细粒度配置,实现解耦合。如作业A可分为活动A1、活动A2两部分,对两部分活动分别进行配置与监控。

(6)模型销毁 对无用或失效的模型对象进行销毁。

2.4 全局仿真时间管理模块

全局仿真时间管理模块提出了一种基于时间片回滚的智能化主动全局仿真时间推进机制,能严格满足仿真事件的前后发生次序逻辑,从而将全局仿真时间推进到下一个仿真事件的发生时刻,以实现高效的超实时仿真。

2.4.1 作业级流程仿真

每个作业节点有4种状态,分别为:等待执行状态、可以执行状态、正在执行状态和执行完毕,在每个时间片内进行轮询遍历所有的任务节点,根据遍历的作业节点的当前执行状态、执行所需资源状态等信息来判断作业节点要更新的下一状态。

(1)等待执行状态 为作业的初始态,作业满足时序流程触发条件后,可将状态转移为可以执行状态。

(2)可以执行状态 为作业的待执行状态,作业满足执行资源约束条件后,可将状态转移为正在执行状态。

(3)正在执行状态 为作业的执行状态,待作业执行逻辑运行完毕后,可将状态转移为执行完毕。

(4)执行完毕 为作业的终止状态,仿真引擎将不操作处于此状态的作业。

具体而言,作业级流程仿真算法,即作业节点的状态转移变更算法如下:

算法1作业级流程仿真算法。

解析仿真预案文件,初始化全部任务作业模型并放入任务作业队列taskQueue中

Max_episode=1e6

Num=0

for episode=1 to Max_episode do

for Task:taskQueue do

if Task.状态=="等待执行状态"

if Task的全部前继作业状态均为"执行完毕"

Task.状态←″可以执行状态″

end if

end if

else if Task.状态=="可以执行状态"

if Task.执行舰载机具备执行Task的状态And执行Task所需的全部保障设备状态均为

"空闲可占用"

Task.状态←"正在执行状态"

for Res:Task.执行资源列表do

Res.状态←″工作被占用″

end for

end if

end if

else if Task.状态=="正在执行状态"

if Task执行逻辑运行完毕

Task.状态←"执行完毕"

for Res:Task.执行资源列表do

Res.状态←"空闲可占用"

end for

end if

end if

else if Task.状态=="执行完毕"

Num←Num+1

end if

if taskQueue.size==Num:

break

end if

end for

2.4.2 活动级流程仿真

本系统支持基于事件触发的活动级(即子作业级)流程仿真驱动,即系统支持将作业事件细粒度划分为若干个子活动顺序执行的解决逻辑。对事件管理机制进行解耦,针对细粒度的事件子活动进行更清晰明确的管理,增加用户对事件管理的细节把控,将对事件整体配置关注点下放,提供活动级别的细粒度配置。

作业被划分为若干个子活动,将所有子活动放入一个子作业队列seq中,设置初始i=0,系统在时间片内调用执行seq:i流程对应的活动执行函数。若时间片结束前活动执行函数返回1,表明当前seq:i子活动执行完成;若时间片到时后活动执行函数仍未返回,则继续在新的时间片内执行,直到调用的工作函数返回1。若作业的seq:i子活动执行完成,i自增1,指向下一个子活动并判断当前i是否越界,若i越界,证明不存在后续子流程,则当前任务执行完毕;反之则说明存在后续子流程,继续执行下一个子流程,直到所有子流程结束,此时整体任务结束。

2.4.3 基于时间片回滚机制的全局仿真时间管理

为了支撑大仿真推进比的超实时仿真需求,本文设计了基于时间片回滚机制的全局仿真时间管理逻辑,可以保证作业流程触发事件按时序无额外等待时间的依次执行。

具体而言,基于时间片回滚机制的全局仿真时间管理逻辑执行步骤如下:

步骤1启动一个定时器,定周期执行时间片内全局仿真时间推进逻辑,每个时间片的长度可根据规定的超实时仿真推进比设置。

步骤2在每个时间片周期内,遍历所有任务作业节点,然后根据任务作业节点的自身状态、对应舰载机状态、调用资源信息完成任务作业节点状态更新。

步骤3对空闲时间片部分以一定步长向前回滚来重复利用未使用充分的时间片。设每个时间片对应的仿真推进时长为t,任务作业A剩余执行时长为T,则分为以下3种情况讨论:

(1)T=t时,待执行作业对当前时间片可完全利用,不触发时间片回滚机制;

(2)T>t时,则对下一时间片的利用比为δ=(T-t)/t,当δ<0时系统触发时间片回滚机制,时间片回滚时长为T0=t-(T-t)=2t-T。

(3)T

如图3和图4所示为时间片回滚机制应用前后,作业A的后继作业B可执行时间的判定逻辑优化。时间片回滚机制在当前执行作业没有完全利用当前时间片时,后继作业的开始时间会提前到前一个作业执行结束后立即执行。

假设每个时间片的仿真时间长度为100 ms,前一个任务A为150 ms,即完全利用了一个时间片A,对时间片B只利用了50 ms。此时,按大推进步长触发时间片回滚机制,通过对事件任务B的任务开始时间重新赋值,将事件任务B前提到事件任务A之后执行。

3 并行超实时仿真技术实现策略

3.1 并行超实时仿真框架

并行超实时仿真的实现,依赖于图1中的仿真想定编辑组件及主控组件,按其功能实现的逻辑阶段划分,可细分为仿真预案生成阶段、仿真任务监视与控制阶段和仿真结果分析及可视化阶段。提出的并行超实时仿真框架如图5所示。

3.2 仿真预案生成阶段

仿真预案生成阶段的核心是通过智能化设定仿真不确定性因素及其水平,基于试验设计算法,生成具有近似正交性和良好空间填充特性的不确定性因素排列组合样本。

仿真预案生成阶段的执行流程为:

步骤1上级软件以图形界面的方式提供快速仿真推演参数配置界面,用于配置仿真不确定性因素及其水平相关参数。

步骤2通过数据分发服务(Data Distribution Service, DDS)报文通讯方式,将仿真不确定性因素水平配置及试验设计(Design of Experiment, DOE)算法选择命令发送至试验设计服务;试验设计服务基于下列3种DOE算法,生成良好空间填充特性的不确定性因素排列组合样本:

(1)部分析因设计 在试验时将不确定性因素按两水平分别设置为+1与-1,并选取多不确定性因素水平乘积权值为+1或-1的作为试验方案。

(2)Plackett-Burman设计 首先生成PB矩阵,每个设计矩阵有N行,N-1列。对于PB矩阵的每一行有3个原则:每行高水平数目为N/2个;每行低水平数目为N/2-1个;每列包含的高、低水平数相等,都为N/2个。之后,第一行在满足上述3个原则的基础上任意排列,其余的行将上一行的最后一个元素排在本行的第一个位置,上一行的第一个元素排在本行的第二个位置,以此类推即可。试验人员根据PB矩阵与水平权值安排试验。

(3)正交设计 其主要依赖正交表,试验者根据不确定性因素数目、因素水平数以及是否具有交互性,从全面试验中挑选出部分有代表性的多因素水平排列组合样本。

步骤3预案生成程序负责根据接收到的n组不确定性因素排列组合样本参数,结合从数据库端获取必要的仿真初始化数据,形成n个快速仿真推演想定XML文件。仿真推演预案文件需要包含仿真场景、执行方案(即作业的执行流程)等信息,典型形式如下:

算法2仿真推演预案文件。

3.3 仿真任务监视与控制阶段

仿真任务监视与控制阶段响应仿真预案生成阶段的输出,接收针对特定仿真任务融入不确定性因素的n个仿真预案文件,其中每个文件都规定了一组特定排列样式下的仿真不确定性因素水平组合样本。仿真任务监视与控制阶段并行开启n个仿真任务进程,每个仿真任务进程负责在一组特定仿真不确定性因素水平排列组合下获取仿真结果。

仿真任务监视与控制阶段同时实现监控并行仿真任务进程的执行状态及进度。该阶段创建有进程查询定时器,可实现定周期监视并反馈仿真进程状态,一方面销毁已陷入死锁的仿真进程并释放其占用内存,另一方面保存正常结束的进程的仿真结果,并记录同个仿真场景下n组不确定性因素水平组合样本执行结果文件的存储地址。

3.4 仿真结果分析及可视化阶段

n组仿真任务推演结束后,系统会整合并统计分析n组仿真结果文件,展示各项任务核心指标的统计分布信息,包括不局限于:方案的完成时间查看、方案的可完成率等。

4 试验验证

本文利用典型舰面航空保障场景,验证所提出的超实时仿真系统的可用性。为此,构造了一个涵盖8架飞机、30个保障阵位、9种保障资源(包含8种设备类资源和一种人员类资源)的舰船甲板保障仿真环境。

本文假设存在标准化的单机保障作业执行流程,该作业流程包含14道具体作业任务,每个保障作业的前继作业、需求的保障资源、保准执行时长如表1所示。

表1 保障作业信息表

续表1

本文定义作业5执行时长、作业6执行时长、作业10执行时长3类仿真不确定性因素,如图1所示,对上述3类因素进行分布建模。

如图7所示,利用DOE试验设计算法,生成良好空间填充特性的n组不确定性因素排列组合仿真样本。

针对DOE算法确定的n组仿真样本,生成对应的仿真预案XML文件,并发送至主控组件。主控组件并行开启n个超实时仿真任务进程,每个任务进程受仿真引擎控制独立完成超实时仿真推演,主控组件监视各个独立仿真进程的运行情况,如图8所示。

当所用仿真进程推演结束后,主控组件会整合并统计分析同一保障场景执行下的n组仿真推演结果文件,展示核心指标的统计分布信息,如图9所示。

观察仿真推演结果,可以清晰地看出在不确定性注入下的方案核心指标的最大-最小范围,明确方案指标最可能所处的值域区间,并以此支撑航保指挥人员更准确地预计方案未来执行效能,从而优化指挥决策。

5 结束语

针对舰面航空保障过程超实时仿真推演及效能评估,本文提出了一种智能超实时仿真系统架构设计方法,重点讨论了基于试验设计及并行仿真技术的大样本仿真效率提升策略,以及基于主动全局仿真时间推进策略的智能化超实时仿真引擎实现策略。在典型多机舰面航空保障场景下,测试了该超实时仿真系统的可用性,不仅为大型舰船航空保障过程动态指挥控制提供了未来态势预测支持,还为航空保障系统改进和作业流程优化提供了评估手段,对实现机群安全、协同、高效地完成出动作业任务,提升机群出动架次率具有重要现实意义。

与此同时,本文构建的仿真系统仍有较大提升空间,未来将尝试运用克隆仿真等技术持续改进并行仿真执行效率,并研究流程破坏性不确定性融入下的试验设计策略,实现多分支仿真想定生成及快速推演。

猜你喜欢

实体模型不确定性组件
法律的两种不确定性
无人机智能巡检在光伏电站组件诊断中的应用
作战想定仿真实体模型构建方法研究
一种嵌入式软件组件更新方法的研究与实现
U盾外壳组件注塑模具设计
全球不确定性的经济后果
英镑或继续面临不确定性风险
英国“脱欧”不确定性增加 玩具店囤货防涨价
组件软件工程的开发研究
F8F-1B“熊猫”舰载战斗机实体模型工作图