Lec-29 Vehicle Routeing Problem

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
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.
Info
Channel: nptelhrd
Views: 115,813
Rating: undefined out of 5
Keywords: Vehicle, Routeing, Problem
Id: A1wsIFDKqBk
Channel Id: undefined
Length: 59min 8sec (3548 seconds)
Published: Fri Jan 29 2010
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.