GlpkBase Class Reference

- 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
GlpkBase Class Reference
LP and MIP Solvers

## Detailed Description

This class implements the common interface of the GLPK LP and MIP solver.

`#include <lemon/glpk.h>`

Inheritance diagram for GlpkBase:
[legend]

## Public Member Functions
_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...
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...

## Additional Inherited Members
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 write | ( | std::string | file,
|  | std::string | format = `"MPS"`
| ) |  | const
| inline

This function writes the problem or the solution to a file in the given format. Trying to write in an unsupported format will trigger LpBase::UnsupportedFormatError.

Parameters

  file | The file path
  format | The output file format. Supportted formats are "MPS" and "LP".