带百分比的代理参数

问题描述

我是 Anylogic 的新手。 我正在尝试模拟在机器 1 上处理的组件。这里:

  • 30% 被切割成 10 毫米,需要 10 分钟
  • 20% 被切割成 20 毫米,需要 5 分钟
  • 在 30 毫米内切割 30%,需要 3 分钟。

我知道在 Arena 我会使用“决定”和“分配”模块。 在AnyLogic中,我想过将尺寸作为参数,但我不知道如何放置百分比。 我如何为这个系统建模?

非常感谢。

解决方法

延迟块的“持续时间”字段中的简单条件语句,例如:

randomTrue(0.3) ? 10: randomTrue(0.2) ? 5 : 3

这假设您不关心个人的实际切割,而是进行随机分配。如果这是一个好的假设,则取决于您的模型。

如果不是,您将需要使用 double 类型的参数 myCut 存储流经块的代理中的切入。然后在 Delay 块中,您将使用以下方法进行检查:

agent.myCut == 10 ? 10 : agent.myCut == 20 ? 5 : 3

还假设您设置的时间单位正确。