[Gecode] Distributors, batch recomputation

Christian Schulte schulte at imit.kth.se
Wed Jul 14 11:18:00 CEST 2004


I follow your conclusions but I do not follow your concerns. In which way
does branching creation depend on the state of the space? Could you please
elaborate.

Christian

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

-----Original Message-----
From: gecode-bounces at ps.uni-sb.de [mailto:gecode-bounces at ps.uni-sb.de] On
Behalf Of Guido Tack
Sent: Tuesday, July 13, 2004 4:49 PM
To: 'Technical discussions about Gecode'
Subject: [Gecode] Distributors, batch recomputation


Hi!

We've been thinking a bit about how distributors and batch recomputation,
and 
it seems to be not clear at all. So this is the invariant for batch 
recomputation that Christian and I agreed on:

* committing with branch descriptions has to be done in the same order in 
which the descriptions were obtained from the space
* if there's more than one distributor, before committing with a description

for distributor no. i+1, enough descriptions have to be committed to make 
distributor no. i disappear (completeness)

In the current implementation, after all descriptions for a certain 
distributor have been comitted, a fixed point is computed to allow 
propagators to dynamically create new distributors. This seems to be 
incorrect: The creation of new distributors propably depends on the dynamic 
state of the space, so it may make a big difference which commits are done 
before and after the propagation! Arbitrarily propagating after one 
distributor is finished is just as good or bad as only propagating when
there 
are no more active distributors. It seems that dynamically created 
distributors just screw up batch recomputation, which is a shame. The way
I'd 
suggest to get around this problem is to mark certain branch descriptions 
such that we know that before committing to them, we have to compute a fixed

point. The mark would have to be set when a new distributor is created by a 
propagator, although I don't see at the moment where to check that.

Guido

-- 
Guido Tack
Programming Systems Lab
http://www.ps.uni-sb.de/~tack
_______________________________________________
Gecode mailing list
Gecode at ps.uni-sb.de http://www.ps.uni-sb.de/mailman/listinfo/gecode





More information about the gecode-users mailing list