第4章 离散事件系统仿真16

合集下载

离散事件系统仿真方法讲解

离散事件系统仿真方法讲解

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
离散事件系统仿真策略
顾 客 排 队 进 程 模 型
模型说明:
• 服务员两名, 队列一条
• “∆”表示某顾客产生的时刻,也为相应进程开始的时刻;
• “□”表示某顾客离去的时刻,也为相应进程撤销的时刻;

离散事件系统仿真

离散事件系统仿真

1.3 排队系统
• 排队系统中上述四个特征用符号GI/G/S表示 GI表示到达模式,若为平稳的伯松过程,到达时间 间隔服从指数分布,用M表示,(马尔科夫过程), 若是确定性时间间隔,则用D表示。
• G表示服务时间的分布,分布函数的符号与GI相同。 • S表示单队多服务台的数目,且按FIFO规则服务。 • 例如,一个具有指数分布的到达时间间隔,服务时
•这种仿真钟推进方法的缺点是仿真钟每推进一步, 均要检 查事件表以确定是否有事件发生, 增加了执行时间; 任何事 件的发生均认为发生在这一步的结束时刻, 如果T选择过大, 则会引入较大的误差; 要求事先确定各类事件的处理顺序, 增加了建模的复杂性。主要用于系统事件发生时间具有较 强周期性的模型 。
1.3 排队系统
顾客到来间隔时间服从参数为0.1的指数分布; 对顾客的服务时间服从[4,15]上的均匀分布; 排队按先到先服务规则,队长无限制.并假定一个工作
日为8小时, 时间以分钟为单位。 • 要求 模拟一个工作日内完成服务的个数及顾客平均等待时间
t。 模拟100个工作日,求平均每日完成服务的个数及每日
1、根据统计计数器进行分析 2、打印输出报告
输入控制参数 调用初始化子程序 调用时间控制子程序 调用事件子程序
仿真结束?
调用输出报告子程序 结束
1.2 仿真钟的推进
•另外一种仿真时钟推进的方法是固定增量时间推进法。 既选择适当的时间单位T做为仿真钟推进时的增量, 每推进 一步进行如下处理 •1.该步内若无事件发生, 则仿真钟再推进一个单位时间T; •2. 若在该步内有若干个事件发生, 则认为这些事件均发生 在该步的结束时刻。
序列sIM 记算平均每日完成服务的个数和每日顾客的平均等待时间

第4章 离散事件仿真基础

第4章 离散事件仿真基础

(一)离散事件系统的仿真模型
1.仿真程序的主要成分 采用步长法仿真的程序主要由以下部分组 成:
– ①仿真时钟:提供仿真时间的当前值; – ②事件表:由策划和事件调度生成事件名称, 时间的二维表,即有关未来事件的表; – ③系统的状态变量:描述系统状态的变量; – ④初始化子程序:用于模型初始化; – ⑤事件子程序:每一类事件的服务子程序; – ⑥调度子程序:将未来事件插入事件表中的子 程序;
顾客到达

理发员忙否
排队等待
否 服务 服务完毕 (顾客离去) 置理发员闲
(1)实体(Entity) 实体是描述系统的三个基本要素之一.连 续系统一样,离散事件也是由实体组成的. 在离散事件系统中的实体可以分为两大类: 临时实体和永久实体.
– 临时实体:在系统中只存在一段时间的实体称为 临时实体.这类实体是由系统的外部到达并进 人系统的,然后通过系统,并最终离开系统. 例4-1中的顾客显然是临时实体. – 永久性地驻留在系统中的实体称为永久实体. 例4-1中的服务员就是永久实体.
(3)活动(activity) 离散事件中的活动,通常用于表示两个可 以区分的事件之间的过程,它标志着系统 状态之间的转移.把实体所做的,或对实 体施加的事件称为活动,它是实体在两个 事件之间保持某一个状态的持续过程. 在例4-1中,顾客的到达事件与顾客的开始 接受服务事件之间的过程可以称为一个活 动,该活动使系统的状态(队长)发生变化, 从顾客开始接受服务到对该顾客服务完毕 后离去的过程也可以被看成是一个活动, 它可能使队长减1或使服务员由忙转闲.
(二)离散事件系统仿真策略
因为离散事件模型的特点,实体活动,进 程都是以事件为基础构成的,所以从事件, 活动,进程三个层次来组织事件构成了处 理离散事件模型的三种典型的处理方法: 事件调度法,活动扫描法和进程交互法, 相应地要采用三种不同的仿真策略,在复 杂系统仿真中,按进程来组织事件可以使 众多的事件条理清晰,因而成为最通用的 仿真方法.

第四讲 离散事件系统仿真

第四讲  离散事件系统仿真

