Proteus: A Hierarchical Portfolio of Solvers and Transformations

  • Barry Hurley
  • Lars Kotthoff
  • Yuri Malitsky
  • Barry O’Sullivan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8451)


In recent years, portfolio approaches to solving SAT problems and CSPs have become increasingly common. There are also a number of different encodings for representing CSPs as SAT instances. In this paper, we leverage advances in both SAT and CSP solving to present a novel hierarchical portfolio-based approach to CSP solving, which we call Proteus, that does not rely purely on CSP solvers. Instead, it may decide that it is best to encode a CSP problem instance into SAT, selecting an appropriate encoding and a corresponding SAT solver. Our experimental evaluation used an instance of Proteus that involved four CSP solvers, three SAT encodings, and six SAT solvers, evaluated on the most challenging problem instances from the CSP solver competitions, involving global and intensional constraints. We show that significant performance improvements can be achieved by Proteus obtained by exploiting alternative view-points and solvers for combinatorial problem-solving.


Constraint Satisfaction Problem Constraint Tightness Direct Encode Portfolio Approach Algorithm Portfolio 
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.
    CSP Solver Competition Benchmarks (2009),
  2. 2.
    Ansótegui, C., Manyà, F.: Mapping Problems with Finite-Domain Variables to Problems with Boolean Variables. In: H. Hoos, H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 1–15. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Audemard, G., Simon, L.: Glucose 2.3 in the SAT 2013 Competition. In: Proceedings of SAT Competition 2013, p. 42 (2013)Google Scholar
  4. 4.
    Biere, A.: Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013. In: Proceedings of SAT Competition 2013 (2013)Google Scholar
  5. 5.
    Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press (February 2009) Google Scholar
  6. 6.
    Een, N., Sörensson, N.: Minisat 2.2 (2013),
  7. 7.
    Gebser, M., Kaufmann, B., Neumann, A., Schaub, T.: Clasp: A conflict-driven answer set solver. In: Baral, C., Brewka, G., Schlipf, J. (eds.) LPNMR 2007. LNCS (LNAI), vol. 4483, pp. 260–265. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Gecode Team: Gecode: Generic Constraint Development Environment (2006),
  9. 9.
    Gent, I.P.: Arc Consistency in SAT. In: Proceedings of the 15th European Conference on Artificial Intelligence — ECAI 2002, pp. 121–125 (2002)Google Scholar
  10. 10.
    Gent, I.P., Kotthoff, L., Miguel, I., Nightingale, P.: Machine learning for constraint solver design – a case study for the alldifferent constraint. In: 3rd Workshop on Techniques for Implementing Constraint Programming Systems (TRICS), pp. 13–25 (2010)Google Scholar
  11. 11.
    Gomes, C.P., Selman, B.: Algorithm portfolios. Artificial Intelligence 126(1-2), 43–62 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    Haim, S., Walsh, T.: Restart strategy selection using machine learning techniques. In: Kullmann, O. (ed.) SAT 2009. LNCS, vol. 5584, pp. 312–325. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., Witten, I.H.: The WEKA data mining software: An update. SIGKDD Explor. Newsl. 11(1), 10–18 (2009)CrossRefGoogle Scholar
  14. 14.
    Hebrard, E.: Mistral, A Constraint Satisfaction Library. In: Proceedings of the Third International CSP Solver Competition (2008)Google Scholar
  15. 15.
    Hebrard, E., O’Mahony, E., O’Sullivan, B.: Constraint Programming and Combinatorial Optimisation in Numberjack. In: Lodi, A., Milano, M., Toth, P. (eds.) CPAIOR 2010. LNCS, vol. 6140, pp. 181–185. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  16. 16.
    Huberman, B.A., Lukose, R.M., Hogg, T.: An economics approach to hard computational problems. Science 275(5296), 51–54 (1997)CrossRefGoogle Scholar
  17. 17.
    Kadioglu, S., Malitsky, Y., Sellmann, M., Tierney, K.: ISAC – Instance-Specific Algorithm Configuration. In: Coelho, H., Studer, R., Wooldridge, M. (eds.) ECAI. Frontiers in Artificial Intelligence and Applications, vol. 215, pp. 751–756. IOS Press (2010)Google Scholar
  18. 18.
    Kasif, S.: On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks. Artificial Intelligence 45(3), 275–286 (1990), CrossRefzbMATHMathSciNetGoogle Scholar
  19. 19.
    Kotthoff, L.: LLAMA: leveraging learning to automatically manage algorithms. Tech. Rep. arXiv:1306.1031, arXiv (June 2013),
  20. 20.
    Kotthoff, L.: Algorithm Selection for Combinatorial Search Problems: A Survey. AI Magazine (to appear, 2014)Google Scholar
  21. 21.
    Le Berre, D., Lynce, I.: CSP2SAT4J: A Simple CSP to SAT Translator. In: Proceedings of the Second International CSP Solver Competition (2008)Google Scholar
  22. 22.
    Lecoutre, C., Tabary, S.: Abscon 112, Toward more Robustness. In: Proceedings of the Third International CSP Solver Competition (2008)Google Scholar
  23. 23.
    Manthey, N.: The SAT Solver RISS3G at SC 2013. In: Proceedings of SAT Competition 2013, p. 72 (2013)Google Scholar
  24. 24.
    O’Mahony, E., Hebrard, E., Holland, A., Nugent, C., O’Sullivan, B.: Using Case-based Reasoning in an Algorithm Portfolio for Constraint Solving. In: Proceeding of the 19th Irish Conference on Artificial Intelligence and Cognitive Science (2008)Google Scholar
  25. 25.
    Rice, J.R.: The algorithm selection problem. Advances in Computers 15, 65–118 (1976)CrossRefGoogle Scholar
  26. 26.
    Rossi, F., van Beek, P., Walsh, T.: Handbook of Constraint Programming. Foundations of Artificial Intelligence. Elsevier, New York (2006)zbMATHGoogle Scholar
  27. 27.
    Roussel, O., Lecoutre, C.: XML Representation of Constraint Networks: Format XCSP 2.1. CoRR abs/0902.2362 (2009)Google Scholar
  28. 28.
    Soos, M.: Cryptominisat 2.9.0 (2011)Google Scholar
  29. 29.
    Tamura, N., Tanjo, T., Banbara, M.: System Description of a SAT-based CSP Solver Sugar. In: Proceedings of the Third International CSP Solver Competition, pp. 71–75 (2009)Google Scholar
  30. 30.
    Tanjo, T., Tamura, N., Banbara, M.: Azucar: A SAT-Based CSP Solver Using Compact Order Encoding — (Tool Presentation). In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 456–462. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  31. 31.
    choco team: choco: An Open Source Java Constraint Programming Library (2008)Google Scholar
  32. 32.
    Walsh, T.: SAT v CSP. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894, pp. 441–456. Springer, Heidelberg (2000)Google Scholar
  33. 33.
    Xu, L., Hoos, H.H., Leyton-Brown, K.: Hierarchical hardness models for SAT. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 696–711. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  34. 34.
    Xu, L., Hutter, F., Hoos, H.H., Leyton-Brown, K.: SATzilla: Portfolio-based Algorithm Selection for SAT. Journal of Artificial Intelligence Research pp. 565–606 (2008)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Barry Hurley
    • 1
  • Lars Kotthoff
    • 1
  • Yuri Malitsky
    • 1
  • Barry O’Sullivan
    • 1
  1. 1.Insight Centre for Data Analytics, Department of Computer ScienceUniversity College CorkIreland

Personalised recommendations