|
OR/MS Today - December 2003 Software Survey Linear Programming Seventh in a series of LP surveys spotlights trend toward broadening scope of optimization software. By Robert Fourer This is the seventh in a series of surveys of software for linear programming, dating back to 1990. As in the case of earlier surveys, information has been gathered by means of a questionnaire sent to LP software vendors by the editors of OR/MS Today. Results are summarized by product in the tables following this article, after which contact details for further information are listed by vendor. Additional responses are welcome and will be added to the Web version of the survey. To receive a questionnaire, send an e-mail message to Online Projects Manager Patton McGinley: patton@lionhrtpub.com. This article comments on new developments and trends in LP software. The ordering of topics is roughly parallel to the organization of the tables. Terms in bold correspond to table headings. Some of the listed products handle other kinds of discrete variables and constraints, as well as nonlinear programs and even problems outside of optimization. The tabulated information pertains to the linear programming and related integer programming aspects, except as indicated otherwise. The broadening scope of LP software is a continuing trend, however, to which this article will return later. Although the products surveyed have a common purpose and share many aspects of design, they are best understood as incorporating two complementary but fundamentally different types of software. Solver software takes an instance of an LP model as input, applies one or more solution methods, and returns the results. Modeling software, typically designed around a computer modeling language for expressing LP models, offers features for reporting, model management and application development, in addition to a translator for the language. Many solver and modeling products have been developed as independent applications. Thus, solvers typically support links to many modeling systems, and modeling systems work with many solvers. In some cases the two may be acquired as separate products and linked by the purchaser, but more commonly they are bought in bundles of various kinds. Most modeling system developers arrange to offer a variety of bundled solvers, providing modelers with an easy way to benchmark competing solvers before committing to purchase one. Some solver developers also offer bundles with modeling systems. A number of the latter developers also offer integrated systems that provide a modeling environment specifically for their own solvers. Many variations on these arrangements are possible, so that prospective purchases are well advised to confirm the details carefully. Most commercial LP software libraries are distributed as binaries for linking into the user's applications. In addition to the few offering source code that are listed in our table, several non-commercial solvers make their source available. A number of open source solvers are maintained at the COIN-OR site (www.coin-or.org), while GLPK (www.gnu.org/software/glpk/glpk.html) includes C source for LP and MIP solvers and a modeling language. The application development environments provided by spreadsheet and database programs have proved to be particularly attractive for embedding of LP software. At the least, most LP modeling environments can read and write common spreadsheet and database file formats. Spreadsheet packages can also accept solver add-ins whose appeal to users and convenience for development are widely appreciated. The solver add-ins that come packaged with spreadsheet products are effective only for small and easy problems; much more powerful LP software add-in options are available for separate purchase. Several developers of scientific and statistical packages also offer LP software add-ins specifically for their products. Most LP modeling systems and solvers can also handle model instances expressed in simple text formats, mainly the "MPS" format dating back many decades and various "LP" formats that resemble textbook examples complete with + and = signs. These formats mainly serve for submitting bug reports and for communicating benchmark problems. Modeling systems use much more general and efficient formats for communicating problem instances to solvers and for retrieving results. Each uses its own format, unfortunately, so that every modeler-solver link requires a different translation. Possibilities for a superior standard form for model instances are receiving increasingly serious attention, however. In particular an XML-based form would facilitate the integration of LP software with Web service standards now coming into wider use. The availability of multiprocessor versions has not changed much, for either shared or distributed memory. A very fast single-processor PC with multiple gigabytes of RAM still appears to be the platform of choice for very large LPs or very hard MIPs. LP software is becoming increasingly available for the 64-bit processors that are necessary for support of more than a few gigabytes. The limited demo and "student" versions of solvers are often most useful in conjunction with a modeling system. Several modeling systems conveniently offer their own demo versions packaged with one or more solvers. Less restricted versions of some products can also be tried out over the Internet by use of the NEOS Server (www-neos.mcs.anl.gov). In the area of discrete optimization, the ideas underlying branch-and-bound search for integer programming are sufficiently powerful to handle broader classes of constraint types. Indeed, MIP solvers have long accommodated variables that take values from an arbitrary list (via special ordered sets of type 1, or SOS1 search rules) and objectives or constraints that incorporate non-convex piecewise-linear terms (via SOS2 rules). Many solvers also have special search rules to help with semi-continuous variables, which must either take a prespecified value or lie in a designated continuous range. Additional kinds of logical constraints, such as if-then and all-different, are gradually becoming more common as specialized search techniques are adapted from related developments in constraint programming software. The distinction between integer programming and constraint programming is thus continuing to fade, though it will not disappear for some time yet. Convex quadratic objectives and constraints, in continuous or integer variables, are another increasingly common extension. Such objectives arise, for example, from variance terms in portfolio optimization problems; integrality can be a result of the fixed units in which securities can be purchased or investments made. Both simplex-based and interior-point methods generalize readily to the convex quadratic case. Convex quadratically constrained quadratic programming further extends to so-called second-order cone programming, which in turn is a case of semidefinite programming, where non-negativity of individual variables is generalized to positive semidefiniteness of symmetric matrices of variables. Problems of these types find varied applications in engineering and design, and provide strong approximations to some hard combinatorial problems. Interior-point methods extend to solve them, though not with the same ease as they solve LP problems. Modeling languages are only beginning to catch up with these problems; they are likely to become more familiar once modeling systems fully support them. Interior-point methods can be motivated as solving directly the fundamental optimality conditions for various problem types. Several developers have indeed generalized this approach to arbitrary smooth nonlinearly constrained nonlinear optimization, though then only local optimality of the results can be guaranteed. Interior-point methods are competitive in this realm with "active set" methods that can be viewed as generalization of the simplex approach. Such generalizations are outside the scope of this survey, but their existence points out the fact that LP software cannot be considered in isolation from software for other kinds of optimization. Indeed, recent interest has focused on a further generalization to global optimization over nonlinear objectives and constraints. Several promising implementations are based on branch-and-bound strategies typical of MIP software, and naturally these can handle nonlinear integer programs as well. One can envision the concept of an LP software survey gradually becoming obsolete, as ideas for solving a variety of harder optimization problems are consolidated.
OR/MS Today copyright © 2003 by the Institute for Operations Research and the Management Sciences. All rights reserved. Lionheart Publishing, Inc. 506 Roswell Rd., Suite 220, Marietta, GA 30060 USA Phone: 770-431-0867 | Fax: 770-432-6969 E-mail: lpi@lionhrtpub.com URL: http://www.lionhrtpub.com Web Site © Copyright 2003 by Lionheart Publishing, Inc. All rights reserved. |