In this lecture we continue our discussion
on vehicle routing problems. We address the single depot vehicle routing problem as mentioned
in the earlier lecture. There is a single depot which we may call
as d. There are a set of customers. Let us assume that there are six customers. Let us
call them 1 2 3 4 5 6. At least two vehicles will move from this depot and will transport
goods to meet the requirements of these six customers. We can consider the case where
the vehicles or the trucks have a capacity and there is a requirement in terms of quantity
from these places. We can also look at the case where we do not explicitly consider the
vehicle capacity and the requirement. If there is only one vehicle, as mentioned in the earlier
lecture, now this vehicle will move from the depot, visit all these places only once and
come back to the depot. Then the vehicle routing problem reduces to the Travelling Salesman
Problem which we have seen in the earlier lectures. In order to have a vehicle routing
problem we assume that there are at least two vehicles required. As mentioned, there
are two cases. One case is where we look at capacities of the vehicle and requirement
of these places. The second we do not look at the capacity, we only look at the movement
or distance that these vehicles have to cover. If we consider two vehicles, one feasible
solution would be that vehicle 1 can start from the depot, go to 3 and then to 4, then
to 5 and then come back to the depot. While the other vehicle can start from the depot
go to 2, go to 1, go to 6 and then come back to the depot. We may call this as the route
for vehicle 1 and this for vehicle 2. The problem is, if we consider two vehicles,
which are these cities or nodes that will go to each vehicle. What is the order in which
the vehicle will move, such that the total distance travelled by both the vehicles is
minimized? This is a feasible solution; d 3 4 5 d is a feasible solution and d 2 1 6
d represents a feasible solution for two vehicles. Therefore, the vehicle routing problem actually
comprises of two problems. The first problem is like an allocation problem which says which
of these customers will go to which vehicle. The second is a routing problem and what is
the order in which the vehicle will move such that it travels minimum total distance. Let
us explain this vehicle routing problem with a numerical illustration. The data is shown
in this table. Here we have a 0 and then 1 to 6 and 0 represents
the depot, these 6 represents the nodes or the cities. Therefore 0 to 1 20 mean that
city 1 or node 1 is at distance d equal to 20 from the depot, d 0 2 being with 18, it
is like saying this distance is 18, 1 to 2 is 22, 1 to 6, 1 to 2 is 22, 1 to 6 is 28,
6 to 1 is 19, d to 3 is 14, 3 to 4 is 20, 4 to 5 is 30, d to 5 is 12. We might say that
for this feasible solution, the total distance travelled would be 14 plus 20 equal to 34,
34 plus 30 equal to 64, 64 plus 12 equal to 76 and 18 plus 22 is 40,. 40 plus 28 68 and
68 plus 19 is 87. The total distance traveled is 163 for this feasible solution. The optimization problem is now, which of
these cities will go to which vehicle and what is the order in which these vehicles
will move? This is an example where we are not explicitly considered the capacities.
Let us try to impose these capacities and check what happens to the solution. If we look at q equal to 4 6 3 2 3 2 and Q
equal to 10 what do these mean? Here we are going to bring capacity into the
picture. This means that these six vertices 1 2 3 4 5 and 6 require 4 units, 6 units,
3 units, 2, 3 and 2 respectively. These could be tons of some material that have to be delivered
and so on. This Q equal to 10, would mean that the vehicle that takes this material
has a capacity of 10. The moment we bring in this capacity and try and obtain a feasible
solution, we have to see that the allocations satisfy the capacity constraints. Please note
that this has been this feasible solution has been arrived without considering the capacity. Let us check whether 1, 2 and 6, if a vehicle
starts from d, goes to 6, then to 1 and then to 2, then the capacity that is required from
the vehicle is 4 plus 6 equal to10 plus 2 is 12. The vehicle has capacity equal to 10.
Therefore, if we bring in the capacity conditions, then D 6 1 2 is not feasible. Let us look
at 3 4 and 5 3 4 and 5. The capacities are 3 plus 2 plus 3 equal to 8. The vehicle has
a capacity of 10. This part of this is feasible but the overall solution is not feasible because
this violates the capacity restriction. The moment we also bring in capacities, we can
do further computation and say that the total demand of the 6 nodes are 4 plus 6 equal to
10, 15, 20. The capacity of the truck being 10, we would
say that minimum number of trucks required is the upper integer value of 20 by 10, which
is upper integer value of sigma q by q, which happens to be 2 in this case. By looking at
this, the only possibility that can happen is 1 and 2 will go to one vehicle and 3 4
5 6 will go to another vehicle. Now we may consider an allocation which is like this
d 1 2 d, d 3 4 5 6 d. This satisfies the capacity restrictions also.
So d 1 2 d will now have d to 1 is 20. 1 to 2 is 22, 2 to d is 18. This will travel a
distance is equal to 60. d to 3 is 14, 3 to 4 is 20, 4 to 5 is 30, 5 to 6 is 26 and 6
to d is 19. This will be 34, 64, 70 plus 20 equal to 90 plus 19 is 109. The total becomes
169. We realize that if we bring in the capacity
constraints, this solution which was feasible otherwise becomes infeasible. Then we may
have to look at another feasible solution. The decision problem or the optimization problem
here would be what is the allocation to each vehicle, what is the route it takes such that
the distance traveled is minimized which is the objective function and these constraints
are satisfied. If we look at only distance, then the problem is a normal vehicle routing
problem, which optimizes only the distance. If also look at capacity, we also add capacity
constraints into the vehicle routing problem. First let us try and solve the vehicle routing
problem only for the distance, ignoring the capacity constraints. Then we look at methods
which also include the capacity constraints. There is obviously a strong relationship between
the vehicle routing problem and the Travelling Salesman Problem assuming that we are not
looking at the capacity at the moment. We are looking at the solutions which are
similar to this. We are not worried if these violate the capacity restrictions because
at the moment, we are not considering the capacity restrictions. There is a strong relationship
between the vehicle routing problem and the Travelling Salesman Problem because the second
part of the vehicle routing is actually a TSP. It is like saying this solution, I have
already allocated 1, 2 and 6 to one vehicle, 3 4 and 5 to another vehicle and once I have
done the allocation problem I can solve two TSPs to find out what is the best route that
it takes such that total distance is minimized. There is a strong relationship between these
two problems. Therefore we try and see if we can get solutions to the VRP that are based
on solving Travelling Salesman Problems. In order to do that let us assume we can now
solve the vehicle routing problem as mentioned in the earlier lectures in three different
ways. One is, I give a certain number of vehicles, so use given number of vehicles that is one.
The second problem would be to use enough vehicles that minimize distance
and third of course is to use minimum number
of vehicles. Minimum numbers of vehicle comes when the
minimum number is computed with capacities in mind. Since we are not looking at the capacities
right now, we restrict ourselves to these two types of problems where given a certain
number of vehicles, we try to find out what is the best solution. Second, given a certain
number of vehicles, if there is a solution that uses fewer than the given number and
yet minimizes can we find such a solution. Both these we look at and we try to apply
the ideas of the Travelling Salesman Problem to solve the vehicle routing problems. Let
us consider n equal to 4 which means we are looking at four vehicles maximum that are
available. We now construct a 10 by 10 a Travelling Salesman
Problem where we call 1 2 3 4 5 6. This is a 10 by 10 problem where 7 8 9 and 10 correspond
to vehicles and these corresponded to cities. Similarly these are the cities and these are
the vehicles. This is going to be a distance matrix. Right now we have a city-city distance
matrix which is given by this portion of the table. We now go back and write the city-city
distance matrix. We get dash 22 18 30 26 28, 22 dash 32 20 22 21, 18 32 dash 20 22 21,
30 20 20 dash 30 22, 26 22 22 30 dash 26 and 28 21 21 22 26 dash. This is the 6 by 6 distance matrix. Please
note the symmetric here only one part of the upper triangle of this portion of this matrix
is shown. This matrix is symmetric, therefore whatever we see here as 18 appears 18 here.
Let me temporally partition this into four areas. This part of the table we have already
filled. Now 7 8 9 and 10 are vehicles but 7 8 9 and 10 right now are sitting at the
depot. Distance between 7 and 1 is nothing but the distance between the depot and city
one. Similarly, distance between 7 and 2 is the distance between the depot and city two
and so on. Therefore, 20 18 14 16 12 and 19 actually represents distance between 7 and
1 2 3 4 5 6. 8 is another vehicle which is still sitting in the depot. Therefore, the
distance between 1 2 3 4 5 6 and 8 is the distance between 1 2 3 4 5 6 and the depot.
Therefore, this column repeats again. In fact, this column is repeated and is repeated 4
times or as many times as the number of vehicles that we are considering. Again because of symmetry, it is fairly obvious
that this portion will come here as well. What are we going to do with this 4 by 4?
If we have to use all the four vehicles we have let us try and get a feasible solution.
A simple feasible solution would look like this, d 1 2 d 3 4 d 5 d 6 d. This is a feasible
solution which means that vehicle 1 starts from the depot. This vehicle 1 goes 1 2 and back to depot.
This is for vehicle 2, vehicle 3 covers only city 5, vehicle 4 covers only city 6. This
is a feasible solution that involves four vehicles. Let me write another solution and
let us check how many vehicles that solution requires. Suppose we write d 1 2 3 d 4 5 d 6 d d. This
means one vehicle goes to these 3, one vehicle goes to these two, and another vehicle goes
to this. The fourth vehicle does not go anywhere; it goes from the depot to the depot. This
means, effectively that there are only three vehicles. If we want a solution with four
vehicles, except for the last, we should not have two depots coming nearby. If you have
d d assignment then it means that you are actually are not using a vehicle as shown
here. You always have to end with a depot, so this
one does not have any 2 d's coming next to each other. This 1 has 2 d's coming next
to each other. Therefore this means you are using one vehicle less here. It means you
are using all the four vehicles. In order for a solution to use all the four vehicles
we should not have a d d assignment. Since we do not have d d assignment what we have
to do here is you put infinity all over. This dash represents infinity and because
these values are infinity you will not have a d d assignment. If we want to use all the
given vehicles, then what we need to do is to put infinity in this portion of the matrix.
Then we can solve a Travelling Salesman Problem out of this. We are not going to solve a 10
by 10 in this lecture step-wise. We are only going to show the solution as such. Let us
now solve this problem using a branch and bound algorithm. The first thing that we know
is sum of the row minima is a lower bound to the TSP. What is the sum of the row minima? We get
18 here, 18 plus 18 is 36, 36 plus 14 is 50, 66 plus 12 equal to 78, 78 plus 19 is 97,
97 plus 12 is 109 and 9 plus 12, 12 and another 12 and so 109 plus 48 is 157 which is the
row minimum that we have here. Let us repeat it again. So 18 plus 18 equal to 36, 50, 66,
78, 78 plus 19 is 97, 97 plus 48 equal to 145. This
is a lower bound to this. We could say that
the lower bound is 145 to this. We can actually update the lower bound further by also doing
the column minimum subtractions. If we do the column minimum subtraction and if we add
that to 145 we will start with the lower bound of 164. The row minimum subtractions lead
us to 145; the column minimum would give us after doing this row minimum. Every row has
1 0, then we need to check if the all the columns have a 0. If the columns do not have
the 0, then we subtract the column minimum from this. The lower bound would become 164. Then we can go back and find the penalties,
as we did in the branch and bound. When we do that, we realise that 1 to 2 branching
on 1 to 2, 1 to 2 is the one that has the maximum penalty. The maximum penalty turns
out to be 2. So the lower bound will get updated to 166. We are also going to show in this
case, that if we consider a solution which is like this, d 2 1 3 d 4 d 5 d 6 d. If we
look at the solution like this and try to find out what is the distance associated with
that. Here d to 2 is 18, 1 to 2 is 22, 1 to 3 is
18, d to 3 is 14, d to 4 is 16, 4 to d is 16, d to 5 is 12, 5 to d is 12, d to 6 is
19 and 6 to d is 19. The distance traveled would be 18 plus 22 is 40, 58, 72, 88, 104
and 116 128, 128,147 plus 19 which is 166. This is a feasible solution with value 166
in our branch and bound. We started with the starting lower bound with 164 and we branched
with X12 equal to 0 to get 166. Here also, when we branch, we got 166. We have a feasible
solution with Z equal to 166. We can fathom this node by feasibility and we can fathom
this node by lower bound greater than or equal to current best upper bound. This will become
the current best upper bound with solution equal to 166. The lower bound being 166, we
now terminate the algorithm by saying that this solution is optimal. It is optimal for
the case when we want to use all the four vehicles. The actual solution will be, there is a depot
here, and so one vehicle goes from the depot 2 to 1 to 3 and come back. There is another
one which will go for depot to 4 and come back. There will be 1 depot, will come back
to 5 and there is 1 will go from depot to 6 and come back. Please note, that solving
this 10 by 10 problem from the beginning would take a lot of time and in order to save time
we follow this here. Ordinarily, we should have got this 164 as
145 plus 19. We obtained 145 by subtracting the row minimum and 19 by the column minimum.
After we subtract the row minimum and column minimum, as we did in the branch and bound
method earlier, we will then have a matrix which has a 0 in every row and every column.
For every 0 that is present in the reduced matrix, we will find the row penalty and the
column penalty and we add. Then we pick that 0 which has the highest value of the sum of
the row penalty and column penalty, that turns out to be X12 with sum of the row penalty
and column penalty equal to 2. Therefore, when we branch out X12 equal to 0 and X12
equal to 1, the lower bound gets updated from 164 and to 166. Having made the assignment
then, we leave the first row and the second column. We have a resultant 9 by 9 matrix and then
we also put X21 equal to 0, put a dash there and then verify whether every row and every
column has a 0. We will observe that one of the rows or columns does not have a 0. Therefore,
we have to do a subtraction and we would subtract 2, so that the lower bound gets updated to
166 here. Here also, the lower bound also gets updated to 166. Ordinarily, in the branch
and bound algorithm, we should have proceeded further and only after 10 more levels or allocations,
we would get to the optimal solution. But just to show the concept of the branch and
bound, we picked up a feasible solution here and since this feasible solution is an upper
bound by itself with value 166, we can now terminate this based on feasibility. We can
also terminate this based on the lower bound being greater than the current best upper
bound. Here also lower bound is greater than are
equal to current best upper bound. This is the current best upper bound. Ordinarily,
in the branch and bound algorithm, there are several steps here before we would actually
reach this solution. But then we have to save time, we have ignored those steps, we have
only taken the solution and we show here that this solution is optimal. This actually also
leads us to a very interesting point that whenever we solve either a TSP or any of these
difficult problems optimally, it is a good idea to have some feasible solutions at different
points in time. So that every time a lower bound is increased, we can compare whether
the lower bound is greater than or equal to the current best upper bound. If it is greater
than or equal to the current best upper bound, then this node can be fathomed. We have now got the optimal solution to this
and this will be the allocation for the vehicle routing problem. Remember that, this matrix
does not consider the capacities this considers only the distance. Therefore a solution of
this type of problem would mean that we are looking at only distance and we are not looking
at capacity. Can we see whether this is ok even with the capacities? So the solution
is 1 2 3 4 5 and 6. We realize 1 2 3 would require 13 4, requires 2 5, requires 3 6,
requires 2, but the capacity is 10. Therefore this solution is not feasible to the capacity
case and therefore is not optimal to the capacity case. Then what do we do to the capacity case, then
when we actually do the branching every time, we add variables here we need to verify whether
the constraint is satisfied. The branch and bound becomes a little bit more involved when
we also bring in the capacity constraints. If we look at the un-capacitated case, where
we are interested only in minimizing the distance, then this is a way to get the optimal solution
to the VRP for a given number of vehicles. Also note, that branch and bound can become
very time consuming and can also become memory consuming. It can become both laborious, in
terms of efforts that is required to solve; it can also become very tedious to finally
solve this. We have already seen that branch and bound
algorithms are worst case exponential algorithms and therefore may give the exact solution
after an exponential number of iterations or after a considerably large number of iterations.
Therefore, we have to move towards heuristics to solve the vehicle routing problem. But
before we move to the heuristics, we will also look at the second case that we described,
that can we use enough vehicles which is less than or equal to the given n such that I may
get minimum distance. This simply means that I we have four vehicles. This is an example
of a feasible solution with four vehicles. This is an example of a feasible solution
with three vehicles. Let us calculate the distance associated with this and distance
associated with this. So d 1 2 d will be d to 1 is 20. 1 to 2 is 22, 42 and 2 to d is
18. This is equal to 60. d 3 4 d is d to 3 is 14. 3 to 4 is 20. 34, 34 plus 16 is 50,
d 5 d is 0 to 5 is 24 12 into 2, this is 38. So this would have a total distance of 110,
134. So 142 plus 30 equal to 172. This is a feasible solution which would give 172.
Now we are not looking at the capacity, so this is another feasible solution with three
vehicles. Let us find out the distance for this. So
d to 1 is 20, 1 to 2 is 22, 42, 2 to 3 is 32, 42 plus 2 equal to 44, 74, 74 plus 14
equal to 88, d 4 5 is 16, 4 to 5 is 30, 46, 46 plus 12 equal to 58 and d 6 d is 38. So
this is 24, this is 184. This turns out to have a higher distance compared to this. But
it may also be possible for us to find another solution with 3 which may have a distance
less than this 172. For example, if you look at the other solution
d 2 1 3 d 4 d 5 6 d and if we look at this solution and d now, this is the solution which
uses three vehicles. One vehicle uses 2 1 3, one vehicle uses 4 and one vehicle uses
5 and 6. So d 2 1 3 will now be 18 plus 22 plus 18 plus 14, d to 2 is 18 plus 22 plus
1 to 3 is 18 plus 14, d to 2. 2 to 1, 1 to 3, 3 to d will involve 40, 58 plus 14 equal
to 72, the d 4 d would be 32, d to 5 is 12, 5 to 6 is 26, 38, 38 plus 19 is 57.. This
would give us 2 plus 2 7 11 6 plus3 9 plus7, 16. This would give us a solution which is
less than this. The point we are trying to make here is, we solved a problem with four
vehicles and in fact we got the optimum solution to be 166. In the same case, we have a feasible solution
with 3 vehicles which has less distance than 166. The optimal solution with 3 should have
161 or less. The next problem is given 4 vehicles; if there is the best solution that has a total
distance less than 166 then, what is that distance, what is the corresponding number
of vehicles that we use and what is the allocation. This is the next question that we will address.
Can we address this with the same matrix? One way to do is to say that I solve it for
2 vehicles; I solve it for 3 vehicles and then take the best. The other way is to do
this; you could simply put 0s in the diagonals. You put 0s in the off diagonals, which means
we allow the d to d allocation that comes in, which is like this. We can consider a
four city allocation; we can consider a three city, a four vehicle, a three vehicle, a two
vehicle, even a single vehicle. In all these four, whichever gives the minimum value, we
can get out of this. By solving the same 10 by 10 but by replacing these m's or dashes
with 0, we can get the best value which would be lesser than are equal to 166 which may
use 4 or lesser numbers of vehicles. Therefore, both the problems that we looked
at here to solve given numbers of vehicles and also to find out the best number of vehicles,
which is less than or equal to the given number that we have to find out that best number,
the best distance and the best allocation. Both these problems can be solved by using
the TSP approach by suitably changing only this portion of the TSP matrix. Nevertheless, whatever we mentioned about
the TSP holds good. The TSP being a difficult problem to solve, solving the vehicle routing
problem using the TSP idea can give exact solutions for small size problems. As the
problem size increases, it becomes much more difficult to solve the TSP optimally. Therefore,
we move to looking at heuristics that can solve the vehicle routing problem. In this
lecture series, we will look at 2 heuristics that will solve the VRP. Let us go to this
heuristics. Let us consider a situation where, there is
a depot d and we are considering only two cities or two places 1 and 2. If we have two
vehicles, one of the things we can do is, we can send a vehicle from the depot to 1
and then come back and we can send the other vehicle from depot to 2 and come back. It
need not even be two vehicles. The same vehicle may first go from depot to 1 and then come
back and then go from depot to 2 and then come back. In such a case, the distance that
this vehicle will travel will be d01 plus d10 plus d02 plus d20. This means distance
between the depot and the vehicle, twice the distance between the depot and the second
city.. This will be 2 times d01 plus d02 where these two are these distances. If we choose
to combine these two which means a vehicle starts from the depot goes to 1 and then its
goes from 1 to 2. Then it is come back to 2, to the depot. Then the distance that it will travel will
be d01 plus d02 plus d12 d01 plus d12 plus d0. If it turns out that this is higher and
this is lower or smaller, then by combining these two, we saved some distance. We call
the saving is this minus this, so, this will be d01 plus d02 minus d12, because we subtract,
this is two types; d01 minus d01 is d01, similarly this and subtract. If we change this 1 and
2 to i and j, then for any given two cities saving Sij equal to d0i plus d0j minus dij.
Again this saving can be positive, this saving can be 0 and this saving can be negative.
This saving will be positive when this quantity is bigger than this quantity, this saving
will be 0 if both of them are equal and this will be negative, if this quantity is smaller
than this quantity. Ordinarily distances satisfy triangle inequality
which means dij plus djk is greater than or equal to dik. If distances satisfy triangle
inequality, then this will always be greater than or equal to this and therefore Sij will
always be greater than or equal to 0. It is customary to use the Sij and try to find out
what can be the saving if I combine i and j together. We can compute the Sij matrix
from this, because d0i and d0j are given here and the dijs are given here. We have six cities
and therefore we will have fifteen values for Sij. This is expected to be a symmetric
matrix. We get 6 into 5 by 2 or superscript n c2ij can be chosen in superscript n c2 ways,
which for n equal to 6 equal to 15 which is d01 plus d02 minus d12. From this table; d01
is 20; d02 is 18, 20 plus 18 plus 38, so d12 is 22. This is 38 minus 22 equal to 16. Every
Sij can be calculated because we know the d0i as well as doj from here and then, we
also know that dij can be obtained from this. We can calculate all the Sijs. Since the depot
is denoted by 0 and there are 6 particular cities, then for Sij we have a 6 c 2 which
is fifteen values of Sij. So these fifteen values are computed and they are shown here. For 1 to 2 the saving a 16, 1 to 3 the saving
is 16, 2 to 6 saving is 16, 2 to 4 saving is 14, 3 to 6 saving is 12, 1 to 6 saving
is 11, 3 to 4 saving is 10, 2 to 5 is 8, 1 to 4 is 6, 1 to 5 is 6, 5 to 6 it is 5, 3
to 5 it is 4, 4 to 6 it is 3, 2 to 3 it is 0, 4 to 5 it is minus 2. Let us quickly verify
some of these calculations randomly. Let us take 3 to 6. So, d03 is 14, 0 6 is 19, 19
plus 14 is 33 and 3 6 is 21, so 33 minus 21 is 12. Let us quickly check here for 2 3 0
2 is 18, 0 3 is 14, 32 and 2 3 is 32, which gives us 0. Let us do it for 4 6 0 4 is 16
plus 19 35, 35 minus 32 is 3. This way we have calculated the Sijs and we have kept
it here. The negative value here for Sij indicates
that this system does not satisfy triangle inequality. We have already seen that if it
satisfies the triangle inequality, Sij is greater than or equal to 0. Let us try and
compute the solution based on the savings algorithm. We have already arranged these
fifteen savings in decreasing order, starting from 16 going up to minus 2. We start with
the saving with 1 to 2 which means cities one and two can be combined together in the
same route. So 1 to 2 gives us a saving of 16. We also know that this requires a load
of 4 plus 6 equal to 10 and the total capacity is 15. We could use 1 to 2, put them into
the same vehicle and have a saving of 16. The next saving is 1 and 3, so 3 has to go
here, but if we put 1 2 and 3, it is 4 plus 6 is 10, plus 3, 13. So we could use 1 3 and
get a savings of another 16. The next one is 2 6. We have already had 1 2 and 3 put
together. So 1 2 3 and 6 exceeds the available capacity of 15, so we cannot use 2 6. Similarly
with 2 4 1 2 3 already here plus 4, exceeds the capacity of 15. We cannot use this 1 3
6 again, we cannot add because we already have 1 2 3 together. Adding another 6 is going
to exceed this capacity. Same can be said of 1 6, same can be said of 3 4, 2 5, 1 4
and 1 5. The next thing is 5 6. 5 6 do not appear here,
so 5 and 6 can be taken together
to give us a saving of 5. 3 and 5 cannot go together because 3 is in this vehicle, 5 is
in this vehicle. 4 and 6 can go together because already 5 and 6 are here. 5 and 6 uses 9 out
of this 15. 4 can be added. So 4 and 6 gives us a saving of 3. We have included all the
6 cities into the solution. The total savings that we have here is 40. What is the solution?
This is 1 2, gives us a savings of 16. We start from the depot and then we go from the
depot to 1 and then to 2 and back to the depot. This is depot to 1, 1 to 3 and back to depot.
The solution will be d 2 1 3 depot. Solution for this will be d 6 d 5 d 5 6 4
d. 1 2 and 3 requires a load of 13, which can be met by this 15. 4 5 and 6 require a
load of 14 which can also be met by this 15. These two are feasible solutions that give
us a saving of 40. What is the distance travelled? d to 2 there is 18 here, 1 to 2 is 22, 1 to
3 is another 18 plus, 3 to d is another 14. This travels a distance 18 plus 22 equal to
40, 58 plus 14 is 72. This travels a distance d to 5 is 12, 5 to 6 is 26, 6 to 4 is 32,
4 to depot is another 16. This is 26 plus 12 equal to 38, 40, 70 plus 16 equal to 86.
The total distance of 158 is what is travelled by these two vehicles. The savings is 40.
If the vehicle had gone individually to each one and come back, it would have travelled
20 plus 18, 38, 52, 68, 80, 99. It would have travelled the total distance of 99 into 2
which, is 198. It actually travels 158 which is 72 plus 86. The saving is 40, which is
the same saving that is 40 here. This how the saving based algorithm works.
The algorithm that we have seen is called the Clarke- Wright algorithm or Clarke-Wright
savings based algorithm. Clarke-Wright is a very effective and efficient algorithm,
but it also has its own limitations. In fact even the limitations can be seen the way we
picked up the order. First we could pick 1 2 and 1 3 and use up 32 and get 32 savings
from here. But then the next one, we could pick up was only this 5 plus 3. Several of
these savings we are unable to utilize because we have picked up 1 2 and 1 3. So it is like
a crucial heuristic, which tries to initially pick up as much as it can. It has its own limitations sometimes. It can
give a very good solution sometimes. It may not give us a very good solution. People try
to work better, get better solutions compared to the Clarke and Wright. We will briefly
see one of the methods, by which we may get a solution that is better than the Clarke
and Wright solution. Let us do that from here. Let us say we start
with S is equal to 0, which means there is no saving. The first one from here is 1 to
2 with 16. We use 1 and 2 together, now saving is equal to 16. Then we use 1 and 3 together,
so total saving is 32. Then we used 5 and 6 together. Savings equal to 37 and then we
used 4 and 6 together to get savings equal to 40. The Clarke and Wright method gave us
this kind of a solution with savings equal to 40. Suppose we proceed from the Clarke
and Wright by branching here, saying that I am going to create a solution where I am
not going to combine 1 and 2 together, indicating it by 1 2 bar. This means, I am not combining
1 and 2 together. Right here, I have my savings is equal to 0. Automatically, I will start
with 1 3, which is here. I will have 1 3 with savings equals to 16, then I will look at
2 6. 2 6 is possible because 1 3 uses 4 plus 3 7 which is less than 15. We could have 2
6, 2 6 uses 6 plus 6, 12. From here, we would use 2 6 and get another set of 16 savings,
which gives us 32. Then we go to 4. 4, is here 6 plus 6 equal
to 12 plus 5 equal to 17. It exceeds the upper limit of 15. We do not include this. Then
we go to 3 6 now. We have already put 1 3 in one vehicle and 2 6 in another vehicle.
So 3 6 cannot go together. Then we get 1 6. Once again 1 and 6 cannot go together because
they are in different vehicles. The next one is 3 4. 1 3 is 4 plus 3, 7 plus 5 equal to
12, is admissible. We put 3 4 which with a saving of 10. We have 3 4 here, with a savings
of 10. So savings becomes 42 and the last one after that is 2 5. This can give us another
saving of 8 2 5 and 6 adds up to 15. It is feasible, so 2 5 can give us another saving
of 8 and we get a total saving of 50. While the Clarke and Wright solution gave
us a saving of 40, branching by saying I am not going to use 1 2. Applying a Clarke and
Wright again gives us a solution of with savings is equal to 50. This means, in the original
Clarke and Wright, the vehicles have travelled distances equal to 158. In this solution the
vehicles would travel distances equal to 148 because the saving is 50 and here the saving
was 40 so the distance is equal to 158. This is also feasible. This gives us a solution
1 3 4. So d 4 3 1 d and d 2 6 5 6 2 5 is travelling a total distance of 148 against 158 which
the Clarke and Wright solution gave us. The algorithm does not stop here. We need to look
at termination of this algorithm. This is essentially a branching algorithm. One can
keep branching in so many ways. For example, from here we can branch by saying
I am not going to use 1 3 also. Therefore, I we will start with 2 6 from here with savings
equal to 16 and I will use 2 6 to begin with. Like this, one can keep branching and keep
on branching till we get good solutions. There is no explicit termination condition because
in the worst case this will evaluate all possible and feasible savings. This is an extension
of the Clarke and Wright method. It is called the Holmes and Parker extension or Holmes
and Parker heuristic which is a logical extension of the Clarke and Wright method. We could
use either the Clarke and Wright which is a crucial heuristic or Holmes and Parker which
is a better heuristic to try and get solutions to the vehicle routing problem.