From Sequential Algorithm Selection to Parallel Portfolio Selection

  • M. LindauerEmail author
  • H. Hoos
  • F. Hutter
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8994)


In view of the increasing importance of hardware parallelism, a natural extension of per-instance algorithm selection is to select a set of algorithms to be run in parallel on a given problem instance, based on features of that instance. Here, we explore how existing algorithm selection techniques can be effectively parallelized. To this end, we leverage the machine learning models used by existing sequential algorithm selectors, such as 3S, ISAC, SATzilla and ME-ASP, and modify their selection procedures to produce a ranking of the given candidate algorithms; we then select the top n algorithms under this ranking to be run in parallel on n processing units. Furthermore, we adapt the pre-solving schedules obtained by aspeed to be effective in a parallel setting with different time budgets for each processing unit. Our empirical results demonstrate that, using 4 processing units, the best of our methods achieves a 12-fold average speedup over the best single solver on a broad set of challenging scenarios from the algorithm selection library.


Algorithm selection Parallel portfolios Constraint solving Answer Set Programming 


  1. 1.
    Ansótegui, C., Malitsky, Y., Sellmann, M.: Maxsat by improved instance-specific algorithm configuration. In: Proceedings of AAAI 2014, pp. 2594–2600 (2014)Google Scholar
  2. 2.
    Ansótegui, C., Sellmann, M., Tierney, K.: A gender-based genetic algorithm for the automatic configuration of algorithms. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 142–157. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  3. 3.
    Arbelaez, A., Codognet, P.: From sequential to parallel local search for SAT. In: Middendorf, M., Blum, C. (eds.) EvoCOP 2013. LNCS, vol. 7832, pp. 157–168. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  4. 4.
    Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press, New York (2003) CrossRefzbMATHGoogle Scholar
  5. 5.
    Gagliolo, M., Schmidhuber, J.: Towards distributed algorithm portfolios. In: Corchado, J.M., Rodríguez, S., Llinas, J., Molina, J.M. (eds.) DCAI 2008. Advances in Soft Computing, vol. 50, pp. 634–643. Springer, Heidelberg (2008) Google Scholar
  6. 6.
    Gebser, M., Kaminski, R., Kaufmann, B., Ostrowski, M., Schaub, T., Schneider, M.: Potassco: the Potsdam answer set solving collection. AI Commun. 24(2), 107–124 (2011)zbMATHMathSciNetGoogle Scholar
  7. 7.
    Hamadi, Y., Wintersteiger, C.: Seven challenges in parallel SAT solving. AI Mag. 34(2), 99–106 (2013)Google Scholar
  8. 8.
    Hoos, H., Kaminski, R., Lindauer, M., Schaub, T.: aspeed: solver scheduling via answer set programming. TPLP 15, 117–142 (2015)Google Scholar
  9. 9.
    Hoos, H., Lindauer, M., Schaub, T.: claspfolio 2: advances in algorithm selection for answer set programming. TPLP 14, 569–585 (2014)zbMATHGoogle Scholar
  10. 10.
    Huberman, B., Lukose, R., Hogg, T.: An economic approach to hard computational problems. Science 275, 51–54 (1997)CrossRefGoogle Scholar
  11. 11.
    Hurley, B., Kotthoff, L., Malitsky, Y., O’Sullivan, B.: Proteus: a hierarchical portfolio of solvers and transformations. In: Simonis, H. (ed.) CPAIOR 2014. LNCS, vol. 8451, pp. 301–317. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  12. 12.
    Hutter, F., Hoos, H., Leyton-Brown, K., Stützle, T.: ParamILS: an automatic algorithm configuration framework. JAIR 36, 267–306 (2009)zbMATHGoogle Scholar
  13. 13.
    Hutter, F., Xu, L., Hoos, H., Leyton-Brown, K.: Algorithm runtime prediction: methods and evaluation. J. Artif. Intell. 206, 79–111 (2014)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Kadioglu, S., Malitsky, Y., Sabharwal, A., Samulowitz, H., Sellmann, M.: Algorithm selection and scheduling. In: Lee, J. (ed.) CP 2011. LNCS, vol. 6876, pp. 454–469. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  15. 15.
    Kadioglu, S., Malitsky, Y., Sellmann, M., Tierney, K.: ISAC - instance-specific algorithm configuration. In: Proceedings of ECAI 2010, pp. 751–756 (2010)Google Scholar
  16. 16.
    Kotthoff, L.: Algorithm selection for combinatorial search problems: a survey. AI Mag. 35(3), 48–60 (2014)Google Scholar
  17. 17.
    Kotthoff, L.: Ranking algorithms by performance. In: Pardalos, P.M., Resende, M.G.C., Vogiatzis, C., Walteros, J.L. (eds.) LION 2014. LNCS, vol. 8426, pp. 16–20. Springer, Switzerland (2014)CrossRefGoogle Scholar
  18. 18.
    Kotthoff, L., Gent, I., Miguel, I.: An evaluation of machine learning in algorithm selection for search problems. AI Commun. 25(3), 257–270 (2012)MathSciNetGoogle Scholar
  19. 19.
    Lindauer, M., Hoos, H., Hutter, F., Schaub, T.: Autofolio: algorithm configuration for algorithm selection. In: Proceedings of Workshops at AAAI 2015 (2015)Google Scholar
  20. 20.
    Malitsky, Y., Sabharwal, A., Samulowitz, H., Sellmann, M.: Parallel SAT solver selection and scheduling. In: Milano, M. (ed.) Principles and Practice of Constraint Programming. LNCS, pp. 512–526. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  21. 21.
    Malitsky, Y., Sabharwal, A., Samulowitz, H., Sellmann, M.: Algorithm portfolios based on cost-sensitive hierarchical clustering. In: Rossi, F. (ed.) Proceedings of IJCAI 2013, pp. 608–614 (2013)Google Scholar
  22. 22.
    Malitsky, Y., Sabharwal, A., Samulowitz, H., Sellmann, M.: Parallel lingeling, ccasat, and csch-based portfolio. In: Proceedings of SAT Competition 2013, pp. 26–27 (2013)Google Scholar
  23. 23.
    Maratea, M., Pulina, L., Ricca, F.: A multi-engine approach to answer-set programming. TPLP 14, 841–868 (2014)MathSciNetGoogle 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: Proceedings of AICS 2008 (2008)Google Scholar
  25. 25.
    Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: machine learning in Python. JMLR 12, 2825–2830 (2011)zbMATHGoogle Scholar
  26. 26.
    Pulina, L., Tacchella, A.: A self-adaptive multi-engine solver for quantified boolean formulas. Constraints 14(1), 80–116 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  27. 27.
    Rice, J.: The algorithm selection problem. Adv. Comput. 15, 65–118 (1976)Google Scholar
  28. 28.
    Streeter, M., Golovin, D., Smith, S.: Combining multiple heuristics online. In: Proceedings of AAAI 2007, pp. 1197–1203 (2007)Google Scholar
  29. 29.
    Tierney, K.: An algorithm selection benchmark of the container pre-marshalling problem. Tech. Rep. DS&OR Working Paper 1402, DS&OR Lab, University of Paderborn (2014)Google Scholar
  30. 30.
    Xu, L., Hoos, H., Leyton-Brown, K.: Hydra: automatically configuring algorithms for portfolio-based selection. In: Proceedings of AAAI 2010, pp. 210–216 (2010)Google Scholar
  31. 31.
    Xu, L., Hutter, F., Hoos, H., Leyton-Brown, K.: SATzilla: portfolio-based algorithm selection for SAT. JAIR 32, 565–606 (2008)zbMATHGoogle Scholar
  32. 32.
    Xu, L., Hutter, F., Hoos, H., Leyton-Brown, K.: Evaluating component solver contributions to portfolio-based algorithm selectors. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 228–241. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  33. 33.
    Xu, L., Hutter, F., Shen, J., Hoos, H., Leyton-Brown, K.: SATzilla2012: improved algorithm selection based on cost-sensitive classification models. In: Proceedings of SAT Challenge 2012, pp. 57–58 (2012)Google Scholar
  34. 34.
    Yun, X., Epstein, S.L.: Learning algorithm portfolios for parallel execution. In: Hamadi, Y., Schoenauer, M. (eds.) LION 2012. LNCS, vol. 7219, pp. 323–338. Springer, Heidelberg (2012) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.University of FreiburgFreiburg Im BreisgauGermany
  2. 2.University of British ColumbiaVancouverCanada

Personalised recommendations