Further workshops at INFORMS Practice

Over at the INFORMS Practice Conference Blog, I have entries on Gurobi and ILOG, an IBM Company. Both presentations were inspiring in their own ways.

Gurobi Post:

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:

  1. Focus on math programming solvers
  2. Flexible partnerships
  3. 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:

  1. 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.
  2. Gurobi is taking parallel optimization very seriously, stating that single-core optimization is nothing but a special case of its multi-core approach.
  3. 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.

CPLEX/IBM Post:

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:

  1. improved MIP performance.
  2. parallel processing under the standard licence.
  3. 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.

Microsoft Solver Foundation: YAML?

Is the Microsoft Solver Foundation Yet Another Modeling Language? I have some views at the INFORMS Practice Conference Blog. Best part of the workshop: the tagline “The Right Decision”. Perhaps INFORMS should have used that instead of “The Science of Better”.

Microsoft Solver Foundation became public late in 2008, and I have been curious what it is all about, so I sat in on this morning’s technical workshop. Two hours and six pages of notes later, I think I have a better idea.  At its heart, Solver Foundation is a pure “.NET” based library for mathematical programming.   At some level, that is all the justification it needs to exist.  There are a lot of .NET shops out there, so being able to work purely within .NET is a real plus to them.  For those of us who are not working in such an environment, there are still a number of nice aspects to Solver Foundation (SF), including

  1. Modeling Breadth.  SF is based on a very general algebraic modeling structure (think Mathematica), so it is, in theory, not limited to “just” mixed-integer programming.  Current solver support includes constraint programming, MIP, quadratic programming, and nonlinear programming, but the underlying structure is extremely general.
  2. Built-in parallelism to take advantage of either networks of machines or multicore systems.  Since much of the improved speeds in computers these days comes from the addition of cores (even notebook computers can have four or more cores), it is critical that systems take advantage of this.  The example given in the talk was a “horse race” between alternative optimization codes: SF will easily let you run CPLEX, XPRESS, and other solvers in parallel on the same problem, terminating when the fastest solver on that instance terminates.
  3. Integration with Visual Studio and, particularly, Excel.  My (MBA) students really like to work within Excel, which has limited our use of modeling languages.  SF gives hope that we can embed real, scalable, models within Excel easily.
  4. Symbolic and rational arithmetic possibilities.  For some models, roundoff errors create huge problems.  SF solvers have the ability to work in rational arithmetic (keeping track of numerators and denominators) to provide exact calculations.

For me, the best parts are the ability to combine constraint programming with mixed-integer programming, and the hope that maybe I can teach some real operations research to my MBA students through SF’s links with Excel.   Of course, it is inspiring to hear a Microsoft person talk about the multi-billion dollar market they hope to reach through optimization.

My favorite part:  the tagline “The Right Decision”.  That pretty well sums up operations research.

Baseball and Operations Research

Blogged at the INFORMS Practice site on how to make a trip to a baseball game a legitimate business expense.

I just arrived in Phoenix, and I’m off to this evening’s game between the Giants and the Diamondbacks.  There is an operations research connection, of course:  both the teams and the umpires are scheduled with operations research.  So this is kinda like a site visit:  I’m there to be sure exactly two teams show up, along with four umpires!

More serious posts tomorrow when I attend some of the Technology Workshops.

Blogging for the INFORMS Practice Meeting

I am one of a stable of guest bloggers for the INFORMS Practice Meeting. Rather than double post, I’ll move over to that blog for a few days (unless I have something to say that isn’t appropriate for an INFORMS blog), with pointers from here.

My first entry there: Tough Choices!, where I complain about an embarrassment of riches.

I’m getting organized to head off to the INFORMS Practice Conference.  I fly out Saturday, and will meet up with some friends to go to the Diamondbacks game.  Sunday is shaping up to be a very full day.  I really enjoy the Technology Workshops, where software companies in operations research talk about their recent products and plans for the future.  This year is shaping up to be particularly interesting due to all the activity in the market.  Since last year’s meeting,

  1. Dash Optimization (makers of Xpress-MP) has been bought by FairIsaac, which is now named FICO
  2. ILOG has been bought by IBM, and is now styled “ILOG, an IBM Company”
  3. Gurobi has been founded by some of the people who used to be with ILOG
  4. Microsoft Solver Foundation has started
  5. Dynadec has been formed to market Comet, a hybrid optimization, constraint programming, local search solver

