如何扣押一部分扣押资源?

时间:2019-09-04 17:59:08

标签: anylogic

我有25名代理(运营商)。生成订单时,我抓住了几个操作员,并将它们移动到由订单中的参数确定的许多不同的ProductionSuite之一。

在ProductionSuite中,我有一个ResourcePool类型的变量,我想使用它来让这些操作员执行任务。

enter image description here

在主窗口中,将此代码放在“占用单元:”代码框中:

agent.assignedSuite.suiteOperatorPool.addAgentToContents(unit);

但这会触发NullPointerException错误。我是否使用了不正确的addAgentToContents方法?

1 个答案:

答案 0 :(得分:0)

您尚未初始化suiteOperatorPool变量,它的“初始值”字段为空。因此,这只是ResourcePool类型的空外壳,它无能为力,包括向其中添加代理。

您需要使用ResourcePool API正确地对其进行初始化,但我认为这是不可能的。

此外,您不能像尝试那样使资源成为2个资源池的一部分。您应该考虑解决问题的另一种方法。也许改写这个问题,以便我们考虑其他选择。您可能根本不需要RP,而仅使用纯代理功能...?