Opened 19 months ago

Last modified 19 months ago

#2511 new defect

Results for problems with stochastic objective function are not reproduceable when using parallel engine (random parameter in Evaluate())

Reported by: gkronber Owned by:
Priority: high Milestone: HeuristicLab 4.0
Component: Optimization Version: 3.3.12
Keywords: Cc:

Description (last modified by gkronber)

  1. This affects BasicProblem and therefore ProgrammableProblem and also general problems with stochastic evaluators.
  2. Evaluate can be called concurrently and random is not thread-safe. This can easily lead to bugs in Evaluate() implementations of BasicProblems. This is also true for ProgrammableProblems
  3. Synchronized access to random is necessary but does not solve the problem completely as the results depend on the order of execution.

Change History (2)

comment:1 Changed 19 months ago by abeham

I don't think this is a problem specific to the BasicProblem. The same problem arises if you use a stochastic evaluator in a HeuristicOptimizationProblem.

comment:2 Changed 19 months ago by gkronber

  • Description modified (diff)
  • Summary changed from Results for BasicProblems are not reproduceable when using parallel engine (random parameter in Evaluate()) to Results for problems with stochastic objective function are not reproduceable when using parallel engine (random parameter in Evaluate())

Yes. We generally don't support reproducing results for problems with stochastic objective functions .

Note: See TracTickets for help on using tickets.