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

Linear expressions and relations
[Direct modelling]


Detailed Description

Linear expressions can be freely composed of sums and differences of integer variables (Gecode::IntVar) or Boolean variables (Gecode::BoolVar) possibly with integer coefficients and integer constants.

Note that both integer and Boolean variables are automatically available as linear expressions.

Linear relations are obtained from linear expressions with the normal relation operators.


Functions

Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator+ (int, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &)
 Construct linear expression as sum of linear expression and integer.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator+ (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, int)
 Construct linear expression as sum of integer and linear expression.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator+ (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &)
 Construct linear expression as sum of linear expressions.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator- (int, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &)
 Construct linear expression as difference of linear expression and integer.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator- (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, int)
 Construct linear expression as difference of integer and linear expression.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator- (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &)
 Construct linear expression as difference of linear expressions.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator- (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &)
 Construct linear expression as negative of linear expression.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator* (int, const Gecode::IntVar &)
 Construct linear expression as product of integer coefficient and integer variable.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator* (const Gecode::IntVar &, int)
 Construct linear expression as product of integer coefficient and integer variable.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator* (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &, int)
 Construct linear expression as product of integer coefficient and linear expression.
Gecode::MiniModel::LinExpr
< Gecode::IntVar
operator* (int, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &)
 Construct linear expression as product of integer coefficient and linear expression.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator+ (int, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &)
 Construct linear expression as sum of linear expression and integer.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator+ (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, int)
 Construct linear expression as sum of integer and linear expression.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator+ (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &)
 Construct linear expression as sum of linear expressions.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator- (int, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &)
 Construct linear expression as difference of linear expression and integer.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator- (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, int)
 Construct linear expression as difference of integer and linear expression.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator- (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &)
 Construct linear expression as difference of linear expressions.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator- (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &)
 Construct linear expression as negative of linear expression.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator* (int, const Gecode::BoolVar &)
 Construct linear expression as product of integer coefficient and integer variable.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator* (const Gecode::BoolVar &, int)
 Construct linear expression as product of integer coefficient and integer variable.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator* (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &, int)
 Construct linear expression as product of integer coefficient and linear expression.
