- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Public Member Functions
GlpkLp Class Reference
LP and MIP Solvers

## Detailed Description

This class implements an interface for the GLPK LP solver.

`#include <lemon/glpk.h>`

Inheritance diagram for GlpkLp:
[legend]

## Public Member Functions
| GlpkLp ()
| GlpkLp (const GlpkLp &)
virtual GlpkLp * | cloneSolver () const
virtual GlpkLp * | newSolver () const
SolveExitStatus | solvePrimal ()
| Solve with primal simplex.
SolveExitStatus | solveDual ()
| Solve with dual simplex.
void | presolver (bool presolve)
| Turns on or off the presolver. More...
Public Member Functions inherited from LpSolver
SolveExitStatus | solve ()
ProblemType | primalType () const
| The type of the primal problem.
ProblemType | dualType () const
| The type of the dual problem.
Value | primal (Col c) const
| Return the primal value of the column. More...
Value | primal (const Expr &e) const
| Return the primal value of the expression. More...
Value | primalRay (Col c) const
| Returns a component of the primal ray. More...
Value | dual (Row r) const
| Return the dual value of the row. More...
Value | dual (const DualExpr &e) const
| Return the dual value of the dual expression. More...
Value | dualRay (Row r) const
| Returns a component of the dual ray. More...
VarStatus | colStatus (Col c) const
| Return the basis status of the column. More...
VarStatus | rowStatus (Row r) const
| Return the basis status of the row. More...
Value | primal () const
| The value of the objective function. More...
Public Member Functions inherited from LpBase
virtual | ~LpBase ()
| Virtual destructor.
const char * | solverName () const
| Gives back the name of the solver.
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 variables) at once. More...
void | col (Col c, const DualExpr &e)
| Set a column (i.e a dual constraint) of the LP. More...
DualExpr | col (Col c) const
| Get a column (i.e a dual constraint) of the LP. More...
Col | addCol (const DualExpr &e, Value o=0)
| Add a new column to the LP. More...
Row | addRow ()
| Add a new empty row (i.e a new constraint) to the LP. More...
template<class T >
int | addRowSet (T &t)
| Add several new rows (i.e constraints) at once. More...
void | row (Row r, Value l, const Expr &e, Value u)
| Set a row (i.e a constraint) of the LP. More...
void | row (Row r, const Constr &c)
| Set a row (i.e a constraint) of the LP. More...
Expr | row (Row r) const
| Get a row (i.e a constraint) of the LP. More...
Row | addRow (Value l, const Expr &e, Value u)
| Add a new row (i.e a new constraint) to the LP. More...
Row | addRow (const Constr &c)
| Add a new row (i.e a new constraint) to the LP. More...
void | erase (Col c)
| Erase a column (i.e a variable) from the LP. More...
void | erase (Row r)
| Erase a row (i.e a constraint) from the LP. More...
std::string | colName (Col c) const
| Get the name of a column. More...
void | colName (Col c, const std::string &name)
| Set the name of a column. More...
Col | colByName (const std::string &name) const
| Get the column by its name. More...
std::string | rowName (Row r) const
| Get the name of a row. More...
void | rowName (Row r, const std::string &name)
| Set the name of a row. More...
Row | rowByName (const std::string &name) const
| Get the row by its name. More...
void | coeff (Row r, Col c, Value val)
| Set an element of the coefficient matrix of the LP. More...
Value | coeff (Row r, Col c) const
| Get an element of the coefficient matrix of the LP. More...
void | colLowerBound (Col c, Value value)
| Set the lower bound of a column (i.e a variable) More...
Value | colLowerBound (Col c) const
| Get the lower bound of a column (i.e a variable) More...
template<class T >
void | colLowerBound (T &t, Value value)
| Set the lower bound of several columns (i.e variables) at once. More...
void | colUpperBound (Col c, Value value)
| Set the upper bound of a column (i.e a variable) More...
Value | colUpperBound (Col c) const
| Get the upper bound of a column (i.e a variable) More...
template<class T >
void | colUpperBound (T &t, Value value)
| Set the upper bound of several columns (i.e variables) at once. More...
void | colBounds (Col c, Value lower, Value upper)
| Set the lower and the upper bounds of a column (i.e a variable) More...
template<class T >
void | colBounds (T &t, Value lower, Value upper)
| Set the lower and the upper bound of several columns (i.e variables) at once. More...
void | rowLowerBound (Row r, Value value)
| Set the lower bound of a row (i.e a constraint) More...
Value | rowLowerBound (Row r) const
| Get the lower bound of a row (i.e a constraint) More...
void | rowUpperBound (Row r, Value value)
| Set the upper bound of a row (i.e a constraint) More...
Value | rowUpperBound (Row r) const
| Get the upper bound of a row (i.e a constraint) More...
void | objCoeff (Col c, Value v)
| Set an element of the objective function.
Value | objCoeff (Col c) const
| Get an element of the objective function.
void | obj (const Expr &e)
| Set the objective function. More...
Expr | obj () const
| Get the objective function. More...
void | sense (Sense sense)
| Set the direction of optimization.
Sense | sense () const
| Query the direction of the optimization.
void | max ()
| Set the sense to maximization.
void | min ()
| Set the sense to maximization.
void | clear ()
| Clear the problem.
void | messageLevel (MessageLevel level)
| Set the message level of the solver.
void | write (std::string file, std::string format="MPS") const
| Write the problem to a file in the given format. More...
Public Member Functions inherited from GlpkBase
_solver_bits::VoidPtr | lpx ()
| Pointer to the underlying GLPK data structure.
_solver_bits::VoidPtr | lpx () const
| Const pointer to the underlying GLPK data structure.
int | lpxRow (Row r) const
| Returns the constraint identifier understood by GLPK.
int | lpxCol (Col c) const
| Returns the variable identifier understood by GLPK.
void | write (std::string file, std::string format="MPS") const
| Write the problem or the solution to a file in the given format. More...

## Additional Inherited Members
Public Types inherited from LpSolver
enum | ProblemType { UNDEFINED = 0, INFEASIBLE = 1, FEASIBLE = 2, OPTIMAL = 3, UNBOUNDED = 4 }
| The problem types for primal and dual problems. More...
enum | VarStatus { BASIC, FREE, LOWER, UPPER, FIXED }
| The basis status of variables. More...
Public Types inherited from LpBase
enum | SolveExitStatus { SOLVED = 0, UNSOLVED = 1 }
| Possible outcomes of an LP solving procedure. More...
enum | Sense { MIN, MAX }
| Direction of the optimization. More...
enum | MessageLevel { MESSAGE_NOTHING, MESSAGE_ERROR, MESSAGE_WARNING, MESSAGE_NORMAL, MESSAGE_VERBOSE }
| Enum for `messageLevel()` parameter. More...
typedef double | Value
| The floating point type used by the solver.
Static Public Member Functions inherited from LpBase
static int | id (const Col &col)
| Returns the ID of the column.
static Col | colFromId (int id)
| Returns the column with the given ID. More...
static int | id (const Row &row)
| Returns the ID of the row.
static Row | rowFromId (int id)
| Returns the row with the given ID. More...
Static Public Attributes inherited from LpBase
static const Value | INF
| The infinity constant.
static const Value | NaN
| The not a number constant.

## Member Function Documentation

void presolver | ( | bool | presolve | ) |

Turns on (`b` is `true`) or off (`b` is `false`) the presolver

The presolver is off by default.