Hi Kish, IntSet can only take values 0 and 1 otherwise a NotZeroOne exception will be thrown (actually undocumented I see now) . If both values are in IntSet nothing needs to be done if l equals 0 and u is greater or equal to q, if this is not the case the constraint can not be true. I don't map the more integer version onto 1 (boolean version) but the boolean version on the integer version, basically one implementation independent of (bool or integer) view and type of variable.
hope this helps, David >>> From: Kish Shen <[email protected]> To: David Rijsman <[email protected]> CC: <[email protected]> Date: 8/19/2010 3:21 PM Subject: Re: [gecode-users] algorithm used in sequence constraint David Rijsman wrote: > Hi Kish, > > it is indeed possible to remove the IntSet s argument in the sequence > constraint for boolean variables but we choose to explicitly state what value > we are counting and use the IntSet for the following reason, I quote from > Christian: > > "we never use the C++ type bool for Boolean values as Boolean variables also > take integer values. And also choosing a set makes it easier to interface > and just forget about the fact whether one is using IntVar or BoolVar." > > David > Hi David, So I assume the IntSet s can only take the values 0 and 1 for the BoolVar case, and is really only useful if it has either 1 or 0 only? [If it has both 0 and 1, then all variables must take those values] In the ECLiPSe version, there seems to be a more fundamental reason why the 0/1 (ECLiPSe 'boolean' version) version counts 1 -- the algorithm is implemented using this version, i.e. the more general version is actually mapped onto the 0/1 version. Is this also the case in your version? Thanks and cheers, Kish -- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message. Cisco Systems Limited (Company Number: 02558939), is registered in England and Wales with its registered office at 1 Callaghan Square, Cardiff, South Glamorgan CF10 5BT. _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
