Friday, April 17, 2009

PyMathProg: New GLPK toolkit for Python released


As I mentioned in an earlier post GLPK is getting a lot of increased attention. There seems to be limitless platforms that can be implemented with GLPK. One new platform released this week by Yingjie Lan is PyMathProg. PyMathProg is self-proclaimed as an implementation of GLPK in the Python programming language environment that uses AMPL and GNU MathProg.

Python is a programming language that is getting more and more popular in the math and science realm. Python is very simple to use and could be considered a scripting language compared to other programming languages like C and Java. The Operations Research community can benefit greatly from having modeling platforms like PyMathProg to learn, implement, and expand capabilities. I will be looking forward to seeing PyMathProg's developements.

You can read more about PyMathProg at the Sourceforge project site
http://sourceforge.net/projects/pymprog/

4 comments:

Bernoulli-Blogger said...

I am curious if you have tried PyMathProg yet. Since it seems to depend on PyGLPK and the install for PyGLPK seems a bit more involved than a normal Python library, see: http://www.cs.cornell.edu/~tomf/pyglpk/building.html.

Right now I have been focused on OpenOpt. Since I am mainly working from my Windows laptop, and the maintainer of PyGLPK doubts his code will work on Windows, OpenOpt is a better place for me right now. When I get around to rebuilding a machine to Linux again, I will have to check out PyMathProg.

I have seen your posts in the OpenOpt forum. Any thoughts on how it works ?

Larry said...

Thanks for your comment Bernoulli. No I have not tried it yet. Although I have definitely thought of the benefits of using Python with Operations Research before. I will definitely give it a try in the near future.

From the past there are a couple of concerns with using Python in high computational type environments
1) Slow performance. Since Python is an Interpreter language it "compiles" code in real time. Many believe this has performance issues with computationally complex code.
2) Python adoption. Even though python has been very popular it still has not reached the levels of C, Java, and even Perl.

That aside I see great benefits with Python. MIT is switching to Python for its introductory Computer Science courses. I think the future looks great for Python and Operations Research software.

Bernoulli-Blogger said...

>1) Slow performance.
Here's to hoping unladen-swallow is a success.
http://code.google.com/p/unladen-swallow/wiki/ProjectPlan

The biggest quote from this is in the Q3 and Beyond " Our long-term goal is to make Python fast enough to start moving performance-important types and functions from C back to Python. "

If they succeed here, then this could be a large boost for Python in Operations Research.

Anonymous said...

Thank you both for your notice and comments on this new project. And Bernoulli pointed out an issue: no support on windows! So I ported pyglpk to windows. You can download the ported source from pymprog download section. It turns out to be very easy to install pyglpk on windows too.

Now you can also browse SVN source code -- see some of the examples.