首页 > 解决方案 > 在 AnyLogic 中测量系统中批次所花费的时间

问题描述

在一个批处理被取消批处理,然后在保持批处理大小的同时再次批处理几次的过程中,您如何衡量该批处理在某个流程图中所花费的时间。鉴于当代理未批处理和批处理时,使用“timeMeasureStart/End”不起作用,就像从头开始创建一个新代理一样。尝试为批处理代理类型添加开始和结束时间变量也不起作用,因为在取消批处理然后再次批处理后,变量会重新初始化。为了证明这一点,我在下面添加了四张图片。

流程图

批次属性

批次 1 属性

结果

这是模型下载链接https://wetransfer.com/downloads/a7550e58151c3ee38b16ceb27281c48220200713170914/2e6da6

标签: anylogic

解决方案


Batch只需使用您使用的和Unbatch元素内的代码块。

在您的代理中创建一个变量进行批处理/非批处理,例如totalTime. 也是一个变量,衡量它在操作中花费的单个时间,例如currentTimeBatching.

然后,根据需要单独添加它们,可能像: 在此处输入图像描述

(具体取决于您的模型设置,这是执行此操作的一般方法)


推荐阅读