【问题标题】:Anylogic: Why is my SelectOutput with agent variable value condition not working? [duplicate]Anylogic:为什么我的带有代理变量值条件的 SelectOutput 不起作用? [复制]
【发布时间】:2022-02-17 01:27:20
【问题描述】:

我的 Anylogic 模型中有一个 SelectOutput 块,用于测试通过进程块的代理的变量 probabilityhub。如果高于 0.5,则为 false,agent 应该下线。

变量probabilityhubTOD 延迟块中给出,如agent.probabilityhub = 一些公式。我通过在延迟块TOD(如dataset.add(agent.othervariable,agent.probabilityhub);)出口处将变量写入数据集中检查变量是否正确提供给代理,正如您在数据集中看到的那样,它可以工作并且@987654333 @ 有时高于 0.5。但是,如下图所示,SelectOutput 始终为 true,并且没有任何代理出现故障...有谁知道为什么会出现这种情况?

【问题讨论】:

标签: variables conditional-statements probability anylogic agent


【解决方案1】:

延迟块的“退出”动作发生在 selectOutput 条件计算之后,因此,如果您更改退出动作的概率值,则为时已晚......这在任何逻辑中都是违反直觉的,但事情发生在流程的逆序……这很奇怪,但就是这样

所以改为在“退出时打开”操作中计算它,一切都会工作

【讨论】:

  • Felipe 是正确的,这里已经有很多类似的问题,也请检查一下。常见问题:)
猜你喜欢
  • 2020-07-23
  • 2020-06-07
  • 2018-06-01
  • 2022-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
相关资源
最近更新 更多