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 