Study of Greedy Search with Multiple Improvement Heuristics for Vehicle Routing Problems Department of Computer Science Research Report 96/201 December 1996 Patrick Prosser and Paul Shaw Department of Computer Science University of Strathclyde Glasgow, Scotland UK—G1 1XH
fpat,
[email protected]
Abstract Vehicle routing problems have been extensively studied using a variety of search methods and meta-heuristics. However, most search methods are carried out using only a single improvement heuristic. Here, we report on a study using four improvement heuristics embedded in a simple steepest descent search engine. We conclude that reasonable results can be produced quickly by this simple method. A small study of the effectiveness of the different improvement heuristics was also undertaken—it is shown that the RELOCATE operator is invaluable and that solutions with longer vehicle routes benefited more from using a rich set of improvement heuristics.
1 Introduction Heuristic approaches to the vehicle routing problem have been well studied over the last decade by the Operations Research and Artificial Intelligence fields. As processing power has increased, so researchers have moved from simple construction heuristics (e.g. [1]), to partitioning techniques (e.g. [3, 8]), general improvement techniques (which we address here), and most recently to a variety of meta-heuristics, most notably the tabu search [4, 5] and simulated annealing [6] meta-heuristics. Meta-heuristics have resulted in much better results to benchmark problems than previously acheived. However, most of the techniques that use meta-heurisitics use a rather restricted neighbourhood (preferring to use only one improvement heuristic, with perhaps a post-optimization procedure). Here, we take a step back from the frontier of meta-heuristics to look at a simple local search with multiple improvement heuristics. This report investigates the effectiveness of a very simple search procedure applied to the vehicle routing problem with time windows and capacity constraints. Steepest descent search (where the improvement resulting in the lowest cost is executed at each step) was used to produce solutions for the 56 Solomon benchmarks using a variety of improvement heuristics. Surprisingly, this very simple search method produces four new best solutions to the Solomon' s problems. Additionally, we analyze the benefit of the application of different move operators to each problem. Experiments were conducted which selectively disabled some of the heuristics. Results are classified with respect to the particular problem type, and some general conclusions are drawn on the effectiveness of different move operators during search.
2 Improvement Heuristics In this section, we will discuss various improvement heuristics used for the vehicle routing problem. We are ignoring construction heuristics (those used to build a solution), since for the purposes of this report, we consider the construction of a solution as part of the improvement. Roughly speaking, search builds solutions by defining more constructed solutions as being an improvement on less constructed ones. We begin with a completely empty (unconstructed) solution. Heuristics for routing plan improvement can be intra-tour, or inter-tour. Here, we will focus upon one intra-tour heuristic (the two-opt procedure of [7]) and three inter-tour heuristics. These three inter-tour heuristics are the relocate, exchange, and cross operators, all of which are described in [13]. Throughout this report, we refer to the application of an improvement heuristic as a neighbourhood move. The two-opt procedure is used for improving single vehicle routes, and operates by reversing part of the route. In figure 1(a), the two-opt operator is shown. Here, the part of the route from A to B has been reversed, and in this instance, has resulted in a reduction in total length. The relocate operator simply moves a customer visit from one route to another. Figure 1(b) shows that by moving visit A to another route between B and C, overall distance can be reduced. A visit can also be relocated to an ”empty” route, resulting in the creation of a new vehicle itinerary with a single visit. The exchange operator swaps customer visits in different vehicle routes. In figure 1(c), the positions of visits A and B have been interchanged. The cross operator swaps the end portions of two vehicle routes. This is a slightly more complex operator than the others. Figure 1(d) shows the operation of the cross. The sections of the tour routes after visits A and B have been interchanged, resulting in a distance reduction. It is also possible to cross from the end of one route to the beginning of another, resulting in a concatenation of routes and an empty route. Moreover, if one of the routes involved in a cross operator is empty, the cross can split the non-empty route into two. 1
C B
B
A
A
C B
B
A
A
(a) The 2-opt heuristic
(b) The relocate heuristic
A
A
B
B
A
A
B
B
(c) The exchange heuristic
(d) The cross heuristic
Figure 1: Some Improvement Heuristics for the VRP
3 Representation and Search 3.1 Model We represent a solution to the vehicle routing problem as set of lists of customer visits, where each list corresponds to the visits carried out by a single vehicle. A maximum number of lists are available, corresponding to the number of available vehicles. Lists left empty at the end of search correspond to vehicles that are not required to execute the routing plan. Associated with each vehicle is a capacity, which must always be greater than or equal to the sums of the loads of its deliveries. Different vehicles can have different capacities. Additionally, a virtual vehicle exists that performs the visits not carried out by the real vehicles. The virtual vehicle is different from the real ones in two respects. First, the virtual vehicle can make an unlimited number of customer visits. Second, the cost incurred by the virtual vehicle when it performs a customer visit is typically higher than that incurred by a real vehicle. This last point ensures that plans are created with work completed.
3.2 Objective Function The objective function that we attempt to minimize is the total distance travelled by all vehicles, where the distance between any two customers is defined explicitly. Such an explicit definition can be easily generated from various implicit definitions (such as distance 2
being defined as the Euclidean distance between the geographical locations of customers). The cost of a customer visit being performed by the virtual vehicle is equal to 1(d0i + di0) + 2 where dij is the distance between customers i and j . We define customer 0 to be the depot. When 1 = 1 and 2 = 0, the cost of the virtual vehicle making the visit is equal to that of a single vehicle being dispatched from the depot to make only that single visit. Higher values of 1 and 2 make it more costly not to perform the visits by real vehicles. When 2 is very high, then it is always better to insert a job into the schedule than to optimize what is there - the result is we attain the effect of the parallel cheapest insertion construction heuristic followed by iterative improvement.
3.3 Search Method The search method we adopt is an entirely greedy one. There are no random numbers involved, and the results are completely reproducible. We first of all begin the search by assuming all customer visits will be carried out by the virtual vehicle, and then use the four improvement heuristics presented to attempt to improve the cost of the solution. New states generated by the heuristics that violate any problem constraints (time windows or capacity constraints) are immediately rejected. We stop the search when we are satisfied that no legal moves will reduce the cost. We make the additional restriction that the only heuristic that can be used in association with the virtual vehicle is the relocation of a visit from the virtual vehicle to a real vehicle.
3.4 Steepest Descent In what we have discussed, we have not suggested a method for choosing a particular move. One could simply choose a random heuristic, involving a random set of visits appropriate to that heuristics, try out the move, and accept it if it is legal and reduces cost. This technique is perfectly reasonable. However, there is another greedy technique which tends to produce better average results that the random method. The steepest decent method simply makes the legal neighbourhood move that reduces the cost maximally. In order to do this, the cost of moving to all neighbourhood states must be computed so that the best may be chosen. As one can imagine, this set of moves can be huge, and so the cost of implementing a steepest descent system over a random descent one is high, especially when many cost reducing moves exist. However, the steepest descent method has been chosen in this report since it allows statistics to be easily gathered. Since information all all neighbourhood moves is gathered at each point in search, one can build a profile of what types of moves tend to be successful in (a) satisfying problem constraints, and (b) reducing cost. A short note should be made on the efficiency of steepest descent methods. The situation is not quite as black as was painted in the previous paragraph. Recognize first that all of our heuristics change the arcs present in the current solution by very little. Only a few arcs tend to be deleted and added. Since the cost function is based on distance, the costs of moves that involve changed arcs are all that need be re-evaluated. This number can still be relatively high, but constitutes a vast reduction over an evaluation of the full set of neighbourhood moves.
4 Computational Results We ran our algorithm on the 56 Solomon benchmarks (taken from [14]). To work out a good choice for both the constants, we solved each problem for all combinations of 1 2 f1:001; 1:005; 1:01; 1:025; 1:05; 1:1; 1:25; 1:5; 1:75; 2g and 2 2 f0; 0:01; 0:05; 0:1; 0:25; 0:5; 1; 2:5; 5; 7:5; 10g. The best solutions achieved for each prob3
lem were recorded and are shown in table 1. The best solutions reported in the literature are taken from a variety of sources (see [2, 9, 10, 11, 15, 16]); they can also be found in [12]. What is interesting is that such a simple search method produced very reasonable results. Only 8 problems had costs in excess of 10% of the best achieved by any method, and only 13 more had an excess of over 5%. Additionally, 4 new best solutions were found. We used the results to compute single parameter settings for the parameters. We did this by choosing the pair of values that resulted in the best cost sum over all 56 problems. 1 was set to 1.025, with 2 taking the value 0.05. Using a single setting for the alpha parameters resulted in a 3.60% increase in the cost sum over using the best values discovered for each individual problem. Costs for the Solomon benchmarks using these single parameter settings are shown in table 2. Although 3.60% may seem a relatively small amount, savings anticipated by computerized vehicle routing are usually on the order of 5-15%. Thus, as sizable chunk of this saving could be wiped out through parameter sensitivity. (Also consider that we have chosen the best single parameter settings for the Solomon problems.) Additionally, some results are extremely poor with the single parameter settings (e.g. problem C204), indicating extreme sensitivity for some problems. One would anticipate that the use of a meta-heuristic would reduce the sensitivity of the results on the parameters, and these will be examined in future. We also performed experiments to calculate the benefit that each type of neighbourhood move operator brings to the search. The experiments considered so far have had all neighbourhood move operator enabled. To see the benefit that, for instance, the 2-opt procedure provides on a particular problem, we solve the problem with 2-opts disabled. For our experimental analysis, we solved each of the Solomon problems (using the best values) using every combination of the four basic move operators being enabled or disabled. To ensure that work was always done however, disabling the relocation operator only disabled relocations between real vehicles. Table 3 shows the percentage increase in cost over using all move operators for each problem. In the column headings, R stands for relocate, E for exchange, 2 for 2-opt, and C for cross. A letter in the column heading indicates that that move is enabled. Mean percentage increases are shown for each group of problems and at the bottom of the table, for all the problems. Examination of table 3 reveals some interesting trends. One trend is that the percentage increase in costs achieved by disabling move operators is much greater for the r2XX, c2XX and rc2XX problems than for the the “series 1” problems. The series 2 problems, which use few vehicles, seem to require a richer set of neighbourhood move operators in order to attain a good solution. If one had to choose a single operator as providing least benefit, it would certainly be the exchange operator. In the mean excess figures, combinations with the exchange operator almost always fall behind others using a different operator. The most useful operators, both used independently and in conjunction are relocate and cross. For the single operator experiments, relocate provided the best result 30 times out of 56, whereas cross provided the best result on 22 occasions. 2-opt only provided the best result on 3 problems; exchange also resulted in the best cost on 3 occasions. Of the two operator combinations, relocate/cross alone produce the best result from the two-operator combinations for 28 (exactly half) of the 56 problems. Of the three operator combinations, relocate/2-opt/cross is the clear winner. One thing is certain, the relocate operator is absolutely necessary. Relocate produces the most best results on the single operator trials. Of the double operator trials, only 9 using combinations without the relocate operator produced the best result (and on one of these relocate/2-opt also produced the best). Of the triple operator experiments, the combination without relocate produced the best result only 4 times (and two of these results were also produced by triples involving the relocate operator). Examining the means at the bottom of table 3, the best single operator to pair with any of the others is relocate. Although the 4
Problem c101 c102 c103 c104 c105 c106 c107 c108 c109 c201 c202 c203 c204 c205 c206 c207 c208 r101 r102 r103 r104 r105 r106 r107 r108 r109 r110 r111 r112 r201 r202 r203 r204 r205 r206 r207 r208 r209 r210 r211 rc101 rc102 rc103 rc104 rc105 rc106 rc107 rc108 rc201 rc202 rc203 rc204 rc205 rc206 rc207 rc208 Total
Lowest Reported Cost 827 827 828.06 824.78 828.94 827 828.94 827 828.94 590 591 591.17 590.60 588.88 588 588 588 1608 1434 1207 982.01 1377.11 1252.03 1085.77 965.28 1186.41 1080.36 1070.90 953.63 1281.58 1088.07 912.98 824.62 1063.24 833 814.78 708.78 855 967.50 794.46 1623.58 1477.54 1110 1135.83 1543.16 1384.92 1230.95 1149.64 1249 1165.57 1013.99 806.75 1286.70 1207.76 1079.07 833.97 55808.25
Vehicles 10 10 10 10 10 10 10 10 10 3 3 3 3 3 3 3 3 18 17 13 10 14 12 11 10 12 11 10 10 4 4 4 3 3 3 3 2 2 3 3 14 13 11 10 14 12 11 11 4 4 4 3 5 4 4 3
Cost We Found 828.937 834.639 874.952 874.953 828.937 828.937 828.937 845.058 849.249 591.557 602.855 623.252 683.671 589.888 590.255 589.237 589.888 1649.54 1487.69 1266.74 1038.59 1417.86 1302.74 1146.87 1020.86 1237.96 1150.59 1153.82 1035.53 1292.48 1139.86 957.885 813.831 1072.97 1014.31 927.544 780.508 937.541 974.118 837.257 1661.01 1500.3 1336.73 1205.63 1627.88 1440.99 1307.4 1190.11 1356.72 1195.51 999.87 903.83 1244.62 1197.84 1095.6 896.958 58273.29
Vehicles 10 10 10 10 10 10 10 10 10 3 3 3 4 3 3 3 3 20 18 15 11 15 13 12 11 13 12 11 11 5 5 5 4 4 3 4 4 4 4 3 16 15 12 12 16 13 13 11 6 6 5 4 7 5 5 3
Excess 0.23% 0.92% 5.66% 6.08% 0.00% 0.23% 0.00% 2.18% 2.45% 0.26% 2.01% 5.43% 15.76% 0.17% 0.38% 0.21% 0.32% 2.58% 3.74% 4.95% 5.76% 2.96% 4.05% 5.63% 5.76% 4.35% 6.50% 7.74% 8.59% 0.85% 4.76% 4.92% -1.31% 0.92% 21.77% 13.84% 10.12% 9.65% 0.68% 5.39% 2.31% 1.54% 20.43% 6.15% 5.49% 4.05% 6.21% 3.52% 8.62% 2.57% -1.39% 12.03% -3.27% -0.82% 1.53% 7.55% 4.42%
1
2
1.001 2 1.75 1.001 1.001 1.001 1.001 1.001 1.001 1.001 1.001 1.01 1.75 1.75 1.001 1.5 2 1.01 1.001 1.1 1.5 1.001 1.05 1.025 1.5 2 1.025 1.1 1.005 1.25 1.001 1.1 1.25 1.75 1.75 1.75 1.025 1.75 1.1 1.05 1.001 2 1.05 1.05 1.1 1.025 1.05 1.025 2 1.001 1.025 1.001 1.001 1.001 1.1 1.1
0 0 0 0 0 0 0 7.5 0 0 0 5 0 0 0 0 0 2.5 0 2.5 0.1 2.5 0 0 0.1 0 0 7.5 1 5 7.5 5 0 7.5 0 0 0.05 0 7.5 1 0 0 2.5 0.25 10 2.5 5 1 0 5 2.5 7.5 0.05 2.5 0 0
Table 1: Solutions Costs Using Greedy Steepest Descent with Best Values
5
Problem c101 c102 c103 c104 c105 c106 c107 c108 c109 c201 c202 c203 c204 c205 c206 c207 c208 r101 r102 r103 r104 r105 r106 r107 r108 r109 r110 r111 r112 r201 r202 r203 r204 r205 r206 r207 r208 r209 r210 r211 rc101 rc102 rc103 rc104 rc105 rc106 rc107 rc108 rc201 rc202 rc203 rc204 rc205 rc206 rc207 rc208 Total
Lowest Reported Cost 827 827 828.06 824.78 828.94 827 828.94 827 828.94 590 591 591.17 590.60 588.88 588 588 588 1608 1434 1207 982.01 1377.11 1252.03 1085.77 965.28 1186.41 1080.36 1070.90 953.63 1281.58 1088.07 912.98 824.62 1063.24 833 814.78 708.78 855 967.50 794.46 1623.58 1477.54 1110 1135.83 1543.16 1384.92 1230.95 1149.64 1249 1165.57 1013.99 806.75 1286.70 1207.76 1079.07 833.97 55808.25
Vehicles 10 10 10 10 10 10 10 10 10 3 3 3 3 3 3 3 3 18 17 13 10 14 12 11 10 12 11 10 10 4 4 4 3 3 3 3 2 2 3 3 14 13 11 10 14 12 11 11 4 4 4 3 5 4 4 3
Cost We Found 828.937 852.058 883.374 931.276 828.937 828.937 828.937 861.236 849.249 591.557 639.958 643.616 766.132 609.358 590.255 594.314 632.808 1650.22 1509.7 1302.97 1075.31 1430.61 1310.11 1146.87 1058.72 1282.63 1150.59 1173.43 1084.09 1337.75 1217.57 1074.53 835.212 1158.59 1052.49 994.612 780.508 940.176 1025.64 937.448 1676.8 1589.52 1361.17 1217.81 1644.24 1465.41 1383.78 1196.24 1468.81 1318.34 1031.52 908.109 1331.69 1197.84 1168.35 971.877 60222.22
Vehicles 10 10 10 10 10 10 10 11 10 3 3 3 4 3 3 3 4 20 19 16 12 15 13 12 11 13 12 12 10 5 4 4 4 3 4 4 4 4 5 3 16 15 12 12 17 14 14 11 6 6 5 4 7 5 5 3
Excess 0.23% 3.03% 6.68% 12.91% 0.00% 0.23% 0.00% 4.14% 2.45% 0.26% 8.28% 8.87% 29.72% 3.48% 0.38% 1.07% 7.62% 2.63% 5.28% 7.95% 9.50% 3.88% 4.64% 5.63% 9.68% 8.11% 6.50% 9.57% 13.68% 4.38% 11.90% 17.69% 1.28% 8.97% 26.35% 22.07% 10.12% 9.96% 6.01% 18.00% 3.28% 7.58% 22.63% 7.22% 6.55% 5.81% 12.42% 4.05% 17.60% 13.11% 1.73% 12.56% 3.50% -0.82% 8.27% 16.54% 7.91%
Table 2: Solution Costs Using Greedy Steepest Descent with 1 = 1:025 and 2 = 0:05
6
Problem c101 c102 c103 c104 c105 c106 c107 c108 c109 Mean
RC2 0.00% 0.00% 0.32% 8.53% 0.00% 0.00% 0.00% 1.27% 0.00% 1.16%
RCE R2E C2E RC R2 0.00% 0.00% 0.09% 0.00% 0.00% 0.33% 0.00% 2.43% 0.33% 0.00% 2.88% 17.14% 6.98% 5.00% 25.99% 7.40% 6.37% 2.71% 12.62% 10.15% 0.00% 0.00% 0.49% 0.00% 0.00% 3.99% 0.00% 0.49% 3.99% 0.00% 0.00% 2.58% 0.64% 0.00% 2.58% 2.12% 0.00% 0.48% 3.44% 1.27% 4.10% 0.00% 2.26% 4.10% 0.00% 2.35% 2.99% 1.88% 3.34% 4.59%
C2 0.09% 9.33% 18.08% 9.44% 0.49% 0.49% 0.40% 1.75% 2.26% 4.80%
RE 0.00% 0.33% 18.01% 16.56% 0.00% 3.99% 4.11% 4.62% 4.10% 5.88%
CE 0.09% 5.95% 9.01% 19.29% 0.49% 4.48% 0.64% 2.57% 4.59% 5.34%
2E 8.38% 7.49% 21.20% 7.99% 6.25% 13.86% 8.57% 5.64% 8.50% 9.81%
R 0.00% 0.33% 26.26% 14.74% 0.00% 3.99% 2.58% 3.44% 4.10% 6.32%
C 0.09% 9.70% 19.55% 19.39% 0.49% 4.48% 0.40% 3.88% 4.59% 7.09%
E 8.38% 7.97% 22.07% 25.23% 6.25% 14.96% 8.57% 8.09% 10.13% 12.52%
2 8.89% 9.77% 26.23% 13.35% 6.25% 13.86% 9.04% 13.56% 8.50% 12.25%
None 8.89% 9.77% 26.50% 29.30% 6.25% 14.96% 9.04% 15.60% 10.13% 14.64%
c201 c202 c203 c204 c205 c206 c207 c208 Mean r101 r102 r103 r104 r105 r106 r107 r108 r109 r110 r111 r112 Mean r201 r202 r203 r204 r205 r206 r207 r208 r209 r210 r211 Mean
0.00% 0.00% 1.03% 19.31% 0.00% 0.00% 0.00% 0.00% 2.85% 0.01% 0.04% 1.98% 0.24% -0.51% 0.15% 3.28% 5.68% -0.13% 1.63% 0.41% 3.67% 1.20% 0.00% 0.10% 0.00% 2.93% 0.89% -0.15% 0.39% 4.77% -0.83% 3.01% 0.00% 0.89%
0.00% 7.29% 16.43% 20.08% 5.02% 6.95% 21.21% 13.54% 11.50% 0.00% -0.13% 1.71% 0.87% 0.11% 0.07% 4.68% 4.15% 5.06% 8.55% 0.50% 12.90% 2.87% 4.58% 5.22% 10.19% 3.34% 12.29% 3.07% 2.56% 6.35% 3.63% 12.18% 2.64% 6.09%
2.08% 0.00% 2.66% 5.23% 12.49% 0.00% 0.00% 15.94% 4.78% 2.52% 2.21% 6.96% 4.52% 1.77% 3.33% 3.02% 4.55% 4.96% 8.33% 0.44% 12.96% 4.40% 10.51% 12.16% 10.93% 0.82% 9.34% 1.94% 8.01% 10.78% 12.20% 9.32% 10.39% 8.90%
2.08% 27.02% 17.05% 27.10% 0.00% 0.00% 7.23% 5.21% 11.11% 0.80% 5.03% 8.66% 6.77% 2.52% 2.26% 2.92% 3.66% 7.00% 4.62% 3.12% 8.08% 4.45% 3.46% 11.01% 7.76% 11.56% 10.46% 2.49% 17.45% 17.81% 16.42% 5.42% 12.04% 10.09%
0.00% 7.29% 1.21% 22.89% 5.02% 6.95% 21.21% 13.54% 9.95% 0.01% -0.09% 2.48% 0.35% 0.24% 0.22% 2.45% 7.56% 6.41% 8.77% 1.54% 6.81% 2.78% 4.58% 6.47% 8.27% 3.15% 12.71% 3.07% 3.08% 1.44% 3.38% 14.18% 2.93% 5.95%
2.08% 0.00% 2.62% 19.31% 12.49% 0.00% 0.00% 16.12% 6.78% 5.10% 1.00% 4.66% 13.24% 2.62% 4.60% 5.50% 12.09% 4.88% 8.33% 1.62% 15.43% 6.13% 12.17% 9.68% 13.67% 0.82% 9.34% 1.94% 8.35% 19.39% 12.94% 9.32% 10.39% 9.80%
2.08% 27.02% 31.43% 28.45% 0.00% 0.00% 7.48% 5.21% 13.18% 0.80% 4.91% 9.04% 11.27% 3.01% 2.74% 5.37% 15.91% 7.03% 5.61% 3.94% 6.76% 5.95% 3.46% 11.16% 13.97% 14.39% 10.46% 2.62% 17.88% 18.85% 16.85% 10.83% 12.04% 11.52%
2.08% 7.29% 16.43% 20.64% 17.98% 6.09% 21.21% 21.71% 14.29% 2.52% 1.82% 6.21% 6.63% 2.01% 5.09% 2.00% 7.14% 4.76% 8.19% 3.45% 15.05% 5.07% 14.23% 12.83% 22.48% 1.04% 15.78% 3.07% 19.63% 17.56% 6.30% 20.30% 5.01% 12.77%
2.08% 24.07% 31.86% 31.02% 5.02% 6.95% 14.44% 18.66% 17.16% 0.80% 4.84% 7.30% 7.82% 3.67% 2.64% 9.28% 11.60% 10.97% 11.93% 5.68% 14.34% 7.09% 7.99% 9.77% 20.43% 15.50% 14.63% 7.69% 19.27% 22.71% 19.57% 18.94% 16.53% 15.20%
2.08% 29.11% 26.99% 39.59% 22.02% 7.53% 25.80% 21.51% 22.22% 6.66% 8.54% 15.60% 8.52% 9.32% 8.92% 9.17% 11.28% 12.02% 11.15% 4.25% 12.96% 9.74% 20.51% 27.60% 25.53% 16.32% 17.83% 5.41% 32.31% 26.28% 21.48% 21.04% 19.06% 21.16%
2.08% 7.29% 16.19% 22.89% 17.56% 6.09% 21.21% 21.89% 14.55% 5.10% 1.02% 6.54% 13.42% 1.99% 6.04% 6.45% 14.80% 6.77% 9.18% 4.77% 16.40% 7.16% 11.54% 12.91% 23.09% 1.04% 15.78% 3.07% 20.73% 22.17% 9.82% 23.16% 6.80% 13.64%
2.08% 24.07% 35.62% 32.80% 5.02% 6.95% 14.69% 18.66% 17.92% 0.80% 4.72% 8.35% 12.73% 3.24% 3.57% 14.79% 15.87% 10.97% 12.58% 5.91% 15.27% 8.40% 7.99% 9.40% 24.11% 16.55% 15.36% 7.81% 20.32% 24.07% 20.24% 18.94% 16.53% 15.90%
2.08% 26.16% 31.86% 41.13% 26.31% 12.36% 30.12% 25.51% 24.81% 6.66% 8.75% 18.18% 9.55% 10.46% 10.11% 12.30% 13.12% 14.80% 15.02% 6.32% 15.05% 11.47% 25.27% 30.39% 34.86% 17.07% 21.95% 7.69% 33.62% 28.35% 23.06% 33.09% 20.04% 25.11%
2.08% 29.60% 31.43% 43.13% 25.21% 7.53% 30.01% 21.72% 24.27% 13.53% 14.38% 21.83% 15.74% 9.80% 12.93% 14.26% 15.91% 12.35% 17.25% 4.45% 16.10% 13.95% 23.87% 27.75% 29.78% 19.29% 17.83% 5.53% 33.24% 27.80% 23.31% 26.21% 19.06% 23.01%
2.08% 26.65% 35.62% 44.35% 27.48% 12.36% 31.80% 25.78% 26.18% 13.53% 14.59% 21.12% 16.12% 10.63% 13.32% 17.61% 17.37% 15.30% 19.86% 6.61% 17.49% 15.12% 25.63% 30.54% 37.07% 20.46% 21.95% 7.81% 34.53% 29.70% 24.30% 35.95% 20.04% 26.18%
rc101 rc102 rc103 rc104 rc105 rc106 rc107 rc108 Mean rc201 rc202 rc203 rc204 rc205 rc206 rc207 rc208 Mean
3.04% 0.32% 0.98% 0.60% 0.69% 5.64% -0.03% 2.22% 1.72% 0.00% 11.12% 0.93% -2.63% 5.89% 0.00% 2.66% 0.00% 2.48%
3.15% 0.94% 2.81% 2.18% 0.69% 1.67% 7.04% 4.79% 2.79% 11.42% 13.61% 10.23% 8.90% 4.12% 7.81% 2.94% 12.79% 8.91%
3.56% 2.65% 3.87% 0.34% 3.71% 6.97% 7.37% 1.46% 3.81% 4.44% 25.20% 12.04% 14.97% 11.47% 21.97% 17.35% 0.83% 13.73%
3.39% 1.22% 5.34% 5.52% 4.35% 4.27% 5.52% 3.55% 4.08% 10.31% 17.82% 18.90% 12.82% 15.87% 12.65% 13.00% 5.40% 13.47%
2.64% 0.98% 2.82% 2.64% 1.28% 10.37% 8.59% 7.86% 4.47% 11.42% 12.90% 8.39% 8.90% 6.89% 7.81% 5.88% 12.79% 9.36%
5.79% 3.83% 5.09% 0.60% 5.18% 10.72% 11.69% 3.78% 5.91% 7.75% 22.00% 14.97% 15.53% 14.07% 21.58% 17.35% 4.92% 14.91%
3.50% 4.59% 4.11% 7.03% 4.13% 7.07% 7.88% 6.53% 5.47% 13.08% 16.31% 13.84% 11.54% 11.88% 13.28% 17.67% 5.40% 13.09%
6.08% 3.99% 7.52% 2.42% 4.19% 6.43% 9.76% 10.28% 6.22% 16.79% 10.58% 13.70% 17.51% 16.11% 18.40% 21.79% 16.31% 16.37%
4.05% 2.26% 5.51% 4.99% 5.45% 5.57% 10.44% 6.64% 5.50% 14.95% 24.16% 18.10% 15.57% 16.25% 14.92% 22.57% 16.34% 17.86%
8.39% 7.74% 11.72% 8.26% 7.05% 12.03% 15.61% 13.42% 10.32% 24.08% 31.71% 27.90% 33.08% 31.46% 23.79% 26.94% 18.80% 27.27%
6.83% 4.02% 7.74% 2.69% 5.66% 10.62% 14.43% 10.22% 7.68% 18.49% 13.13% 17.56% 17.71% 11.02% 18.57% 21.83% 18.50% 16.96%
3.82% 5.65% 7.95% 6.38% 5.45% 9.40% 11.90% 7.87% 7.14% 16.46% 26.89% 19.37% 17.13% 25.98% 16.27% 24.76% 16.34% 20.58%
9.85% 8.52% 13.61% 9.28% 10.35% 14.39% 17.91% 15.29% 12.22% 28.79% 34.96% 34.93% 33.60% 34.61% 25.74% 31.24% 23.27% 30.95%
12.06% 18.01% 14.17% 12.67% 13.05% 19.31% 19.39% 14.69% 15.36% 28.08% 33.22% 29.91% 38.02% 33.92% 24.69% 38.97% 19.61% 30.84%
12.69% 18.13% 15.55% 13.33% 14.01% 20.09% 20.62% 16.56% 16.29% 30.92% 42.33% 41.89% 39.13% 47.82% 26.43% 41.47% 27.73% 37.26%
Mean
1.57%
5.02%
6.39%
7.01%
5.37%
7.96%
8.43%
9.31% 10.53% 15.68% 10.46% 12.02% 18.35% 19.11% 21.62%
Table 3: Cost Excess Over Using All Move Operators in Neighbourhood
7
cross operator works well, it does not produce such a detrimental effect when not included.
5 Conclusion We have performed experiments on the Solomon' s capacitated VRP with time windows using a greedy steepest descent technique with a rich set of move operators. Results indicate that the method works surprisingly well, considering its lack of sophistication. However, the method is relatively sensitive to cost parameters. Initial analysis of the effectiveness of neighbourhood move operators indicates that the relocate operator provides most benefit, and exchange provides the least. On average, removal of the exchange operator increases costs by around 1.6%, but removal of any other operator results in cost increases of over 5%. Thus, it would appear that the rich set of move operators does provide benefit. The benefit is more marked for the “series 2” problems requiring few vehicles. The best two-operator combination was found to be relocate/cross, with a total cost increase of around 5.4% over using all four operators.
Acknowledgment The production of this paper was supported by the GreenTrip project, a research and development undertaking partially funded by the ESPRIT Programme of the Commission of the European Union as project number 20603. The partners in this project are Pirelli (I), ILOG (F), SINTEF (N), Tollpost-Globe (N), and University of Strathclyde (UK).
References [1] G. Clarke and G. W. Wright. Scheduling of vehicles from a central depot to a number of delivery points. Operations Research, 12:568–581, 1964. [2] M. Gendreau, A. Hertz, and G. Laporte. A tabu search heuristic for the vehicle routing problem. Management Science, 40(10):1276–1290, 1994. [3] B. Gillet and L. Miller. A heuristic algorithm for the vehicle dispatch problem. Operations Research, 22:340–349, 1974. [4] F. Glover. Tabu search, part I. ORSA Journal on Computing, 1(3):190–206, 1989. [5] F. Glover. Tabu search, part II. ORSA Journal on Computing, 2(1):4–32, 1990. [6] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing. Science, 220:671–680, 1983. [7] S. Lin. Computer solutions of the traveling salesman problem. Bell Systems Technology Journal, 44:2245–2269, 1965. [8] G. Newell and C. Daganzo. Design of multiple vehicle delivery tours I: A ring radial network. Transportation Research, 20B(5):345–363, 1986. [9] I. H. Osman. Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem. Annals of Operations Research, 41:421–451, 1993. [10] J.-Y. Potvin and S. Bengio. A genetic approach to the vehicle routing problem with time windows. Technical Report CRT-953, Centre de Recherche sur les Transports, University of Montreal, 1994. 8
[11] J.-Y. Potvin, T. Kervahut, B.-L. Garcia, and J.-M. Rousseau. A tabu search heuristic for the vehicle routing problem with time windows. Technical Report CRT-855, Centre de Recherche sur les Transports, University of Montreal, 1993. [12] Y. Rochat and E. D. Taillard. Probabilitic diversification and intensification in local search for vehicle routing. Journal of Heuristics, 1(1):147–167, 1995. [13] M. W. P. Savelsbergh. Computer aided routing. Centrum voor Wiskunde en Informatica, Amsterdam, 1988. [14] M. M. Solomon. Algorithms for the vehicle routing and scheduling problem with time window constraints. Operations Research, 35:254–265, 1987. [15] E. D. Taillard. Parallel iterative search methods for vehicle routing problems. Networks, 23:661–676, 1993. [16] S. R. Thangiah, I. H. Osman, and T. Sun. Hybrid genetic algorithm, simulated annealing, and tabu search methods for vehicle routing problems with time windows. Working paper UKC/OR94/4, Institute of Mathematics and Statistics, University of Kent, Canterbury, 1994.
9