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 to notify the propagator (or
some policy to make the propagator detects) when a backtracking happens?
Best regards,
Jun
On 28/10/12 01:24, Guido Tack wrote:
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 explanation of recomputation.
Cheers,
Guido
On 28/10/2012, at 2:23 , Jun He <[email protected]
<mailto:[email protected]>> wrote:
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 is not copied, then the data structure should be
recomputed. My question is how to maintain the data structure
incrementally for the propagator? Is there an easy setting to make
Gecode copy at each branching, so that a simple undo policy can be
used to maintain the data structure?
Best regards,
Jun
_______________________________________________
Gecode users mailing list
[email protected] <mailto:[email protected]>
https://www.gecode.org/mailman/listinfo/gecode-users
--
Guido Tack,
http://www.csse.monash.edu/~guidot/
<http://www.csse.monash.edu/%7Eguidot/>
_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users