Random 无法在omnetpp中生成随机数

Random 无法在omnetpp中生成随机数,random,ini,omnet++,Random,Ini,Omnet++,我在NED文件中以这种方式定义了主机流量发送间隔,我希望在每次执行中收到不同的数字: volatile double sendInterval @unit("s") = default(exponential(1s)); 但每次执行都会得到相同的结果,问题出在哪里?这里没有任何问题。这是一个特点。OMNeT++中的任何随机数实际上都是伪随机数。 而且它们确实需要是确定性的,所以每一个实验都可以被精确地重现 请参阅手册部分: 上面写着: 从同一种子开始,RNG总是产生相同的随机数序列。这

我在NED文件中以这种方式定义了主机流量发送间隔,我希望在每次执行中收到不同的数字:

    volatile double sendInterval @unit("s") = default(exponential(1s));

但每次执行都会得到相同的结果,问题出在哪里?

这里没有任何问题。这是一个特点。OMNeT++中的任何随机数实际上都是伪随机数。 而且它们确实需要是确定性的,所以每一个实验都可以被精确地重现

请参阅手册部分:

上面写着:

从同一种子开始,RNG总是产生相同的随机数序列。这是一个有用的特性,非常重要,因为它使模拟运行具有可重复性

要获得不同的值,请尝试在
.ini
文件中为您的配置设置不同的
种子集
,或通过调整
repeat
选项运行多次重复-每次重复都会自动为PRNG设置不同的种子


另请参见:

我需要使用Cmdenv执行500次模拟,每个模拟都有不同的值,我使用的种子集重复设置为500,但发送间隔在所有重复中都保持不变,我该怎么办?单独添加
repeat
将使所有种子都不同。通过同时设置
种子集
选项,您可以覆盖该选项,并为所有运行设置相同的值。