Clarke and Wright
Savings Algorithm
Vehicle Routing Problem (VRP)
• Objective:
– To design a set of delivery
routes for a fleet of vehicles
from a central depot to a set
of demand points each
having known service
requirements that minimizes
the total distance covered by
the vehicle fleet.
1
Clarke & Wright Savings Algorithm
• Well-known example of VRP
• Applicable to problems for which
the number of vehicles is not fixed
• Objective:
– To obtain a feasible configuration
that yields the largest "savings" in
some objective function, such as
total cost.
Constraints
• Maximum vehicle carrying capacity
– 80 units per vehicle
• Maximum distance traveled by the
vehicle per day
– Maximum vehicle speed is 20 km/hr and
the vehicle can travel at most for 7.5 hrs
a day.
– Each vehicle can travel (20 x 7.5) = 150
km per day
• All routes to commence and terminate
at the depot
2
Objective
• “To find the best feasible route for the vehicles so
as to satisfy the demand at each of the nodes”
H(30)
G(40)
A (40)
F(60)
W
E(20) C (20)
B (50)
D(30)
3
Distance matrix
W
30 A
58 62 B
28 44 32 C
44 73 42 29 D
30 60 61 29 24 E
34 64 82 50 45 21 F
28 36 86 56 72 57 36 G
39 25 87 67 83 69 57 21 H
Step 1
• Calculate the Savings Sij for all pairs of
customers i and j Æ Sij = dwi + dwj - dij,
w
dwi dwj
i j
dij
4
Sample calculations
• Distance from
– ‘A’ to ‘B’ = 62 km
– ‘W’ to ‘A’ = 30 km
– ‘W’ to ‘B’ = 58 km
• Total distance to be traveled if the vehicle had
served ‘A’ and ‘B’ separately = 60 + 116 = 176 km
• If ‘A’ and ‘B’ are combined, total distance to be
traveled is (30 + 62 + 58) = 150 km only
• Hence, total savings is (176 – 150) = 26 km
Savings Table
A
26 B
14 54 C
1 60 43 D
0 27 29 50 E
0 10 12 33 47 F
22 0 0 0 1 26 G
44 10 0 0 0 16 46 H
5
Steps (Contd.)
• Step 2
– Order the savings in descending order.
• Step 3
– Starting at the top, find out if a given link results in a
feasible route.
– If it satisfies the constraints, then include this link in the
solution.
– If not, then reject the link.
• Step 4.
– Try the next link in the list and repeat Step 3 until no
more links can be chosen.
Selection of feasible routes
Link Savings (kms) Distance Remarks
B-D 60 42 Load-80, Kms-144. Hence feasible.
B-C 54 32 Cannot add
D-E 50 24 Cannot add
E-F 47 21 Load-80, Kms-85. Hence feasible.
G-H 46 21 Load-70, Kms-88. Hence feasible.
A-H 44 25 Add to G-H. Load-110. Hence non-feasible.
C-D 43 29 Cannot add
D-F 33 45 Cannot add
C-E 29 29 Cannot add
B-E 27 61 Cannot add
A-B 26 62 Cannot add
F-G 26 36 Cannot add
A-G 22 36 Add to G-H. Load-110. Hence non-feasible.
F-H 16 57 Cannot add
A-C 14 44 Load-60, Kms-102. Hence feasible.
C-F 12 50 Cannot add
B-F 10 82 Cannot add
B-H 10 87 Cannot add
A-D 1 73 Cannot add
E-G 1 57 Cannot add
6
H(30)
G(40)
A (40)
F(60)
W
E(20) C (20)
B (50)
D(30)
Limitations
• Time consuming since all savings
must be computed, stored and sorted
• Various enhancements have been
proposed to speed up computations
and to reduce memory requirements
• Does not take care of the unutilized
vehicle capacity because of the
restriction of the maximum number
of nodes to 2 only
7
Sample application
• School bus routing and scheduling problem
– Number of schools
– Assignment of a set of bus stops
– Specific number of students assigned to each stop
– Time windows for the pickup and the delivery of the students
• Objective function is
– To minimize the number of buses used or total transportation
costs while serving all the students and satisfying all the time
windows