It goes without saying that these statements are my individual views of the workshops, and are not the official word from either the companies or INFORMS.
The world of optimization software has been turned upside down in the last year. Dash Optimization (makers of XPRESS-MP) was bought by FairIsaac (or FICO, as it is now called). ILOG, makers of CPLEX, was bought by IBM. And three key people from ILOG, Gu Rothberg and Bixby, split off to form Gurobi (no prizes for guessing how the name was formed). Gurobi held its first (I believe) technical workshop at an INFORMS Practice Conference, and had tons of interesting news. Since “Operation Clone Michael Trick so He Can Attend All Interesting Workshops” failed, I spent the first half hour of the 3pm workshop session at the Gurobi sesssion before moving onto another session. Here are a few things presented.
Bob Bixby presented an overview of the history of Gurobi. Their main goal over the last year has been to create a top-notch linear and mixed integer programming code. I was surprised that they were able to do this in the March 2008-November 2008 period. Since then, the optimization code has been essentially static while the firm works on things like documentation, bug fixes, user interfaces and so on.
The business model of Gurobi has three main parts:
- Focus on math programming solvers
- Flexible partnerships
- Technology leadership
The partnership aspect was quite interesting. They very much value the relationship they have with Microsoft Solver Foundation (whose presentation I attended this morning), along with the partnerships they have with AIMMS, Frontline, GAMS, Maximal, and other groups.
Ed Rothberg presented the stand-alone user interface (to be released May 6), which has been implemented as a customization of the Python shell. Some of my colleagues (in particularly those at the University of Auckland) have been pushing Python, but this is the first full scale system I have seen, and it is very impressive.
Beyond that, I can only go by the handouts, since I did some session jumping, but a few things are clear:
- As an optimization code, Gurobi is competitive with the best codes out there, being better than all on some instances, and worse than some on others.
- Gurobi is taking parallel optimization very seriously, stating that single-core optimization is nothing but a special case of its multi-core approach.
- Python is a powerful way of accessing more complicated features of the system.
Gurobi is already available as an add-in to other systems. It will be available in a stand-alone system in a week or so. Further versions are planned to come out at six month intervals.
Continuing my coverage of a few of the Technical Workshops, I reiterate that the views here are neither those of the companies nor of INFORMS. They are mine!
Ducking out of one technical workshop, I moved on to the presentation by ILOG (now styled ILOG, an IBM Company, since IBM’s acquisition earlier this year). It was great to see the mix of IBMers and ILOG people on the stage. Like many (about 2/3 according to a later audience survey), I was worried about the effect of having IBM acquire ILOG, but the unity of the group on stage allayed many of those fears. The workshop had two major focuses: the business strategy of having IBM together with ILOG and, more technically, details on the new version of ILOG’s CPLEX, CPLEX 12.
When it comes to business strategy, IBMers Brenda Dietrich and Gary Cross put out a persuasive and inspiring story on how IBM is focusing on Business Analytics and Optimization. How can you make an enterprise “intelligent”? You can make it aware of the environment, linked internally and externally, anticipating future situations, and so on. And that requires both data (as in business intelligence) and improved decision making (aka operations research). As IBM tries to lead in this area, they see the strengths in research meshing well with their consulting activities and with their software/product acquisitions. The presentation really was inspiring, and harkened back to the glory days of “e-business” circa 1995 with an operations research tilt (with the hopes of not having a corresponding bust a few years later).
When it comes to CPLEX 12.0, there continues to be improvements. These were given in three areas:
- improved MIP performance.
- parallel processing under the standard licence.
- built-in connectors for Excel, Python, and Matlab.
The improved performance was characterized by two numbers. For instances taking more than a second to solve, the improvement was about 30%; for harder problems taking more than 1000 seconds, CPLEX 12 is about twice as fast as 11.2 (on the problems in the extensive testbed). Strikingly, the CPLEX testbed still has 971 models that take at least 10,000 seconds to solve, so there is still lots of work to be done here. The improvements came through some new cuts (multicommodity flow cuts) as well as general software engineering improvements.
I think the news on parallel (multicore) processing is particularly exciting. If our field is to take advantage of modern multi-core systems, we can’t have our software systems charging us per core. There are some issues to be handled: the company doesn’t want people solving 30,000+ separate models on a cloud system simultaneously for the price of one license, but some system for exploiting the 2-8 cores on most current machines must be found. I am really pleased that this will be available standard.
I was also very happy to see the Excel add-in. As an academic, I know that my (MBA) students are most comfortable working within Excel, and I will be very happy to introduce them to top-notch optimization in that environment (once ILOG figures out its pricing, which was unclear in the presentation).
Overall, I found this an inspiring workshop on both the business strategy and the technical sides. IBM should also be recognized for bringing in a clicker system to get audience feedback: that made for a very entertaining and useful audience feedback session.
One final point: IBM claims to have 800 “OR Experts”, which is a pretty good number. If all of them became members of INFORMS, we would gain about 650 members, by my calculation.