anylogic - 参数变化:固定,但运行的种子不同
问题描述
所以我用许多概率参数进行了参数变化实验。我使用随机种子,这会产生各种不同的结果,这基本上是我想要的。在我的案例中,一项实验包含 200 次运行。
但是,在随机建模中使用相同的种子进行相同的运行是一种很好的做法,即,当我运行两个实验,每次运行 200 次时,我希望每个实验的第一次运行使用相同的种子,每个实验的第二次运行使用相同的种子进行实验(但与第一次运行不同),第三次......等等直到 200。这意味着我可以将两个实验相互比较,因为它们使用了相同的种子。
我怎样才能做到这一点是 Anylogic?当我使用随机种子选项时,每次运行都会得到不同的种子。当我使用固定种子时,每次都会得到相同的结果,因为从概率参数中选择的值总是相同的。这可以通过在参数变化实验的“随机性”属性中使用“自定义生成器”来实现吗?或者这可以与复制选项一起使用吗?
非常感谢,如果您需要更多详细信息,请告诉我。
解决方案
在“模拟运行之前”下的参数变化实验 --> Java 操作中,您可以为每个复制手动设置种子,
例如root.getDefaultRandomGenerator().setSeed(listOfSeeds.get(getCurrentReplication()));
listOfSeeds 是您的 ParametersVariation 中的一个集合,您可以在界面中或在“初始实验设置”中生成它,它存储每次复制的所有种子。
推荐阅读
- sql-server - 在 Azure SQL 托管实例中替代 xp_cmdshell 来重命名文件?
- python - Python - 从熊猫数据框中提取以前的日期和其他数据
- ios - 如何在 SwiftUI 中向侧边栏项目添加标签附件
- r - ggplot2/ggsurvplot:“element_text()”的矢量化输入不受官方支持
- java - OffsetDateTime 客户解析器
- java - 在编写机器人代码时可以使用 thread.sleep() 吗?
- java - 在已填充的 Integer ArrayList 中设置值?
- wordpress - 使用 htaccess 永久(301)将所有 url 重定向到主页
- python - 如何在列表中附加列表中的元素?
- javascript - 如何使用 vanilla javascript 调用 bootstrap5 模态?