【问题标题】:Conditional Resource Pools in AnylogicAnylogic中的条件资源池
【发布时间】:2021-06-20 12:56:24
【问题描述】:

我正在尝试制作一个 Seize 块,以根据通过该块的代理类型从不同的资源池中进行选择。

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

image of dynamic value in Resource set

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

其中 ExtensiblesCamabajas3e 是资源池名称。

但我收到错误:“类型不匹配:无法从 ResourcePool 转换为 ResourcePool[][]。”

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

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

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

但我收到错误消息:“vehículo connot besolved or is not a field”但它是代理和资源中的参数。

我做错了什么?我该如何解决?

谢谢。

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    使用同一池的单元而不是(替代)资源发送

    并在代码中这样写:

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

    使用您的第二个选项,您实际上可以使用您所做的,但您需要告诉 anylogic 您的代理类型是什么..

    agent.vehiculo==((ResourceType)unit).vehiculo
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-22
      • 2021-04-04
      • 2021-10-18
      • 2019-10-27
      • 2020-12-02
      • 2018-12-22
      • 2019-08-05
      • 2021-09-15
      相关资源
      最近更新 更多