Bluewashing Complete!

Two things happened to me last week with regards to IBM/ILOG (a topic I have written about quite a bit):

  1. I was on a conference call with an ILOG person and I said, jokingly, “Is that XXX from ILOG, an IBM Company?”.  His reply:  “Nope, just XXX from IBM”.  The “ILOG, an IBM Company” phrasing ended earlier this summer.
  2. I got an email from the PR people at ILOG (IBM, damn it, IBM!) saying in, essence, “Bluewashing for ILOG is complete”.   “Bluewashing”?  What the heck is that?  A web search suggests something about agreeing with the United Nations to not use child labor, but somehow I can’t see poor third world children toiling over ever-more-complicated polyhedral facets.

So last Thursday, I had a conference call with a number of IBM/ILOG people.  I don’t do many of these types of calls:  as is obvious from the blog, I am not a journalist, and I tend to get so caught up with the conversation that I don’t take notes or otherwise be anything other than an interested academic.  For instance, last spring, I had a wonderful private lunch with Pierre Haren (the CEO of ILOG turned Vice President at IBM).  Great conversation resulted in notes like “Optimization, constraint programming, integration”…  sigh…

Back to my call on Thursday.  “Bluewashing” turns out to be the phrase that IBM uses to describe the process of turning a new acquisition into part of IBM.  While the term sounds somewhat ominous, it seems much milder (anyone with an inside view to the contrary is welcome to comment!).  Once IBM owns code, for instance, it must be bluewashed to meet IBM standards.  If there is open source code included in acquired code, then it must be examined to determine if it meets IBM’s standards for using the code (is the license compatible with IBM usage and so on).  If not, then “bluewashed” code is substituted in.    IBM also has standard rules for things like academic licenses, so those had to be changed (made better, at least as far as support goes:  now academic licenses include full support).  People need to be “bluewashed” also, which I understood to mainly mean things like standardized benefits and so on (and not rubber hoses while the history of IBM is recited).

Coinciding with this is a change in corporate name.  ILOG is no longer “ILOG an IBM Company”;  ILOG is a brand name for a series of products that are part of IBM Websphere  (you can see this on the ILOG home page, where it used to say “ILOG an IBM Company”).  ILOG people are now simply IBM people.  Organizationally, things haven’t changed very much:  the former “ILOG people” are in an organization under Pierre Haren and have not been scattered throughout the IBM system.

A couple interesting aspects of my call.  Most of the conversation was with Lorenzo Delavegas who is lead of integration for the ILOG acquistion.   In a previous life, I ran the Carnegie Bosch Institute for Applied Studies in International Management, where one of the big research issues was how to successfully handle a merger or acquisition.  Most mergers and acquistions do not meet the rather rosy expectations that went into them, and many of them destroy shareholder value (see Daimler-Chrysler for an example).  IBM has specialists like Lorenzo oversee the integration of new companies to try to increase the chance of success.  Since he is not an operations research person, it was interesting to get his perspective on how ILOG fits within IBM.

The one phrase that was repeated multiple times was “stars lining up”.  It was obvious that the driver for IBM’s acquisition of ILOG was rules.  No one at IBM or ILOG has ever tried our intelligence by claiming anything else.  But optimization, in the form of CPLEX and the constraint programming software and in the people involved in creating and deploying that software, is now seen as a tremendous asset in IBM’s strategy, as shown in IBM’s Smarter Planet and IBM Business Analytics and Optimization.  These look to be great opportunities for operations research within IBM.  And from the call, I certainly feel pretty confident about CPLEX and the constraint programming codes as ILOG products from IBM.  Both the IBMers and ILOGers talked about how much easier it is to reach different communities through IBM.

I was also interested in how having CPLEX would affect IBM’s very strong support for open source, particularly through COIN-OR.  While I certainly did not get the feeling that the CPLEX team will be dropping everything to concentrate on open source efforts, I also ended up feeling that the acquisition is at worst neutral for open source optimization, and might well become an asset in time.

The ostensible reason for the PR call was the announcement of CPLEX 12 and other versions of ILOG’s software.  Most of this was announced at the INFORMS meeting in the spring (this is one reason to go to conferences:  you really do get a bit ahead of the crowd by being there).  The Excel interface has been changed since it was presented in the spring, I hear, so I look forward to checking that out.

It is not surprising that people on a PR call would be pretty upbeat about how things are going, but it was contagious.  IBM has always been strong in operations research, but I get the feeling that more of the company is seeing that strength.   And that can only be good for operations research.

My final comment for Lorenzo and the IBM group:  I would love to see the phrase “operations research” used in the Smarter Planet commercials!

