[gecode-users] Branching on temporary variables

Max Ostrowski ChaosAngel at gmx.de
Tue Jun 14 10:36:38 CEST 2011


Hello everybody,

i have some expressions (linear and non-linear) stored in a "Gecode::LinExpr" object.

Know i want to post a global constraint on them.

So, expressions for example:
//pseudocode
LinExpr var1 = a+b*c;
LinExpr var2 = 4-7

and i want the results of them to be allDifferent (distinct)

 IntVarArray z(home,2);
 z[0] = var1.post(home);
 z[1] = var2.post(home);

 distinct(home,z);


1: Is this the right way to do this?
2: I do branching on the variables a,b,c.
   2.1: Can it happen that some of the temporary variables z[i] stay unassigned (regarding any linear or non-linear expression)?
   2.2: Does it make an advantage to branch on {a,b,c,z[1..n]} instead of {a,b,c} ? Can this decrease complexity, as it is the case with conjunctions in SAT.

3: If i post the constraint a*b==0 a\in{0..2} and b\in{0..2} and i do branch on  {a}, do i get 3 or 6 solutions. (So, are my solutions really projected on the branching variables?)


Thanks a lot in advance,

Max

-- 
NEU: FreePhone - kostenlos mobil telefonieren!			
Jetzt informieren: http://www.gmx.net/de/go/freephone



More information about the users mailing list