Hydra: Automatically Configuring Algorithms for Portfolio-Based Selection

The AI community has achieved great success in designing high-performance algorithms for hard combinatorial problems, given both considerable domain knowledge and considerable effort by human experts. Two influential methods aim to automate this process: automated algorithm configuration and portfolio-based algorithm selection. The former has the advantage of requiring virtually no domain knowledge, but produces only a single solver; the latter exploits per-instance variation, but requires a set of relatively uncorrelated candidate solvers. Here, we introduce Hydra, a novel technique for combining these two methods, thereby realizing the benefits of both. Hydra automatically builds a set of solvers with complementary strengths by iteratively configuring new algorithms. It is primarily intended for use in problem domains for which an adequate set of candidate solvers does not already exist. Nevertheless, we tested Hydra on a widely studied domain, stochastic local search algorithms for SAT, in order to characterize its performance against a well-established and highly competitive baseline. We found that Hydra consistently achieved major improvements over the best existing individual algorithms, and always at least roughly matched—and indeed often exceeded— the performance of the best portfolios of these algorithms.

[1]  R. Geoff Dromey,et al.  An algorithm for the selection problem , 1986, Softw. Pract. Exp..

[2]  Gerald DeJong,et al.  COMPOSER: A Probabilistic Solution to the Utility Problem in Speed-Up Learning , 1992, AAAI.

[3]  Steven Minton An Analytic Learning System for Specializing Heuristics , 1993, IJCAI.

[4]  Tad Hogg,et al.  An Economics Approach to Hard Computational Problems , 1997, Science.

[5]  Bart Selman,et al.  Algorithm portfolios , 2001, Artif. Intell..

[6]  Alex S. Fukunaga,et al.  Automated discovery of composite SAT variable-selection heuristics , 2002, AAAI/IAAI.

[7]  Ivana Kruijff-Korbayová,et al.  A Portfolio Approach to Algorithm Selection , 2003, IJCAI.

[8]  Yoav Shoham,et al.  A portfolio approach to algorithm select , 2003, IJCAI 2003.

[9]  Yoav Shoham,et al.  Boosting as a Metaphor for Algorithm Design , 2003, CP.

[10]  Michela Milano,et al.  Learning Techniques for Automatic Algorithm Portfolio Selection , 2004, ECAI.

[11]  Yoav Shoham,et al.  Understanding Random SAT: Beyond the Clauses-to-Variables Ratio , 2004, CP.

[12]  J. Christopher Beck,et al.  APPLYING MACHINE LEARNING TO LOW‐KNOWLEDGE CONTROL OF OPTIMIZATION ALGORITHMS , 2005, Comput. Intell..

[13]  Jürgen Schmidhuber,et al.  Learning dynamic algorithm portfolios , 2006, Annals of Mathematics and Artificial Intelligence.

[14]  Alan J. Hu,et al.  Boosting Verification by Automatic Tuning of Decision Procedures , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[15]  Luca Di Gaspero,et al.  EasySyn++: A Tool for Automatic Synthesis of Stochastic Local Search Algorithms , 2007, SLS.

[16]  Stephen F. Smith,et al.  Combining Multiple Heuristics Online , 2007, AAAI.

[17]  Thomas Stützle,et al.  Improvement Strategies for the F-Race Algorithm: Sampling Design and Iterative Refinement , 2007, Hybrid Metaheuristics.

[18]  Kevin Leyton-Brown,et al.  SATzilla2009: an Automatic Algorithm Portfolio for SAT , 2008 .

[19]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..

[20]  Eoin O'Mahony,et al.  Using Case-based Reasoning in an Algorithm Portfolio for Constraint Solving ? , 2008 .

[21]  F. Hutter,et al.  ParamILS: An Automatic Algorithm Configuration Framework , 2009, J. Artif. Intell. Res..

[22]  Yoav Shoham,et al.  Empirical hardness models: Methodology and a case study on combinatorial auctions , 2009, JACM.

[23]  Kevin Leyton-Brown,et al.  SATenstein: Automatically Building Local Search SAT Solvers from Components , 2009, IJCAI.

[24]  Carlos Ansótegui,et al.  A Gender-Based Genetic Algorithm for the Automatic Configuration of Algorithms , 2009, CP.

[25]  Yuri Malitsky,et al.  Stochastic Offline Programming , 2009, 2009 21st IEEE International Conference on Tools with Artificial Intelligence.

[26]  Pascal Van Hentenryck,et al.  Aeon: Synthesizing Scheduling Algorithms from High-Level Models , 2009 .