Generated on Mon Aug 25 11:35:47 2008 for Gecode by doxygen 1.5.6

# Linear constraints over integer variables [Using finite domain integers]

## Detailed Description

All variants for linear constraints over integer variables share the following properties:
• Bounds consistency (over the real numbers) is supported for all constraints (actually, for disequlities always domain consistency is used as it is cheaper). Domain consistency is supported for all non-reified constraint. As bounds consistency for inequalities coincides with domain consistency, the only real variation is for linear equations. Domain consistent linear equations have exponential complexity, so use with care!
• Variables occurring multiply in the argument arrays are replaced by a single occurrence: for example, becomes .
• If in the above simplification the value for (or for and ) exceeds the limits for integers as defined in Int::Limits, an exception of type Int::OutOfLimits is thrown.
• Assume the constraint . If exceeds the maximal available precision (at least ), an exception of type Int::OutOfLimits is thrown.
• In all other cases, the created propagators are accurate (that is, they will not silently overflow during propagation).

## Functions

void Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .

## Function Documentation

 void Gecode::linear ( Space * home, const BoolVarArgs & x, IntRelType r, int c, IntConLevel icl, PropKind pk )

Post propagator for .

Definition at line 45 of file linear-bool.cc.

 void Gecode::linear ( Space * home, const BoolVarArgs & x, IntRelType r, IntVar y, IntConLevel icl, PropKind pk )

Post propagator for .

Definition at line 59 of file linear-bool.cc.

 void Gecode::linear ( Space * home, const BoolVarArgs & x, IntRelType r, int c, BoolVar b, IntConLevel icl, PropKind pk )

Post propagator for .

Definition at line 124 of file linear-bool.cc.

 void Gecode::linear ( Space * home, const BoolVarArgs & x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl, PropKind pk )

Post propagator for .

Definition at line 138 of file linear-bool.cc.

 void Gecode::linear ( Space * home, const IntArgs & a, const IntVarArgs & x, IntRelType r, int c, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for .

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

Definition at line 73 of file linear-bool.cc.

 void Gecode::linear ( Space * home, const IntArgs & a, const IntVarArgs & x, IntRelType r, IntVar y, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for .

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

Definition at line 91 of file linear-bool.cc.

 void Gecode::linear ( Space * home, const IntArgs & a, const IntVarArgs & x, IntRelType r, int c, BoolVar b, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for .

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

Definition at line 152 of file linear-bool.cc.

 void Gecode::linear ( Space * home, const IntArgs & a, const IntVarArgs & x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for .

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

Definition at line 169 of file linear-bool.cc.