微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AnyLogic:如何测量总忙/闲时间?

如何解决AnyLogic:如何测量总忙/闲时间?

我一直在尝试使用 Resource Function timeInState(ResourceUsageState.USAGE_BUSY,TimeUnits.Hour) 来衡量机器忙碌的时间。这是我使用 HorasExtra 作为变量的方法

Approach

我收到此错误:类 com.anylogic.engine.Agent 无法转换为类 horas_extra.M1_Extra(com.anylogic.engine.Agent 和 horas_extra.M1_Extra 位于加载程序“app”的未命名模块中)

我真的很想使用ResourceFunctions,但我想我遗漏了一些东西。我很可能没有完全理解这一点:“代理占用的资源可以通过代理的不可修改的 LinkedList resourceUnits 集合访问”

AnyLogic 或其他网站上没有关于该主题的更多信息。请指教。谢谢!

解决方法

我找到了我的问题的解决方案,我想与大家分享,以防万一它对某人有帮助,或者有任何我应该被警告的事情。

  1. 我创建了一个资源类型 M1_Extra(这将是我的机器)。
  2. 在 M1_Extra 中,我定义了:a) 变量:Extra,b) 函数:fnBusy,c) 事件:fnUpdate
  3. 在 fnBusy 中:Extra= timeInState(ResourceUsageState.USAGE_BUSY,TimeUnits.HOUR);
  4. 在 fnUpdate 中:fnBusy();
  5. 然后,在 Main 我创建了:a) 变量:HE
  6. 在资源池中,发布时:HE = ((M1_Extra)unit).Extra; 和单位类型M1_Extra

这样您就可以访问资源功能。谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。