0

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

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

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

4

1 回答 1

0

两种方式..

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

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

于 2020-07-14T10:24:07.777 回答