(1)产生随机变量
(2)确定仿真建模策略。事件调度 法:面向事件建立仿真模型;活 动扫描法:面向活动建模;进程 交互法:面向进程建模;三阶段 法:结合活动扫描与事件调度; 图形仿真方法:Petri网 建立仿真模型:定义状态变量、定义系统 事件及有关属性、活动及进程、设计仿 真时钟的推进方法等。 仿真程序设计及运行:(1)仿真语言或高 级语言(2)长期运行或多次运行 仿真结果分析:统计结果、可信度分析等
离散事件系统仿真的方法
随机数与随机变量的产生
产生随机数的方法

随机数表
1927年,4万随机数表,以后有100万随机数表(可以输 入内存,随时调用)

硬件设备 从真实物理现象的随机因素中产生随机数,放射性粒 子的放射源,电子晶体管的固有噪音等,单位时间内 放射出的粒子数是随机的。 优点:真正的随机数;缺 点:外部设备,无法重复。


离散事件系统仿真的基本要素

系统:一些具有特定功能、相互之间以一定的规律联系着 的物体所组成的总体。

系统边界:为了限制所研究问题涉及的范围,用系统边界 把所研究的系统与影响系统的环境区分开来。
离散事件系统仿真的基本要素

实体:系统的对象、系统的组成元素都可以称为实体,是仿 真系统中可单独识别和刻划的构成要素。 如:工厂中的机器,商店中的服务员,生产线上的工件,交 通道路上的车辆等。在仿真建模人员看来,实际系统就是由 相互间存在一定关系的实体集合组成的,实体间的相互联系 和作用产生系统特定的行为。
h ym1 ym 2 ( K1 K 2 ) K1 f (tm , ym ) K f (t h, y K h) m m 1 2
二阶RK法公式

离散事件系统仿真方法

离散事件系统仿真方法

离散事件系统仿真方法离散事件系统仿真方法(DES)是一种表达系统行为的数学模型,在计算机科学和工程领域中得到广泛应用。

DES主要用于对系统的离散事件进行建模和模拟,离散事件是系统中可以显著影响系统行为的事件,这些事件的发生时间是离散的,它们之间是分开的。

下面介绍几种常用的离散事件系统仿真方法:1. 事件列表驱动(Event List Driven):事件列表驱动方法是最基本的 DES 方法。

在这种方法中,所有可能发生的事件都被列在一个事件列表中,事件按照发生的时间顺序排列。

仿真器会检查事件列表中最早发生的事件,并将系统状态更新到该事件发生的时间点。

然后仿真器会触发该事件,并处理该事件引发的状态变化。

2. 过程导向(Process Oriented):过程导向方法是一种更高级的DES 方法。

在这种方法中,系统被分解为一系列并发的过程,每个过程负责处理一类事件。

过程之间通过消息传递进行通信和同步。

仿真器会根据系统的当前状态选择一个过程,并将事件分发给该过程进行处理。

过程在处理事件时可以触发其他事件。

3. 状态类(State-based):状态类方法是一种根据系统状态的改变来驱动仿真的方法。

在这种方法中,系统的状态由一组状态变量来表示,仿真器会根据系统当前状态和一组状态转移规则来选择下一个事件的发生时间和类型。

状态类方法更适合描述那些状态随时间变化比较复杂的系统。

在进行离散事件系统仿真之前,需要确定系统中所有可能发生的事件和它们的发生时间。

一般来说,确定事件和发生时间是根据系统的规范和需求来完成的。

此外,仿真器还需要记录和输出仿真结果,以便进行分析和评估。

离散事件系统仿真方法在很多领域都有应用。

例如,在运输领域,可以使用DES方法来优化交通流量和路网规划。

在制造业中,可以使用DES 方法来优化生产线的布局和调度。

在通信领域,可以使用DES方法来评估无线网络的性能和信道分配策略。

综上所述,离散事件系统仿真方法是一种用于模拟和分析系统行为的重要工具。

第4章 离散事件系统仿真16

第4章 离散事件系统仿真16

5
4.2 离散事件系统仿真的时钟推进机制
Dep——t时刻已经起飞的飞机数(包括正在跑道上的飞 机) Arr——t时刻已经着陆的飞机数(包括正在跑道上的飞 机) t——时钟 Runw——着陆或起飞结束的时钟时间,即跑道开始空闲 的时间(模型控制变量) (2)仿真时间间隔设为一分钟 (3)由已知每小时起飞和着陆飞机的到达率都为每小时8架, 故一分钟有飞机到达的概率为8/60,没有飞机到达的概率 为52/60
调用定时子程序
调用i类事件子程序

仿真结束否??

