There are several different ways in which Mathematical Programming may be used: - to support consultancy;
- prototyping;
- implementation for routine use.
Paralleling this, there are several different types of Mathematical Programming software. Although the same software can be used for each of these, the requirements differ and software which is ideal for one purpose may be unsuitable for another. Whichever type of software is used, there are the same three stages to running an MP model: - pose an instance of the problem (
*matrix generation*); - find the optimum solution (
*optimization*); - view the solution and generate reports from it (
*report writing*).
The terms in brackets are the ones conventionally used. Although they are not strictly appropriate with certain categories of MP software (e.g. spreadsheet add-ins), and there is a trend towards integration of the stages, it is nonetheless useful to think in terms of them as they help to clarify just what is going on. Most dedicated MP software tackles either matrix generation and report writing; or optimization. Optimization packages are generally referred to as "LP codes", even though they often go far beyond straight Linear Programming (LP). The greatest differences between packages lie in the matrix generation and report writing software. By contrast, optimization packages are fundamentally all alike. The differences between them lie in the matrix formats supported, their performance and the extensions which they offer to the basic linear programming (LP) capability. Examples include CPLEX, XPRESS, and LINDO (which lies behind What's Best!). |