The developerWorks Connections platform will be sunset on December 31, 2019. On January 1, 2020, this blog will no longer be available. More details available on our FAQ.
Data Science Is Hard : A Look At Sotchi Olympics
Data Science is hard. I'll use an example that made lots of buzz to show some of the issues with data science. Two brothers, Dan and Tim Graettinger, who work for Discovery Corps, Inc. devised a predictive model that predicts medal count per country for the Sotchi Olympics. The Graettinger brothers model was commented on most data science and analytics sites, in OR blogs (see Laura McLay's entry) , even beyond . Question is: did they predict medal count correctly? Before answering that question let me flush... [More]
Tags: analytics data_science 
Solving the hardest Sudoku  part 2
My previous post on Sudoku described how a fairly simple OPL model could be used to solve a hard Sudoku problem. I ended the post this way: What? What do you say? I see, you're asking about the solution to the above Sudoku. Well, why not download CPLEX for free and run the above model to find out? This post is a detailed tutorial on how to run that Sudoku model on a Windows PC using CPLEX. It also addresses an interesting challenge about using Microsoft Excel for defining the problem data and for publishing the... [More]

Solving the hardest Sudoku  part 1
Do you know the hardest Sudoku problem? Do you know the best way to solve it? Before answering these questions, let me remind you of what the Sudoku puzzle is about in case you haven't read a newspaper in the last decade (adapted from wikipedia ): The objective is to fill a 9×9 grid with digits so that the digits in each column, each row, and each of the nine 3×3 subgrids that compose the grid (also called ""blocks") are pairwise different. The puzzle setter provides a partially completed grid, which... [More]
Tags: sudoku mathematical_optimization analytics optimization mathematics constraint_programming 
Tower of Hanoi at Large
Did you know that the Tower of Hanoi puzzle had real world applications? I was lucky enough to be involved with one such application . Before describing the application, let me recap briefly what the puzzle is about. I'll borrow the definition from wikipedia . The Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower , [ 1 ] and sometimes pluralised) is a mathematical game or puzzle . It consists of three rods, and a number of disks of different sizes which can slide onto any rod. The puzzle starts with the disks... [More]
Tags: smarter_city analytics constraint_programming optimization 
Centers of Polygons in OPL
Ryan J. O'Neil has written an interesting post on centers of polygons . Reason I'm blogging here is that he also asks an interesting question for the case where the polygon is a rectangle. Before looking at rectangles, let's define the general problem. There are several definitions of the center of polygons, and we'll use the one used by Ryan: it is the center of the largest circle contained by the polygon. It is called the Chebyshev center of the polygon. Here is an example used by Ryan.... [More]
Tags: mathematical_optimization mathematics analytics optimization 
Constraint Programming History
Paul Shaw and I were invited by John Poppelaars to give talks at the Back to School seminar of Dutch ORMS society. Part of our presentation was a brief history of constraint programming. We drafted this slide to summarize it. We certainly left out many important topics and CP systems, and we welcome any suggestions to improve it. You can use comments to this post for suggested changes and additions. Before commenting about what we missed, please have a look at the full presentation as it will provide some context. Its... [More]
Tags: analytics optimization 
2013
To all my readers, I hope you enjoyed reading this blog as much as I enjoyed writing it. I want to thank you all as you are the reason for the existence of the blog. You'll find below a quick recap of the blog activity for 2013. I wish all of you a happy and fruitful 2014! My blog got about 130,000 page views (not counting the home page) during 2013, with 31 new posts. It is a significant increase compared to the 31,000 pages views in 2012. The number of views increased significantly very late in the year with the... [More]
Tags: analytics cplex optimization 
No, The TSP Isn't NP Complete
Two recent blog posts discussing the Traveling Saleman Problem (TSP) led me to write this post. The two blog posts are What is Operations Research by Graham Kendall, and I’ve Been Everywhere (Optimally…) by Rob Jefferson. Both are worth reading (I wish I had written them..). These posts share two interesting properties: both discuss the TSP, and both make a slight mistake about the TSP. The same mistake occurs regularly in blog posts and even books. The mistake is... [More]
Tags: np analytics optimization 
Free CPLEX Software For Academics 
Solving Flexible Job Shop Scheduling Problems
A recent post by Quintq team about solving hard scheduling problems made me wonder how our Constraint Programming Optimizer (CP Optimizer) would perform on the same problems. I therefore contacted Philippe Laborie who is working on CP Optimizer. He worked with another colleague, Petr Vilim, and quickly produced quite interesting results using our forthcoming version 12.6 of CP Optimizer . Here is how Philippe and Petr describe what they did. JeanFrançois Puget This benchmark is known as Flexible Job Shop... [More]
Tags: constraint_programming benchmark 
2013 INFORMS Annual Meeting Presentations
Several of my colleagues were speakers at the 2013 INFORMS Annual Meeting . I have tweeted about it and got many requests about the material. Good news is that we have made all presented material available in our developerWorks community . You'll find the abstract and download links for the following talks and tutorial. All material is available for free. Analyzing 12 Years of Progress in CPLEX by Roland Wunderling CPLEX Distributed MIP by Laszlo Ladanyi and Daniel Junglas LiftandProject Cuts in... [More]
Tags: analytics education optimization informs 
Financial Institutions Use CPLEX On Mainframe To Manage Risks And Improve Efficiency
Last year we announced the availability of our CPLEX mathematical solver on IBM mainframes called z Enterprise. Since then we have seen financial institutions use it in various ways. This article by my colleagues Aimee EmeryOrtiz, Ferenc Katai, and Sofiane Oussedik review some of these use cases. The paper provides some insights on how CPLEX can be used on mainframe to address banking and finance IT challenges. Not only some business operations need to be optimized, but this has to be done while maintaining customer data... [More]
Tags: analytics zenterprise 
Benchmarking Is Tricky
We benchmark all the time. Why? There are mainly two reasons. First, our customers keep asking for performance improvements, as they apply CPLEX to larger and more complex problems. We therefore need to make sure newer releases of CPLEX are faster for our customers. The only way to know is to benchmark our code. Second, marketing people like to be able to claim speedup in their messaging. Indeed, this boils down to a simple number that can be reused everywhere. The latter is a nice side effect,... [More]
Tags: cplex benchmark analytics 
Analytics Education Series
Stephan Jou and I created an education series around analytics for IBM employees earlier this year. Given the success and the quality of presentations it was decided to make this series available outside IBM at no cost for participants. This curriculum is focused on the science, not the products, as we're interested in providing you with descriptions of the purpose and science behind the various analytics methods. It's a veritable 360 degree review of analytics including topics like descriptive analytics, statistics, data... [More]
Tags: education analytics 
CPLEX 12.6 Announce
Update on June 28 2015. A more recent release of CPLEX is now available, namely CPLEX 12.6.2 . We are proud to announce release 12.6 of IBM ILOG CPLEX Optimization Studio. Planned release dates are December 6, 2013: Electronic availability January 6, 2014: Media availability Version 12.6 delivers: Improved solution times on difficult mixedinteger problems Improved solution times on scheduling problems A new algorithm to provide a global optimum for problems with nonconvex quadratic objectives A new algorithm that... [More]
Tags: analytics optimization cplex 
IBM Support Technical Exchange Webcasts
Update on Sept 20. Here is the agenda for the remainder of 2013. Mark your calendars for these upcoming webcasts. Examples of Flow Control in OP L on October 2,2013, 8 AM PDT GMT(7), by Nikhila Arkalgud and Scott Rux Database Connectivity in OPL on November 5,2013, 8 AM PDT GMT(7), by Guang Feng and Liyuan Wang Constructing a baseline model in LogicNet Plus on November 12, 8 AM PDT GMT(7), by Matt Cummins and Aneesha Panicker Comparison of CPLEX and OPL APIs on December 3,2013, 8 AM PDT GMT(7), by Nikhila Arkalgud and Scott Rux... [More]