调用输出 报告子程序 结 束
图4-3 事件调度法程序结构
10
4.3 离散事件系统仿真策略 4.3.2 活动扫描法(Activity Scanning)
活动扫描法的基本思想 ◊ 系统由实体组成,实体要产生活动,它标志系统状态的转 移。 ◊ 活动扫描法中的任一活动都可以由开始和结束两个事件来 表示,每一事件都有相应的活动例程。 ◊ 例程中的操作能否进行取决于一定的测试条件,该条件一 般与时间和系统的状态有关、而且时间条件须优先考虑。 ◊ 确定性事件的发生时间事先可以预计,因此其活动例程的 测试条件只与时间有关;条件事件的例程测试条件与系统 状态有关。
b0 A1 b1 t1 b2 t2 A2 S1 b3 c1 A3 b4
t3
c2 S2
b5
t
7
4.2 离散事件系统仿真的时钟推进机制
图4-2 排队系统的事件发生与时钟推进关系 (a)固定步长时间推进机制 (b)下次事件时间推进机制
4.3 离散事件系统仿真策略 仿真策略:离散事件系统中,一般都存在诸多的实 体,这些实体之间相互联系,相互影响,然而其活动 的发生却统一在同一时间基上。采用何种方法推进仿 真时钟,建立起各类实体之间的联系称之为仿真策略。 将系统模型转换为计算机模型需完成三部分工作: 设计仿真策略,确定仿真模型的控制逻辑和仿真时 钟推进机制; 构造仿真模型,即确定模型的具体操作; 仿真程序设计与实现,即采用某种程序设计方法及 语言,实现仿真策略和仿真模型。

离散事件系统的建模及仿真

离散事件系统的建模及仿真

离散事件系统的建模及仿真离散事件系统(DES)是由一组离散的事件组成的系统,这些事件发生的时间是不连续的,而是符合某些随机分布的。

其中最典型的例子就是计算机网络系统和制造业系统。

为了研究系统的行为和性能,需要进行建模和仿真。

一、离散事件系统模型离散事件系统模型主要分为:1. 离散时间模型离散时间模型将时间视作离散的时间点,系统状态在各个时间点之间发生变化。

变化是由离散事件引起的。

2. 连续时间模型连续时间模型将时间视作连续的时间流,系统状态是在时间流中按照连续方式演化的。

如具有阶段性和可重复性的工业生产过程。

3. 混合时间模型混合时间模型同时兼具离散和连续的特点。

如涉及到无线网络时,用户的驻留时间属于连续时间,用户数量的变化属于离散事件。

二、离散事件系统仿真离散事件系统仿真一般采用事件驱动的方法。

将系统分为若干模块,在每个模块中,定义被模拟的事件,并计算事件发生的时间和所带来的影响。

事件驱动仿真的主要思路是:1. 仿真的初期,将系统的状态初始化为所设定的状态,用“时钟”来模拟时间。

2. 仿真系统通过时钟来不断加倍地运行,等到仿真过程中需要出现事件的时候,就跳出当前仿真的运动,而声明事件的发生时间。

3. 标记事件后,仿真系统可以基于某种策略对事件进行排队,然后按照时间的先后顺序进行运行。

4. 在仿真的过程中,会根据发生的事件得出相应的结果,保存在仿真结果的数据结构中,用于后续的仿真分析。

离散事件系统仿真时要注意的地方:1. 对于大型系统,由于其状态空间太大,会导致模型的运行时间过长,从而影响仿真的效率。

2. 因为模型已经不仅仅是数学模型而是物理模型,所以需要考虑仿真结果的表示方法。

3. 仿真结果的分析是非常必要的,而且分析需要进行统计,统计方法必须要掌握。

三、离散事件系统的应用1. 计算机网络系统计算机网络系统中涉及到的很多问题都可以使用离散事件系统模型进行仿真。

如路由选择问题、网络拥塞问题、网络性能评估等。

离散事件系统仿真

离散事件系统仿真

FTF-10
一、离散事件系统仿真基本原理
(二)离散事件系统仿真的基本元素
7、 仿真钟
用于表示仿真时间的变化。 不需要作离散化处理:离散事件系统的状态本来就 只在离散的时间点上发生变化。
▲ ▲ 步长是随机的:引起状态变化的事件发生时间呈随机
性。
可以跨过”不活动“周期:两个相邻发生的事件之间 系统状态不会发生任何变化。
2、进队出队仿真
在当前顾客到达时刻,根据系统内已有的顾客数来 确定是否接纳该顾客,若接纳,则根据前一顾客的离 开时刻来确定当前顾客的等待时间、离开时间和标志 位;若拒绝,则标志位为0.
FTF-16
三、单服务台排队系统模型和仿真原理
(二)单服务台排队系统 仿真原理 3、仿真过程流程图表示
FTF-17

FTF-11
一、离散事件系统仿真基本原理
(二)离散事件系统仿真的基本元素
8、规则
用于描述实体之间的逻辑关系和系统运行策略的逻辑 语句和约定。 例如:
■ 先到先服务 ■ 后到先服务 ■ 服务时间最短的先服务 ■ 优先级最高的先服务
FTF-12
二、离散事件系统仿真基本步骤
1、系统建模:用流程图描述,反映永久实 体对临时实体的作用及相互间的逻辑关系。 关键是确定随机变量的模型 2、确定仿真算法法:产生随机变量及确定 仿真建模策略。 ◆ 事件调度法:面向事件建立仿真模型 ◆ 活动扫描法:面向活动建模 ◆ 进程交互法:面向进程建模 3、建立仿真模型:定义状态变量、事件、 活动及进程 4、仿真程序设计:仿真语言 5、仿真程序运行 6、仿真结果分析:统计结果及可信度分析
离散事件系统仿真
—基于MATLAB的单服务台排队系统仿真
内容
1.

