Generated on Thu Mar 22 10:39:49 2012 for Gecode by doxygen 1.6.3

Channel constraints
[Using finite domain integers]

Functions

void Gecode::channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i = j\leftrightarrow y_j=i$ for all $0\leq i<|x|$.
void Gecode::channel (Home home, const IntVarArgs &x, int xoff, const IntVarArgs &y, int yoff, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i$ for all $0\leq i<|x|$.
void Gecode::channel (Home home, BoolVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling a Boolean and an integer variable $ x_0 = x_1$.
void Gecode::channel (Home home, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling an integer and a Boolean variable $ x_0 = x_1$.
void Gecode::channel (Home home, const BoolVarArgs &x, IntVar y, int o=0, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling Boolean and integer variables $ x_i = 1\leftrightarrow y=i+o$.

Function Documentation

void Gecode::channel ( Home  home,
const IntVarArgs &  x,
const IntVarArgs &  y,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $ x_i = j\leftrightarrow y_j=i$ for all $0\leq i<|x|$.

  • Supports domain consistency (icl = ICL_DOM) and value propagation (all other values for icl, default).
  • Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
  • Throws an exception of type Int::ArgumentSame, if x or y contain the same unassigned variable multiply. Note that a variable can occur in both x and y, but not more than once in either x or y.
void Gecode::channel ( Home  home,
const IntVarArgs &  x,
int  xoff,
const IntVarArgs &  y,
int  yoff,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $ x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i$ for all $0\leq i<|x|$.

  • Supports domain consistency (icl = ICL_DOM) and value propagation (all other values for icl, default).
  • Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
  • Throws an exception of type Int::ArgumentSame, if x or y contain the same unassigned variable multiply. Note that a variable can occur in both x and y, but not more than once in either x or y.
  • Throws an exception of type Int::OutOfLimits, if xoff or yoff are negative.
void Gecode::channel ( Home  home,
BoolVar  x0,
IntVar  x1,
IntConLevel   
)

Post domain consistent propagator for channeling a Boolean and an integer variable $ x_0 = x_1$.

void Gecode::channel ( Home  home,
IntVar  x0,
BoolVar  x1,
IntConLevel  icl = ICL_DEF 
) [inline]

Post domain consistent propagator for channeling an integer and a Boolean variable $ x_0 = x_1$.

Definition at line 1412 of file int.hh.

void Gecode::channel ( Home  home,
const BoolVarArgs &  x,
IntVar  y,
int  o = 0,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for channeling Boolean and integer variables $ x_i = 1\leftrightarrow y=i+o$.

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.