- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)离散事件系统的仿真模型
1.仿真程序的主要成分 采用步长法仿真的程序主要由以下部分组 成:
– ①仿真时钟:提供仿真时间的当前值; – ②事件表:由策划和事件调度生成事件名称, 时间的二维表,即有关未来事件的表; – ③系统的状态变量:描述系统状态的变量; – ④初始化子程序:用于模型初始化; – ⑤事件子程序:每一类事件的服务子程序; – ⑥调度子程序:将未来事件插入事件表中的子 程序;
顾客到达
忙
理发员忙否
排队等待
否 服务 服务完毕 (顾客离去) 置理发员闲
(1)实体(Entity) 实体是描述系统的三个基本要素之一.连 续系统一样,离散事件也是由实体组成的. 在离散事件系统中的实体可以分为两大类: 临时实体和永久实体.
– 临时实体:在系统中只存在一段时间的实体称为 临时实体.这类实体是由系统的外部到达并进 人系统的,然后通过系统,并最终离开系统. 例4-1中的顾客显然是临时实体. – 永久性地驻留在系统中的实体称为永久实体. 例4-1中的服务员就是永久实体.
(3)活动(activity) 离散事件中的活动,通常用于表示两个可 以区分的事件之间的过程,它标志着系统 状态之间的转移.把实体所做的,或对实 体施加的事件称为活动,它是实体在两个 事件之间保持某一个状态的持续过程. 在例4-1中,顾客的到达事件与顾客的开始 接受服务事件之间的过程可以称为一个活 动,该活动使系统的状态(队长)发生变化, 从顾客开始接受服务到对该顾客服务完毕 后离去的过程也可以被看成是一个活动, 它可能使队长减1或使服务员由忙转闲.
(二)离散事件系统仿真策略
因为离散事件模型的特点,实体活动,进 程都是以事件为基础构成的,所以从事件, 活动,进程三个层次来组织事件构成了处 理离散事件模型的三种典型的处理方法: 事件调度法,活动扫描法和进程交互法, 相应地要采用三种不同的仿真策略,在复 杂系统仿真中,按进程来组织事件可以使 众多的事件条理清晰,因而成为最通用的 仿真方法.
–离散事件系统与模型 –离散事件仿真 –排队系统的仿真 –随机数和随机变量的生成
一,离散事件系统与模型
概述 描述离散事件系统的基本要素 离散事件系统模型的建立
(一)概述
离散事件系统大量地存在于我们周围,如: 超级市场管理系统,银行服务系统,公交 管理系统,车间加工调度系统等,其中到 大市场和银行的顾客,上下车的旅客,等 待加工的工件,都是影响系统变化的"事 件".事件是在离散时刻随机发生的,利 用仿真技术对这些系统进行研究分析,可 以了解它们的动态运行规律,从而帮助人 们做出是否需要增加新的市场和银行的决 定,可以帮助人们合理地调度车辆和安排 工序.
排队活动
过闸服务活动 过闸服务结束事件
船只到达事件
过闸服务开始事件
(5)仿真钟(simulation clock) 仿真钟用于表示仿真时间的变化,在连续系统中, 仿真时间的变化基于仿真步长的确定,可以是定 步长,也可以是变步长.在离散事件动态系统中, 引起状态变化的事件的发生时间是随机的,因而 仿真时钟的推进步长完全是随机的,而且,在两 个相邻发生的事件之间系统状态不会发生任何变 化,因而,仿真钟可以跨过这些"不活动"周期, 从一个事件发生时刻直接推进到下一个事件发生 时刻,仿真钟的推进呈现跳跃性,推进的速度具 有随机性,可见,仿真模型中时间控制部件是必 不可少的,以便按一定的规律来控制仿真钟的推 进.
(2)事件(Event) 引起系统状态变化的行为称为事件.它是在某一时 间点的瞬时行为,从某种意义上来说,系统是由事 件来驱动的.事件不仅用来协调两个实体之间的同 步活动,还用于各个实体之间传递信息. 例如,在例4-1中就可以把"顾客到达"称为一类 事件,因为正是由于顾客的到达,系统的状态—— 服务员的"状态"才能由闲变忙(如果无人排队的 话),或者使系统的状态——排队的顾客人数发生变 化(队列人数加1). 一个顾客接受服务完毕后离开系统,也可以定义为 一类事件,因为服务员由忙变为闲,或者等待的队 列发生变化.
– ⑦时钟推进子程序:根据事件表决定下次(最早 发生的)事件,然后将仿真事件推进到事件发生 时刻; – ⑧随机数产生子程序:产生给定分布的随机数 的子程序; – ⑨输出函数子程序:用于系统性能分析的子程 序; – ⑩统计计数器:用来存放与系统性能分析有关 的统计数据的各个变量值; – ⑩主程序:调用上述各子程序并完成仿真任务 全过程.
(2)事件表:应用于变步长法仿真. (3)同时事件管理
– 同类同时事件的管理:发生在同一时刻且隶属于同一类型 的几个事件叫同类同时事件.同类同时事件的发生会导致 模型的下一状态出现多种可能值,即可能出现几种排队顺 序.为此,我们需要先定好条件,以使状态取值成为惟一, 也就是要规定一种排队规则来管理这些同类同时事件.例 如,先进先出〔或先到先服务)规则,后进先出(或后到先 服务)规则,随机规则以及优先服务规则. ) – 混合同时事件的管理:发生在同一时刻但不属于同一类型 的几个事件叫混合同时事件.确定这些混合同时事件所造 成的状态的变化,通常有一步法与解结法.一步法就是直 接确定混合同时事件所形成的结果状态;解结法却是把几 个同时事件分解成多个单独事件的序列进行处理.对于简 单的情况,一步法与解结法将会得到相同的结果.但一步 法不易写成通用的形式,且流程管理中的通道选择较复杂; 而解结法通用于各种仿真语言中,是因为使用该counter) 连续系统仿真的目的是要得到状态变量的动态变化过程并 由此分析系统的性能.离散事件系统的状态变量随事件的 不断发生也呈现出动态变化过程,但仿真的主要目的不是 要得到这些状态变量是如何变化的.因为这种变化是随机 的,所以某一次运行得到的状态变化过程只不过是随机过 程的一次取样,因而,如果进行另一次独立的仿真运行, 则所得到的变化过程完全是另外一种情况,所以它们只有 在统计意义下才有参考价值. 在例4-1中,由于顾客到达的时间间隔具有随机性,服务 员为每位为顾客服务的时间长度也是随机的,因而,在某 一时刻,顾客排队的队长或服务员的忙,闲情况是完全不 确定的.从系统分析的角度看,感兴趣的可能是系统的平 均队长,顾客的平均等待时间,或者是服务员的利用率等. 在仿真模型中,需要有一个统计计数器,以便统计系统中 的有关变量
– 事件步长法:事件步长法是以事件发生的时间为增量,按照时 间的进展,一步一步地对系统的行为进行仿真,直到预定的仿 真时间结束为止. – 事件步长法与时间步长法的主要区别: ①事件步长法与时间步长法都是以时间为增量来考察系统 状态的变化的.但在时间步长法中,仿真时钟以等步长前 进,而在事件步长法仿真中,仿真时钟的步长取决于事件 之间的时间间隔. ②时间步长法在一个步长内,认为系统所处的状态相同, 因而所选的步长的大小将影响仿真的精度.而在事件步长 法中,每个事件的发生均有确切的时刻,不需要人为地选 取步长,步长的大小对仿真的精度影响较小. ③时间步长法每步进一个步长就要对整个系统进行一次全 面的考察,即使状态没有发生变化时也要进行扫描.而事 件步长法只是在某一事件发生时才进行扫描.无论采用哪 种方法仿真,在仿真过程中每一个时间点上总是要判断相 比较事件是否出现,因此,一般地讲,当判断比较的数目 较大或事件变化呈周期性特点时,用时间步长法可以节省 用机时间,而当相继两个事件出现的平均间隔较长时,更 适合于采用事件步长法.
2.仿真程序的流程管理 仿真流程管理(即仿真调度)是仿真建模的核心,在此 主要讨论事件进程管理,同时事件管理等.这个过 程主要用到了仿真时钟和事件表两个概念. (1)仿真时钟:注意与仿真机时之间的区别. – 时间步长法:在进行系统仿真的同时,可以把整 个仿真过程分为许多相等的时间间隔,时间步长 的长度可根据实际问题分别取秒,分,小时等, 程序中按此步长前进的时钟就是仿真时钟.选取 系统的一个初始状态作为仿真时钟的零点,仿真 时钟每步进一次,就对系统的所有实体,属性和 活动进行一次全面的扫描考察,按照预定的计划 和目标进行分析,计算和记录系统状态的变化, 这个过程一直进行到仿真时钟结束为止.
船只到达 排队等候 查询闸闲? Y 船闸服务 船只离开 置船闸为闲 船闸服务系统流程图 N
开始 置仿真开始时 间和结束时间 船只到过时间 间隔70min 系统流程 大于结束时间? Y 结束 船闸服务系统仿真模型图 N
二,离散事件仿真
离散事件系统的仿真模型 离散事件系统仿真策略 离散事件仿真研究的一般步骤
(4)进程(process) 进程由若干个事件及若干个活动组成,它 描述了事件及活动之间的相互逻辑关系及 时序关系. 例4-1中的"顾客到达系统--排队--开始接受 服务一服务完毕的过程"就构成了一个进 程.
[例4-2] 在一个有较大水位落差河段上的船闸运行系统, 从上游新来的船只到达船闸或当原有的船只完成过闸运行 时,系统的状态就发生了变化,我们把船只到达,过闸完 毕这一类引起系统状态变化的行为称为事件,当船只尚在 船闸内(忙态)而又有新的船只到达时,则新到的船只就进 入到等侯的队列(排队的队长加1),把排队过程,船只过闸 过程称为活动,把船只到达→进入排队队列一开闸门→过 闸服务→出闸门这三个事件和两项活动称为过闸进程. 船只过闸服务进程
离散事件的建模型步骤
– (1)明确仿真目的 – (2)正确描述系统 组成成分:指对描述系统仿真目的有意义的实体, 这些实体的行为往往是随机分布的. 描述变量和参数:描述变量和参数是指系统各实体 的属性.描述变量包括内部变量和外部变量,除了 输入/输出变量外,其余均为状态变量.参数可以在 仿真前由用户设置或在仿真过程当中根据用户的命 令加以改变. 相互关系:相互关系规定了系统中不同变量的相互 关联,是指影响系统变化的各实体,变量和参数之 间的连接关系和作用关系.相互关系大部分反映在 各成分的活动之中,而活动又由事件所引发,所以 弄清事件,活动的关系是系统描述中极为重要的. – (3)仿真模型的建立 – (4)输出函数的确定