Abstract

Modern optimization algorithms typically require the setting of a large number of parameters to optimize their performance. The immediate goal of automatic algorithm configuration is to find, automatically, the best parameter settings of an optimizer. Ultimately, automatic algorithm configuration has the potential to lead to new design paradigms for optimization software. The irace package is a software package that implements a number of automatic configuration procedures. In particular, it offers iterated racing procedures, which have been used successfully to automatically configure various state-of-the-art algorithms. The iterated racing procedures implemented in irace include the iterated F-race algorithm and several extensions and improvements over it. In this paper, we describe the rationale underlying the iterated racing procedures and introduce a number of recent extensions. Among these, we introduce a restart mechanism to avoid premature convergence, the use of truncated sampling distributions to handle correctly parameter bounds, and an elitist racing procedure for ensuring that the best configurations returned are also those evaluated in the highest number of training instances. We experimentally evaluate the most recent version of irace and demonstrate with a number of example applications the use and potential of irace, in particular, and automatic algorithm configuration, in general.

Highlights

  • Many algorithms for solving optimization problems involve a large number of design choices and algorithm-specific parameters that need to be carefully set to reach their best performance

  • This is the case for many types of algorithms ranging from exact methods, such as branch-and-bound and the techniques implemented in modern integer programming solvers, to heuristic methods, such as local search or metaheuristics

  • The algorithm developer first chooses a few parameter configurations, that is, complete assignments of values to parameters, and executes experiments for testing them; she examines the results and decides whether to test different configurations, to modify the algorithm or to stop the process. This manual tuning approach is better than no tuning at all, and it has led to highperforming algorithms, it has a number of disadvantages: (i) it is time-intensive in terms of human effort; (ii) it is often guided by personal experience and intuition and, biased and not reproducible; (iii) algorithms are typically tested only on a rather limited set of instances; (iv) few design alternatives and parameter settings are explored; and (v) often the same instances that are used during the design and parameter tuning phase are used for evaluating the final algorithm, leading to a biased assessment of performance

Read more

Summary

Introduction

Many algorithms for solving optimization problems involve a large number of design choices and algorithm-specific parameters that need to be carefully set to reach their best performance. This is the case for many types of algorithms ranging from exact methods, such as branch-and-bound and the techniques implemented in modern integer programming solvers, to heuristic methods, such as local search or metaheuristics. The irace package implements a general iterated racing procedure, which includes I/FRace as a special case It implements several extensions already described by Birattari [19], such as the use of the paired t-test instead of Friedman’s test. We include in Appendix A a brief description of the irace package itself, its components and its main options

Configurable algorithms
The algorithm configuration problem
Methods for automated algorithm configuration
An overview of iterated racing
The iterated racing algorithm in the irace package
10: Output: elite
Nnj ew
Soft-restart
Elitist iterated racing
Other features of irace
Applications of irace
Example of tuning scenario: tuning ACOTSP
A more complex example: tuning multi-objective optimization algorithms
Comparison of irace and elitist irace
Heterogeneous scenario setting
Other applications of irace
Algorithm configuration
Multi-objective optimization metaheuristics
Automatic algorithm design from a grammar description
Applications in machine learning
Automatic design of control software for robots
Conclusion
Training instances
Parameter space
Output of irace
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call