|
Public Types |
typedef double | Value |
| The floating point type used by the solver.
|
enum | SolveExitStatus { SOLVED = 0,
UNSOLVED = 1
} |
| Possible outcomes of an LP solving procedure. More...
|
enum | SolutionStatus {
UNDEFINED = 0,
INFEASIBLE = 1,
FEASIBLE = 2,
OPTIMAL = 3,
INFINITE = 4
} |
| More...
|
enum | ProblemTypes {
PRIMAL_DUAL_FEASIBLE = 0,
PRIMAL_FEASIBLE_DUAL_INFEASIBLE = 1,
PRIMAL_INFEASIBLE_DUAL_FEASIBLE = 2,
PRIMAL_DUAL_INFEASIBLE = 3,
UNKNOWN = 4
} |
| The type of the investigated LP problem More...
|
Public Member Functions |
| LpSolverBase () |
|
|
virtual | ~LpSolverBase () |
|
|
LpSolverBase & | newLp () |
| Creates a new LP problem.
|
LpSolverBase & | copyLp () |
| Makes a copy of the LP problem.
|
|
Col | addCol () |
| Add a new empty column (i.e a new variable) to the LP.
|
template<class T> |
int | addColSet (T &t) |
| Adds several new columns (i.e a variables) at once.
|
void | setCol (Col c, const DualExpr &e) |
| Set a column (i.e a dual constraint) of the LP.
|
Col | addCol (const DualExpr &e, Value obj=0) |
| Add a new column to the LP.
|
Row | addRow () |
| Add a new empty row (i.e a new constraint) to the LP.
|
template<class T> |
int | addRowSet (T &t) |
| Add several new rows (i.e a constraints) at once.
|
void | setRow (Row r, Value l, const Expr &e, Value u) |
| Set a row (i.e a constraint) of the LP.
|
void | setRow (Row r, const Constr &c) |
| Set a row (i.e a constraint) of the LP.
|
Row | addRow (Value l, const Expr &e, Value u) |
| Add a new row (i.e a new constraint) to the LP.
|
Row | addRow (const Constr &c) |
| Add a new row (i.e a new constraint) to the LP.
|
void | eraseCol (Col c) |
| Erase a coloumn (i.e a variable) from the LP.
|
void | eraseRow (Row r) |
| Erase a row (i.e a constraint) from the LP.
|
void | setCoeff (Row r, Col c, Value val) |
| Set an element of the coefficient matrix of the LP.
|
void | colLowerBound (Col c, Value value) |
| Set the lower bound of a column (i.e a variable).
|
void | colUpperBound (Col c, Value value) |
| Set the upper bound of a column (i.e a variable).
|
void | colBounds (Col c, Value lower, Value upper) |
| Set the lower and the upper bounds of a column (i.e a variable).
|
void | rowBounds (Row c, Value lower, Value upper) |
| Set the lower and the upper bounds of a row (i.e a constraint).
|
void | objCoeff (Col c, Value v) |
| Set an element of the objective function.
|
void | setObj (Expr e) |
| Set the objective function.
|
void | max () |
| Maximize.
|
void | min () |
| Minimize.
|
|
SolveExitStatus | solve () |
|
SolutionStatus | primalStatus () |
| The status of the primal problem (the original LP problem).
|
SolutionStatus | dualStatus () |
| The status of the dual (of the original LP) problem.
|
ProblemTypes | problemType () |
| The type of the original LP problem.
|
Value | primal (Col c) |
|
|
Value | primalValue () |
|
|
Static Public Attributes |
static const Value | INF = std::numeric_limits<Value>::infinity() |
| The infinity constant.
|
static const Value | NaN = std::numeric_limits<Value>::quiet_NaN() |
| The not a number constant.
|
Protected Member Functions |
virtual LpSolverBase & | _copyLp () |
virtual ProblemTypes | _getProblemType ()=0 |
Classes |
class | Col |
| Refer to a column of the LP. More...
|
class | Constr |
| Linear constraint. More...
|
class | DualExpr |
| Linear expression of rows. More...
|
class | Expr |
| Linear expression of variables and a constant component. More...
|
class | Row |
| Refer to a row of the LP. More...
|