Skip to main content

Parallelizing Constraint Programming with Learning

  • Conference paper
  • First Online:
Integration of AI and OR Techniques in Constraint Programming (CPAIOR 2016)

Abstract

Parallel Constraint Programming (CP) solvers typically split the search space in disjoint subspaces, and run solvers independently on these. This may induce significant overhead when solving optimization problems. Parallel Boolean Satisfiability (SAT) solvers typically run a portfolio of solvers, all solving the same problem but sharing some limited learnt clause information. In this paper we consider parallelizing a lazy clause generation (LCG) constraint programming solver, which is a constraint programming solver with learning. Since it is both a kind of CP solver and a kind of SAT solver it is not clear which approach to parallelization is likely to be most effective. We give examples of very different kinds of optimization problems we wish to parallelize and show that a hybrid approach to parallelization can provide a robust and high performing parallel LCG solver.

T. Ehlers—Supported by a fellowship within the FITweltweit program of the German Academic Exchange Service (DAAD).

P.J. Stuckey—NICTA is funded by the Australian Government as represented by the Department of Broadband, Communications and the Digital Economy and the Australian Research Council through the ICT Centre of Excellence program.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/geoffchu/chuffed.

  2. 2.

    http://www.minizinc.org/challenge2013/probs/cargo/challenge04_1s_626.dzn.

  3. 3.

    http://www.minizinc.org/challenge2014/probs/mqueens/n12.dzn.

  4. 4.

    The exact set of instances is available at people.unimelb.edu.au/pstuckey/pchuffed.

