为 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
它会起作用但是:
- 它只会在创建对象时进行计算,不会再次计算
- 而不是在字符串上使用
==
,总是使用 .equals()
,在字符串上它可能有效,但有时可能无效。您可以研究一下原因 ;-)
解决方案:您将不得不使用一个函数来更改资源池的时间表。每当 v_Shift
变量改变时调用此函数
我在做一个生产线的模拟,是通过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
它会起作用但是:
- 它只会在创建对象时进行计算,不会再次计算
- 而不是在字符串上使用
==
,总是使用.equals()
,在字符串上它可能有效,但有时可能无效。您可以研究一下原因 ;-)
解决方案:您将不得不使用一个函数来更改资源池的时间表。每当 v_Shift
变量改变时调用此函数