Generated on Sun Feb 17 15:24:48 2019 for Gecode by doxygen 1.6.3

Channel constraints
[Using integer variables and constraints]

Functions

void Gecode::channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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,
IntPropLevel  ipl = IPL_DEF 
)

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

  • Supports domain consistency (ipl = IPL_DOM) and value propagation (all other values for ipl, 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,
IntPropLevel  ipl = IPL_DEF 
)

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

  • Supports domain consistency (ipl = IPL_DOM) and value propagation (all other values for ipl, 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,
IntPropLevel   
)

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,
IntPropLevel  ipl 
) [inline]

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,
IntPropLevel  ipl = IPL_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.