References

  1. Amadini, R., Gabbrielli, M., Mauro, J.: A multicore tool for constraint solving. In: Yang, Q., Wooldridge, M. (eds.) Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence, IJCAI 2015, Buenos Aires, Argentina, 25–31 July 2015, pp. 232–238. AAAI Press (2015)

    Google Scholar 

  2. Amadini, R., Stuckey, P.J.: Sequential time splitting and bounds communication for a portfolio of optimization solvers. In: O’Sullivan [21], pp. 108–124

    Google Scholar 

  3. Bordeaux, L., Hamadi, Y., Samulowitz, H.: Experiments with massively parallel constraint solving. In: Boutilier [4], pp. 443–448

    Google Scholar 

  4. Boutilier, C. (ed.): IJCAI 2009, Proceedings of the 21st International Joint Conference on Artificial Intelligence, Pasadena, California, USA, 11–17 July 2009 (2009)

    Google Scholar 

  5. Chu, G.: Improving Combinatorial Optimization. Ph.D. thesis, University of Melbourne (2011)

    Google Scholar 

  6. Chu, G., Schulte, C., Stuckey, P.J.: Confidence-based work stealing in parallel constraint programming. In: Gent [10], pp. 226–241

    Google Scholar 

  7. Ehlers, T., Nowotka, D., Sieweck, P.: Communication in massively-parallel SAT solving. In: 26th IEEE International Conference on Tools with Artificial Intelligence, ICTAI 2014, Limassol, Cyprus, 10–12 November 2014, pp. 709–716. IEEE Computer Society (2014)

    Google Scholar 

  8. Feydy, T., Stuckey, P.J.: Lazy clause generation reengineered. In: Gent [10], pp. 352–366

    Google Scholar 

  9. de la Banda, M.G., Stuckey, P.J., Hentenryck, P.V., Wallace, M.: The future of optimization technology. Constraints 19(2), 126–138 (2014)

    Article  MathSciNet  Google Scholar 

  10. Gent, I.P. (ed.): CP 2009. LNCS, vol. 5732. Springer, Heidelberg (2009)

    MATH  Google Scholar 

  11. Gent, I.P., Jefferson, C., Miguel, I., Moore, N., Nightingale, P., Prosser, P., Unsworth, C.: A preliminary review of literature on parallel constraint solving. In: Proceedings PMCS 2011 Workshop on Parallel Methods for Constraint Solving (2011)

    Google Scholar 

  12. Hamadi, Y., Jabbour, S., Sais, L.: Control-based clause sharing in parallel SAT solving. In: Boutilier [4], pp. 499–504

    Google Scholar 

  13. Katsirelos, G., Sabharwal, A., Samulowitz, H., Simon, L.: Resolution and parallelizability: barriers to the efficient parallelization of SAT solvers. In: desJardins, M., Littman, M.L. (ed.) Proceedings of the Twenty-Seventh AAAI Conference on Artificial Intelligence, 14–18 July 2013, Bellevue, Washington, USA. AAAI Press (2013)

    Google Scholar 

  14. Lin, Y., Kumar, V.: Performance of and-parallel execution of logic programs on a shared-memory multiprocessor. In: FGCS, pp. 851–860 (1988)

    Google Scholar 

  15. Machado, R., Pedro, V., Abreu, S.: On the scalability of constraint programming on hierarchical multiprocessor systems. In: 42nd International Conference on Parallel Processing, ICPP 2013, Lyon, France, 1–4 October 2013, pp. 530–535. IEEE Computer Society (2013)

    Google Scholar 

  16. Martins, R., Manquinho, V., Lynce, I.: Parallel search for boolean optimization. In: RCRA International Workshop on Experimental Evaluation of Algorithms for Solving Problems with Combinatorial Explosion (2011)

    Google Scholar 

  17. Moisan, T., Quimper, C.-G., Gaudreault, J.: Parallel depth-bounded discrepancy search. In: Simonis, H. (ed.) CPAIOR 2014. LNCS, vol. 8451, pp. 377–393. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  18. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: Proceedings of the 38th Design Automation Conference, DAC 2001, Las Vegas, NV, USA, 18–22 June 2001, pp. 530–535. ACM (2001)

    Google Scholar 

  19. Oh, C.: Between SAT and UNSAT: the fundamental difference in CDCL SAT. In: Heule, M., Weaver, S. (eds.) SAT 2015. LNCS, vol. 9340, pp. 307–323. Springer, Heidelberg (2015). doi:10.1007/978-3-319-24318-4_23

    Chapter  Google Scholar 

  20. Ohrimenko, O., Stuckey, P., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  21. O’Sullivan, B. (ed.): CP 2014. LNCS, vol. 8656. Springer, Heidelberg (2014)

    MATH  Google Scholar 

  22. Rao, V.N., Kumar, V.: Superlinear speedup in parallel state-space search. In: Nori, K.V., Kumar, S. (eds.) FSTTCS 1988. LNCS, vol. 338, pp. 161–174. Springer, Heidelberg (1988)

    Chapter  Google Scholar 

  23. Régin, J.-C., Rezgui, M., Malapert, A.: Embarrassingly parallel search. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 596–610. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  24. Régin, J., Rezgui, M., Malapert, A.: Improvement of the embarrassingly parallel search for data centers. In: O’Sullivan [21], pp. 622–635

    Google Scholar 

  25. Schrijvers, T., Tack, G., Wuille, P., Samulowitz, H., Stuckey, P.: Search combinators. Constraints 18(2), 269–305 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  26. Schulte, C.: Parallel search made simple. Technical report TRA9/00, School of Computing, National University of Singapore, 55 Science Drive 2, Singapore 117599, September 2000, to appear

    Google Scholar 

  27. Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. Trans. Program. Lang. Syst. 31(1), 2:1–2:43 (2008)

    Google Scholar 

  28. Schutt, A., Feydy, T., Stuckey, P.J., Wallace, M.G.: Explaining the cumulative propagator. Constraints 16(3), 250–282 (2011)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

The authors would like to thank Graeme Gange for the fruitful discussions, and Prof. Dirk Nowotka for providing the computational resources for the experiments conducted in this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thorsten Ehlers .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Ehlers, T., Stuckey, P.J. (2016). Parallelizing Constraint Programming with Learning. In: Quimper, CG. (eds) Integration of AI and OR Techniques in Constraint Programming. CPAIOR 2016. Lecture Notes in Computer Science(), vol 9676. Springer, Cham. https://doi.org/10.1007/978-3-319-33954-2_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-33954-2_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-33953-5

  • Online ISBN: 978-3-319-33954-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics