void BestEverAspirationCriteria::update(const ISolution& decision) { if (decision.getObjectiveValue() < bestObjectiveValue) { bestObjectiveValue = decision.getObjectiveValue(); } }
bool TSPSolution::operator<(ISolution& s) { if((isFeasible() && s.isFeasible()) || (!isFeasible() && !s.isFeasible())) { return static_cast<long long>(1000*getObjectiveValue()) < static_cast<long long>(1000*s.getObjectiveValue()); } else { return isFeasible(); } }