只是想知道是否有人知道如何在 Omnet++ 中手动指定分发的种子。例如,使用 omnetpp.ini 文件如下:
[Config PacketProject]
network = PacketProject
**.stopTime = 5000s
PacketProject.webServer.interArrivalTime = exponential(0.025s)"
提前致谢!
只是想知道是否有人知道如何在 Omnet++ 中手动指定分发的种子。例如,使用 omnetpp.ini 文件如下:
[Config PacketProject]
network = PacketProject
**.stopTime = 5000s
PacketProject.webServer.interArrivalTime = exponential(0.025s)"
提前致谢!
单击 INI 文件。不要使用源模式视图,只需停留在表单模式视图上。
单击左侧的“随机数”。在那里你可以指定种子。之后,您可以切换到源模式视图并查看那里添加了什么。
分布使用带有种子的 RNG 根据所选分布生成随机值。
显然,改变种子,你会产生不同的值。
默认情况下,Omnet++ 只定义一个带有一个种子的 RNG。
您可以通过以下方式在文件 omnet.ini 中定义与 RNG(注意单词集)关联的种子集:
repeat = number_of_repetition
seed-set = ${repetition}
现在,omnet 会自动将这组种子与您的 RNG 相关联(因此您的模拟将重复 number_of_repetition 次)。
您还可以通过这种方式在文件 omnet.ini 中定义多个 RNG:
num-rngs = number_of_RNGs
现在,omnet 会自动将一组种子关联到您定义的每个 RNG。
假设您定义了 2 个 RNG;您可以通过以下方式将 RNG 与文件 omnet.ini 中的分发相关联:
PacketProject.webServer.interArrivalTime = exponential(0.025s, 0)
注意第二个参数,它指定选择的 RNG 的数量。
在 OMNeT++ 网站上,有这篇文章解释了如何设置随机数生成器算法以及如何播种 RNG。