Compute the Expected Running Time (ERT) performance measure.


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, = NULL, = NULL,
  penalty.value = Inf)



Vector containing the number of function evaluations.


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

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

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


Penalty value which should be returned if none of the algorithm runs was successful. Default is Inf.


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.


[numeric(1)] Estimated Expected Running Time.


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.

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.