• Aucun résultat trouvé

Extensive experiments

Dans le document A Branch-and-Price Approach (Page 22-29)

Being established that our new branch-and-price is the preferable solving method for the MVTPP-PIC with unitary demands (especially when the fleet size is quite large, as in prac-tical applications), we define 72 new instances to better evaluate its performance. We con-sider a number of nodes (suppliers plus the depot)|V|={20,35,50}, a number of products

|K| = {10,30,50,70}, and a percentage value of free product f% := {30,55,80}. For each combination of {|V|,|K|, f%}, two particular values of the capacity Q:={Q1, Q2} are con-sidered. In particular, Q1 := d|K|/max{|Ktot|,2}e where Ktot represents the set of totally incompatible products, and Q2 :=d10Q1/f%e. The rationale of this choice is as follows. A larger vehicle capacity asQ1tends to generate instances where the number of vehicles needed to satisfy the demand is strongly (or solely) influenced by incompatibilities among products.

The valueQ2 leads instead to more strict capacity constraints, and the final number of vehi-cle used will depend from the trade-off between vehivehi-cle capacity and incompatibilities. This new set of hard-to-solve problems also provides a test bed for future contributions and can be downloaded from the web page http://www.ing.unibs.it/∼orgroup/instances.html.

Tables 5–7 present the results for |V|= 20, 35 and 50 instances, respectively. Columns meaning has been already explained, apart from #v and obj that represent the number of vehicles used and the objective function value of the best solution found. In column gap%, values are highlighted in bold font when they correspond to a solution proved to be optimal.

In this new experiments, the value of the parametersnegLabelLIM andallLabelLIM have been doubled, being set to 100 and 1000, respectively. Finally, in order to avoid a useless explosion of the branch-and-bound tree, we also stop the branch-and-price when the percentage gap is less than 0.2%.

The new results confirm the overall goodness of our approach, pointing out also some of its limitations. The method works very well in particular for instances with |V| = 20 and

|V|= 35 (see Tables 5 and 6). For 11 out of 72 instances the method is not able to terminate the column generation procedure at the root node within the threshold time (see entries with value 1 in column B&Bn and gap% greater than zero). In these cases the integrality gaps are quite high, because the restricted master heuristic seems quite ineffective and the best

Table 5: B&Presults for |V|= 20 instances

50 30 9 35 11266 15 0.19 3553 337 878 3.64 978 99.30 245.46 687 50 30 25 35 11266 15 0.07 4418 449 1056 3.80 1050 99.30 236.43 879 50 55 4 23 10526 13 0.00 1605 629 538 2.66 814 99.54 136.35 287

50 55 17 23 9393 12 0.00 341 309 90 3.65 521 99.12 305.21 3

50 80 4 13 9615 13 0.00 365 360 160 1.94 576 98.16 151.15 33

50 80 25 10 6181 5 0.00 618 613 155 3.67 1014 100.00 617.78 1

70 30 6 49 19536 21 0.00 589 561 98 5.77 595 100.00 441.22 9

70 30 18 49 19460 21 0.00 658 651 99 6.43 529 100.00 470.68 13 70 55 7 32 14209 14 0.00 1574 1534 243 5.84 1119 99.75 447.00 33 70 55 35 32 14133 14 0.00 1037 1021 182 5.16 1043 100.00 624.95 21 70 80 5 14 13101 14 0.00 3202 3048 279 3.13 1170 99.45 1046.77 33 70 80 35 14 9480 8 0.00 2331 2305 324 5.90 2426 100.00 2143.90 9

0.01 869 511 192 2.57 591 99.56 302.69 87

Table 6: B&Presults for |V|= 35 instances

B&P

50 30 17 35 12907 20 0.00 2907 2421 57 50.83 475 100.00 2906.64 1

50 55 3 23 11160 17 0.00 925 788 88 10.31 494 99.24 246.75 25

50 55 13 23 10988 13 21.81 7200 7185 72 99.69 863 - - 1

50 80 4 13 8723 13 0.00 827 813 149 5.24 578 97.79 430.89 19

50 80 25 10 11182 6 54.34 7200 0 111 64.45 1135 - - 1

