Anylogic:为什么我的带有代理变量值条件的 SelectOutput 不起作用?
Anylogic: Why is my SelectOutput with agent variable value condition not working?
我的 Anylogic 模型中有一个 SelectOutput
块,用于测试代理通过流程块的变量 probabilityhub
。如果高于0.5,则为false,agent应该down掉。
变量probabilityhub
在TOD
延迟块中给出,如agent.probabilityhub =
一些公式。我通过将变量写入延迟块 TOD
(如 dataset.add(agent.othervariable,agent.probabilityhub);
)出口处的数据集中来检查变量是否正确地提供给了代理,正如您在数据集中看到的那样,它有效probabilityhub
有时会高于 0.5。但是,如下图所示,SelectOutput
始终为真,none 的代理正在关闭...有人知道为什么会这样吗?
延迟块的“退出时”动作发生在 selectOutput 条件计算之后,因此如果您更改退出时动作的概率值,则为时已晚......这在任何逻辑上都是违反直觉的,但事情以相反的顺序发生……这很奇怪,但就是这样
所以改为在“退出时打开”操作中计算它,一切都会起作用
我的 Anylogic 模型中有一个 SelectOutput
块,用于测试代理通过流程块的变量 probabilityhub
。如果高于0.5,则为false,agent应该down掉。
变量probabilityhub
在TOD
延迟块中给出,如agent.probabilityhub =
一些公式。我通过将变量写入延迟块 TOD
(如 dataset.add(agent.othervariable,agent.probabilityhub);
)出口处的数据集中来检查变量是否正确地提供给了代理,正如您在数据集中看到的那样,它有效probabilityhub
有时会高于 0.5。但是,如下图所示,SelectOutput
始终为真,none 的代理正在关闭...有人知道为什么会这样吗?
延迟块的“退出时”动作发生在 selectOutput 条件计算之后,因此如果您更改退出时动作的概率值,则为时已晚......这在任何逻辑上都是违反直觉的,但事情以相反的顺序发生……这很奇怪,但就是这样
所以改为在“退出时打开”操作中计算它,一切都会起作用