Example #1
0
 private void doMove(ConstructionHeuristicMoveScope moveScope) {
   ScoreDirector scoreDirector = moveScope.getScoreDirector();
   Move move = moveScope.getMove();
   Move undoMove = move.createUndoMove(scoreDirector);
   moveScope.setUndoMove(undoMove);
   move.doMove(scoreDirector);
   processMove(moveScope);
   undoMove.doMove(scoreDirector);
   if (assertExpectedUndoMoveScore) {
     ConstructionHeuristicSolverPhaseScope phaseScope = moveScope.getStepScope().getPhaseScope();
     phaseScope.assertExpectedUndoMoveScore(move, undoMove);
   }
   logger.trace(
       "        Move index ({}), score ({}) for move ({}).",
       moveScope.getMoveIndex(),
       moveScope.getScore(),
       moveScope.getMove());
 }