Generated on Mon Aug 25 11:35:47 2008 for Gecode by doxygen 1.5.6

Channel constraints
[Using finite domain integers]


Functions

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


Function Documentation

void Gecode::channel ( Space *  home,
const IntVarArgs &  x,
const IntVarArgs &  y,
IntConLevel  icl = ICL_DEF,
PropKind  pk = PK_DEF 
)

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

  • Supports domain (icl = ICL_DOM) and value propagation (all other values for icl).
  • 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.

Definition at line 126 of file channel.cc.

void Gecode::channel ( Space *  home,
const IntVarArgs &  x,
unsigned int  xoff,
const IntVarArgs &  y,
unsigned int  yoff,
IntConLevel  icl = ICL_DEF,
PropKind  pk = PK_DEF 
)

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

  • Supports domain (icl = ICL_DOM) and value propagation (all other values for icl).
  • 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.

Definition at line 43 of file channel.cc.

void Gecode::channel ( Space *  home,
BoolVar  x0,
IntVar  x1,
IntConLevel  ,
PropKind   
)

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

Definition at line 131 of file channel.cc.

void Gecode::channel ( Space *  home,
IntVar  x0,
BoolVar  x1,
IntConLevel  icl = ICL_DEF,
PropKind  pk = PK_DEF 
) [inline]

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

Definition at line 1103 of file int.hh.

void Gecode::channel ( Space *  home,
const BoolVarArgs &  x,
IntVar  y,
int  o = 0,
IntConLevel  icl = ICL_DEF,
PropKind  pk = PK_DEF 
)

Post 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.

Definition at line 138 of file channel.cc.