[gecode-users] Scheduling A Propagator After Backtrack

Yunus Acikoz yunusacikoz at gmail.com
Wed Apr 20 09:11:11 CEST 2016


Hi,

I would like to know if it's possible to schedule a custom propagator such
that it is immediately propagated after backtracking. I mean something like
executing the code below in the copy function of the propagator:

        auto copy_propagator = new(home)AdvisedPropagator(home, share,
*this);
        Gecode::Int::IntView::schedule(home, *copy_propagator,
Gecode::Int::ME_INT_DOM);


So the newly generated copy of the propagator (without its council being
copied) is scheduled to be run when the search engine turns back to that
node. Does it make sense at all?

I use advisors and they consume too much memory. Each advisor holds the
previous state of the domain of its subscribed view as an IntSet, an unsigned
short index and an enum to keep info about which variable array it belongs
to.
I want to initialize advisors lazily, so that they are only created when
the propagator is actually used. I thought maybe I could do it in
"propagate" function with an initial propagation.

Thanks in advance,
Cheers,
Yunus Acikoz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20160420/a2600c20/attachment.html>


More information about the users mailing list