Slides and Replays for our Virtual User Group Sessions
You missed one of our webinar? You'd like to be able to catch up? We heard you, and made our material (slides and recording) available in our developerWorks community . Please contact Kitte Knight at kknight@us.ibm.com for an invitation to the webinars or for access to recordings. Here is the current list of topics that were covered so far. Slides and recordings are availalable for each of theses. Practical Guidelines for Solving Difficult Mixed Integer Programs Even with stateoftheart hardware and software,... [More]

Optimizing Real Time Decision Making
Why would a taxi company ever wait before dispatching cars to calling customers? The answer may surprise you: it is for decreasing customer waiting time. Yes, you read it correctly: they wait before responding in order to decrease customer waiting time. I'm not making this up. It is precisely what a customer of ours, a taxi company, is doing. The answer looks quite counter intuitive, isn't it? Let's use a simple example to explain why it makes sense. It is a simplified view of what dispatchers at taxi... [More]
Tags: optimization analytics 
Practical Guidelines for Solving Difficult Mixed Integer Programs
Update on Sept 30 2013: Ed Klotz has co authored a paper with Alexandra M. Newman on that very topic, worth a read. They also have a related paper on Practical guidelines for solving difficult linear programs Update on Sept 6 2013: slides and replay for Ed Klotz presentation are available in our developerWorks community . Ed Klotz will present on our next virtual user group webinar. Ed is the worldwide expert on how to tune CPLEX and reformulate models in order to get better... [More]

