第4章 离散事件仿真基础

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

(3)活动(activity) 离散事件中的活动,通常用于表示两个可 以区分的事件之间的过程,它标志着系统 状态之间的转移.把实体所做的,或对实 体施加的事件称为活动,它是实体在两个 事件之间保持某一个状态的持续过程. 在例4-1中,顾客的到达事件与顾客的开始 接受服务事件之间的过程可以称为一个活 动,该活动使系统的状态(队长)发生变化, 从顾客开始接受服务到对该顾客服务完毕 后离去的过程也可以被看成是一个活动, 它可能使队长减1或使服务员由忙转闲.
(二)离散事件系统仿真策略
因为离散事件模型的特点,实体活动,进 程都是以事件为基础构成的,所以从事件, 活动,进程三个层次来组织事件构成了处 理离散事件模型的三种典型的处理方法: 事件调度法,活动扫描法和进程交互法, 相应地要采用三种不同的仿真策略,在复 杂系统仿真中,按进程来组织事件可以使 众多的事件条理清晰,因而成为最通用的 仿真方法.
(4)进程(process) 进程由若干个事件及若干个活动组成,它 描述了事件及活动之间的相互逻辑关系及 时序关系. 例4-1中的"顾客到达系统--排队--开始接受 服务一服务完毕的过程"就构成了一个进 程.
[例4-2] 在一个有较大水位落差河段上的船闸运行系统, 从上游新来的船只到达船闸或当原有的船只完成过闸运行 时,系统的状态就发生了变化,我们把船只到达,过闸完 毕这一类引起系统状态变化的行为称为事件,当船只尚在 船闸内(忙态)而又有新的船只到达时,则新到的船只就进 入到等侯的队列(排队的队长加1),把排队过程,船只过闸 过程称为活动,把船只到达→进入排队队列一开闸门→过 闸服务→出闸门这三个事件和两项活动称为过闸进程. 船只过闸服务进程
2.仿真程序的流程管理 仿真流程管理(即仿真调度)是仿真建模的核心,在此 主要讨论事件进程管理,同时事件管理等.这个过 程主要用到了仿真时钟和事件表两个概念. (1)仿真时钟:注意与仿真机时之间的区别. – 时间步长法:在进行系统仿真的同时,可以把整 个仿真过程分为许多相等的时间间隔,时间步长 的长度可根据实际问题分别取秒,分,小时等, 程序中按此步长前进的时钟就是仿真时钟.选取 系统的一个初始状态作为仿真时钟的零点,仿真 时钟每步进一次,就对系统的所有实体,属性和 活动进行一次全面的扫描考察,按照预定的计划 和目标进行分析,计算和记录系统状态的变化, 这个过程一直进行到仿真时钟结束为止.
(2)事件表:应用于变步长法仿真. (3)同时事件管理
– 同类同时事件的管理:发生在同一时刻且隶属于同一类型 的几个事件叫同类同时事件.同类同时事件的发生会导致 模型的下一状态出现多种可能值,即可能出现几种排队顺 序.为此,我们需要先定好条件,以使状态取值成为惟一, 也就是要规定一种排队规则来管理这些同类同时事件.例 如,先进先出〔或先到先服务)规则,后进先出(或后到先 服务)规则,随机规则以及优先服务规则. ) – 混合同时事件的管理:发生在同一时刻但不属于同一类型 的几个事件叫混合同时事件.确定这些混合同时事件所造 成的状态的变化,通常有一步法与解结法.一步法就是直 接确定混合同时事件所形成的结果状态;解结法却是把几 个同时事件分解成多个单独事件的序列进行处理.对于简 单的情况,一步法与解结法将会得到相同的结果.但一步 法不易写成通用的形式,且流程管理中的通道选择较复杂; 而解结法通用于各种仿真语言中,是因为使用该方法时模 型简单,便于写成通式.
(一)离散事件系统的仿真模型
1.仿真程序的主要成分 采用步长法仿真的程序主要由以下部分组 成:
– ①仿真时钟:提供仿真时间的当前值; – ②事件表:由策划和事件调度生成事件名称, 时间的二维表,即有关未来事件的表; – ③系统的状态变量:描述系统状态的变量; – ④初始化子程序:用于模型初始化; – ⑤事件子程序:每一类事件的服务子程序; – ⑥调度子程序:将未来事件插入事件表中的子 程序;
排队活动
过闸服务活动 过闸服务结束事件
船只到达事件
过闸服务开始事件
(5)仿真钟(simulation clock) 仿真钟用于表示仿真时间的变化,在连续系统中, 仿真时间的变化基于仿真步长的确定,可以是定 步长,也可以是变步长.在离散事件动态系统中, 引起状态变化的事件的发生时间是随机的,因而 仿真时钟的推进步长完全是随机的,而且,在两 个相邻发生的事件之间系统状态不会发生任何变 化,因而,仿真钟可以跨过这些"不活动"周期, 从一个事件发生时刻直接推进到下一个事件发生 时刻,仿真钟的推进呈现跳跃性,推进的速度具 有随机性,可见,仿真模型中时间控制部件是必 不可少的,以便按一定的规律来控制仿真钟的推 进.
– 事件步长法:事件步长法是以事件发生的时间为增量,按照时 间的进展,一步一步地对系统的行为进行仿真,直到预定的仿 真时间结束为止. – 事件步长法与时间步长法的主要区别: ①事件步长法与时间步长法都是以时间为增量来考察系统 状态的变化的.但在时间步长法中,仿真时钟以等步长前 进,而在事件步长法仿真中,仿真时钟的步长取决于事件 之间的时间间隔. ②时间步长法在一个步长内,认为系统所处的状态相同, 因而所选的步长的大小将影响仿真的精度.而在事件步长 法中,每个事件的发生均有确切的时刻,不需要人为地选 取步长,步长的大小对仿真的精度影响较小. ③时间步长法每步进一个步长就要对整个系统进行一次全 面的考察,即使状态没有发生变化时也要进行扫描.而事 件步长法只是在某一事件发生时才进行扫描.无论采用哪 种方法仿真,在仿真过程中每一个时间点上总是要判断相 比较事件是否出现,因此,一般地讲,当判断比较的数目 较大或事件变化呈周期性特点时,用时间步长法可以节省 用机时间,而当相继பைடு நூலகம்个事件出现的平均间隔较长时,更 适合于采用事件步长法.
(6)统计计数器(stat.counter) 连续系统仿真的目的是要得到状态变量的动态变化过程并 由此分析系统的性能.离散事件系统的状态变量随事件的 不断发生也呈现出动态变化过程,但仿真的主要目的不是 要得到这些状态变量是如何变化的.因为这种变化是随机 的,所以某一次运行得到的状态变化过程只不过是随机过 程的一次取样,因而,如果进行另一次独立的仿真运行, 则所得到的变化过程完全是另外一种情况,所以它们只有 在统计意义下才有参考价值. 在例4-1中,由于顾客到达的时间间隔具有随机性,服务 员为每位为顾客服务的时间长度也是随机的,因而,在某 一时刻,顾客排队的队长或服务员的忙,闲情况是完全不 确定的.从系统分析的角度看,感兴趣的可能是系统的平 均队长,顾客的平均等待时间,或者是服务员的利用率等. 在仿真模型中,需要有一个统计计数器,以便统计系统中 的有关变量
–离散事件系统与模型 –离散事件仿真 –排队系统的仿真 –随机数和随机变量的生成
一,离散事件系统与模型
概述 描述离散事件系统的基本要素 离散事件系统模型的建立
(一)概述
离散事件系统大量地存在于我们周围,如: 超级市场管理系统,银行服务系统,公交 管理系统,车间加工调度系统等,其中到 大市场和银行的顾客,上下车的旅客,等 待加工的工件,都是影响系统变化的"事 件".事件是在离散时刻随机发生的,利 用仿真技术对这些系统进行研究分析,可 以了解它们的动态运行规律,从而帮助人 们做出是否需要增加新的市场和银行的决 定,可以帮助人们合理地调度车辆和安排 工序.
顾客到达

