【问题标题】:AnyLogic: How can I measure total busy/idle time?AnyLogic:我如何测量总忙/闲时间?
【发布时间】:2021-08-21 01:56:59
【问题描述】:

我一直在尝试使用 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 或其他网站上没有关于该主题的更多信息。请指教。谢谢!

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    我找到了我的问题的解决方案,我想分享一下,以防它对某人有帮助,或者如果有什么我应该被警告的。

    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

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

    【讨论】:

    • 正确。这称为“Java 类型转换”,检查一下 :) 干得好
    猜你喜欢
    • 2021-03-03
    • 2019-04-16
    • 1970-01-01
    • 2020-02-04
    • 2020-09-09
    • 1970-01-01
    • 2021-11-18
    • 2019-04-19
    • 2018-12-13
    相关资源
    最近更新 更多