void CVRPSolver::applyBestMoveInCurrentSolution(CSolutionInfo& curSolution, CMoveInfo& bestMove) { ++m_iGeneratedSolutionCount; ++m_iStepsSinceLastSolution; updateTabuCount(bestMove); int totalTour = static_cast<int>(bestMove.getModifiedTourCount()); for (int i = 0; i < totalTour; ++i) { CTourInfo tourInfo; bool bIsValid = bestMove.getModifiedTourAt(i, tourInfo); if (bIsValid) curSolution.replaceTour(tourInfo); } updateFinalSolution(curSolution); }