public void updateBestSolution(
     DefaultSolverScope solverScope, Solution solution, int uninitializedVariableCount) {
   if (uninitializedVariableCount == 0) {
     if (!solverScope.isBestSolutionInitialized()) {
       solverScope.setStartingInitializedScore(solution.getScore());
     }
   }
   solverScope.setBestUninitializedVariableCount(uninitializedVariableCount);
   solverScope.setBestSolution(solution);
   solverScope.setBestScore(solution.getScore());
   solverScope.setBestSolutionTimeMillis(System.currentTimeMillis());
   solverEventSupport.fireBestSolutionChanged(solution);
 }
 public void setPlanningProblem(Solution planningProblem) {
   solverScope.setBestSolution(planningProblem);
 }