jump to navigation

PuLP modeler June 12, 2010

Posted by CK in Research, Software.
Tags: , , , , , , , , , ,

I have to solve some optimization models, and looked out there for relevant tools. Solvers is one thing, and there’s a number of options depending on the money you can(not) spend, your requirements, etc. Modelers is another game though, and it took me some time to decipher the various options. What output (i.e. solver input) they can produce, by which solvers this input can be used, if there are converters, etc.

Eventually I went with PuLP, and do not regret it so far. It supports GLPK, COIN-OR, Gurobi and CPLEX. That’s basically all the solvers I wanted to test my models with (except for SCIP, which however I had terrible problems installing and I skipped it).

PuLP installation on the MacOS was as easy as “easy_install pulp”, and then it just worked. From a modeling perspective, I don’t find it to be very intuitive, but it does the work nevertheless, so I can’t complain. The fact that modeling is done in Python code is of course the greatest advantage. As a PuLP rookie, I had the first model ready and running in less than two hours today (including fixing a nasty bug in my code). There’s one more open-source, python-based modeler, Pyomo, but it supports less solvers (although I understand they’re working on it).

Finally, since we’re at the topic of optimization problems and solvers, maybe you’re interested in some recent benchmarks I came across. I was mostly interested in COIN-OR’s CBC, Gurobi and CPLEX, all for (mixed) integer linear problems. You can find them here and here.



No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: