levelsLength = -1;
}
public boolean isAccepted(LocalSearchMoveScope moveScope) {
LocalSearchPhaseScope phaseScope = moveScope.getStepScope().getPhaseScope();
Score lastStepScore = phaseScope.getLastCompletedStepScope().getScore();
Score moveScore = moveScope.getScore();
if (moveScore.compareTo(lastStepScore) >= 0) {
return true;
}
Score moveScoreDifference = lastStepScore.subtract(moveScore);
double[] moveScoreDifferenceLevels = ScoreUtils.extractLevelDoubles(moveScoreDifference);
double acceptChance = 1.0;
for (int i = 0; i < levelsLength; i++) {
double moveScoreDifferenceLevel = moveScoreDifferenceLevels[i];
double temperatureLevel = temperatureLevels[i];