所以我用许多概率参数运行了一个参数变化实验。我使用随机种子,这会产生各种不同的结果,这基本上就是我想要的。在我的案例中,一个实验包含 200 次运行。
但是,在随机建模中,对相同的运行使用相同的种子是一种很好的做法,即当我运行两个每次运行 200 次的实验时,我希望每个实验的第一次运行使用相同的种子,第二次运行每个实验运行使用相同的种子(但与第一次运行不同),第三次……等等直到 200。这意味着我可以将两个实验相互比较,因为它们使用相同的种子。
Anylogic 我怎样才能做到这一点?当我使用随机种子选项时,每次运行都会得到不同的种子。当我使用固定种子时,我每次都会得到相同的结果,因为从概率参数中选择的值总是相同的。 这可以通过在参数变化实验的“随机性”属性中使用“自定义生成器”来实现吗?或者这可以与复制选项一起使用吗?
非常感谢,如果您需要更多详细信息,请告诉我。
最佳答案
在参数变化实验中 --> 在“模拟运行前”下的 Java 操作中,您可以为每个复制手动设置种子,
例如root.getDefaultRandomGenerator().setSeed(listOfSeeds.get(getCurrentReplication()));
listOfSeeds 是您的 ParametersVariation 中的一个集合,您可以在界面中或在“初始实验设置”中生成它,它存储每次复制的所有种子。
关于anylogic - 参数变化 : Fixed, 但运行的种子不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61736879/