Constr Class Reference
Detailed Description
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.
- You can set the linear expression and the bounds directly by the functions above.
- The operators
<=
, ==
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
- Warning:
- The validity of a constraint is checked only at run time, so e.g. addRow(
x[1]<=x[2]<=5
) will compile, but will throw a LogicError exception.
#include <lemon/lp_base.h>
List of all members.
|
Public Member Functions |
| Constr () |
|
|
| Constr (Value lb, const Expr &e, Value ub) |
|
|
| Constr (const Expr &e, Value ub) |
|
|
| Constr (Value lb, const Expr &e) |
|
|
| Constr (const Expr &e) |
|
|
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.)
|
LpSolverBase::Constr | operator<= (const LpSolverBase::Expr &e, const LpSolverBase::Expr &f) |
|
|
LpSolverBase::Constr | operator<= (const LpSolverBase::Value &e, const LpSolverBase::Expr &f) |
|
|
LpSolverBase::Constr | operator<= (const LpSolverBase::Expr &e, const LpSolverBase::Value &f) |
|
|
LpSolverBase::Constr | operator>= (const LpSolverBase::Expr &e, const LpSolverBase::Expr &f) |
|
|
LpSolverBase::Constr | operator>= (const LpSolverBase::Value &e, const LpSolverBase::Expr &f) |
|
|
LpSolverBase::Constr | operator>= (const LpSolverBase::Expr &e, const LpSolverBase::Value &f) |
|
|
LpSolverBase::Constr | operator== (const LpSolverBase::Expr &e, const LpSolverBase::Value &f) |
|
|
LpSolverBase::Constr | operator== (const LpSolverBase::Expr &e, const LpSolverBase::Expr &f) |
|
|
LpSolverBase::Constr | operator<= (const LpSolverBase::Value &n, const LpSolverBase::Constr &c) |
|
|
LpSolverBase::Constr | operator<= (const LpSolverBase::Constr &c, const LpSolverBase::Value &n) |
|
|
LpSolverBase::Constr | operator>= (const LpSolverBase::Value &n, const LpSolverBase::Constr &c) |
|
|
LpSolverBase::Constr | operator>= (const LpSolverBase::Constr &c, const LpSolverBase::Value &n) |
|
|
Member Function Documentation
Value& lowerBound |
( |
|
) |
[inline] |
- Returns:
- INF: the constraint is lower unbounded.
- NaN: lower bound has not been set.
- finite number: the lower bound
Value& upperBound |
( |
|
) |
[inline] |
- Returns:
- INF: the constraint is upper unbounded.
- NaN: upper bound has not been set.
- finite number: the upper bound
Friends And Related Function Documentation
- Todo:
- Create an own exception type.
- Todo:
- Create an own exception type.
- Todo:
- Create an own exception type.
- Todo:
- Create an own exception type.