Re: [gecode-users] branching and copy in Gecode

2012-10-28 Thread Guido Tack
There is no direct event or notification for backtracking. But your propagator could have a pointer to the shared data structure (see chapter 27.3 in MPG), and both the data structure and the propagator could have a "time stamp". When the propagator gets copied, you increment the time stamp in

Re: [gecode-users] branching and copy in Gecode

2012-10-28 Thread Jun He
Hi, Thank you for your explanation. I want all the instances of my propagator to share the data structure instead of making a copy, as storing the data structure needs too much memory. Hence I want my propagator to rollback the data structure when a backtracking happens. Is there an event t

Re: [gecode-users] branching and copy in Gecode

2012-10-27 Thread Guido Tack
Hi, backtracking always jumps back to a copy and then recomputes the node that it actually wants to jump to. So you can maintain your propagator data structures incrementally, as long as they're copied (or marked for recomputation) during cloning. See chapter 7.2 in MPG for a more detailed ex

[gecode-users] branching and copy in Gecode

2012-10-27 Thread Jun He
Hi, In Gecode, copy doesn't happen for every branching of the search tree, and whenever a failure happens it just backtracks to a node between the current failure node and the previous copied node. If a propagator works dependent on some data structure, and the backtrack jumps to a node that