-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathirace-options.R
155 lines (155 loc) · 14.4 KB
/
irace-options.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
## This file was generated by scripts/generate-options.R
# Non-variable options (such as --help and --version) have names starting with "."
# Variables that do not have a command-line option have description == ""
# Types are b(oolean), i(nteger), s(tring), r(eal), p(ath), x (R object or no value)
# FIXME: Add special type for R functions.
# FIXME: For i and r add their domain.
.irace.params.def <- structure(list(name = c(".help", ".version", ".check", ".init",
".onlytest", "scenarioFile", "execDir", "parameterFile", "parameters",
"initConfigurations", "configurationsFile", "logFile", "recoveryFile",
"instances", "trainInstancesDir", "trainInstancesFile", "sampleInstances",
"testInstancesDir", "testInstancesFile", "testInstances", "testNbElites",
"testIterationElites", "testType", "firstTest", "blockSize",
"eachTest", "targetRunner", "targetRunnerLauncher", "targetCmdline",
"targetRunnerRetries", "targetRunnerTimeout", "targetRunnerData",
"targetRunnerParallel", "targetEvaluator", "deterministic", "maxExperiments",
"minExperiments", "maxTime", "budgetEstimation", "minMeasurableTime",
"parallel", "loadBalancing", "mpi", "batchmode", "quiet", "debugLevel",
"seed", "softRestart", "softRestartThreshold", "elitist", "elitistNewInstances",
"elitistLimit", "repairConfiguration", "capping", "cappingAfterFirstTest",
"cappingType", "boundType", "boundMax", "boundDigits", "boundPar",
"boundAsTimeout", "postselection", "aclib", "nbIterations", "nbExperimentsPerIteration",
"minNbSurvival", "nbConfigurations", "mu", "confidence"), type = c("x",
"x", "x", "x", "p", "p", "p", "p", "x", "x", "p", "p", "p", "s",
"p", "p", "b", "p", "p", "x", "i", "b", "s", "i", "i", "i", "p",
"p", "s", "i", "i", "x", "x", "p", "b", "i", "i", "i", "r", "r",
"i", "b", "b", "s", "b", "i", "i", "b", "r", "b", "i", "i", "x",
"b", "b", "s", "s", "i", "i", "i", "b", "b", "b", "i", "i", "i",
"i", "i", "r"), short = c("-h", "-v", "-c", "-i", "", "-s", "",
"-p", "", "", "", "-l", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "-q", "", "", "", "", "-e", "", "", "",
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
), long = c("--help", "--version", "--check", "--init", "--only-test",
"--scenario", "--exec-dir", "--parameter-file", "", "", "--configurations-file",
"--log-file", "--recovery-file", "", "--train-instances-dir",
"--train-instances-file", "--sample-instances", "--test-instances-dir",
"--test-instances-file", "", "--test-num-elites", "--test-iteration-elites",
"--test-type", "--first-test", "--block-size", "--each-test",
"--target-runner", "--target-runner-launcher", "--target-cmdline",
"--target-runner-retries", "--target-runner-timeout", "", "",
"--target-evaluator", "--deterministic", "--max-experiments",
"--min-experiments", "--max-time", "--budget-estimation", "--min-measurable-time",
"--parallel", "--load-balancing", "--mpi", "--batchmode", "--quiet",
"--debug-level", "--seed", "--soft-restart", "--soft-restart-threshold",
"--elitist", "--elitist-new-instances", "--elitist-limit", "",
"--capping", "--capping-after-first-test", "--capping-type",
"--bound-type", "--bound-max", "--bound-digits", "--bound-par",
"--bound-as-timeout", "--postselection", "--aclib", "--iterations",
"--experiments-per-iteration", "--min-survival", "--num-configurations",
"--mu", "--confidence"), default = c(NA, NA, NA, "", "", "./scenario.txt",
"./", "./parameters.txt", "", "", "", "./irace.Rdata", "", "",
"", "", "1", "", "", "", "1", "0", "", "5", "1", "1", "./target-runner",
"", "{configurationID} {instanceID} {seed} {instance} {bound} {targetRunnerArgs}",
"0", "0", "", "", "", "0", "0", NA, "0", "0.05", "0.01", "0",
"1", "0", "0", "0", "0", NA, "1", "1e-04", "1", "1", "2", "",
NA, "0", "median", "candidate", "0", "0", "1", "1", "1", "0",
"0", "0", "0", "0", "5", "0.95"), domain = c(NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, "F-test,t-test,t-test-holm,t-test-bonferroni", NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, "sge,pbs,torque,slurm,htcondor", NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, "median,mean,worst,best", "instance,candidate",
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), description = c("Show this help.",
"Show irace package version.", "Check scenario.", "Initialize the working directory with template config files.",
"Only test the configurations given in the file passed as argument.",
"File that describes the configuration scenario setup and other irace settings.",
"Directory where the programs will be run.", "File that contains the description of the parameters of the target algorithm.",
"", "", "File that contains a table of initial configurations. If empty or `NULL`, all initial configurations are randomly generated.",
"File to save tuning results as an R dataset, either absolute path or relative to execDir.",
"Previously saved log file to recover the execution of `irace`, either absolute path or relative to the current directory. If empty or `NULL`, recovery is not performed.",
"", "Directory where training instances are located; either absolute path or relative to current directory. If no `trainInstancesFiles` is provided, all the files in `trainInstancesDir` will be listed as instances.",
"File that contains a list of training instances and optionally additional parameters for them. If `trainInstancesDir` is provided, `irace` will search for the files in this folder.",
"Randomly sample the training instances or use them in the order given.",
"Directory where testing instances are located, either absolute or relative to current directory.",
"File containing a list of test instances and optionally additional parameters for them.",
"", "Number of elite configurations returned by irace that will be tested if test instances are provided.",
"Enable/disable testing the elite configurations found at each iteration.",
"Statistical test used for elimination. The default value selects `t-test` if `capping` is enabled or `F-test`, otherwise. Valid values are: F-test (Friedman test), t-test (pairwise t-tests with no correction), t-test-bonferroni (t-test with Bonferroni's correction for multiple comparisons), t-test-holm (t-test with Holm's correction for multiple comparisons).",
"Number of instances evaluated before the first elimination test. It must be a multiple of `eachTest`.",
"Number of training instances, that make up a 'block' in `trainInstancesFile`. Elimination of configurations will only be performed after evaluating a complete block and never in the middle of a block. Each block typically contains one instance from each instance class (type or family) and the block size is the number of classes. The value of `blockSize` will multiply `firstTest`, `eachTest` and `elitistNewInstances`.",
"Number of instances evaluated between elimination tests.", "Executable called for each configuration that executes the target algorithm to be tuned. See the templates and examples provided.",
"Executable that will be used to launch the target runner, when `targetRunner` cannot be executed directly (e.g., a Python script in Windows).",
"Command-line arguments provided to `targetRunner` (or `targetRunnerLauncher` if defined). The substrings `\\{configurationID\\}`, `\\{instanceID\\}`, `\\{seed\\}`, `\\{instance\\}`, and `\\{bound\\}` will be replaced by their corresponding values. The substring `\\{targetRunnerArgs\\}` will be replaced by the concatenation of the switch and value of all active parameters of the particular configuration being evaluated. The substring `\\{targetRunner\\}`, if present, will be replaced by the value of `targetRunner` (useful when using `targetRunnerLauncher`).",
"Number of times to retry a call to `targetRunner` if the call failed.",
"Timeout in seconds of any `targetRunner` call (only applies to `target-runner` executables not to R functions), ignored if 0.",
"Optional data passed to `targetRunner`. This is ignored by the default `targetRunner` function, but it may be used by custom `targetRunner` functions to pass persistent data around.",
"Optional R function to provide custom parallelization of `targetRunner`.",
"Optional script or R function that provides a numeric value for each configuration. See templates/target-evaluator.tmpl",
"If the target algorithm is deterministic, configurations will be evaluated only once per instance.",
"Maximum number of runs (invocations of `targetRunner`) that will be performed. It determines the maximum budget of experiments for the tuning.",
"Minimum number of runs (invocations of `targetRunner`) that will be performed. It determines the minimum budget of experiments for the tuning. The actual budget depends on the number of parameters and `minSurvival`.",
"Maximum total execution time for the executions of `targetRunner`. `targetRunner` must return two values: cost and time. This value and the one returned by `targetRunner` must use the same units (seconds, minutes, iterations, evaluations, ...).",
"Fraction (smaller than 1) of the budget used to estimate the mean computation time of a configuration. Only used when `maxTime` > 0",
"Minimum time unit that is still (significantly) measureable.",
"Number of calls to `targetRunner` to execute in parallel. Values `0` or `1` mean no parallelization.",
"Enable/disable load-balancing when executing experiments in parallel. Load-balancing makes better use of computing resources, but increases communication overhead. If this overhead is large, disabling load-balancing may be faster.",
"Enable/disable MPI. Use `Rmpi` to execute `targetRunner` in parallel (parameter `parallel` is the number of slaves).",
"Specify how irace waits for jobs to finish when `targetRunner` submits jobs to a batch cluster: sge, pbs, torque, slurm or htcondor. `targetRunner` must submit jobs to the cluster using, for example, `qsub`.",
"Reduce the output generated by irace to a minimum.", "Debug level of the output of `irace`. Set this to 0 to silence all debug messages. Higher values provide more verbose debug messages.",
"Seed of the random number generator (by default, generate a random seed).",
"Enable/disable the soft restart strategy that avoids premature convergence of the probabilistic model.",
"Soft restart threshold value for numerical parameters.", "Enable/disable elitist irace.",
"Number of instances added to the execution list before previous instances in elitist irace.",
"In elitist irace, maximum number per race of elimination tests that do not eliminate a configuration. Use 0 for no limit.",
"User-defined R function that takes a configuration generated by irace and repairs it.",
"Enable the use of adaptive capping, a technique designed for minimizing the computation time of configurations. Capping is enabled by default if `elitist` is active, `maxTime > 0` and `boundMax > 0`.",
"If set to 1, elimination due to capping only happens after `firstTest` instances are seen.",
"Measure used to obtain the execution bound from the performance of the elite configurations: median, mean, worst, best.",
"Method to calculate the mean performance of elite configurations: candidate or instance.",
"Maximum execution bound for `targetRunner`. It must be specified when capping is enabled.",
"Precision used for calculating the execution time. It must be specified when capping is enabled.",
"Penalization constant for timed out executions (executions that reach `boundMax` execution time).",
"Replace the configuration cost of bounded executions with `boundMax`.",
"Perform a postselection race after the execution of irace to consume all remaining budget. Value 0 disables the postselection race.",
"Enable/disable AClib mode. This option enables compatibility with GenericWrapper4AC as targetRunner script.",
"Maximum number of iterations.", "Number of runs of the target algorithm per iteration.",
"Minimum number of configurations needed to continue the execution of each race (iteration).",
"Number of configurations to be sampled and evaluated at each iteration.",
"Parameter used to define the number of configurations sampled and evaluated at each iteration.",
"Confidence level for the elimination test.")), row.names = c(".help",
".version", ".check", ".init", ".onlytest", "scenarioFile", "execDir",
"parameterFile", "parameters", "initConfigurations", "configurationsFile",
"logFile", "recoveryFile", "instances", "trainInstancesDir",
"trainInstancesFile", "sampleInstances", "testInstancesDir",
"testInstancesFile", "testInstances", "testNbElites", "testIterationElites",
"testType", "firstTest", "blockSize", "eachTest", "targetRunner",
"targetRunnerLauncher", "targetCmdline", "targetRunnerRetries",
"targetRunnerTimeout", "targetRunnerData", "targetRunnerParallel",
"targetEvaluator", "deterministic", "maxExperiments", "minExperiments",
"maxTime", "budgetEstimation", "minMeasurableTime", "parallel",
"loadBalancing", "mpi", "batchmode", "quiet", "debugLevel", "seed",
"softRestart", "softRestartThreshold", "elitist", "elitistNewInstances",
"elitistLimit", "repairConfiguration", "capping", "cappingAfterFirstTest",
"cappingType", "boundType", "boundMax", "boundDigits", "boundPar",
"boundAsTimeout", "postselection", "aclib", "nbIterations", "nbExperimentsPerIteration",
"minNbSurvival", "nbConfigurations", "mu", "confidence"), class = "data.frame")
.irace.params.names <- c("scenarioFile", "execDir", "parameterFile", "parameters", "initConfigurations",
"configurationsFile", "logFile", "recoveryFile", "instances",
"trainInstancesDir", "trainInstancesFile", "sampleInstances",
"testInstancesDir", "testInstancesFile", "testInstances", "testNbElites",
"testIterationElites", "testType", "firstTest", "blockSize",
"eachTest", "targetRunner", "targetRunnerLauncher", "targetCmdline",
"targetRunnerRetries", "targetRunnerTimeout", "targetRunnerData",
"targetRunnerParallel", "targetEvaluator", "deterministic", "maxExperiments",
"minExperiments", "maxTime", "budgetEstimation", "minMeasurableTime",
"parallel", "loadBalancing", "mpi", "batchmode", "quiet", "debugLevel",
"seed", "softRestart", "softRestartThreshold", "elitist", "elitistNewInstances",
"elitistLimit", "repairConfiguration", "capping", "cappingAfterFirstTest",
"cappingType", "boundType", "boundMax", "boundDigits", "boundPar",
"boundAsTimeout", "postselection", "aclib", "nbIterations", "nbExperimentsPerIteration",
"minNbSurvival", "nbConfigurations", "mu", "confidence")
## FIXME: If these values are special perhaps they should be saved in $state ?
.irace.params.recover <- c("instances", "seed", "testInstances",
# We need this because this data may mutate
"targetRunnerData", "elitist", "deterministic")