离散事件系统仿真方法讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/4/18
Su Chun, Southeast University
25
仿真时钟推进机制
固定步长时间推进机制:在仿真过程中仿真时钟每次递增一 个固定的步长。该步长在仿真开始之前,根据模型特点确定, 在仿真过程中保持不变。
该推进方式要求每次推进都要扫描所有正在执行的活动,以 检查此时间区间内是否有事件发生。
Su Chun, Southeast University
21
离散事件系统仿真策略
进程交互法的基本思想:
• 通过所有进程中时间值最小的无条件延迟复活点来推进仿真 时钟;
• 当时钟推进到一个新的时刻点后,如果某一实体在进程中解 锁,就将该实体从当前复活点一直推进到下一次延迟发生为 止。
2021/4/18
Su Chun, Southeast University
22
离散事件系统仿真策略
2021/4/18
Su Chun, Southeast University
23
离散事件系统仿真策略
进程交互法兼有事件调度法和活动扫描法的特点,但其算法 比两者更为复杂。根据进程交互法建立的仿真模型称为面向 进程的仿真模型。
表示,每一事件都有相应的活动处理模块。处理中的操作能 否进行取决于时间及系统状态。
一个实体可以有几个活动处理模块。每一个进入系统的主动 实体都处于某种活动的状态。活动的激发与终止都会形成新 的事件。
2021/4/18
Su Chun, Southeast University
11
离散事件系统仿真策略
事件调度法是一种预定事件发生时间的策略,仿真模型中必 须预定系统中最先发生的事件,以便启动仿真进程。
此外,事件处理子程序中除要修改系统状态外,还要预定本类 事件的下一事件将要发生的时间。因此,该方法对活动持续时 间确定的系统较为方便。
当事件的发生不仅与时间有关,并且只有在满足某些条件才发 生的系统而言,由于系统活动的持续时间不确定,无法预定活 动的开始或终止时间,事件调度法就存在不足。
4
离散事件系统仿真策略
与事件、活动、进程相对应,离散事件系统的仿真策略可以 分为:事件调度法、活动扫描法、进程交互法等。
随着面向对象技术的发展,基于消息驱动的仿真策略受到人 们重视。
仿真时钟是离散系统系统仿真中的重要术语,它决定着仿真 事件的推进机制、仿真精度和仿真效率。
2021/4/18
Su Chun, Southeast University
活动:
▪ 活动是事件与事件之间的过程,是系统状态转移的标志。
▪ 例如:仓储“物品到达”是一个事件,该事件的发生可能会使 仓
储系统的货位从“空闲”状态变为“非空闲”状态。从“物品
到达”
事件直到“物品取出”,物品都处在货位中存储的状态,即处
于
“存储”活动中。因此,“存储”活动的开始和结束标志着物
品的
2到021/达4/18和离去,标志着货位Su C的hun空, So闲uthe与ast U非niv空ersit闲y 的转变。
2021/4/18
Su Chun, Southeast University
10
离散事件系统仿真策略
活动扫描法(activity scanning)以“活动”作为分析系统的 基
本单元,认为仿真系统的运行是由若干活动构成,每一活动 对应一个活动处理模块,处理与活动相关的事件。
一个活动可以由“开始(激发)”和 “结束(终止)”两 个事件
对应的事件处理模块;更新系统状态,决定未来将要发生的事
件;当当前事件结束后,返回时间控制模块;重复事件的选择
与处理,直到仿真结束。
2021/4/18
Su Chun, Southeast University
7
离散事件系统仿真策略
事件调度法的仿真过程:
2021/4/18
Su Chun, Southeast University
5
离散事件系统仿真策略
从功能上,仿真模型可以分为: 总控程序(仿真模型执行机制)
模型单元处理程序(系统实体、事件、状态等之间的关系描述)
公共子程序(随机数、仿真结果分析…)
2021/4/18
Su Chun, Southeast University
6
离散事件系统仿真策略
① 事件调度法(event scheduling)
2021/4/18
Su Chun, Southeast University
26
仿真时钟推进机制
固定步长时间推进机制原理框图
2021/4/18
T:仿真时钟 ∆t:步长
Su Chun, Southeast University
27
仿真时钟推进机制
2021/4/18
Su Chun, Southeast University
28
仿真时钟推进机制
固定步长时间推进机制的特点: • 每次步长推进,都要进行事件检查,占用计算和判断的时间,
影响仿真效率。步长∆t越小,问题越严重。
• 该机制将发生在同一步长内的事件都视为发生在该步长的末 尾,即认为它们是同步的。由此产生误差,影响仿真精度。 步长∆t越大,误差越严重。
合理确定∆t,是固定步长时间推进机制中的重要问题。
3
离散事件系统仿真策略
进程:
▪ 进程是有序的事件与活动组成的过程,它描述了其中的事件、 活动的相互逻辑关系和时序关系。
▪ 例如:一种物品进入仓库,经过在货位的存储,直到从仓库中 出库,物品经历了一个进程。
事件、活动与进程之间的关系
2021/4/18
Su Chun, Southeast University
• 条件延迟:延迟期的长短与系统状态有关,事先无法确定。条 件延迟发生后,实体停留在进程中的某点,直到条件得以满足 后才继续向前移动。例如,队列中的顾客一直在排队,直到服 务台空闲且己处于队首时才能离开队列接受服务。
进程中的复活点表示延迟结束后实体所到达的位置,即进程继 续推进的起点。
2021/4/18
2021/4/18
Su Chun, Southeast University
30
仿真时钟推进机制
下次事件时间推进机制原理框图
2021/4/18
Su Chun, Southeast University
31
仿真时钟推进机制
下次事件时间推进机制能在事件发生的时刻捕捉到发生的事件, 不会导致虚假的并发事件,精度高。
离散事件系统仿真的时间推进机制: ✓ 固定步长时间推进制(fixed-increment time advance mechanism) ✓ 下次事件时间推进机制(next event advance mechanism) ✓ 混合时间推进机制(mixed time advance mechanism)
事件(event)是离散事件系统的基本概念,事件的发生引起 系统状态的改变。
事件调度法(event scheduling)以事件为分析系统的基本单位, 通过定义事件、事件发生的时间顺序及其系统状态的变化,并 以事件来驱动仿真模型的运行。
仿真模型中的事件存放于“事件表”中,通过时间控制模块从
事
件表中选择最先发生的事件;重置仿真时钟,并调用与该事件
2021/4/18
Su Chun, Southeast University
15
离散事件系统仿真策略
面向活动仿真模型总控程序的算法结构包括: ① 时间扫描 ② 活动例程扫描
由于事件直接影响系统状态,活动扫描要反复进行,包括确 定事件和条件事件。
2021/4/18
Su Chun, Southeast University
活动扫描法不断扫描系统,检验哪些活动可以激发,哪些活 动继续保持,哪些活动可以终止。
活动扫描法的基本思想:
• 用各实体时间元的最小值推进仿真时钟; • 按优先序执行激活实体的活动处理,使测试通过的事件得以
发生; • 改变系统状态,确定相关事件的发生时间。
“活动处理”是活动扫描法的基本处理单元。
2021/4/18
离散事件系统仿真方法
提纲
✓ 离散事件系统仿真策略 ✓ 仿真时钟推进机制 ✓ 消息驱动的仿真机制 ✓ 混合系统仿真策略 ✓ 蒙特卡罗仿真方法
2021/4/18
Su Chun, Southeast University
1
离散事件系统仿真策略
事件、活动、进程是描述离散系统状态变化的基本术语。
事件:
▪ 事件是引起系统状态转变的行为和起因,是系统状态变化的 驱动力。
2021/4/18
Su Chun, Southeast University
29
仿真时钟推进机制
下次事件时间推进机制:仿真时钟按照下一个事件预计将要发 生的时刻,以不等的时间间隔向前推进。即仿真时钟每次都跳 跃性地推进到下一事件发生的时刻上去。
该推进机制中,仿真时钟的增量不定,取决于被仿真系统。
仿真时,需将事件按发生时间的先后次序排列,仿真时钟时间 则按事件顺序发生的时刻推进。当某一事件发生时,需立即计 算出下一事件发生的时刻,以便推进仿真时钟,直到仿真运行 结束。
8
离散事件系统仿真策略
事件调度法仿真模型中总控程序的任务:
(2)事件辨识:辨识将要发生的事件
(3)事件执行:执行当前发生的事件,将已发生的事件从事 件表中移出
2021/4/18
Su Chun, Southeast University
9
离散事件系统仿真策略
② 活动扫描法(activity scanning)
▪ 例如:仓储系统中物品的入库到达是一个事件,物品的出库离 去是另一个事件。
▪ 此外,仿真模型中还存在程序事件,即根据需要设定的事件。
▪ 例如:在仿真过程中为了1/4/18
Su Chun, Southeast University
2
离散事件系统仿真策略
Su Chun, Southeast University
19
离散事件系统仿真策略
顾 客 排 队 进 程 模 型
模型说明:
• 服务员两名, 队列一条
• “∆”表示某顾客产生的时刻,也为相应进程开始的时刻;
• “□”表示某顾客离去的时刻,也为相应进程撤销的时刻;
• 符号“X”表示排队顾客开始接受服务的时刻;
2021/4/18
Su Chun, Southeast University
17
离散事件系统仿真策略
2021/4/18
Su Chun, Southeast University
18
离散事件系统仿真策略
进程交互法的特点: 为每个实体建立一个进程,以反映某个实体从产生开始到
结束为止的全部活动。
2021/4/18
16
离散事件系统仿真策略
③ 进程交互法(Process Interaction)
事件调度法和活动扫描法的基本模型单元分别是事件处理和 活动处理。它们都针对具体事件而建立,各处理相对独立。 进程交互法的基本模型单元是进程。进程针对某类实体的生命 周期而建立,一个进程包含了实体流动中发生的所有事件。
以单服务台排队服务系统为例,顾客生命周期的进程为:
▪ 当前事件表扫描。
2021/4/18
Su Chun, Southeast University
24
仿真时钟推进机制
仿真时间推进机制(time advance mechanism)是指在仿真进 程中将仿真时间从一个时刻推进到另一个时刻的方法,以便 模拟动态系统的运行过程。
仿真时间推进机制的种类、仿真时间单位所代表的实际时间 的长短,直接影响仿真效率和仿真结果的有效性。
面向进程仿真模型总控程序设计采用两个事件表: 未来事件表(Future Event List,FEL) 当前事件表(Current Event List,CEL)
面向进程仿真模型总控程序步骤:
▪ 未来事件表扫描。从FEL的实体记录中检出复活时间最小的实 体,并将仿真时钟推进到该实体的复活时间;
▪ 移动记录。将FEL中当前时间复活的实体记录移至CEL中;
• 虚线表示进程的排队时间;
•202波1/4纹/18 线表示顾客得到服S务u Ch的un, 时Sout间heas。t University
20
离散事件系统仿真策略
进程交互法中实体的进程不断推进,直到某些延迟发生后才暂 停。延迟可以分为:
• 无条件延迟:实体停留在进程中的某点不再向前移动,直到预 先确定的延迟期满。例如,顾客停留在服务通道中直到服务完 成。
Su Chun, Southeast University
12
离散事件系统仿真策略
活动扫描法仿真的基本过程:
2021/4/18
Su Chun, Southeast University
13
离散事件系统仿真策略
2021/4/18
Su Chun, Southeast University
14
离散事件系统仿真策略