Algorithms, Optimization and Constraints in TMS Software
by Mitch Weseley
I think it’s time we stopped using the word “optimization” in our transportation management conversations.
I believe this because when we talk about optimization, we usually apply the term toward solving rating and routing problems. For example, “We have many separate orders going out on the same day, to many different locations. Let’s run it through the Optimizer to find the best solution and create shipments in the way that saves the most money and satisfies our customers.
The word “optimization” means, “finding the alternative with the most cost effective or highest achievable performance under the given constraints.” Factually, Transportation Management Systems (TMS) are not using optimization algorithms to solve complex rating and routing transportation problems. Current TMS solutions use heuristic algorithms to address these issues. Here is why.
Origin of Transportation Routing Algorithms
Transportation routing algorithms have been around for over 25 years. The earliest algorithms focused on dedicated fleets — where all shipments had to be delivered as stops in transit. Typically, all of the routes were multi-stop truckloads — the trucks made all of their deliveries and then returned home. Eventually, these algorithms evolved into the first Transportation Management Systems that combined rating with multi-stop routing. In fact, before PC’s had hard drives, I wrote these algorithms that dealt with multi-stops, pool points and shipping directly by less-than-truckload (LTL) carriers.
So, algorithms are not a new concept, yet there are many misconceptions around them.
First, routing algorithms are not optimization algorithms. To solve rating and routing problems, we cannot apply optimization algorithms that find the “best” result — like the simplex method does for linear programming. Even the traveling salesman challenge, a miniscule subset of this problem,cannot be solved by using an optimization algorithm. So, in our real-world TMS discussions, let’s be careful in our usage of the word “optimization” because it sets up a false expectation of getting the absolute most effective solution to every rating and routing problem.
Instead, routing problems are solved using heuristic algorithms that utilize an approach of logic similar to an experienced routing professional. Heuristic algorithms surface an efficient and effective solution that manages shipping costs, meets the customers’ service level demands, and does not violate constraints — factors that must be respected and cannot be violated.
Dealing with Modern Delivery Constraints
Today, transportation management is so complicated because of the number of constraints that have to be part of the initial planning cycle and acknowledged in the heuristic algorithm. Service level — when, where and how a customer wants his delivery — is the most important goal and the only issue that matters to the customer. It’s up to us to work successfully within constraints. Examples of constraints might be temperature control, or freight that has to go on a flatbed or products that need special handling. In any given shipment, there may be tens, or hundreds or thousands of constraints that have to be recognized in the planning of the shipment.
What separates one TMS system from another is in the way it manages and works with these constraints — within the algorithms embedded in the TMS system. Any one of these other constraints, if not part of the algorithm, can ruin the ability to meet the customer’s service level.
As John Wooden, the great college basketball coach said, “It’s the little details that are vital. Little things make big things happen.”
So, we not only have to make sure we know of all of the constraints, but that the TMS enables these constraints to be easily included in the planning of a shipment. After all, we really just want our customer to be happy by enabling a good solution that saves real money and doesn’t violate constraints.
This is our real challenge.
This was originally posted at: Logistics Viewpoints