70 30 6 49 12308 25 0.00 2041 2002 120 16.68 812 99.89 1092.00 27 70 30 18 49 12133 25 0.00 1783 1732 89 19.76 744 100.00 1679.37 5 70 55 5 32 10195 16 0.00 2743 2200 175 15.02 763 99.83 1134.65 27 70 55 24 32 9521 16 0.00 4463 4399 163 26.78 1215 100.00 4463.18 1 70 80 5 14 8944 14 0.00 4901 4866 275 10.05 1167 99.42 3583.14 35

70 80 35 14 15529 9 74.08 7200 0 110 65.04 1203 - - 1

6.26 1907 1215 78 18.43 516 99.31 847.57 9

solutions are compared to very poor lower bounds (computed as the maximum between the value obtained by the formula (35) and the optimal solution value of the LP relaxation of (1)–(12) without constraints (4)). However, the B&P has been able to solve optimally about 78% of the instances (in particular, it has found 22, 21 and 13 optimal solutions out of

Table 7: B&Presults for |V|= 50 instances

30 30 8 21 5708 11 0.00 4651 3829 38 122.29 257 100.00 3574.22 3

30 55 3 14 5487 10 0.00 490 437 48 10.09 297 99.48 235.78 11

30 55 15 14 13662 8 89.22 7200 2 22 327.19 280 - - 1

30 80 2 15 6448 15 0.00 197 159 56 3.14 2036 99.58 132.74 5

30 80 15 6 9273 4 84.12 7200 0 12 599.95 207 - - 1

50 30 9 35 7919 14 0.00 5117 4468 67 76.16 521 100.00 5116.93 1

50 30 25 35 7919 14 0.00 4144 3832 56 73.79 504 100.00 4143.51 1 50 55 5 23 7271 12 0.15 7200 3237 158 45.22 734 99.28 2587.21 30

50 55 25 23 6808 11 2.04 7200 7124 61 117.82 644 - - 1

50 80 3 17 8425 17 0.00 2915 1817 186 14.96 719 98.42 673.80 61

50 80 17 10 13382 7 80.90 7200 0 45 159.82 603 - - 1

70 30 12 49 29051 19 89.87 7200 2719 49 146.77 528 - - 1

70 30 35 49 32186 19 90.86 7200 6159 41 175.46 480 - - 1

70 55 5 32 9752 18 0.37 7200 6338 100 71.47 795 99.60 4845.81 5

70 55 24 32 25044 17 88.25 7200 0 33 218.00 410 - - 1

70 80 5 14 9266 14 10.28 7200 5302 147 41.20 1033 89.72 6930.73 2

70 80 35 14 15780 8 81.35 7200 0 13 553.76 180 - - 1

25.73 4054 1908 51 116.13 464 99.13 1801.32 6

24 instances with |V| = 20, 35, and 50, respectively). For the whole set of instances with

|V|= 20, the B&P generates an average percentage gap equal to 0.01, and the average CPU time is about 870 seconds.

Some other trends can also be noticed. For example, the complexity of the instances grows not surprisingly with the number of products involved, but also with the percentage of free products. The reason might be that our subproblem solving procedures are much more efficient when products present a lot of incompatibilities. Moreover, instances with a vehicle capacity equal to Q1 (even lines of each table) appear in general a bit harder to solve than the ones with capacity Q2 (odd lines). It seems that a smaller value of Q, instead of enhancing the combined effect of the two types of restrictions (vehicle capacity and incompatibilities), mitigates the combinatorial hardness caused by the PIC.

In order to better understand the benefits of some components of our branch-and-price (B&P), we compare its performance to those obtained by the method excluding stabilization (B&P-NoStab) and the two-phase restricted master heuristic (B&P-NoRMH). Table 8 shows this comparison on a subset of 24 instances of the type {|V|,|K|, f%, Q}, where |V| = {20,35,50}, |K| = {10,70}, f% = {30,80}, and Q ={Q1, Q2}. Each table entry refers to the average result out of 4 instances with the same combination of {|V|,|K|}. We can see that B&P-NoRMH achieves 2 optimal solutions less and shows an optimality gap about the 5% worse than the standard version. This is due to a slower convergence of the column generation procedure. In fact, on average, the overall CPU time and that for solving the

