[gecode-users] How does Gecode works ?

Debdeep Banerjee banerjed at rsise.anu.edu.au
Fri Apr 11 05:51:04 CEST 2008


Hi,
  I am just wondering how gecode works. What I think is the following

1. We create the variables and domains
2. Then we post constraints
3. Then we define the branching
4. We start searching. ( I am here referring to the DFS search)
       1. the search will do the propagation, if any inconsistency found 
then fail immediately
       2. then branching will produce a variable-value pair through the 
description() method
       3. then commit() will produce a binary branching
             a. variable = value , left
             b. variable != value. right
       4. the search will continue picking up the left branch and call 
the propagation method, if failed, it will try the right branch.

Is this correct ?

My questions are
1. When we post constraints, for example  
    rel <cid:part1.05040408.08010402 at rsise.anu.edu.au>(Space 
<cid:part2.09030509.04060200 at rsise.anu.edu.au>* home, IntVar 
<cid:part3.07050402.03060701 at rsise.anu.edu.au> x0, IntRelType 
<cid:part4.09080505.00030106 at rsise.anu.edu.au> r 
<cid:part5.06050303.09070201 at rsise.anu.edu.au>, int n 
<cid:part6.06090502.08060905 at rsise.anu.edu.au>, IntConLevel 
<cid:part7.01060008.08080700 at rsise.anu.edu.au>, PropKind 
<cid:part8.07080100.00090002 at rsise.anu.edu.au>)
    Does gecode create any propagator for this ? I have looked at the 
rel.cc file the implementation, but it seems like it doesn't create any 
propagator. How does it get called from space->status() ??

2. When I execute the following code      
    x.eq <cid:part9.00000207.03050104 at rsise.anu.edu.au>(home,n) ==> x is 
IntView and n is an Integer.
    is the variable ( IntVar ) that the x refers to, is assigned to 'n' 
immediately ? or it will be assigned when space->status() method is called ?

I am sorry if these questions are too basic. I am trying to understand 
how gecode works a bit more thoroughly.

With regards
Debdeep

-- 
Debdeep Banerjee
PhD Candidate
CSL/RSISE/NICTA
Australian National University
Email: debdeep.banerjee at rsise.anu.edu.au
Web:http://rsise.anu.edu.au/~banerjed






More information about the gecode-users mailing list