[Model] Strange fine tune condition
Summary
Using the brute force optimization (i.e. DISCRETE) there is some strange condition for which a worse solution might be accepted (see StepCircleOptimizerDiscrete line 71):
fineTuneCondition = (Math.abs(currentPotential - potential) <= 0.0001 && random.nextBoolean());
followed by
if (currentPotential < potential || fineTuneCondition) { potential = currentPotential; nextPos = currentPosition; }
which means that if there is a solution which is worse 0.0001 than the current solution there is a 50% chance that this solution will be used. By my opinion this seems to be a dirty fix for some issue in the past (the line is there since the initial commit).
The error appeared after using a random seed while setting the standard deviation to zero everywhere and using a fixed agent positions which should result in the same results for all simulations which was not the case.
I removed that line using a new branch (dev/removeFineTuneCondition) and I would merge this change into the master if everybody (@hm-kleinmei @hm-mgoedel @hm-lehmberg ) agrees.