Generated on Fri Mar 20 15:56:35 2015 for Gecode by doxygen 1.6.3

Simple relation constraints over integer variables
[Using integer variables and constraints]

Functions

void Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 \sim_{irt} x_1$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, IntVar x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_{irt} c$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_{irt} c $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $ (x_0 \sim_{irt} x_1)\equiv r$.
void Gecode::rel (Home home, IntVar x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $(x \sim_{irt} c)\equiv r$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntConLevel icl=ICL_DEF)
 Post propagator for relation among elements in x.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for relation between x and y.

Function Documentation

void Gecode::rel ( Home  home,
IntVar  x0,
IntRelType  irt,
IntVar  x1,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $ x_0 \sim_{irt} x_1$.

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

void Gecode::rel ( Home  home,
const IntVarArgs &  x,
IntRelType  irt,
IntVar  y,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$.

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

void Gecode::rel ( Home  home,
IntVar  x0,
IntRelType  irt,
int  n,
IntConLevel   
)

Propagates $ x \sim_{irt} c$.

void Gecode::rel ( Home  home,
const IntVarArgs &  x,
IntRelType  irt,
int  n,
IntConLevel   
)

Propagates $ x_i \sim_{irt} c $ for all $0\leq i<|x|$.

void Gecode::rel ( Home  home,
IntVar  x0,
IntRelType  irt,
IntVar  x1,
Reify  r,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $ (x_0 \sim_{irt} x_1)\equiv r$.

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

void Gecode::rel ( Home  home,
IntVar  x,
IntRelType  irt,
int  c,
Reify  r,
IntConLevel  icl = ICL_DEF 
)

Post propagator for $(x \sim_{irt} c)\equiv r$.

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

void Gecode::rel ( Home  home,
const IntVarArgs &  x,
IntRelType  irt,
IntConLevel  icl = ICL_DEF 
)

Post propagator for relation among elements in x.

States that the elements of x are in the following relation:

  • if r = IRT_LE, r = IRT_LQ, r = IRT_GR, or r = IRT_GQ, then the elements of x are ordered with respect to r. Supports domain consistency (icl = ICL_DOM, default).
  • if r = IRT_EQ, then all elements of x must be equal. Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).
  • if r = IRT_NQ, then not all elements of x must be equal. Supports domain consistency (icl = ICL_DOM, default).
void Gecode::rel ( Home  home,
const IntVarArgs &  x,
IntRelType  irt,
const IntVarArgs &  y,
IntConLevel  icl = ICL_DEF 
)

Post propagator for relation between x and y.

Note that for the inequality relations this corresponds to the lexical order between x and y.

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

Note that the constraint is also defined if x and y are of different size. That means that if x and y are of different size, then if r = IRT_EQ the constraint is false and if r = IRT_NQ the constraint is subsumed.