# linear.hh File Reference

### (Revision: 7285)

`#include "gecode/int.hh"`

`#include "gecode/int/linear/int-bin.icc"`

`#include "gecode/int/linear/int-ter.icc"`

`#include "gecode/int/linear/int-nary.icc"`

`#include "gecode/int/linear/int-dom.icc"`

`#include "gecode/int/linear/bool-int.icc"`

`#include "gecode/int/linear/bool-view.icc"`

`#include "gecode/int/linear/bool-scale.icc"`

`#include "gecode/int/linear/post.icc"`

Go to the source code of this file.

## Namespaces | |

namespace | Gecode::Int::Linear |

namespace | Gecode |

namespace | Gecode::Int |

## Classes | |

class | Gecode::Int::Linear::LinBin< Val, A, B, pc > |

Base-class for binary linear propagators. More... | |

class | Gecode::Int::Linear::ReLinBin< Val, A, B, pc, Ctrl > |

Base-class for reified binary linear propagators. More... | |

class | Gecode::Int::Linear::EqBin< Val, A, B > |

Propagator for bounds consistent binary linear equality More... | |

class | Gecode::Int::Linear::ReEqBin< Val, A, B, Ctrl > |

Propagator for reified bounds consistent binary linear equality More... | |

class | Gecode::Int::Linear::NqBin< Val, A, B > |

Propagator for bounds consistent binary linear disequality More... | |

class | Gecode::Int::Linear::LqBin< Val, A, B > |

Propagator for bounds consistent binary linear less or equal More... | |

class | Gecode::Int::Linear::GqBin< Val, A, B > |

Propagator for bounds consistent binary linear greater or equal More... | |

class | Gecode::Int::Linear::ReLqBin< Val, A, B > |

Propagator for reified bounds consistent binary linear less or equal More... | |

class | Gecode::Int::Linear::LinTer< Val, A, B, C, pc > |

Base-class for ternary linear propagators. More... | |

class | Gecode::Int::Linear::EqTer< Val, A, B, C > |

Propagator for bounds consistent ternary linear equality More... | |

class | Gecode::Int::Linear::NqTer< Val, A, B, C > |

Propagator for bounds consistent ternary linear disquality More... | |

class | Gecode::Int::Linear::LqTer< Val, A, B, C > |

Propagator for bounds consistent ternary linear less or equal More... | |

class | Gecode::Int::Linear::Lin< Val, P, N, pc > |

Base-class for n-ary linear propagators. More... | |

class | Gecode::Int::Linear::ReLin< Val, P, N, pc, Ctrl > |

Base-class for reified n-ary linear propagators. More... | |

class | Gecode::Int::Linear::Eq< Val, P, N > |

Propagator for bounds consistent n-ary linear equality More... | |

class | Gecode::Int::Linear::DomEq< Val, View > |

Propagator for domain consistent n-ary linear equality More... | |

class | Gecode::Int::Linear::ReEq< Val, P, N, Ctrl > |

Propagator for reified bounds consistent n-ary linear equality More... | |

class | Gecode::Int::Linear::Nq< Val, P, N > |

Propagator for bounds consistent n-ary linear disequality More... | |

class | Gecode::Int::Linear::Lq< Val, P, N > |

Propagator for bounds consistent n-ary linear less or equal More... | |

class | Gecode::Int::Linear::ReLq< Val, P, N > |

Propagator for reified bounds consistent n-ary linear less or equal More... | |

class | Gecode::Int::Linear::MemoryLinBoolInt< VX > |

Baseclass for integer Boolean sum using dependencies. More... | |

class | Gecode::Int::Linear::SpeedLinBoolInt< VX > |

Baseclass for integer Boolean sum using advisors. More... | |

class | Gecode::Int::Linear::EqBoolInt< VX > |

Propagator for integer equal to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::EqBoolInt< VX >::Memory |

Propagator using less memory but with linear runtime. More... | |

class | Gecode::Int::Linear::EqBoolInt< VX >::Speed |

Propagator using more memory but with constant runtime. More... | |

class | Gecode::Int::Linear::GqBoolInt< VX > |

Propagator for integer less or equal to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::GqBoolInt< VX >::Memory |

Propagator using less memory but with linear runtime. More... | |

class | Gecode::Int::Linear::GqBoolInt< VX >::Speed |

Propagator using more memory but with constant runtime. More... | |

class | Gecode::Int::Linear::NqBoolInt< VX > |

Propagator for integer disequal to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::LinBoolView< XV, YV > |

Base-class for Boolean linear propagators. More... | |

class | Gecode::Int::Linear::ReLinBoolView< XV, YV, BV > |

Base-class for reified Boolean linear propagators. More... | |

class | Gecode::Int::Linear::EqBoolView< XV, YV > |

Propagator for equality to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::NqBoolView< XV, YV > |

Propagator for disequality to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::GqBoolView< XV, YV > |

Propagator for greater or equal to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::ReEqBoolView< XV, YV, BV > |

Propagator for reified equality to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::ReGqBoolView< XV, YV, BV > |

Propagator for reified greater or equal to Boolean sum (cardinality) More... | |

class | Gecode::Int::Linear::ScaleBool |

Coefficient and Boolean view. More... | |

class | Gecode::Int::Linear::ScaleBoolArray |

Array of scale Boolean views. More... | |

class | Gecode::Int::Linear::EmptyScaleBoolArray |

Empty array of scale Boolean views. More... | |

class | Gecode::Int::Linear::LinBoolScale< SBAP, SBAN, VX, pcx > |

Base class for linear Boolean constraints with coefficients. More... | |

class | Gecode::Int::Linear::EqBoolScale< SBAP, SBAN, VX > |

Propagator for equality to Boolean sum with coefficients More... | |

class | Gecode::Int::Linear::LqBoolScale< SBAP, SBAN, VX > |

Propagator for inequality to Boolean sum with coefficients More... | |

class | Gecode::Int::Linear::NqBoolScale< SBAP, SBAN, VX > |

Propagator for disequality to Boolean sum with coefficients More... | |

class | Gecode::Int::Linear::Term< View > |

Class for describing linear term . More... | |

## Functions | |

template<class View> | |

void | Gecode::Int::Linear::estimate (Term< View > *t, int n, int c, int &l, int &u) |

Estimate lower and upper bounds. | |

template<class View> | |

bool | Gecode::Int::Linear::normalize (Term< View > *t, int &n, Term< View > *&t_p, int &n_p, Term< View > *&t_n, int &n_n) |

Normalize linear integer constraints. | |

void | Gecode::Int::Linear::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. | |

void | Gecode::Int::Linear::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. | |

void | Gecode::Int::Linear::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 | Gecode::Int::Linear::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. | |

void | Gecode::Int::Linear::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 | Gecode::Int::Linear::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. |