在哪裡可以找到開源的LP解算器?


34

我熟悉COIN-OR,並且還在R中使用了幾個軟件包來解決LP。今天,我發現Google擁有自己的open source optimization software,這讓我想知道還有哪些其他開源LP解算器?

12

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.


20

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.


19

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


16

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)


5

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.


10

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