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

Simple relation constraints over Boolean variables
[Using finite domain integers]

Functions

void Gecode::rel (Home home, BoolVar x0, IntRelType r, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_0 \sim_r x_1$.
void Gecode::rel (Home home, BoolVar x0, IntRelType r, BoolVar x1, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x_0 \sim_r x_1)\Leftrightarrow b$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, BoolVar y, IntConLevel icl=ICL_DEF)
 Post doamin consistent propagator for $ x_i \sim_r y $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, BoolVar x, IntRelType r, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_r n$.
void Gecode::rel (Home home, BoolVar x, IntRelType r, int n, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x \sim_r n)\Leftrightarrow b$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_r n $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, const BoolVarArgs &y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between elements in x.
void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x0 and x1.
void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x0 and x1.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, BoolVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.
void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.

Function Documentation

void Gecode::rel ( Home  home,
BoolVar  x0,
IntRelType  r,
BoolVar  x1,
IntConLevel   
)

Post domain consistent propagator for $ x_0 \sim_r x_1$.

void Gecode::rel ( Home  home,
BoolVar  x0,
IntRelType  r,
BoolVar  x1,
BoolVar  b,
IntConLevel   
)

Post domain consistent propagator for $(x_0 \sim_r x_1)\Leftrightarrow b$.

void Gecode::rel ( Home  home,
const BoolVarArgs &  x,
IntRelType  r,
BoolVar  y,
IntConLevel   
)

Post doamin consistent propagator for $ x_i \sim_r y $ for all $0\leq i<|x|$.

void Gecode::rel ( Home  home,
BoolVar  x,
IntRelType  r,
int  n,
IntConLevel  icl = ICL_DEF 
)

Propagates $ x \sim_r n$.

Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.

void Gecode::rel ( Home  home,
BoolVar  x,
IntRelType  r,
int  n,
BoolVar  b,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for $(x \sim_r n)\Leftrightarrow b$.

Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.

void Gecode::rel ( Home  home,
const BoolVarArgs &  x,
IntRelType  r,
int  n,
IntConLevel  icl = ICL_DEF 
)

Propagates $ x_i \sim_r n $ for all $0\leq i<|x|$.

Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.

void Gecode::rel ( Home  home,
const BoolVarArgs &  x,
IntRelType  r,
const BoolVarArgs &  y,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for relation between x and y.

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

Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.

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

Post domain consistent propagator for relation between 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.
  • if r = IRT_EQ, then all elements of x must be equal.
  • if r = IRT_NQ, then not all elements of x must be equal.
void Gecode::rel ( Home  home,
BoolVar  x0,
BoolOpType  o,
BoolVar  x1,
BoolVar  x2,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for Boolean operation on x0 and x1.

Posts propagator for $ x_0 \diamond_{\mathit{o}} x_1 = x_2$

void Gecode::rel ( Home  home,
BoolVar  x0,
BoolOpType  o,
BoolVar  x1,
int  n,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for Boolean operation on x0 and x1.

Posts propagator for $ x_0 \diamond_{\mathit{o}} x_1 = n$

Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.

void Gecode::rel ( Home  home,
BoolOpType  o,
const BoolVarArgs &  x,
BoolVar  y,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for Boolean operation on x.

Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1}= y$

Throws an exception of type Int::TooFewArguments, if $|x|<2$ and o is BOT_IMP, BOT_EQV, or BOT_XOR.

void Gecode::rel ( Home  home,
BoolOpType  o,
const BoolVarArgs &  x,
int  n,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for Boolean operation on x.

Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1}= n$

Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.

Throws an exception of type Int::TooFewArguments, if $|x|<2$ and o is BOT_IMP, BOT_EQV, or BOT_XOR.

void Gecode::clause ( Home  home,
BoolOpType  o,
const BoolVarArgs &  x,
const BoolVarArgs &  y,
BoolVar  z,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.

Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1} \diamond_{\mathit{o}} \neg y_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} \neg y_{|y|-1}= z$

Throws an exception of type Int::IllegalOperation, if o is different from BOT_AND or BOT_OR.

void Gecode::clause ( Home  home,
BoolOpType  o,
const BoolVarArgs &  x,
const BoolVarArgs &  y,
int  n,
IntConLevel  icl = ICL_DEF 
)

Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.

Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1} \diamond_{\mathit{o}} \neg y_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} \neg y_{|y|-1}= n$

Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.

Throws an exception of type Int::IllegalOperation, if o is different from BOT_AND or BOT_OR.