首页 > 解决方案 > 参数变化:固定,但运行的种子不同

问题描述

所以我用许多概率参数进行了参数变化实验。我使用随机种子,这会产生各种不同的结果,这基本上是我想要的。在我的案例中,一项实验包含 200 次运行。

但是,在随机建模中使用相同的种子进行相同的运行是一种很好的做法,即,当我运行两个实验,每次运行 200 次时,我希望每个实验的第一次运行使用相同的种子,每个实验的第二次运行使用相同的种子进行实验(但与第一次运行不同),第三次......等等直到 200。这意味着我可以将两个实验相互比较,因为它们使用了相同的种子。

我怎样才能做到这一点是 Anylogic?当我使用随机种子选项时,每次运行都会得到不同的种子。当我使用固定种子时,每次都会得到相同的结果,因为从概率参数中选择的值总是相同的。这可以通过在参数变化实验的“随机性”属性中使用“自定义生成器”来实现吗?或者这可以与复制选项一起使用吗?

非常感谢,如果您需要更多详细信息,请告诉我。

标签: anylogicseed

解决方案


在“模拟运行之前”下的参数变化实验 --> Java 操作中,您可以为每个复制手动设置种子,

例如root.getDefaultRandomGenerator().setSeed(listOfSeeds.get(getCurrentReplication()));

listOfSeeds 是您的 ParametersVariation 中的一个集合,您可以在界面中或在“初始实验设置”中生成它,它存储每次复制的所有种子。


推荐阅读