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
1  
I used GLPK once and it seemed to work fine. –  joriki Dec 6 '12 at 23:22
    
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... –  Pantelis Sopasakis Dec 6 '12 at 23:29
add comment

5 Answers

up vote 6 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
add comment
  • 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
1  
a nice list indeed! +1 –  Amzoti May 23 '13 at 5:53
add comment

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
add comment

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
    
Yes actually sage uses (by default) GLPTK and can be tweaked to run gurobi as well. –  Jernej Dec 8 '12 at 8:58
add comment

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
add comment

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.