The guessed model only changes in one variable for every contraction. It might be faster to guess a solution in the beginning and update the model every time the interval of a variable changes. This way the model is always present and does not have to be recalculated every time.
Also: It might be possible to check if all constraints are satisfied more often, which might reduce the overall computation time.
@Verdict7 I think here, it would be more beneficial to separate the methods. We need something like guessAssignment() and checkAssignment(), so we can incrementally check and update our model.
The guessed model only changes in one variable for every contraction. It might be faster to guess a solution in the beginning and update the model every time the interval of a variable changes. This way the model is always present and does not have to be recalculated every time. Also: It might be possible to check if all constraints are satisfied more often, which might reduce the overall computation time.