AutoFolio: An Automatically Configured Algorithm Selector

Algorithm selection (AS) techniques - which involve choosing from a set of algorithms the one expected to solve a given problem instance most efficiently - have substantially improved the state of the art in solving many prominent AI problems, such as SAT, CSP, ASP, MAXSAT and QBF. Although several AS procedures have been introduced, not too surprisingly, none of them dominates all others across all AS scenarios. Furthermore, these procedures have parameters whose optimal values vary across AS scenarios. This holds specifically for the machine learning techniques that form the core of current AS procedures, and for their hyperparameters. Therefore, to successfully apply AS to new problems, algorithms and benchmark sets, two questions need to be answered: (i) how to select an AS approach and (ii) how to set its parameters effectively. We address both of these problems simultaneously by using automated algorithm configuration. Specifically, we demonstrate that we can automatically configure CLASPFOLIO 2, which implements a large variety of different AS approaches and their respective parameters in a single, highly-parameterized algorithm framework. Our approach, dubbed AUTOFOLIO, allows researchers and practitioners across a broad range of applications to exploit the combined power of many different AS methods. We demonstrate AUTOFOLIO can significantly improve the performance of CLASPFOLIO 2 on 8 out of the 13 scenarios from the Algorithm Selection Library, leads to new state-of-the-art algorithm selectors for 7 of these scenarios, and matches state-of-the-art performance (statistically) on all other scenarios. Compared to the best single algorithm for each AS scenario, AUTOFOLIO achieves average speedup factors between 1:3 and 15:4.

[1]  Yoshua Bengio,et al.  Algorithms for Hyper-Parameter Optimization , 2011, NIPS.

[2]  Kevin Leyton-Brown,et al.  Algorithm runtime prediction: Methods & evaluation , 2012, Artif. Intell..

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

[4]  Yuri Malitsky,et al.  Parallel SAT Solver Selection and Scheduling , 2012, CP.

[5]  Kevin Leyton-Brown,et al.  Evaluating Component Solver Contributions to Portfolio-Based Algorithm Selectors , 2012, SAT.

[6]  Barry O'Sullivan,et al.  Proteus: A Hierarchical Portfolio of Solvers and Transformations , 2013, CPAIOR.

[7]  Marius Thomas Lindauer,et al.  A Portfolio Solver for Answer Set Programming: Preliminary Report , 2011, LPNMR.

[8]  F. Hutter,et al.  Hydra-MIP : Automated Algorithm Configuration and Selection for Mixed Integer Programming , 2011 .

[9]  F. Post,et al.  An Economics Approach to Hard Computational Problems , 1997 .

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

[11]  Lars Kotthoff,et al.  Learning When to Use Lazy Learning in Constraint Solving , 2010, ECAI.

[12]  Olivier Roussel,et al.  Controlling a Solver Execution with the runsolver Tool , 2011, J. Satisf. Boolean Model. Comput..

[13]  Russell Bent,et al.  HVAC-Aware Occupancy Scheduling , 2015, AAAI Workshop: AI for Cities.

[14]  Kevin Leyton-Brown,et al.  Sequential Model-Based Optimization for General Algorithm Configuration , 2011, LION.

[15]  Yuri Malitsky,et al.  Boosting Sequential Solver Portfolios: Knowledge Sharing and Accuracy Prediction , 2013, LION.

[16]  Kate Smith-Miles,et al.  Cross-disciplinary perspectives on meta-learning for algorithm selection , 2009, CSUR.

[17]  Bernd Bischl,et al.  ASlib: A benchmark library for algorithm selection , 2015, Artif. Intell..

[18]  Tuomas Sandholm,et al.  FutureMatch: Combining Human Value Judgments and Machine Learning to Match in Dynamic Environments , 2015, AAAI.

[19]  Marius Thomas Lindauer,et al.  aspeed: Solver scheduling via answer set programming 1 , 2014, Theory and Practice of Logic Programming.

[20]  Mikolás Janota,et al.  Solving QBF with Counterexample Guided Refinement , 2012, SAT.

[21]  Kevin Leyton-Brown,et al.  Identifying Key Algorithm Parameters and Instance Features Using Forward Selection , 2013, LION.

[22]  Holger H. Hoos,et al.  A Modular Multiphase Heuristic Solver for Post Enrolment Course Timetabling , 2008 .

[23]  Thomas Stützle,et al.  Automatic Configuration of Multi-Objective ACO Algorithms , 2010, ANTS Conference.

[24]  Luca Pulina,et al.  A multi-engine approach to answer-set programming* , 2013, Theory and Practice of Logic Programming.

[25]  Katharina Eggensperger,et al.  Towards an Empirical Foundation for Assessing Bayesian Optimization of Hyperparameters , 2013 .

[26]  Marius Thomas Lindauer,et al.  The Configurable SAT Solver Challenge (CSSC) , 2015, Artif. Intell..

[27]  Kevin Leyton-Brown,et al.  Hydra: Automatically Configuring Algorithms for Portfolio-Based Selection , 2010, AAAI.

[28]  Barry O'Sullivan,et al.  Evolving Instance Specific Algorithm Configuration , 2021, SOCS.

