public void solve(final HttpSession session) {
final Solver solver = (Solver) session.getAttribute(VrpSessionAttributeName.SOLVER);
VrpSchedule unsolvedSolution = (VrpSchedule) session.getAttribute(VrpSessionAttributeName.SHOWN_SOLUTION);
solver.setPlanningProblem(unsolvedSolution);
solver.addEventListener(new SolverEventListener() {
public void bestSolutionChanged(BestSolutionChangedEvent event) {
VrpSchedule bestSolution = (VrpSchedule) event.getNewBestSolution();
session.setAttribute(VrpSessionAttributeName.SHOWN_SOLUTION, bestSolution);
}
});