[gecode-users] Unexpected propagation/search behaviour

Lars Otten ottenl at student.chalmers.se
Fri Feb 3 15:44:14 CET 2006


On 02/03/06 13:17, Christian Schulte wrote:
> How do you remember. Globally? That you can't do. You have to remember for
> each space (like: does this space already have the propagators posted). Do
> you do that?

Sort of, yes: I don't remember for the individual spaces but for each
instance of my tunneling propagator (which in turn each space has exactly
one instance of).

Each of these tunneling instances has fields of type set<int> that
'remember' if the respective element propagator has been posted.

And clones of these fields are made upon cloning of the tunneling propagator
-- also clones of the existing element propagators should be made upon space
cloning, so the overall state should remain consistent.

> Otherwise your logic appears to be flawed somehow. It looks as if you
> continue with spaces that lack the propagators!

Yes, that was my thought as well -- but, apart from when a space fails,
propagators should only 'disappear' if they return ES_SUBSUMED, i.e. the
resp. variables have been fixed and the implied constraint is satisfied. And
then reposting the propagator shouldn't make a difference.

Is it possible for a propagator to vanish although it is not subsumed yet?

/Lars





More information about the gecode-users mailing list