Skip to contents

Higher-level interface to launch irace.


irace.main(scenario, output.width = 9999L)



Data structure containing irace settings. The data structure has to be the one returned by the function defaultScenario() or readScenario().


(integer(1)) The width used for the screen output.



A data frame with the set of best algorithm configurations found by irace. The data frame has the following columns:

  • .ID. : Internal id of the candidate configuration.

  • Parameter names : One column per parameter name in parameters.

  • .PARENT. : Internal id of the parent candidate configuration.

Additionally, this function saves an R data file containing an object called iraceResults. The path of the file is indicated in scenario$logFile. The iraceResults object is a list with the following structure:


The scenario R object containing the irace options used for the execution. See defaultScenario for more information.


The parameters R object containing the description of the target algorithm parameters. See readParameters.


The target algorithm configurations generated by irace. This object is a data frame, each row is a candidate configuration, the first column (.ID.) indicates the internal identifier of the configuration, the following columns correspond to the parameter values, each column named as the parameter name specified in the parameter object. The final column (.PARENT.) is the identifier of the configuration from which model the actual configuration was sampled.


A list that contains one element per iteration, each element contains the internal identifier of the elite candidate configurations of the corresponding iteration (identifiers correspond to allConfigurations$.ID.).


A vector containing the best candidate configuration internal identifier of each iteration. The best configuration found corresponds to the last one of this vector.


A matrix with configurations as columns and instances as rows. Column names correspond to the internal identifier of the configuration (allConfigurations$.ID.).


A matrix with columns iteration, instance, configuration, time. This matrix contains the log of all the experiments that irace performs during its execution. The instance column refers to the index of the scenario$instancesList data frame. Time is saved ONLY when reported by the targetRunner.


A logical vector that indicates if a soft restart was performed on each iteration. If FALSE, then no soft restart was performed.


A list that contains the state of irace, the recovery is done using the information contained in this object.


A list that contains the testing results. The elements of this list are: experiments a matrix with the testing experiments of the selected configurations in the same format as the explained above and seeds a vector with the seeds used to execute each experiment.


This function checks the correctness of the scenario, reads the parameter space from scenario$parameterFile, invokes irace(), prints its results in various formatted ways, (optionally) calls psRace() and, finally, evaluates the best configurations on the test instances (if provided). If you want a lower-level interface that just runs irace, please see function irace().

See also

irace.cmdline() a higher-level command-line interface to irace() readScenario() to read the scenario setup from a file. defaultScenario() to provide a default scenario for irace.


Manuel López-Ibáñez and Jérémie Dubois-Lacoste