Parallel Combinatorial Optimization with Decision Diagrams

  • David Bergman
  • Andre A. Cire
  • Ashish Sabharwal
  • Horst Samulowitz
  • Vijay Saraswat
  • Willem-Jan van Hoeve
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8451)


We propose a new approach for parallelizing search for combinatorial optimization that is based on a recursive application of approximate Decision Diagrams. This generic scheme can, in principle, be applied to any combinatorial optimization problem for which a decision diagram representation is available. We consider the maximum independent set problem as a specific case study, and show how a recently proposed sequential branch-and-bound scheme based on approximate decision diagrams can be parallelized efficiently using the X10 parallel programming and execution framework. Experimental results using our parallel solver, DDX10, running on up to 256 compute cores spread across a cluster of machines indicate that parallel decision diagrams scale effectively and consistently. Moreover, on graphs of relatively high density, parallel decision diagrams often outperform state-of-the-art parallel integer programming when both use a single 32-core machine.


Mixed Integer Programming Constraint Programming Binary Decision Diagram Parallelization Scheme Mixed Integer Programming Formulation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akers, S.B.: Binary decision diagrams. IEEE Transactions on Computers 27, 509–516 (1978)CrossRefzbMATHGoogle Scholar
  2. 2.
    Andersen, H.R., Hadzic, T., Hooker, J.N., Tiedemann, P.: A Constraint Store Based on Multivalued Decision Diagrams. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 118–132. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Balasundaram, B., Butenko, S., Hicks, I.V.: Clique relaxations in social network analysis: The maximum k-plex problem. Operations Research 59(1), 133–142 (2011)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Behle, M.: Binary Decision Diagrams and Integer Programming. PhD thesis, Max Planck Institute for Computer Science (2007)Google Scholar
  5. 5.
    Bergman, D.: New Techniques for Discrete Optimization. PhD thesis, Tepper School of Business, Carnegie Mellon University (2013)Google Scholar
  6. 6.
    Bergman, D., Cire, A.A., van Hoeve, W.-J.: MDD Propagation for Sequence Constraints. JAIR (to appear)Google Scholar
  7. 7.
    Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.N.: Discrete optimization with decision diagrams (2013) (under review)Google Scholar
  8. 8.
    Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.N.: Optimization bounds from binary decision diagrams. INFORMS Journal on Computing (to appear)Google Scholar
  9. 9.
    Bergman, D., Cire, A.A., van Hoeve, W.-J., Yunes, T.: BDD-based heuristics for binary optimization. Journal of Heuristics (to appear)Google Scholar
  10. 10.
    Bergman, D., van Hoeve, W.-J., Hooker, J.N.: Manipulating MDD relaxations for combinatorial optimization. In: Achterberg, T., Beck, J.C. (eds.) CPAIOR 2011. LNCS, vol. 6697, pp. 20–35. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Bloom, B., Grove, D., Herta, B., Sabharwal, A., Samulowitz, H., Saraswat, V.: SatX10: A scalable plug & play parallel SAT framework. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 463–468. Springer, Heidelberg (2012)Google Scholar
  12. 12.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35, 677–691 (1986)CrossRefzbMATHGoogle Scholar
  13. 13.
    Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. In: OOPSLA 2005, San Diego, CA, USA, pp. 519–538 (2005)Google Scholar
  14. 14.
    Chu, G., Schulte, C., Stuckey, P.J.: Confidence-Based Work Stealing in Parallel Constraint Programming. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 226–241. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Cire, A.A., van Hoeve, W.-J.: Multivalued decision diagrams for sequencing problems. Operations Research 61(6), 1411–1428 (2013)CrossRefGoogle Scholar
  16. 16.
    Eblen, J.D., Phillips, C.A., Rogers, G.L., Langston, M.A.: The maximum clique enumeration problem: Algorithms, applications and implementations. In: Chen, J., Wang, J., Zelikovsky, A. (eds.) ISBRA 2011. LNCS, vol. 6674, pp. 306–319. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Edachery, J., Sen, A., Brandenburg, F.J.: Graph clustering using distance-k cliques. In: Kratochvíl, J. (ed.) GD 1999. LNCS, vol. 1731, pp. 98–106. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  18. 18.
    Gu, Z.: Gurobi Optimization - Gurobi Compute Server, Distributed Tuning Tool and Distributed Concurrent MIP Solver. In: INFORMS Annual Meeting (2013),
  19. 19.
    Hoda, S., van Hoeve, W.-J., Hooker, J.N.: A systematic approach to MDD-based constraint programming. In: Cohen, D. (ed.) CP 2010. LNCS, vol. 6308, pp. 266–280. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  20. 20.
    Järvisalo, M., Le Berre, D., Roussel, O., Simon, L.: The international SAT solver competitions. Artificial Intelligence Magazine (AI Magazine) 1(33), 89–94 (2012)Google Scholar
  21. 21.
    Kumar, S., Mamidala, A.R., Faraj, D., Smith, B., Blocksome, M., Cernohous, B., Miller, D., Parker, J., Ratterman, J., Heidelberger, P., Chen, D., Steinmacher-Burrow, B.: PAMI: A parallel active message interface for the Blue Gene/Q supercomputer. In: IPDPS-2012: 26th IEEE International Parallel & Distributed Processing Symposium, pp. 763–773 (2012)Google Scholar
  22. 22.
    Lee, C.Y.: Representation of switching circuits by binary-decision programs. Bell Systems Technical Journal 38, 985–999 (1959)CrossRefGoogle Scholar
  23. 23.
    Moisan, T., Gaudreault, J., Quimper, C.-G.: Parallel Discrepancy-Based Search. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 30–46. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  24. 24.
    Perron, L.: Search Procedures and Parallelism in Constraint Programming. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 346–361. Springer, Heidelberg (1999)Google Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    Saraswat, V., Bloom, B., Peshansky, I., Tardieu, O., Grove, D.: Report on the experimental language, X10. Technical report, IBM Research (2011)Google Scholar
  27. 27.
    Saraswat, V.A., Kambadur, P., Kodali, S., Grove, D., Krishnamoorthy, S.: Lifeline-based global load balancing. In: Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP 2011, pp. 201–212. ACM, New York (2011), ISBN 978-1-4503-0119-0Google Scholar
  28. 28.
    X10. X10 programming language web site, (January 2010)

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • David Bergman
    • 1
  • Andre A. Cire
    • 2
  • Ashish Sabharwal
    • 3
  • Horst Samulowitz
    • 3
  • Vijay Saraswat
    • 3
  • Willem-Jan van Hoeve
    • 2
  1. 1.School of BusinessUniversity of ConnecticutStamfordUSA
  2. 2.Tepper School of BusinessCarnegie Mellon UniversityPittsburghUSA
  3. 3.IBM Watson Research CenterYorktown HeightsUSA

Personalised recommendations