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++ は 1 つのシードが関連付けられた 1 つの RNG のみを定義します。次のようにして、ファイル omnet.ini で RNG に関連付けられたシードセット
(set という単語に注意)
を定義できます。
repeat = number_of_repetition
seed-set = ${repetition}
これで、omnet は自動的にこの一連のシードを RNG に関連付けます (その結果、シミュレーションは number_of_repetition 回繰り返されます)。
次の方法で、ファイル omnet.ini に複数の RNG を定義することもできます。
num-rngs = number_of_RNGs
これで、omnet は、定義した各 RNG に一連のシードを自動的に関連付けます。
2 つの RNG を定義したとします。次のようにして、ファイル omnet.ini で RNG をディストリビューションに関連付けることができます。
PacketProject.webServer.interArrivalTime = exponential(0.025s, 0)
選択した RNG の数を指定する 2 番目の引数に注意してください。
OMNeT++ Web サイトには、乱数ジェネレーター アルゴリズムの設定方法と RNG のシード方法を説明する記事があります。