Un Peu de Math avec CPLEX
There is one thing I didn't disclose in my previous post (Un Peu de Math) on the Analytic Bridge Mathematical Competition : I used CPLEX to refine and validate various hypothesis. As usual, my first try wasn't very convincing, and I had to rely on better understanding of the problem to solve it efficiently. Let me start with a statement of the optimization problem to be solved. A permutation x is a function such that x(i) is in the set {0,1,...,n1} for all i in that set.... [More]
Tags: modeling mathematics 
Un Peu de Math
The following was triggered by a mathematical problem proposed by Vincent Granville. The problem was to compute the maximum value q(n) of a function related to the well known metrics Spearman's footrule , or L1. This would then be used in a new stat isti cal corr elat io n based on ranked variables that would be very useful for Big Data applications. I'll refer readers to Granville's article for more details. At first sight this seemed quite diffficult, and Granville launched a... [More]
Tags: mathematics big_data analytics 
More On Absolute Value
I needed to model an absolute value in a MIP model. I could have used one of the methods described in the very good review by Paul Rubin , but another method seemed better suited to my special case. I am given a binary variable z and an integer variable x such that 0 <= x <= 2 z = abs(x1) The rest of the model is such that we cannot assume we minimize z. This is therefore a non convex constraint. The method I used works for any function of x . In order to model z = f(x) we introduce one binary x i... [More]
Tags: modeling 
Technical Lessons Learned While Selling Optimization To Business Users
Update on Sept 6 2013: slides and replay for this presentation are available in our developerWorks community . For those who missed my EUROINFORMS talk here is a replay in the context of our virtual user group series. It follow presentations on topics such as latest CPLEX release , or constraint programming . The presentation focus is on how to make business people use optimization more. I'll review various issues discussed in this blog, and more, as well as potential ways to address them. This... [More]

DWave vs CPLEX Comparison. Part 3: WMAX2SAT
How good is CPLEX for the last series of test problems used in this McGeoch&Wang paper ? Remember, it is this paper that compared a specialized hardware from the DWave company with three software solvers, including CPLEX. It generated lots of buzz because (a) DWave machine is claimed to be a quantum computer, and (b) because reported results show a dramatic speedup compared to CPLEX. The paper used three series of test problems for the comparison. We have revisited and improved CPLEX results dramatically... [More]

Proactive Analytics
Why blog again about optimization and analytics? Because the current way of having optimization be part of analytics is a bit misleading. Let me first say I assume that optimization is part of analytics here. Granted, a previous post of mine supported a different view, but the idea that mathematical optimization is part of the broader category of analytics is gaining momentum. For instance, the INFORMS society is pushing for it with its... [More]
Tags: analytics optimization 
Do We Need Accuracy In Solvers?
I just read this interesting blog post by Samik Raychaudhuri on solver accuracy. He wrote : " typical data accuracy does not go beyond the decimal point, and even if it does, seldom beyond 12 places of decimal. Why solve a problem accurately up to 10 places of decimal when the input data is not that accurate? " It reminded me of the 53 bits ought to be enough for anybody post by John D. Cook. Paul Rubin commented on the first post that one of the problems that leads to accuracy... [More]

DWave vs CPLEX Comparison. Part 2: QUBO
Can we improve CPLEX performance for yet another test series used in McGeoch&Wang paper , namely the native QUBO instances? According to the paper, these instances were random instances constructed to match what the DWave hardware can solve directly. These are problems of the form minimize sum ij Q ij x i x j where all the variables x i are binary. Such problems are called QUBO (Quadratic Unconstrained Binary Optimization ) problems. CPLEX release 12.3 didn't do very well according to the paper (although it was... [More]
Tags: modeling qubo optimization dwave 
Virtual User Group: CPLEX 12.5.1
Update on Sept 6 2013: slides and replay for Roland Wunderling's presentation are available in our developerWorks community . Roland Wunderling will be presenting on CPLEX 12.5.1 in our next Virtual User Group. Do not miss this unique opportunity to learn more about our latest CPLEX release. This release was made available to our commercial customers on June 12, 2013. Free academic version should follow shortly via our academic initiative . Besides the performance improvement I described here , CPLEX... [More]

DWave vs CPLEX Comparison. Part 1: QAP
Why am I discussing again the DWave quantum computer vs CPLEX comparison paper published by Cathy McGeoch and Carrie Wong ? Mainly because it looked like an interesting challenge to redo the CPLEX experiments to see if we could get better results. Here are new results for the quadratic assignment problem test series. Our results for the other tests series in will be reported in subsequent posts. To cut a long story short, our results are better than those in the paper. ... [More]
Tags: optimization modeling analytics dwave 
CPLEX 12.5.1
Update on June 28 2015. A more recent release of CPLEX is now available, namely CPLEX 12.6.2 . We are about to have a new CPLEX release, namely IBM ILOG CPLEX Optimization Studio 12.5.1. We plan for electronic availability this week. The main focus for this release was to improve performance across the board, and particularly for Mixed Integer Programming (MIP) and Mixed Integer Quadratic Programming (MIQP and MIQCP). We also improved numerical accuracy and fixed few bugs. For MIP we get the following geometric average... [More]