INFORMS Podcasts on Crunching the Numbers

INFORMS (and its Director of Communications, Barry List) has been putting out podcasts on operations research oriented topics every couple of weeks for the past few months.  The title of the series is “Science of Better:  Crunching the Numbers”.  According to the site, this is:

A series of podcasts with unexpected insights into the way that math, analytics, and operations research affect people like you and organizations like your own. In every segment, an expert explains how he or she changed the world by crunching the numbers.

They now have a good collection of topics. The most recent podcast is with Larry Wein, who talks about homeland security, terrorism, and, of course, operations research.  Previous podcasts include a discussion on how analytics can help battle HIV/AIDS, how to understand the economy using supply chain concepts, how INTEL uses operations research to make decisions, and how to save on health care costs with OR.  I look forward to seeing what Barry has next for us!

At 20-30 minutes each, the five current podcasts are just the things to have on your mp3 player for long flights.

Data Mining and the Stock Market

As I have mentioned a number of times, I teach data mining to the MBA students here at the Tepper School.  It is a popular course, with something like 60% of our students taking it before graduating.   I offer an operations research view of data mining:  here are the algorithms, here are the assumptions, here are the limits.  We talk about how to present results and how to clean up data.  While I talk about limits, I know that the students get enthusiastic due to the not-insignificant successes of data mining.

We give students access to a real data mining system (SAS’s Enterprise Miner currently, though we have used SPSS’s Clementine Miner (now PASW, for some reason) in the past).  Invariably, students start putting in financial data in an attempt to “beat the stock market”.  In class, I talk about how appealing an approach this is, and how unlikely it is to work.  But students try anyway.

The Intelligent Investor column of the Wall Street Journal has a nice article on this (thanks Jainik for the pointer!) with the title: “Data Mining Isn’t a Good Bet for Stock-Market Predictions”.

The Super Bowl market indicator holds that stocks will do well after a team from the old National Football League wins the Super Bowl. The Pittsburgh Steelers, an original NFL team, won this year, and the market is up as well. Unfortunately, the losing Arizona Cardinals also are an old NFL team.

The “Sell in May and go away” rule advises investors to get out of the market after April and get back in after October. With the market up 17% since April 30, that rule isn’t looking so good at this point.

Meanwhile, dozens — probably hundreds — of Web sites hawk “proprietary trading tools” and analytical “models” based on factors with cryptic names like McMillan oscillators or floors and ceilings.

There is no end to such rules. But there isn’t much sense to most of them either. An entertaining new book, “Nerds on Wall Street,” by the veteran quantitative money manager David Leinweber, dissects the shoddy thinking that underlies most of these techniques.

The article then gives a great example of how you can “predict” the US stock market by looking at Bangledeshi butter production.  Now, I don’t buy the starkly negative phrasing of the column:  he (Jason Zweig) refers to data mining as a “sham”, which I think goes much too far.  Later in the article, he talks about what it takes to do data mining right:

That points to the first rule for keeping yourself from falling into a data mine: The results have to make sense. Correlation isn’t causation, so there needs to be a logical reason why a particular factor should predict market returns. No matter how appealing the numbers may look, if the cause isn’t plausible, the returns probably won’t last.

The second rule is to break the data into pieces. Divide the measurement period into thirds, for example, to see whether the strategy did well only part of the time. Ask to see the results only for stocks whose names begin with A through J, or R through Z, to see whether the claims hold up when you hold back some of the data.Next, ask what the results would look like once trading costs, management fees and applicable taxes are subtracted.

Finally, wait. Hypothetical results usually crumple after they collide with the real-world costs of investing. “If a strategy’s worthwhile,” Mr. Leinweber says, “then it’ll still be worthwhile in six months or a year.”

This is all good advice, and part of what I try to talk about in the course (though having the article makes things much easier).  My conclusion:  there is “sham” data mining, but that doesn’t mean all data mining is a sham.  I’d love to read the book, but the Kindle version is running at $23.73, a price that I suspect was set by data mining.

Graph Coloring Benchmark System

For many years, I have wanted to put together a system for keeping track of results in solving instances of various combinatorial optimization problems.  This started back in the early 1990s when I was the coordinator for the DIMACS Challenge on Cliques, Coloring, and Satisfiability.  This was pre-web, so everything was done via ftp and email.  During that Challenge, David Johnson and I collected a large number of instances suitable for finding cliques and graph coloring (I also collected a number of satisfiability instances).   Lots of people tried a number of methods on these instances, and they became the “DIMACS Instances”, and have appeared in many, many papers (the resulting DIMACS volume is by far my most referenced work).

