第十三章离散事件系统仿真策略离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法 主要术语:(1 )成分(Component):相应于系统中的实体,用于构造模型中的各个部分,可分为两大类: 主动成分(Active-type Component):可以主动产生活动的成分如排队系统中的顾客,它的到达将产生排队活动或服务活动被动成分(Pasive-type Component):本身不能激发活动,只有在主动成分作用下才产生状态变化 (2 )描述变量:成分状态、属性的描述3)成分间的相互关系:描述成分之间相互影响的规则在一个模型中,主动成分对被动成分可能产生作用,而主动成分之间也可能产生作用C={ /. 2,…,』成分集合"是第i个成分分量()Ca={/. 2,…,加}主动成分子集“是第丿个主动成分分量⑴ CP={/. 2,…,/} 被动成分子集必是第k个被动成分分量(1)一个模型中, n=m+lS 所有成分的状态变量,值域为 P={Pb P2,…,Pn} 参数(属性)集合成分的状态下一发生变化的时刻,值域为成分在状态变量值为S时的条件是否满足,=true,表示满足,=false表示不满足。
TIME模型仿真钟的值,值域为13.1 事件调度法(Event Scheduling)事件调度法基本思想:用事件的观点来分析真实系统,通过定义事件及每个事件发生引起系统状态的变 化,按时间顺序确定并执行每个事件发生时有关的逻辑关系所有事件均放在事件表中模型中设有一个时间控制成分,该成分从事件表中选择具有最早发生时间的事件,并将仿真钟修改到该事件发生的时间,再调用与该事件相应的事件处理模块,该事件处理完后返回时 间控制成分这样,事件的选择与处理不断地进行,直到仿真终止的条件或程序事件产生为止策略的非形式描述:成分集合:主动成分集,被动成分集描述变量:描述每一主动成分的变量,的状态值域,下一变化时刻的时间变量描述每一被动成分的变量,的状态,值域(被动成分的状态变化只有在主动成分作用下才能发生,其发生时间由主动成分来确定,因而不需要时间变量) 描述所有成分的属性的变量:参数集合P={Pb P2, Pr}成分间的相互关系每个主动成分的影响受主在作用下其状态变化的描述,称为事件处理流程;各成分处理的优先级,即同时发生时的处理顺序(解结规则)注意,在事件调度法中,一般主动成分也同时具有被动成分属性,以便接受其它主动成分的作用。
事件调度法算法如下:执行初始化操作,包括: 置初始时间t=to,结束时间 事件表初始化,置系统初始事件 成分状态初始化(*第i类事件处理程序对成分的状态变化进行建模,而且要进行统计计算)上2执行第2类事件处理程序/=m执行第m类事件处理程序操作事件表,包括取出具有事件记录修改事件表推进仿真钟TIMEn⑸ While(TIME<=)则执行Case根据事件类型i/=1执行第1类事件处理程序*endcase取出具有事件记录**(**若具有事件记录有若干个,则按解结规则处理 )置仿真时间TIMEK(s)endwhile***(***该算法中未包括仿真结束后对结果的分析等内 容)13. 2 活动扫描法(Activity Scanning)事件调度法中仿真钟的推进仅仅依据准则,而该事件发生的任何条件的测试必须在该事件处理程序内 部去处理如果条件满足,该事件发生,否则,则推迟或取消该事件发生从本质上来说,事件调度法是一种“预定事件发生时间”的策略这样,仿真模型中必须预定系统中下最先发生的事件该策略对于活动持续时间确定性较强(可以是服从某种分布的随机变量)的系统是比较方便的当事件的发生不仅与时间有关,而且与其它条件有关,即只有满足某些条件时才会发生。
在这种情况下 ,事件调度法策略的弱点则表现出来了,由于这类系统的活动持续时间的不确定性,因而无法预定活动的开 始或终止时间活动扫描法的基本思想是:用活动的观点建模系统由成分组成,而成分包含着活动,这些活动的发 生必须满足某些条件;每一个主动成分均有一个相应的活动子例程;仿真过程中,活动的发生时间也做为条件之一,而且是较之其它条件具有更高的优先权设表示成分在系统状态S下的条件是否满足(=疗如则表示满足,=false则表示不满足),表示成分的状 态下一发生变化的时刻,活动扫描法每一步要对系统中所有主动成分进行扫描,当:(i)仿真钟当前值TIME,且(ii)Mw时,执行该成分的活动子例程所有主动成分扫描一遍后,则又按同样顺序继续进行扫描,直到仿真结束显然,活动扫描法由于包括了对事件发生时间的扫描,因而它也具有事件调度法的功能实现措施:1・设置系统仿真钟TIME与成分仿真钟系统仿真钟表示系统的仿真进程的推进时间,而成分仿真钟则记录该成分的活动发生时刻,两者的关系可能有三种情况:(i) >TIME表示该活动在将来某一时刻可能发生;(ii) =TIME表示该活动如果条件满足则应立即发生;(iii)