Java代码,用于在两种类型的代理满足条件时选择两个资源池,并将一个资源池连接到另一种类型的代理

Java代码,用于在两种类型的代理满足条件时选择两个资源池,并将一个资源池连接到另一种类型的代理,java,conditional-statements,resources,pool,anylogic,Java,Conditional Statements,Resources,Pool,Anylogic,我正在尝试根据代理设置资源池选择条件 我需要分配给类型1资源池A,以及其余两种类型的其他资源。(作为旁注,这是为了在剩下的两种类型的代理上,可以分配任何资源,并且它基于优先级参数) 我需要这样的东西: agent.type==1? resoursePool_A : (resoursePool_B , resoursePool_C ); 或 agent.type==1? resoursePool_A : resoursePool_B && resoursePool_C ;

我正在尝试根据代理设置资源池选择条件

我需要分配给类型1资源池A,以及其余两种类型的其他资源。(作为旁注,这是为了在剩下的两种类型的代理上,可以分配任何资源,并且它基于优先级参数)

我需要这样的东西:

agent.type==1? resoursePool_A : (resoursePool_B , resoursePool_C );

  agent.type==1? resoursePool_A : resoursePool_B && resoursePool_C ;
我尝试了很多方法,但只有这段代码可以实现:

agent.type==1? resoursePoolA : agent.type==2? resoursePoolB : nursesTypeMS;
但是,这不是我需要的,因为这会将池A分配给类型1,将池B分配给类型2,将池C分配给类型1


有关于如何编码的提示吗?

也许可以使用两个抓取块来实现此功能?当代理进入时,它们被一个SelectOutput块分隔为两个流:
agent.type==1
流进入一个抓取块(我们称之为抓取1),该块只从resourcePoolA获取资源,所有其他代理(即1、2)被发送到另一个抓取块(我们称之为抓取2)从resourcePoolB或resourcePoolC中选择

或者,您可以使用三元表达式,如下所示:

agent.type==1?resourcespoola:randomFrom(List.of(resourcespoolb,resourcespoolc));

上面将为类型1的代理选择resourcePool a,并为所有其他类型的代理从B或C中随机选择。

为了澄清,是打算让类型2和类型3的代理随机获得resourcePool B或resourcePool C,还是存在确定性条件?首选先抓住类型2,然后抓住类型3。(这已经通过资源选择/具有最高评级/其中评级=类型的单元完成),并且工作正常。然而,如果它是随机的,那么考虑模拟中的差异也很有趣。太棒了!这真是奇迹!