第四章 离散事件系统 )

第四章  离散事件系统 )

第四章 离散事件系统如前所述,根据变量的性质,可分为连续事件系统和离散事件系统。

连续事件系统的状态变量随时间连续变化,其主要特征可通过微分方程描述。

离散事件系统的状态仅在离散的时间点上发生变化,而这些离散时间点一般不确定,即离散事件系统内部的状态变化是随机的,同一内部状态可以向多种状态转变,这种变化只在随机时间点发生,且在一段时间内保持不变。

系统内部状态的变化虽然遵循一定的统计规律,却很难用函数描述。

因此,离散事件系统的建模有其独特性,本章讨论离散事件系统模型及其建模方法。

第一节 离散事件系统模型一、离散事件系统的基本要素离散事件系统的类型虽然多种多样,但它们的主要组成要素基本相同。

从仿真的角度,离散事件系统由实体(entity )、活动(activity )、资源(resource )以及控制(control )等基本要素构成(见图4-1-1)。

(一)实体(entity )构成系统的各种成分称为实体。

实体是经过系统处理的事项。

例如产品、顾客、文件等等。

实体用诸如成本、形状、优先权、质量等特征予以定义。

实体可分为:1. 生命体(如顾客、病人等); 2. 无生命体(如文件、纸币、帐单等);3. 无法感知的事物或无形物(如电话、电子邮件等)。

与实体相关的一个重要概念是属性(attributes ),属性反映实体的某些性质,其集合描述实体的状态。

例如,在超市服务系统中,顾客是一个实体,性别、身高、年龄、到达时间、服务时间和离开时间等是他的属性。

一个客观实体有很多属性,对特定系统而言,并非所有属性与所研究问题有关,如顾客的性别、身高、年龄与超市服务的关系不大,则不必作为顾客的一个属性,而顾客到达时间、服务时间和离开时间是研究超市服务效率的重要依据,则是超市服务系统中的顾客属性。

(二)活动(activity )导致系统状态发生变化的过程称为活动。

例如,对顾客的服务、对设备的一次大修、更换设备某一部件,在仿真中均属于一项活动。

离散事件系统仿真基础

离散事件系统仿真基础


比例参数β



决定分布函数在其取 值范围内取值的比例 尺 的改变只压缩或扩张 分布函数,不改变基 本形状 例:指数分布函数 EXPO(β ),密度函 1 x e , 数 f ( x) 0,
x0 x0

形状参数


确定分布函数的形状, 从而改变分布函数的 性质 例:韦伯分布 Weibull(α,β ),密 度函数:

位置参数 比例参数 形状参数
Hale Waihona Puke 位置参数γ

确定了一个分布函数 取值范围的横坐标 当改变时,分布函数 仅平移而无其它变化, 又称位移参数 例均匀分布函数 U(a,b),密度函数 1 , a xb f ( x) b a 其它 0,
其中a,b均可定 义为位置参数
事件、活动、进程的关系图
进程 排队活动 顾客到达事件 服务活动
服务开始事件 服务结束事件

仿真时钟





