ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:21.88KB ,
资源ID:21912902      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21912902.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(离散事件系统仿真策略Word文件下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

离散事件系统仿真策略Word文件下载.docx

1、 D (S) =true,表示满足,D (S) =false表示不满足。 TIME 模型仿真钟的值,值域为R(0, )。 13.1 事件调度法(Event Scheduling) 事件调度法基本思想:用事件的观点来分析真实系统,通过定义事件及每个事件发生引起系统状态的变化,按时间顺序确定并执行每个事件发生时有关的逻辑关系。 2 所有事件均放在事件表中。模型中设有一个时间控制成分,该成分从事件表中选择具有最早发生时间的事件,并将仿真钟修改到该事件发生的时间,再调用与该事件相应的事件处理模块,该事件处理完后返回时间控制成分。这样,事件的选择与处理不断地进行,直到仿真终止的条件或程序事件产生为止。

2、策略的非形式描述: 成分集合CA 1, 2, n:主动成分集 CA 1, 2, m ,被动成分集 CP m 1, m 2, n 描述变量:描述每一主动成分 CA的变量, 的状态s 值域S , s 下一变化时刻的时间变量t 描述每一被动成分 CP的变量, 的状态s ,值域S (被动成分的状态变化只有在主动成分作用下才能发生, 其发生时间由主动成分来确定, 因而不需要时间变量。) 描述所有成分的属性的变量: 参数集合P=p1, p2, , pr 成分间的相互关系 3 每个主动成分 CA的影响受主在 作用下其状态变化的描述, 称为事件处理流程; 各成分处理的优先级, 即同时发生时的处理顺序(解结规则

3、)。 注意, 在事件调度法中, 一般主动成分也同时具有被动成分属性, 以便接受其它主动成分的作用。 推进仿真钟 TIME=t(s) While(TIME=t )则执行 Case 根据事件类型i i=1执行第1类事件处理程序* 事件调度法算法如下: 执行初始化操作, 包括: 置初始时间t=t0, 结束时间t te 事件表初始化, 置系统初始事件 成分状态初始化 (*第i类事件处理程序对成分的状态变化进行建模,而且要进行统计计算) i=2执行第2类事件处理程序 。 S (s 1,t 1), (s m,t m),s m 1, s n) 操作事件表, 包括 取出具有t(s) mint 修改事件表 CA

4、事件记录 4 i=m执行第m类事件处理程序 endcase 取出具有t(s) mint CA事件记录_ 置仿真时间 TIME=t(s) endwhile_ (_若具有t(s) mint 若干个,则按解结规则处理) CA事件记录有 (_该算法中未包括仿真结束后对结果的分析等内容) 13. 2 活动扫描法(Activity Scanning) 事件调度法中仿真钟的推进仅仅依据t(s) mint CA准则,而该事件发生的任何条件的测 试必须在该事件处理程序内部去处理。如果条件满足,该事件发生,否则,则推迟或取消该事件发生。 从本质上来说,事件调度法是一种“预定事件发生时间”的策略。这样,仿真模型中必

5、须预定系统中下一最先发生的事件。该策略对于活动持续时间确定性较强(可以是服从某种分布的随机变量)的系统是比较方便的。 当事件的发生不仅与时间有关,而且与其它条件有关,即只有满足某些条件时才会发生。在这种情况下,事件调度法策略的弱点则表现出来了,由于这类系统的活动持续时间的不确定性,因而无法预定活动的开 始或终止时间。 活动扫描法的基本思想是:用活动的观点建模。系统由成分组成,而成分包含着活动,这些活动的发生必须满足某些条件;每一个主动成分均有一个相应的活动子例程;仿真过程中,活动的发生时间也做为条件之一,而且是较之其它条件具有更高的优先权。 设D (S)表示成分 在系统状态S下的条件是否满足(

6、D (S)=true则表示满足,D (S)=false则表示不满足),t 表示成分 的状态下一发生变化的时刻,活动扫描法每一步要对系统中所有主动成分进行扫描,当: (i) t 仿真钟当前值TIME,且(ii) D (S)=true时, 执行该成分 的活动子例程。 所有主动成分扫描一遍后,则又按同样顺序继续进行扫描,直到仿真结束。 显然,活动扫描法由于包括了对事件发生时间的扫描,因而它也具有事件调度法的功能。 实现措施: 设置系统仿真钟TIME与成分仿真钟t 系统仿真钟表示系统的仿真进程的推进时间,而成分仿真钟则记录该成分的活动发生时刻,两者的关系可 能有三种情况: (i) (ii) (iii)

7、 t TIME 表示该活动在将来某一时刻可能发生; t =TIME 表示该活动如果条件满足则应立即发生; t TIME 表示该活动按预定时间早应发生, 但因条件未满足, 到目前为止实际上仍未发生, 当前 是否发生, 则只要判断其发生的条件。 2. 设置条件处理模块 该模块用于测定D (S)的值及系统仿真钟与成分仿真钟之间的关系, 记 FUTURE(S)= t TIME,*(S)= t =TIME,PAST(S)= t TIME 该模块将满足下列条件: (i) *(S) PAST(S),且(ii) D (S)=true的成分置于可激活( *ABLE)的成分集合中,即 *(S) PAST(S) *

