30
$\begingroup$

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?

$\endgroup$
  • 3
    $\begingroup$ Some of that Gookel-listed OR-Tools software is actually COIN-OR, not Google-developed. For instance, the MILIP solver, CBC github.com/coin-or/Cbc . $\endgroup$ – Mark L. Stone May 30 at 22:22
  • 1
    $\begingroup$ Thanks for the clarification since I hadn't had a chance to dig in to it yet. $\endgroup$ – Zohar Strinka May 30 at 22:50
  • 2
    $\begingroup$ I think this is the type of question that would do well if answered as a community wiki $\endgroup$ – Michael Feldmeier May 31 at 9:04
  • 1
    $\begingroup$ Maybe 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. $\endgroup$ – Michiel uit het Broek May 31 at 10:02
  • 1
    $\begingroup$ We 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). $\endgroup$ – Zohar Strinka Jun 12 at 1:42
19
$\begingroup$

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.

$\endgroup$
18
$\begingroup$

Mittelmann benchmarks a number of (LP-)Solvers, some of which are open source. A recent new open source solver is HiGHS.

$\endgroup$
16
$\begingroup$

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)

$\endgroup$
  • $\begingroup$ 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. $\endgroup$ – SparseRunner Jun 1 at 10:19
  • $\begingroup$ 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. $\endgroup$ – E. Tucker Jun 1 at 11:57
12
$\begingroup$

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.

$\endgroup$
  • 1
    $\begingroup$ Is it open source? $\endgroup$ – independentvariable May 30 at 22:32
  • 2
    $\begingroup$ Yes but only for academic use. $\endgroup$ – Edward Lam May 30 at 22:38
  • 1
    $\begingroup$ Where can we find the source? Thanks. $\endgroup$ – independentvariable May 30 at 22:40
  • 1
    $\begingroup$ I would suggest starting on their website $\endgroup$ – Michael Feldmeier May 30 at 22:41
  • 8
    $\begingroup$ It 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. $\endgroup$ – Robert Schwarz May 31 at 7:09
10
$\begingroup$

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].

$\endgroup$
  • 1
    $\begingroup$ This 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 $\endgroup$ – SparseRunner Jun 1 at 14:50
  • 3
    $\begingroup$ @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.) $\endgroup$ – fbahr Jun 1 at 15:24
5
$\begingroup$

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.

$\endgroup$
  • 2
    $\begingroup$ As a simplex solver, Mittelmann's benchmarks show GLPK to be terribly slow for large-scale LPs $\endgroup$ – SparseRunner Jun 1 at 9:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.