Opened 3 years ago
Last modified 3 years 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)
- This affects BasicProblem and therefore ProgrammableProblem and also general problems with stochastic evaluators.
- 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
- 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 3 years ago by abeham
comment:2 Changed 3 years 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.
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.