基于交互预测的离散事件仿真管理系统和方法

文档序号:37770084发布日期:2024-04-25 10:56阅读:5来源:国知局
基于交互预测的离散事件仿真管理系统和方法

本技术涉及离散事件仿真管理,特别是涉及一种基于交互预测的离散事件仿真管理系统和方法。


背景技术:

1、离散事件仿真(disrete event simulation,des)是当前利用计算机仿真研究复杂巨系统特征的一种主要方法。des中的每一交互过程的实现都对应着事件的创建、调度和处理。在一个事件的处理过程中可能创建其他事件并根据事件将要发生的时间对其进行调度,且事件的创建和调度均在事件被处理之前进行,因此,需要对仿真事件的发生时间进行预测。

2、传统的仿真事件的预测主要有两种方式:第一种是采用时间步进仿真方法,它将仿真时间分成一定长度的时间步长序列,在每一个时间步长进行状态更新和实体间交互处理,这种仿真是使用计算机模拟连续系统最为直观的一种方法,仿真事件预测问题被简化为时间步长的选择问题;第二种是采用事件驱动仿真方法,仿真时间的推进由事件决定,事件发生的时间是不确定的,仿真按照事件的发生进行“跳跃”推进,略去了状态“不活动”的中间过程。

3、然而,这两种仿真事件预测的方式存在以下问题:时间步进仿真方法虽然可以较为简单地确定下一新事件的执行时间,但是当步长取值太大时无法捕获发生在两个时间步长时刻之间的事件,当步长取值太小时,使仿真软件运行效率降低。而在事件驱动仿真方法中,受到仿真实体自身行为的影响,仿真实体与其他实体之间可能发生一些交互。这些交互事件的发生直接依赖于交互双方的状态和行为,难以在仿真实体自身行为发生之初预先直接确定。常见的做法是,在执行行为的过程中通过创建小步长事件来逐步判断是否发生交互,但是,在这一过程中将会产生大量事件计算,在仿真实体之间交互关系复杂时,容易出现已预测的交互事件需要取消的情况,导致了非必要的事件预测计算和事件取消操作,容易导致离散事件仿真运行的效率降低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高离散事件仿真运行效率、能够减少非必要的事件预测和事件取消操作,提高交互事件预测的准确度和效率的基于交互预测的离散事件仿真管理系统和方法。

2、一种基于交互预测的离散事件仿真管理系统,所述系统包括:

3、仿真管理器,用于控制仿真的初始化、暂停和停止,并管理系统内的所有管理组件;其中,管理组件包括事件管理器、实体管理器和交互预测管理器;

4、事件管理器,用于管理仿真的时间和活动,提供基于离散事件的仿真时间推进机制,并通过事件队列将事件发送方所创建的仿真事件进行基于优先级的排序调度管理,并按照先后顺序对事件队列中的仿真事件进行处理,将仿真事件发送至事件接收方进行执行处理;

5、实体管理器,用于管理并控制所有仿真实体模型的创建、销毁、句柄分配、查询和拷贝;

6、交互预测管理器,用于根据可能发生交互的不同类型的仿真实体模型对,创建并管理不同类型的交互预测器;

7、其中,交互预测器用于根据仿真实体模型的状态持续时间得到所有仿真实体模型的最小预测时间窗,并预测不同类型的仿真实体模型之间在最小预测时间窗内可能发生的交互;

8、仿真实体模型用于仿真模拟所建模对象的功能,其中,每个仿真实体模型包含一组状态,当外部没有交互事件发生时,仿真实体模型根据内部的状态转移函数进行状态的演化;当外部有交互事件发生时,仿真实体模型执行交互事件对应的事件处理函数。

9、在其中一个实施例中,仿真管理器,具体用于:

10、读取想定文件和运行配置文件;

11、加载模型文件和数据文件,并创建仿真实体模型;

12、初始化事件管理器、交互预测管理器和交互预测器;

13、设置仿真时间和仿真实体模型初始化参数,调度初始事件,设置交互事件的发送和接收关系;

14、启动仿真运行,向事件管理器发送启动仿真请求,告知事件管理器取出并执行仿真事件,更新当前仿真时间,直至所有仿真事件执行完毕后,停止仿真运行。

15、在其中一个实施例中,事件管理器,具体用于:

16、创建事件队列并读取事件优先级配置信息;

17、接收仿真管理器发送的启动仿真请求后,从事件队列取出第一个仿真事件,将仿真时间推进到该仿真事件的执行时间,并告知事件接收方执行该仿真事件;

18、接收仿真实体模型提交的待调度仿真事件,并根据待调度仿真事件的优先级,将待调度仿真事件插入事件队列中等待取出并执行,直至事件队列中的所有仿真事件执行完毕。

19、在其中一个实施例中,实体管理器,具体用于:

20、获取仿真实体模型列表和模型库信息;

21、对于仿真实体模型列表中每一个仿真实体模型,从模型库中获取加载模型文件并实例化为仿真实体模型,维护仿真实体模型的句柄和实体类型信息,并提供基于句柄和实体类型的仿真实体模型查询接口。

22、在其中一个实施例中,交互预测管理器,具体用于:

23、初始化交互预测器-交互实体类型对映射列表;

24、读取配置信息,加载解析支持的交互预测器列表并创建交互预测器;

25、对交互预测器列表中的每一个交互预测器,获取其支持的交互双方的实体类型;

26、建立交互预测器-交互实体类型对的映射关系,并加入交互预测器-交互实体类型对映射列表;

27、在仿真过程中,仿真实体模型根据交互事件的类型查询获取对应的交互预测器。

28、在其中一个实施例中,交互预测器,具体用于:

29、接收可能发生交互的仿真事件;

30、从实体管理器中获取可能受到仿真事件影响的,并且与事件发送方发生交互的仿真实体模型列表作为交互实体列表;其中,与事件发送方发生交互的仿真实体模型列表即为事件接收方列表;

31、遍历交互实体列表,对于每一交互实体,与事件发送方构建交互实体对;

32、获取事件发送方和其对应的交互实体当前的状态持续时间,取状态持续时间的最小值作为时间窗,时间窗即为从事件开始时间到最小状态持续时间;

33、取所有交互实体对的时间窗的最小值作为最小时间窗,并记录最小时间窗对应的事件发送方和交互实体;

34、获取最小时间窗对应的事件发送方和交互实体的状态转移函数,预测两个状态转移函数之间的交互影响,并预测交互影响发生的时间和交互的数据内容;

35、创建新的交互事件,设置该新的交互事件的接收方为新的交互实体,新的交互事件的发送方为新的事件发送方,新的交互事件发生的时间为交互影响发生的时间,新的交互事件的参数为交互的数据内容;

36、将新的交互事件发送给事件管理器进行调度;

37、新的交互事件预测成功。

38、在其中一个实施例中,仿真实体模型,具体用于:

39、初始化仿真实体模型的状态;

40、创建初始事件,设置事件的发送和接收关系;

41、在执行仿真事件的过程中,执行事件响应函数,更新仿真实体模型的状态;

42、判断是否产生新的仿真事件,若为否,更新仿真输出;若为是,则创建新仿真事件,并设置新仿真事件的接收方、事件发生时间和事件参数数据,并将新仿真事件提交给事件管理器进行调度,并进一步判断否可能产生其他交互事件,若为否,更新仿真输出;若为是,通过交互预测管理器获取与仿真实体模型和新仿真事件有关的交互预测器,并向交互预测器提交仿真实体模型和新仿真事件的信息进行交互事件预测,并更新仿真输出。

43、一种基于交互预测的离散事件仿真管理方法,所述方法应用于上述基于交互预测的离散事件仿真管理系统,所述方法包括:

44、创建仿真管理器,根据仿真管理器读取想定文件中的运行配置信息、仿真实体模型列表、仿真实体模型事件发送-接收交互关系表和仿真实体模型初始化信息;

45、创建实体管理器,根据实体管理器进行仿真实体模型列表的创建、初始化并维护仿真实体模型;

46、创建并初始化事件管理器,根据事件管理器构建空的事件队列;

47、创建交互预测管理器,通过交互预测管理器根据仿真实体模型事件发送-接收交互关系表创建交互预测器,并维护交互预测器和仿真实体模型交互对之间的映射关系;

48、在仿真过程中,通过仿真实体模型创建仿真事件来推动系统的演化,并将所创建的仿真事件发给事件管理器进行调度,并将可能引发交互的仿真事件发送给交互预测器;

49、通过交互预测器根据仿真实体模型的状态持续时间确定最小预测时间窗,并根据仿真实体模型的状态转移函数在最小预测时间窗内预测可能受到该仿真事件影响而发生交互的其他仿真实体模型之后,创建相应的交互事件,发送给事件管理器进行调度;

50、并通过事件管理器将仿真事件按照事件发生时间、事件类型等因素插入事件队列,进行优先级排序,事件管理器按照先后顺序取出事件队列中的仿真事件,根据仿真事件发生的时间更新当前仿真时间,并将仿真事件交由事件接收方处理。

51、上述基于交互预测的离散事件仿真管理系统,与现有技术相比,具有如下技术效果:

52、1)交互预测器通过最小时间窗预测机制进行交互事件预测,使得交互事件的预测具备可行性,并且最小时间窗的引入,减少了非必要的事件预测,提高了交互事件预测的准度和效率,可以避免因为无法预测交互事件只能采用小步长事件逐步判断交互过程中产生大量事件计算,从而导致仿真运行效率低的问题。

53、2)通过交互预测管理器管理系统内所有交互预测器,可以实现交互预测器的分类管理和扩展,并提供统一的访问接口,使模型开发和系统的扩展更高效,提高了离散事件仿真运行效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1