There are numerous algebraic modeling languages for generating linear programs and numerous solvers for computing solutions to linear programs. This proliferation of modeling languages and solvers is frustrating to modelers who find that only certain languages connect to certain solvers. One way to encourage modeler-solver compatibility is to use a standard representation of a problem instance, so that all modeling languages and all solvers deal with problem instances in the same form. Such a standard should be able to express instance-specific and vendor-specific information, should be simple to manipulate and validate, and should promote the integration of optimization software with other software. Given the increasing importance of XML for data representation and exchange, and XML’s ability to support the characteristics above, it is natural to base a proposal for a standard for representing problem instances on XML. In this paper, we present the LPFML Schema, a W3C Schema for representing linear programming problem instances in XML. We also describe a library of open-source C++ classes that we have written to facilitate the exchange of information between modeling languages and solvers. We show how these classes have been used to provide previously unavailable language-solver connections.
INFORMS Journal on Computing 17 (2005) 139–158