Advertisement

Verification of Correctness of Parallel Algorithms in Practice

  • Jakub Nalepa
  • Miroslaw Blocho
Chapter
Part of the Studies in Computational Intelligence book series (SCI, volume 717)

Abstract

Verification of the correctness of parallel algorithms is often omitted in the works from the parallel computation field. In this paper, we discuss in detail how to show that a parallel algorithm is correct. This process involves proving its safety and liveness. In our case study, we prove the correctness of our two parallel algorithms for the NP-hard pickup and delivery problem with time windows. Both algorithms (for minimizing the number of routes and the travel distance) were already shown to be extremely efficient in practice—the implementations were thoroughly examined using the famous Li and Lim’s benchmark dataset.

Notes

Acknowledgements

This research was supported by the National Science Centre under research Grant No. DEC-2013/09/N/ST6/03461, and performed using the infrastructure supported by the POIG.02.03.01-24-099/13 grant: “GeCONiI—Upper Silesian Center for Computational Science and Engineering”, and the Intel CPU and Xeon Phi platforms provided by the MICLAB project No. POIG.02.03.00.24-093/13.

References

  1. 1.
    Akeb, H., Bouchakhchoukha, A., Hifi, M.: A beam search based algorithm for the capacitated vehicle routing problem with time windows. In: Proceedings of the 2013 Federated Conference on Computer Science and Information Systems, Kraków, Poland, September 8–11, 2013, pp. 329–336 (2013). http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6644021
  2. 2.
    Akeb, H., Bouchakhchoukha, A., Hifi, M.: A three-stage heuristic for the capacitated vehicle routing problem with time windows. Recent Advances in Computational Optimization: Results of the Workshop on Computational Optimization WCO 2013, FedCSIS 2013, pp. 1–19. Springer International Publishing, Cham (2015). doi: 10.1007/978-3-319-12631-9_1
  3. 3.
    Baldacci, R., Bartolini, E., Mingozzi, A.: An exact algorithm for the pickup and delivery problem with time windows. Oper. Res. 59(2), 414–426 (2011). doi: 10.1287/opre.1100.0881
  4. 4.
    Baldacci, R., Mingozzi, A., Roberti, R.: Recent exact algorithms for solving the vehicle routing problem under capacity and time window constraints. Eur. J. Oper. Res. 218(1), 1–6 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Banos, R., Ortega, J., Gil, C., de Toro, F., Montoya, M.G.: Analysis of OpenMP and MPI implementations of meta-heuristics for vehicle routing problems. Appl. Soft Comput. 43, 262–275 (2016). doi: 10.1016/j.asoc.2016.02.035, http://www.sciencedirect.com/science/article/pii/S1568494616300862
  6. 6.
    Bernay, B., Deleplanque, S., Quilliot, A.: Routing on dynamic networks: GRASP versus genetic. In: Proceedings of the 2014 Federated Conference on Computer Science and Information Systems, Warsaw, Poland, September 7–10, 2014, pp. 487–492 (2014). doi: 10.15439/2014F52
  7. 7.
    Bettinelli, A., Ceselli, A., Righini, G.: A branch-and-price algorithm for the multi-depot heterogeneous-fleet pickup and delivery problem with soft time windows. Math. Program. Comput. 6(2), 171–197 (2014). doi: 10.1007/s12532-014-0064-0
  8. 8.
    Blocho, M.: A parallel memetic algorithm for the vehicle routing problem with time windows. Ph.D. thesis, Silesian University of Technology (2013). (in Polish)Google Scholar
  9. 9.
    Blocho, M., Nalepa, J.: A parallel algorithm for minimizing the fleet size in the pickup and delivery problem with time windows. In: Proceedings of 22nd European MPI Users’ Group Meeting, EuroMPI ’15, pp. 15:1–15:2. ACM, New York, USA (2015). doi: 10.1145/2802658.2802673
  10. 10.
    Blocho, M., Nalepa, J.: LCS-Based selective route exchange crossover for the pickup and delivery problem with time windows. In: Hu, B., López-Ibáñez, M. (eds.) Evolutionary Computation in Combinatorial Optimization: 17th European Conference, EvoCOP 2017, Amsterdam, The Netherlands, April 19–21, 2017, Proceedings, pp. 124–140. Springer International Publishing, Cham (2017). doi: 10.1007/978-3-319-55453-2_9
  11. 11.
    Cherkesly, M., Desaulniers, G., Laporte, G.: A population-based metaheuristic for the pickup and delivery problem with time windows and LIFO loading. Comput. Oper. Res. 62, 23–35 (2015). doi: 10.1016/j.cor.2015.04.002, http://www.sciencedirect.com/science/article/pii/S0305054815000829
  12. 12.
    Cordeau, J.F.: A branch-and-cut algorithm for the dial-a-ride problem. Oper. Res. 54(3), 573–586 (2006). doi: 10.1287/opre.1060.0283 MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Cordeau, J.F., Laporte, G., Ropke, S.: Recent models and algorithms for one-to-one pickup and delivery problems. In: The Vehicle Routing Problem: Latest Advances and New Challenges, pp. 327–357. Springer, Boston, MA (2008). doi: 10.1007/978-0-387-77778-8_15
  14. 14.
    Crainic, T.G., Nourredine, H.: Parallel meta-heuristics applications. In: Gendreau, M., Potvin, J.Y. (eds.) Parallel Metaheuristics: A New Class of Algorithms, pp. 447–494. Wiley (2005). doi: 10.1007/978-1-4419-1665-5_17
  15. 15.
    Crainic, T.G., Toulouse, M.: Parallel meta-heuristics. In: Gendreau, M., Potvin, J.Y. (eds.) Handbook of Metaheuristics, International Series in Operations Research & Management Science, vol. 146, pp. 497–541. Springer, US (2010). doi: 10.1007/978-1-4419-1665-5_17
  16. 16.
    Czech, Z.: Introduction to Parallel Computing. PWN (2013)Google Scholar
  17. 17.
    Fidanova, S., Alba, E., Molina, G.: Memetic simulated annealing for the GPS surveying problem. In: 4th International Conference on Numerical Analysis and Its Applications, NAA 2008, Lozenetz, Bulgaria, June 16–20, 2008. Revised Selected Papers, pp. 281–288 (2008). doi: 10.1007/978-3-642-00464-3_30
  18. 18.
    Grandinetti, L., Guerriero, F., Pezzella, F., Pisacane, O.: The multi-objective multi-vehicle pickup and delivery problem with time windows. Soc. Beh. Sc. 111, 203–212 (2014). doi: 10.1016/j.sbspro.2014.01.053, http://www.sciencedirect.com/science/article/pii/S1877042814000548
  19. 19.
    Kalina, P., Vokrinek, J.: Parallel solver for vehicle routing and pickup and delivery problems with time windows based on agent negotiation. In: IEEE SMC, pp. 1558–1563 (2012)Google Scholar
  20. 20.
    Karpinski, M., Pacut, M.: Multi-GPU parallel memetic algorithm for capacitated vehicle routing problem. CoRR abs/1401.5216 (2014). arXiv:1401.5216
  21. 21.
    Li, H., Lim, A.: A metaheuristic for the pickup and delivery problem with time windows. In: Proc. IEEE ICTAI, pp. 160–167 (2001). doi: 10.1109/ICTAI.2001.974461
  22. 22.
    Lu, Q., Dessouky, M.M.: A new insertion-based construction heuristic for solving the pickup and delivery problem with time windows. Eur. J. Oper. Res. 175(2), 672–687 (2006). doi: 10.1016/j.ejor.2005.05.012, http://www.sciencedirect.com/science/article/pii/S0377221705004698
  23. 23.
    Manna, Z.: Mathematical theory of partial correctness. J. Comput. Syst. Sci. 5(3), 239–253 (1971). doi: 10.1016/S0022-0000(71)80035-1
  24. 24.
    Nagata, Y., Kobayashi, S.: Guided ejection search for the pickup and delivery problem with time windows. In: Proceedings of EvoCOP, LNCS, vol. 6022, pp. 202–213. Springer (2010). doi: 10.1007/978-3-642-12139-5_18
  25. 25.
    Nagata, Y., Kobayashi, S.: A memetic algorithm for the pickup and delivery problem with time windows using selective route exchange crossover. In: Proceedings of PPSN XI pp. 536–545. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-15844-5_54
  26. 26.
    Nalepa, J., Blocho, M.: Co-operation in the parallel memetic algorithm. Int. J. Parallel Program. 43(5), 812–839 (2015). doi: 10.1007/s10766-014-0343-4
  27. 27.
    Nalepa, J., Blocho, M.: A parallel algorithm with the search space partition for the pickup and delivery with time windows. In: Proceedings of IEEE 3PGCIC, pp. 92–99 (2015). doi: 10.1109/3PGCIC.2015.12
  28. 28.
    Nalepa, J., Blocho, M.: Adaptive memetic algorithm for minimizing distance in the vehicle routing problem with time windows. Soft Comput. 20(6), 2309–2327 (2016). doi: 10.1007/s00500-015-1642-4
  29. 29.
    Nalepa, J., Blocho, M.: Enhanced guided ejection search for the pickup and delivery problem with time windows. In: Intelligent Information and Database Systems: Proceedings of 8th Asian Conference, ACIIDS 2016, pp. 388–398. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49381-6_37
  30. 30.
    Nalepa, J., Blocho, M.: Is your parallel algorithm correct? In: Position Papers of the 2016 Federated Conference on Computer Science and Information Systems, FedCSIS 2016, Gdańsk, Poland, September 11–14, 2016, pp. 87–93 (2016). doi: 10.15439/2016F554
  31. 31.
    Nalepa, J., Blocho, M.: Adaptive guided ejection search for pickup and delivery with time windows. J. Intell. Fuzzy Syst. 32(2), 1547–1559 (2017). doi: 10.3233/JIFS-169149
  32. 32.
    Nalepa, J., Blocho, M.: 2017 25th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP). A Parallel Memetic Algorithm for the Pickup and Delivery Problem with Time Windows, pp. 1–8. March (2017). doi: 10.1109/PDP.2017.75
  33. 33.
    Nalepa, J., Blocho, M.: Temporally adaptive co-operation schemes. In: Xhafa, F., Barolli, L., Amato, F. (eds.) Advances on P2P, Parallel, Grid, Cloud and Internet Computing: Proceedings of the 11th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC–2016) November 5–7, 2016, Asan, Korea, pp. 145–156. Springer International Publishing, Cham (2017). doi: 10.1007/978-3-319-49109-7_14
  34. 34.
    Nalepa, J., Kawulok, M.: Adaptive memetic algorithm enhanced with data geometry analysis to select training data for SVMs. Neurocomputing 185, 113–132 (2016). doi: 10.1016/j.neucom.2015.12.046, http://www.sciencedirect.com/science/article/pii/S0925231215019839
  35. 35.
    Nanry, W.P., Barnes, J.W.: Solving the pickup and delivery problem with time windows using reactive tabu search. Transp. Res. 34(2), 107–121 (2000). doi: 10.1016/S0191-2615(99)00016-8
  36. 36.
    Owicki, S., Lamport, L.: Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4(3), 455–495 (1982)Google Scholar
  37. 37.
    Pankratz, G.: A grouping genetic algorithm for the pickup and delivery problem with time windows. OR Spectr. 27(1), 21–41 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  38. 38.
    Parragh, S.N., Doerner, K.F., Hartl, R.F.: A survey on pickup and delivery problems. Journal fur Betriebswirtschaft 58(1), 21–51 (2008)CrossRefGoogle Scholar
  39. 39.
    Roeva, O., Fidanova, S., Paprzycki, M.: Population size influence on the genetic and ant algorithms performance in case of cultivation process modeling. In: Recent Advances in Computational Optimization - Results of the Workshop on Computational Optimization WCO 2013 [FedCSIS 2013, Kraków, Poland], pp. 107–120 (2013). doi: 10.1007/978-3-319-12631-9_7
  40. 40.
    Ropke, S., Pisinger, D.: An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp. Sci. 40(4), 455–472 (2006). doi: 10.1287/trsc.1050.0135
  41. 41.
    Senarclens de Grancy, G., Reimann, M.: Evaluating two new heuristics for constructing customer clusters in a vrptw with multiple service workers. Cent. Eur. J. Oper. Res. 23(2), 479–500 (2015). doi: 10.1007/s10100-014-0373-4
  42. 42.
    Siminski, K.: Memetic neuro-fuzzy system with differential optimisation. In: Kozielski, S., Mrozek, D., Kasprowski, P., Małysiak-Mrozek, B., Kostrzewa, D. (eds.) Beyond Databases, Architectures and Structures. Advanced Technologies for Data Mining and Knowledge Discovery: 12th International Conference, BDAS 2016, Ustroń, Poland, May 31 - June 3, 2016, Proceedings, pp. 135–145. Springer International Publishing, Cham (2016)Google Scholar
  43. 43.
    Zhou, C., Tan, Y., Liao, L., Liu, Y.: Solving the multi-vehicle pick-up and delivery problem with time widows by new construction heuristic. Proc. IEEE CISDA 2, 1035–1042 (2006). doi: 10.1109/ISDA.2006.253754 Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Institute of InformaticsSilesian University of TechnologyGliwicePoland

Personalised recommendations