为 ResourcePool 设置多个计划

Setting up multiple schedules for a ResourcePool

我在做一个生产线的模拟,是通过Excel搭建的。 现在有一个,每台机器需要自由设置工人班次,一共三班。

我的想法是创建三个不同的Schedules,分别代表三个班次,然后在ResourcePool中,使用If语句设置每个班次的使用。如图enter image description here

但是没有用。如果可以的话,请问Java语句是不是有问题或者思路有问题。 可以的话,请问如何在ResourcePool中设置多个schedule?

问题补充: 该模型是对生产系统进行评价,工人的班次是一个重要的评价参数。我想做的是直接在Excelsheet中输入工人的班次,ResourcePool识别并使用相应的Schedule。

我试过通过代码生成对应的Schedule,但是无法动态设置Resourcepool的Schedule。所以我想尝试在模型中手动输入多个Schedule,然后像图片一样通过If语句在ResourcePool中设置相应的Schedule。

提前致谢

首先你需要知道的是,你放置代码的位置是一个静态参数,因此它只在创建对象时计算一次,而不是连续检查。

当您将鼠标悬停在将输入字段从代码更改为值的按钮上时,小弹出窗口表明了这一点

如果它是动态的,它将声明动态值而不是静态值

其次,在该字段中,您必须使用三元运算符,而不是 if 语句,以便公式的结果是预定对象,否则您将收到“错误放置的构造”错误

如果您将代码更改为

v_Shift == "Shift1" ? 
s_Shift1 : v_Shift == "Shift2" ? s_Shift2 : s_Shift3

它会起作用但是:

  1. 它只会在创建对象时进行计算,不会再次计算
  2. 而不是在字符串上使用 ==,总是使用 .equals(),在字符串上它可能有效,但有时可能无效。您可以研究一下原因 ;-)

解决方案:您将不得不使用一个函数来更改资源池的时间表。每当 v_Shift 变量改变时调用此函数