Fix CLP termcode to LP_TIME_LIMIT only in the case a limit has been set #209
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CLP declares "maximum iteration limit reached" also when the time limit is reached. Moreover, when the iteration limit is set to, e.g.,
ITER_LIMIT
andsi->isIterationLimitReached() == True
, it may happen thatsi->getIterationCount() < ITER_LIMIT
.While this issue seems related more to CLP than SYMPHONY, it has been addressed in PR #199 by declaring
term = LP_TIME_LIMIT
when this inconsistency happens.Here is proposed a more "robust" solution, by checking that at least a time limit has been previously set to CLP.
This PR fixes issue #206.