This data stucture represents a linear constraint in the LP. Basically it is a linear expression with a lower or an upper bound (or both). These parts of the constraint can be obtained by the member functions expr(), lowerBound() and upperBound(), respectively. There are two ways to construct a constraint.
<=, == and >= are defined between expressions, or even between constraints whenever it makes sense. Therefore if e and f are linear expressions and s and t are numbers, then the followings are valid expressions and thus they can be used directly e.g. in addRow() whenever it makes sense. e<=s
e<=f
e==f
s<=e<=t
e>=t
x[1]<=x[2]<=5) will compile, but will fail an assertion. #include <lemon/lp_base.h>
Public Member Functions | |
| Constr () | |
| | |
| Constr (Value lb, const Expr &e, Value ub) | |
| | |
| void | clear () |
| | |
| Expr & | expr () |
| Reference to the linear expression. | |
| const Expr & | expr () const |
| Cont reference to the linear expression. | |
| Value & | lowerBound () |
| Reference to the lower bound. | |
| const Value & | lowerBound () const |
| The const version of lowerBound() | |
| Value & | upperBound () |
| Reference to the upper bound. | |
| const Value & | upperBound () const |
| The const version of upperBound() | |
| bool | lowerBounded () const |
| Is the constraint lower bounded? | |
| bool | upperBounded () const |
| Is the constraint upper bounded? | |
Related Functions | |
| (Note that these are not member functions.) | |
| LpBase::Constr | operator<= (const LpBase::Expr &e, const LpBase::Expr &f) |
| Create constraint. | |
| LpBase::Constr | operator<= (const LpBase::Value &e, const LpBase::Expr &f) |
| Create constraint. | |
| LpBase::Constr | operator<= (const LpBase::Expr &e, const LpBase::Value &f) |
| Create constraint. | |
| LpBase::Constr | operator>= (const LpBase::Expr &e, const LpBase::Expr &f) |
| Create constraint. | |
| LpBase::Constr | operator>= (const LpBase::Value &e, const LpBase::Expr &f) |
| Create constraint. | |
| LpBase::Constr | operator>= (const LpBase::Expr &e, const LpBase::Value &f) |
| Create constraint. | |
| LpBase::Constr | operator== (const LpBase::Expr &e, const LpBase::Value &f) |
| Create constraint. | |
| LpBase::Constr | operator== (const LpBase::Expr &e, const LpBase::Expr &f) |
| Create constraint. | |
| LpBase::Constr | operator<= (const LpBase::Value &n, const LpBase::Constr &c) |
| Create constraint. | |
| LpBase::Constr | operator<= (const LpBase::Constr &c, const LpBase::Value &n) |
| Create constraint. | |
| LpBase::Constr | operator>= (const LpBase::Value &n, const LpBase::Constr &c) |
| Create constraint. | |
| LpBase::Constr | operator>= (const LpBase::Constr &c, const LpBase::Value &n) |
| Create constraint. | |
| Value& lowerBound | ( | ) | [inline] |
1.7.3