IBM ILOG
For serious commercial optimisation, you should at least have a look at IBM‘s web site. Developers and suppliers of a range of optimisation class libraries and tools, including:
- ILOG CPLEX for linear, integer and quadratic programming
- IBM ILOG Decision Optimisation Centre is an environment for modelling and solving optimisation problems
Gurobi
Gurobi was founded in 2008 by arguably the most experienced and respected solver-development team in optimization. Since then they have grown to be a leader in the industry through a combination of performance, support, and ease-of-use. They have gathered some of the top researchers around the world into the development team, and keep pushing the boundaries on performance. As a company they are very open and easy to work with. Their helpline support is open too, so we can all learn from everyone’s questions which generates a real active community feeling.
FICO Dash Optimization
The other serious commercial optimisation contender is Dash Optimization. They are the developers and suppliers of a range of optimisation tools, including:
- Xpress-MP for solving a range of optimisation problems, including linear, integer, quadratic and non-linear programming.
Other commercial suppliers
IBM ILOG, Gurobi and FICO Dash are the main players in the major commercial and academic institutions. However, there are a number of other providers and suppliers who are still active, either because of particular techniques that they use, or because they are working in niche markets.
SCIP
SCIP is an enormously flexible solver from the University of Berlin that also offers good performance. Since it is so open in it’s architecture it is a favourite tool of many researchers worldwide who are working on problem decomposition techniques such as column generation.
Maximal Software, Inc
Maximal Software are the developers of the MPL modelling language and tools. These have been implemented very carefully in C to provide the fastest model generation and smallest memory consumption. The MPL modelling environment is typically used with one of the major commercial linear and integer optimisation engines such as ILOG CPLEX or Dash Xpress, but also provides the option of using many other solvers instead including a number of free or open source solvers. Their web site is at http://www.maximalsoftware.com.
Public Domain and Free
Of course there are also many freely available tools and packages and lots of documentation which can be downloaded from the internet. Some of these tools are reasonably mature and the quality and performance of these tools is often sufficient for a proof of concept implementation, and may be good enough for regular use. However, much of this free stuff is written by researchers and academics, and has a very technical bias which may be very daunting for the uninitiated.
The NEOS site is a good place to start looking at optimisation tools. They have descriptions of the various problem types, and decision trees tro help you decide what sort of problem type you may have, and what sort of solver may be appropriate. They have lists of available tools with some description about what each does. They make a number of the tools available for anybody to use, but don’t think that it’s too simple. You need to know quite a lot to formulate a problem in a suitable format and to understand the output. Visit http://www-neos.mcs.anl.gov/neos/ and look around.
Another good place to look is the COIN-OR site http://www.coin-or.org which is a growing collection of free software. Again, it is highly technically oriented, aimed at the practitioner rather than a business user. We have been using the Open Solver Interface (OSI) to allow us to write our software in a relatively solver-independent way. We have also been using the Sonnet C# wrapper library around OSI which gives an API which is much more similar to IBM ILOG Concert or Gurobi’s C# interfaces than bare OSI.