当前位置: 首页 > 知识库问答 >
问题:

Anylogic中的条件资源池

洪知
2023-03-14

我试图创建一个Seize块,根据通过该块的代理类型,从不同的资源池中进行选择。

我的第一次尝试是在抓取块中创建资源集参数的动态引用,如图所示:

资源集中动态值的图像

if(agent instanceof Pala || agent instanceof Torre){
    Extensibles;
}else{
    Camabajas3e;
}

其中Extensibles和Camabajas3e是资源池的名称。

但我得到了错误:“类型不匹配:无法从ResourcePool转换到ResourcePool[]

我的第二次尝试是将两个资源池都包括在列表中,而是使用参数“资源选择条件”和以下代码:

agent.vehículo==unit.vehículo 

是vehículo是流程图中每个代理类型和资源池中每个资源类型内的参数。

但我得到了一个错误:“vehículo无法解决或不是一个领域”,但它是代理和资源内部的一个参数。

我做错了什么?我该怎么解决呢?

非常感谢。

共有1个答案

萧琛
2023-03-14

使用同一池的单位,而不是(替代)资源单位

在代码中写下:

(agent instanceof Pala || agent instanceof Torre) ? Extensibles : Camabajas3e

有了第二个选项,你实际上可以使用你所做的,但是你需要告诉任何逻辑你的代理类型是什么...

agent.vehiculo==((ResourceType)unit).vehiculo
 类似资料:
  • 我用AnyLogic创建了一个简单的模型(见截图)。现在我想添加一个条件,选择服务块中的两个资源集中的一个。例如,以下场景应适用:如果队列中有5个以上的部件,工作人员3和工作人员4应执行服务。如果有的话

  • 我希望源%1的代理使用tool1和tool2。为了实现它,我应该在抓住块中编写什么代码? 如图所示

  • 在一个AnyLogic项目中,在“抓住”块中,我需要从资源集中自定义地选择资源。在“抢占”的属性选项卡中阻止字段“resource Sets”,选中值和标志“Customize resource Choice”。在“资源选择条件”代码部分,我需要做出如下选择: 我如何检查一个资源单元是否来自给定的资源池,然后根据资源的特性区分它们?谢谢你。最诚挚的问候。

  • 我正在解决一个作业车间调度问题,我有20个作业(代理)和5台机器(资源),每个作业作为访问机器的特定顺序。我的问题是:我如何确保每个作业都遵循它的顺序。 这就是我所做的。一个称为“作业”的代理和5个代理,每个代理对应一台机器。一个与每个服务块相关联的资源池。在集合enterblocks中,我选择了5个enter块。 在代理“jobs”中,我有这个。从数据库文件读取的与每个作业相关联的参数,以及我在

  • 我正在研究任何逻辑。假设我有3种代理类型(公、母、猫)(链接中的截图)。 问题:我想让男性和女性“只”到“mandf队列”,猫在selectoutput之后“只”到“c队列”。 我试图在selectOutput的“probability”栏中放一个if语句,但我不知道如何提取代理的名称。我应该使用一个参数吗?比如,如果我有12种代理类型,那该怎么做呢 谢谢你