The functions can be called in two different ways

  • 1. Pass a vector of function evaluations and a logical vector which indicates which runs were successful (see details).

  • 2. Pass a vector of function evaluation, a vector of reached target values and a single target value. In this case the logical vector of option 1. is computed internally.

computeExpectedRunningTime(
  fun.evals,
  fun.success.runs = NULL,
  fun.reached.target.values = NULL,
  fun.target.value = NULL,
  penalty.value = Inf
)

Arguments

fun.evals

[numeric]
Vector containing the number of function evaluations.

fun.success.runs

[logical]
Boolean vector indicating which algorithm runs were successful, i. e., which runs reached the desired target value. Default is NULL.

fun.reached.target.values

[numeric | NULL]
Numeric vector with the objective values reached in the runs. Default is NULL.

fun.target.value

[numeric(1) | NULL]
Target value which shall be reached. Default is NULL.

penalty.value

[numeric(1)]
Penalty value which should be returned if none of the algorithm runs was successful. Default is Inf.

Value

[numeric(1)] Estimated Expected Running Time.

Details

The Expected Running Time (ERT) is one of the most popular performance measures in optimization. It is defined as the expected number of function evaluations needed to reach a given precision level, i. e., to reach a certain objective value for the first time.

References

A. Auger and N. Hansen. Performance evaluation of an advanced local search evolutionary algorithm. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC 2005), pages 1777-1784, 2005.