8、ABLE(S)= D (S) true 此时,系统仿真钟不推进,仅仅处理成分活动,包括修改成分仿真钟。 如果可激活的成分集合为空,则将系统仿真钟推进到下一最早发生的活动生成时刻,TIME=min(t FUTURE(S) 算法描述: S (s 1,t 1), (s m,t m),s m 1, s n) 置初始时间t=t0,结束时间t te 设置系统仿真钟TIME=t0 设置主动成分的仿真钟t (i)(i=1,2, ,m) While(TIMEt ),则执行扫描 成分状态初始化: for j=最高优先数到最低优先数 将优先数为j的成分置成i 即 If(t (i)TIME且D (S) =true)

9、i endif endfor 执行活动子例程i TIME=min(t endwhile FUTURE(S) 退出,重新开始扫描 核心是建立活动子例程模型。包括此活动发生引起的状态变化(自身的),对其它成分的状态产生的作用 等等,而条件处理模块则是这种策略实现的本质,它相应于事件调度法中的定时模块。 13. 3 进程交互法(Process Interactive) 进程交互法采用进程(Process)描述系统,它将模型中的主动成分所发生的事件及活动按时间顺序进行组合,从而形成进程表,一个成分一旦进入进程,只要条件满足,它将完成该进程的全部活动。 系统仿真钟的控制程序采用两张事件表,其一是当前事件

10、表(CEL:Current Events List),它包含了从当前时间点开始有资格执行的事件的事件记录,但是该事件是否发生的条件(如果有的话)尚未判断,其二是将来事件表(FEL:Future Events List),它包含在将来某个仿真时刻发生的事件的事件记录。每一个事 件记录中包括该事件的若干属性,其中必有一个属性,说明该事件在进程中所处位置的指针。 当仿真钟推进时,满足t TIME的所有事件记录从FEL移到CEL中,然后对CEL中的每个事件记录进行扫描,对于从CEL中取出的每一个事件记录,首先判断它属于哪一个进程以及它在该进程中的位置。该事件是否发生则决定于发生条件是否为真。若D i(

11、S)=True, 则发生包含该事件的活动,只要条件允许, 该进程要尽可能多地连续推进,直到结束;如果D i(S)=False或仿真钟要求停止,则退出该进程,然后对CEL的下一事件记录进行处理。当中的所有记录处理完毕后,结束对的扫描,继续推进仿真钟,即把将来事件表中的最早发生的事件记录移到中,直到仿真结束。 执行初始化操作,包括 设置开始时间t=t0,结束时间t 设置初始化事件,并置于FEL中 将FEL中有关事件记录置于CEL中 则 While (TIME=t ),则执行 1. CEL扫描 While (CEL中最后一个记录未处理完) 则 While (D i(S)=true且当前成分未处理完)

12、 以便决定下一活动是否发生。如果条件不满足,则该进程退出,并记下断点,置于FEL中。) endwhile endwhile 2. 推进仿真钟 TIME=FEL中安排的最早时间 执行该成分的活动* (*一个进程可能有若干个活动,每一个活动有相应的活动子例程来处理该成分在此活动发生时的状态变化及对其它成分的作用) 确定该成分的下一事件_ If(TIME=t )则 将FEL中TIME时刻发生的事件记录移到CEL中 endif endwhile (为确定该进程的下一事件,必须对Dai(S)求值, 进程交互法既可预定事件,又可对条件求值,因而它兼有事件调度法及活动扫描法两者的优点。 13.5 三种仿真策

13、略的比较 系统描述 所有策略均提供主动成分及被动成分,每种成分均能接受其它成分的作用。在事件调度法中,只有主动型成分CA才能施加作用,而在其它两种策略中,主动型成分CA与被动型成分CP均可施加作用。 在事件调度法中,系统的动态特性表现为主动成分不断产生事件,而在活动扫描法中则表现为主动成分产生活动;在进程交互法中则是通过成分在其进程中一步一步地推进来描述。 建模要点 在事件调度法中,用户要对所定义的全部事件进行建模,条件的测试只能在事件处理子例程中进行。 活动扫描法设置了一个条件子例程专用于条件测试,还设置一个活动扫描模块,该模块对所有定义的活动进行建模。 进程交互则将一个进程分成若干步,每一

14、步包括条件测试及执行活动两部分。 仿真钟的推进 在事件调度法中,主动成分的下一事件发生时间保存在事件表中,定时模块不断地从事件表中取出具有最早发生时间的事件记录,并将仿真钟推进到该事件发生时间,并转向该事件处理子例程执行。 活动扫描法除了设置了系统仿真钟之外,每一个主动型成分还没有成分仿真钟。定时模块选择那些大于当前系统仿真钟的值且是所有成分仿真钟最小的那个成分仿真钟,然后将系统仿真钟推进到该时刻,并开始对活动扫描。 进程交互法采用将来事件表及前事件表。当前事件表中的进程扫描完后,从将来事件表中取出具有最早发生时间的事件记录置于当前事件表中,仿真钟推进到该事件发生时间。一旦某个进程被执行,则要

15、求尽可能多地走下去,但并不改变系统仿真钟;如果该进程并未完成,则将其断点记录下来,即将中断时间及事件类型放到将来事件表中,如果当前事件表中有一项或几项的发生时间小于当前系统仿真钟的值,则说明在以前的扫描中,发生该事件的条件未得到满足,本次应再次进行扫描。 4. 评述 事件调度法:建模灵活,可应用范围广泛,但一般要求用户用通用的高级语言编写事件处理子例程,建 模工作量大。 活动扫描法:对于各成分相关性很强的系统来说模型执行效率高。但是,建模时,除了要对各成分的活动进行建模外,仿真执行程序结构比较复杂,其流程控制要十分小心。 进程交互法:建模最为直观,其模型表示接近实际系统,特别适用于活动可以预测

16、,顺序比较确定的系统,但是其流程控制复杂,建模灵活性不如事件调度法。 13.6 离散事件系统仿真语言 1 GPSS: GPSS语言推出最早,采用进程交互法。 GPSS特点:模型可采用一组标准的程序块(block)来表示其逻辑结构, 系统的临时实体按程序块图中规 定的方向由某一块流向另一块。一个程序块对应一条GPSS语句,它相当于一个子程序。 用GPSS进行仿真建模时,要进行如下三个步骤: (1) 将被仿真的系统抽象成为类似于流程图的模型描述; (2) 用GPSS程序块实现流程图中的功能模块; (3) 用GPSS程序块对应的语句编写出仿真程序,形成一个可执行的代码。 例13 单台排队系统,顾客到

17、达事件间隔为均匀分布的随机变量,其均值为20分钟,偏差为 6分钟;为每个顾客服务的时间也是均匀分布的随机变量,其均值为15分钟,偏差为 3分钟;服务规则为先来先服务(FIFO)。 图(a),(b)分别给出了该系统的流程图描述及GPSS程序块图描述。 到达一个顾客 排进队列WAIT中 占用服务台 离开队列 服务 服务完成 图(a) 单排队系统流程图 1个顾客离开系统 图(b)单排队系统GPSS模型图 对这类简单系统,他们之间几乎是一一对应的。GPSS程序块图旁边是注释。 5 然后就可以写出该系统的GPSS程序如下: *The Model of Single-Sever Queue System

18、注释语句 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语言:可用于离散事件系统, 连续系统以及离散-连续混合系统的仿真。 连续系统既可采用微分

19、方程, 也可采用差分方程来描述。 它将事件调度及进程交互两种策略结合起来形成了统一的建模框架。离散部分若采用面向进程的观点建模 则采用网络结构, 网络模型中的实体可以触发离散事件的发生及连续状态变量的值发生变化; 若采用面向事件的观点建模, 则事件可以改变网络模型中的实体流动并可引起连续状态变量发生变化; 而达到阈值的连续状态变量能激发网络模型中的实体或触发事件。 SLAM共提供了22个网络语句, 与GPSS相似, 每个语句对应有一个称为“节点”的图形描述或用带箭头的分支符号表示。如果用户还需要用事件调度的观点来描述系统, SLAM提供了EVENT(I)子程序名, 用户可用*编写各事件处理子程

20、序; 此时还需用户编写主程序(基于*)并在主程序中执行CALL SLAM, 以便进入其网络模型。 SLAM源程度可分为两大部分, 一部分是系统模型描述。另一部分是实验控制语句。这种将模型语句与实 验控制语句组织在一个仿真程序中, 这种做法是早期仿真语言共同的特点。 7 SIMAN语言: SLAM的作者之一C.Dennis Pegden对SLAM进行了较为彻底的改造与扩充。 SIMAN语言仿真结构图 SIMAN语言将仿真全过程分成了四个阶段: 8 1). 进程模型处理 SIMAN的进程模型与SLAM的网络模型十分接近(增加了某些功能)。它将该模型描述作为一个单独的文 件进程模型文件, 并有一个模型处理器MODEL对该文件进行翻译, 得到一个相应的模型目标文件。 2). 实验框架处理 SIMAN将用户的实验要求用实验框架文件来描述, 而且与模型完全分离开来。一个模型文件可用于若干 个不同的实验框架文件。实验框架处理器EXPMT负责对实验框架文件进行翻译, 产生一个相应的实验框架目标文件。 3). 仿真运行 连接器LINKER:将上述两个目标文件连接起来形成一个仿真文件, 该文件可提交给SIMAN处理器执行 , 并自动产生标准输出报告。如果用户编写了事件处理子程序, 则必须事先进行*编译, SIMAN会将他们与仿真文件连接起来一起执行。 4). 仿真输出

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1