连续离散混合系统仿真推进方法及装置、设备及介质制造方法及图纸

技术编号:27615383 阅读:28 留言:0更新日期:2021-03-10 10:44
本发明专利技术实施例提供的一种连续离散混合系统仿真推进方法及装置、设备及介质,该方法包括:针对连续系统仿真时间推进,整个系统按照最小步长推进仿真时间,其中仿真对象的时间推进步长为最小步长的整数倍;针对离散事件,将事件划分为同步事件和异步事件,同步事件产生后立即执行,异步事件根据时戳大小在事件队列中按先后排序,当仿真时间推进到时戳时调度和执行异步事件,仿真对象随仿真时间的推进改变仿真对象的状态,该方法综合了时间步进与事件推进两者的优点,拓宽应用范围,提高仿真推进和调度的效率。和调度的效率。和调度的效率。

【技术实现步骤摘要】
连续离散混合系统仿真推进方法及装置、设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种连续离散混合系统仿真推进方法及装置、设备及介质。

技术介绍

[0002]仿真装置运行的效率最终体现在仿真时间推进的速率上,因此,如何提高推进速率是仿真的关键问题之一。目前,仿真装置有两种基本的推进机制,基于时间步进的推进机制和基于事件的推进机制。基于时间步进的推进机制以逻辑时间为变量计算装置状态的变化,每次仿真推进逻辑时间递增一个固定的步长,并根据这个时间步长计算装置的最新状态。仿真步长在运行之前根据装置和模型特点确定,在整个仿真过程中通常维持不变。
[0003]基于事件的仿真推进机制即根据未来一段时间内即将发生的所有事件的最小发生时刻作为下一个仿真推进到的时刻,仿真时间的推进步长不是固定的,是根据事件发生的时刻而不断调整的。事件推进机制不存在多余的计算,具有最高的仿真精度,但却没有提供调整仿真效率和仿真精确度的手段。而且,当仿真装置中事件数越多、事件发生得越频繁、越密集时,仿其仿真推进的效率就越低。当在一定仿真时间内发生大量的事件时,采用下次事件时间仿真推进机制的效率比固定步长时间推进机制的仿真效率还要低。
[0004]固定步长时间推进机制适用于事件发生在时间轴上呈均匀分布的情况,而基于事件的推进机制则适用于对事件在时间轴上比较稀疏并且非均匀的情况。通常,连续装置被采样离散化后,采样点在时间轴上是均匀分布的,因此,固定步长时间推进机制适合于连续装置仿真;而离散事件装置以事件作为状态驱动的因素,则适合采用基于事件的推进机制。
[0005]目前,主流的仿真技术构架在离散事件仿真DEVS理论基础上,DEVS在解决离散事件为装置主要驱动时的仿真是非常有效的,但对于连续装置仿真或连续-离散混合装置的仿真,DEVS显得比较生硬而且低效。但是,现实世界建模仿真时,大部分情况面对的装置是连续离散的混合装置,这类装置既要模拟连续的时间推进中发生的状态改变,也要模拟离散的事件导致的状态转换。比较典型的连续离散的混合装置是战场模拟装置,这类装置既要模拟各种装备连续的运动情况,也要模拟事件(如开火、发射、爆炸)对装置的影响。
[0006]因此,如何提供一种连续离散混合系统仿真推进方案,能够综合了时间步进与事件推进两者的优点,拓宽应用范围,提高仿真推进和调度的效率是本领域技术人员亟待解决的技术问题。

技术实现思路

