Inventory routing when it matters

Yesterday we had the pleasure of welcoming Prof. Leandro C. Coelho for a research seminar at the Forac research consortium. He presented his work on the inventory routing problem (IRP) which is a combination between the vehicle routing problem (VRP) and inventory management problems. Leandro is a very prolific writer, with many research contributions on both algorithmic and modeling aspects. His presentation renewed my interest about routing problems. Leandro CC Seminar

It´s tempting to see the IRP as yet-another-variant of the very popular VRP.  In his seminar, Leandro made a very good case about why Inventory arouting Problems (IRP) matter. He pointed out that though not every published paper on IRP works on cases brought up by real companies, but many algorithms proposed for the IRP are versatile enough to be applied to industrial problems. Among the examples he cited:

  • Automated cash terminals (ATMs) need to be replenished regularly. In some countries such as the Netherlands, some atms have the ability to directly handle deposited bills and put them back right into circulation. Optimizing the replenishment schedule could yield saving of up to 10 million euros a year.
  • Olive oil collection from harvesters in Tunisia is also quite important and complex. Olive oil comes in different quality levels, and it is very important for high-quality oil not to come in contact with lower quality oil. When a vehicle compartment or tank has been used to carry a lower-quality oil, it needs to be cleaned before it can be used to transport higher-quality grade oil.
  • There are also other considerations besides inventory and routing costs. In one application – the production and delivery of custom-made guitars – the company has the opportunity to balance logistics costs with cash flow issues.

Another good news related to this these applications is that there are plenty of opportunities to help real companies by applying this OR. Implementing these algorithms into enterprise software however requires lots of work (programming, modeling, customizing, training, documenting), but the algorithms to solve the problems are already there. This is a great opportunity for those skilled in operations research who don’t want to spend their lives implementing Cplex callbacks in C or C++.

I really enjoyed Leandro’s seminar, and I think the people at Forac enjoyed it too!

(I must also say I was inspired to do this blog post after seeing Laura McLay  and Michael Trick‘s mutual blog posts about their plenaries a the #or2014 conference.)

Academia and software neutrality

When I started my PhD, the only MIP solver that was used at the lab was Cplex. At that time, it was considered the best by the people I worked with. I say “considered”, because I took this assumption as a fact without actually testing it. I could have been working with the wrong solver without realizing it.

Now, a few years later, the MIP landscape has changed pretty much, with Gurobi and Cplex competing and Xpress also performing well on the benchmarks. There are also more options to easily use open-source codes (such as SolverStudio), especially for using these in the classroom.

As a researcher, I have developed a habit of testing with different solvers each time I approach a new project. Being the fastest on geometric mean performance on the MIPLIB2010 benchmarks does not guarantee that a solver will be faster for a given problem. It also keeps me up to date with the APIs of each solvers and how easy (or not) they are to work with. As a teacher, I also want to introduce students to a wide range of tools so they develop their ability to select the proper software or technique to the requirements of their job, as well as to quickly adapt to new tools when they are available. Currently I teach OR with these tools:

  • AMPL
  • CBC through either OpenSolver or SolverStudio
  • CPLEX with command line & concert
  • Gurobi with command line & .NET API

(I’d also like to teach Gurobi with Python, but I’m too much of a beginner in Python to be really a good mentor for undergrads.) To be able to teach when and how to use each solver, I must be proficient with them too, which takes time. That probably makes me a little less efficient, especially in terms of how many papers I can produce per year. Up to a certain point, I can live with that, though obviously I can’t test everything and every software I come upon.

On a more personal level, I find it important to base my assessment of the tools on facts or computational experiments rather than opinions. Trying different tools and providing feedback to developers is a good way to keep the competitive environment that we have now.

Using the CPLEX tuning tool on difficult models

The question on how a tuning tool can help solve difficult optimization models has been intriguing to me. For those new to the concept, the tuning tool tries different parameter settings and seeks to find good parameters for the solver for a given … [Continue reading]

OR-Enabled Collaborative Logistics

Today's post is about collaborative logistics, one field of study in which I recently started to work in. It is a tricky field for many reasons, and I will try to explain why and how. Operations research is a key enabler of collaboration. Logistics … [Continue reading]

Seeds and parallel MIP solvers, extended edition


In a previous post, I showed that changing the random seed on a given problem yielded varies solution times by between 20% to 40% on average, depending on the solver and the setting. I decided to push that experiment a little further and sample the … [Continue reading]

Dynamic pricing horror stories

The hotel industry has accepted these principles behind revenue management and dynamic prices. Many of these dynamic pricing strategies are driven by OR- or analytics-based models, too. Too much of a good idea can turn into the opposite of the … [Continue reading]

ILS 2014, a buffet of logistics and OR


This post was originally written for OR Complete. I re-post it here in case you missed the original posting. ILS - a short name for the International Conference on Information Systems, Logistics and Supply Chain, is a bi-annual conference focusing … [Continue reading]

Uncertainty, Models, and the Chaos Out There

Future is dominated by uncertainty. In terms of supply chain management – my main field of application – it comes in terms of variation in lead times or demand levels, or in the form of severe events such as hurricanes which can severely disrupt a … [Continue reading]

Local search: uses (good and bad)

Some time ago @lambdadmitry asked me to elaborate  a bit about some discussion about the relevance of local search, which originated from a tweet by @JeffLinderoth. I apologize that it took me so long to complete this post, but I found some … [Continue reading]

Seeds and Parallel MIP solvers, part I


Over recent years, mixed-integer programming (MIP) solver developers worked really hard to provide parallel codes that are both fast and quite stable. A few years ago, using a parallel code resulted in huge variations in run times: successive runs of … [Continue reading]