Anylogic - 记录资源池活动

问题描述

我在 anylogic 中有一个作业车间调度模型,我想为资源池(机器)绘制甘特图。在资源池操作部分存在一个称为关于单元状态更改内容,在资源池的帮助下,它表示该字段有一个相关联的繁忙变量。

Here is the help of resource pool.

我虽然我可以在这个字段中做一个 while 循环,以便当 busy 变量为真时我将值 1 添加到我的数据集中,而当忙为假时我添加值 0。但问题是当我运行我的使用 while 循环的模型我没有收到任何错误,但我的模型不再运行。

Here is the while loop.

如果有人知道该怎么做,请帮忙。提前致谢。

解决方法

是的,如果条件成立,while 循环很容易杀死模型。

您需要了解,只要池中的任何资源更改其状态,就会执行代码。

所以你不应该使用 while 循环,而应该使用一个简单的 if 语句:

if (unit.equals(theUnitMyGanttChartCaresAbout) {
    if (busy) {
        // tell Gantt chart that "unit" started being busy
    } else {
        // tell Gantt chart that "unit" started being idle
    }
}