A metaheuristic is a generic algorithmic template that can be used for finding high quality solutions of hard combinatorial optimization problems. To arrive at a functioning algorithm, a metaheuristic needs to be configured: typically some modules need to be instantiated and some parameters need to be tuned. We call these two problems "structural" and "parametric" tuning, respectively. More generally, we refer to the combination of the two problems as "tuning". Tuning is crucial to metaheuristics optimization both in academic research and for practical applications. Nevertheless, a precise definition of the tuning problem is missing in the literature. In this thesis, we show that the problem of tuning a metaheuristic can be described and solved as a machine learning problem. Using the machine learning perspective, we are able to provide a formal definition of the tuning problem. Moreover, we propose F-Race, a generic metaheuristic tuning algorithm. Our machine learning perspective also allows us to highlight some flaws in current metaheuristics research methodologies.
Based on this discussion, we propose some methodological guidelines for future empirical analysis in metaheuristics research. The thesis also contains an experimental analysis of F-Race and some examples of practical applications.show more