linear relaxation at the root node are greater. This is not true for the easiest instances, where the stabilization seems unnecessary. On the contrary, B&P-NoRMH is slightly less time consuming with respect to the standard version (since it does not make use of the restricted master heuristic), but presents a worse optimality gap and a consistent average percentage deviation of the solutions with respect to the best found (around 10%). In conclusion, as expected, both the stabilization method and the restricted master heuristic implemented give efficiency and effectiveness to the solution procedure, in particular for the hardest instances.

Table 8: B&P vs B&P-NoStab and B&P-NoRMH

B&P B&P-NoStab B&P-NoRMH

|V| |K| #opt gap% t troot #opt gap% t troot ∆% #opt gap% t troot ∆%

20 10 4 0.00 10 6 4 0.00 8 6 0.00 4 0.00 9 6 0.00

20 70 4 0.00 1695 1026 3 12.80 3708 2310 26.22 4 0.00 1103 770 0.00

35 10 4 0.00 9 8 4 0.00 11 10 0.00 4 0.00 9 7 0.00

35 70 3 18.52 3981 3389 3 17.95 4713 4128 0.00 3 17.37 4161 2922 0.00

50 10 4 0.00 52 52 4 0.00 42 42 0.00 4 0.00 51 51 0.00

50 70 0 68.09 7200 7133 0 83.65 7200 7200 56.60 0 83.64 7200 6732 56.60

14.43 2158 1935 19.07 2614 2283 13.80 16.84 2089 1748 9.43

On the same subset of instances we now evaluate the contribution to the column genera-tion procedure of the two solugenera-tion methods proposed for the pricing problem, i.e., the labeling algorithm (Lab) and the tailored branch-and-cut (B&C). The average CPU time per iteration (tSU B) of the two methods is presented in Figure 2, whereas Figure 3 shows the percentage number of iterations executed and the number of columns added by the two methods out of the total number. Results are grouped by value of|V|. In Figure 2 we see thattSU B forB&C

Figure 2: Average time per iteration for the two pricing problem solution methods.

grows exponentially with the number of nodes, whereas it grows quite linearly for Lab. This depends on the fact that the labeling algorithm, in our branch-and-price implementation, is stopped prematurely as soon as it results to be ineffective, whereas the branch-and-cut always needs to ensure optimality for the pricing problem. Figure 3 reveals instead how the two methods collaborate in the column generation procedure. Not surprisingly, the labeling

algorithm is always executed very few times with respect to the total number of iterations (this value never exceeds, on average, the 5%). However, in proportion, it generates a con-spicuous part of the total number of columns (20% for |V| = 35 instances, and almost 35%

for|V|= 50 instances). B&C, instead, returns the most part of the columns but using a num-ber of iterations about 20 times larger. This means that the intrinsic drawbacks of the two pricing problem solution procedures are very well compensated by the use of the switching method exposed in Section 3.2.4.

Figure 3: Percentage of iterations and columns for the two pricing problem solution methods.

5 Conclusions

In this paper we dealt with the Multi-Vehicle Travelling Purchaser Problem with Pairwise Incompatibility Constraints and unitary demands for the products. We developed a price solution approach embedding a column generation procedure within a branch-and-bound framework. The column generation relies on a set-covering formulation of the problem where a column corresponds to a feasible route associated with a compatible purchasing plan. We proposed two exact methods to solve the pricing problem, i.e. a labeling algorithm solving a Resource Constrained Elementary Shortest Path Problem on an expanded graph and a tailored branch-and-cut approach. We also proposed an initial heuristic, three different branching rules, and several acceleration techniques to speed up the process. Experimental tests have shown that the resulting implementation outperforms the branch-and-cut method existing in the literature, both in solution quality and in computational time, especially when the size of the fleet involved is quite large as in real applications. Our branch-and-price has been able to optimally solve in a reasonable amount of time instances with up to 50 suppliers, 70 products, and 70% of cross-incompatibilities among products.

Acknowledgements

This work was partially supported by the Canadian Natural Science and Engineering Re-search Council (NSERC) through its Discovery Grants Program.

References

Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W. P., Vance, P. H., 1998. Branch-and-price: Column generation for solving huge integer programs. Operations Research 46 (3), 316–329.

Bianchessi, N., Mansini, R., Speranza, M., 2014. The distance constrained multiple vehicle traveling purchaser problem. European Journal of Operational Research 235 (1), 73–87.

Burstall, R., 1966. A heuristic method for a job-scheduling problem. Operational Research Quarterly 17 (3), 291–304.