[29]  Susan L. Epstein,et al.  Learning Algorithm Portfolios for Parallel Execution , 2012, LION.

[30]  Michèle Sebag,et al.  Algorithm Selection as a Collaborative Filtering Problem , 2013 .

[31]  Ian H. Witten,et al.  The WEKA data mining software: an update , 2009, SKDD.

[32]  Alfonso Gerevini,et al.  Automatic Generation of Efficient Domain-Optimized Planners from Generic Parametrized Planners , 2013, SOCS.

[33]  Marius Thomas Lindauer,et al.  From Sequential Algorithm Selection to Parallel Portfolio Selection , 2015, LION.

[34]  Lars Kottho,et al.  Algorithm Selection for Combinatorial Search Problems: A survey , 2012 .

[35]  Kevin Leyton-Brown,et al.  Algorithm Runtime Prediction: Methods and Evaluation (Extended Abstract) , 2015, IJCAI.

[36]  Yuri Malitsky,et al.  Algorithm Selection and Scheduling , 2011, CP.

[37]  Thomas Stützle,et al.  Grammar-based generation of stochastic local search heuristics through automatic algorithm configuration tools , 2014, Comput. Oper. Res..

[38]  Barry O'Sullivan,et al.  The ICON Challenge on Algorithm Selection , 2015, AI Mag..

[39]  Yuri Malitsky,et al.  An Algorithm Selection Benchmark of the Container Pre-marshalling Problem , 2015, LION.

[40]  Holger H. Hoos,et al.  Analysing differences between algorithm configurations through ablation , 2015, Journal of Heuristics.

[41]  Leslie Pérez Cáceres,et al.  The irace package: Iterated racing for automatic algorithm configuration , 2016 .

[42]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[43]  Frank Hutter,et al.  Initializing Bayesian Hyperparameter Optimization via Meta-Learning , 2015, AAAI.

[44]  Armin Biere Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013 , 2013 .

[45]  Yuri Malitsky,et al.  Instance-specific algorithm configuration , 2014, Constraints.

[46]  Kevin Leyton-Brown,et al.  Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms , 2012, KDD.

[47]  Marius Thomas Lindauer,et al.  Robust Benchmark Set Selection for Boolean Constraint Solvers , 2013, LION.

[48]  Barry O'Sullivan,et al.  SNNAP: Solver-Based Nearest Neighbor for Algorithm Portfolios , 2013, ECML/PKDD.

[49]  Djamal Habet,et al.  On the Extension of Learning for Max-SAT , 2014, STAIRS.

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

[51]  Ilya M. Sobol,et al.  Sensitivity Estimates for Nonlinear Mathematical Models , 1993 .

[52]  Martin Gebser,et al.  Conflict-driven answer set solving: From theory to practice , 2012, Artif. Intell..

[53]  Luca Pulina,et al.  A self-adaptive multi-engine solver for quantified Boolean formulas , 2009, Constraints.

[54]  Yuri Malitsky,et al.  Instance-Specic Algorithm Conguration , 2012 .

[55]  Marius Thomas Lindauer,et al.  Potassco: The Potsdam Answer Set Solving Collection , 2011, AI Commun..

[56]  Jasper Snoek,et al.  Practical Bayesian Optimization of Machine Learning Algorithms , 2012, NIPS.

[57]  Torsten Schaub,et al.  AutoFolio: Algorithm Configuration for Algorithm Selection , 2015, AAAI Workshop: Algorithm Configuration.

[58]  Kevin Leyton-Brown,et al.  Automated Configuration of Mixed Integer Programming Solvers , 2010, CPAIOR.

[59]  Kevin Leyton-Brown,et al.  An Efficient Approach for Assessing Hyperparameter Importance , 2014, ICML.

[60]  Lars Kotthoff,et al.  Algorithm Selection for Combinatorial Search Problems: A Survey , 2012, AI Mag..

[61]  Mutsunori Banbara,et al.  Compiling finite linear CSP into SAT , 2006, Constraints.

[62]  Yuri Malitsky,et al.  MaxSAT by Improved Instance-Specific Algorithm Configuration , 2014, AAAI.

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

[64]  Lars Kotthoff,et al.  An evaluation of machine learning in algorithm selection for search problems , 2012, AI Commun..

[65]  Marius Thomas Lindauer,et al.  claspfolio 2: Advances in Algorithm Selection for Answer Set Programming , 2014, Theory and Practice of Logic Programming.

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

[67]  John R. Rice,et al.  The Algorithm Selection Problem , 1976, Adv. Comput..

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

[69]  Yuri Malitsky,et al.  ISAC - Instance-Specific Algorithm Configuration , 2010, ECAI.

[70]  Maurizio Gabbrielli,et al.  SUNNY: a Lazy Portfolio Approach for Constraint Solving , 2014, Theory Pract. Log. Program..

[71]  Lars Kotthoff,et al.  LLAMA: Leveraging Learning to Automatically Manage Algorithms , 2013, ArXiv.

[72]  Yuri Malitsky,et al.  Algorithm Portfolios Based on Cost-Sensitive Hierarchical Clustering , 2013, IJCAI.