Learn R Programming

irace (version 2.1)

irace: irace

Description

irace implements iterated Race. It receives some parameters to be tuned and returns the best configurations found, namely, the elite configurations obtained from the last iterations (and sorted by rank).

Usage

irace(scenario, parameters)

Arguments

scenario
Data structure containing irace settings.The data structure has to be the one returned by the function defaultScenario() and readScenario(). See documentation of this function for details.
parameters
Data structure containing the parameter definition. The data structure has to be the one returned by the function readParameters(). See documentation of this function for details.

Value

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.
Additinally, 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:
  • scenario: The scenario R object containing the irace options used for the execution. See defaultScenario help for more information.
  • parameters: The parameters R object containing the description of the target algorithm parameters. See readParameters.
  • allConfigurations: 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.
  • allElites: 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.).
  • iterationElites: A vector containing the best candidate configuration internal identifier of each iteration. The best configuration found corresponds to the last one of this vector.
  • experiments: A matrix with configurations as columns and instances as rows. Column names correspond to the internal identifier of the configuration (allConfigurations$.ID.).
  • experimentLog: 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.
  • softRestart: A logical vector that indicates if a soft restart was performed on each iteration. If FALSE, then no soft restart was performed.
  • state: A list that contains the state of irace, the recovery is done using the information contained in this object.
  • testing: A list that constains the testing results. The elements of this list are: experiments a matrix with the testing expriments of the selected configurations in the same format as the explained above and seeds a vector with the seeds used to execute each experiment.

Details

The function irace executes the tuning procedure using the information provided in scenario and parameters. Initially it checks the correctness of scenario and recovers a previous execution if scenario$recoveryFile is set. A R data file log of the execution is created in scenario$logFile.

See Also

irace.main 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. readParameters to read the target algorithm parameters from a file.

Examples

Run this code
## Not run: 
# parameters <- readParameters("parameters.txt")
# scenario <- readScenario(filename="scenario.txt", 
#                          scenario=defaultScenario())
# irace(scenario=scenario, parameters=parameters)
# ## End(Not run)

Run the code above in your browser using DataLab