Anylogic - statechart - 持续设定值

问题描述 投票:0回答:1

我正在尝试用系统动力学模拟蒸汽网络。 有一股股票A流入股票B. 我已经实现了一个状态图,其状态为“FillLevelMin”,“FillLevelOk”和“FillLevelMax”。当状态图进入某个状态时,我希望它影响流的大小。到现在为止,我已经使用了set_Parameter(数字)。如果我想将流量设置为恒定量,例如1000。

但是,只要状态为“FillLevelMax”,我就想将流设置为动态变量。现在,当输入状态时,流程将采用动态值的值,并保持这种状态。但是,只要状态图处于“FillLevelMax”状态,我就希望流程根据动态变量更新它的值。

不知道这是否可能?

java anylogic setvalue statechart
1个回答
0
投票

是的,有一种称为“内部过渡”的优雅方式。将您的州设置如下:enter image description here

确保状态内的转换是100%,并将超时设置为一个令人满意的值(对于您的情况,相当频繁,但请记住,重新评估此项的频率越高,模型得到的速度就越慢)。将其设置为仍然可接受的最不频繁的重复。

在操作代码中,您可以更新流量值。

PS:请注意,无论您多久更新一次,这仍然是一种离散的方法,而不是像系统动力学本身那样连续!

© www.soinside.com 2019 - 2024. All rights reserved.