首页 理论教育 仿真钟的推进

仿真钟的推进

时间:2023-02-12 理论教育 版权反馈
【摘要】:对每一类事件,仿真模型有相应的事件子程序。每一个事件记录包含该事件的若干个属性,其中事件类型是必不可少的,要根据事件类型调用相应的事件子程序。在事件子程序中,处理该事件发生时系统状态的变化,进行用户所需要的统计计算;如果是条件事件,则应首先进行条件测试,以确定该事件是否确能发生。该事件子程序处理完后返回时间控制部件。固定增量推进法主要用于系统事件发生时间具有较强周期性的模型。

仿真钟的推进方法是离散事件系统仿真的基础,其方法有两大类:一类是按下一最早发生事件的发生时间推进,亦称为事件调度法;另一类是固定增量推进方法。

在事件调度法中,事件表按事件发生时间先后顺序安排事件。时间控制部件始终从事件表中选择具有最早发生时间的事件记录,然后将仿真钟修改到该事件发生时刻。对每一类事件,仿真模型有相应的事件子程序。每一个事件记录包含该事件的若干个属性,其中事件类型是必不可少的,要根据事件类型调用相应的事件子程序。在事件子程序中,处理该事件发生时系统状态的变化,进行用户所需要的统计计算;如果是条件事件,则应首先进行条件测试,以确定该事件是否确能发生。如果条件不满足,则推迟或取消该事件。该事件子程序处理完后返回时间控制部件。

这样,事件的选择与处理不断地进行,仿真钟不断地从一个事件发生时间推进到下一最早发生事件的发生时间,直到终止仿真的条件或程序事件发生时停止仿真。

除了按事件调度法推进仿真钟以外,早期的离散事件系统仿真也采用过另一种推进方法,即固定增量时间推进,选择适当的时间单位作为仿真钟推进时的增量,每推进一步进行如下处理:

①该步内若无事件发生,则仿真钟再推进一个单位时间;

②若在该步内有若干个事件发生,则认为这些事件均发生在该步的结束时刻。为便于进行各类事件处理,用户必须规定当出现这种情况时各类事件处理的优先顺序。

这种方法的缺点是显而易见的。首先,仿真钟每推进一步,均要检查事件表以确定是否有事件发生,增加了执行时间。其次,该步任何事件的发生均认为发生在这一步的结束时刻,如果选择过大,则会引入较大的误差;而且要求用户事先确定各类事件的处理顺序,增加了建模的复杂性。

固定增量推进法主要用于系统事件发生时间具有较强周期性的模型。对于大多数离散事件系统来说,由于一般都具有较强的随机性,故均采用事件调度法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