Clarke and Wright Savings Algorithm
The Clarke and Wright savings algorithm is one of the best-known heuristics for the VRP. It was developed in [Clarke and Wright 1964] and it applies to problems for which the number of vehicles is not fixed (it is a decision variable), and it works equally well for both directed and undirected problems. When two routes (0,…,i,0) and (0,j,…,0) can feasibly be merged into a single route (0,…,i,j,…,0), a distance saving
is generated. The algorithm works as follows (the first step is the same in both the parallel and sequential versions):
Step 1. Savings Computation
- Compute the savings
for
and i
j. - Create n vehicle routes
for
. - Order the savings in a non-increasing fashion.
Parallel Version
Step 2. Best Feasible Merge
Starting from the top of the savings list, execute the following:
Given a saving
, determine whether there exist two routes that can feasibly be merged:
- One starting with

- One ending with

Combine these two routes by deleting
and
and introducing
.
Sequential Version
Step 2. Route Extension
- Consider in turn each route
. - Determine the first saving
or
that can feasibly be used to merge the current route with another route ending with
or starting with
. - Implement the merge and repeat this operation on the current route.
- If no feasible merge exists, consider the next route and reapply the same operations.
- Stop when no route merge is feasible.