Meinolf Sellmann (9:00)
Automatic Solver Configuration and Solver Portfolios
I will give a short introduction into automatic algorithm tuning and discuss instance-specific tuning for solvers. A key ingredient for an effective instance-specific tuning is the selection of a good candidate parameter set. This problem is the same as algorithm selection when building algorithm portfolios. I will review a recent portfolio builder called CSHC and its application within the instance-specific tuner ISAC++.
Kevin Leyton Brown (11:00)
Programming by Optimization: A Practical Paradigm for Computer-Aided Algorithm Design
Programming by Optimization means specifying a large design space and then applying machine learning and optimization to find a design that will perform well in a given use context. This talk will share the vision of PbO, describe key algorithmic techniques that make PbO practical, and illustrate the power of the approach. Specifically, it will describe some state-of-the-art methods for automated algorithm configuration, portfolio-based algorithm selection, and automated portfolio construction.
Franco Mascia (16:00)
Grammar-based automatic generation of SLS algorithms
Automatic algorithm configuration has recently become an essential part of the design and development of effective solvers. The growing complexity of the techniques employed in stochastic local search algorithms rendered manual tuning a non option if one aims at designing state-of-the-art algorithms. Recent advances in automatic algorithm configuration have made it possible to configure extremely flexible and complex algorithmic frameworks (with hundreds of parameters) and to fine tune them for particular problems. Configuration has become such an integral part of the development process that new algorithms are designed by implementing directly several design alternatives and by deferring the largest number of design choices to the automatic configuration phase.
The talk will focus on a promising grammar-based technique for the automatic design of optimisation algorithms. From problem-specific algorithmic building blocks, and a context-free grammar that describes how these blocks can be combined, an automatic system generates and tests a large number of hybrid metaheuristics and selects the best one for the problem at hand. Differently from other grammar-based approaches (e.g., grammatical evolution), this technique retains the flexibility conferred by the grammar to the high-level description of the design space, but it also leverages the tools for automatic algorithm configuration to search for an effective algorithm.
A further advantage of automatic design lies in the reduction of the human biases both in the design of the algorithms, as well as in the definition of the experimental evaluations. By allowing for more principled comparisons, automatic design allows to better understand the reasons behind the performances of the studied algorithms, to potentially reduce the proliferation of techniques, and to distill best practices leading to a more effective engineering of stochastic local search techniques.