Anylogic - 如何在模拟实验中实现 CRN (Common Random Numbers) 方法?
Posted
技术标签:
【中文标题】Anylogic - 如何在模拟实验中实现 CRN (Common Random Numbers) 方法?【英文标题】:Anylogic - How to implement CRN (Common Random Numbers) method in the simulation experiment? 【发布时间】:2019-06-27 07:43:51 【问题描述】:想在Anylogic仿真软件中实现CRN方法,但是不知道怎么设置。
我的理解是:
1) 我必须创建自己的自定义随机数生成器。
2) 此外,每次模拟复制后,必须从编码中输入指定的种子号(每次模拟运行后种子号都会改变)。
例如:我的模型每次迭代有 5 次复制
运行 #1 种子值 = 10
运行 #2 种子值 = 20
运行 #3 种子值 = 30
运行 #4 种子值 = 40
运行 #5 种子值 = 50
我会将此设置用于两个仿真模型。 如何进行设置?
【问题讨论】:
【参考方案1】:我不完全确定这是否会完全按预期工作...但在实验属性的随机性部分,您可以选择自定义生成器并使用以下内容:
new Random(10+10*getCurrentReplication())
【讨论】:
感谢您的建议。我将尝试在我的模型中实现代码。 输入您建议给我的代码时出现错误。错误是:未为 Simulation 类型定义 getCurrentReplication() 方法。很抱歉再次打扰您....您有什么建议可以解决这个问题吗? 该代码仅对允许复制的实验有用...如果您使用模拟类型,则不能使用复制...。复制实验例如参数变化或蒙特卡罗... 啊,是的,应用参数变化实验的代码没有错误。我很抱歉我的误解。非常感谢!以上是关于Anylogic - 如何在模拟实验中实现 CRN (Common Random Numbers) 方法?的主要内容,如果未能解决你的问题,请参考以下文章