[0007]本专利技术实施例提供一种连续离散混合系统仿真推进方法及装置、设备及介质,能够综合了时间步进与事件推进两者的优点,拓宽应用范围,提高仿真推进和调度的效率。
[0008]第一方面,本专利技术实施例提供一种连续离散混合系统仿真推进方法,其特征在于,包括:
[0009]针对连续系统仿真时间推进,整个系统按照最小步长推进仿真时间,其中仿真对
象的时间推进步长为最小步长的整数倍;
[0010]针对离散事件,将事件划分为同步事件和异步事件,同步事件产生后立即执行,异步事件根据时戳大小在事件队列中按先后排序,当仿真时间推进到时戳时调度和执行异步事件;
[0011]仿真对象随仿真时间的推进改变仿真对象的状态。
[0012]进一步地,所述针对离散事件,将事件划分为同步事件和异步事件,同步事件产生后立即执行,异步事件根据时戳大小在事件队列中按先后排序,当仿真时间推进到时戳时调度和执行异步事件包括:
[0013]获取仿真对象的事件,所述事件包括时间戳;
[0014]在基于所述时间戳确定所述事件为同步事件的情况下,立即执行所述同步事件;在基于所述时间戳确定所述事件为异步事件的情况下,添加所述异步事件到与仿真时刻一一对应的事件队列中;
[0015]按照最小步长推进仿真时间,并基于仿真对象随仿真时间的事件推进函数改变所述仿真对象的状态;执行与当前仿真时刻对应的事件队列中的事件以改变所述仿真对象的状态。
[0016]进一步地,所述基于仿真对象随仿真时间的事件推进函数改变所述仿真对象的状态包括:
[0017]接收用户对所述仿真对象的仿真精度参数值的设定N,N为正整数;
[0018]每隔N倍的最小步长,基于仿真对象随仿真时间的事件推进函数改变所述仿真对象的状态。
[0019]进一步地,所述执行与当前仿真时刻对应的事件队列中的事件以改变所述仿真对象的状态包括:
[0020]查找与当前仿真时刻对应的第一事件队列;
[0021]执行第一事件队列中的事件以改变所述仿真对象的状态。
[0022]进一步地,还包括:
[0023]按照时间先后顺序确定当前仿真时刻后首次存在的第二事件队列;
[0024]确定所述第二事件队列对应的目标仿真时刻;
[0025]推进当前仿真时刻到所述目标仿真时刻,并执行所述第二事件队列。
[0026]第二方面,本专利技术实施例提供一种连续离散混合系统仿真推进装置,包括:
[0027]步长推进模块,用于针对连续系统仿真时间推进,整个系统按照最小步长推进仿真时间,其中仿真对象的时间推进步长为最小步长的整数倍;
[0028]事件推进模块,用于针对离散事件,将事件划分为同步事件和异步事件,同步事件产生后立即执行,异步事件根据时戳大小在事件队列中按先后排序,当仿真时间推进到时戳时调度和执行异步事件;
[0029]状态改变模块,用于仿真对象随仿真时间的推进改变仿真对象的状态。
[0030]进一步地,所述事件推进模块包括:
[0031]事件获取单元,用于获取仿真对象的事件,所述事件包括时间戳;
[0032]事件处理单元,用于在基于所述时间戳确定所述事件为同步事件的情况下,立即执行所述同步事件;在基于所述时间戳确定所述事件为异步事件的情况下,添加所述异步
事件到与仿真时刻一一对应的事件队列中;
[0033]仿真推进单元,用于按照最小步长推进仿真时间,并基于仿真对象随仿真时间的事件推进函数改变所述仿真对象的状态;执行与当前仿真时刻对应的事件队列中的事件以改变所述仿真对象的状态。
[0034]进一步地,还包括:
[0035]队列确定模块,用于按照时间先后顺序确定当前仿真时刻后首次存在事件的第二事件队列;
[0036]确定所述第二事件队列对应的目标仿真时刻;
[0037]推进当前仿真时刻到所述目标仿真时刻,并执行所述第二事件队列。
[0038]第三方面,本专利技术实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述连续离散混合系统仿真推进方法的步骤。
[0039]第四方面,本专利技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述连续离散混合系统仿真推进方法的步骤。
[0040]本专利技术实施例提供的一种连续离散混合系统仿真推进方法及装置、设备及介质,通过获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种连续离散混合系统仿真推进方法,其特征在于,包括:针对连续系统仿真时间推进,整个系统按照最小步长推进仿真时间,其中仿真对象的时间推进步长为最小步长的整数倍;针对离散事件,将事件划分为同步事件和异步事件,同步事件产生后立即执行,异步事件根据时戳大小在事件队列中按先后排序,当仿真时间推进到时戳时调度和执行异步事件;仿真对象随仿真时间的推进改变仿真对象的状态。2.根据权利要求1所述的连续离散混合系统仿真推进方法,其特征在于,所述针对离散事件,将事件划分为同步事件和异步事件,同步事件产生后立即执行,异步事件根据时戳大小在事件队列中按先后排序,当仿真时间推进到时戳时调度和执行异步事件包括:获取仿真对象的事件,所述事件包括时间戳;在基于所述时间戳确定所述事件为同步事件的情况下,立即执行所述同步事件;在基于所述时间戳确定所述事件为异步事件的情况下,添加所述异步事件到与仿真时刻一一对应的事件队列中;按照最小步长推进仿真时间,并基于仿真对象随仿真时间的事件推进函数改变所述仿真对象的状态;执行与当前仿真时刻对应的事件队列中的事件以改变所述仿真对象的状态。3.根据权利要求2所述的连续离散混合系统仿真推进方法,其特征在于,所述基于仿真对象随仿真时间的事件推进函数改变所述仿真对象的状态包括:接收用户对所述仿真对象的仿真精度参数值的设定N,N为正整数;每隔N倍的最小步长,基于仿真对象随仿真时间的事件推进函数改变所述仿真对象的状态。4.根据权利要求2所述的连续离散混合系统仿真推进方法,其特征在于,所述执行与当前仿真时刻对应的事件队列中的事件以改变所述仿真对象的状态包括:查找与当前仿真时刻对应的第一事件队列;执行第一事件队列中的事件以改变所述仿真对象的状态。5.根据权利要求1至4任一项所述的连续离散混合系统仿真推进方法,其特征在于,还包括:按照时间先后顺序确定当前仿真时刻后首次存在的第二事件队列;确定所述第二事件队列对应的目...

【专利技术属性】
技术研发人员:黄晓冬谢孔树简涛
申请(专利权)人:中国人民解放军海军航空大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1