[gecode-users] Unexpected propagation/search behaviour

Christian Schulte schulte at imit.kth.se
Fri Feb 3 14:17:01 CET 2006


How do you remember. Globally? That you can't do. You have to remember for
each space (like: does this space already have the propagators posted). Do
you do that? 

Otherwise your logic appears to be flawed somehow. It looks as if you
continue with spaces that lack the propagators! 

Sorry that's all what comes to mind
Christian

--
Christian Schulte, http://www.imit.kth.se/~schulte/ 

-----Original Message-----
From: Lars Otten [mailto:ottenl at student.chalmers.se] 
Sent: Friday, February 03, 2006 1:39 AM
To: schulte at imit.kth.se; users at gecode.org
Subject: Re: [gecode-users] Unexpected propagation/search behaviour


Hi,

On 01/25/06 13:36, Christian Schulte wrote:
> I meant to simplify your program to find the fault. Maybe try to 
> incrementally go for the solution you want to obtain in the end (just 
> remebering for some propagators but not for all, maybe exclude 
> element?).

I did as you suggested and was thereby able to determine the 'critical'
part. As soon as I do not perform the 'remembering' for the first of the two
element propagators posted in each run of Tunneling::propagate(Space*) I get
the different behaviour mentioned before.

In other words, reposting the element propagators for the IntVarArray suc
makes the program find a solution rather quickly, not reposting those makes
the program run 'forever' (i.e. more than a few minutes, at which point I
aborted).

I also added some diagnostic output to the constructors and destructors of
the element propagator and as expected the two versions start out the same.
Just after the first few element propagators being posted the
non-remembering version posts the constraints for some indices over and over
again whereas the remembering version doesn't...

Any more ideas about this? I am really at a loss here...

/Lars





More information about the gecode-users mailing list