微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AnyLogic if 条件选择输出

如何解决AnyLogic if 条件选择输出

我正在使用 anylogic 对生产线进行建模。两种药剂通过同一个传送带进行处理和运输。两个 Agent 需要在一个服务站中花费不同的延迟时间。因此,我添加了两个并行服务,现在我想将到达传送带的代理分类到相应的服务站。

flowchart

Agent1 需要去 service,Agent2 需要去 serviceT。 我为两个代理分配了参数,Agent1 的布尔参数“S”设置为 true,Agent2 的相同参数设置为 false。 为了对 selectOutput 块中的 Agent 进行排序,我输入了 if 条件 agent.S == true,如下面的屏幕截图所示。

selectOutput

Anylogic 提示如下错误:“未解决的编译问题:S 无法解析或不是字段”

我该怎么办?

谢谢!

解决方法

我想分两部分回答这个问题:

  1. 与其使用 selectOutput 为同一站的不同延迟时间建模,不如让一个服务代表那个站更合理。要模拟不同的时间,请将延迟时间设置为 agent.S,其中 S 是每个代理的延迟时间。

  2. 无论您选择我建议的还是您已经使用的,您仍然会遇到相同的错误。出现此错误的原因很可能是您没有正确指定通过 select 输出的代理类型。实际上,如果您查看共享的选择输出属性的图像,在“高级”选项卡下,代理类型设置为默认类型Agent。确保将其替换为包含参数 S 的代理类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。