OR in the field: two challenges

This post presents some thoughts about doing applied operations research together with companies. It’s a lot of work, to be sure, but it’s also a lot of fun. Some of my colleagues tease me about not being often at my office. While it’s true that I split my office time between the research center and the buisness school, I also spend a lot of time with logistics managers and planners in forest companies but also with government people. Most of my projects involve operations research in one way or another.

First, understand the problem

The first challenge is understanding the problem, as seen from the user’s perspective. I have yet to find someone whose problem is solving a straight-out-of-the-box CVRP. Logistics problems, in particular, often are interconnected, so inventory or production planning decisions often interact with other decisions such as transportation or sales.  As I mentioned in an earlier post, many users aren’t interested in a logistics plan that aims solely at minimizing direct cost. This is especially true in tactical or strategic planning, where I do most of my work. Beyond cost minimization, what the user really wants to achieve through tactical planning is often a low-cost solution that offers a “good” compromise between a certain number of other factors.

Second, build the right model

Once you have a good idea of what is important in the problem, I usually try to build the simplest possible model  that can possibly work. I do this for two reasons. First, the distribution of time needed to debug a complex model tends to be heavy-tailed, and it is less the case for simple models. Also, the flaws and shortcomings of simple models are easier to understand, explain and correct than those of bigger models. And yes, bigger models have flaws too. They just are more tricky to find and fix.

Quite often, a simple model is the right first model to build. Then add (or remove) complexity and features one at a time.

When optimal is not enough

Currently I work with Professor Mikael Rönnqvist from Université Laval on an inventory and transportation management problem from a forest products company.  As a large scale commodity products company, much of its focus is on reducing logistics costs while improving its efficiency and service such as on-time deliveries. As such, we are developing a decision support system prototype that seeks to tackle this planning problem. There is a huge body of scientific literature on vehicle routing, yet we ended up in a very different place than where most papers go. Among the many reasons, one is of particular importance:

They are pretty much uninterested in a solution that simply minimizes their direct transportation cost over a one-month planning horizon.

You read it correctly. The company is interested in keeping costs low, but they also consider that there are many things to take into account beyond the amount of money paid every day to transporters. Among them:

  • Distribute the workload between the various truck owners and transporters;
  • Avoid if possible the queuing of trucks in any mill at any given time;
  • Schedule the delivery of some products to arrive a bit early if possible.

This naturally translates into a certain number of soft constraints which complement the more direct components of costs. The cost structure also incorporates different costing mechanisms such as direct delivery and two types of return trips. Balancing this out is not easy, but it yields interesting discussions with the industrial partners and planners about the value of a solution.  (If this aspect of doing optimization interests you, I suggest reading Jean-François Puget’s take on the topic.)

I should be able to post some sanitized results in a couple of weeks.

Exam design problem

For students, the final exam week is probably the most stressful time of a semester. They often have multiple exams over consecutive days and need to split their last-minute study and preparation time over these topics. I must confess that I also … [Continue reading]

The day I put my hand into the shredder

...or so to speak. Recently, I've been working (in collaboration with two people) on a production planning model for a network of sawmills. It is not yet customized for a particular company. We came to this particular model after a few meetings, and … [Continue reading]

Performance variability: consequences

P64T28C5

If you work on difficult mixed-integer programming (MIP) models, you have experienced performance variability. This refers as the impact on performance of seemingly performance neutral changes induced in the model or the solver. Part 1 of this series … [Continue reading]

Performance variability: good readings

If you work on difficult mixed-integer programming (MIP) models, you have experienced performance variability. This refers as the impact on performance of seemingly performance neutral changes induced in the model or the solver. Part 1 of this series … [Continue reading]

Performance variability defined

These days, it seems that one of the most simple and effective ways to tackle difficult mixed-integer programming (MIP) models is to run the model on a state-of-the-art solver with different random seeds. It is very easy to implement and often … [Continue reading]

In-house testing of CPLEX distributed MIP

Distributed optimization is now part of standard CPLEX releases. In fact, it's been there since release 12.5. I decided to do some experiments and post on this after seeing Daniel Junglas' talk at the German OR Conference in September, but writing … [Continue reading]

In-house testing of the Gurobi 6 distributed MIP [dual]

Distributed optimization is now part of the Gurobi 6.0 release. In today's post, I talk about some tests I ran with the distributed MIP algorithm. The associated primal post discusses results presented by Gurobi at the INFORMS 2014 Annual conference. … [Continue reading]

Distributed MIP solving reaches Gurobi [primal]

Distributed optimization has now reached the point where it is incorporated into general-purpose mixed-integer programming (MIP) solvers such as CPLEX and Gurobi. In today's post, I will summarize the implications of some results presented at the … [Continue reading]