离散事件系统仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:离散事件系统仿真YOURSITEHERE主要内容1.离散事件系统基本概念2.仿真钟的推进3.离散事件系统仿真步骤4.离散事件系统仿真类型YOURSITEHERE离散事件系统,与连续系统性质完全不同,这类系统在离散时间点上发生变化,且这些离散时间点一般不确定。典型的离散系统订票系统、库存系统、加工制造系统、交通系统、计算机系统、网络系统等。基础概念引例单人理发馆系统,假设上午9:00开门,下午5:00关门,顾客的到达时间一般是随机的,服务员为每个顾客服务的时间长度也是随机的。描述该系统的是服务台的状态(忙/闲)、顾客排队等待的队长。离散系统的基本要素实体永久实体:一直在系统中存在。临时实体:只在系统中存在一段时间。例如前面的引例当中,顾客为临时实体,服务员为永久实体。临时实体按一定的规律不断到达(产生),在永久实体作用下通过系统,最后离开系统,整个系统呈现出动态过程。离散系统的基本要素事件事件是引起系统状态发生变化的行为,即系统是由事件来驱动的。例如前面引例中,“顾客到达”、“顾客接受完服务后离开”均可定义为事件。一个系统中有多个事件,事件的发生与一类实体联系,同时还会引起别的事件的发生,或是成为另一件事件发生的条件。在仿真模型中建立事件表来记录每一个发生了的或将要发生的事件类型、发生时间以及与该事件相联的实体的有关属性。离散系统的基本要素在仿真模型中,系统中除了固有事件(即系统事件),还有程序事件,用于控制仿真进程。例如引例中,9:00am开门,5:00pm关门,即定义“仿真时间达到8小时后停止仿真”为程序事件,该事件发生时即结束仿真模型的执行。离散系统的基本要素活动活动表示两个可以区分的事件之间的进程,标志着系统状态的转移。引例中“顾客到达”与“顾客开始接受服务”之间,以及“顾客开始接受服务”与“服务完毕后顾客离开”之间可称为活动。进程进程由若干有序事件及若干有序活动组成。一个进程描述了它所包括的事件及活动间的相互逻辑关系及时序关系引例中,一个顾客到达系统,进过排队、接受服务,离开系统可看作一个进程。事件、活动、进程三者的关系仿真钟仿真钟表示仿真时间的变化。连续系统仿真将模型离散化成为仿真模型,而离散事件系统不需要进行离散化处理。仿真钟的推进步长是随机的,可跨过“不活动”的周期而呈现跳跃性。通过时间控制部件来控制仿真钟的推进。统计计数器连续系统仿真,目的是要得到系统状态如何变化,而离散系统仿真,目的是通过仿真,得到系统中相关变量的统计性结果。在引例中,针对不同的问题和研究目的,我们可能关心的是系统的平均队长、顾客的平均等待时间、服务员的利用率等。仿真钟的推进仿真钟的推进方法按下一个最早发生事件的发生时间推进,即事件调度法。固定增量推进方法事件调度法事件调度法中,事件表按事件发生时间的先后顺序安排事件。时间控制部件从事件表中始终选择具有最早发生时间的事件记录,然后将仿真钟修改到该事件发生时刻。对每一类事件,仿真模型有相应的事件子程序,并根据事件类型进行调用。如果是条件事件,先进行条件测试。事件子程序处理完后返回时间控制部件。离散系统仿真实例事件类型类型1顾客到达类型2顾客接受服务类型3顾客接受服务完毕并离去Ai,Si是随机变量,要根据其分布函数来产生,假定我们已得到这些随机变量的样本值如下:A1=15,A2=32,A3=24,A4=40,A5=22,A6=30…S1=43,S2=36,S3=34,S4=28,…系统初始状态:q0=0,Z0=0仿真钟初始值:TIME=b0=t0b0t0t仿真钟初始值:TIME=b0=t0此时,下一最早发生事件为:第一个顾客到达,即:b1=t1t1=t0+A1=15因为t1<150,仿真钟推进到t1。b1t1A1b0t0t系统处理该事件,由于是到达事件,且Z0=0,立即为刚刚到达的顾客服务,可得D1=0,此时,服务台的状态由Z0=0变为Z1=1,该顾客的服务时间为S1=43。下一最早发生事件是谁?b0t0B2=?b1t1A1S1=43tD1=0下一最早发生事件可能是谁?比较之(1)第一个顾客的离开事件:C1=t1+S1+D1=15+43+0=58(2)第二个顾客的到达事件:T2=t1+A2=15+32=47<C1,所以,下一最早发生事件是第二个顾客的到达事件即:b2=t2b0t0b1b2t2t1A1A2=32S1=48t仿真钟推进到t2,处理该到达事件,因为Z1=1,该顾客只能排队等待,从而队长q2=q1+1=1;下一最早发生的事件是谁?比较哪几个事件?(1)第一个顾客的离开事件:C1=t1+S1+D1=15+43+0=58(2)第三个顾客的到达事件:T3=t2+A3=47+24=71>C1,所以,下一最早发生事件是第一个顾客的离开事件,即:b3=c1b0t0b2b1t2t1D2A1A2A3b3c1S1t仿真钟推进到c1,处理第一个顾客的离开事件,目前q2=1,则第二个顾客进入服务,计算其排队等待时间D2=C1-t2=58-47=11,队长q3=q2-1=0,下一最早发生的事件是谁?比较哪几个事件?(1)第二个顾客的离开事件:C2=t2+S2+D2=47+36+11=94(2)第三个顾客的到达事件:T3=t2+A3=47+24=71<C2,所以,下一最早发生事件是第三个顾客的到达事件,即:b4=t3D2b0t0b2b3b1t2t1c1b4t3A1A2A3S1S2t仿真钟推进到t3,处理第3个顾客的到达事件,因为Z3=1,该顾客只能排队等待,从而队长q4=q3+1=1;下一最早发生的事件是谁?比较哪几个事件?(1)第二个顾客的离开事件:C2=t2+S2+D2=47+36+11=94(2)第四个顾客的到达事件:T4=t3+A4=71+40=111>C2,所以,下一最早发生事件是第二个顾客的离开事件,即:b5=c2D2b0t0b2b3b4b1t2t1c1t3A1A2A3S1A4S2b5c2D3t仿真钟推进到c2,处理第二个顾客的离开事件,第三个顾客进入服务,计算其排队等待时间D3=C2-t3=94-71=23,下一最早发生的事件是谁?比较哪几个事件?(1)第三个顾客的离开事件:C3=t3+S3+D3=71+34+23=128(2)第四个顾客的到达事件:T4=t3+A4=71+40=111<C3,所以,下一最早发生事件是第四个顾客的到达事件,即:b6=t4D2b0t0b2b3b4b5b1t2t1c1c2t3b6t4A1A2A3S1S2A4S3D3t仿真钟推进到t4,处理第4个顾客的到达事件,第三个顾客正在接受服务,该顾客排队等待;下一最早发生的事件是谁?(1)第三个顾客的离开事件:C3=t3+S3+D3=71+34+23=128(2)第五个顾客的到达事件:T5=t4+A5=111+22=133>C3,所以,下一最早发生事件是第三个顾客的离开事件,即:b7=c3D2b0t0b2b3b4b5b6b1t2t1c1c2t3t4A1A2A3A4S1S2b7c3A5S3D3D4t仿真钟推进到c3,处理第三个顾客的离开事件,第四个顾客进入服务,计算其排队等待时间D4=C3-t4=128-111=17,下一最早发生的事件是谁?比较哪几个事件?(1)第四个顾客的离开事件:C4=t4+S4+D4=111+28+17=156(2)第五个顾客的到达事件:T5=t4+A5=111+22=133<C4,所以,下一最早发生事件是第五个顾客的到达事件,即:b8=t5D2b0t0b7b2b3b4b5b6b1t2t1c1c2c3t3t4A1A2A3A4A5S1S2S3b8t5S4D3D4t仿真钟推进到t5,处理第5个顾客的到达事件,第四个顾客正在接受服务,该顾客进入排队等待;下一最早发生的事件是谁?比较哪几个事件?(1)第四个顾客的离开事件:C4=t4+S4+D4=111+28+17=156(2)第六个顾客的到达事件:T6=t5+A6=133+30=163>C4,所以,下一最早发生事件是第四个顾客的离开事件,即:b9=c4D2b0t0b7b8b2b3b4b5b6b1t2t1c1c2c3t3t4t5A1A2A3A4A5S1S2S3D3D5D4tb9c4S4A6Youarewrong!!!为什么会出错?因为忽略了程序事件:仿真运行到150个时间单位结束!下一最早发生的事件是谁?比较哪几个事件?(1)第四个顾客的离开事件:C4=t4+S4+D4=111+28+17=156(2)第六个顾客的到达事件:T6=t5+A6=133+30=163,(3)程序事件:Tp=150<C4<T6所以,下一最早发生事件是程序事件,即:仿真程序结束。即:b9=Tp=150D2b0t0b7b8b9b2b3b4b5b6b1t2t1c1c2c3t3t4t5A1A2A3A4A5S1S2S3D3D5D4t150S4A6固定增量时间推进用T表示仿真钟推进的增量(1)若该步内无事件发生,仿真钟推进一个单位时间T(2)若该步内有若干事件发生,则认为这些事件均发生在该步的结束时刻固定增量推进法用于系统事件发生时间具有较强周期性的模型,事件调度法适合于具有较强随机性的离散事件系统的仿真。离散事件系统仿真研究的一般步骤与连续系统仿真类似,包括系统建模,确定仿真算法,建立仿真模型,设计仿真程序,运行仿真程序,输出仿真结果并分析随机数发生器线性同余发生器组合发生器线性同余发生器线性同余发生器举例线性同余发生器线性同余发生器线性同余发生器线性同余发生器一些惯例组合发生器为提高线性同余发生器的性能,将两个独立的线性同余发生器组合起来,即用一个随机数发生器控制另一个随机数发生器产生的随机数,即为组合发生器。优点:减少了线性同余发生器所产生的随机数间的自相关性,提高了独立性;加长发生器的周期,提高随机数的密度,从而提高均匀性。缺点:速度慢,要得到一个随机数,需要产生两个基础的随机数,并执行一些辅助操作。离散事件系统建模要点离散事件系统只在一些离散的时间点上由事件改变其状态,因此它是由事件驱动的。驱动某一离散事件系统的所有事件按其发生的时间先后构成了一个序列,通常要求按时间先后顺序处理事件。关键:按时间顺序确定这一序列。建模的核心:如何组织这些事件。YOURSITEHERE离散事件系统的三种仿真策略活动扫描法进程交互法事件调度法仿真策略事件调度法基本思想:用事件的观点来分析系统,通过定义事件及每个事件发生引起系统状态的变化,按时间顺序确定并执行每个事件发生时有关的逻辑关系。按事件调度法建立模型时,所有事件均放在事件表中。模型中设有一个时间控制成分,该成分从事件表中选择具有最早发生时间的事件,并将仿真钟修改到该事件发生的时间,再调用与该事件相应的事件处理模块,该事件处理完后返回时间控制成分。事件的选择与处理不断地进行,直到仿真终止的条件或程序事件产生为止。TIME仿真时间开始调度第一次到达事件•从事件表中选出最先要执行的事件作为当前事件•将时间TIME拨到当前事件的发生时刻按当前事件类型分支•选择排队线•将顾客插入该排队线•调度下一次到达事件的产生时刻•顾客

1 / 68
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功