[gecode-users] Meaning of exception
Patrick Pekczynski
pekczynski at ps.uni-sb.de
Tue Oct 2 07:46:29 CEST 2007
Hi Debdeep:
I guess the others will already know that, but at least for the second
part of your problem
> what(): Space::clone: Attempt to invoke operation on failed space
> Aborted
>
>
I probably have a small hint to point you at.
During propagator development for Gecode I sometimes ran into exactly
the very same exception.
And the problem for me was always the following:
The propagator I 've been implementing did some reasoning on the domains
of problem variables, that is
it modified them. But at some point (at the initial development phase)
the reasoning was simply wrong, so
the semantics of the constraint were not fulfilled and these
modifications resulted in a failed space, which
could not lead to a solution anymore.
Now HERE comes the tricky part :-)
Somehow, my propagator implementation forgot to check for exactly this
failed space and tried to
go on with computation on the failed space, what you definitely want to
avoid.
Since I do not know exactly what you are doing I can just guess that you
are writing your own propagator
for some nice constraint. So all you have to do is to ensure, that at
any point, where you are modifying the
domains of the problem variables, your propagator does check, whether
this modification resulted in a failure or not.
If you are aware of all these points, then I can promise you, that you
won't get such an exception again. :-D
More information about the gecode-users
mailing list