We know there are a range of solvers, free and paid, to choose from. We also know that for some situations a free solver might be all that you need. This page is designed to help you better understand your choices among free solvers, their relative performance, and some questions to ask yourself in deciding what type of solver is right for you.
Specifically, on this page we will cover the following topics:
Note, since you are exploring free solvers, our assumption is you are not an academic. If you are, we offer several license types of Gurobi completely free to academic users who meet certain criteria. If you are an academic user (student, faculty, or staff) at a degree-granting institution, or if you are currently taking an online course in optimization, please take a look at our Academic page.
You will find that there are many free solvers available. Below is a short overview of the two open-source solvers that appear to be the most popular choices:
Performance is typically a crucial consideration when choosing a solver. To give a sense of the relative performance of the various solver options listed above, we’ve summarized the results of independent benchmarks tests maintained by Hans Mittelmann at Arizona State. If we look at performance on Mixed Integer Programming (MIP) models across a broad set of test models, the table below shows results along two key dimensions: a) was the solver able to solve the model, and b) how quickly was the model solved?
|Solver||# of Benchmark Problems Solved (out of the 87)||Relative MIP Performance|
|GLPK||0 (no models solved)||n/a (GLPK solved 0 of the test set models)|
|LP_Solve||5||n/a (LP_Solve solved 5 of the test set models)|
* Hans Mittelmann MIPLIB 2010 benchmark (http://plato.asu.edu/ftp/milpc.html)
As you can see from the results, performance varies widely across solvers.
While the above table presents performance in a quantitative way, we’ve seen several cases where solver performance had very qualitative effects. In particular, we know of several people who have built optimization models using free solvers and who were unable to solve the resulting models in an acceptable amount of time. They concluded from this that optimization technology was inappropriate for their problems, when in all likelihood, a more capable solver would have had no trouble solving them.
As you can see from the data above, free solvers tend to struggle with practical models, either failing to solve them at all or solving them relatively slowly. However, we don’t mean to give you the impression that free solvers are never the right choice. Below are a few scenarios where you may want to consider a free solver.
There is no approved budget
You prefer to program in C or C++
The model(s) being solved are both small and relatively easy to solve
One of the most important questions people tend to ask when they are first exploring solvers is if optimization is a fit for their business. We have seen cases where someone selected a free solver, tried building a model, and the solver just couldn't handle the problem. As a result, they assumed their problem was just too complex to use optimization techniques. Alternatively, they found it was just too hard to use, given the solver didn't support the programming language they preferred, they couldn't get support, etc. The team then ends the project and moves on.
This is unfortunate, since with the right tools and support the project might have been a great success. If you find yourself in this situation, please do contact us. We may be able to help steer you in the right direction so you get the results you need to support continuing with the project.
There are several important differences between free and commercial solvers you should keep in mind when comparing free and paid solvers.
We are very confident that when you try it for yourself you will come to the same conclusion so many other companies have: that Gurobi is the smart alternative to "free" solvers.
As a result, we provide easy access to a full-featured evaluation version of Gurobi. Simply log in, or register if you don't already have an account, and then go to our evalution request page. Importantly, Gurobi can read and solve MPS files. This allows you to easily export your existing model from your existing solver and see for yourself how much better Gurobi is. Simply visit our Exporting MPS Files page for more information.
We are always happy to discuss your specific situation and needs. Just contact us at your convenience.
Learn more on the linear programming basics page.