离散事件仿真入门
第5讲 离散事件仿真
2.1.1 仿真程序的主要成分:
采用步长法仿真的程序主要由以下部分组成: ① 仿真时钟:提供仿真时间的当前值 ② 事件表:由策划和事件调度生成事件名称、时间的二维表,即有 关未来事件的表 ③ 系统的状态变量:描述系统状态的变量 ④ 初始化子程序:用于模型初始化 ⑤ 事件子程序:每一类事件的服务子程序 ⑥ 调度子程序:将未来事件插入事件表的子程序 ⑦ 时钟推进子程序:根据事件表决定下次的事件,将仿真时钟推进 到事件发生时刻 ⑧ 随机数产生子程序:产生给定分布随机数的子程序 ⑨ 输出函数子程序:用于系统性能分析的子程序 ⑩ 统计计数器:用来存放与系统性能分析有关的统计数据的各个变 量值 ⑾ 主程序:调用上述各子程序并完成仿真任务全过程
❖ 引起系统状态变化的行为称为事件。“顾客到达事件”引起了系统 状态变化:服务员由“闲”变为“忙”,或排队的队长加1。事件是 在某一时间点的瞬时行为,从某种意义上来说,系统是由事件驱动 的。事件不仅用来协调两个实体之间的同步活动,还用于各个实体 之间传递信息。
❖ 一个系统中往往有许多类事件,事件发生与某一实体相联系,并可 能引起其它事件的发生。 仿真模型中必须建立事件表,记录每次发 生的事件或将要发生事件的类型、时间、相关实体属性等。
2.1.2 仿真程序的流程管理:
仿真流程管理(即仿真调度)是仿真建模的核心.
(1) 仿真时钟
离散事件系统仿真中时间的变化是用一个逻辑时钟的时间数来表示。 仿真时间与所有实体的活动及所有事件的调度有关系,仿真时间与真实 时间可以通过选定的时间的比例尺相关联。每一事件通过被调度事件时 间与仿真时钟相关联,当对应的物理事件发生时,这个事件时间就对应 于实际系统的真实时间。仿真时钟一般有两种推进方式:
1.3 离散事件建模的步骤
3离散事件系统仿真基础和建模
24
模型的人工运行(续)
2020/8/10
25
示例2-窗口售票系统
剧院雇一名售票员同时负责窗口销售和对电 话问讯者的咨询服务。
窗口服务比电话服务有更高的优先级。 问讯者打来的电话由电话系统存储后按先来
先服务的原则一一予以答复 建模的目的是研究售票员的忙闲率。2020/8/Fra bibliotek026
实体 流程图分析
常用图示符号
菱形框(表示判断) 矩形框(表示事件、状态、活动等中间过程) 圆端矩形框(表示开始和结束) 箭头线(表示逻辑关系)
2020/8/10
开始 结束
15
建模步骤-八个步骤
2020/8/10
16
示例1
理发店系统
有一个小理发店只有一个理发员。顾客来到理发店 后,如果有人正在理发就坐在一 旁等候。理发员按 先来先理的原则为每一位顾客服务,而且只要有顾 客就不停歇。
库所
变迁
输入
输出
函数
函数
2020/8/10
29
Petri网的变迁
2020/8/10
30
变迁实例
t1
t4
2020/8/10
t2 t3
31
应用举例
一条工业生产线,完成两项工业操作,第一 个操作将传入生产线的半成品S1和部件S2用 2个螺丝钉S3固定在一起,变成半成品S4。 第二个操作再将S4和部件S5用3个螺 丝钉S3 固定在一起,得到新的半成品S6。完成两项 工业操作时都要用到工具S7。假定由于存放 空间的限制,停放在生产线上的半成品S4最 多不能超过5件。
考察目的
建立实体流程图模型; 在假定顾客到达间隔和理发时间服从一定的概率分
布时,考察理发员的忙闲情况。
离散事件系统仿真方法讲解
2021/4/18
Su Chun, Southeast University
29
仿真时钟推进机制
下次事件时间推进机制:仿真时钟按照下一个事件预计将要发 生的时刻,以不等的时间间隔向前推进。即仿真时钟每次都跳 跃性地推进到下一事件发生的时刻上去。
该推进机制中,仿真时钟的增量不定,取决于被仿真系统。
仿真时,需将事件按发生时间的先后次序排列,仿真时钟时间 则按事件顺序发生的时刻推进。当某一事件发生时,需立即计 算出下一事件发生的时刻,以便推进仿真时钟,直到仿真运行 结束。
2021/4/18
Su Chun, Southeast University
15
离散事件系统仿真策略
面向活动仿真模型总控程序的算法结构包括: ① 时间扫描 ② 活动例程扫描
由于事件直接影响系统状态,活动扫描要反复进行,包括确 定事件和条件事件。
2021/4/18
Su Chun, Southeast University
16
离散事件系统仿真策略
③ 进程交互法(Process Interaction)
事件调度法和活动扫描法的基本模型单元分别是事件处理和 活动处理。它们都针对具体事件而建立,各处理相对独立。 进程交互法的基本模型单元是进程。进程针对某类实体的生命 周期而建立,一个进程包含了实体流动中发生的所有事件。
以单服务台排队服务系统为例,顾客生命周期的进程为:
Su Chun, Southeast University
19
离散事件系统仿真策略
顾 客 排 队 进 程 模 型
模型说明:
• 服务员两名, 队列一条
• “∆”表示某顾客产生的时刻,也为相应进程开始的时刻;
• “□”表示某顾客离去的时刻,也为相应进程撤销的时刻;
第5讲 离散事件仿真
⑧ 随机数产生子程序:产生给定分布随机数的子程序
⑨ 输出函数子程序:用于系统性能分析的子程序
⑩ 统计计数器:用来存放与系统性能分析有关的统计数据的各个变 量值
⑾ 主程序:调用上述各子程序并完成仿真任务全过程
h
24
2.1.2 仿真程序的流程管理:
❖ 离散事件的仿真技术研究,在国内是近二十多年才开始的, 受到计算机技术、信息处理技术、控制技术、人工智能技 术等新技术的影响而发展。
❖ 对于离散事件构成的离散事件系统或连续-离散混合系统 的研究,逐渐成为仿真技术应用的一个重要分支领域
h
6
1.2 离散事件系统的基本要素
❖离散事件系统的一些基本要素包括:实体、活动、事件等.
❖ 类似的还有:公交系统里的上下车顾客,生产加工系统里等待加工的 零件,计算机系统中等待处理的信息,电话交换系统中的电话呼叫…
❖ 永久实体:永久性的驻留在系统中的实体。比如超市系统中的服务员, 以及售票员、加工设备、计算机设备、电话交换机…
❖ 系统状态的变化是由实体的状态变h 化产生的.
8
b. 事件(Event)
❖ 以超市购物系统为例:
[例1] 某超市西南科技大学分店,共有8个服务台供顾客结帐, 营业时间为9:00 – 22:00,顾客选购完商品到服务台结帐的 时间是随机的,而且各自独立,每位顾客接受服务的时间长短 也是随机的。描述该系统的状态,可以是:
服务台的状态:忙,闲
顾客排队等待的队长:0,1,2,…
h
20
h
21
1.3 离散事件建模的步骤
d). 输出函数的确定
在建立了系统模型的基础上,还需要确定输出函数。 根据仿真目的统计计算出反应系统性能的数据,这些 数据就是系统的输出。
计算机仿真(第5章 离散事件系统仿真)1
临时实体和永久实体
• 在离散事件系统中,实体分为两大类:临时实体、 在离散事件系统中,实体分为两大类:临时实体、 永久实体。 永久实体。 • 临时实体:按一定规律由系统外部到达系统,在 临时实体:按一定规律由系统外部到达系统, 系统中受永久实体的作用, 系统中受永久实体的作用,按照一定的流程通过 系统,最后离开系统。因此, 系统,最后离开系统。因此,临时实体只在系统 中存在一段时间便自行消失。 中存在一段时间便自行消失。 • 进入商店购物的顾客是临时实体,它们按一定的 进入商店购物的顾客是临时实体, 统计分布规律到达商店, 统计分布规律到达商店,经过服务员的服务后离 开商店。 开商店。 • 永久实体:相应地,永久驻留在系统中的实体称 永久实体:相应地, 为永久实体,它们是系统产生功能的必要条件。 为永久实体,它们是系统产生功能的必要条件。 理发店中的理发员, 理发店中的理发员,交通路口的红绿灯等是永久 实体。 实体。
例1:理发店服务系统 :
• 一个理发店只有一个理发员。顾客来到理发店后, 一个理发店只有一个理发员。顾客来到理发店后, 如果有人正在理发就坐在一旁等候。 如果有人正在理发就坐在一旁等候。理发员按先来 先理发的原则为每一个顾客服务, 先理发的原则为每一个顾客服务,而且只要有顾客 就不停歇。 就不停歇。 • 建模目的是考察理发员的忙闲情况(假定顾客到达 建模目的是考察理发员的忙闲情况( 间隔和理发花费的时间服从一定的概率分布)。 间隔和理发花费的时间服从一定的概率分布)。 • 本例有 类实体:理发员、顾客、顾客队列。 本例有3类实体:理发员、顾客、顾客队列。 类实体 • 理发员:永久实体,其活动为“理发”,有 理发员:永久实体,其活动为“理发” ”“闲 种状态。 “忙”“闲”2种状态。 种状态 • 顾客:临时实体,与理发员共同完成活动,有“等 顾客:临时实体,与理发员共同完成活动, 待服务” 接受服务”等状态。 待服务”、“接受服务”等状态。 • 顾客队列:特殊实体,状态为队列的长度。 顾客队列:特殊实体,状态为队列的长度。
第4章 离散事件仿真基础
(一)离散事件系统的仿真模型
1.仿真程序的主要成分 采用步长法仿真的程序主要由以下部分组 成:
– ①仿真时钟:提供仿真时间的当前值; – ②事件表:由策划和事件调度生成事件名称, 时间的二维表,即有关未来事件的表; – ③系统的状态变量:描述系统状态的变量; – ④初始化子程序:用于模型初始化; – ⑤事件子程序:每一类事件的服务子程序; – ⑥调度子程序:将未来事件插入事件表中的子 程序;
顾客到达
忙
理发员忙否
排队等待
否 服务 服务完毕 (顾客离去) 置理发员闲
(1)实体(Entity) 实体是描述系统的三个基本要素之一.连 续系统一样,离散事件也是由实体组成的. 在离散事件系统中的实体可以分为两大类: 临时实体和永久实体.
– 临时实体:在系统中只存在一段时间的实体称为 临时实体.这类实体是由系统的外部到达并进 人系统的,然后通过系统,并最终离开系统. 例4-1中的顾客显然是临时实体. – 永久性地驻留在系统中的实体称为永久实体. 例4-1中的服务员就是永久实体.
(3)活动(activity) 离散事件中的活动,通常用于表示两个可 以区分的事件之间的过程,它标志着系统 状态之间的转移.把实体所做的,或对实 体施加的事件称为活动,它是实体在两个 事件之间保持某一个状态的持续过程. 在例4-1中,顾客的到达事件与顾客的开始 接受服务事件之间的过程可以称为一个活 动,该活动使系统的状态(队长)发生变化, 从顾客开始接受服务到对该顾客服务完毕 后离去的过程也可以被看成是一个活动, 它可能使队长减1或使服务员由忙转闲.
(二)离散事件系统仿真策略
因为离散事件模型的特点,实体活动,进 程都是以事件为基础构成的,所以从事件, 活动,进程三个层次来组织事件构成了处 理离散事件模型的三种典型的处理方法: 事件调度法,活动扫描法和进程交互法, 相应地要采用三种不同的仿真策略,在复 杂系统仿真中,按进程来组织事件可以使 众多的事件条理清晰,因而成为最通用的 仿真方法.
离散事件系统仿真
•
• •
(2) 产生u(i+1) 服从 U(0, 1)
(3) 令p(i+1)= p(i) /(i+1) , F(i+1)=F(i)+p(i+1) (4) 若F(i) u(i+1), 则x=i+1, 否则, i=i+1 , 并返回到第(3)步。
2.3 典型随机变量的产生
• MATLAB stats工具箱中提供的随机数发生器(1)
1.1 基本概念
• 活动
用于表示两个可以区分的事件之间的过程, 它标志着系统
状态的转移。顾客的到达事件与该顾客开始接受服务事件之间可称为 一个活动。
• 进程
进程由若干个事件及若干活动组成, 一个进程描述了它所
进 排队 活动 程 服务 活动
包括的事件及活动间的相互逻辑关系及时序关系。
顾客到达事件 服务开始事件 服务结束事件
2.1 随机变量模型的确定
•(2)
比例参数
决定密度函数在其取值范围内取值的比例尺。参数的改 变只压缩或扩张分布函数, 而不会改变其基本形状。
2.1 随机变量模型的确定
•(3) 形状参数 确定分布函数的形状, 从而改变密度函数的性质。
Hale Waihona Puke 2.2 随机数发生器• 产生随机变量的基础是产生[0, 1]区间上均匀分布的随机变量, 亦称为随机 数发生器。其它各类的分布,例如,正态分布,指数分布等都可以用某 种方法通过对均匀分布的随机变量进行变换后得到。 • 严格地说,随机数发生器不是在概率论意义下真正的随机数, 而只能称为
伪随机数,因为无论哪一种随机数发生器采用的都是递推算法。如果算
法选择得合适, 由这种算法得到的数据统计检验后能具有较好的统计特性 (如均匀性, 独立性等), 则将这种伪随机数用于仿真仍然是可行的。 • 目前使用最多的随机数发生器是线性同余发生器,它是Lehmer在1951年 提出的。另一类是组合发生器。下面介绍这两种发生器的原理。
第四章离散事件系统仿真方法1
第四章离散事件系统仿真方法1d第4章离散事件系统仿真方法4.1离散事件系统仿真一般概念4.1.1 一般概念离散事件系统:系统中的状态只在离散时间点上发生变化,而且这些离散时间点一般是不确定的。
系统状态是离散变化的,而引发状态变化的事件是随机发生的,因此这类系统的模型很难用数学方程来描述。
随着系统科学和管理科学的不断发展及其在军事、航空航天、CIMS和国民经济各领域中应用的不断深入,逐步形成一些与连续系统不同的建模方法:流程图和网络图。
离散事件系统建模与仿真的基本概念:⑴ 实体:是描述系统的三(四)要素之一,是系统中可单独辨识和刻画的构成要素。
如:工厂中的机器,商店中的服务员,生产线上的工件,道路上的车辆等。
从仿真角度看,实际系统就是由相互间存在一定关系的实体集合组成的,实体间的相互联系和作用产生系统特定的行为。
实体可分为两大类:临时实体和永久实体临时实体――在系统中只存在一段时间的实体。
一般是按一定规律有系统外部到达系统,在系统中接受永久实体的作用,按照一定的流程通过系统,最后离开系统。
临时实体存在一段后即自行消失,消失有时是指实体从屋里意义上退出了系统的边界或自身不存在了;有时仅是逻辑意义上的取消,意味着不必再予以考虑。
如:进入商店的顾客、路口的车辆、生产线上的工件、进入防空火力网的飞机、停车场的汽车等。
永久实体――永久驻留在系统中的实体。
是系统产生功能的必要条件。
系统要对临时实体产生作用,就必须有永久实体的活动,也就d必须有永久实体。
可以说临时实体与永久实体共同完成了某项活动,永久实体作为活动的资源而被占用,如:理发店中的理发员、生产线上的加工装配机械、路口的信号灯等。
属性和行为相同或相近的实体可以用类来描述,这样可以简化系统的组成和关系。
如:理发店服务系统可以看成是由“服务员”和“顾客”两类实体组成的,两类实体之间存在服务与被服务的关系。
⑵ 属性是实体特征的描述,一般是系统所拥有的全部特征的一个子集,用特征参数或变量表示。
离散事件系统仿真方法
离散事件系统仿真方法离散事件系统仿真方法(DES)是一种表达系统行为的数学模型,在计算机科学和工程领域中得到广泛应用。
DES主要用于对系统的离散事件进行建模和模拟,离散事件是系统中可以显著影响系统行为的事件,这些事件的发生时间是离散的,它们之间是分开的。
下面介绍几种常用的离散事件系统仿真方法:1. 事件列表驱动(Event List Driven):事件列表驱动方法是最基本的 DES 方法。
在这种方法中,所有可能发生的事件都被列在一个事件列表中,事件按照发生的时间顺序排列。
仿真器会检查事件列表中最早发生的事件,并将系统状态更新到该事件发生的时间点。
然后仿真器会触发该事件,并处理该事件引发的状态变化。
2. 过程导向(Process Oriented):过程导向方法是一种更高级的DES 方法。
在这种方法中,系统被分解为一系列并发的过程,每个过程负责处理一类事件。
过程之间通过消息传递进行通信和同步。
仿真器会根据系统的当前状态选择一个过程,并将事件分发给该过程进行处理。
过程在处理事件时可以触发其他事件。
3. 状态类(State-based):状态类方法是一种根据系统状态的改变来驱动仿真的方法。
在这种方法中,系统的状态由一组状态变量来表示,仿真器会根据系统当前状态和一组状态转移规则来选择下一个事件的发生时间和类型。
状态类方法更适合描述那些状态随时间变化比较复杂的系统。
在进行离散事件系统仿真之前,需要确定系统中所有可能发生的事件和它们的发生时间。
一般来说,确定事件和发生时间是根据系统的规范和需求来完成的。
此外,仿真器还需要记录和输出仿真结果,以便进行分析和评估。
离散事件系统仿真方法在很多领域都有应用。
例如,在运输领域,可以使用DES方法来优化交通流量和路网规划。
在制造业中,可以使用DES 方法来优化生产线的布局和调度。
在通信领域,可以使用DES方法来评估无线网络的性能和信道分配策略。
综上所述,离散事件系统仿真方法是一种用于模拟和分析系统行为的重要工具。
离散事件系统的建模及仿真
离散事件系统的建模及仿真离散事件系统(DES)是由一组离散的事件组成的系统,这些事件发生的时间是不连续的,而是符合某些随机分布的。
其中最典型的例子就是计算机网络系统和制造业系统。
为了研究系统的行为和性能,需要进行建模和仿真。
一、离散事件系统模型离散事件系统模型主要分为:1. 离散时间模型离散时间模型将时间视作离散的时间点,系统状态在各个时间点之间发生变化。
变化是由离散事件引起的。
2. 连续时间模型连续时间模型将时间视作连续的时间流,系统状态是在时间流中按照连续方式演化的。
如具有阶段性和可重复性的工业生产过程。
3. 混合时间模型混合时间模型同时兼具离散和连续的特点。
如涉及到无线网络时,用户的驻留时间属于连续时间,用户数量的变化属于离散事件。
二、离散事件系统仿真离散事件系统仿真一般采用事件驱动的方法。
将系统分为若干模块,在每个模块中,定义被模拟的事件,并计算事件发生的时间和所带来的影响。
事件驱动仿真的主要思路是:1. 仿真的初期,将系统的状态初始化为所设定的状态,用“时钟”来模拟时间。
2. 仿真系统通过时钟来不断加倍地运行,等到仿真过程中需要出现事件的时候,就跳出当前仿真的运动,而声明事件的发生时间。
3. 标记事件后,仿真系统可以基于某种策略对事件进行排队,然后按照时间的先后顺序进行运行。
4. 在仿真的过程中,会根据发生的事件得出相应的结果,保存在仿真结果的数据结构中,用于后续的仿真分析。
离散事件系统仿真时要注意的地方:1. 对于大型系统,由于其状态空间太大,会导致模型的运行时间过长,从而影响仿真的效率。
2. 因为模型已经不仅仅是数学模型而是物理模型,所以需要考虑仿真结果的表示方法。
3. 仿真结果的分析是非常必要的,而且分析需要进行统计,统计方法必须要掌握。
三、离散事件系统的应用1. 计算机网络系统计算机网络系统中涉及到的很多问题都可以使用离散事件系统模型进行仿真。
如路由选择问题、网络拥塞问题、网络性能评估等。
离散事件仿真
离散事件仿真基本原理赵问道浙江大学信息与通信工程研究所目录一、离散事件仿真的基本概念 (3)1. 基于事件的(event-based)离散事件仿真 (3)2. 基于活动的(activity-based)离散事件仿真 (3)3. 基于进程的(process-based)离散事件仿真 (3)4. 三阶段(three-phase)离散事件仿真 (3)二、离散事件仿真系统的组成 (4)1. 时钟(Clock) (4)2. 事件列表(Events List) (4)3. 随机数发生器(Random-Number Generators) (5)4. 统计(Statistics) (5)5. 结束条件(Ending Condition) (5)三、仿真引擎逻辑(Simulation Engine Logic) (5)1. 开始(Start) (5)2. 循环(“Do loop” or “While loop”) (6)3. 结束(End) (6)离散事件仿真基本原理一、离散事件仿真的基本概念在离散事件仿真中,系统的操作通过按时间顺序排列的一组事件序列来表示。
每个事件发生在某一时刻,表示系统的状态改变。
例如,如果仿真电梯,那么事件可以是“6层的按钮按下了”,随之系统状态改成“电梯移动”,并且最后到达状态“电梯位于6层”i。
学习如何建立离散时间仿真的一个普通例子是仿真一个队列(queue),如顾客到达银行接受出纳员的服务,这里的系统实体是“顾客队列”(CUSTOMER-QUEUE)和“出纳员”(TELLERS)。
系统事件是“顾客到达”(CUSTOMER-ARRIV AL)和“顾客离开”(CUSTOMER-DEPARTURE)(事件“出纳员开始服务”(TELLER-BEGINS-SERVICE )可以是到达和离开事件逻辑的组成部分) 。
可以由这些事件改变的系统状态有“队列中的顾客数量”(NUMBER-OF-CUSTOMERS-IN-THE-QUEUE (是一个从0到n的整数) )和“出纳员状态”(TELLER-STATUS (忙或空闲))。
离散事件系统仿真基础
离散事件系统仿真基础第⼆篇离散事件系统仿真第⼗章离散事件系统仿真基础10.1 基本概念离散事件系统:系统中的状态只是在离散时间点上发⽣变化, ⽽且这些离散时间点⼀般是不确定的。
例10.1单⼈理发馆系统, 设上午9:00开门, 下午5:00关门顾客到达时间⼀般是随机的, 为每个顾客服务的时间长度也是随机的。
系统的状态:服务台的状态(忙或闲)、顾客排队等待的队长也是随机的。
状态量的变化只能在离散的随机时间点上发⽣。
1. 实体分为两⼤类: 临时实体及永久实体临时实体:在系统中只存在⼀段时间的实体。
这类实体由系统外部到达系统, 通过系统, 最终离开系统167永久实体:永久驻留在系统中的实体。
只要系统处于活动状态, 这些实体就存在, 或者说, 永久实体是系统处于活动的必要条件。
临时实体按⼀定规律不断地到达(产⽣), 在永久实体作⽤下通过系统, 最后离开系统, 整个系统呈现出动态过程。
2. 事件引起系统状态发⽣变化的⾏为。
从某种意义上说, 这类系统是由事件驱动的。
“顾客到达”为⼀类事件----顾客到达——》引起系统状态——服务员的“状态”可能从闲变到忙(如果⽆⼈排队),或者另⼀系统状态——排队的顾客⼈数发⽣变化(队列⼈数增加)。
“顾客离去”为⼀类事件----顾客接受服务完毕后离开系统------服务台“状态”由忙变成闲。
事件表:实现对系统中的事件进⾏管理, 表中记录每⼀发⽣了的或将要发⽣的事件类型, 发⽣时间, 以及与该事件相联的实体的有关属性等等。
系统事件:系统中固有事件。
“程序事件”:⽤于控制仿真进程。
1681693. 活动⽤于表⽰两个可以区分的事件之间的过程, 它标志着系统状态的转移。
顾客的到达事件与该顾客开始接受服务事件之间可称为⼀个活动----排队活动4. 进程进程由若⼲个有序事件及活动组成⼀个进程描述了它所包括的事件及活动间的相互逻辑关系及时序关系。
5. 仿真钟离散事件动态系统的状态本来就只在离散时间点上发⽣变化,因⽽不需要进⾏离散化处理。
第2章 离散事件系统仿真
Modeling and Simulation of Production System
第2章 离散事件系统仿真基础
第2章 离散事件系统仿真基础
§2.1 基本概念
§2.2 蒙特卡洛方法 §2.3 离散事件系统仿真的基本原理 §2.4 离散事件系统仿真的一般步骤
基本要求
离散事件系统仿真的基本原理
仿真时钟的推进方式 仿真时钟表示了仿真运行的系统时间,是离 散事件系统仿真中的基本组成部分之一。
(1)面向事件的仿真时钟推进方式 (2)面向时间间隔的仿真时钟推进方式
离散事件系统仿真的基本原理
(1)面向事件的仿真时钟推进方式 仿真时钟是按照下一个离散事件预计要发 生的时刻, 以不同时间间隔向前推进的。其 实现,是对各离散事件按发生时间的先后 次序进行排列,然后仿真时钟则按照这些 事件顺序发生的时刻向前推进。
离散事件系统仿真的基本原理
(1)面向事件的仿真时钟推进方式 实例分析
离散事件系统仿真的基本原理
(1)面向事件的仿真时钟推进方式 实例分析
离散事件系统仿真的基本原理
(1)面向事件的仿真时钟推进方式 实例分析
离散事件系统仿真的基本原理
(1)面向事件的仿真时钟推进方式 实例分析2
离散事件系统仿真的基本原理
离散事件系统仿真的基本要素
进程(Process) 进程(Process)描述了它所包括的事件及活 动之间的逻辑关系和时序关系,一个进程 由与某类实体相关的若干有序事件及活动 组成。 例如:把一个零件到达系统、等待加工(排 队)、开始加工、加工结束离开系统的过程 看做是一个进程。事件、活动和进程之间 的关系
由于离散事件系统固有的随机性 ,对这类系统的研 究往往十分困难。经典的概率及数理统计理论和 随机过程理论虽然为之提供了理论基础,并 能对一 些简单系统提供解析解,但对于实际工程中的大量 系统 ,唯有依靠计算机仿真技术才能提供较为完整 的结果。
第二章 离散事件系统仿真基础
You are wrong!!!
S1
D2
S2
D3
S3
D4
ቤተ መጻሕፍቲ ባይዱ
S4
D5
b0 t0
b1 t1
A1 A2
b2 t2
b3 c1
A3
b4 t3
b5 c2
A4
b6 t4
b7 c3
A5
b8 t5
b9
c4 A6 t
仿真钟推进到t5,处理第5个顾客的到达事件,第四个顾客正在接受服务, 该顾客进入排队等待; 下一最早发生的事件是谁?比较哪几个事件? (1)第四个顾客的离开事件: C4=t4+S4+D4=111+28+17=156 (2)第六个顾客的到达事件: T6=t5+A6=133+30=163 >C4, 所以,下一最早发生事件是第四个顾客的离开事件, 即:b9=c4
物流系统建模与仿真
2.仿真钟的推进方法 两种: • 固定步长推进法 • 变步长推进法(下一事件推进法)
物流系统建模与仿真
(1)固定步长推进法 • 选择适当的时间单位T作为仿真钟推进时的增量, 每推进一步作如下处理: 该步内若无事件发生,则仿真钟再推进一个时间单 位T; 若在该步内有若干个事件发生,则认为这些事件均 发生在该步的结束时刻。为便于进行各类事件处 理,用户必须规定当出现这种情况时各类事件处 理的优先顺序。 • 缺点显而易见:
物流系统建模与仿真
• • • • • •
定义系统事件类型如下: 类型1 顾客到达事件 类型2 顾客接受服务事件 类型3 顾客接受服务完毕并离开事件 定义程序事件如下: 仿真运行到150个时间(如:分钟)单位结 束。
物流系统建模与仿真
第三章离散事件系统仿真
3.1.1.事件 事件是描述系统的一个基本要素。事件是指引起系统状态 变化的行为,系统的动态过程是靠事件来驱动的。例如, 在物流系统中,工件到达可以定义为一类事件。因为工件 到达仓库,仓库货位的状态会从空变为满,或者引起原来 等待入库的队列长度的变化。 事件一般分为两类:必然事件和条件事件。只与时间有关 的事件称为必然事件。如果事件发生不仅与时间因素有关, 而且还与其它条件有关,则称为条件事件。系统仿真过程, 最主要的工作就是分析这些必然事件和条件事件。
3.2.3 排队系统的结构
1.一线一服务设备(单队列单服务台) 2.多线一服务设备 3.一线串联服务 4.一线多设备 5.多线多设备
3.2.4 到达模式 常见的到达模式有: 1.确定型到达模式: 顾客到达时间有某种确定规则,最简单的是等距到达——如生产线上 的零部件按相等时间间隔到达。
2.泊松到达模式 在长度为t的区间内到达数(随机变量)为N(t) 1)一次出现一个到达 Lim N(t)=0 (当t→0时) 2)在区间(a, a+t)之间的到达数的分布只与区间长t有关,而与区间起 点a无关。 3)在不重叠的时间区间内到达数是独立的随机变量,(与以前区间内到达 的数量无关)这一性质是在假定顾客总体是无限的情况下才具有。(无 后效性)
由于仿真实质上是对系统状态在一定时间序列的
动态描述,因此,仿真时钟一 般是仿真的主要自 变量,仿真时钟的推进是系统仿真程序的核心部 分。 际系统的运行时间,而不是计算机运行仿 真模型 的时间。仿真时间与真实时间将设定成一定比例 关系,使得像物流系统这样复杂的系统, 利用计 算机仿真只需要几分钟就可以完成,而真实系统 的运行则需要若干天,甚至若干月。
3.1.3 进程
离散事件系统仿真-1
离散事件系统仿真程序总框图
开 始
离散事件仿真要点
输入仿真模型参数
1
调用初始化子程序 调用时间控制子程序 调用 i 类事件子程序 否 本次仿真结束 ? 是 否 次数足够? 是 调用结果输出子程序 结束 n次
时间控制
模拟时间的变化,实现动态过程的仿真
2 事件
——事件的产生、事件的运行 ——系统的变化
3 个体模拟的加总
离散事件仿真的特点
离散事件仿真
3 时间仿真
a.设立仿真时钟 为了表示仿真模型中时间的变化在仿真模型中设定了一个仿 真的时间坐标。真实系统在真实的时间坐标中运行,仿真模 型则在仿真的时间坐标中运行。 仿真时间坐标采用仿真时钟(简称仿真钟)来实现 仿真时钟一般从0开始到一个仿真结束时刻。模拟在“0-结 束”这一时间段内的系统变化 仿真钟在模型中是一个用正整数表示的变量,它的数值表示 了仿真模型的运行时刻,它模拟了真实系统的运行时刻。 仿真钟是仿真中的时间控制部件,也是任何离散事件系统仿 真中不可缺少的组成部分。
2 1 2 n
事件:一个产品离线、上线 一个零件进入、离开某加工台
2 离散事件系统仿真的发展
1.动态仿真 y X=x1 t
仿真输出 Y=F(X,t)
连续系统仿真 (动态)
模拟机。模拟Analog 数字机求解 仿真模型2.随机 Nhomakorabea 3.离散性
无法用微分方程描述
微分方程
蒙特卡罗模拟
静态仿真
随机性 动态仿真
b.仿真时钟的推进
t (仿真钟)
仿真结束
(a) 步进式推进
0 (b) 跳跃式推进 图 2.2 仿真时钟的推进
t 结束
t
4 事件仿真
离散系统仿真基础
随机排队系统的三个组成部分:
到达模式——指含个类型的动态实体按怎样的 规律到达。
TIME=TIME+1
输出统计结果 结束
N
这是种“面向时间”的时钟(TIME)处理。通过多次运 行程序(试验)统计得到结果。程序每做一次循环,就增 加一个时间单位。此时不论系统是否有时间发生,程序总 是要查询系统状态,如发现没有时间发生就跳过该事件的 处理程序。
对队列进行度量通常考察两个量:
队列长度 排队时间
3.5 设备利用率和服务质量
对系统做假设:动态实体数量是无限的,其 到达速率不受排队长度的影响,并且所到达的 实体不会中途离去;到达模式为泊松分布,服 务设备利用率ρ<1时,服务系统的动态实体平均 数(L)为: 服务时间为常数分布
L=ρ(2-ρ)/(2(1-ρ)) 服务时间为指数分布
Pw (t ) e (1 )t
其中:t——指定的时间长度,ρ——设备利用率, μ平均服务速度。
例:对某个系统,平均服务时间为10秒,规定 服务质量:
在4个请求中至少有一个请求应立即给予响应 而且等待时间超过30秒的请求不应超过请求总
数的20%。
分析:对第一个要求
Pw(0)=0.75 => ρ≤0.75 对第二个要求
动态实体——这类实体在系统中总是要求得到 某些设备的服务。在系统的运行中,它们不断 得以某种到达率“生成”。当从某一设备得到 服务后,又流向其他设备以求服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
厚德 博学 笃行 创新
库存量
提前期 R 订货量
订货量
rT
(1+r)T
2T
(2+r)T
3T
(3+r)T
Hale Waihona Puke 4T2.11 随即库存系统
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第25页
厚德 博学 笃行 创新
S
上限 计算值
库存量I+(t) 缺货量I-(t)
下限
1 月初订货
2 月初订货
150
图2.7 事件调度法仿真钟推进过程
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第18页
§2.1 单服务台排队系统建模与仿真 厚德 博学 笃行 创新
2.1.3 仿真钟的推进
固定增量时间推进 P20
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第19页
§2.1 单服务台排队系统建模与仿真 厚德 博学 笃行 创新
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第36页
2.1.3 仿真钟的推进
事件调度法 P19
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第16页
厚德 博学 笃行 创新
表2.2 单服务台理发馆模型运行的事件表
时间
0 15
47 58 58 71 94 94 … 150
事件
仿真开始 顾客1到达
顾客2到达 顾客1服务完毕 顾客2接受服务 顾客3到达 顾客2服务完毕 顾客3接受服务 … 仿真结束
厚德 博学 笃行 创新
顾客需求到达事件
产生需求量D
I(t)=I(t)-D 否 I(t)≤0? 是
修改保管费
修改缺货损失费
安排下一顾客需求到达 事件 图2.19 顾客需求到达仿真模型
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第33页
§2.3
项目网络建模与仿真
厚德 博学 笃行 创新
自学。 (CPM、PERT)
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第13页
§2.1 单服务台排队系统建模与仿真 厚德 博学 笃行 创新
2.1.2 仿真建模
4)定义统计计数器
用统计计数器收集仿真过程中的有关数据并进行统 计分析。 服务n个顾客后的平均队长Q(n)、平均排队等待时间 d(n) P18: 2.6、 2.7(2.8)
2T
(2+r)T
3T
(3+r)T
4T
图2.9 最简单的确定性库存系统
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第23页
厚德 博学 笃行 创新
库存量 入库量Q 提前期 R rT aT T (1-a)Q 图2.10 允许缺货的确定性库存系统
aQ
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第24页
服务员状态
0 1
1 0 1 1 0 1 …
排队长度
0 0
1 1 0 1 1 0 …
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第17页
厚德 博学 笃行 创新
S1
S2
S3
S4
D2
D3
D4
D5
b0
b1
t1 A1 A2
b2
t2
b3
c1 A3
b4
t3
b5
c2 A4
b6
t4
b7
c3 A5
b8
t5
b9
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第14页
厚德 博学 笃行 创新
2 R3 1 R5
R6 R7
b0
b1
b2
b3
b4
m
b5
b6
b7 =T+b0
图 2.6
T
0
Q(t )dt 与 Ri 等价的示意图
i 1
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第15页
§2.1 单服务台排队系统建模与仿真 厚德 博学 笃行 创新
3 月初订货
图2.12
库存系统的一个场景
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第26页
厚德 博学 笃行 创新
月初盘货 是
I(t)≥l? 订货发生Z=S-I(t)
修改订货费
图2.13 月初订货流程图
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第27页
厚德 博学 笃行 创新
订货到达
修改库存 I(t)=I(t)+Z 修改保管费
等待下一次订货到达
图2.14 订货到达流程图
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第28页
厚德 博学 笃行 创新
顾客需求D到达
I(t)=I(t)-D
I(t)≤0?
修改保管费
修改缺货损失费
等待下一顾客需求到达
图2.15 顾客需求到达流程图
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第34页
§2.4 离散事件系统建模与仿真软件 厚德 博学 笃行 创新
发展历程。 GPSS(仿真编程语言)。 仿真软件。
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第35页
厚德 博学 笃行 创新
常见的物流(制造)系统仿真软件
1.0 0.8 0.6 0.4 0.2
1
2 3 4 2.16 需求量D的分布函数图
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第31页
厚德 博学 笃行 创新
订货到达事件
修改库存 I(t)=I(t)+Z 修改保管费
等待下一次订货到达 事件
图2.18 订货到达仿真模型
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第32页
第3讲 目 录
CH2 离散事件系统仿真入门
§2.1 §2.2 §2.3 §2.4
厚德 博学 笃行 创新
单服务台排队系统建模与仿真 库存系统建模与仿真 项目网络建模与仿真 离散事件系统建模与仿真软件
西南科技大学制造科学与工程学院工业工程与设计系 石宇强 第1页
§2.1 单服务台排队系统建模与仿真 厚德 博学 笃行 创新
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第29页
厚德 博学 笃行 创新
月初盘货事件 是
I(t)≥l? 否 订货发生Z=S-I(t)
修改订货费 安排本订单到 达事件 安排下月订货 事件 图2.17 月初订货仿真模型
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第30页
厚德 博学 笃行 创新
编制仿真程序
初始化子程序
时间控制子程序
报告产生器
图2.8
事件调度法仿真程序的结构
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第20页
§2.1 单服务台排队系统建模与仿真 厚德 博学 笃行 创新
运行结果分析。 仿真结果的可信度。
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第21页
§2.2
库存系统建模与仿真
厚德 博学 笃行 创新
2.2.1 库存系统的基本概念 2.2.2 确定性库存系统 2.2.3 随机库存系统
2.2.4
随机库存系统仿真举例
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第22页
厚德 博学 笃行 创新
库存量
入库量Q
提前期
rT
T
(1+r)T
Flexsim Em-plant Automod Promodel Arena Witness Quest Extend Micro Saint、SIMUL8、Anylogic 设施布置软件:FactoryCAD、FactoryFlow、FactoryPlAN、 FactoryOPT SLMAnimation、Stream、RaLC……
选择下一事件
图 2.4
顾客进入系统的仿真模型
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第12页
顾客服务完成后离开事件
厚德 博学 笃行 创新
是 q=0? 否 选择队首等待顾客 q=q-1 置Z=0
顾客进入服务事件
预定顾客服务完成后离开事 件t=t+SJ
选择下一个事件
图2.5 理发师服务仿真模型
2.1.2 仿真建模
3)流程图映射 图2.4、图2.5
西南科技大学制造科学与工程学院工业工程与设计系 石宇强第11页
顾客到达事件
厚德 博学 笃行 创新
预定下一位顾客到达事件t=t+Ai
取消该 事件
否
9点≤t≤ 17点? 是
是 顾客进入服务事件
Z=0?
否
顾客进入队列(队 尾)q=q+1 预定顾客服务完成后离开事件