理发员忙否
排队等待
否 服务 服务完毕 (顾客离去) 置理发员闲
(1)实体(Entity) 实体是描述系统的三个基本要素之一.连 续系统一样,离散事件也是由实体组成的. 在离散事件系统中的实体可以分为两大类: 临时实体和永久实体.
– 临时实体:在系统中只存在一段时间的实体称为 临时实体.这类实体是由系统的外部到达并进 人系统的,然后通过系统,并最终离开系统. 例4-1中的顾客显然是临时实体. – 永久性地驻留在系统中的实体称为永久实体. 例4-1中的服务员就是永久实体.
船只到达 排队等候 查询闸闲? Y 船闸服务 船只离开 置船闸为闲 船闸服务系统流程图 N
开始 置仿真开始时 间和结束时间 船只到过时间 间隔70min 系统流程 大于结束时间? Y 结束 船闸服务系统仿真模型图 N
二,离散事件仿真
离散事件系统的仿真模型 离散事件系统仿真策略 离散事件仿真研究的一般步骤
第4章 离散事件仿真基础
离散事件系统通常是指受事件驱动,系统状态跳跃 式变化的动态系统,系统的迁移发生在一串离散事 件点上.离散事件系统和连续系统在性质上是完全 不同的,这类系统中的状态在时间上和空间上都是 离散的.这种系统往往是随机的,具有复杂的变化 关系,难于用常规的微分方程,差分方程等方程模 型来描述,一般只能用流程图或网络图来描述.
(2)事件(Event) 引起系统状态变化的行为称为事件.它是在某一时 间点的瞬时行为,从某种意义上来说,系统是由事 件来驱动的.事件不仅用来协调两个实体之间的同 步活动,还用于各个实体之间传递信息. 例如,在例4-1中就可以把"顾客到达"称为一类 事件,因为正是由于顾客的到达,系统的状态—— 服务员的"状态"才能由闲变忙(如果无人排队的 话),或者使系统的状态——排队的顾客人数发生变 化(队列人数加1). 一个顾客接受服务完毕后离开系统,也可以定义为 一类事件,因为服务员由忙变为闲,或者等待的队 列发生变化.
离散事件的建模型步骤
– (1)明确仿真目的 – (2)正确描述系统 组成成分:指对描述系统仿真目的有意义的实体, 这些实体的行为往往是随机分布的. 描述变量和参数:描述变量和参数是指系统各实体 的属性.描述变量包括内部变量和外部变量,除了 输入/输出变量外,其余均为状态变量.参数可以在 仿真前由用户设置或在仿真过程当中根据用户的命 令加以改变. 相互关系:相互关系规定了系统中不同变量的相互 关联,是指影响系统变化的各实体,变量和参数之 间的连接关系和作用关系.相互关系大部分反映在 各成分的活动之中,而活动又由事件所引发,所以 弄清事件,活动的关系是系统描述中极为重要的. – (3)仿真模型的建立 – (4)输出函数的确定
– ⑦时钟推进子程序:根据事件表决定下次(最早 发生的)事件,然后将仿真事件推进到事件发生 时刻; – ⑧随机数产生子程序:产生给定分布的随机数 的子程序; – ⑨输出函数子程序:用于系统性能分析的子程 序; – ⑩统计计数器:用来存放与系统性能分析有关 的统计数据的各个变量值; – ⑩主程序:调用上述各子程序并完成仿真任务 全过程.
(二)描述离散事件系统的基本要素
[例4-1] 一个单人理 发馆系统,理发馆在 工作时间中,有且仅 有一个工作人员为客 人服务,营业时间为 9:00-19:00,顾客到 达时间一般是随机的, 而且是独立的,每位 顾客接受服务的时间 长短也是随机的.描 述该系统的状态是服 务台的状态(忙或闲), 顾客排队等待的队长, 等等.
(三)离散事件系统模型的建立
离散事件系统研究和仿真中最基本的问题就是系统的建模. 那么采用什么方式来概括和抽象化分析处理这些离散事件 呢?20世纪自80年代初期,美国哈佛大学著名的学者Y.C.Ho 教授倡导对离散事件动态系统(Distributed Event Dynamic System,DEDS)理论进行研究以来,这个问题受到了足够的 重视,许多学者围绕着这个问题从不同的层次或用不同的数 学工具进行了描述,形成了许多的方法体系,并出现了多种 形式的DEDS模型设计方法. 例如,对所考虑对象演变过程的分析,根据事件发生的时间 是否有必要纳入研究范围,可以划分为: – ①不带时标的DEDS模型:有限状态自动机模型,Peri网 络模型,过程代数模型,时序逻辑模型等. – ②带时标的DEDS模型:赋时Petrt网络模型,TIM/RTIL 模型,双子代数模型,排队网络模型,Markov链与CSMP 模型等.
相关文档
最新文档