and undoubtedly much more that I missed along the way, but will find out at the conference.  All of these companies and many others and more will be presenting “half day” workshops on Sunday:  they are really three hour workshops so you can get in three of them during a very long day.  The hard part is trying to figure out which three of the twelve workshops to attend!

INFORMS Practice Conference goes Web 2.0 Crazy!

The upcoming INFORMS Practice Conference has embraced new social networking technologies as no INFORMS conference has ever done. You have your choice of

  1. Blogging. A conference blog with a half dozen guest bloggers (including yours truly).
  2. Twittering. Just use the #ipc2009 tag
  3. LinkedIn. I’m not sure the value of a LinkedIn group, but I want to be part of the gang!

Let’s see, what’s left? Facebook? Club Penguin?

This makes a great experiment in what helps people best engage with a conference.

Sports Scheduling Woes

Being involved with sports scheduling (though not yet the National Football League), I sympathized the the schedulers, who missed an issue, from espn.com:

The NFL has moved up the start time of the New York Jets’ game against the Tennessee Titans on September 27 after the team complained to the league about having to play home games on consecutive Jewish holidays.

The league made the change Friday, rescheduling the 4:15 start to 1 p.m. a day after Jets owner Woody Johnson sent a letter to commissioner Roger Goodell suggesting the switch to allow fans to arrive home before sundown on Yom Kippur, the Jewish day of atonement.

The Jets’ home opener against New England is 1 p.m. on Sept. 20, which falls during Rosh Hashanah, the Jewish New Year.

It is stunning the number of issues a sports league needs to address.

Perhaps some clarity in Open Source?

I sit on the “Strategic Leadership Board” of COIN-OR (COmputational INfrastructure for Operations Research). There is a lot of great code at COIN-OR, and I find it very useful in my research.

Despite being on the SLB, I get very confused when it comes to open source. It seems that 90% of the discussions on the SLB hinge on either legal issues with regards to open source licenses or on the paperwork necessary to satisfy COIN-OR’s process for meeting those legal issues. It is rather unsatisfying: all of us on the SLB would rather talk about operations research and software rather than legal stuff.

A big part of the issue is the proliferation of “open source” licenses. Check out the listing at opensource.org. There are 65 licenses listed! Who can keep track of all those? And, while there are some sites to help you pick a license, things get more complicated when you combine codes under different licenses.

At COIN, there are a few different licenses used, but the most common is CPL (Common Public License), due in part to the influence IBM has had in supporting COIN.

IBM and Eclipse have announced that the Eclipse standard ECL will supersede CPL. See the postings by Ed Burnette at ZDnet, and by Mike Milinkovich of the Eclipse Foundation (thanks Robin for the pointers!). Mike explains why this superseding was done:

License proliferation in open source is a real issue. It costs businesses to review multiple licenses, and the plethora of licenses can be confusing to someone starting a new open source project.

Over the past five years we have seen the Eclipse Foundation go from a good idea that might work to one of the most successful open source communities out there. We have seen the Symbian Foundation adopt the EPL as its license, thereby bringing a huge community and code base in its own right to the EPL, plus demonstrating the utility of the license well outside of the Java domain that it is best known in. More recently, Google also added the EPL as one of the licenses it supports on Google Code. It is clear that if we wanted to consolidate on one license, that the EPL made the most sense.

Generally I am very happy about this. There will be some immediate hassles as we try to sort out what this means and how this affects COIN-OR. But perhaps this move to EPL will grow larger, and we can get on to the business of creating great code, rather than getting stuck on legal issues.

I do have one question to all developers of open source software in operations research: are you happy with EPL as a license? Are there aspects of that license that you find troubling? Is anything a deal-breaker, meaning you would not license under EPL but instead would insist on another open source license for your work?

The Importance of Stupidity in (Operations) Research

