Uno icon indicating copy to clipboard operation
Uno copied to clipboard

Automatic configuration of Uno

Open MLopez-Ibanez opened this issue 7 months ago • 1 comments

Hi,

I would like to apply automatic configuration/selection to Uno (https://lopez-ibanez.eu/2024-natcor-aac/aac-tutorial.pdf), for example, using irace.

I found in the code where the default values of the options are given but I wonder if the ranges, types, conditions and constraints of the options are documented anywhere. Ideally, it would be great to obtain this information programmatically. For example:

$./uno --dump-options
# name       switch           type  values               conditions
 algorithm    "--"             c     (as,mmas,eas,ras,acs)
 localsearch  "--localsearch " o     (0, 1, 2, 3)
 alpha        "--alpha "       r     (0.00, 5.00)
 beta         "--beta "        r     (0.00, 10.00)
 rho          "--rho  "        r     (0.01, 1.00)
 ants         "--ants "        i,log (5, 100)
 q0           "--q0 "          r     (0.0, 1.0)           | algorithm == "acs"
 rasrank      "--rasranks "    i     (1, "min(ants, 10)") | algorithm == "ras"
 elitistants  "--elitistants " i     (1, ants)            | algorithm == "eas"
 nnls         "--nnls "        i     (5, 50)              | localsearch %in% c(1,2,3)
 dlb          "--dlb "         c     (0, 1)               | localsearch %in% c(1,2,3)

 [forbidden]
 (alpha == 0.0) & (beta == 0.0)

The above is just the format accepted by irace (see https://mlopez-ibanez.github.io/irace/reference/readParameters.html) but any other format that is machine readable would be welcome.

MLopez-Ibanez avatar May 21 '25 10:05 MLopez-Ibanez

Hi Manuel,

That's a great idea. I like how finely we can describe the interactions between options with conditions and forbidden. We could definitely include a file options.irace in the project directory. I'm swamped at the moment but I can give it a shot at the end of this summer. I'll be in touch! Best,

Charlie PS: the options are not documented yet.

cvanaret avatar May 21 '25 13:05 cvanaret