[gecode-users] Correct ExecStatus to return from propagate?

Peter Tiedemann petert at itu.dk
Sat Apr 7 16:13:46 CEST 2007


Hi,

Im a bit confused as to when exactly i should return the various
ExecStatus from my (n-ary) propagator.

I understand that ES_FAILED means that the propagation failed, ie it
signals a dead-end, so i return that whenever i completely empty a
domain.

I also understand ES_SUBSUMED which i return when my constraint is
entailed by the domains.

However, ES_OK, ES_FIX and ES_NOFIX im not sure if i understand
correctly. If i have pruned all i can unless another propagator
removes more values (without reducing all domains to size 1 or
failing), what should i return? Also, should i return something
specific if i didnt prune any values?

Finally if all domains are reduced to size 1, should i return
ES_SUBSUMED, or something else?

On a related note, does a variable automatically switch to being
assigned when its domain is reduced to a single value?

Thanks,
Peter Tiedemann




More information about the gecode-users mailing list