Normally you use Planner like this: solver.solve() Solution bestSolution = solver.getBestSolution(); // ... do things with bestSolution Score bestScore = bestSolution.getScore();
But let's suppose we give it 1 millisecond to plan and use a big, uninitialized starting solution and our initialization algorithm actually terminates immediately as requested. It won't be able to completely initialize the solution in that case. What should solver.getBestSolution() return in that case? null or the partially initialized solution? 1) It returns null. So you 'll need to do null checks: Solution bestSolution = solver.getBestSolution(); if (bestSolution == null) { // ... do things with bestSolution Score bestScore = bestSolution.getScore(); } 2) It returns the partially initialized solution. So you'll need to do isBestSolutionInitialized checks: Solution bestSolution = solver.getBestSolution(); if (solver.isBestSolutionInitialized()) { // ... do things with bestSolution Score bestScore = bestSolution.getScore(); } What makes more sense? -- With kind regards, Geoffrey De Smet _______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev