After 4 days of debugging mysterious behavior, I believe to have found a bug in the Linear invariant implementation. Below is a test case which should pass, but doesn't. It is an NQueens model with 2 moves performed on it, and transitions through the following assignments.
From the testcase we can see the AllDifferent constraints actually produce the correct results. However, at the end of the test case, the error becomes obvious: 2 + 1 + 1 != 2. From my time spent in the debugger it seems like the _localVarArray does not stay up to date with the actually variable values.
After 4 days of debugging mysterious behavior, I believe to have found a bug in the
Linear
invariant implementation. Below is a test case which should pass, but doesn't. It is an NQueens model with 2 moves performed on it, and transitions through the following assignments.From the testcase we can see the
AllDifferent
constraints actually produce the correct results. However, at the end of the test case, the error becomes obvious:2 + 1 + 1 != 2
. From my time spent in the debugger it seems like the_localVarArray
does not stay up to date with the actually variable values.