In 2002, David and I joined with Anuj Mehrotra to run some further workshops with an emphasis on graph coloring.  In 2008, a special issue of Discrete Applied Mathematics came out with ten or so papers from those workshops.

Throughout all this, I was not satisfied with the state of information.  What were the best solutions around?  Results were scattered throughout the literature, sometimes in hard-to-find places.  Worse, there seemed to be some inconsistencies (feasible solutions with values better than lower bounds) and no clear way of determining where the fault lay.  It was not enough for me to collect instances, I had to collect solutions, both values and colorings.  And I had to be much more organized about tracking results.  I was particularly interested in this since I do that for the Traveling Tournament Problem, and I think that has greatly increased interest in the problem.

But life is busy, and I never quite got around to putting the system together.  When I spent a year in New Zealand, I did some work on it, but moved on to other things.  I couldn’t get a doctoral student interested in it, so things kinda lay fallow.

A few days ago, the file I had on this churned to the top of the stack, and I refound the code I was working on.  And, while I do have some really pressing things to do (both editorial and survey article writing), I have spent some time advancing the code.   At this point, I think I can let the world see it, though it is a work in progress.  I have grand plans for this, so I have called it ROIS: Registry for Optimization Instances and Solutions. Right now, all it has the results from some graph coloring papers along with the instances.  As I move along, I will include finding cliques in graphs, the traveling tournament problem, and who knows what else.  Now that the basic code is there, it is extremely easy to add in new problems.

There is a lot more to do.  One key aspect that is not yet implemented is the ability to upload solutions and have them checked for correctness automatically.  This clearly is a key component of the system and about the only way of keeping “wrong” results out.  It is unclear how to handle lower bounds in the same way due to the lack of a succint certificate, but even handling one side is better than nothing.  I also need to add lots of things for sorting columns in different ways, but that is all pretty trivial (a good project for lazy mornings).

I’m entering in some of the published work now.  Any comments you have on this would be very much appreciated.

Don’t Forget to Vote!

If you are an INFORMS member (if you are interested in operations research, why aren’t you a member?), you should have received an email yesterday directing you to a website to vote for the next set of members of the Board of Directors.  That email has all the information you need to vote:  your member number and a code word.  You go to the website, enter those two numbers, get a form and spend a minute or two voting.  The candidate bios and platform statements are clickable from the ballot, so you don’t even have to research before hand (though if you want to, the candidate information is available).  A few points:

  • Your vote really does count.  The year before I got elected President, the Presidential vote resulted in a tie.  One extra vote either way would have prevented a run-off.
  • The candidates are chosen by a Nominating Committee (something the Past President chairs), though people can put themselves on the ballot by petition.  The latter used to happen more often:  it seems pretty rare these days.
  • INFORMS uses approval voting, where you can vote for as many candidates as you want for each position.  In many cases, I end up voting for all of the proposed candidates.  This is particularly true if I do not know the candidates, or I know them both equally well, and if I think they will do about equally well in positions.  Sometimes I have stronger feelings, so vote for one (or decidedly don’t vote for one!).  While it is equivalent in terms of the winner to vote for none as to vote for all, in terms of meeting quorum requirements, it is better to vote for all.  By the way, approval voting works much better when there are three or more candidates (or more than one position to be filled from the same set of candidates).  Approval voting to choose the winner between two candidates, as this election is, doesn’t add much (though I like the opportunity to vote for all or, rarely, none).
  • A number of candidates are running unopposed.  INFORMS allows its Vice Presidents to have two terms in a position.  Often, the nominating committee will decide to run someone up for reelection unopposed.  It doesn’t always happen, but it is the norm.
  • INFORMS does not announce number of votes in an election.  I was on the Board when that rule was created (and may even have formulated the rule).  The ideas was to not embarrass candidates who lose a blow-out election.  Now, I am not 100% convinced this is a good rule:  there is information in the votes (for instance, knowing the number who voted for none of the candidates versus those who voted for all).  Even the nominating committee does not know the number of votes, so, for instance, a candidate who came very close to winning might not get nominated again, while a candidate that the electorate soundly rejected might get renominated the next year.  Perhaps it is time for INFORMS to rethink this rule.

I sat on the INFORMS Board for six years, and am now completing six years on the IFORS Board.  Sitting on boards is generally interesting and rewarding (it is sometimes mind-numbingly dull, but I treat that as useful training in discipline).  I have met some really fascinating and wonderful people through the boards, and those contacts have been useful years after our terms ended.

We should be greatful that people are willing to give their time to boards like INFORMS.  If you are a member, now would be a good time to spend a couple minutes voting.

