[gecode-users] Advisor implementation

Gustavo Gutierrez gutierrez.gustavo at uclouvain.be
Wed Apr 1 17:53:33 CEST 2009

Gustavo Gutierrez

On Wed, Apr 1, 2009 at 5:24 PM, Christian Schulte <cschulte at kth.se> wrote:
> Hi,
> You inherit from UnaryPropagator with propagation condition PC_INT_DOM: that means that the propagator is executed each time its variable changes! That is just the normal behavior of a propagator of this subclass: the propagator subscribes to the variable with the given propagation condition and cancels its subscription when it becomes subsumed.
> To make use of advisors you have to _not_ subscribe so that you can control scheduling by an advisor. That's possible by passing the (phoney) propagation condition PC_INT_NONE instead: no subscriptions are created.

Thank you very much. So in conclusion, you can control the scheduling
of a propagator _only_ if you get rid of the propagation conditions
(and then the way it is subscribed)  and implement it manually inside
the advise method. I was thinking that with an advisor you could do
some kind of fine tuning of the scheduling for the propagator. That
means, the propagator kept their original propagation conditions but
after the advisor execution it could be marked to avoid its execution.


More information about the gecode-users mailing list