离散事件动态系统的状态本来就只在离散时间点上 发生变化,因而不需要进行离散化处理。 离散事件系统一般不以时间推动,但事件间有时序 关系,仿真中仍必须有控制时间的部件 由于引起状态变化的事件发生时间的随机性,仿真 钟的推进步长则完全是随机的 两个相邻发生的事件之间系统状态不会发生任何变 化,因而仿真钟可以跨过这些“不活动”周期, 仿真钟的推进呈现跳跃性,推进速度具有随机性。
x ) 1 ( ,x 0 f ( x) x e x0 0,
分布参数的估计

常用方法

最大似然估计(maximum likelihood estimation)

4-离散事件系统仿真

4-离散事件系统仿真

否 仿真是否结束? 是
报告产生 程序
1、输出有关的统计值 2、输出报告
事件和系统状态
1. 2.
1. 2.
事件 顾客到达系统(属性:到达时间) 顾客离开系统(属性:离开时间) 系统状态 顾客排队的队长 服务员忙闲状态
顾客到达
到达事件
预定下一个 到达事件 否
服务员是否空闲
1.该顾客等待时间为0 2.完成服务的顾客数加1 3.置服务员为忙 4.预定本顾客的离开事件 返回
随机库存模型(1)
一个库存系统中最基本的两个概念是“需求” 和“订货”。 需求:这是库存系统的输出。由于需求,使存 储量不断减少。需求量有确定性的和随机性的 两种。 订货:这是库存系统的输入。由于订货,使存 储量得以补充,以满足要求。一般从订货到货 物进入仓库,往往需要一段时间,这段时间称 为滞后时间。由于存在滞后,所以对管理者来 说,需要提前一段时间订货,也就是提前时间。 提前时间也有确定和随机两种。
排队系统
排队系统的主要要素是顾客和服务员 主要因素 到达模式 服务模式 服务员数目 系统容量 排队规则(FIFO、LIFO、PR、SIRO)
1. 2. 3. 4平均顾客数
时刻t系统内的顾客总数为L(t) m
ˆ L=
∑R
i =1
i
T
式中,T为统计的总时间,Ri=时间区间[bi-1,bi]上排队的人 数乘以区间长度,m是在T内发生的事件总数
Simlib的全局变量(1)
sim_time: float型,表示仿真时间,由 timing函数更新 next_event_type:int型,下一事件的类型, 由timing函数更新 transfer:float数组(1…10),用于传递 数据到列表中或者从列表中取出数据。 maxatr:int型,每条纪录的最多属性数, 最少为4,最大为10

现代仿真技术与应用-第四章离散事件系统仿真

现代仿真技术与应用-第四章离散事件系统仿真

调度子程序: 调度子程序:将未来事件插入事 件表中的子程序; 件表中的子程序;
真Байду номын сангаас序的流程管理
初始化
真时钟的推进方式
时间步长法
时间步长加 1
考察实体或活动
N 发生事件或变 化 Y 处理事件子程序 v 改变各种状态,记 录各种数据 N 是否仿真完毕 Y
真程序的流程管理
真时钟的推进方式
初始化
事件步长法
真程序的流程管理
件表
事件表是一个有序的记录表,每个记录包括事件发生的时间、 事件表是一个有序的记录表,每个记录包括事件发生的时间、事 件类型等内容; 件类型等内容; 在某些离散事件的仿真中,采用事件表的形式进行调度; 在某些离散事件的仿真中,采用事件表的形式进行调度;
时事件管理方法
同时同类事件管理 混合同时事件管理: 混合同时事件管理:一步法和解结法
.4排队系统仿真 .4排队系统仿真
队系统的性能的性能指标
服务台排队系统
结束
仿真时钟:仿真时间的当前值; 仿真时钟:仿真时间的当前值;
事件表:有关未来事件表, 事件表:有关未来事件表,包括 事件名称和时间; 事件名称和时间;
系统状态变量: 系统状态变量:描述系统状态的 变量; 变量;
初始化子程序:用于模型初始化; 初始化子程序:用于模型初始化;
事件子程序:每一类事件的服务 事件子程序: 程序; 程序;
)服务机构:指同一时刻有多少服务台可以接纳临时实体,他们的服务要多 服务机构:指同一时刻有多少服务台可以接纳临时实体,
长时间; 长时间;
)排队规则:先到先服务、后到先服务、随机服务、优先权服务。 排队规则:先到先服务、后到先服务、随机服务、优先权服务。

离散事件系统建模与仿真

离散事件系统建模与仿真

离散事件系统建模与仿真离散事件系统(Discrete Event System,DES)是由若干个离散事件组成的动态系统,其状态在离散时间点上发生改变。

通常情况下,离散事件系统包含若干个事件交互的组件,这些组件在某些时刻可以发出事件和接收事件,从而引起系统状态的改变。

离散事件系统的建模和仿真是一项重要的技术,可以帮助我们理解和优化离散事件系统的行为。

离散事件系统的建模是指将离散事件系统抽象成为数学模型,以便于进行分析和仿真。

离散事件系统的建模可以采用多种形式,例如时序图(Sequence Diagram)、Petri网(Petri Net)、有限状态自动机(Finite State Automaton)、队列网络(Queueing Network)等。

不同的建模形式在描述离散事件系统行为时有不同的优缺点,需要根据具体问题的需求进行选择。

时序图是描述离散事件系统动态行为的一种图形化语言。

时序图中,系统的状态用矩形时间段表示,两个状态之间的转换用箭头表示,箭头的标签表示事件类型。

时序图的优点是简单易懂、易于绘制,适合描述事件序列。

但时序图的缺点是描述状态之间的关系比较困难,不易于表示并发事件。

Petri网是一种独特的模型,由传统有向图和各类有限状态自动机组合而成。

Petri网的节点表示状态,变迁则表示事件。

有向边称之为弧,其分为两类:前向弧和后向弧。

前向弧将变迁连接到状态,后向弧则将状态连接到变迁。

使用Petri网进行离散事件系统的建模可以描述事件之间的因果关系,能够直观地反映各事件之间的并发关系和互斥关系。

但是,Petri网模型通常较复杂,不利于模型的分析和优化。

有限状态自动机是一类重要的离散事件系统建模形式,通常使用状态转移图或状态转移表来描述系统行为。

有限状态自动机的节点表示状态,边表示状态之间的转移关系,标签表示事件的类型。

有限状态自动机可以用于描述不同类型的系统行为,例如决策过程、控制逻辑、协议规范等。

