[gecode-users] Reification

Christian Schulte cschulte at kth.se
Mon Apr 27 18:12:57 CEST 2009



1.       It is really an equivalence: so what it actually says (your example
slightly simplified) is (x != y+c) ó b=1. If b=0 it will assert x == y+c,
and if b=1 it will assert x != y+c. I am not sure whether this answers your

2.       Well depends on what you want to express, when you post xi == yi +
c ó b=1 for the same b for all i it means that if b=0, it must hold for all
i that  xi != yi +c and likewise if b=1, it must hold for all i that xi = yi
+ c. If you want to have Boolean control variables that make a statement
just for a particular i you have to create a new Boolean variable for each


Hope that helps




Christian Schulte, www.it.kth.se/~cschulte/


From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Joe Porter
Sent: Monday, April 27, 2009 5:21 PM
To: users at gecode.org
Subject: [gecode-users] Reification


I have a few questions about reification (I'm still using Gecode 2.2.0, but
will upgrade soon):

1. Can I do open-ended reification?  
For example, if I post a linear constraint ((x=y+c) <=> ~b) and no alternate
(for b true) will this either assert the linear constraint or assert b, or
do I have to have another clause for the b case? 

2. Can I use the same BoolVar to reify groups of contraints?
For example, if I have (xi=yi+c) for i=1..n, can I post them all with the
same b?

-Joe Porter
ISIS, Vanderbilt University

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20090427/fee9923a/attachment.htm>

More information about the gecode-users mailing list