トランスポート ネットワークのシミュレーション プログラムを実行しています。ラムダ率の毒分布を持つバスステーションに乗客が到着することをシミュレートしたいと考えています。
実際、私のプログラムの構想では、到着日の 2 つのリストが必要です。1 つ目は乗客の到着予定日と見なされ、2 つ目は乗客の実際の到着日と見なされます。
到着時刻を生成するために、ブーストを使用して次のコードを使用しました。
<blink>
double lambda(Lambda1); //mean of Poisson distr
boost::mt19937 rnd_gen; //Mersenne Twister generator
typedef boost::variate_generator<
boost::mt19937, boost::poisson_distribution<>
> rnd_poisson_t;
rnd_poisson_t rnd_poisson( rnd_gen,
boost::poisson_distribution<>( lambda ) );
rnd_poisson = rnd_poisson_t( rnd_gen,
boost::poisson_distribution<>( lambda ));
for(int i = 0; i <size;i++)
{
value=rnd_poisson();
tab[i]= rnd_poisson();
i++;
}
</blink>
問題は、このコードを異なるリストに使用して、同じ Lambda と同じリスト サイズの到着日を生成すると、常に同じ数値が生成されることです。
この世代で特定のバリエーションを作成して、生成された 2 つのリストが少し異なるようにするにはどうすればよいですか?