You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vensim's RANDOM_UNIFORM (along with other RANDOM_XYZ functions) have not been implemented yet. SDE should support the most used functions, like RANDOM_UNIFORM, RANDOM_POISSON, and RANDOM_NORMAL. Because they all require a random number generator, the suggestion is to focus on one, RANDOM_UNIFORM, to implement the foundation.
Equation sorting is deterministic in Vensim, but I'm not sure we could readily tell you exactly what the rules are.
Another source of variation is likely to be calls during initialization - anything that causes one more or one less will break symmetry.
The text was updated successfully, but these errors were encountered:
Someone suggested that reproducing Vensim's random number system is "a fool's errand". They suggested having an exogenous stream of random numbers that drives both Vensim and SDE. That would take the algorithm out of the equation, but maybe not the equation ordering.
Some options for implementation:
Try the above exogenous stream of random numbers (external file)
Try to Vensim's algorithm
Just use C's native rand() function
Find a way to capture Vensim's random numbers and save it to a file, which is then read into SDE
Vensim's RANDOM_UNIFORM (along with other RANDOM_XYZ functions) have not been implemented yet. SDE should support the most used functions, like RANDOM_UNIFORM, RANDOM_POISSON, and RANDOM_NORMAL. Because they all require a random number generator, the suggestion is to focus on one, RANDOM_UNIFORM, to implement the foundation.
Vensim's RANDOM documentation, including the algorithm choice, is documented here:
https://www.vensim.com/documentation/noise_rng.html
A link to some code for the algorithm is here:
https://github.com/MersenneTwister-Lab/SFMT
I asked Vensim forums about tips and pitfalls. TomF provided a good reply on this thread here
https://www.ventanasystems.co.uk/forum/viewtopic.php?p=32192
The highlight of the thread is that:
The text was updated successfully, but these errors were encountered: