在 Anylogic 中编写停止条件

Posted

技术标签:

【中文标题】在 Anylogic 中编写停止条件【英文标题】:Writing a Stop condition in Anylogic 【发布时间】:2016-10-07 20:02:51 【问题描述】:

我是anylogic的新手,我想为模拟写一个停止条件,然后保存最终值: 我有一些存量和流量,我希望当我的一个存量值达到特定值时,模拟停止,然后保存所有值;

    我应该在哪里写条件? 在这种情况下停止模拟的语句是什么? 如何保存这些值?

谢谢:)

【问题讨论】:

【参考方案1】:
    有几个地方是可能的。最简单的可能是 Main 上的重复事件,它在每个合适的时间单位检查条件。 试试这个:

if (myStock > myMaxValue) getEngine().stop(); // you can also use .finish(), see help to decide which is better for you

    再次,有几个选项。可能最容易将它们存储到内置数据库中(您可以要求在模型末尾将其写入外部 Excel)。建议您在帮助中阅读它,在那里设置和存储数据非常容易。

干杯

【讨论】:

Tnx 为您提供帮助 :) 我想写这个 if ( root.ag1 您需要将其写入模型中的某个位置,最好是写入 Main 上的 Event(根据我的回复)。查看帮助以了解实验的用途以及它们与实际模型有何不同:-) 谢谢,我得到了答案,问题解决了。:) 我不建议为停止条件创建循环事件。您可以在退出或进入任何代理时将此条件写入模拟中的任何块,这将使您可以实时控制模拟运行时间。

以上是关于在 Anylogic 中编写停止条件的主要内容,如果未能解决你的问题,请参考以下文章

if 条件不会停止启用

MySql 条件停止脚本执行

满足条件后,While循环不会停止

我应该在哪里写 Anylogic 中动态变量的 if 条件?

如何停止在 MySQL 中执行完整的存储过程?

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