Careful with Wolfram|Alpha

Wolfram|Alpha is an interesting service. It is not a search engine per se. If you ask it “What is Operations Research” it draws a blank (*) (mimicking most of the world) and if you ask it “Who is Michael Trick” it returns information on two movies “Michael” and “Trick” (*). But if you give it a date (say,  April 15, 1960), it will return all sorts of information about the date:

Time difference from today (Friday, July 31, 2009):
49 years 3 months 15 days ago
2572 weeks ago
18 004 days ago
49.29 years ago

106th day
15th week

Observances for April 15, 1960 (United States):
Good Friday (religious day)
Orthodox Good Friday (religious day)

Notable events for April 15, 1960:
Birth of Dodi al-Fayed (businessperson) (1955): 5th anniversary
Birth of Josiane Balasko (actor) (1950): 10th anniversary
Birth of Charles Fried (government) (1935): 25th anniversary

Daylight information for April 15, 1960 in Pittsburgh, Pennsylvania:
sunrise | 5:41 am EST\nsunset | 6:59 pm EST\nduration of daylight | 13 hours 18 minutes

Phase of the Moon:
waning gibbous moon (*)

(Somehow it missed me in the famous birthdays: I guess their database is still incomplete)

It even does simple optimization

min {5 x^2+3 x+12}  =  231/20   at   x = -3/10 (*)

And, in discrete mathematics, it does wonderful things like generate numbers (permutations, combinations, and much more) and even put out a few graphs:
graphs(*)

This is all great stuff.

And it is all owned by Wolfram who define how you can use it. As Groklaw points out, the Wolfram Terms of Service are pretty clear:

If you make results from Wolfram|Alpha available to anyone else, or incorporate those results into your own documents or presentations, you must include attribution indicating that the results and/or the presentation of the results came from Wolfram|Alpha. Some Wolfram|Alpha results include copyright statements or attributions linking the results to us or to third-party data providers, and you may not remove or obscure those attributions or copyright statements. Whenever possible, such attribution should take the form of a link to Wolfram|Alpha, either to the front page of the website or, better yet, to the specific query that generated the results you used. (This is also the most useful form of attribution for your readers, and they will appreciate your using links whenever possible.)

And if you are not academic or not-for-profit, don’t think of using Wolfram|Alpha as a calculator to check your addition (“Hmmm… is 23+47 really equal 70? Let me check with Wolfram|Alpha before I put this in my report”), at least not without some extra paperwork:

If you want to use copyrighted results returned by Wolfram|Alpha in a commercial or for-profit publication we will usually be happy to grant you a low- or no-cost license to do so.

“Why yes it is. I better get filling out that license request!  No wait, maybe addition isn’t a ‘copyrighted result’.  Maybe I better run this by legal.”

Groklaw has an interesting comparison to Google:

Google, in contrast, has no Terms of Use on its main page. You have to dig to find it at all, but here it is, and basically it says you agree you won’t violate any laws. You don’t have to credit Google for your search results. Again, this isn’t a criticism of Wolfram|Alpha, as they have every right to do whatever they wish. I’m highlighting it, though, because I just wouldn’t have expected to have to provide attribution, being so used to Google. And I’m highlighting it, because you probably don’t all read Terms of Use.

So if you use Wolfram|Alpha, be prepared to pepper your work with citations (I have done so, though the link on the Wolfram page says that the suggested citation style is “coming soon”: I hope I did it right and they do not get all lawyered up) and perhaps be prepared to fill out some licensing forms.  And it might be a good idea to read some of those “Terms of Service”.

——————————————–
(*) Results Computed by Wolfram Mathematica.

How to Design a Contest: The Netflix Challenge

It looks like the Netflix people made some good decisions when they designed their million dollar challenge. In particular, it appears that they kept two verification test sets: one that was the basis for the public standings and one that no one ever saw the results from. It is the success on the latter set that determines the winner. So BelKor, which appeared to come in second, based on the “public” verification test set, seems poised to be the winner based on the hidden test set. I put “public” in quotes, since the test set itself was not visible, but the results of each prediction on the test set was visible (as an aggregate statistic).

Why is this a good design? Any data set that gets as much of a workout as the public data set does is vulnerable to techniques that try to fit the model to that particular test set. In fact, there was discussion at the Netflix competition forum that some team or teams was doing exactly that: generating hundreds of slightly different predictions in an attempt to better fit the verification set. Such an approach, however, is counterproductive when it comes to working with a new, hidden data set. Any team that overfits the first verification test set is likely to do poorly on the second set.

So we’ll wait for official word, but it seems as though Netflix has a very nicely designed evaluation system