- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机仿真原理及应用第三讲讲解
单位:物理电子学院 主讲人:王刚 Email: buncan_wang@126.com §3 离散事件系统仿真方法 离散事件系统示例 例:单人理发店系统,设上午9:00开门,下午5:00关门。 顾客到达时间一般是随机的,为每个顾客服务的时间长度也是随机的。 系统的状态:服务台的状态 (忙或闲)、顾客排队等待的队列长度。 状态量的变化也只能在离散的随机时间点上发生。 专用术语 系统:一些具有特定功能、相互之间以一定的规律联系着的物体所组成的总体. 仿真策略:要将系统模型转换为计算机模型,首先要从总体上确定仿真模型的控制逻辑和仿真时钟推进机制,即确定仿真策略。 仿真策略是仿真模型的核心,反映了仿真模型的本质,从根本上决定了仿真模型的结构。 迄今为止,离散事件系统形成了三种基本仿真策略: 事件调度法(event schedule,ES) 活动扫描法(activity scanning,AS) 进程交互法(Process Interactive,PI) 事件调度法的仿真策略 事件调度法由兰德公司在1963年提出。在美国广泛采用,欧洲不很流行。 基本思想:将事件例程作为仿真模型的基本模型单元,按照事件发生的先后顺序不断执行相应的事件例程。每一个有确定发生时间的事件,都有一个事件例程,用事件例程来处理事件发生后对实体状态所产生的影响,并安排后续事件。 事件调度法用事件的观点分析真实系统,通过定义事件及每个事件的发生,引起系统状态的变化,按时间顺序,在每个事件发生时,确定并执行有关的逻辑关系。 按这种策略建立模型时,所有的事件均放在事件表中,模型中设有一个时间控制器,从事件表中选择最早发生的事件并将仿真时钟改到该事件发生的时间,然后调用与该事件相应的事件处理模块。这样,事件的选择与处理不断地进行,直到仿真终止或程序事件产生为止。 事件调度法的仿真策略 (1)初始化 1置仿真的开始时间t0和结束时间tf。 2置实体的初始状态。 3置初始事件及其发生时间ts。 (2)仿真时钟TIME=ts (3)确定在当前时钟TIME下发生的事件类型Ei,i=1,2,…,n,并按规则排序。 (4)如果TIME≤tf,执行 {case Ei of E1:执行E1的事件例程,产生后续事件类型及发生时间; …… En:执行En的事件例程,产生后续事件类型及发生时间。 endcase} 否则,转(6)。 (5)将仿真时钟TIME推进到下一个最早事件发生时间。 这一步体现了仿真时钟的推进机制,是将仿真时钟推进到下一个最早事件的发生时刻。它与连续系统仿真中的时间推进方法――固定时间增量法不同,反映了离散事件系统状态仅在离散时刻点上发生变化的特点,这种时间推进方法在离散事件系统仿真中普遍采用,称为下一事件增量法,简称事件增量法。 (6)仿真结束。 离散事件系统仿真步骤 1.系统建模 由观测数据确定随机变量的分布和参数。 一般可用流程图或网格图的方式描述,反映临时实体在系统内部历经的过程、永久实体对临时实体的作用以及它们相互之间的逻辑关系。 2.确定仿真算法 两个方面内容:如何产生所需求的随机变量;采用什么方法对离散事件系统仿真。 确定仿真策略。 3.建立仿真模型 仿真时钟在各种算法中的推进方法。 根据仿真算法建立仿真系统的计算机模型(变量定义及程序流程)。 4.设计仿真程序 实现仿真模型。 5.仿真结果分析 每次仿真结果只是随机变量的一次取样,仿真结果的可信度? 实例:机器修理车间的仿真 已知的基本信息: 等待区足够大; 排队规则先进先出FIFO; 到达间隔服从负指数分布?1=1/10(台/天); 修理时间服从负指数分布?2=1/15(台/天); 仿真时间长度为365天。 编程序求解: 机器的平均等待时间; 机器的平均逗留时间; 修理台利用率。 系统描述 这是一个典型的单服务员单队列的排队系统仿真模型。 这类排队系统主要包括两个要素:顾客(即服务对象)和服务员(即服务设备)。 该系统由到达模式、服务模式、并行服务员数目、系统容量、排队规则来表示。 由命题可知,被修理的机器为“顾客”,而修理台为“服务员”。 该排队系统的到达模式用机器到达间隔时间的负指数分布表示;服务模式由修理时间的负指数分布表示;系统中并行服务员数目为1;系统容量足够大;排队规则采用先进先出FIFO方式。 系统建模 采用事件调度法,具体的仿真步骤如下: 1)初始化:给出当前仿真时钟、系统状态量及统计量的初始值; 2)扫描事件表,将当前仿真时钟增加到下一个最早发生事件的时间上; 3)处理该事件,相应地改变系统状态; 4)收集统计数据; 5)若仿真时间未结束,则返回2,否则,执行下一步; 6)分析收集的统计数据,产生
文档评论(0)