16 December 2005

Maths: Linear Programming using lpsolve IDE

Quick background: a Mathematical Program (MP) is a mathematical formulation of an optimization problem. Solving an MP means finding the minimum or maximum of an objective function subject to a set of constraints (or limits). A Linear Program (LP) is a subset of MPs where the objective function and the constraints are expressed using linear coefficients (i.e. only + and -). Here is the FAQ and a more thorough definition.

I decided to relearn Linear Programming (LP) so that I could better understand one of my company's products. I've used the solver in Microsoft Excel but it can be inconvenient to translate LP problems into the spreadsheet format. Also, the standard Excel solver is limited to a small number of variables and constraints. Luckily, there's other solvers on the 'Net. First I tried a Python solver, pysimplex, but I couldn't install it on Python 2.4. Then I tried the Windows version of GNU Linear Programming Kit (GLPK) but it doesn't seem to have a user front-end. Finally, I found lpsolve IDE in the Progdigy site, which as a bonus, has both an IDE and the lpsolve solver. Note: lpsolve is also available separately from the lp_solve Yahoo group.

I found the Lpsolve IDE is pretty good for doing exercise problems. It can check the syntax of your problem and display the solution's objective and constraint variables. So far, so good.