第二章 管理系统模拟的基本原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

19
(2)面向时间间隔的仿真时钟
1)首先对被模拟系统的系统分析,明确模拟目的,确定 系统状态变量和决策变量,包括随机变量,建立模拟数 学模型,搜集有关参数、常数等数据,以及确定随机变 量生成算法 2)建立模拟时钟,即确定一个称作“时钟”的变量T, 其初值T0一般定为T0=0,以便对模拟过程进行计时。 3)设定模拟总时间长度,它与时间步长t的确定有关。 4)确定固定的时间步长t值。时间步长t愈小,则愈能较 真实地考察、记录到系统的变化过程,但模拟工作量较 大,占用机时较多;时间步长t愈大,则可能会遗漏一 些系统的演变环节,造成模拟过程和结果的失真。 5) 确定模拟开始的系统初始状态及其有关参数值。 6)建立随机数生成算法的子程序,确定其种子数. 7)设计输出模拟结果的要求和方式。 20 8) 编写模拟程序并调试。
(2)面向时间间隔的仿真时
确定系统初始状态
模拟时钟时间的初值 T 0 和时间步长 t
在当前时间步长内,分析、考察、计算 并统计系统的活动
预计的模拟 总时间到达? 是 运行 结束

21
(3) 面向事件和面向时间间隔的仿真的主要差别
(1)面向时间间隔的模拟时钟以等步长前进,而面向事件步长 法的模拟时钟步长取决于事件之间的间隔。
13
2.2 离散系统仿真的基本原理
2. 仿真时钟及其推进方式
通常,在仿真开始时将仿真时钟置零,随后, 仿真时钟按照一定的推进方式,不断地给出仿真时 钟的当前值。仿真时钟的推进单位也应与现实系统 保持一致。 • 步长:仿真一个离散事件系统时,把整个仿真 过程分成若干时间间隔,间隔的长度视具体问题而 定,称此时间间隔为一个步长。
16
(1)面向事件的仿真时钟
开始 确定系统模拟初始状态及有关参数
从所有事件中选取最短时间的事 件 考察此事件状态,明确它演变到何状态
按系统机理改变此事件状态 并分析、计算、记录有关数据
累计此事件的当前时间
模拟总时间达到? 是 输出结果,结束

17
2.2 离散系统仿真的基本原理
(2)面向时间间隔的仿真时钟(周期扫描法、等 步长法) •
1
A1
1
A2
2
A3
3
4
5
A4
6
7
8
A5 A6 A7
12
T
S1
S2
S3
S4
S5
28
2.2 离散系统仿真的基本原理
单窗口排队系统 (M/M/1)模百度文库过程
Q 第二顾客的第三顾客的 等待时间 等待时间 3 2 服务台空闲
22

一般说来,面向事件的仿真时钟多用于离散事 件系统仿真,其优点在于只在发生事件的时刻对系 统进行考察,对系统的搜索范围相对较小,仿真效 • 率高,特别当相继事件间隔时间较长时更有优势。 面向时间间隔的仿真时钟多用于连续系统仿真, 也可用于离散系统仿真。故当系统为混合系统时, 采取面向时间间隔的仿真时钟。 在实际仿真运行中,仿真时钟的推进均由仿真 软件中相应的时钟推进子程序自动执行,不需要用 户作具体的程序设计工作。
24


未来事件表
• 以M/M/1排队系统的仿真为例,说明如何构造未来 事件表。在该类排队系统中仅有两类随机离散事件, 即顾客到达事件和服务完毕事件。 • 顾客到达时,若服务员空闲,则要在未来事件 表中添加该顾客的离开事件和下一顾客的到达事件; 若服务员忙,则只在未来事件表中添加下一要到达 顾客的到达事件即可。 • 服务完成事件发生时,若队列长度大于零,则 只在未来事件表中添加下一个即将被服务顾客的离 开事件即可;若队列长度等于零,则不产生任何未 来事件。


由此可见仿真时钟的推进,是由下一事件的发生时刻来 触发的。两个相邻事件发生的时间间隔一般是随机的而且 不相等,因此仿真步长不确定。是一种变步长法。
15
(1)面向事件的仿真时钟
1)明确系统中有哪些事件及其演变机理,按前述“事 件”的定义,一般是指系统中的活动的实体,它的 活动会改变系统的状态。 2)确定模拟开始运行时各事件的初始状态及其当前时 间(离模拟开始所经历的时间)。 3)明确事件状态变化中随机变量的概率分布及其参数 (一般从过去数据中统计得出)。 4) 确定随机数算法及种子数。 5)设计确定总模拟时间长度。 6)设计模拟结果输出要求和方式。 7)编写模拟程序并调试。
(6)事件、活动和进程
– (1)事件
• 导致系统状态发生变化的过程。不引起系统状态变化的过 程不称为事件。
• 例如,顾客到达理发馆 ,对于该事件发生必然会引起或者队 列长度、或者理发师忙闲状况的变化,以及顾客滞留总数 的变化。 • 从某种意义上说,离散系统可以看作是由事件来驱动的。
– (2)活动
• 活动通常用于表示两个可以区分的事件之间的过程,它标 7 志着系统状态的转移。


仿真时钟按足够小的时间间隔等距推进,使得在 每个时间间隔中基本上不会出现两个或两个以上的离散 事件。每次时钟推进都需要扫描所有活动的完成时刻, 以检查在此间隔中有无事件发生。若有事件发生,则记 录此时间区间,从而更新由此事件引起的状态变量的变 化。 这种推进方式,要求每次时钟推进都必须扫描所 有正在执行的活动。
1)系统变量: 描述系统特征的各种指 标或性能, 常随时间变化。 例:理发店系统模型的
系统变量为: 1.理发师状态 2)参数: 表征各种系统变量的值。 2.顾客排队长度 3.各顾客的到达时间 4.各顾客的服务时间 5.模拟钟时间
3)系统的状态: 某个指定时刻, 所有系统变量值的集合。
4
2.1 离散系统模拟中的基本概念
12
• •
2.2 离散系统仿真的基本原理
2. 仿真时钟及其推进方式
仿真模型中的时间指示,它表示仿真运行的系 统时间。 • 仿真时钟的单位应与现实系统中事件发生的时 间单位一致。 • 仿真时钟的时间长度决不等于计算机进行模拟 运行的时间长度。仿真运行的时间长度完全取决于 被仿真系统的特点、模型复杂的程度、以及仿真时 钟所取单位的大小。
单窗口排队系统 (M/M/1)模拟过程
Q 第二顾客的第三顾客的 等待时间 等待时间 3 2 服务台空闲
1
A1
1
A2
2
A3
3
4
5
A4
6
7
8
A5 A6 A7
12
T
S1
S2
S3
S4
S5
27
2.2 离散系统仿真的基本原理
单窗口排队系统 (M/M/1)模拟过程
Q 第二顾客的第三顾客的 等待时间 等待时间 3 2 服务台空闲
11
2.2 离散系统仿真的基本原理
1 .随机离散事件
• 随机离散事件是一系列按时序、随机发生的具体事实, 它们只在离散 的可数时刻上发生,这些事实一旦出现,将使 系统中一个或若干个状态变量发生瞬间跃变。由于这些事件 的发生具有离散性和随机性,因此称为随机离散事件。 随机事件:在一定条件下,可能发生也可能不发生的事 件。 随机变量:随机事件中出现的变量。在随机系统中,大 多数状态 变量都是随机变量。包括连续型随机变量和离散型 随机变量。
14
2.2 离散系统仿真的基本原理
(1)面向事件的仿真时钟(事件扫描法、事件步长法)
• 系统将各事件按发生时间的先后次序在一个表里,仿 真时钟则按事件顺序发生的时刻推进。即: 仿真时钟按照事 件表预计下一离散事件将要发生的时刻,当此事件发生时, 系统开始处理相应的“活动”,并计算出由该事件触发产 生的未来事件的发生时刻,经过一定活动处理时间后,仿 真时钟将推进到下一事件发生的时刻上。这个过程不断地 重复,直到仿真满足规定的终止条件为止。
2
2.0 引言
• 离散系统与连续系统
– 根据系统状态变量是否随时间连续变化,管理系 统模拟可以分为离散系统模拟和连续系统模拟。
• 离散系统模拟
– 离散系统模拟是指系统状态仅在某些确定的时间 点(由系统结构决定)才发生变化的模拟,其模拟时 间呈现离散性变化,系统状态在时间点之间不变 化。
3
2.1 离散系统模拟中的基本概念
(2)面向时间间隔的仿真在一个步长内,默认系统所处的状态 相同,因而步长的大小影响模拟精度;面向事件步长法中步 长不影响模拟精度。 (3)面向时间间隔的仿真,每个步长都要对整个系统进行一次 全面分析,面向事件的仿真只是在某一事件点上判断和比较 事件是否出现。因此,一般地讲,当判断比较次数较多时, 面向时间间隔的仿真可以节省用机时间;而当相继两个事件 出现的平均间隔较长时,更适合采用事件步长法。
–(2)属性
• 属性是指系统中的实体(资源)的特性。例如,在银行 中,顾客是实体,其属性是帐户。 5
2.1 离散系统模拟中的基本概念
(5)队列
实体流经模型的过程中,需要等待时,队列(Queue)将提 供等待的空间。队列中的实体按照一定规则(如先进先 出)进出队列。
6
2.1 离散系统模拟中的基本概念
(4)实体和属性 实体: 系统中与研究目的有关的人, 物, 设备等系 统的组成因素。分临时(活动)实体和永久(固定) 实体。 –(1)临时实体和永久实体
• 临时实体:在系统中只存在一段时间的实体称为临时实 体。如排队服务系统中的顾客。 • 永久实体:永久驻留在系统中的实体称为永久实体(一 般指资源),如排队服务系统中的服务员。
23




