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/
_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users