Hi Luciana,
Thanks for reporting this. There is a mistake in the number reported: irace will require a value of 'maxTime' of at least '3678' +
the used time for estimating the average runtime: 1226 = 4904
This mistake will be fixed in the next version of irace.
irace
tries very hard to execute at least a minimum number of iterations,
otherwise you are simply doing random search. If there is no enough time
to execute that minimum, then irace gives the warning and reduces the
number of iterations. However, the remaining time may be so small that
not even a single iteration can be executed. That is when irace gives an
error.
irace also tries very hard to not go over time: irace tries to stop before reaching the time limit, not after reaching it.
In your case, the average execution time is 122.6. Roughly speaking (see computeMinimumBudget function for details, just one iteration of irace requires (minSurvival + 1) * (firstTest+eachTest), thus 30 evaluations with default values, 122.6*30 = 3678 seconds in addition to the time consumed during the initial estimation. Of course, this is an upper bound. In fact, we re-use the results calculated during estimation if we can, so that time will be saved later. The function computeMinimumBudget could return more precise upper bounds. If you have a suggestion about it, please let us know.
Also,
it seems you are using wall-clock time to measure the time require by
your algorithm (as returned by date), but WC time will be affected by
running configurations in parallel (and anything else running in your
computer). You should use CPU time.
Cheers,
Manuel.