3、未来事件表FEL(Future Event List)
未来事件表由已发生事件触发的所有未来事件及其发生 时刻组成。当仿真时钟推进到下一个紧接事件时刻时,该事 件就发生,同时该随机事件的出现引起新的未来事件,并使 系统状态发生变化。按这种方式持续推进,使仿真进程得以 继续。 记仿真时钟当前值为TNOW。由事件发生时间大于 TNOW的事件所构成的时间序列表称为未来事件表。表中各 离散事件都按照发生时刻的先后次序排列,每当仿真时钟推 进到某一事件的发生时刻时,由此触发,引起新的未来离散 事件,将按其发生的先后次序排入或推入未来事件表的适当 位置。 未来事件表中既是仿真时钟推进的依据,同时,也是保 证未来事件严格按照时间顺序正确排列的工具。
(8)统计计数器
– 在模拟模型中,统计计数器是统计系统中有关变量的变化 情况。
9
离散事件系统举例
• 理发店: 分析其实体、状态、事件、活动 Answer: 实体:顾客、服务员 状态:服务员个数、顾客数、服务员忙闲 事件:顾客到达、服务完毕 活动:顾客等待、理发员服务
10
课堂练习
• 某机械加工中心有两台相同的机器加工 零件,零件到达后按顺序排队加工。写出该 系统中的固定实体、活动实体、事件和所有 系统变量。 两台机器 零件 零件到达,零件离开 两台机器状态,零件排队长度,各零件到达 时间,各零件服务时间,模拟钟时间。
第2章 管理系统模拟的基本原理
本章主要内容:
2.1 离散系统仿真的基本概念 2.2 离散系统仿真的基本原理 2.3 系统仿真的基本框架
1
第2章 管理系统模拟的基本原理
本章重点:
1.模拟模型中重要元素(实体、事件、系统变量) 的识别 2.未来事件表的编制
本章难点:
1.未来事件表推进方式的编制 2.仿真时钟(面向事件、面向过程)和仿真原理 的理解
25
2.2 离散系统仿真的基本原理
–例:单窗口排队系统 (M/M/1)
– (只有一个理发师的理发店,模型见前页)
– 假设: 顾客到达间隔时间 A1, A2, A3, ...
– 顾客的服务时间 S1, S2, S3, ...
– 求解: 窗口的平均排队长度Lq
– 顾客的平均等待时间Wq
26
2.2 离散系统仿真的基本原理
18

2.2 离散系统仿真的基本原理
(2)面向时间间隔的仿真时钟(周期扫描法、等 步长法) •

具体来说,就是使仿真时钟按固定时间步长(必须 足够小)向前推进,每推进一步,就扫描一次全部邻近 的未来事件产生时刻和产生条件,判断是否有事件发生, 如果有事件的产生时刻小于或等于当前时刻和有产生条 件得到满足的事件,则仿真该事件。否则,继续推进仿 真时钟,往复运算,直至仿真结束。
2.1 离散系统模拟中的基本概念
– (3)进程
• 进程由若干个有序事件及若干有序活动组成,一个进 程描述了它所包括的事件及活动间的相互逻辑关系及 时序关系。 进程
排队活动
服务活动
顾客到达事件
服务开始事件
服务结束事件
事件、活动、进程三者的关系
8
2.1 离散系统模拟中的基本概念
(7)模拟时钟
模拟时钟用于表示模拟时间的变量,仿真模型中的时间指 示,它表示仿真运行的系统时间。 在等步长的模拟中,模拟钟 是以等步长运行的,而在事件步长的模拟中,模拟钟是以某个 事件的发生来驱动的。一般,模拟钟不是一分一秒地运行的。
相关文档
最新文档