solver.setPlanningProblem(unsolvedSolution);
List<SolverStatistic> statisticList = getOrCreateStatisticList(unsolvedSolutionFileToStatisticMap, unsolvedSolutionFile);
for (SolverStatistic statistic : statisticList) {
statistic.addListener(solver, solverBenchmark.getName());
}
solver.solve();
result.setTimeMillisSpend(solver.getTimeMillisSpend());
Solution solvedSolution = solver.getBestSolution();
result.setScore(solvedSolution.getScore());
for (SolverStatistic statistic : statisticList) {
statistic.removeListener(solver, solverBenchmark.getName());