如何解决AnyLogic:如何测量总忙/闲时间?
我一直在尝试使用 Resource Function timeInState(ResourceUsageState.USAGE_BUSY,TimeUnits.Hour)
来衡量机器忙碌的时间。这是我使用 HorasExtra 作为变量的方法:
我收到此错误:类 com.anylogic.engine.Agent 无法转换为类 horas_extra.M1_Extra(com.anylogic.engine.Agent 和 horas_extra.M1_Extra 位于加载程序“app”的未命名模块中)
我真的很想使用ResourceFunctions,但我想我遗漏了一些东西。我很可能没有完全理解这一点:“代理占用的资源可以通过代理的不可修改的 LinkedList resourceUnits 集合访问”。
AnyLogic 或其他网站上没有关于该主题的更多信息。请指教。谢谢!
解决方法
我找到了我的问题的解决方案,我想与大家分享,以防万一它对某人有帮助,或者有任何我应该被警告的事情。
- 我创建了一个资源类型
M1_Extra
(这将是我的机器)。 - 在 M1_Extra 中,我定义了:a) 变量:
Extra
,b) 函数:fnBusy
,c) 事件:fnUpdate
。 - 在 fnBusy 中:
Extra= timeInState(ResourceUsageState.USAGE_BUSY,TimeUnits.HOUR);
- 在 fnUpdate 中:
fnBusy();
- 然后,在 Main 我创建了:a) 变量:
HE
- 在资源池中,发布时:
HE = ((M1_Extra)unit).Extra;
和单位类型M1_Extra
这样您就可以访问资源功能。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。