Cancel
Showing results for 
Search instead for 
Did you mean: 

Random random numbers generation

Pioneer
Pioneer

Normal random numbers are calculated in Plant Simulation based on the algorithm: MRG63k3a+. The advantage of those calculated pseudo random numbers is that the same simulation run can create predictable results after a reset, so the user can find out if changes are resulting from a change in the model or from the stochastic influence.

If you want to create an unpredictable random number e.g. for encryption or password generation you can use the system time as a start value. With two lines of code you can create your own random number based on the system time:

 

is

 i:integer;
 do
  i:= round(timeOfDay(sysdate)*1000);
  i:=i\\10+1; --calculates the modulo of i, result will be in the range 1-10

end;

 

You might use this as the random number stream: z_uniform(i,1,100);

 

The random number generator  in Plant Simulation 11.0 is using the Algorithm: MRG63k3a+ with a period length of 2exp 377
(algorithm developed for  64-Bit) This might improve statistical properties  e.g. (uniformity of the distribution, period length)

How good is the new Random number generator?

Assuming an eight core, 3GHz i7 CPU could  generate 24.000.000.000 (24billion) random numbers per second.
The CPU could generate 7.6*10 exp 17 random numbers per year

The age of the universe is 13.8 billion years. Starting from the big bang until today we would have used 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000338 % of the random number period length!

random_numbers.jpg

Contributors