[gecode-users] SetDelta::glbAny/lubAny

Guido Tack tack at gecode.org
Mon Feb 13 00:22:12 CET 2012


On 8 Feb 2012, at 18:51, Johannes Inführ wrote:

> Thanks for the clarification!
> 
> So how do I determine whether there was no change or there was a change that can not be represented by the delta?
> 
> In your example, there is only a lub change, what would glbAny(), glbMin() and glbMax() return?

They'd still return true, 1, and 0, respectively.  But you can use the function SetView::modevent(d) on your Delta d to find out which modification event caused the advisor to run.  For sets, the ModEvents contain enough information to find out which of the bounds has changed (except if you get ME_SET_VAL, unfortunately).
If you require more exact delta information, you could consider using CachedViews, which store the previous domain and make it easy to iterate over the difference.

Cheers,
Guido

-- 
Guido Tack,
http://www.csse.monash.edu/~guidot/



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20120213/3f6a3e8c/attachment.htm>


More information about the users mailing list