Value bestVal = (Value)ToolBox.random(best);
if (sLog.isDebugEnabled()) {
Set conflicts = model.conflictValues(bestVal);
double wconf = (iStat==null?0.0:iStat.countRemovals(solution.getIteration(), conflicts, bestVal));
sLog.debug(" [tabu] "+bestVal+" ("+(bestVal.variable().getAssignment()==null?"":"was="+bestVal.variable().getAssignment()+", ")+"val="+bestEval+(conflicts.isEmpty()?"":", conf="+(wconf+conflicts.size())+"/"+conflicts)+")");
}
if (iTabu!=null) iTabu.add(tabuElement(bestVal));
return bestVal;