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

Anylogic-由条件触发的代理位置

董胡非
2023-03-14

我在Anylogic的一个模拟中有一个关于代理位置的问题。我想设置一个条件来定义代理在我的模拟的可视化过程中将采取的路径。

在主代理的延迟块中我写了

if(agent.previousStation==1){
    path01;
    }
else {
    path21;
    }

输入“座席位置”字段。

在构建模型时,anylogic向我提供了以下错误:

描述:语法错误,插入“VariableDeclarators”以完成LocalVariableDeclaration。位置:fvmmerkmale/shopfloor/wegzeit1-delay

而且

描述:令牌语法错误,构造错误。位置:FVMmerkMale/ShopFloor-代理类型

在路径前面写“return”也无济于事,并给出不同的错误:

描述:令牌语法错误,构造错误。位置:FVMmerkMale/ShopFloor-代理类型

描述:path21无法解析为变量。位置:fvmmerkmale/shopfloor/wegzeit1-delay

描述:Void方法不能返回值。位置:fvmmerkmale/shopfloor/wegzeit1-delay

描述:代理无法解析为变量。位置:fvmmerkmale/shopfloor/wegzeit1-delay

路径元素在主代理中。使用值编辑器选择正确的路径将起作用。

根据anylogic帮助,可以将代理位置绑定到条件:

否则,如果要在这里为代理设置不同的节点,可以编写一个Java表达式,该表达式将根据某些条件返回不同的节点。https://help.anylogic.com/index.jsp?topic=%2fcom.anylogic.help%2fhtml%2fagentbased%2fcontinuous_layouts.html

如何编写将路径或节点定义为代理位置的条件?

共有1个答案

公羊宗清
2023-03-14

这是正确的代码,这是if语句使用的压缩版本?和:运算符(不使用分号)

agent.previousStation==1 ? path01 : path21

有关这些操作员的更多信息,请访问:http://www.cafeaulait.org/course/week2/43.html

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

  • 我有两个代理,agentA(evStations)(初始位置和编号从数据库加载)和AgentB(eVs)(初始为空,代理数由用户指定)。

  • 我尝试过使用“自定义资源选择”和“资源选择条件”,但没有奏效。

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

  • 我试图创建一个Seize块,根据通过该块的代理类型,从不同的资源池中进行选择。 我的第一次尝试是在抓取块中创建资源集参数的动态引用,如图所示: 资源集中动态值的图像 其中Extensibles和Camabajas3e是资源池的名称。 但我得到了错误:“类型不匹配:无法从ResourcePool转换到ResourcePool[] 我的第二次尝试是将两个资源池都包括在列表中,而是使用参数“资源选择条件

  • 我在引入参数“wire”的代理中创建了一个代理(“handsfree”)。如何使该参数随着模拟的进行而变化,使其自动设置为true或false,以便根据参数“wire”为延迟分配特定的时间。