Simple relation constraints over integer variables
[Using finite domain integers]
Functions | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for ![]() ![]() | |
void | Gecode::rel (Space *home, IntVar x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates ![]() | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates ![]() ![]() | |
void | Gecode::rel (Space *home, IntVar x0, IntRelType r, IntVar x1, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for ![]() | |
void | Gecode::rel (Space *home, IntVar x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for ![]() | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for pairwise relation on x. | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for relation between x and y. |
Function Documentation
void Gecode::rel | ( | Space * | home, | |
const IntVarArgs & | x, | |||
IntRelType | r, | |||
IntVar | y, | |||
IntConLevel | icl = ICL_DEF , |
|||
PropKind | pk = PK_DEF | |||
) |
void Gecode::rel | ( | Space * | home, | |
IntVar | x0, | |||
IntRelType | r, | |||
int | n, | |||
IntConLevel | , | |||
PropKind | ||||
) |
void Gecode::rel | ( | Space * | home, | |
const BoolVarArgs & | x, | |||
IntRelType | r, | |||
int | n, | |||
IntConLevel | icl = ICL_DEF , |
|||
PropKind | pk = PK_DEF | |||
) |
Propagates for all
.
Propagates for all
.
Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.
void Gecode::rel | ( | Space * | home, | |
IntVar | x0, | |||
IntRelType | r, | |||
IntVar | x1, | |||
BoolVar | b, | |||
IntConLevel | icl = ICL_DEF , |
|||
PropKind | pk = PK_DEF | |||
) |
void Gecode::rel | ( | Space * | home, | |
IntVar | x, | |||
IntRelType | r, | |||
int | c, | |||
BoolVar | b, | |||
IntConLevel | icl = ICL_DEF , |
|||
PropKind | pk = PK_DEF | |||
) |
void Gecode::rel | ( | Space * | home, | |
const IntVarArgs & | x, | |||
IntRelType | r, | |||
IntConLevel | icl = ICL_DEF , |
|||
PropKind | pk = PK_DEF | |||
) |
Post propagator for pairwise relation on x.
States that the elements of x are in the following relation:
- 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_LE, r = IRT_LQ, r = IRT_GR, or r = IRT_GQ, then the elements of x are ordered with respt to r. Supports domain consistency (icl = ICL_DOM, default).
- if r = IRT_NQ, then all elements of x must be pairwise distinct (corresponds to the distinct constraint). Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM). Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
States that the elements of x are in the following relation:
- if r = IRT_EQ, then all elements of x must be equal.
- if r = IRT_LE, r = IRT_LQ, r = IRT_GR, or r = IRT_GQ, then the elements of x are ordered with respt to r.
- if r = IRT_NQ, then all elements of x must be pairwise distinct (corresponds to the distinct constraint).
void Gecode::rel | ( | Space * | home, | |
const IntVarArgs & | x, | |||
IntRelType | r, | |||
const IntVarArgs & | y, | |||
IntConLevel | icl = ICL_DEF , |
|||
PropKind | pk = PK_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).
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
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.