[gecode-users] posting instead of propagating domain constraints?

Christian Schulte cschulte at kth.se
Fri Jul 16 19:15:30 CEST 2010


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: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Kish Shen
Sent: Friday, July 16, 2010 6:55 PM
To: users at gecode.org
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
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users




More information about the users mailing list