# Finding the formula for the travelling salesman problem

## Inside the mathematics of supply chain logistics

Reducing security risks from open source software

What do heuristics, graph theory and doughnuts have in common? Each of them, in its own way, underpins one of the most challenging parts of the logistics process: planning delivery routes.

Every day, millions of products find their way from manufacturers to distributors, retailers and finally to homes and businesses everywhere.

Making sure those products get there on time is a gargantuan task which has its roots in a mathematical conundrum from the 1800s: the travelling salesman problem.

In its simplest form, the problem takes a hypothetical salesperson tasked with visiting a certain number of places in one day. How can the salesperson visit all of the places via the shortest route?

This problem is a product of graph theory – the study of nodes and lines – and it is the perfect kind of mathematics for logistics networks. After all, these are effectively collections of the same thing.

“If you think of what the supply chain looks like, you draw circles on paper and label them,” says Jeff Karrenbauer, president and founding director of Insight, which specialises in planning solutions for logistics and supply-chain operations.

“You draw lines between them that represent transportation links.”

The travelling salesman problem may be a fun puzzle to solve at home with about six nodes. But for logistics firms dealing with thousands of circles and lines, it is far more challenging.

The problem lies in the fact that as you add places to visit, the number of possible combinations increases exponentially. And the reason for that lies with the logistics route planner’s nemesis: the factorial.

### Dizzying numbers

The factorial of a number, n, is the product of all the positive integers equal to or less than itself, and is denoted as n! . The factorial of 4 (4!), for example, is 4 x 3 x 2 x 1 (24).

That is how many combinations you would have for a travelling salesman with four places to visit. 5! Is 120. 6! Is 720.

Now, think about a single driver making 25 stops in a day. That provides 1.551121 x 10^{25} different combinations (25!).

Given that there are about 10^{25} stars in the visible universe, the average delivery driver would earn a lot of overtime doing that on paper – and would probably have to skip breakfast.

“It's a very special situation, because once you have decided that every node will be visited once, every node has exactly one predecessor and every node has one successor. It's what is called a combinatorial optimisation problem,” says Jim Bookbinder, director of the Management of Integrated Manufacturing Systems research group at Canada’s University of Waterloo.

In real life, the whole thing becomes intractable long before you reach 25 stops, explains Danny Bausch, director of analytics and product management at Insight.

“That problem doesn't yield well to optimisation. Once you get above about nine stopping locations, the number of combinations explodes exponentially and optimisation routines melt down,” he says.

To ease the load, logistics experts must try to bring in another kind of mathematics: heuristics. This is a way of finding approximate solutions to mathematical problems when there are simply too many potential inputs to handle.

“At some point the brain says there are too many things going on"

We have found them in popular computing applications before, such as anti-virus software, for example, where many files must be checked quickly, often in real time, to look for malicious bugs.

“At some point the brain says there are too many things going on so I will follow some rules of thumb,” says Bausch.

For example, 25 different stops may be too difficult to analyse using the computing technology available. But you may be able simply to look at the map where the drops are to be made and divide them into more easily manageable chunks, for example north, south, east and west quadrants. Each of those could then be subject to its own travelling salesman analysis.

After all, it is unlikely that a driver would ever want to go directly from the southernmost point in a daily route to the northernmost point, so that is one of many combinations it wouldn’t make sense to compute.

“That's a manual heuristic. Those rules can be put together like that,” says Bausch. “They are a series of steps that the computer understands well.”

There are a handful of commonly used heuristics when it comes to mathematical problems of this sort. One of them is the sweep algorithm, which uses a line that sweeps across the map to find potential intersections between the different points and come up with an optimal order for deliveries.

Another is the exchange heuristic. “If an order turns out not to be a good sequence, then you operate on it with exchanges, saying ‘trade stop one for stop two, and switch nine for six’,” says Bausch. “You can do that for a long time, too.”

Yet another, far more complex algorithm deals with quadratic assignments. It considers the sweep and exchanges together and the expected value.