Bob Fourer, Leo Lopes, and Kipp Martin

The purpose of this Website is to promote an XML standard for representing linear programming problem and solution instances. There are numerous algebraic modeling languages available for generating linear programs and numerous linear programming solvers available for solving the linear program. This proliferation of modeling languages and solvers is a problem if modelers want to use any solver with any modeling language. One way to increase modeler-solver compatibility is to use an industry standard representation of a problem instance so that all modeling languages and all solvers use the same representation of a problem instance.

At this Website we feature LPFML Schema, a W3C Schema for representing problem instances in XML. More importantly, we make available for download a library of open source C++ classes that we have written to facilitate the exchange of information between modeling languages and solvers. For example, we provide the necessary classes that allow any of the OSI solvers (CLP, dylp, GLPK, VOL which are open source and four others CPLEX, OSL, SOPLEX, XPRESS-MP), LINDO, or FortMP to read and solve problems in XML format and output the solution results in XML format. We also provide software that allows a user to create a model with the AMPL modeling language and write the instance data in LPFML format for solver solution.

There are seven main parts to the Web site which is navigated by the links on the left of the page.

  1. Source Code: The C++ source code for all of the libraries for reading and parsing XML files that validate against the LPFML Schema.
  2. Documentation: The documentation for the libraries generated by Doxygen.
  3. Binaries: A set of libraries for the Windows and Linux platforms. These libraries are the compiled C++ source code and may be used to link with solvers such as CLP, GLPK, and LINDO.
  4. License: License information for our libraries.
  5. Test Problems: A set of linear programming instances in XML format including many of the NETLIB test problems.
  6. Paper: A pdf of the paper, ``LPFML: A W3C XML Schema for Linear Programming'' describing this work.
  7. LPFML Schema: The W3C Schema and corresponding documentation for validating instances of linear programming problems.

For an example of our LPFML standard used in a Web Service see the example provided by WEBOPT. We thank Patrick Valente of CARISMA, Brunel University, London, UK and OptiRisk Systems UK for contributing this example.

For questions or comments on this Web site please email Kipp Martin. Bug reports, contributions to the library, and suggestions for revision or extension are welcome, both directly to the authors and through Bugzilla.

Valid XHTML 1.0! Valid CSS! This Web site validates as strict XHTML 1.0 and CSS.