[gecode-users] order in calls to status and commit...

Sébastien Mouthuy smouthuy at gmail.com
Tue May 29 10:51:25 CEST 2007




Le mardi 29 mai 2007 à 11:35 +0200, Christian Schulte a écrit :
> Hi,
> 
> I am not so sure that creating branchings in the commit function of another
> branching actually works. As Guido said, we never anticipated this scenario.
> As I have some more time at the end of the week, I'll have a look.
> 
> Can you send as a very small program that shows the problem?
the version I have now is not that small. I will try to write some
simple CSP and branching that post each other in order to reproduce the
problem.
> 
> Also, which search engine did you use? DFS or BAB?
BAB.

> 
> How did you post the branchings? Via the post function or by using the
> constructor? If the constructor, I hope you did not use the constructor
> reserved for cloning.
I use the post function.

> 
> Also, there might be a completely different way how to use multiple
> branchings that create each other: have a single "master" branching that
> controls the other branchings. But that would require quite some heavy
> setup.
yes. That's right. 

I have another question: posting propagators in the commit function of
one Branching is acceptable ? The fact is that I would like to delay a
heavy propagator taht does not do a lot of pruning high in the search
tree, but is very useful down in the tree.
> 
Thanks for your help.

sebastien

> Cheers
> Christian
> 
> --
> Christian Schulte, http://www.imit.kth.se/~schulte/ 
> 
> -----Original Message-----
> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
> Of Sébastien Mouthuy
> Sent: Tuesday, May 29, 2007 12:44 AM
> To: Guido Tack
> Cc: users at gecode.org
> Subject: Re: [gecode-users] order in calls to status and commit...
> 
> 
> 
> I found a related problem that seems annoying. 
> 
> I have one main branching, let's say BrSF. In the commit function of BrSF, I
> sometimes post another branching, say BrCl.
> 
> I printed id's of these branching and it happens that an instance of BrSF
> has the same id as BrCl. I'm not using recomputation: c_d = 1, a_d = 10000.
> 
> The problem then is that the search engine calls the commit function of the
> BrSF with a description returned by an instance of BrCL. and this is very
> annoying :). It is perhaps this same problem that leads to the NoBranching
> exception when using recomputation.
> 
> any idea ? It would be very useful for me. Thank you.
> 
> seb
> 
> Le lundi 28 mai 2007 à 20:46 +0200, Guido Tack a écrit :
> > Sébastien Mouthuy wrote:
> > 
> > 
> > > Could that be the problem ? Should B1 and B2 be two copies of a 
> > > comman instance of the branching ? I know descriptions and 
> > > branchings use id's.
> > > could it be the problem ?
> > 
> > 
> > Hm, it shouldn't be the problem. If the branchings are always created 
> > in the same order, the ids will be the same. Could you verify this? 
> > Just print the id in the Branching constructor, and check that it's 
> > the same no matter whether you use recomputation or not.
> > 
> > 
> > The one thing we do not support is creating a branching in a 
> > propagator. This won't work because propagation order can be different 
> > during recomputation, so the creation order of the branchings would be 
> > different and the ids would not match.
> > 
> > 
> > Cheers,
> > Guido
> > 
> > --
> > Guido Tack
> > Programming Systems Lab, Saarland University, Germany
> > http://www.ps.uni-sb.de/~tack
> > 
> > 
> > 
> > 
> > 
> 
> 
> _______________________________________________
> Gecode users mailing list
> users at gecode.org https://www.gecode.org/mailman/listinfo/gecode-users
> 





More information about the gecode-users mailing list