[gecode-users] List of pruned values

Guido Tack tack at gecode.org
Fri Feb 3 09:07:48 CET 2012


Hi Matthew,

Gecode does not keep track of domain modifications on that level.  The first thing I'd try is whether iterating through the variables is really too expensive.  After all, checking whether the domain has changed is really cheap - just compare the domain sizes before and after (accessing them is constant time).

If iteration is prohibitively expensive, you have to implement a custom propagator that doesn't implement a constraint but simply "listens" to domain modifications.   It would be posted for all variables you're interested in, create advisors to be notified of modifications (so that it doesn't have to iterate), and simply record that information in an external data structure.  It doesn't ever have to be scheduled for propagation.  Our tutorial documentation should contain all the information to get you started.  Note that this approach also incurs an overhead, because each modification needs to be recorded somewhere, but that's just unavoidable.

Cheers,
Guido

On 3 Feb 2012, at 15:14, Matthew Kitching wrote:

> Hi all,
> 
> After calling "status" is it possible to get a list of all the domain values pruned, or even a list of all the variables who had their domains pruned? I am able to iterate through all variables and compare their domains, but this is of course, not very fast.
> 
> Thanks a lot, 
> 
> Matthew
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users

-- 
Guido Tack, http://people.cs.kuleuven.be/~guido.tack/




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20120203/51825de9/attachment.htm>


More information about the users mailing list