问题描述
我有一个供应链交付模拟的模拟,其中三个车辆代理从制造商转移到客户,该模型基于 AnyLogic 网络研讨会,用于使用 GIS 进行交付车队优化。并且流程图逻辑是这样设置的:
我试图从模拟中提取一些时间。其中一个时间是代理两次旅行之间的时间,因此需要找到代理在模拟期间没有移动的时间,理想情况下,这将对每辆车单独完成或提供平均类型的事情。
我在这里看到了一个例子:TimeMeasurementStart and End 在讨论它的地方,您可以使用代码来收集时间数据而不是块,但是如果有人有任何提示,那么有关所需代码的细节或代码去向的一些帮助将非常有帮助!
我的假设是,如果我可以这样说: 总时间 - 移动的时间 = 不移动的时间
任何帮助都会被感谢! 娜塔莎
解决方法
@Benjamin 提议的替代方案是在退出时执行:
agent.timeDriving+=time()-agent.getBlockEnterTime()
,
首先,确保您的卡车是您自己创建的自定义代理类型,我们将它们称为 @objc
func showChatController(notification: Notification) {
print("DEBUG: show chat controller here..")
}
。此外,您的 Truck
块必须知道它是 MoveTo
代理流过它(将“高级”下的“代理类型”设置为 Truck
)
向其中添加一个变量 Truck
和另一个 timeDriving
。前者用于对所有驾驶持续时间求和。后者用于临时测量何时开始行驶。