What stops you from using Open Source in Operations Research?

In the discussion of CPLEX versus Gurobi software, the discussion took an interesting turn when it came to open source (like that of COIN-OR).  Sebastian, bemoaning the cost of commercial packages such as CPLEX said:

I think another long-term way to make OR feasible in situations where the cost of Cplex cannot be justified is to invest in the long term development of open source alternatives. The COIN-OR solvers are quite good already (for LP and general non-linear programs they are even competitive with state-of-the-art). Moreover the CPL license IBM chose is very liberal and allows the solvers to be tightly integrated into commercial products without further obligations.

If more companies would support the development as a long-term investment it could be in their best interest.

Shiva, an OR practitioner for a decade replied:

Sebastian: We did investigate open-source methods (including COIN), but after reading the fine print, legal departments tend to shoot it down with prejudice to avoid exposing the company to potential lawsuits down the road. It was another frustrating experience, since like all O.R folks, I love what COIN’s been doing.

Larry, of IEOR Tools, replied:

Shiva, Great points on barrier to entry. I too have been caught in that world of justifying an IT expense for the sake of desicion modeling. For instance, one kind find a decision analysis by just using a spreadsheet. Is it optimal? No. Does it offer a solution? Yes. The key is to justify the long term gains of optimal decision processes. I believe that is the trick.

Yet I have definitely found a great niche and I think the OR community can great help with this issue. Open Source software has the added benefit of community support, development, and implementation without the cost structures. It’s something I have started talking about on my blog. I believe it can have profound affects on the OR community.

I repeat all this because this is one of the best exchanges we have had on MTORB.  I am part of COIN-OR (a member of the “Strategic Leadership Board”, though I feel at sea at this compared with my more experienced colleagues).  And it does interest me why more people don’t use COIN-OR.  For me, there are issues with documentation:  I don’t have a lot of time when I learn a new tool, and much open source stuff doesn’t have documentation and examples at the level of commercial software.  I spent a summer working with Symphony, now at COIN-OR, and it was great fun.  I even put together a document on my experience that was part of the distribution at one point.  But I am not sure how many summers I can spend on working through new software.  So I use COIN-OR software but not as much as I should.

I am also interested in why people do use COIN-OR and other open source tools.  I very much welcome thoughts on this issue, and thank Sebastian, Shiva, and Larry for getting this going.

New Computer Coming

I just ordered a new computer to replace this one. mat.tepper.cmu.edu has done a great job over the last five years, but it is showing its age. The operating system is woefully out of date, causing ever-increasing security problems. Of course, if it gets out of date enough, the machine becomes “secure by obsolescence” as a buddy of mine (who runs HPUX 9 or so, circa 1995) has deemed his “security measures”.

I ended up going a little crazy on the new machine, ordering a dual quad-core system (that is eight cores). It is amazing how these multi-core systems have taken over. It also means something important for us operations research people: parallelism is important. I have often been down on the COIN-OR people for all the bells-and-whistle they put in their code (I just want a branch-and-cut code: I don’t want to dig through all the stuff about “computing on multiple heterogeneous machines” and so on). But much of their code is already set up for multiple machines (and multiple processors on one machine) and that is going to be important. Multicore is of little use if the software doesn’t take advantage of it. And expecting the operating system to automatically parallelize a complicated optimization program is currently a pipedream. As this article points out, for a lot of software, more cores does no good whatsoever. So hurray for the COIN-OR people for thinking ahead on this.

It is interesting to compare the speed of this system with the listing of supercomputers, as given by Top500 Supercomputers. I can’t get a clear reading on the speed of the machine I am about to buy, but it may be in the 40-80 Gflop range (can this be? Correct me if I am wrong). Based on the historical graph, such a machine would have been the fastest supercomputer in 1993 and would have hit the top 500 at late as 2000. Now under US$7000.

ECLiPSe and Open Source licensing

ECLiPSe LogoExcellent news about ECLiPSe, the constraint programming package. It is now been open-sourced under the “Cisco-style Mozilla Public License”. For a while, I had wondered what had happened to the package. It used to be based at IC-Parc/Imperial College London, but that group disappeared all of a sudden, at least from my perspective. To see ECLiPSe come back in open-source is tremendous news. ECLiPSe is owned by Cisco Systems, who should be applauded for their decision to open-source. Here is a blurb about the software:

ECLiPSe is a software system for the cost-effective development and deployment of constraint programming applications, e.g. in the areas of planning, scheduling, resource allocation, timetabling, transport etc. It is also ideal for teaching most aspects of combinatorial problem solving, e.g. problem modelling, constraint programming, mathematical programming, and search techniques. It contains several constraint solver libraries, a high-level modelling and control language, interfaces to third-party solvers, an integrated development environment and interfaces for embedding into host environments.

Given that Cisco is looking for support and development people for ECLiPSe, the decision to open-source is obviously not a sign that Cisco wants to forget about the code, but is clearly a recognition that open-source code can be developed faster and better than propriety code.

I wrote before about COIN-OR, an open-source initiative originally developed by IBM but now with wide participation from the optimization world. Between the COIN-OR systems in integer and linear programming and the ECLiPSe system in constraint programming, some very top notch operations research code is now available in open-source.

President Clinton, AIDS and Operations Research

Clinton FoundationIt is heartening to see former President Clinton talk about “Operations Research” and even better to see outside groups see the promise of our field. At an address at the 16th Annual International AIDS Conference, President Clinton announced a new Consortium for Strategic HIV Operations Research. From the transcript (page 13/14):

Second point I want to make is while more money is necessary, it is nowhere near sufficient. It is our moral obligation to ensure that the enormous contributions already made and those that will be made are used most efficiently. Every single wasted dollar puts a life at risk.
A few days ago, my foundation unveiled our consortium for strategic operation research here in Toronto. It’s an initiative designed to help ensure that this huge investment of resources results in the highest quality care, most efficiently delivered for as many HIV infected people as possible. We want to apply the same planning methods that Fortune 500 companies use to manage their operations, so that we can make the most effective use of what will always be scarce resources until the number of people who are HIV positive begins to drop dramatically. Using simple open-source computer models, we’ll be able to help governments save more lives with the same human and financial resources.

Wow! An obvious reference to operations research and open source in the same paragraph!

A few months ago, I talked to some researchers at the Clinton Foundation. Often “Operations Research” in AIDS/HIV research is what we would call “Statistical Experimental Design”: how to best measure the effect of certain treatments. For instance, there is a book available online entitled: “Designing HIV/AIDS Intervention Studies: An Operations Research Handbook” that will not be recognizable as operations research as our field defines it.

While important, this approach ignores 99% of operations research. Issues like optimal resource allocation, stochastic models of disease spread, simulation and so on are equally or more important, but are under-studied in this area.The Clinton Foundation people seem to understand this, and want to bring the full power of OR to this field. The CSHOR has in place a simulation model of clinics that can be modified to fit local costs/resource availability to determine, for instance, the effect of having another nurse. The Q&A directly addresses the role of OR:

Why was CSHOR created?

The emerging field of operations research offers a practical and strategic approach to future planning for developing countries. Operations research can be performed on the ground, in real-time, to guide decision making at a single clinic or a regional or national HIV treatment program. Local data and best practices from programs around the world can be combined to help ensure consistency and quality of care.

Operations research is increasingly critical; as ever-vaster resources are poured into national HIV treatment programs, it is crucial to be sure they are used as efficiently to provide high-quality treatment and care for as many people as possible.

CSHOR was launched in response to direct appeals from CHAI’s partner countries for assistance with resource planning and allocation.

I am not sure “emerging field” is appropriate for a 60 year old field, but the rest is very encouraging.

OR has a huge amount to offer this area, and I am absolutely thrilled that the Clinton Foundation is using the skills of our field

Open Source and Optimization

I am attending a conference at DIMACS on COIN-OR, which is an activity to encourage and support open source development in operations research. At the moment, most of COIN-OR revolves around linear and integer programming codes, but there are efforts in nonlinear programming, metaheuristics, and other areas.

COIN-OR addresses one of my pet peeves about research in OR (including my own!): developed codes are very rarely available and even more rarely useable by others. So people either reinvent previous work or simply compare new results to old results (perhaps trying to correct for computer speed). COIN-OR tries to develop a repository of open source codes. So, for instance, if you are doing research on a new type of cut for integer programming, you can simply add a short code to a full-featured IP code and see the results.

The codes being developed are very impressive, though a little overwhelming for a casual user. But different people are working for different target audiences. I hope the audience “I want to put together a branch-and-price algorithm in an afternoon” (e.g. me!) is addressed a bit more in the future.

One of the key goals for COIN-OR is highlighted on the home page:

Our goal is to create for mathematical software what the open literature is for mathematical theory.

If we are to advance as a field, we need much, much more of this sort of effort.New COIN-OR logo

COIN-OR is an example of a strong community in our field. It is great watching people who have only emailed over the past years meet each other for the first time.

And in breaking news, COIN-OR has chosen a new logo, as illustrated here.