316. Clarke-Wright

The savings algorithm (Clarke & Wright, 1964) — the classical constructive heuristic for VRP. Simple, fast, surprisingly good for capacitated VRP.

316.1. The savings concept

Two single-customer routes: depot depot and depot depot. Cost = .

Merge into depot depot. Cost = .

Saving:

By triangle inequality . Large savings → customers and are close to each other and far from the depot.

316.2. Algorithm

Initialize: one route per customer (depot → i → depot)
Compute s[i,j] for all pairs and sort descending
For each (i, j) in sorted order:
    If merging routes containing i and j is feasible:
        - i and j must be on the same "endpoint" of their routes
        - i and j must be on different routes (not the same one)
        - Merged route's total demand ≤ Q (capacity)
    Then merge them
Return routes

Sort: . Merge checks: pairs. Total: .

316.3. Two variants

Parallel (the original): consider all savings in one sorted list; merge eagerly. Multiple routes grow simultaneously.

Sequential: process one route at a time; finish growing it before starting another. Tends to produce longer routes; sometimes better, sometimes worse than parallel.

316.4. Variants & enhancements

316.5. Real-world significance

For 60 years (1964–today), Clarke-Wright + 2-opt has been the standard quick-and-dirty VRP heuristic:

Modern heuristics (ALNS, HGS) do better but at significantly more complexity.

316.6. Daganzo continuous-approximation alternative

For very large fleets, instead of optimizing each route, use Daganzo’s continuous-approximation formulas to design route structure. See Daganzo.

316.7. See also