Advertisement

Parallel Constraint Programming

  • Jean-Charles Régin
  • Arnaud Malapert
Chapter

Abstract

Constraint programming (CP) is an efficient technique for solving combinatorial optimization problems. In CP a problem is defined over variables that take values in domains and constraints which restrict the allowed combination of values. CP uses for each constraint an algorithm that removes values of variables that are inconsistent with the constraint. These algorithms are called while a domain is modified. Then, a search algorithm such as a backtracking or branch-and-bound algorithm is called to find solutions. Several methods have been proposed to combine CP with parallelism. In this chapter, we present some of them: parallelization of the propagator, parallel propagation, search splitting, also called work-stealing, problem decomposition, also called embarrassingly parallel search (EPS), and portfolio approaches. We detail the two giving the best performances in practice: the work-stealing approach and embarrassingly parallel search. We give some experiments supporting this claim on a single multi-core machine, on a data center and on the cloud.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    16th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2004), 15-17 November 2004, Boca Raton, FL, USA. IEEE Computer Society (2004). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=9460
  2. [2]
    Amadini, R., Gabbrielli, M., Mauro, J.: An Empirical Evaluation of Portfolios Approaches for Solving CSPs. In: C. Gomes, M. Sellmann (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, Lecture Notes in Computer Science, vol. 7874, pp. 316–324. Springer Berlin Heidelberg (2013).  https://doi.org/10.1007/978-3-642-38171-3_21. http://dx.doi.org/10.1007/978-3-642-38171-3_21
  3. [3]
    Amdahl, G.: Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities. In: Proceedings of the April 18-20, 1967, Spring Joint Computer Conference, AFIPS ’67, pp. 483–485. ACM, New York, NY, USA (1967)Google Scholar
  4. [4]
    Bader, D., Hart, W., Phillips, C.: Parallel Algorithm Design for Branch and Bound. In: H. G (ed.) Tutorials on Emerging Methodologies and Applications in Operations Research, International Series in Operations Research & Management Science, vol. 76, pp. 5–1–5–44. Springer, New York (2005).  https://doi.org/10.1007/0-387-22827-6_5
  5. [5]
    Bordeaux, L., Hamadi, Y., Samulowitz, H.: Experiments with Massively Parallel Constraint Solving. In: Boutilier [8], pp. 443–448Google Scholar
  6. [6]
    Bordeaux, L., Hamadi, Y., Samulowitz, H.: Experiments with massively parallel constraint solving. In: Boutilier [8], pp. 443–448Google Scholar
  7. [7]
    Boussemart, F., Hemery, F., Lecoutre, C., Sais, L.: Boosting systematic search by weighting constraints. In: ECAI, vol. 16, p. 146 (2004)Google Scholar
  8. [8]
    Boutilier, C. (ed.): IJCAI 2009, Proceedings of the 21st International Joint Conference on Artificial Intelligence, Pasadena, California, USA, July 11-17, 2009 (2009)Google Scholar
  9. [9]
    Budiu, M., Delling, D., Werneck, R.: DryadOpt: Branch-and-bound on distributed data-parallel execution engines. In: Parallel and Distributed Processing Symposium (IPDPS), 2011 IEEE International, pp. 1278–1289 (2011)Google Scholar
  10. [10]
    Burton, F.W., Sleep, M.R.: Executing Functional Programs on a Virtual Tree of Processors. In: Proceedings of the 1981 Conference on Functional Programming Languages and Computer Architecture, FPCA ’81, pp. 187–194. ACM, New York, NY, USA (1981)Google Scholar
  11. [11]
    Capit, N., Da Costa, G., Georgiou, Y., Huard, G., Martin, C., Mounie, G., Neyron, P., Richard, O.: A Batch Scheduler with High Level Components. In: Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid (CCGrid’05) - Volume 2 - Volume 02, CCGRID ’05, pp. 776–783. IEEE Computer Society, Washington, DC, USA (2005). http://dl.acm.org/citation.cfm?id=1169223.1169583
  12. [12]
    Choco, T.: Choco: an open source java constraint programming library. Ecole des Mines de Nantes, Research report 1, 10–02 (2010)Google Scholar
  13. [13]
  14. [14]
    Chong, Y.L., Hamadi, Y.: Distributed Log-Based Reconciliation. In: Proceedings of the 2006 Conference on ECAI 2006: 17th European Conference on Artificial Intelligence August 29 – September 1, 2006, Riva Del Garda, Italy, pp. 108–112. IOS Press, Amsterdam, The Netherlands (2006). http://dl.acm.org/citation.cfm?id=1567016.1567045
  15. [15]
    Chu, G., Schulte, C., Stuckey, P.J.: Confidence-Based Work Stealing in Parallel Constraint Programming. In: Gent [27], pp. 226–241Google Scholar
  16. [16]
    Chu, G., Schulte, C., Stuckey, P.J.: Confidence-based work stealing in parallel constraint programming. In: Gent [27], pp. 226–241Google Scholar
  17. [17]
    Cire, A.A., Kadioglu, S., Sellmann, M.: Parallel Restarted Search. In: Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence, AAAI’14, pp. 842–848. AAAI Press (2014). http://dl.acm.org/citation.cfm?id=2893873.2894004
  18. [18]
    Cornuéjols, G., Karamanov, M., Li, Y.: Early estimates of the size of branchand-bound trees. INFORMS Journal on Computing 18(1), 86–96 (2006)Google Scholar
  19. [19]
    Cornuéjols, G., Karamanov, M., Li, Y.: Early Estimates of the Size of Branchand-Bound Trees. INFORMS Journal on Computing 18, 86–96 (2006)Google Scholar
  20. [20]
    Crainic, T.G., Le Cun, B., Roucairol, C.: Parallel branch-and-bound algorithms. Parallel Combinatorial Optimization 1, 1–28 (2006)Google Scholar
  21. [21]
    De Kergommeaux, J.C., Codognet, P.: Parallel logic programming systems. ACM Computing Surveys (CSUR) 26(3), 295–336 (1994)Google Scholar
  22. [22]
    De Nicola, R., Ferrari, G.L., Meredith, G. (eds.): Coordination Models and Languages, 6th International Conference, COORDINATION 2004, Pisa, Italy, February 24-27, 2004, Proceedings, Lecture Notes in Computer Science, vol. 2949. Springer (2004)Google Scholar
  23. [23]
    Ezzahir, R., Bessière, C., Belaissaoui, M., Bouyakhf, E.H.: DisChoco: A platform for distributed constraint programming. In: DCR’07: Eighth International Workshop on Distributed Constraint Reasoning - In conjunction with IJCAI’07, pp. 16–21. Hyderabad, India (2007). https://hal-lirmm.ccsd.cnrs.fr/lirmm-00189778
  24. [24]
    Fischetti, M., Monaci, M., Salvagnin, D.: Self-splitting of workload in parallel computation. In: H. Simonis (ed.) Integration of AI and OR Techniques in Constraint Programming: 11th International Conference, CPAIOR 2014, Cork, Ireland, May 19-23, 2014. Proceedings, pp. 394–404. Springer International Publishing, Cham (2014).  https://doi.org/10.1007/978-3-319-07046-9_28. http://dx.doi.org/10.1007/978-3-319-07046-9_28
  25. [25]
    Galea F., Le Cun, B.: Bob++ : a Framework for Exact Combinatorial Optimization Methods on Parallel Machines. In: International Conference High Performance Computing & Simulation 2007 (HPCS’07) and in conjunction with The 21st European Conference on Modeling and Simulation (ECMS 2007), pp. 779–785 (2007)Google Scholar
  26. [26]
    Gendron, B., Crainic, T.G.: Parallel branch-and-bound algorithms: Survey and synthesis. Operations research 42(6), 1042–1066 (1994)Google Scholar
  27. [27]
    Gent, I.P. (ed.): Principles and Practice of Constraint Programming - CP 2009, 15th International Conference, CP 2009, Lisbon, Portugal, September 20-24, 2009, Proceedings, Lecture Notes in Computer Science, vol. 5732 (2009)Google Scholar
  28. [28]
    Gomes, C., Selman, B.: Algorithm Portfolio Design: Theory vs. Practice. In: Proceedings of the Thirteenth Conference on Uncertainty in Artificial Intelligence, pp. 190–197 (1997)Google Scholar
  29. [29]
    Gomes, C., Selman, B.: Search strategies for hybrid search spaces. In: Tools with Artificial Intelligence, 1999. Proceedings. 11th IEEE International Conference, pp. 359–364. IEEE (1999)Google Scholar
  30. [30]
    Gomes, C., Selman, B.: Hybrid Search Strategies For Heterogeneous Search Spaces. International Journal on Artificial Intelligence Tools 09, 45–57 (2000)Google Scholar
  31. [31]
    Gomes, C., Selman, B.: Algorithm Portfolios. Artificial Intelligence 126, 43–62 (2001)Google Scholar
  32. [32]
    Gropp,W., Lusk, E.: TheMPI communication library: its design and a portable implementation. In: Scalable Parallel Libraries Conference, Proceedings of the, pp. 160–165. IEEE (1993)Google Scholar
  33. [33]
    Gupta, G., Pontelli, E., Ali, K.A., Carlsson, M., Hermenegildo, M.V.: Parallel execution of Prolog Programs: a Survey. ACM Transactions on Programming Languages and Systems (TOPLAS) 23(4), 472–602 (2001)Google Scholar
  34. [34]
    Halstead, R.: Implementation of MultiLisp: Lisp on a Multiprocessor. In: Proceedings of the 1984 ACM Symposium on LISP and Functional Programming, LFP ’84, pp. 9–17. ACM, New York, NY, USA (1984)Google Scholar
  35. [35]
    Hamadi, Y.: Optimal Distributed Arc-Consistency. Constraints 7, 367–385 (2002)Google Scholar
  36. [36]
    Hamadi, Y., Jabbour, S., Sais, L.: ManySAT: a Parallel SAT Solver. Journal on Satisfiability, Boolean Modeling and Computation 6(4), 245–262 (2008)Google Scholar
  37. [37]
    Haralick, R., Elliot, G.: Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence 14, 263–313 (1980)Google Scholar
  38. [38]
    Harvey, W.D., Ginsberg, M.L.: Limited Discrepancy Search. In: Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence, IJCAI 95, Montréal, Québec, Canada, August 20-25 1995, 2 Volumes, pp. 607–615 (1995)Google Scholar
  39. [39]
    Hirayama, K., Yokoo, M.: Distributed Partial Constraint Satisfaction Problem. In: Principles and Practice of Constraint Programming-CP97, pp. 222–236. Springer (1997)Google Scholar
  40. [40]
    Hyde, P.: Java thread programming, vol. 1. Sams (1999)Google Scholar
  41. [41]
    Jaffar, J., Santosa, A.E., Yap, R.H.C., Zhu, K.Q.: Scalable Distributed Depth-First Search with Greedy Work Stealing. In: 16th IEEE International Conference on Tools with Artificial Intelligence [1], pp. 98–103. http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=9460
  42. [42]
    Jaffar, J., Santosa, A.E., Yap, R.H.C., Zhu, K.Q.: Scalable distributed depth-first search with greedy work stealing. In: ICTAI [1], pp. 98–103. http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=9460
  43. [43]
    Kale, L., Krishnan, S.: CHARM++: a portable concurrent object oriented system based on C++, vol. 28. ACM (1993)Google Scholar
  44. [44]
    Kasif, S.: On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction networks. Artificial Intelligence 45, 275–286 (1990)Google Scholar
  45. [45]
    Kautz, H., Horvitz, E., Ruan, Y., Gomes, C., Selman, B.: Dynamic Restart Policies. 18th National Conference on Artificial Intelligence AAAI/IAAI 97, 674–681 (2002)Google Scholar
  46. [46]
    Kilby, P., Slaney, J.K., Thiébaux, S., Walsh, T.: Estimating search tree size. In: AAAI, pp. 1014–1019 (2006)Google Scholar
  47. [47]
    Kjellerstrand, H.: Håkan Kjellerstrand’s Blog. http://www.hakank.org/ (2014)
  48. [48]
    Kleiman, S., Shah, D., Smaalders, B.: Programming with threads. Sun Soft Press (1996)Google Scholar
  49. [49]
    Knuth, D.E.: Estimating the efficiency of backtrack programs. Mathematics of Computation 29, 121–136 (1975)Google Scholar
  50. [50]
    Korf, R.: Depth-first iterative-deepening: An optimal admissible tree search. Artificial Intelligence 27, 97–109 (1985)Google Scholar
  51. [51]
    Kowalski, R.: Algorithm = logic + control. Commun. ACM 22(7), 424–436 (1979)Google Scholar
  52. [52]
    Le Cun, B., Menouer, T., Vander-Swalmen, P.: Bobpp. http://forge.prism.uvsq.fr/projects/bobpp (2007)
  53. [53]
    Léauté, T., Ottens, B., Szymanek, R.: FRODO 2.0: An open-source framework for distributed constraint optimization. In: Boutilier [8], pp. 160–164Google Scholar
  54. [54]
    Leiserson, C.E.: The Cilk++ concurrency platform. The Journal of Supercomputing 51(3), 244–257 (2010)Google Scholar
  55. [55]
    Lester, B.: The art of parallel programming. Prentice Hall, Englewood Cliffs, NJ (1993)Google Scholar
  56. [56]
    Li, H.: Introducing Windows Azure. Apress, Berkeley, CA, USA (2009)Google Scholar
  57. [57]
    Lodi, A., Milano, M., Toth, P. (eds.): Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, 7th International Conference, CPAIOR 2010, Bologna, Italy, June 14-18, 2010. Proceedings, Lecture Notes in Computer Science, vol. 6140. Springer (2010)Google Scholar
  58. [58]
    Luby, M., Sinclair, A., Zuckerman, D.: Optimal Speedup of Las Vegas Algorithms. Inf. Process. Lett. 47, 173–180 (1993)Google Scholar
  59. [59]
    Machado, R., Pedro, V., Abreu, S.: On the Scalability of Constraint Programming on Hierarchical Multiprocessor Systems. In: ICPP, pp. 530–535. IEEE (2013)Google Scholar
  60. [60]
    Malapert, A., Lecoutre, C.: À propos de la bibliothèque de modèles XCSP. In: 10èmes Journées Francophones de Programmation par Contraintes (JFPC’15). Angers, France (2014)Google Scholar
  61. [61]
    Malapert, A., Régin, J., Rezgui, M.: Embarrassingly parallel search in constraint programming. J. Artif. Intell. Res. (JAIR) 57, 421–464 (2016).  https://doi.org/10.1613/jair.5247. http://dx.doi.org/10.1613/jair.5247
  62. [62]
    Menouer, T.: Parallélisations de Méthodes de Programmation Par Contraintes. Ph.D. thesis, Université de Versailles Saint-Quentin-en-Yvelines (2015)Google Scholar
  63. [63]
    Menouer, T., Cun, B.L.: Anticipated dynamic load balancing strategy to parallelize constraint programming search. In: 2013 IEEE 27th International Symposium on Parallel and Distributed ProcessingWorkshops and PhD Forum, pp. 1771–1777 (2013).  https://doi.org/10.1109/ipdpsw.2013.210. http://doi.ieeecomputersociety.org/10.1109/IPDPSW.2013.210
  64. [64]
    Menouer, T., Le Cun, B.: Anticipated Dynamic Load Balancing Strategy to Parallelize Constraint Programming Search. In: 2013 IEEE 27th International Symposium on Parallel and Distributed Processing Workshops and PhD Forum, pp. 1771–1777 (2013)Google Scholar
  65. [65]
    Menouer, T., Le Cun, B.: Adaptive N To P Portfolio for Solving Constraint Programming Problems on Top of the Parallel Bobpp Framework. In: 2014 IEEE 28th International Symposium on Parallel and Distributed Processing Workshops and PhD Forum (2014)Google Scholar
  66. [66]
    Menouer, T., Rezgui, M., Cun, B.L., Régin, J.: Mixing static and dynamic partitioning to parallelize a constraint programming solver. International Journal of Parallel Programming 44(3), 486–505 (2016).  https://doi.org/10.1007/s10766-015-0356-7. http://dx.doi.org/10.1007/s10766-015-0356-7
  67. [67]
    Michel, L., See, A., Hentenryck, P.V.: Transparent parallelization of constraint programming. INFORMS Journal on Computing 21(3), 363–382 (2009)Google Scholar
  68. [68]
    Michel, L., Van Hentenryck, P.: Activity-based search for black-box constraint programming solvers. In: Integration of AI and OR Techniques in Contraint Programming for Combinatorial Optimzation Problems, pp. 228–243. Springer (2012)Google Scholar
  69. [69]
    Microsoft Corporation: Microsoft HPC Pack 2012 R2 and HPC Pack 2012. http://technet.microsoft.com/en-us/library/jj899572.aspx (2015)
  70. [70]
    Minizinc challenge http://www.minizinc.org/challenge2012/challenge.html (2012). Accessed: 14-04-2014
  71. [71]
    Moisan, T., Gaudreault, J., Quimper, C.G.: Parallel Discrepancy-Based Search. In: Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, vol. 8124, pp. 30–46. Springer (2013)Google Scholar
  72. [72]
    Moisan, T., Quimper, C.G., Gaudreault, J.: Parallel Depth-bounded Discrepancy Search. In: H. Simonis (ed.) Integration of AI and OR Techniques in Constraint Programming: 11th International Conference, CPAIOR 2014, Cork, Ireland, May 19-23, 2014. Proceedings, pp. 377–393. Springer International Publishing, Cham (2014).  https://doi.org/10.1007/978-3-319-07046-9_27. http://dx.doi.org/10.1007/978-3-319-07046-9_27
  73. [73]
    Mueller, F., et al.: A Library Implementation of POSIX Threads under UNIX. In: USENIX Winter, pp. 29–42 (1993)Google Scholar
  74. [74]
    Nguyen, T., Deville, Y.: A Distributed Arc-Consistency Algorithm. Science of Computer Programming 30(1–2), 227 – 250 (1998). http://dx.doi.org/10.1016/S0167-6423(97)00012-9. http://www.sciencedirect.com/science/article/pii/S0167642397000129. Concurrent Constraint Programming
  75. [75]
    NICTA Optimisation Research Group: MiniZinc and FlatZinc. http://www.g12.csse.unimelb.edu.au/minizinc/ (2012)
  76. [76]
    Nielsen, M.: Parallel Search in Gecode. Master’s thesis, KTH Royal Institute of Technology (2006)Google Scholar
  77. [77]
    O’Mahony, E., Hebrard, E., Holland, A., Nugent, C., O’Sullivan, B.: Using case-based reasoning in an algorithm portfolio for constraint solving. In: Irish Conference on Artificial Intelligence and Cognitive Science, pp. 210–216 (2008)Google Scholar
  78. [78]
    Palmieri, A., Régin, J., Schaus, P.: Parallel strategies selection. In: M. Rueher (ed.) Principles and Practice of Constraint Programming - 22nd International Conference, CP 2016, Toulouse, France, September 5-9, 2016, Proceedings, Lecture Notes in Computer Science, vol. 9892, pp. 388–404. Springer (2016).  https://doi.org/10.1007/978-3-319-44953-1_25. http://dx.doi.org/10.1007/978-3-319-44953-1_25
  79. [79]
    Perron, L.: Search Procedures and Parallelism in Constraint Programming. In: Principles and Practice of Constraint Programming – CP’99: 5th International Conference, CP’99, Alexandria, VA, USA, October 11-14, 1999. Proceedings, pp. 346–360. Springer Berlin Heidelberg, Berlin, Heidelberg (1999).  https://doi.org/10.1007/978-3-540-48085-3_25. http://dx.doi.org/10.1007/978-3-540-48085-3_25
  80. [80]
    Perron, L.: Search procedures and parallelism in constraint programming. In: CP, Lecture Notes in Computer Science, vol. 1713, pp. 346–360 (1999)Google Scholar
  81. [81]
    Perron, L., Nikolaj, V.O., Vincent, F.: Or-Tools. Tech. rep., Google (2012)Google Scholar
  82. [82]
    Pruul, E., Nemhauser, G., Rushmeier, R.: Branch-and-bound and Parallel Computation: A historical note. Operations Research Letters 7, 65–69 (1988)Google Scholar
  83. [83]
    cois Puget, J.F.: ILOG CPLEX CP Optimizer : A C++ implementation of CLP. http://www.ilog.com/ (1994)
  84. [84]
    Refalo, P.: Impact-based search strategies for constraint programming. In: M. Wallace (ed.) CP, Lecture Notes in Computer Science, vol. 3258, pp. 557–571. Springer (2004)Google Scholar
  85. [85]
    Régin, J.C.: A filtering algorithm for constraints of difference in CSPs. In: Proceedings AAAI-94, pp. 362–367. Seattle, Washington (1994)Google Scholar
  86. [86]
    Régin, J.C.: Global Constraints: a Survey. In Milano, M., Van-Hentenryck, P. eds., Hybrid Optimization. Springer (2011)Google Scholar
  87. [87]
    Régin, J.C., Rezgui, M., Malapert, A.: Embarrassingly Parallel Search. In: Principles and Practice of Constraint Programming: 19th International Conference, CP 2013, Uppsala, Sweden, September 16-20, 2013. Proceedings, pp. 596–610. Springer Berlin Heidelberg, Berlin, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40627-0_45. http://dx.doi.org/10.1007/978-3-642-40627-0_45
  88. [88]
    Régin, J.C., Rezgui, M., Malapert, A.: Improvement of the Embarrassingly Parallel Search for Data Centers. In: B. O’Sullivan (ed.) Principles and Practice of Constraint Programming: 20th International Conference, CP 2014, Lyon, France, September 8-12, 2014. Proceedings, Lecture Notes in Computer Science, vol. 8656, pp. 622–635. Springer International Publishing, Cham (2014).  https://doi.org/10.1007/978-3-319-10428-7_45. http://dx.doi.org/10.1007/978-3-319-10428-7_45
  89. [89]
    Reynolds, J.C.: The discoveries of continuations. Lisp and Symbolic Computation. 6(3/4), 233–248. (1993)Google Scholar
  90. [90]
    Rezgui, M., Régin, J.C., Malapert, A.: Using Cloud Computing for Solving Constraint Programming Problems. In: First Workshop on Cloud Computing and Optimization, a conference workshop of CP 2014. Lyon, France (2014)Google Scholar
  91. [91]
    Rolf, C.C., Kuchcinski, K.: Parallel Consistency in Constraint Programming. PDPTA ’09: The 2009 International Conference on Parallel and Distributed Processing Techniques and Applications 2, 638–644 (2009)Google Scholar
  92. [92]
    Roussel, O., Lecoutre, C.: Xml representation of constraint networks format. http://www.cril.univ-artois.fr/CPAI08/XCSP2_1Competition.pdf (2008)
  93. [93]
    Schaus, P.: Oscar, Operational Research in Scala. https://bitbucket.org/oscarlib/oscar/wiki/Home
  94. [94]
    Schulte, C.: Parallel Search Made Simple. In Proceedings of TRICS: Techniques foR Implementing Constraint programming Systems, a post-conference workshop of CP 2000, pp. 41–57. Singapore (2000)Google Scholar
  95. [95]
    Schulte, C.: Gecode: Generic Constraint Development Environment. http://www.gecode.org/ (2006)
  96. [96]
    Van Hentenryck, P., Michel, L.: The objective-CP optimization system. In: C. Schulte (ed.) Principles and Practice of Constraint Programming - 19th International Conference, CP 2013, Uppsala, Sweden, September 16-20, 2013. Proceedings, Lecture Notes in Computer Science, vol. 8124, pp. 8–29. Springer (2013).  https://doi.org/10.1007/978-3-642-40627-0_5. http://dx.doi.org/10.1007/978-3-642-40627-0_5
  97. [97]
    Vidal, V., Bordeaux, L., Hamadi, Y.: Adaptive K-Parallel Best-First Search: A Simple but Efficient Algorithm for Multi-Core Domain-Independent Planning. In: Proceedings of the Third International Symposium on Combinatorial Search. AAAI Press (2010)Google Scholar
  98. [98]
    Wahbi, M., Ezzahir, R., Bessiere, C., Bouyakhf, E.H.: DisChoco 2: A Platform for Distributed Constraint Reasoning. In: Proceedings of the IJCAI’11 workshop on Distributed Constraint Reasoning, DCR’11, pp. 112–121. Barcelona, Catalonia, Spain (2011)Google Scholar
  99. [99]
    Wilkinson, B., Allen, M.: Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd edition, Prentice-Hall Inc. (2005)Google Scholar
  100. [100]
    Xie, F., Davenport, A.: Solving scheduling problems using parallel messagepassing based constraint programming. In: Proceedings of the Workshop on Constraint Satisfaction Techniques for Planning and Scheduling Problems COPLAS, pp. 53–58 (2009)Google Scholar
  101. [101]
    Xie, F., Davenport, A.J.: Massively parallel constraint programming for supercomputers: Challenges and initial results. In: Lodi et al. [57], pp. 334–338Google Scholar
  102. [102]
    Yokoo, M., Ishida, T., Kuwabara, K.: Distributed Constraint Satisfaction for DAI Problems. In: Proceedings of the 1990 Distributed AIWorkshop. Bandara, TX (1990)Google Scholar
  103. [103]
    Zoeteweij, P., Arbab, F.: A component-based parallel constraint solver. In: De Nicola et al. [22], pp. 307–322Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.CNRS, I3SUniversité Côte d’AzurCôte d’AzurFrance

Personalised recommendations