Gecode::Int::Linear Namespace Reference
Detailed Description
Linear propagators
Classes | |
class | SupportSet |
Set for support information. More... | |
class | SupportIter |
Base-class for support-based iterator. More... | |
class | PosSupportIter |
Support-based iterator for positive view. More... | |
class | NegSupportIter |
Support-based iterator for negative view. More... | |
class | NoView |
No view serves as filler for empty view arrays. More... | |
class | TermLess |
Sort linear terms by view. More... | |
class | LinBin |
Base-class for binary linear propagators. More... | |
class | ReLinBin |
Base-class for reified binary linear propagators. More... | |
class | EqBin |
Propagator for bounds consistent binary linear equality More... | |
class | ReEqBin |
Propagator for reified bounds consistent binary linear equality More... | |
class | NqBin |
Propagator for bounds consistent binary linear disequality More... | |
class | LqBin |
Propagator for bounds consistent binary linear less or equal More... | |
class | GqBin |
Propagator for bounds consistent binary linear greater or equal More... | |
class | ReLqBin |
Propagator for reified bounds consistent binary linear less or equal More... | |
class | LinTer |
Base-class for ternary linear propagators. More... | |
class | EqTer |
Propagator for bounds consistent ternary linear equality More... | |
class | NqTer |
Propagator for bounds consistent ternary linear disquality More... | |
class | LqTer |
Propagator for bounds consistent ternary linear less or equal More... | |
class | Lin |
Base-class for n-ary linear propagators. More... | |
class | ReLin |
Base-class for reified n-ary linear propagators. More... | |
class | Eq |
Propagator for bounds consistent n-ary linear equality More... | |
class | DomEq |
Propagator for domain consistent n-ary linear equality More... | |
class | ReEq |
Propagator for reified bounds consistent n-ary linear equality More... | |
class | Nq |
Propagator for bounds consistent n-ary linear disequality More... | |
class | Lq |
Propagator for bounds consistent n-ary linear less or equal More... | |
class | ReLq |
Propagator for reified bounds consistent n-ary linear less or equal More... | |
class | MemoryLinBoolInt |
Baseclass for integer Boolean sum using dependencies. More... | |
class | SpeedLinBoolInt |
Baseclass for integer Boolean sum using advisors. More... | |
class | EqBoolInt |
Propagator for integer equal to Boolean sum (cardinality) More... | |
class | GqBoolInt |
Propagator for integer less or equal to Boolean sum (cardinality) More... | |
class | NqBoolInt |
Propagator for integer disequal to Boolean sum (cardinality) More... | |
class | LinBoolView |
Base-class for Boolean linear propagators. More... | |
class | ReLinBoolView |
Base-class for reified Boolean linear propagators. More... | |
class | EqBoolView |
Propagator for equality to Boolean sum (cardinality) More... | |
class | NqBoolView |
Propagator for disequality to Boolean sum (cardinality) More... | |
class | GqBoolView |
Propagator for greater or equal to Boolean sum (cardinality) More... | |
class | ReEqBoolView |
Propagator for reified equality to Boolean sum (cardinality) More... | |
class | ReGqBoolView |
Propagator for reified greater or equal to Boolean sum (cardinality) More... | |
class | ScaleBool |
Coefficient and Boolean view. More... | |
class | ScaleBoolArray |
Array of scale Boolean views. More... | |
class | EmptyScaleBoolArray |
Empty array of scale Boolean views. More... | |
class | LinBoolScale |
Base class for linear Boolean constraints with coefficients. More... | |
class | EqBoolScale |
Propagator for equality to Boolean sum with coefficients More... | |
class | LqBoolScale |
Propagator for inequality to Boolean sum with coefficients More... | |
class | NqBoolScale |
Propagator for disequality to Boolean sum with coefficients More... | |
class | Term |
Class for describing linear term . More... | |
Enumerations | |
enum | BinMod { BM_X0_MIN = 1<<0, BM_X0_MAX = 1<<1, BM_X1_MIN = 1<<2, BM_X1_MAX = 1<<3, BM_ALL = BM_X0_MIN|BM_X0_MAX|BM_X1_MIN|BM_X1_MAX } |
Describe which view has been modified how. More... | |
enum | TerMod { TM_X0_MIN = 1<<0, TM_X0_MAX = 1<<1, TM_X1_MIN = 1<<2, TM_X1_MAX = 1<<3, TM_X2_MIN = 1<<4, TM_X2_MAX = 1<<5, TM_ALL = TM_X0_MIN|TM_X0_MAX|TM_X1_MIN|TM_X1_MAX|TM_X2_MIN|TM_X2_MAX } |
Describe which view has been modified how. More... | |
Functions | |
void | post_pos_unit (Space *home, Term< BoolView > *t_p, int n_p, IntRelType r, IntView y, int c, PropKind) |
void | post_pos_unit (Space *home, Term< BoolView > *t_p, int n_p, IntRelType r, ZeroIntView, int c, PropKind pk) |
void | post_neg_unit (Space *home, Term< BoolView > *t_n, int n_n, IntRelType r, IntView y, int c, PropKind) |
void | post_neg_unit (Space *home, Term< BoolView > *t_n, int n_n, IntRelType r, ZeroIntView, int c, PropKind pk) |
void | post_mixed (Space *home, Term< BoolView > *t_p, int n_p, Term< BoolView > *t_n, int n_n, IntRelType r, IntView y, int c) |
void | post_mixed (Space *home, Term< BoolView > *t_p, int n_p, Term< BoolView > *t_n, int n_n, IntRelType r, ZeroIntView y, int c) |
template<class View> | |
void | post_all (Space *home, Term< BoolView > *t, int n, IntRelType r, View x, int c, PropKind pk) |
void | post (Space *home, Term< BoolView > *t, int n, IntRelType r, IntView y, int c=0, IntConLevel=ICL_DEF, PropKind=PK_DEF) |
Post propagator for linear constraint over Booleans. | |
void | post (Space *home, Term< BoolView > *t, int n, IntRelType r, int c, IntConLevel=ICL_DEF, PropKind=PK_DEF) |
Post propagator for linear constraint over Booleans. | |
void | post (Space *home, Term< BoolView > *t, int n, IntRelType r, IntView y, BoolView b, IntConLevel=ICL_DEF, PropKind=PK_DEF) |
Post propagator for reified linear constraint over Booleans. | |
void | post (Space *home, Term< BoolView > *t, int n, IntRelType r, int c, BoolView b, IntConLevel=ICL_DEF, PropKind=PK_DEF) |
Post propagator for reified linear constraint over Booleans. | |
template<class P, class N> | |
bool | isunit (ViewArray< P > &, ViewArray< N > &) |
Test if only unit-coefficient arrays used. | |
template<> | |
bool | isunit (ViewArray< IntView > &, ViewArray< IntView > &) |
template<> | |
bool | isunit (ViewArray< IntView > &, ViewArray< NoView > &) |
template<> | |
bool | isunit (ViewArray< NoView > &, ViewArray< IntView > &) |
template<class Val, class View> | |
void | bounds_p (ModEventDelta med, ViewArray< View > &x, Val &c, Val &sl, Val &su) |
template<class Val, class View> | |
void | bounds_n (ModEventDelta med, ViewArray< View > &y, Val &c, Val &sl, Val &su) |
template<class Val, class P, class N> | |
ExecStatus | prop_bnd (Space *home, ModEventDelta med, Propagator *p, ViewArray< P > &x, ViewArray< N > &y, Val &c) |
template<class Val, class P, class N> | |
Actor * | eqtobin (Space *, bool, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
Rewriting of equality to binary propagators. | |
template<class Val> | |
Actor * | eqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
template<class Val> | |
Actor * | eqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | eqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | eqtoter (Space *, bool, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
Rewriting of equality to ternary propagators. | |
template<class Val> | |
Actor * | eqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
template<class Val> | |
Actor * | eqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | eqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | nqtobin (Space *, bool, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
Rewriting of disequality to binary propagators. | |
template<class Val> | |
Actor * | nqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
template<class Val> | |
Actor * | nqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | nqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | nqtoter (Space *, bool, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
Rewriting of disequality to ternary propagators. | |
template<class Val> | |
Actor * | nqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
template<class Val> | |
Actor * | nqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | nqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | lqtobin (Space *, bool, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
Rewriting of inequality to binary propagators. | |
template<class Val> | |
Actor * | lqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
template<class Val> | |
Actor * | lqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | lqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | lqtoter (Space *, bool, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
Rewriting of inequality to ternary propagators. | |
template<class Val> | |
Actor * | lqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
template<class Val> | |
Actor * | lqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | lqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
void | eliminate (Term< IntView > *t, int &n, double &d) |
Eliminate assigned views. | |
void | rewrite (IntRelType &r, double &d, Term< IntView > *&t_p, int &n_p, Term< IntView > *&t_n, int &n_n) |
Rewrite all inequations in terms of IRT_LQ. | |
bool | precision (Term< IntView > *t_p, int n_p, Term< IntView > *t_n, int n_n, double d) |
Decide the required precision and check for overflow. | |
template<class Val, class View> | |
void | post_nary (Space *home, ViewArray< View > &x, ViewArray< View > &y, IntRelType r, Val c) |
Posting n-ary propagators. | |
void | post (Space *home, Term< IntView > *t, int n, IntRelType r, int c, IntConLevel=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for linear constraint over integers. | |
template<class Val, class View> | |
void | post_nary (Space *home, ViewArray< View > &x, ViewArray< View > &y, IntRelType r, Val c, BoolView b) |
Posting reified n-ary propagators. | |
void | post (Space *home, Term< IntView > *t, int n, IntRelType r, int c, BoolView b, IntConLevel=ICL_DEF, PropKind pk=PK_DEF) |
Post reified propagator for linear constraint. | |
template<class View> | |
void | estimate (Term< View > *t, int n, int c, int &l, int &u) |
Estimate lower and upper bounds. | |
template<class View> | |
bool | normalize (Term< View > *t, int &n, Term< View > *&t_p, int &n_p, Term< View > *&t_n, int &n_n) |
Normalize linear integer constraints. | |
Variables | |
const double | double_max = 9007199254740991.0 |
Largest double that can exactly be represented. | |
const double | double_min = -9007199254740991.0 |
Smallest double that can exactly be represented. |
Enumeration Type Documentation
Function Documentation
void Gecode::Int::Linear::post_pos_unit | ( | Space * | home, | |
Term< BoolView > * | t_p, | |||
int | n_p, | |||
IntRelType | r, | |||
IntView | y, | |||
int | c, | |||
PropKind | ||||
) |
Definition at line 43 of file bool-post.cc.
void Gecode::Int::Linear::post_pos_unit | ( | Space * | home, | |
Term< BoolView > * | t_p, | |||
int | n_p, | |||
IntRelType | r, | |||
ZeroIntView | , | |||
int | c, | |||
PropKind | pk | |||
) |
Definition at line 90 of file bool-post.cc.
void Gecode::Int::Linear::post_neg_unit | ( | Space * | home, | |
Term< BoolView > * | t_n, | |||
int | n_n, | |||
IntRelType | r, | |||
IntView | y, | |||
int | c, | |||
PropKind | ||||
) |
Definition at line 132 of file bool-post.cc.
void Gecode::Int::Linear::post_neg_unit | ( | Space * | home, | |
Term< BoolView > * | t_n, | |||
int | n_n, | |||
IntRelType | r, | |||
ZeroIntView | , | |||
int | c, | |||
PropKind | pk | |||
) |
Definition at line 181 of file bool-post.cc.
void Gecode::Int::Linear::post_mixed | ( | Space * | home, | |
Term< BoolView > * | t_p, | |||
int | n_p, | |||
Term< BoolView > * | t_n, | |||
int | n_n, | |||
IntRelType | r, | |||
IntView | y, | |||
int | c | |||
) |
Definition at line 224 of file bool-post.cc.
void Gecode::Int::Linear::post_mixed | ( | Space * | home, | |
Term< BoolView > * | t_p, | |||
int | n_p, | |||
Term< BoolView > * | t_n, | |||
int | n_n, | |||
IntRelType | r, | |||
ZeroIntView | y, | |||
int | c | |||
) |
Definition at line 273 of file bool-post.cc.
void Gecode::Int::Linear::post_all | ( | Space * | home, | |
Term< BoolView > * | t, | |||
int | n, | |||
IntRelType | r, | |||
View | x, | |||
int | c, | |||
PropKind | pk | |||
) | [inline] |
bool Gecode::Int::Linear::isunit | ( | ViewArray< P > & | , | |
ViewArray< N > & | ||||
) | [inline] |
bool Gecode::Int::Linear::isunit | ( | ViewArray< IntView > & | , | |
ViewArray< IntView > & | ||||
) | [inline] |
Definition at line 51 of file int-nary.icc.
bool Gecode::Int::Linear::isunit | ( | ViewArray< IntView > & | , | |
ViewArray< NoView > & | ||||
) | [inline] |
Definition at line 54 of file int-nary.icc.
bool Gecode::Int::Linear::isunit | ( | ViewArray< NoView > & | , | |
ViewArray< IntView > & | ||||
) | [inline] |
Definition at line 57 of file int-nary.icc.
void Gecode::Int::Linear::bounds_p | ( | ModEventDelta | med, | |
ViewArray< View > & | x, | |||
Val & | c, | |||
Val & | sl, | |||
Val & | su | |||
) | [related] |
Definition at line 152 of file int-nary.icc.
void Gecode::Int::Linear::bounds_n | ( | ModEventDelta | med, | |
ViewArray< View > & | y, | |||
Val & | c, | |||
Val & | sl, | |||
Val & | su | |||
) | [related] |
Definition at line 173 of file int-nary.icc.
ExecStatus Gecode::Int::Linear::prop_bnd | ( | Space * | home, | |
ModEventDelta | med, | |||
Propagator * | p, | |||
ViewArray< P > & | x, | |||
ViewArray< N > & | y, | |||
Val & | c | |||
) | [inline] |
Definition at line 195 of file int-nary.icc.
Actor* Gecode::Int::Linear::eqtobin | ( | Space * | , | |
bool | , | |||
Propagator & | , | |||
ViewArray< P > & | , | |||
ViewArray< N > & | , | |||
Val | ||||
) | [inline] |
Actor* Gecode::Int::Linear::eqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | , | |||
Val | c | |||
) | [inline] |
Definition at line 321 of file int-nary.icc.
Actor* Gecode::Int::Linear::eqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | , | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 329 of file int-nary.icc.
Actor* Gecode::Int::Linear::eqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 337 of file int-nary.icc.
Actor* Gecode::Int::Linear::eqtoter | ( | Space * | , | |
bool | , | |||
Propagator & | , | |||
ViewArray< P > & | , | |||
ViewArray< N > & | , | |||
Val | ||||
) | [inline] |
Actor* Gecode::Int::Linear::eqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | , | |||
Val | c | |||
) | [inline] |
Definition at line 360 of file int-nary.icc.
Actor* Gecode::Int::Linear::eqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | , | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 368 of file int-nary.icc.
Actor* Gecode::Int::Linear::eqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 376 of file int-nary.icc.
Actor* Gecode::Int::Linear::nqtobin | ( | Space * | , | |
bool | , | |||
Propagator & | , | |||
ViewArray< P > & | , | |||
ViewArray< N > & | , | |||
Val | ||||
) | [inline] |
Actor* Gecode::Int::Linear::nqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | , | |||
Val | c | |||
) | [inline] |
Definition at line 563 of file int-nary.icc.
Actor* Gecode::Int::Linear::nqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | , | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 571 of file int-nary.icc.
Actor* Gecode::Int::Linear::nqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 579 of file int-nary.icc.
Actor* Gecode::Int::Linear::nqtoter | ( | Space * | , | |
bool | , | |||
Propagator & | , | |||
ViewArray< P > & | , | |||
ViewArray< N > & | , | |||
Val | ||||
) | [inline] |
Actor* Gecode::Int::Linear::nqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | , | |||
Val | c | |||
) | [inline] |
Definition at line 602 of file int-nary.icc.
Actor* Gecode::Int::Linear::nqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | , | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 610 of file int-nary.icc.
Actor* Gecode::Int::Linear::nqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 618 of file int-nary.icc.
Actor* Gecode::Int::Linear::lqtobin | ( | Space * | , | |
bool | , | |||
Propagator & | , | |||
ViewArray< P > & | , | |||
ViewArray< N > & | , | |||
Val | ||||
) | [inline] |
Actor* Gecode::Int::Linear::lqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | , | |||
Val | c | |||
) | [inline] |
Definition at line 735 of file int-nary.icc.
Actor* Gecode::Int::Linear::lqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | , | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 743 of file int-nary.icc.
Actor* Gecode::Int::Linear::lqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 751 of file int-nary.icc.
Actor* Gecode::Int::Linear::lqtoter | ( | Space * | , | |
bool | , | |||
Propagator & | , | |||
ViewArray< P > & | , | |||
ViewArray< N > & | , | |||
Val | ||||
) | [inline] |
Actor* Gecode::Int::Linear::lqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | , | |||
Val | c | |||
) | [inline] |
Definition at line 774 of file int-nary.icc.
Actor* Gecode::Int::Linear::lqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | , | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 782 of file int-nary.icc.
Actor* Gecode::Int::Linear::lqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
Definition at line 790 of file int-nary.icc.
void Gecode::Int::Linear::eliminate | ( | Term< IntView > * | t, | |
int & | n, | |||
double & | d | |||
) | [inline] |
void Gecode::Int::Linear::rewrite | ( | IntRelType & | r, | |
double & | d, | |||
Term< IntView > *& | t_p, | |||
int & | n_p, | |||
Term< IntView > *& | t_n, | |||
int & | n_n | |||
) | [inline] |
bool Gecode::Int::Linear::precision | ( | Term< IntView > * | t_p, | |
int | n_p, | |||
Term< IntView > * | t_n, | |||
int | n_n, | |||
double | d | |||
) | [inline] |
void Gecode::Int::Linear::post_nary | ( | Space * | home, | |
ViewArray< View > & | x, | |||
ViewArray< View > & | y, | |||
IntRelType | r, | |||
Val | c | |||
) | [inline] |
void Gecode::Int::Linear::post_nary | ( | Space * | home, | |
ViewArray< View > & | x, | |||
ViewArray< View > & | y, | |||
IntRelType | r, | |||
Val | c, | |||
BoolView | b | |||
) | [inline] |
void Gecode::Int::Linear::estimate | ( | Term< View > * | t, | |
int | n, | |||
int | c, | |||
int & | l, | |||
int & | u | |||
) | [inline] |
Estimate lower and upper bounds.
Estimates the boundaries for a linear expression . If the boundaries exceed the limits as defined in Limits::Int, these boundaries are returned.
- Parameters:
-
t array of linear terms n size of array c constant l lower bound u upper bound
bool Gecode::Int::Linear::normalize | ( | Term< View > * | t, | |
int & | n, | |||
Term< View > *& | t_p, | |||
int & | n_p, | |||
Term< View > *& | t_n, | |||
int & | n_n | |||
) | [inline] |
Normalize linear integer constraints.
- Parameters:
-
t array of linear terms n size of array t_p array of linear terms over integers with positive coefficients n_p number of postive terms t_n array of linear terms over integers with negative coefficients n_n number of negative terms
- Variables occuring multiply in the term array are replaced by a single occurence: for example, becomes .
- If in the above simplification the value for (or for and ) exceeds the limits for integers as defined in Limits::Int, an exception of type Int::NumericalOverflow is thrown.
Returns true, if all coefficients are unit coefficients
Variable Documentation
const double Gecode::Int::Linear::double_max = 9007199254740991.0 |
const double Gecode::Int::Linear::double_min = -9007199254740991.0 |