18
$\begingroup$

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?

$\endgroup$
2
  • 1
    $\begingroup$ I used GLPK once and it seemed to work fine. $\endgroup$
    – joriki
    Dec 6, 2012 at 23:22
  • $\begingroup$ GAMS and LINGO are quite popular for linear, quadratic and nonlinear programming (integer programming supported too). MATLAB has a few built-in functions for linear programming, but for integer programming you would either have to write your own branch-and-bound code or pay for some toolbox. QPC (sigpromu.org/quadprog) is a quadratic prog. solver with interface for MATLAB and it is rather efficient. You should definitely check YALMIP (goo.gl/Hzqq9) for MATLAB. CPLEX is free for academic use. There's also Gurobi (gurobi.com) and a lot more... $\endgroup$ Dec 6, 2012 at 23:29

5 Answers 5

14
$\begingroup$
  • 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.

$\endgroup$
1
  • 1
    $\begingroup$ a nice list indeed! +1 $\endgroup$
    – Amzoti
    May 23, 2013 at 5:53
12
$\begingroup$

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.

$\endgroup$
5
$\begingroup$

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.

$\endgroup$
2
$\begingroup$

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!

$\endgroup$
1
  • 1
    $\begingroup$ Yes actually sage uses (by default) GLPTK and can be tweaked to run gurobi as well. $\endgroup$
    – Jernej
    Dec 8, 2012 at 8:58
2
$\begingroup$

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/

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .