在 Anylogic 中灵活更改模拟持续时间

Flexibly change simulation duration in Anylogic

我有一个只有一个代理的系统动力学模型。我可以设置模拟的持续时间,对于我的情况,一个示例值是 120 个月。如果我想尝试不同的持续时间,比如 24 个月或 240 个月,我该怎么办?在实验的“模型时间”属性中更改它似乎很麻烦,因为您每次都必须停止实验。

对于其他模型输入,我在开始屏幕上创建了滑块并将它们绑定到变量上的模型参数。这样我就可以移动滑块,运行 使用播放按钮进行模拟,然后使用停止按钮返回开始屏幕并调整值。结束时间也可以这样做吗?

该模型是从 Vensim 转换而来的,其中有一个名为 FINAL_TIME 的变量,您可以在 SyntheSim 模式下通过滑块以交互方式更改该变量。这就是我要找的东西,除了 SyntheSim 功能在 Anylogic 中不可用。

两种方式..

您可以在模型初始化时使用函数 getEngine().setStopTime(tstop);,其中 tstop 是模拟停止的时间参数

或者您可以使用事件并设置事件在灵活的时间触发并在操作中使用 finishSimulation()。这使您甚至可以随时更改运行时的模拟时间。