I want to remove all randomization from my Repast model so that I can refactor with confidence that functionality is unchanged. However, I was unable to remove randomization by setting the seed using RandomHelper.setSeed(1)
at the top of myBuilder.build()
, and making sure that my 'Default Random Seed' parameter seed was set to 1
in the GUI at initialization.
So, I tried to remove randomization from the sample JZombies model and had the same issue. Again, I set RandomHelper.setSeed(1)
at the top of JZombiesBuilder.build()
, and made sure the Default Random Seed was set to 1
. Sometimes the output was identical, sometimes it was not.
In both cases I'm using a Text Sink to record a constant number of ticks of aggregate agent counts and aggregate agent attributes as my data. I found differences in the output files using both Windows's FC
& FCIV
.
What changes do I need to make to ensure deterministic behavior?
Edit:
I got deterministic behavior in the JZombies demo model by also putting RandomHelper.setSeed(1);
at the top of each class's constructor. Doing the same thing in my actual model makes the first step consistently identical. There are still differences from the second tick on. I think the issue is random scheduling, now?