Thursday, September 24, 2009

O.R in practice: Time to think small?

Applying sophisticated (LP/MIP-based) techniques in practice is a lot of fun. It's a creative process that brings as much as joy as say, publishing a well-crafted paper in a reputed O.R journal. However, bring such models to life is often a painful process. Unless the problem is "big", companies are unwilling to bring out the 'big guns'. Over a period of time, LP/MIP based models have acquired this (unfair?) reputation for being 'big guns'- During the initial scoping phase of a project, it is 'ruled in' only for mega problems. However, for every large problem in practice, there are 5 small problems for which OR methods are ruled out and replaced by randomized heuristics of unknown quality (so one doesn't have to pay royalty fees to 3rd party solver vendors, among other things). For more details, refer to an earlier post on "OR Practice with 19th Century Optimization Technology".

Why Open source solvers is not used in many practical situations has already been discussed in this tab before. Basically, all these *PL licenses (e.g. EPL, GPL) are simply not worth the potential legal hassles and therefore are of limited use to an OR practitioner. This means that these 'open source' solvers are mainly useful in academia - where researchers already have access to CPLEX/Gurobi, so this whole situation is self-defeating. Something like the Apache license is very usable. Google's Gooplex toy solver is a very positive step in this direction.

I believe there is a strong business argument for making a high-quality Linear-Programming solver freely available for commercial use (maybe an older version that runs twice as slow, but converges correctly). Doing so will boost the use of OR methods in the aforementioned 'small problems' that account for a majority of decision science problems solved in practice, which leads to increased purchases of the premium LP solver and premium MIP solver offering.

7 comments:

  1. This seems to be an important problem in the OR community but nobody seems to care. There are a lot of programming problems that we have failed to deal with. For example GPU programming was pointed out by Michael Trick a couple of months ago but no one has followed up on that. I believe R is a good tool to bring all of these components together and unfortunately COIN-OR is totally lost.

    ReplyDelete
  2. yes, that is another great example. I have worked very little with R, but my colleagues use it a lot and it has a lot of good functionality. However is there is any basic offering of 'R' that can be included within a commercial product by a science entrepreneur?

    ReplyDelete
  3. Off topic, Shiva, but wanted to check if you will be at the INFORMS conference in San Diego?

    ReplyDelete
  4. lp_solve is lgpl. Could that be a starting point?

    http://sourceforge.net/projects/lpsolve/

    ReplyDelete
  5. Dear Hari: Due to budget cutbacks in the office this year, i cant make the annual conference, but will be attending the practice conference (april 2010, florida?).

    ReplyDelete
  6. Anonymous: lp_solve's license is probably stricter than COIN-OR's clp solver, so the latter would be my first choice. Also, clp is likely to perform better.

    ReplyDelete
  7. lp_solve is LGPL which relieves you from hassles of GPL.
    Also guess GPL is less restrictive if you are using it for own purposes not to sell the s/w.

    ReplyDelete