离散事件模拟

1. 离散事件系统模拟

被模拟系统的行为:

  • 可以抽象为一些离散事件的发生;
  • 所发生事件可以引发新的事件(拓扑序);
  • 人们希望通过计算机模拟理解系统行为,评价或设计真实世界中实际的或所需的系统;

适用于这种模拟的系统,其行为特征是:

  • 系统运行中可能不断发生一些事件(带有一定的随机性)
  • 一个事件在某个时刻发生,其发生有可能导致其他事件在未来发生(关联性);

2. 一些说明

模拟中的事件经常需要排队,队列结构适用于记录事件
很多情况下还涉及到时间或其他排序因素,优先队列结构可能提供所需要的功能;

做这种模拟,其中的基本想法就是按事件发生的时间顺序处理;
在模拟系统里用一个优先队列保存已知在将来某些特定时刻(时刻也不太能确定,也可能依赖其他事件的执行)发生的事件;
系统的运行就是不断从优先队列里取出等待事件,一个个处理,直至整个模拟结束;

事件的具体处理(运行)由具体的模拟问题确定。在一些事件(触发事件)的处理中可能引发另一个或一些新的(将在以后的某个时刻发生的)事件,这些事件应该放入优先队列,在它们应该发生的时刻运行(也即被系统处理)。在模拟过程进行中,系统中始终维护着一个当前时间,也就是当时正在发生的那个事件的时间。

3. 一个通用的模拟框架的设计

原文地址:https://www.cnblogs.com/mtcnn/p/9424056.html