Learning parallel portfolios of algorithms

  • Marek Petrik
  • Shlomo ZilbersteinEmail author


A wide range of combinatorial optimization algorithms have been developed for complex reasoning tasks. Frequently, no single algorithm outperforms all the others. This has raised interest in leveraging the performance of a collection of algorithms to improve performance. We show how to accomplish this using a Parallel Portfolio of Algorithms (PPA). A PPA is a collection of diverse algorithms for solving a single problem, all running concurrently on a single processor until a solution is produced. The performance of the portfolio may be controlled by assigning different shares of processor time to each algorithm. We present an effective method for finding a PPA in which the share of processor time allocated to each algorithm is fixed. Finding the optimal static schedule is shown to be an NP-complete problem for a general class of utility functions. We present bounds on the performance of the PPA over random instances and evaluate the performance empirically on a collection of 23 state-of-the-art SAT algorithms. The results show significant performance gains over the fastest individual algorithm in the collection.


Algorithm portfolios Resource bounded reasoning Combinatorial optimization 

Mathematics Subject Classifications (2000)

68T05 68T20 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arnt, A., Zilberstein, S., Allen, J: Dynamic composition of information retrieval techniques. J. Intell. Inf. Syst. 23(1), 67–97 (2004)zbMATHCrossRefGoogle Scholar
  2. 2.
    Bertsekas, D.P.: Nonlinear Programming. Athena Scientific, Belmont, MA (2003)Google Scholar
  3. 3.
    Dean, T.L.: Intractability and time-dependent planning. In: Proceedings of the 1986 Workshop on Reasoning about Actions and Plans, pp. 245–266. Morgan Kaufmann, San Francisco, CA (1986)Google Scholar
  4. 4.
    Devroye, L., Gyorfi, L., Lugosi, G.: A Probabilistic Theory of Pattern Recognition. Springer, New York (1996)zbMATHGoogle Scholar
  5. 5.
    Gomes, C., Selman, B.: Algorithm portolios. Artif. Intell. 126(1- 2), 43–62 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Horst, R., Tuy, H.: Global Optimization: Deterministic Approaches. Springer, Berlin Heidelberg New York (1996)zbMATHGoogle Scholar
  7. 7.
    Kautz, H., Selman, B.: Unifying SAT-based and graph-based planning. In: Proceedings of the 16th International Joint Conference on Artificial Intelligence, pp. 318–325 (1999)Google Scholar
  8. 8.
    Leyton-Brown, K., Nudelman, E., Andrew, G., McFadden, J., Shoham, Y.: Boosting as a metaphor for algorithm design. In: Proceedings of the Ninth International Conference on Principles and Practice of Constraint Programming, pp. 899–903 (2003)Google Scholar
  9. 9.
    Mitchell, T.M.: Machine Learning. McGraw-Hill, New York (1997)zbMATHGoogle Scholar
  10. 10.
    Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, Reading, MA (1994)zbMATHGoogle Scholar
  11. 11.
    Papadimitriou, C.H., Steiglitz, K.: Combinatorial Optimization, Algorithms and Complexity. Dover, New York (1998)zbMATHGoogle Scholar
  12. 12.
    Petrik, M.: Learning Parallel Portfolios of Algorithms. Master’s thesis, Comenius University, Bratislava, Slovakia (2005)Google Scholar
  13. 13.
    Simon, L.: The Sat-Ex Site. (2005)
  14. 14.
    Zilberstein, S.: Operational Rationality Through Compilation of Anytime Algorithms. Ph.D. Dissertation, University of California Berkley (1993)Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2007

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of MassachusettsAmherstUSA

Personalised recommendations