The turbosim class represents results from benchmark studies of algorithms to acceleration parameter estimation in fixed-point mapping problems.
# S3 method for turbosim
print(x, ...)
# S3 method for turbosim
summary(object, which.methods = seq_along(object$method), 
method.names = object$method.names[which.methods], eps = 0.1, sol = NULL, ...)
# S3 method for turbosim
boxplot(x, which.methods = seq_along(x$method), 
method.names = x$method.names[which.methods], 
whichfail = (x$fail | !x$conv)[,which.methods], xunit="sec", log=FALSE, ...)
# S3 method for turbosim
dataprof(x, which.methods = seq_along(x$method), 
method.names = x$method.names[which.methods], 
whichfail = (x$fail | !x$conv)[,which.methods], col, lty, nout = 50, xlim, ...)
# S3 method for turbosim
pairs(x, which.methods=seq_along(x$method), 
method.names = x$method.names[which.methods], 
whichfail = (x$fail | !x$conv)[,which.methods], ...)
summarySummarizes the number of failures by type across simulation iterations for each acceleration scheme.
boxplotShows box plots of algorithm running times for each acceleration scheme.
dataprofPlots the data profile, or the estimated distribution function of the time until convergence for each acceleration scheme.
pairsScatterplot matrix showing pairwise comparison of the running times for each pair of acceleration schemes.
An object of class turbosim, the structure of which is described in *Details*.
An object of class turbosim, the structure of which is described in *Details*.
A vector identifying for which subset of algorithms results are desired.
A vector of unique identifiers for the algorithms for which results are being provided.
Used to define a tolerance between the objective function value attained by a particular acceleration scheme and the best achievable objective function value (either across schemes or as defined by the user). See *Details*.
Optional argument defining the best achievable objective function value for a given fixed-point mapping problem. Defaults to NULL. See *Details*.
Units for running time to be used in the boxplots. Argument takes the value "sec" or "min."
Logical indicating whether the log of the running time will be plotted. Defaults to FALSE.
A matrix of logical values where the (\(i\),\(j\))-entry indicates whether algorithm j of simulation iteration i failed (however the user wishes to define a failure for visualization purposes). If argument is not provided by user, then by default a failure is defined to be the event where the algorithm produces an error *or* does not converge.
Optional argument: A vector where each component defines the color for the line corresponding to each algorithm being compared.
Optional argument: A vector where each component defines the line-type for the line corresponding to each algorithm being compared.
Number of values at which the empirical distribution function is estimated. Should be less than the number of simulation iterations.
Optional argument: Defines the x-axis limits for the data profile. Defaults to the full range of the running times over all algorithms being plotted.
Additional arguments.
An object of class turbosim is typically the product of the function turboSim. It is a list containing at least the following components:
method.namesVector of unique identifiers for the algorithms being compared
failMatrix whose (\(i\),\(j\))-element is a logical (TRUE/FALSE) for whether the \(j\)th algorithm at the \(i\)th benchmark study repetition failed (produced an error).
convergenceMatrix whose (\(i\),\(j\))-element is a logical (TRUE/FALSE) for whether the \(j\)th algorithm at the \(i\)th benchmark study repetition satisfied the convergence criterion before termination.
value.objfnMatrix whose (\(i\),\(j\))-element is the value of the objective function of the \(j\)th algorithm at the \(i\)th benchmark study repetition.
runtimeMatrix whose (\(i\),\(j\))-element is the running time of the \(j\)th algorithm at the \(i\)th benchmark study repetition.
itrMatrix whose (\(i\),\(j\))-element is the number of completed iterations of the \(j\)th algorithm at the \(i\)th benchmark study repetition.
fpevalMatrix whose (\(i\),\(j\))-element is the number of fixed-point function evaluations of the \(j\)th algorithm at the \(i\)th benchmark study repetition.
objfevalMatrix whose (\(i\),\(j\))-element is the number of objective function evaluations of the \(j\)th algorithm at the \(i\)th benchmark study repetition.
errorsMatrix whose (\(i\),\(j\))-element contains the error message produced by the \(j\)th algorithm at the \(i\)th benchmark study repetition (if there was an error).
This list usually will also contain the components fixptfn, objfn, method, pconstr, project, control.method, and control.run, which were provided as arguments for turboSim.
The summary function shows a table of the number of failures across acceleration schemes. There are three types of failures. The first occurs when the algorithm produces an error message. The second is if the algorithm does not converge before the alternative stopping rule is achieved (e.g. the maximum number of iterations or maximum pre-specified runtime is reached). The third is if the algorithm claims convergence but the value of the objective function is "far" from the best achievable value. To assess this third type of failure, we determine whether the objective function value achieved by the algorithm is close (within eps) to the smallest value achieved across all algorithms at that simulation iteration. Alternatively, if the user knows a priori the true objective function value, he/she may specify the argument sol, in which case, the third type of failure occurs when the objective function value achieved by the algorithm is within eps of sol.
Further details for each of the methods are provided in the vignette, which can be seen by typing vignette("turboEM").
turboem, turbo
###########################################################################
# Examples provided in the vignette, which can be seen by typing
#  vignette("turboEM")
Run the code above in your browser using DataLab