Gecode::MiniModel::LinExpr
< Gecode::BoolVar
operator* (int, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &)
 Construct linear expression as product of integer coefficient and linear expression.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator== (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear equality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator== (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r)
 Construct linear equality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator== (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear equality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator!= (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear disequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator!= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r)
 Construct linear disequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator!= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear disequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator< (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator< (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator< (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator<= (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator<= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator<= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator> (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator> (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator> (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator>= (int l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator>= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::IntVar
operator>= (const Gecode::MiniModel::LinExpr< Gecode::IntVar > &l, const Gecode::MiniModel::LinExpr< Gecode::IntVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator== (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear equality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator== (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r)
 Construct linear equality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator== (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear equality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator!= (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear disequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator!= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r)
 Construct linear disequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator!= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear disequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator< (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator< (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator< (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator<= (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator<= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator<= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator> (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator> (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator> (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator>= (int l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator>= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, int r)
 Construct linear inequality relation.
Gecode::MiniModel::LinRel
< Gecode::BoolVar
operator>= (const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &l, const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &r)
 Construct linear inequality relation.


Function Documentation

Construct linear expression as sum of linear expression and integer.

Definition at line 246 of file lin-expr.icc.

Construct linear expression as sum of integer and linear expression.

Definition at line 251 of file lin-expr.icc.

Construct linear expression as sum of linear expressions.

Definition at line 256 of file lin-expr.icc.

Construct linear expression as difference of linear expression and integer.

Definition at line 261 of file lin-expr.icc.

Construct linear expression as difference of integer and linear expression.

Definition at line 266 of file lin-expr.icc.

Construct linear expression as difference of linear expressions.

Definition at line 271 of file lin-expr.icc.

Construct linear expression as negative of linear expression.

Definition at line 276 of file lin-expr.icc.

Gecode::MiniModel::LinExpr<Gecode::IntVar> operator* ( int  ,
const Gecode::IntVar  
) [inline]

Construct linear expression as product of integer coefficient and integer variable.

Definition at line 280 of file lin-expr.icc.

Gecode::MiniModel::LinExpr<Gecode::IntVar> operator* ( const Gecode::IntVar ,
int   
) [inline]

Construct linear expression as product of integer coefficient and integer variable.

Definition at line 284 of file lin-expr.icc.

Construct linear expression as product of integer coefficient and linear expression.

Definition at line 288 of file lin-expr.icc.

Construct linear expression as product of integer coefficient and linear expression.

Definition at line 292 of file lin-expr.icc.

Construct linear expression as sum of linear expression and integer.

Definition at line 298 of file lin-expr.icc.

Construct linear expression as sum of integer and linear expression.

Definition at line 303 of file lin-expr.icc.

Construct linear expression as sum of linear expressions.

Definition at line 308 of file lin-expr.icc.

Construct linear expression as difference of linear expression and integer.

Definition at line 313 of file lin-expr.icc.

Construct linear expression as difference of integer and linear expression.

Definition at line 318 of file lin-expr.icc.

Construct linear expression as difference of linear expressions.

Definition at line 323 of file lin-expr.icc.

Construct linear expression as negative of linear expression.

Definition at line 328 of file lin-expr.icc.

Gecode::MiniModel::LinExpr<Gecode::BoolVar> operator* ( int  ,
const Gecode::BoolVar  
) [inline]

Construct linear expression as product of integer coefficient and integer variable.

Definition at line 332 of file lin-expr.icc.

Gecode::MiniModel::LinExpr<Gecode::BoolVar> operator* ( const Gecode::BoolVar ,
int   
) [inline]

Construct linear expression as product of integer coefficient and integer variable.

Definition at line 336 of file lin-expr.icc.

Construct linear expression as product of integer coefficient and linear expression.

Definition at line 340 of file lin-expr.icc.

Construct linear expression as product of integer coefficient and linear expression.

Definition at line 344 of file lin-expr.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator== ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  r 
) [inline]

Construct linear equality relation.

Definition at line 108 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator== ( const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  l,
int  r 
) [inline]

Construct linear equality relation.

Definition at line 113 of file lin-rel.icc.

Construct linear equality relation.

Definition at line 118 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator!= ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  r 
) [inline]

Construct linear disequality relation.

Definition at line 124 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator!= ( const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  l,
int  r 
) [inline]

Construct linear disequality relation.

Definition at line 129 of file lin-rel.icc.

Construct linear disequality relation.

Definition at line 134 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator< ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 140 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator< ( const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 145 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 150 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator<= ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 156 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator<= ( const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 161 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 166 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator> ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 172 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator> ( const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 177 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 182 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator>= ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 188 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::IntVar> operator>= ( const Gecode::MiniModel::LinExpr< Gecode::IntVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 193 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 198 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator== ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  r 
) [inline]

Construct linear equality relation.

Definition at line 205 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator== ( const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  l,
int  r 
) [inline]

Construct linear equality relation.

Definition at line 210 of file lin-rel.icc.

Construct linear equality relation.

Definition at line 215 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator!= ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  r 
) [inline]

Construct linear disequality relation.

Definition at line 221 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator!= ( const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  l,
int  r 
) [inline]

Construct linear disequality relation.

Definition at line 226 of file lin-rel.icc.

Construct linear disequality relation.

Definition at line 231 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator< ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 237 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator< ( const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 242 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 247 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator<= ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 253 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator<= ( const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 258 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 263 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator> ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 269 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator> ( const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 274 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 279 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator>= ( int  l,
const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  r 
) [inline]

Construct linear inequality relation.

Definition at line 285 of file lin-rel.icc.

Gecode::MiniModel::LinRel<Gecode::BoolVar> operator>= ( const Gecode::MiniModel::LinExpr< Gecode::BoolVar > &  l,
int  r 
) [inline]

Construct linear inequality relation.

Definition at line 290 of file lin-rel.icc.

Construct linear inequality relation.

Definition at line 295 of file lin-rel.icc.