AnyLogic中Service Block排队时间测量报错:queueStartTime无法识别
Service Block排队时间测量报错解决方案
问题原因
你在on enter动作里定义的queueStartTime是局部变量,作用域只限于on enter动作内部,on seize动作的代码无法访问这个变量,所以触发“无法解析”的报错。
解决步骤
- 给流程中的智能体(Agent)添加一个
double类型的参数,命名为queueStartTime。 - 修改Service Block的
on enter动作代码:agent.queueStartTime = time(); - 修改Service Block的
on seize动作代码:double queueTime = time() - agent.queueStartTime; - 继续将
queueTime关联到你的统计量,运行即可正常统计排队时间。
补充说明
如果有多个Service Block需要测量排队时间,重复上述步骤即可——每个智能体的参数是独立存储的,不会出现数据混淆的问题。
内容的提问来源于stack exchange,提问作者Hoa Nguyen
相关产品推荐
相关产品推荐