离散事件动态系统仿真

离散事件动态系统仿真
某银行如图示,只有一个服务台为顾客提供 服务,顾客随机地以1~8分钟间隔到达,到达间 隔时间等概率出现的。顾客到达后如服务台空 闲则接受服务,否则排入队列等待,直到最后 得到服务并离开系统,排队规则先到先服务 (FIFO)。服务时间为1~6分钟,也是等概率出现。 假定顾客到达间隔时间及服务时间取整数值。 要求对该系统进行10个顾客的仿真,并给出其 运行情况的评价,如顾客的平均等待时间,服 务台的忙闲程度等。
活动(Activity):任何使系统状态发生某种变 化的过程或行为。一般活动具有一定的持续 时间,如顾客在银行中接受出纳员服务的过 程称为服务活动; 事件(Event):改变系统状态的某一瞬时事变 称为事件。事件通常发生在活动的开始或结 束时刻; 进程(Process):实体的进程是由若干个该实 体若干事件及活动构成的,它包含了这些事 件和活动的逻辑关系和时序关系,例如,顾 客的到达,排队、再经过出纳员服务到离去 构成了一个进程。
4.3.2离散事件系统仿真策略 4.3.2离散事件系统仿真策略 事件调度法
用事件的观点分析真实系统,通过 用事件的观点分析真实系统, 初始化事件表, 初始化事件表,设置系统初始事件 定义事件及每个事件引起系统状态 的变化, 的变化,按时间顺序确定并执行每 个事件发生时有关的逻辑关系; 个事件发生时有关的逻辑关系; 2)操作事件表 3)推进仿真时钟TIME =t(s) 结束时间) While(TIME<结束时间) 修改事件表 根据事件类型执行相应的事件处理程序 取出具有t(s)=min{t ∈ }}事件记录 取出具有t(s)=min{ta|a CA}}事件记录 置仿真时间TIME =t(s) 取出具有t(s)=min{t 取出具有t(s)=min{ta|a∈ CA}}事件记 录 成分状态初始化 1)执行初始化操作 1)执行初始化操作 初始时间和结束时间设置

第4章 离散事件系统仿真方法

第4章 离散事件系统仿真方法

第4章离散事件系统仿真方法4.1离散事件系统仿真一般概念4.1.1 一般概念离散事件系统:系统中的状态只在离散时间点上发生变化,而且这些离散时间点一般是不确定的。

系统状态是离散变化的,而引发状态变化的事件是随机发生的,因此这类系统的模型很难用数学方程来描述。

随着系统科学和管理科学的不断发展及其在军事、航空航天、CIMS和国民经济各领域中应用的不断深入,逐步形成一些与连续系统不同的建模方法:流程图、网络图等。

离散事件系统建模与仿真的基本概念:⑴实体:是描述系统的三(四)要素之一,是系统中可单独辨识和刻画的构成要素。

如:工厂中的机器,商店中的服务员,生产线上的工件,道路上的车辆等。

从仿真角度看,实际系统就是由相互间存在一定关系的实体集合组成的,实体间的相互联系和作用产生系统特定的行为。

实体可分为两大类:临时实体和永久实体临时实体——在系统中只存在一段时间的实体。

一般是按一定规律由系统外部到达系统,在系统中接受永久实体的作用,按照一定的流程通过系统,最后离开系统。

临时实体存在一段后即自行消失,消失有时是指实体从物理意义上退出了系统的边界或自身不存在了;有时仅是逻辑意义上的取消,意味着不必再予以考虑。

如:进入商店的顾客、路口的车辆、生产线上的工件、进入防空火力网的飞机、停车场的汽车等。

永久实体——永久驻留在系统中的实体。

是系统产生功能的必要条件。

系统要对临时实体产生作用,就必须有永久实体的活动,也就必须有永久实体。

可以说临时实体与永久实体共同完成了某项活动,永久实体作为活动的资源而被占用,如:理发店中的理发员、生产线上的加工装配机械、路口的信号灯等。

临时和永久是相对的属性和行为相同或相近的实体可以用类来描述,这样可以简化系统的组成和关系。

如:理发店服务系统可以看成是由“服务员”和“顾客”两类实体组成的,两类实体之间存在服务与被服务的关系。

⑵属性是实体特征的描述,一般是系统所拥有的全部特征的一个子集,用特征参数或变量表示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N Y
Q1>0? Q1=Q1-1 Arr=Arr+1 Test=1 Runw=t+3
Q2=Q2-1 Dep=Dep+1 Test=2 Runw=t+2
机场跑道利用仿真程序框图
4.2 离散事件系统仿真的时钟推进机制
下次事件推进法 仿真时钟按照下一个事件预计将要发生的时刻,以不等距的 时间间隔向前推进的,即仿真时钟每次都跳跃性地推进到下 一事件发生的时刻上去。
4.2 离散事件系统仿真的时钟推进机制
(4)对应每一时间间隔产生两个随机数z1和z2,若z1<8/60 则有飞机着陆,排在Q1内,z2<8/60表示有飞机要起飞, 排在Q2内。 (5)检查跑道是否有空,否,打印当时的排队情况及有关变 量值;是,则先考查Q1,若Q1>0,允许其中排在第一位的 飞机着陆;反之考查Q2 (6)程序模型
4.3 离散事件系统仿真策略
4.3.2 活动扫描法(Activity Scanning) ◊ 一个实体可以有几个活动例程;协同活动的活动例程只 归属于参与的其中一个实体(一般为永久实体)。 ◊ 在活动扫描法中,除设置系统仿真时钟外,每一实体都 带有标志自身时钟值的时间元(time-cell)。时间元的 取值由所属实体的下一确定事件刷新。 ◊ 用各实体时间元的最小值推进仿真时钟;将时钟推进到 一个新的时刻点后,按优先序执行被激活实体的活动例 程,使测试通过的事件得以发生并改变系统的状态和安 排相关确定事件的发生时间。
调用定时子程序
调用i类事件子程序

仿真结束否??

