Jens Lysgaard

(translated by Michael M. Sørensen)

Department of Management Science and Logistics The Aarhus School of Business Fuglesangs Allé 4 DK-8210 Aarhus V

September 1997

1. Introduction. In 1964 Clarke & Wright published an algorithm for the solution of that kind of vehicle routing problem, which is often called the classical vehicle routing problem. This algorithm is based on a so-called savings concept. This note briefly describes the algorithm and demonstrates its use by an example.

2. Problem characteristics. The vehicle routing problem, for which the algorithm has been designed, is characterized as follows. From a depot goods must be delivered in given quantities to given customers. For the transportation of the goods a number of vehicles are available, each with a certain capacity with regard to the quantities. Every vehicle that is applied in the solution must cover a route, starting and ending at the depot, on which goods are delivered to one or more customers. The problem is to determine the allocation of the customers among routes, the sequence in which the customers shall be visited on a route, and which vehicle that shall cover a route. The objective is to find a solution which minimizes the total transportation costs. Furthermore, the solution must satisfy the restrictions that every customer is visited exactly once, where the demanded quantities are delivered, and the total demand on every route must be within the vehicle’s capacity. The transportation costs are specified as the cost of driving from any point to any other point. The costs are not necessarily identical in the two directions between two given points.

-1-

3. The savings algorithm. The savings algorithm is a heuristic algorithm, and therefore it does not provide an optimal solution to the problem with certainty. The method does, however, often yield a relatively good solution. That is, a solution which deviates little from the optimal solution. The basic savings concept expresses the cost savings obtained by joining two routes into one route as illustrated in figure 1, where point 0 represents the depot.

i

j

i

j

0 (a)

0 (b)

Figure 1. Illustration of the savings concept.

Initially in figure 1(a) customers i and j are visited on separate routes. An alternative to this is to visit the two customers on the same route, for example in the sequence i-j as illustrated in figure 1(b). Because the transportation costs are given, the savings that result from driving the route in figur 1(b) instead of the two routes in figure 1(a) can be calculated. Denoting the transportation cost between two given points i and j by cij , the total transportation cost Da in figure 1(a) is: Da = c0 i + ci0 + c0 j + c j 0

Equivalently, the transportation cost Db in figure 1(b) is:

Db = c0 i + cij + c j 0

By combining the two routes one obtains the savings Sij :

Sij = Da − Db = ci0 + c0 j − cij

-2-

Relatively large values of Sij indicate that it is attractive, with regard to costs, to visit points i and j on the same route such that point j is visited immediately after point i. There are two versions of the savings algorithm, a sequential and a parallel version. In the sequential version exactly one route is built at a time (excl. routes with only one customer), while in the parallel version more than one route may be built at a time. In the first step of the savings algorithm the savings for all pairs of customers are calculated, and all pairs of customer points are sorted in descending order of the savings. Subsequently, from the top of the sorted list of point pairs one pair of points is considered at a time. When a pair of points i-j is considered, the two routes that visit i and j are combined (such that j is visited immediately after i on the resulting route), if this can be done without deleting a previously established direct connection between two customer points,...