[gecode-users] search engine and space state

Guido Tack tack at gecode.org
Tue Jul 20 18:44:51 CEST 2010


Kish Shen wrote:
> I am looking at some possible (non-default) behaviour with the ECLiPSe interface to Gecode. By default, (full) propagation happens after any `events' (calls to Gecode, approximately) that may change the state. It is implemented as a separate event, so it is possible to delay propagation so that multiple events can be posted without propagation.
> However, looking at the code carefully now, it seems possible for a Space to not have propagated when I try to clone it, and also when I create a search engine for s Space.
> 
> In the documentation, it is stated that a Space must be stable and non-failed for cloning -- by stable I think this means there has been a full propagation. There is no corresponding requirement in the documentation (I looked at both the reference doc and MPG) about Space there, but cloning of space is mentioned, so am I correct in thinking that the Space needs to be stable and non-failed when a search engine is created for it (even if you are not cloning)?

If you use the default Gecode search engines, they will always make sure that the space is stable before beginning the search (i.e., before calling clone() for the first time).  They will also work on failed spaces.  If you clone the space yourself, you must make sure it is stable (by calling status()) before doing so, and check that it's not failed.

Cheers,
	Guido

-- 
Guido Tack, http://people.cs.kuleuven.be/~guido.tack/




More information about the users mailing list