Hi Kish, Well, dom() and the integer variants of rel() propagate in the sense that they immediately modify the variable domain and schedule some propagators for later execution. However, they do not lead to full constraint propagation computing a fixpoint. The invariant is that only execution of the status() function of a space computes a fixpoint. So they are dirt cheap, much cheaper than creating a propagator for them.
When you post constraints many of the propagators posted also modify some variable domains to enforce some invariants they will rely on when they actually propagate (think about element which ensures that the domain of the index variables corresponds to available indices in the array). Should I clarify this in MPG? Cheers Christian -- Christian Schulte, web.ict.kth.se/~cschulte/ -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Kish Shen Sent: Friday, July 16, 2010 6:55 PM To: [email protected] Subject: [gecode-users] posting instead of propagating domain constraints? Hi, Is there anyway to post propagators for domain constraints for IntVar (including setting it to a single value), without doing the propagation? I've just noticed from the manual that most dom() constraints (as well as rel() between an IntVar and an int) propagates, instead of just posting the propator. The main reason I ask is that I do recomputation manually, by posting changes to a Space ('events', such as adding constraints) without propagation until all recorded events are posted, which should be more efficient than performing propagation every time. I use rel() when ECLiPSe sets a variable to a value, which happens frequently during search. If this propagates as the manual suggest, am I correct that this can make the recomputation more expensive? I noticed the reified versions of dom() do not propagate -- is this one way of avoiding propagation? 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 _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
