教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

离散事件系统仿真策略(2)

来源:网络收集 时间:2026-08-31
导读: 执行初始化操作,包括 成分状态初始化: 设置开始时间t=t0,结束时间t 设置初始化事件,并置于FEL中 将FEL中有关事件记录置于CEL中 2 S ((s 1,t 1), (s m,t m),s m 1, s n) 设置系统仿真钟TIME=t0 离散事件系统仿真

执行初始化操作,包括

成分状态初始化:

设置开始时间t=t0,结束时间t 设置初始化事件,并置于FEL中 将FEL中有关事件记录置于CEL中

2

S ((s 1,t 1), (s m,t m),s m 1, s n)

设置系统仿真钟TIME=t0

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

While (TIME<=t ),则执行 1. CEL扫描

While (CEL中最后一个记录未处理完) 则 While (D i(S)=true且当前成分未处理完)

以便决定下一活动是否发生。如果条件不满足,则该进程退出,并记下断点,置于FEL中。)

endwhile endwhile

2. 推进仿真钟

TIME=FEL中安排的最早时间

执行该成分的活动*

(*一个进程可能有若干个活动,每一个活动有相应的活动子例程来处理该成分在此活动发生时的状态变化及对其它成分的作用)

确定该成分的下一事件**

If(TIME<=t )则

将FEL中TIME时刻发生的事件记录移到CEL中

endif endwhile

(为确定该进程的下一事件,必须对Dai(S)求值,

进程交互法既可预定事件,又可对条件求值,因而它兼有事件调度法及活动扫描法两者的优点。

2

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

2

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

13.5 三种仿真策略的比较

1.系统描述

所有策略均提供主动成分及被动成分,每种成分均能接受其它成分的作用。在事件调度法中,只有主动型成分CA才能施加作用,而在其它两种策略中,主动型成分CA与被动型成分CP均可施加作用。

在事件调度法中,系统的动态特性表现为主动成分不断产生事件,而在活动扫描法中则表现为主动成分产生活动;在进程交互法中则是通过成分在其进程中一步一步地推进来描述。 2.建模要点

在事件调度法中,用户要对所定义的全部事件进行建模,条件的测试只能在事件处理子例程中进行。 活动扫描法设置了一个条件子例程专用于条件测试,还设置一个活动扫描模块,该模块对所有定义的活动进行建模。

进程交互则将一个进程分成若干步,每一步包括条件测试及执行活动两部分。 3.仿真钟的推进

1

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

在事件调度法中,主动成分的下一事件发生时间保存在事件表中,定时模块不断地从事件表中取出具有最早发生时间的事件记录,并将仿真钟推进到该事件发生时间,并转向该事件处理子例程执行。

活动扫描法除了设置了系统仿真钟之外,每一个主动型成分还没有成分仿真钟。定时模块选择那些大于当前系统仿真钟的值且是所有成分仿真钟最小的那个成分仿真钟,然后将系统仿真钟推进到该时刻,并开始对活动扫描。

进程交互法采用将来事件表及前事件表。当前事件表中的进程扫描完后,从将来事件表中取出具有最早发生时间的事件记录置于当前事件表中,仿真钟推进到该事件发生时间。一旦某个进程被执行,则要求尽可能多地走下去,但并不改变系统仿真钟;如果该进程并未完成,则将其断点记录下来,即将中断时间及事件类型放到将来事件表中,如果当前事件表中有一项或几项的发生时间小于当前系统仿真钟的值,则说明在以前的扫描中,发生该事件的条件未得到满足,本次应再次进行扫描。 4. 评述

事件调度法:建模灵活,可应用范围广泛,但一般要求用户用通用的高级语言编写事件处理子例程,建

2

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

模工作量大。

活动扫描法:对于各成分相关性很强的系统来说模型执行效率高。但是,建模时,除了要对各成分的活动进行建模外,仿真执行程序结构比较复杂,其流程控制要十分小心。

进程交互法:建模最为直观,其模型表示接近实际系统,特别适用于活动可以预测,顺序比较确定的系统,但是其流程控制复杂,建模灵活性不如事件调度法。

3

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

13.6 离散事件系统仿真语言

1 GPSS: GPSS语言推出最早,采用进程交互法。

GPSS特点:模型可采用一组标准的程序块(block)来表示其逻辑结构, 系统的临时实体按程序块图中规

定的方向由某一块流向另一块。一个程序块对应一条GPSS语句,它相当于一个子程序。 用GPSS进行仿真建模时,要进行如下三个步骤: (1) 将被仿真的系统抽象成为类似于流程图的模型描述; (2) 用GPSS程序块实现流程图中的功能模块;

(3) 用GPSS程序块对应的语句编写出仿真程序,形成一个可执行的代码。

例13 单台排队系统,顾客到达事件间隔为均匀分布的随机变量,其均值为20分钟,偏差为 6分钟;为每个顾客服务的时间也是均匀分布的随机变量,其均值为15分钟,偏差为 3分钟;服务规则为先来先服务(FIFO)。

4

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

图(a),(b)分别给出了该系统的流程图描述及GPSS程序块图描述。

到达一个顾客 排进队列WAIT中 占用服务台 离开队列

服务 服务完成

图(a) 单排队系统流程图

1个顾客离开系统

图(b)单排队系统GPSS模型图

对这类简单系统,他们之间几乎是一一对应的。GPSS程序块图旁边是注释。

5

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

然后就可以写出该系统的GPSS程序如下:

*The Model of Single-Sever Queue System 注释语句

Simulate 仿真执行开始 *Block Definition Cards 注释语句

Generate 20,6 模型定义 Queue WAIT Seize SERV

Depart WAIT

Advance 15,3 Release SERV Terminate 1

*Control Cards 注释语句

Start 100 实验控制 End 程序结束

GPSS语言提供一个处理器以翻译GPSS源程序并加以执行, 最终向用户输出仿真结果的标准报告。 2 SLAM/SIMAN仿真语言

6

离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。

SLAM语言:可用于离散事件系统, 连续系统以及离散-连续混合系统的仿真。 连续系统既可采用微分方程, 也可采用差分方程来描述。

它将事件调度及进程交互两种策略结合起来形成了统一的建模框架。离散部分若采用面向进程的观点建模

则采用网络结构, 网络模型中的实体可以触发离散事件的发生及连续状态变量的值发生变化; 若采用面向事件的观点建模, 则事件可以改变网络模型中的实体流动并可引起连续状态变量发生变化; 而达到阈值的连续状态变量能激发网络模型中的实体或触发事件。

SLAM共提供了22个网络语句, 与GPSS相似, 每个语句对应有一个称为“节点”的图形描述或用带箭头的分 …… 此处隐藏:2154字,全部文档内容请下载后查看。喜欢就下载吧 ……

离散事件系统仿真策略(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/266856.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)