Pitfalls and Best Practices in Algorithm Configuration

Good parameter settings are crucial to achieve high performance in many areas of artificial intelligence (AI), such as propositional satisfiability solving, AI planning, scheduling, and machine learning (in particular deep learning). Automated algorithm configuration methods have recently received much attention in the AI community since they replace tedious, irreproducible and error-prone manual parameter tuning and can lead to new state-of-the-art performance. However, practical applications of algorithm configuration are prone to several (often subtle) pitfalls in the experimental design that can render the procedure ineffective. We identify several common issues and propose best practices for avoiding them. As one possibility for automatically handling as many of these as possible, we also propose a tool called GenericWrapper4AC.

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

[2]  Holger H. Hoos,et al.  Scaling and Probabilistic Smoothing: Efficient Dynamic Local Search for SAT , 2002, CP.

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

[4]  Mauro Birattari,et al.  The problem of tuning metaheuristics: as seen from the machine learning perspective , 2004 .

[5]  Kevin Leyton-Brown,et al.  Parallel Algorithm Configuration , 2012, LION.

[6]  Holger H. Hoos,et al.  UBCSAT: An Implementation and Experimentation Environment for SLS Algorithms for SAT & MAX-SAT , 2004, SAT.

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

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

[9]  Marius Thomas Lindauer,et al.  AutoFolio: An Automatically Configured Algorithm Selector , 2015, J. Artif. Intell. Res..

[10]  Shoaib Kamil,et al.  OpenTuner: An extensible framework for program autotuning , 2014, 2014 23rd International Conference on Parallel Architecture and Compilation (PACT).

[11]  Nando de Freitas,et al.  Taking the Human Out of the Loop: A Review of Bayesian Optimization , 2016, Proceedings of the IEEE.

[12]  Leslie Pérez Cáceres,et al.  Exploring variable neighborhood search for automatic algorithm configuration , 2017, Electron. Notes Discret. Math..

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

[14]  Andrea Lodi,et al.  Performance Variability in Mixed-Integer Programming , 2013 .

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

[16]  Philip Bachman,et al.  Deep Reinforcement Learning that Matters , 2017, AAAI.

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

[18]  Armin Biere Yet another Local Search Solver and Lingeling and Friends Entering the SAT Competition 2014 , 2014 .

[19]  Thomas Stützle,et al.  Automatic Algorithm Configuration Based on Local Search , 2007, AAAI.

[20]  Marius Thomas Lindauer,et al.  SpySMAC: Automated Configuration and Performance Analysis of SAT Solvers , 2015, SAT.

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

[22]  Thomas Stützle,et al.  Automatically improving the anytime behaviour of optimisation algorithms , 2014, Eur. J. Oper. Res..

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

[24]  Mauro Birattari,et al.  Tuning Metaheuristics - A Machine Learning Perspective , 2009, Studies in Computational Intelligence.

[25]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume IV: Fascicle 2: Generating All Tuples and Permutations , 2005 .

[26]  Thomas Bartz-Beielstein,et al.  The Sequential Parameter Optimization Toolbox , 2010, Experimental Methods for the Analysis of Optimization Algorithms.

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

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

[29]  E. Dahlman,et al.  A Critical Assessment of Benchmark Comparison in Planning , 2002, J. Artif. Intell. Res..

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

[31]  Holger H. Hoos,et al.  Evaluating Instance Generators by Configuration , 2014, LION.

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

[33]  Thomas Stützle,et al.  AClib: A Benchmark Library for Algorithm Configuration , 2014, LION.

[34]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

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

[36]  Armin Biere,et al.  Automated Testing and Debugging of SAT and QBF Solvers , 2010, SAT.

[37]  Catherine C. McGeoch A Guide to Experimental Algorithmics , 2012 .

[38]  Catherine C. McGeoch Experimental analysis of algorithms , 1986 .

[39]  Christoph M. Kirsch,et al.  Analysis of Portfolio-Style Parallel SAT Solving on Current Multi-Core Architectures , 2013, POS@SAT.

[40]  Holger H. Hoos,et al.  Ordered racing protocols for automatically configuring algorithms for scaling performance , 2013, GECCO '13.

[41]  Thomas Stützle,et al.  A Racing Algorithm for Configuring Metaheuristics , 2002, GECCO.

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

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

[44]  Raymond Chiong,et al.  Evolutionary Optimization: Pitfalls and Booby Traps , 2012, Journal of Computer Science and Technology.

[45]  Kevin Leyton-Brown,et al.  Tradeoffs in the empirical evaluation of competing algorithm designs , 2010, Annals of Mathematics and Artificial Intelligence.

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

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

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

[49]  John N. Hooker,et al.  Testing heuristics: We have it all wrong , 1995, J. Heuristics.

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

[51]  Torsten Schaub,et al.  Automatic construction of parallel portfolios via algorithm configuration , 2017, Artif. Intell..

[52]  Marius Lindauer,et al.  SpyBug: Automated Bug Detection in the Configuration Space of SAT Solvers , 2016, SAT.

[53]  Tobias Achterberg,et al.  SCIP: solving constraint integer programs , 2009, Math. Program. Comput..

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

[55]  Marius Lindauer,et al.  CAVE: Configuration Assessment, Visualization and Evaluation , 2018, LION.

[56]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.

[57]  Marijn J. H. Heule,et al.  Bridging the gap between easy generation and efficient verification of unsatisfiability proofs , 2014, Softw. Test. Verification Reliab..

[58]  Holger H. Hoos,et al.  Programming by optimization , 2012, Commun. ACM.

[59]  Lars Kotthoff,et al.  Algorithm Configuration in the Cloud: A Feasibility Study , 2014, LION.

[60]  Thomas Stützle,et al.  Automatic Component-Wise Design of Multiobjective Evolutionary Algorithms , 2016, IEEE Transactions on Evolutionary Computation.

[61]  Marius Thomas Lindauer,et al.  Quantifying Homogeneity of Instance Sets for Algorithm Configuration , 2012, LION.

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

[63]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

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

[65]  Andrea Lodi,et al.  MIPLIB 2010 , 2011, Math. Program. Comput..

[66]  Alastair Smith,et al.  How not to do it , 2005 .

[67]  Nikolaus Hansen,et al.  The CMA Evolution Strategy: A Comparing Review , 2006, Towards a New Evolutionary Computation.

[68]  Nando de Freitas,et al.  A Tutorial on Bayesian Optimization of Expensive Cost Functions, with Application to Active User Modeling and Hierarchical Reinforcement Learning , 2010, ArXiv.

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

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

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

[72]  Yuri Malitsky,et al.  Model-Based Genetic Algorithms for Algorithm Configuration , 2015, IJCAI.

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