05A 仿真策略与事件调度_第1页
05A 仿真策略与事件调度_第2页
05A 仿真策略与事件调度_第3页
05A 仿真策略与事件调度_第4页
05A 仿真策略与事件调度_第5页
已阅读5页,还剩15页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

事件调度仿真策略与系统仿真概述离散事件系统仿真基础随机观测模拟输入数据建模仿真算法设计仿真结果分析一、仿真策略概述二、事件调度法三、关键问题四、总结本节内容事件、活动与进程三者间关系仿真算法是确定仿真钟推进策略的控制方法,是仿真控制的核心。进程事件1事件2事件n-1事件n活动1活动2活动m…………一、仿真策略概述①从临时实体和永久实体的角度看:临时实体与某永久实体的开始接触、最终离开该永久实体都是事件;临时实体从开始接触某永久实体到最终离开该永久实体就可以看作一个活动;临时实体从进入系统(至少有一个永久实体)到最终离开,整个过程就是进程;②从仿真钟角度:事件是对应时间点(时刻)的;活动和进程均是对应时间段的;进程是多个有序的活动组成的。一、仿真策略概述对应的仿真策略(算法)主要有三种:事件调度法是面向事件的,记录事件发生的过程,处理每个事件发生时系统状态变化的结果。活动扫描法是面向活动的,记录每个活动开始与终止的时间,从而记录了实体从一种状态变为另一种状态的过程。进程交互法是面向进程的。它记录着每个进程推进的过程。进程交互法采用交叉推进的方法,推进每个进程,最终完成全部进程的推进,即完成系统的全部运行过程。一、仿真策略概述事件调度法,英文EventScheduling,简记为ES,

活动扫描法,英文ActivityScanning,简记为AS;

进程交互法,英文ProcessInteraction,简记为PI;事件调度法针对时刻点逐个处理;活动扫描法和进程交互法则需要针对时间段逐个处理;基于上述三种策略的组合也是可以的,比如三段扫描法,英文为ThreePhase(简记为TP);本节主要介绍事件调度法的基本算法思想。一、仿真策略概述事件调度法最早出现在1963年兰德公司的Markowitz等人推出的SIMSCRIPT语言的早期版本中。基本思想:它以事件为分析系统的基本单元,通过定义事件及每个事件发生对系统状态的影响,按时间顺序确定并执行每个事件发生时有关的逻辑关系并策划新的事件来驱动模型的运行。二、事件调度法算法例程main(){inti,j,k;scanf(“Thefirstnumberis:”,&i);scanf(“Thescondnumberis:”,&j);k=i+j;printf(“Thesumofthetwonumbersis:%d”,k);getch();}定义变量变量初始化(数据输入)结果输出数据处理二、事件调度法主程序输入仿真控制参数调用初始化子程序调用时间控制程序调用事件子程序调用输出子程序结束仿真结束?1、修改系统状态;2、修改统计计数器;3、产生将来事件加到事件表。是否①②③1、根据统计计数器进行统计分析;2、打印输出报告。报告产生器1、仿真钟初始化;2、系统状态初始化;3、事件表初始化;4、统计计数器初始化。初始化子程序1、操作事件表,确定下一最早发生事件;2、推进仿真钟。时间推进子程序②事件调度法的仿真钟采用变步长的推进方法。每推进一次仿真钟,对每一个事件发生所引起的系统状态变化进行处理和记录。事件调度法的基本部件包括事件表、时间控制程序和事件处理子程序。事件表按时间的顺序存放所发生的事件,以及这些事件的相关属性。时间控制程序根据事件发生的间隔推进仿真钟。事件处理子程序处理每种事件发生时系统状态所发生的变化。二、事件调度法基本算法:(1)初始化:需要初始化的对象包括成分状态、事件表、系统初始事件、统计计数器置0、仿真钟开始时间t0和结束时间tE等(2)t(s)=min{t|CA}的事件记录(3)修改事件表(4)推进仿真钟TIME=t(s)(5)执行事件子程序(6)仿真结束否(TIME≥tE)?否则转第(2)步,是则生成报告,仿真结束。二、事件调度法

二、事件调度法循环部分程序流程表示为:

While(TIME<T

)则执行

case根据事件类型

i=1执行1类事件

i=2执行2类事件

………i=m执行m类事件

endcase

取出具有t(s)=min{t|CA}的事件记录置仿真时间TIME=t(s)endwhile1、变量定义初始化之前还有一件事,叫做变量定义;在仿真平台操作时,拖放对象设置其属性就是在定义变量。在运行前平台需要将其进行梳理分类,通常可以概括成主动成分、被动成分,确定它们的状态、变化范围(值域)以及参数等;在仿真步骤的“系统调研”里提到的结构关系、工艺关系、处理优先级、解结规则等都会在开始运行前得到判断确认,仿真模型才能运行起来。三、关键问题2、系统成分通常我们可以把主动成分的概念与临时实体对应起来,英文单词Active,比如机器加工系统中的工件,自动化立体仓库中的料箱;被动成分可与永久实体对应起来,英文单词Passive,比如前面两个例子中的机器加工系统、自动化立体仓库等。通常主动成分可以主动产生事件,被动成分在主动成分作用下产生状态变化,所以事件调度法中常用主动成分施加作用。三、关键问题3、动态变量通常在程序开始前定义的变量都是静态的。随着仿真规模越来越大,静态变量需要定义很多,虽然有些变量用一次就一直不用了,但仍然会占用内存,影响内存高效利用,降低仿真效率。为了解决这个问题,算法中会用到动态变量的概念,在我们这里的事件表处理中很适用,前面有些执行过的事件就不再使用内存了,腾给后面要执行的事件。三、关键问题后续用动画展示三、关键问题事件调度法仿真策略与事件调度法基本算法变量定义流程图结果输出仿真策略三个要素系统成分循环部分时段变量/初始化四、总结动态变量时刻三种策略事件活动、进程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论