hdbeukel / james-core

Core module of the JAMES framework
Apache License 2.0
6 stars 5 forks source link

Parallel tempering: avoid full re-evaluation when swapping solutions #18

Closed hdbeukel closed 7 years ago

hdbeukel commented 9 years ago

Currently, solutions are swapped between replicas using the method setCurrentSolution(sol). This involves full re-evaluation and -validation of this solution, although its evaluation and validation are in fact already known. Use the protected method updateCurrentAndBestSolution(sol, eval, val) instead to gain efficiency.

hdbeukel commented 7 years ago

Suggested change is not possible because ParallelTempering does not have access to the protected method updateCurrentAndBestSolution(sol, eval, val) from MetropolisSearch (inherited from LocalSearch).

hdbeukel commented 7 years ago

Added new public method setCurrentSolution(sol, eval, val) to Search to allow the suggested enhancement.