The main subject of my research is the automatic configuration of algorithms: we study and design specialised procedures (configurators) that can effectively use computational resources to search for high-performing parameter settings of an algorithm (target algorithm).
What to define to configure an algorithm?
1. Parameter space of the target algorithm: what are the parameters and the possible values they can have.
2. Configuration budget: configuration time or number evaluations of the target algorithm available for the configuration process.
3. Scenario settings: Any extra information that can help in the configuration process, settings that should be ignored, previously known high-performing settings, etc.
4. Target runner: Intermediary program that executes the target algorithm on a problem instance and using the indicated parameter settings and returns a performance measure.
5. Set of training problem instances.
I'm one of the developers of the irace configurator, which is freely available as an R package. Do you want to know how to use irace? Check our user guide. Do you have questions about irace? Contact us in our google group.
Other configurators that are freely and publicly available for tuning algorithms are listed below.
Check the algorithm configuration library (AClib) for a set of benchmarks for algorithm configuration.