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] |