Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I never did any linear/integer programming so I am wondering the following two things

  • What are some efficient free linear programming solvers?
  • What are some efficient commercial linear programming solvers?

It would be nice to supply a dummy usage example with each proposed answer.

Also what if wish to solve a integer programming problem? What are the answers to the above two questions in this case?

I know that integer LP is a hard problem but there are some relaxing methods that are sometimes employed in order to obtain a solution to an integer programming problem. Are there any software packages implementing this kind of stuff?

share|improve this question

5 Answers 5

up vote 7 down vote accepted

A few Linear Programming solvers:

  • GLPK (GNU Linear Programming Kit) is written in C. Take a look at this intro. GLPK can also do Integer Programming, I believe.

  • CVXOPT is a Python library for convex optimization. In addition to LP, it allows you to solve quadratic and semidefinite programs, as well.

  • Gurobi: you can download a free trial.

share|improve this answer
  • See: LiPS:
    Linear Program Solver (LiPS) is intended for solving linear programming problems. Main features: easy to use graphical interface, sensitivity analysis, goal and mixed integer programming solver. LiPS supports MPS and simple LP format (like lpsolve).

  • See also: CLP
    CLP stands for COIN-OR LP (Computational Infrastructure for Operations Research: Linear Programming). CLP is an open-source linear programming solver written in C++.

  • Also from COIN-OR is SYMPHONY, a program for solving integer programming (IP) problems and its variants.

  • And: LpSolvers:
    This site provides installation information for a free-of-charge software package that solves Linear Program models by the Simplex Method and/or the Push-and-Pull Method.

  • Finally, see the Linear and Integer Programming Software section of Wikipedia for a more extensive list (with links) of both free and commercial linear programming solvers.

share|improve this answer

The Konrad-Zuse Institute in Berlin (ZIB), Germany provides a nice suite to solve all kinds of LP / ILP tasks. It includes:

  • zimpl: a language to model mathematical programms
  • SCIP: a mixed integer programming solver and constraint programming framework
  • SoPlex: a linear programming solver
  • and more

Best of all, it is free! And all implementations are reasonably fast.

The state of the art in the commercial sector is probably IBM's CPLEX Studio. This is an expansive piece of software, but IBM has an academic program where you get free licenses. However it is a bit of a pain to apply. I used to work with the CPLEX package because it includes this nice modelling language ampl. However when the equivalent free zimpl came out, I switched to the more available ZIB package.

share|improve this answer

I would recommend Sage. It' an excellent Python-based free alternative to Magma, Maple, Mathematica or Matlab!

Formulating LP problems using it it's also quite simple compared to other tools!

share|improve this answer

I use lpsolve IDE, in addition to using lpsolve with R, with Python, etc.

Here is a list of some of the IDE features:

  • Everything is graphical and mouse controlled
  • Enter your lp model in all supported formats and even via an XLI (external language interface)
  • Convert your lp model from any supported format to another supported format and even via an XLI
  • Very user friendly editor to enter/change the model with syntax highlight
  • Syntax checking of the model
  • Solve the model
  • See the results in grids
  • Control every possible lpsolve option (tolerances, presolve, scaling, ...)
  • View the matrix in grids
  • Export model to HTML, RTF, LaTeX output
  • Export matrix to CSV, HTML, RTF output
  • Export results to CSV, HTML, RTF output
  • Show statistics about the model.
  • ...

More details: http://sourceforge.net/projects/lpsolve/

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com?utm_source=stackoverflow.com&amp;utm_medium=site-ui&amp;utm_campaign=footerlink\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2014 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a>                   with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2014.11.25.2047\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Mathematics Stack Exchange works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></di"], "copyright__copyright__copyright": ["ve, scaling, ...)\n  \u2022 View the matrix in grids\n  \u2022 Export model to HTML, RTF, LaTeX output\n  \u2022 Export matrix to CSV, HTML, RTF output\n  \u2022 Export results to CSV, HTML, RTF output\n  \u2022 Show statistics about the model.\n  \u2022 ...\n\nMore details: http://sourceforge.net/projects/lpsolve/\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}