调用输出 报告子程序 结 束
图4-3 事件调度法程序结构
10
4.3 离散事件系统仿真策略 4.3.2 活动扫描法(Activity Scanning)
活动扫描法的基本思想 ◊ 系统由实体组成,实体要产生活动,它标志系统状态的转 移。 ◊ 活动扫描法中的任一活动都可以由开始和结束两个事件来 表示,每一事件都有相应的活动例程。 ◊ 例程中的操作能否进行取决于一定的测试条件,该条件一 般与时间和系统的状态有关、而且时间条件须优先考虑。 ◊ 确定性事件的发生时间事先可以预计,因此其活动例程的 测试条件只与时间有关;条件事件的例程测试条件与系统 状态有关。
11
4.3 离散事件系统仿真策略
4.3.2 活动扫描法(Activity Scanning)
活动扫描法仿真策略 ②置实体的初始状态, (1) 初 始 化 ① 置 仿 真 的 开 始 时 间 t 0 和 结 束 时 间 t f , ③ 置 实 体 时 间 单 元 tim e-cell[i] 初 值 ; i=1,2,… ,m ; m 是 实 体 个 数 。 (2) 仿 真 时 钟 TIM E t 0 ; (3) 如 果 TIM E t f , 转 (4) , 否 则 转 (6) ; (4) 活 动 例 程 扫 描 for j=1,n ( 优 先 序 从 高 到 低 ) 例 程 A j 属 于 实 体 E i; if(tim e-cell[i] ≤ T IM E then 执 行 活 动 例 程 A j; 若 A j 中 安 排 了 E i 的 下 一 事 件 则 刷 新 tim e-cell[i] endif 若 例 程 A j 的 测 试 条 件 D [j] = True , 则 {退出当前循环、重新开始扫描} ; endfor (5) 推 进 伤 真 时 钟 T IM E =m in{tim e-cell[i] | tim e-cell[i] > TIM E } ; (6) 仿 真 结 束 。
b0 A1 b1 t1 b2 t2 A2 S1 b3 c1 A3 b4
t3
c2 S2
b5
t
7ห้องสมุดไป่ตู้
4.2 离散事件系统仿真的时钟推进机制
图4-2 排队系统的事件发生与时钟推进关系 (a)固定步长时间推进机制 (b)下次事件时间推进机制
4.3 离散事件系统仿真策略 仿真策略:离散事件系统中,一般都存在诸多的实 体,这些实体之间相互联系,相互影响,然而其活动 的发生却统一在同一时间基上。采用何种方法推进仿 真时钟,建立起各类实体之间的联系称之为仿真策略。 将系统模型转换为计算机模型需完成三部分工作: 设计仿真策略,确定仿真模型的控制逻辑和仿真时 钟推进机制; 构造仿真模型,即确定模型的具体操作; 仿真程序设计与实现,即采用某种程序设计方法及 语言,实现仿真策略和仿真模型。
4.1 离散事件系统仿真建模的基本概念
1.实体(Entity)一个系统边界内部的客观对象称为实体。 • 永久实体 是指经常处于系统之内,其数量保持稳定的实 体。如排队系统中的服务员,交通系统中的道路设施等。 • 临时实体(Transaction)又称主动实体、活动实体, 是 指先进入系统并经过相应的环节以后再离开系统,在系统 中的数量经常变化的实体 2.属性(Attributes)是实体特征的描述,一般是实体所 拥有的全部特征的一个子集,用特征参数变量表示。 3.活动(Activity)活动是占用一定时间和资源导致系统 状态发生改变的一定过程。活动所占用的时间区段称为忙期 (duration),忙期(时间长度)可以是确定的或随机的。 4. 系统状态(System state)是描述在某时间点系统的所 有实体、属性和活动的变量集合
第4章 离散事件系统仿真建模方法
第4章 离散事件系统仿真建模方法
4.1 4.2 4.3 4.4 4.5 离散事件系统仿真的基本概念 系统仿真的时钟推进机制 离散事件系统仿真策略 排队系统的建模与仿真 库存系统的建模与仿真
1
4.1 离散事件系统仿真建模的基本概念
仿真(simulation)是对客观世界实际过程或系统在一段时间 内运行的模仿。仿真要产生一个人为的系统的经历,然后观 察这个人为的经历,以便描绘推断出和实际系统有关的运行 特征。 系统状态 与特定时间和研究目的有关的描述系统所需变量 的集合。 连续系统 系统的状态变量随时间连续变化,就称为连续系 统。系统的动态特性可以用微分方程或一组状态方程来描述, 也可以用一组差分方程或一组离散状态方程来描述。 离散系统 系统的状态变化只在时间的离散时刻发生,而且 往往又是随机的,这样的系统称为离散系统。 系统仿真的术语 称状态的瞬间变化为事件,将发生事件的 时刻称为事件时间。如果事件时间是一些非均匀离散时点, 这样的事件称为离散事件,相应的系统称为离散事件系统
9
4.3 离散事件系统仿真策略
4.3.1 事件调度法 事件调度法模型组成 1.系统状态 2.仿真时钟 3.事件表 4.统计计数器 5.初始化子程序 6.定时子程序 7.事件子程序 8.仿真报告子程序 9.主程序
4.3 离散事件系统仿真策略
主程序 输入仿真控制参数 调用初始化子程序 初始化子程序: (1)仿真时钟初始化 (2)系统状态初始化 (3)事件表初始化 (4)统计计数器初始化 定时子程序: (1)扫描事件表,确定下一最早 发生事件 (2)推进仿真时钟 第i类事件子程序: (1)修改系统状态 (2)修改统计计数器 (3)产生未来事件加入事件表中 输出报告子程序: (1)进行统计分析 (2)打印输出报告
4.2 离散事件系统仿真的时钟推进机制
例4.1 有一个只有一条跑道的飞机场供飞机起落。每架飞机 起飞需两分钟,着陆需三分钟,每小时有8架飞机起飞,也有 8架飞机着陆。飞机的到达是随机的,由于有延误,假定飞机 着陆优先于起飞,试建立模型,分析每一分钟的系统状态。 解:(1)分析 系统状态 :用变量test来描述跑道的状态 test=0:跑道空闲 test=1:一架着陆飞机占用跑道 test=2:一架起飞飞机占用跑道 Q1——队长,t时刻等待着陆的飞机数 Q2——队长,t时刻等待起飞的飞机数
例如,下次事件时间推进法用于单队列单服务台系统 ti 第i个顾客到达的时刻(t0=0) Ai 第i-1与第i个顾客之间的到达间隔ti=ti-1+Ai Si 服务员为第i个顾客服务的服务时间 Di 第i个顾客排队等待时间Di=ci-1-ti ci=ti+Di+Si 第i个顾客完成服务并离去的时间 bi 任何一种类型事件发生时间,仿真时钟取第i个值 (b0=0,b1=t1,b2=t2,b3=c1,b4=t3,b5=c2, t2=t1+A2,t3=t2+A3,D2=c1-t2,c2=c1+S2)
S S1 S2
S3 S4 S5 S6 E1 A1 E2 A2 E3 P A3 E4 E5 t
图 4-1 活动、状态、事件及进程(a)
4.1 离散事件系统仿真建模的基本概念
进程 排队活动 服务活动
顾客到达事件
服务开始事件
服务结束事件
图4-1 活动、事件及进程(b)
7. 队列 处于等待状态的实体序列。一般按新到的实体排 在队尾的次序组成队列。在离散事件建模中,队列可作为 一种状态或特殊实体对待。 8. 时钟(Clock)离散事件仿真中所研究的系统是动态的。 系统状态、活动的实体数和实体属性以及正在处理的活动 等都是时间的函数,时间是自变量,称之为时钟。 9. 统计计数器(Statistical Accumulators) 是全局变量, 为了对系统 性能进行测度,伴随仿真过程的进行,对统计 变量的变化进行记录
5
4.2 离散事件系统仿真的时钟推进机制
Dep——t时刻已经起飞的飞机数(包括正在跑道上的飞 机) Arr——t时刻已经着陆的飞机数(包括正在跑道上的飞 机) t——时钟 Runw——着陆或起飞结束的时钟时间,即跑道开始空闲 的时间(模型控制变量) (2)仿真时间间隔设为一分钟 (3)由已知每小时起飞和着陆飞机的到达率都为每小时8架, 故一分钟有飞机到达的概率为8/60,没有飞机到达的概率 为52/60
3
4.1 离散事件系统仿真建模的基本概念 10.系统环境(Environment)存在于系统周围的对 象和过程(即实体和活动)称为系统的环境 •产生于系统内部的活动称为内生活动 •发生于系统环境并对系统产生影响的活动称为外 生活动
相关文档
最新文档