[gecode-users] Constraint posting side effects
Anton Dries
anton.dries at cs.kuleuven.be
Thu May 15 17:36:41 CEST 2014
We found the problem. It's in one of our custom constraint propagators.
Adding the (inactive) constraint changes the variable selection order (we use INT_VAR_DEGREE_MAX) and that changes the behaviour of the propagator.
Anton
On 15 May 2014, at 15:03, Anton Dries <anton.dries at cs.kuleuven.be> wrote:
> Hi all,
>
> We are working on a complex program based on Gecode (complex in a sense that it generates models on-the-fly and post dynamic constraints during solving).
>
> We have run into a bug that we find hard to explain.
> I have narrowed it down to posting a single constraint:
>
> void postConstraint(Space& home, IntVarArray iva, int i) {
> BoolVar p(home,0,1);
> rel(home, iva[i], IRT_EQ, 0, p);
> }
>
> We get a different set of results depending on whether we call this function or not.
> My question is: what are the side effects of posting such a constraint?
> Or, more specific:
> - As I understand, it shouldn't change the set of results because the variable 'p' is not constrained. Is this correct?
> - Could posting this constraint change the order in which results are found?
>
> I'm sorry for the vagueness of this question, but the bug is very hard to reproduce and I just want to rule out any misconceptions I might have about what is supposed to happen here.
>
>
> Best regards,
> Anton
>
> --
> dr. ir. Anton Dries
> Post-doctoral researcher
> Dept. of Computer Science
> DTAI/ML - KU Leuven
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
More information about the users
mailing list