I'm familiar with COIN-OR and have also used a couple packages in R to solve LPs. Today I found out Google has their own open source optimization software, and it got me wondering what other open source LP solvers are out there?
- 5,412
- 5
- 22
- 55
- 747
- 4
- 13
-
3Some of that Gookel-listed OR-Tools software is actually COIN-OR, not Google-developed. For instance, the MILIP solver, CBC https://github.com/coin-or/Cbc . – Mark L. Stone May 30 '19 at 22:22
-
1Thanks for the clarification since I hadn't had a chance to dig in to it yet. – Zohar Strinka May 30 '19 at 22:50
-
3I think this is the type of question that would do well if answered as a community wiki – Michael Feldmeier May 31 '19 at 09:04
-
1Maybe I am too picky, but besides the tag, the question and the titel do not mention what you want to solve. A reader might think you are searching for a MDP solver or something else. – Michiel uit het Broek May 31 '19 at 10:02
-
Fair point. I'll add that clarification to my post. – Zohar Strinka May 31 '19 at 11:58
-
Are you looking for a simplex solver for LP, or an interior point solver? Or are you just looking for something that will solve LPs? – SparseRunner Jun 02 '19 at 08:33
-
Typically I'm just looking for "something that will give me the optimal solution with as few drawbacks as possible." However, an answer that explains why I should be more picky would be helpful. – Zohar Strinka Jun 02 '19 at 12:29
-
I agree this question is too broad, but if you can be more specific about what you are looking on, I will probably vote to reopen. For example, are you looking for an LP solver? A MIP solver? Something more general? Specifically open-source? Something specifically for R? – LarrySnyder610 Jun 12 '19 at 00:09
-
1We settled on specifically open source and specifically LP solvers (which is most of what I use as a freelancer who doesn't want to pay licensing fees). – Zohar Strinka Jun 12 '19 at 01:42
6 Answers
OpenSolver is an LP/IP/NLP solver that plugs into Microsoft Excel. I used it for some classroom stuff a while back and was quite pleased with it.
If you are interested in metaheuristics, there are quite a few open-source contributions floating around (about which I mostly know nothing). I have used the Watchmaker Framework for Evolutionary Computation (i.e., genetic algorithms) successfully in a couple of projects. I don't think it is under active development any more (although the developer might respond to pull requests), but it is quite well documented and works. Not long ago, I looked around and found some other Java-based GA libraries, but have not gotten around to testing any.
- 39,078
- 3
- 37
- 104
Mittelmann benchmarks a number of (LP-)Solvers, some of which are open source. A recent new open source solver is HiGHS.
- 2,856
- 14
- 40
I compiled a list of solvers I could find last year. Several are COIN-OR-affiliated, but others include Mini-CP, DSP, BiqBin, OSQP, ECOS, and Dakota. (Edit - not all are dedicated LP, see comments below)
- 1,317
- 8
- 22
-
Few of these are (dedicated) LP solvers, so will lack the ability to exploit the form and sparsity of practical LP problems in order to compete with specialist solvers. – SparseRunner Jun 01 '19 at 10:19
-
Thanks for this comment - this will surely be helpful for others. As a note, the original version of the question wasn’t specifically about LPs. – E. Tucker Jun 01 '19 at 11:57
I believe SCIP is the fastest non-commercial solver. It’s free for academic use. You can check out the benchmarks by Hans Mittelmann for other suggestions.
- 1,235
- 6
- 14
-
1
-
2
-
1
-
1
-
1
-
1
-
9It is technically not open-source. You can download the source code and look at it, but you can only use it for academic purposes unless you acquire a commercial license. – Robert Schwarz May 31 '19 at 07:09
-
1SCIP is a MIP solver. Although it can be used to solve LPs, the default open-source LP solver it uses is Soplex which, although reliable is far from being the fastest open-source LP solver. In all this I'm referring to simplex solvers. – SparseRunner Jun 01 '19 at 09:44
-
The question didn't originally ask for LP solvers. See the edits :) – Edward Lam Jun 02 '19 at 06:48
Just to add another, easily google-able, resource: Wikipedia, more or less, "maintains" a "List of optimization software" -- which includes the super handy "Mathematical optimization software" template I -- disclaimer: shameless self-plug -- started 6 years ago (and never bothered to curate) [the latter also includes references to alternat(iv)e taxonomies in its "talk" section].
- 1,026
- 8
- 16
-
1This WIkipedia page doesn't (really) mention COIN-OR, or widely-used high quality open-source solvers such as CBC or CLP. It really needs updating – SparseRunner Jun 01 '19 at 14:50
-
3@SparseRunner Well, it's Wikipedia... so you can add relevant information when/if it's missing. (The template includes references to CBC, CLP, and other COIN-OR projects.) – fbahr Jun 01 '19 at 15:24
Another open-source software is the GNU Linear Programming Kit (GLPK) and can be downloaded here.
Description (from Wikipedia):
The GNU Linear Programming Kit is a software package intended for solving large-scale linear programming, mixed integer programming, and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library.
- 5,412
- 5
- 22
- 55
-
2As a simplex solver, Mittelmann's benchmarks show GLPK to be terribly slow for large-scale LPs – SparseRunner Jun 01 '19 at 09:45