Generated on for Gecode by doxygen 1.17.0

Functions

void Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for \( x_0 \sim_{irt} x_1\).
void Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for \((x_0 \sim_{irt} x_1)\equiv r\).
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, BoolVar y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for \( x_i \sim_{irt} y \) for all \(0\leq i<|x|\).
void Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF)
 Propagates \( x \sim_{irt} n\).
void Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for \((x \sim_{irt} n)\equiv r\).
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF)
 Propagates \( x_i \sim_{irt} n \) for all \(0\leq i<|x|\).
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, const BoolVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, const IntArgs &y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const IntArgs &x, IntRelType irt, const BoolVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between elements in x.
void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean operation on x0 and x1.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_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, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.
void Gecode::ite (Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for if-then-else constraint.
void Gecode::ite (Home home, BoolVar b, BoolVar x, BoolVar y, BoolVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for if-then-else constraint.

Detailed Description

Function Documentation

◆ rel() [1/14]

void Gecode::rel ( Home home,
BoolVar x0,
IntRelType irt,
BoolVar x1,
IntPropLevel ipl = IPL_DEF )

Post domain consistent propagator for \( x_0 \sim_{irt} x_1\).

◆ rel() [2/14]

void Gecode::rel ( Home home,
BoolVar x0,
IntRelType irt,
BoolVar x1,
Reify r,
IntPropLevel ipl = IPL_DEF )

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

◆ rel() [3/14]

void Gecode::rel ( Home home,
const BoolVarArgs & x,
IntRelType irt,
BoolVar y,
IntPropLevel ipl = IPL_DEF )

Post domain consistent propagator for \( x_i \sim_{irt} y \) for all \(0\leq i<|x|\).

◆ rel() [4/14]

void Gecode::rel ( Home home,
BoolVar x,
IntRelType irt,
int n,
IntPropLevel ipl = IPL_DEF )

Propagates \( x \sim_{irt} n\).

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

◆ rel() [5/14]

void Gecode::rel ( Home home,
BoolVar x,
IntRelType irt,
int n,
Reify r,
IntPropLevel ipl = IPL_DEF )

Post domain consistent propagator for \((x \sim_{irt} n)\equiv r\).

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

◆ rel() [6/14]

void Gecode::rel ( Home home,
const BoolVarArgs & x,
IntRelType irt,
int n,
IntPropLevel ipl = IPL_DEF )

Propagates \( x_i \sim_{irt} n \) for all \(0\leq i<|x|\).

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

◆ rel() [7/14]

void Gecode::rel ( Home home,
const BoolVarArgs & x,
IntRelType irt,
const BoolVarArgs & y,
IntPropLevel ipl = IPL_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.

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.

◆ rel() [8/14]

void Gecode::rel ( Home home,
const BoolVarArgs & x,
IntRelType irt,
const IntArgs & y,
IntPropLevel ipl = IPL_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.

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.

◆ rel() [9/14]

void Gecode::rel ( Home home,
const IntArgs & x,
IntRelType irt,
const BoolVarArgs & y,
IntPropLevel ipl = IPL_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.

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.

◆ rel() [10/14]

void Gecode::rel ( Home home,
const BoolVarArgs & x,
IntRelType irt,
IntPropLevel ipl = IPL_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.

◆ rel() [11/14]

void Gecode::rel ( Home home,
BoolVar x0,
BoolOpType o,
BoolVar x1,
BoolVar x2,
IntPropLevel ipl = IPL_DEF )

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

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

◆ rel() [12/14]

void Gecode::rel ( Home home,
BoolVar x0,
BoolOpType o,
BoolVar x1,
int n,
IntPropLevel ipl = IPL_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.

◆ rel() [13/14]

void Gecode::rel ( Home home,
BoolOpType o,
const BoolVarArgs & x,
BoolVar y,
IntPropLevel ipl = IPL_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.

◆ rel() [14/14]

void Gecode::rel ( Home home,
BoolOpType o,
const BoolVarArgs & x,
int n,
IntPropLevel ipl = IPL_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.

◆ clause() [1/2]

void Gecode::clause ( Home home,
BoolOpType o,
const BoolVarArgs & x,
const BoolVarArgs & y,
BoolVar z,
IntPropLevel ipl = IPL_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.

◆ clause() [2/2]

void Gecode::clause ( Home home,
BoolOpType o,
const BoolVarArgs & x,
const BoolVarArgs & y,
int n,
IntPropLevel ipl = IPL_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.

◆ ite() [1/2]

void Gecode::ite ( Home home,
BoolVar b,
IntVar x,
IntVar y,
IntVar z,
IntPropLevel ipl = IPL_DEF )

Post propagator for if-then-else constraint.

Posts propagator for \( z = b ? x : y \)

Supports both bounds (ipl = IPL_BND) and domain consistency (ipl = IPL_DOM, default).

◆ ite() [2/2]

void Gecode::ite ( Home home,
BoolVar b,
BoolVar x,
BoolVar y,
BoolVar z,
IntPropLevel ipl = IPL_DEF )

Post propagator for if-then-else constraint.

Posts propagator for \( z = b ? x : y \)