A colleague of mine (thanks Laurie, I think!) sent me a copy of the paper “The Importance of Stupidity in Scientific Research” by Martin Schwartz, published in the Journal of Cell Science in 2008. My colleague swears I should not take offense, and no offense was taken. I think the article is brilliant.

One of the most difficult transitions to make is to change from being a student to a researcher, a transition that practically defines the doctoral program. Most researchers were good students (at least) in their field: without success as a student, it is hard to get the enthusiasm necessary to get to the researcher transition. But many excellent students don’t make the leap to researcher, and many of the best researchers were no better than good students.

In the article, Schwartz describes facing a problem as a doctoral student. He sought help from the finest minds around him, and found that no one knew the solution to his problem.

I remember the day when
Henry Taube (who won the Nobel Prize two years later) told me
he didn’t know how to solve the problem I was having in his area.
I was a third-year graduate student and I figured that Taube knew
about 1000 times more than I did (conservative estimate). If he
didn’t have the answer, nobody did.

That’s when it hit me: nobody did. That’s why it was a research
problem. And being my research problem, it was up to me to solve.
Once I faced that fact, I solved the problem in a couple of days. (It
wasn’t really very hard; I just had to try a few things.) The crucial
lesson was that the scope of things I didn’t know wasn’t merely vast;
it was, for all practical purposes, infinite. That realization, instead of
being discouraging, was liberating. If our ignorance is infinite, the
only possible course of action is to muddle through as best we can.

In short, research happens when we are stupid, but productively so.

Productive stupidity means being ignorant by choice. Focusing
on important questions puts us in the awkward position of being
ignorant. One of the beautiful things about science is that it allows
us to bumble along, getting it wrong time after time, and feel
perfectly fine as long as we learn something each time. No doubt,
this can be difficult for students who are accustomed to getting the
answers right. No doubt, reasonable levels of confidence and
emotional resilience help, but I think scientific education might do
more to ease what is a very big transition: from learning what other
people once discovered to making your own discoveries. The more
comfortable we become with being stupid, the deeper we will wade
into the unknown and the more likely we are to make big
discoveries.

So, today, when my wife asks what I did today, I will say “I was being stupid”, and I’ll feel very good about it.

Operations Research is hot at IBM

IBM announced today that it is forming a new consulting group for business analytics and optimization, called Business Analytics and Optimization Services.  With 4000 people, this is a pretty serious operation!  You can check out the news release and the Business Week coverage.   I’ll pass over the fact that IBM doesn’t use the phrase “operations research” in this announcement, and note that this group combines its consulting arm (formed with the acquisition of PricewaterhouseCoopers a few years back) with the strengths in research (in Watson and other places), two groups with world-leading operations research skills.  From the press release:

Working with more than 4,000 consultants dedicated to this effort will be experts from IBM Research’s world renowned laboratories with more than 200 mathematicians and advanced analytics experts. The company also made significant investments in Services Research for the past 10 years to build technologies and intellectual property that optimize new services offerings — all culminating in this new consulting practice in support of IBM’s Smarter Planet strategy, which recognizes the need for improved business insight.

I did work with PwC before it was acquired, and continued for a period after they became part of IBM. There was a large group of people who really got operations research, and we did some great work for the Internal Revenue Service and the US Postal Service. I am excited that IBM sees the value of operations research (OK, business analytics and optimization) sufficiently to put together such a large group.

This move is very much in keeping with IBMs previous acquisition of ILOG. From the Business Week article:

The consulting business may drive sales for a lot of IBM’s own technologies, as well. The company has built up a strong position in business analytics software in recent years, partly through acquisitions. In 2007 it paid $5 billion for Canada’s Cognos, a leader in business intelligence. Last year, IBM broke into business-process optimization with a $340 million acquisition of ILOG, a French company.

This is an exciting move, and I think it will have a significant effect on how the sort of mathematics we do is used in industry.

Added 3:15PM ET, April 14. Be sure to check out the IBM site for the new initiative. With people like Brenda Dietrich and Bill Pulleyblank involved, I think it is safe to assume that operations research is going to have a big role.