Choices of Linear Programming Solver


At the time of written, I was TA for COMP 362, Honors Algorithm Design at McGill University. This post was written for the students.

lp_solve

This program can be used to solve linear or integer programs.  The command for running lp_solve is: 

lp_solve input-file
  • A small lp_solve session is shown here.
  • Some example input and output files are available here.
  • The man page is here.
  • You can download the entire package from the lp_solve homepage.
  • Another help page for reference can be found here.

LINGO

LINGO supports Windows and Linux.  It provides a trial version that you can download.  You need to provide an email address to receive the download link.  The first chapter of the manual covers pretty much everything you need for the assignment.  You may also find this tutorial useful.

EXCEL

There are two ways to use EXCEL to solve LP problems.

For very simple LP problems, you can just use EXCEL's internal solver.  These videos (123) give an example of how to do it.  You do not need anything other than EXCEL, but this method might not suitable for problem with many variables.  If you are using EXCEL 2010, you need to load solver add-in like this.

Another choice is to use an EXCEL add-in provided by the same company which builds LINGO.  Read the first chapter of its manual if you choose this option.  Here is a video demo.

MATLAB

Here is  the official document of how to solve LP in MATLAB.  This step-by-step tutorial might also be helpful.  This book does not cover LP, but can be useful if you are completely new to MATLAB.

You don't need to install MATLAB on your own computer.  Instead you can ssh to ubuntu.cs.mcgill.ca to use a command line version of MATLAB.

Other Choices

There are plenty of other choices.  The one which this TA is most familiar with is CPLEX provided by IBM. Here is a tutorial. Again, you can SSH to ubuntu.cs.mcgill.ca to use CPLEX.  But if you do want to install it, you can get a trial version by registering here.  Once registered, follow the tutorial to install it.