Choi, M., Lee, S., 2011. The multiple traveling purchaser problem for maximizing system’s reliability with budget constraints. Expert Systems with Applications 38, 9848–9853.

Christofides, N., Mingozzi, A., Toth, P., 1979. Loading problems. In: Christofides, N., Min-gozzi, A., Sandi, C., Toth, P. (Eds.), Combinatorial Optimization. John Wiley, London, pp. 339–369.

Dantzig, G. B., Wolfe, P., 1960. Decomposition principle for linear programs. Operations Research 8 (1), 101–111.

Desaulniers, G., 2010. Branch-and-price-and-cut for the split-delivery vehicle routing prob-lem with time windows. Operations Research 58 (1), 179–192.

Desaulniers, G., Desrosiers, J., Solomon, M. M., 2002. Accelerating strategies in column generation methods for vehicle routing and crew scheduling problems. In: Essays and Surveys in Metaheuristics. Vol. 15 of Operations Research/Computer Science Interfaces Series. Springer US, pp. 309–324.

du Merle, O., Villeneuve, D., Desrosiers, J., Hansen, P., 1999. Stabilized column generation.

Discrete Mathematics 194, 229–237.

Feillet, D., Dejax, P., Gendreau, M., 2005. The profitable arc tour problem: Solution with a branch-and-price algorithm. Transportation Science 39 (4), 539–552.

Fischetti, M., Salazar-Gonz´alez, J.-J., Toth, P., 1998. Solving the orienteering problem through branch-and-cut. INFORMS Journal on Computing 10, 133–148.

Gendreau, M., Dejax, P., Feillet, D., Gueguen, C., 2006. Vehicle routing with time windows and split deliveries. Technical report 2006-851, Laboratoire Informatique d’Avignon.

Gendreau, M., Laporte, G., Semet, F., 2004. Heuristics and lower bounds for the bin packing problem with conflicts. Computers & Operations Research 31 (3), 347–358.

Goossens, D., Spieksma, F. C., 2009. The transportation problem with exclusionary side constraints. 4OR 7 (1), 51–60.

Helsgaun, K., 2000. An effective implementation of the lin-kernighan traveling salesman heuristic. European Journal of Operational Research 126, 106–130.

Iori, M., Martello, S., 2010. Routing problems with loading constraints. TOP 18 (1), 4–27.

Irnich, S., Desaulniers, G., 2005. Shortest path problems with resource constraints. In: De-saulniers, G., Desrosiers, J., Solomon, M. M. (Eds.), Column Generation. Springer US, pp. 33–65.

Jin, M., Liu, K., Eksioglu, B., 2008. A column generation approach for the split delivery vehicle routing problem. Operations Research Letters 36 (2), 265–270.

Laporte, G., Riera-Ledesma, J., Salazar-Gonz´alez, J.-J., 2003. A branch-and-cut algorithm for the undirected traveling purchaser problem. Operations Research 51 (6), 940–951.

Manerba, D., Mansini, R., 2014. A branch-and-cut algorithm for the multi-vehicle traveling purchaser problem with pairwise incompatibility constraints. Networks (Accepted August 22, 2014. To appear).

Mansini, R., Tocchella, B., 2009. The traveling purchaser problem with budget constraint.

Computers & Operations Research 36, 2263–2274.

Riera-Ledesma, J., Salazar-Gonz´alez, J.-J., 2012. Solving school bus routing using the mul-tiple vehicle traveling purchaser problem: a branch-and-cut approach. Computers & Op-erations Research 39 (1), 391–404.

Riera-Ledesma, J., Salazar-Gonz´alez, J.-J., 2013. A column generation approach for a school bus routing problem with resource constraints. Computers & Operations Research 40 (1), 566–583.

Rousseau, L.-M., Gendreau, M., Feillet, D., 2007. Interior point stabilization for column generation. Operation Research Letters 35 (5), 660–668.

Sun, M., 2002. The transportation problem with exclusionary side constraints and two branch-and-bound algorithms. European Journal of Operational Research 140 (3), 629–

647.

Voss, S., 1996. Dynamic tabu search strategies for the traveling purchaser problem. Annals of Operations Research 63 (2), 253–275.

Dans le document A Branch-and-Price Approach (Page 22-29)

Documents relatifs