我的一个Anylogic模拟中有关于代理位置的问题。我想设置一个条件来定义代理将在模拟的可视化中采用的路径。
在我写的主代理的延迟块中
if(agent.previousStation==1){
path01;
}
else {
path21;
}
进入座席位置字段。
构建模型时,anylogic会向我显示以下错误:
描述:语法错误,插入“VariableDeclarators”完成 LocalVariableDeclaration。地点:FVMMerkmale / shopfloor / wegzeit1 - 延迟
和
描述:令牌上的语法错误,错位的构造。 地点:FVMMerkmale / shopfloor - 代理类型
在路径前面写“return”也无济于事,并给出了不同的错误:
描述:令牌上的语法错误,错位的构造。 地点:FVMMerkmale / shopfloor - 代理类型
描述:path21无法解析为变量。地点: FVMMerkmale / shopfloor / wegzeit1 - 延迟
描述:Void方法不能返回值。地点: FVMMerkmale / shopfloor / wegzeit1 - 延迟
描述:代理无法解析为变量。地点: FVMMerkmale / shopfloor / wegzeit1 - 延迟
路径元素位于主代理中。使用值编辑器选择正确的路径将起作用。
根据anylogic帮助,可以将代理位置绑定到条件:
否则,如果要在此处为代理设置不同的节点,则可以 编写一个Java表达式,它将依赖于返回不同的节点 一些条件。 https://help.anylogic.com/index.jsp?topic=%2Fcom.anylogic.help%2Fhtml%2Fagentbased%2FContinuous_Layouts.html
如何编写将路径或节点定义为代理位置的条件?
答案 0 :(得分:0)
这是正确的代码,这是if语句的压缩版本使用?和:运算符(不使用semicollon)
agent.previousStation==1 ? path01 : path21
有关这些运营商的更多信息: http://www.cafeaulait.org/course/week2/43.html