[gecode-users] Implementing No-goods

Kish Shen kisshen at cisco.com
Wed Sep 25 21:11:42 CEST 2013


On 13/09/2013 12:20, Christian Schulte wrote:
> In your idea of doing several searches after each other I assume that you
> use the next() function to get a space and then continue search. As the
> no-goods are posted in the master space they will be contained in the space
> returned by next() as well (unless they already have been found out to be
> useless).


Hi Christian,

I thought I better separate the two issues into different posts....

Thinking about the restart search more, I think my question may arise 
from a (mis)understanding of what the master space is. Please let me 
know if the following is correct:

master(.., const Space* s, NoGoods& ng)

I had assumed that each time master is called, there is a fresh copy of 
the space s, i.e. a clone of the space before search was started. In 
this case, then you need to remember NoGoods for all the previous 
restarts in ng.

However, thinking about it more, it seems to make more sense that you 
use the same master space (s) in all the restarts of a search; in this 
case ng would only need to be the NoGoods in the single "pass" since the 
last restart, because all the previous NoGoods would already be posted 
to s by previous calls to master().

If a different search is done after this, as I suggested previously, 
then you have a different master space s from the previous search.

Cheers,

Kish





More information about the users mailing list