A solver module based on a linear programming algorithm. More...
Classes | |
class | LPSolver |
This class is a prototype of an Linear Programming (LP) Solver for the planning problem or a subset of it. More... | |
class | PythonLPSolver |
Functions | |
const char * | initialize (const CommandLoadLibrary::ParameterList &z) |
Variables | |
const Keyword | tag_datafile ("datafile") |
const Keyword | tag_modelfile ("modelfile") |
const Keyword | tag_objective ("objective") |
const Keyword | tag_solutionfile ("solutionfile") |
A solver module based on a linear programming algorithm.
The solver is intended primarly for prototyping purposes. Cleaner and more performant alternatives are recommended for real production use.
The module uses the "Gnu Linear Programming Kit" library (aka GLPK) to solve the LP model.
The solver works as follows:
The XML schema extension enabled by this module is (see mod_lpsolver.xsd):
<xsd:complexType name="solver_lp"> <xsd:complexContent> <xsd:extension base="solver"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="loglevel" type="loglevel" /> <xsd:element name="minimum" type="xsd:boolean" /> <xsd:element name="modelfile" type="xsd:normalizedString" /> <xsd:element name="datafile" type="xsd:normalizedString" /> <xsd:element name="solutionfile" type="xsd:normalizedString" /> <xsd:element name="objective" type="xsd:normalizedString" /> </xsd:choice> <xsd:attribute name="loglevel" type="loglevel" /> <xsd:attribute name="minimum" type="xsd:boolean" /> <xsd:attribute name="modelfile" type="xsd:normalizedString" /> <xsd:attribute name="datafile" type="xsd:normalizedString" /> <xsd:attribute name="solutionfile" type="xsd:normalizedString" /> <xsd:attribute name="objective" type="xsd:normalizedString" /> </xsd:extension> </xsd:complexContent> </xsd:complexType>
const char* module_lp_solver::initialize | ( | const CommandLoadLibrary::ParameterList & | z | ) |
Initialization routine for the library.
const Keyword module_lp_solver::tag_datafile("datafile") |
const Keyword module_lp_solver::tag_modelfile("modelfile") |
const Keyword module_lp_solver::tag_objective("objective") |
const Keyword module_lp_solver::tag_solutionfile("solutionfile") |