COMEX Workshop on Practical Automatic Algorithm Configuration


Workshop details

IRIDIA, the artificial intelligence laboratory of the Université libre de Bruxelles, organizes, in the context of the COMEX project, a free-of-charge one-day workshop on the practical application of automatic configuration methods to configure heuristic and exact optimization algorithms, and other configurable systems. The aim of the workshop is to introduce the concepts of automatic configuration to algorithm users and designers.

Automatic configuration of algorithms, also known as offline parameter tuning, is the problem of finding a high-performing configuration of the parameters of an optimization algorithm given training instances of the problem to be tackled. In recent years, advances in automatic algorithm configuration have resulted in practical methods, such as ParamILS and irace, able to configure hundreds of parameters. Moreover, these methods enable the automatic design of optimization algorithms, either by building a flexible high-level algorithm from other algorithms and tuning its parameters, or by defining a grammar description of the design space and instantiating algorithms from this grammar.

This workshop should be of interest to researchers, students and practitioners in the areas of:

The workshop will be free-of-charge and open to anyone who wants to participate. The number of places is very limited, thus early registration is compulsory.


Warning Sorry, we reached the maximum number of participants. No further registration is possible.

To register, please send an email to Manuel López-Ibáńez <> with


10.00 - 10.10 Welcome
10.10 - 11.00 Introduction to Automatic Algorithm Configuration (Thomas Stützle)
11.00 - 11.15 Coffee break
11.15 - 11.35 Iterated Racing and Applications (Manuel López-Ibáńez)
11.40 - 12.00 Automatic Design of SLS algorithms (Franco Mascia)
12.00 - 13.00 Short presentations (5-10 minutes) of the configuration problems tackled by the participants
13.00 - 14.00 Sandwich lunch (free)
14.00 - 14.30 Introduction to the irace software package (Manuel López-Ibáńez)
14.30 - 17.00 Hands-on session on applying irace to the participants' scenarios (Leonardo Bezerra, Jérémie Dubois-Lacoste, Manuel López-Ibáńez, Franco Mascia, Leslie Perez)

Workshop location

The workshop will take place at IRIDA in the fifth floor of building C of ULB's Solbosch campus. The address is:

Université Libre de Bruxelles
Campus du Solbosch
Building C, 5th floor
Av. Adolphe Buyl, 87
1050 Brussels

Further information is available here.

Getting to IRIDA by public transporatation

The closest bus and tram stop to building C is "Jeanne/Johanna", which is located at the crossing of Avenue Adolphe Buyl and Avenue Jeanne. It is served by bus line 71 (direct connection to Brussel's city centre) and tramway lines 25 and 94. You can find detailed information on itineraries and timetable by the website of the Brussel's public transport here. An overview of the campus and different travel options with public transport is also given here.

Getting to IRIDA by car

If you come by car and wish to have access to the parking on the ULB Solbosch campus, you need to provide us before November 15 with your name, university, type of car, and number plate. More details can be found here.


Below you can find a map of Brussels with the workshop location and main public transportation:

Enlarge this map

a map of the campus and a picture of Building C:

Campus Solbosh  Building C

Information for participants

The hands-on session will be more effective if the participants follow these suggestions:

Installing R

There are official instructions available. We give below a quick installation guide that will work in most cases.


You should install R from your package manager. On a Debian/Ubuntu system it will be something like:

$ sudo apt-get install r-base

Once R is installed, you can launch R from the terminal and from the R prompt install the irace package. See instructions below.


You can install R directly from a CRAN mirror (the link is of the Belgian one):

Alternatively, if you use homebrew, you can just brew the R formula from the science tap (unfortunately it does not come already bottled so you need to have Xcode installed to compile it):

$ brew tap homebrew/science
$ brew install r

Once R is installed, you can launch R from the Terminal (or from your Applications), and from the R prompt install the irace package. See instructions below.


You can install R from a CRAN mirror (the link is of the Belgian one):

Once R is installed, you can launch the R console and install the irace package from it. See instructions below.

Installing the irace package

There are two methods to install the irace R package on your computer:

  1. Install within R (automatic download):
    $ R
    > install.packages("irace")
    select a mirror close to you, and test the installation with
    > library(irace)
    > CTRL+d
  2. Manually download the package from CRAN and invoke at the command-line:
    $ R CMD INSTALL <package>
    where <package> is one of the three versions available: .tar.gz (Unix/BSD/GNU/Linux), .tgz (MacOS X), or .zip (Windows).

If the package fails to install because of insufficient permissions, you need to force a local installation by doing:

$ mkdir ~/R
$ R CMD INSTALL --library=~/R irace.tar.gz
$ export R_LIBS=~/R:${R_LIBS}

Once installed, test that it is working by doing:

$ R
> library(irace)
> system.file(package="irace")
[1] "~/R/irace"
GNU/Linux and Mac OS X

The last command tells you the installation directory of irace. Save that path to a variable, and add it to your .bash_profile, .bashrc or .profile:

export IRACE_HOME=~/R/irace/ # Path given by system.file(package="irace")
export PATH=${IRACE_HOME}/bin/:$PATH
# export R_LIBS=~/R:${R_LIBS} # Only if local installation was forced

After adding this and opening a new terminal, you should be able to invoke irace as follows:

$ irace --help

Unfortunately, the command-line wrapper does not work in Windows. To launch irace, you need to open the R console and execute:

R> library(irace)
R> irace.cmdline("--help")