.end.result.stats.base.col.types <- c("character",
"character",
"integer",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"character",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"numeric",
"integer",
"numeric",
"numeric",
"numeric",
"character",
"numeric",
"numeric",
"character",
"numeric",
"numeric",
"numeric",
"character",
"numeric",
"numeric",
"character",
"numeric",
"numeric");
.end.result.stats.base.col.names <- c("algorithm",
"instance",
"n.runs",
"best.f.min",
"best.f.min.setup",
"best.f.q050",
"best.f.q050.setup",
"best.f.q159",
"best.f.q159.setup",
"best.f.q250",
"best.f.q250.setup",
"best.f.median",
"best.f.median.setup",
"best.f.q750",
"best.f.q750.setup",
"best.f.q841",
"best.f.q841.setup",
"best.f.q950",
"best.f.q950.setup",
"best.f.max",
"best.f.max.setup",
"best.f.mean",
"best.f.mean.setup",
"best.f.sd",
"total.time.min",
"total.time.q050",
"total.time.q159",
"total.time.q250",
"total.time.median",
"total.time.q750",
"total.time.q841",
"total.time.q950",
"total.time.max",
"total.time.mean",
"total.time.sd",
"total.fes.min",
"total.fes.q050",
"total.fes.q159",
"total.fes.q250",
"total.fes.median",
"total.fes.q750",
"total.fes.q841",
"total.fes.q950",
"total.fes.max",
"total.fes.mean",
"total.fes.sd",
"last.improvement.time.min",
"last.improvement.time.q050",
"last.improvement.time.q159",
"last.improvement.time.q250",
"last.improvement.time.median",
"last.improvement.time.q750",
"last.improvement.time.q841",
"last.improvement.time.q950",
"last.improvement.time.max",
"last.improvement.time.mean",
"last.improvement.time.sd",
"last.improvement.fes.min",
"last.improvement.fes.q050",
"last.improvement.fes.q159",
"last.improvement.fes.q250",
"last.improvement.fes.median",
"last.improvement.fes.q750",
"last.improvement.fes.q841",
"last.improvement.fes.q950",
"last.improvement.fes.max",
"last.improvement.fes.mean",
"last.improvement.fes.sd",
"n.improvements.min",
"n.improvements.q050",
"n.improvements.q159",
"n.improvements.q250",
"n.improvements.median",
"n.improvements.q750",
"n.improvements.q841",
"n.improvements.q950",
"n.improvements.max",
"n.improvements.mean",
"n.improvements.sd",
"budget.time.min",
"budget.time.median",
"budget.time.max",
"budget.time.mean",
"budget.time.sd",
"budget.FEs.min",
"budget.FEs.median",
"budget.FEs.max",
"budget.FEs.mean",
"budget.FEs.sd",
"n.successes",
"ert.time",
"ert.fes",
"success.time.min",
"success.time.min.setup",
"success.time.median",
"success.time.max",
"success.time.max.setup",
"success.time.mean",
"success.time.sd",
"success.fes.min",
"success.fes.min.setup",
"success.fes.median",
"success.fes.max",
"success.fes.max.setup",
"success.fes.mean",
"success.fes.sd");
.check.end.result.stats <- function(data) {
stopifnot(is.data.frame(data),
nrow(data) > 0L,
all(colnames(data) == .end.result.stats.base.col.names),
all(is.finite(data$n.runs)),
all(data$n.runs > 0L),
all(is.finite(data$best.f.min)),
all(is.finite(data$best.f.q050)),
all(is.finite(data$best.f.q159)),
all(is.finite(data$best.f.q250)),
all(is.finite(data$best.f.median)),
all(is.finite(data$best.f.q750)),
all(is.finite(data$best.f.q841)),
all(is.finite(data$best.f.q950)),
all(is.finite(data$best.f.max)),
all(is.finite(data$best.f.mean)),
all(is.finite(data$best.f.sd)),
all(data$best.f.min <= data$best.f.q050),
all(data$best.f.q050 <= data$best.f.q159),
all(data$best.f.q159 <= data$best.f.q250),
all(data$best.f.q250 <= data$best.f.median),
all(data$best.f.median <= data$best.f.q750),
all(data$best.f.q750 <= data$best.f.q841),
all(data$best.f.q841 <= data$best.f.q950),
all(data$best.f.q950 <= data$best.f.max),
all(data$best.f.mean <= data$best.f.max),
all(data$best.f.min <= data$best.f.mean),
all( (data$best.f.sd == 0) ==
(data$best.f.max <= data$best.f.min)),
all(is.finite(data$total.time.min)),
all(is.finite(data$total.time.q050)),
all(is.finite(data$total.time.q159)),
all(is.finite(data$total.time.q250)),
all(is.finite(data$total.time.median)),
all(is.finite(data$total.time.q750)),
all(is.finite(data$total.time.q841)),
all(is.finite(data$total.time.q950)),
all(is.finite(data$total.time.max)),
all(is.finite(data$total.time.mean)),
all(is.finite(data$total.time.sd)),
all(data$total.time.min >= 0),
all(data$total.time.min <= data$total.time.q050),
all(data$total.time.q050 <= data$total.time.q159),
all(data$total.time.q159 <= data$total.time.q250),
all(data$total.time.q250 <= data$total.time.median),
all(data$total.time.median <= data$total.time.q750),
all(data$total.time.q750 <= data$total.time.q841),
all(data$total.time.q841 <= data$total.time.q950),
all(data$total.time.q950 <= data$total.time.max),
all(data$total.time.mean <= data$total.time.max),
all(data$total.time.min <= data$total.time.mean),
all( (data$total.time.sd == 0) ==
(data$total.time.max <= data$total.time.min)),
all(is.finite(data$total.fes.min)),
all(is.finite(data$total.fes.q050)),
all(is.finite(data$total.fes.q159)),
all(is.finite(data$total.fes.q250)),
all(is.finite(data$total.fes.median)),
all(is.finite(data$total.fes.q750)),
all(is.finite(data$total.fes.q841)),
all(is.finite(data$total.fes.q950)),
all(is.finite(data$total.fes.max)),
all(is.finite(data$total.fes.mean)),
all(is.finite(data$total.fes.sd)),
all(data$total.fes.min > 0L),
all(data$total.fes.min <= data$total.fes.q050),
all(data$total.fes.q050 <= data$total.fes.q159),
all(data$total.fes.q159 <= data$total.fes.q250),
all(data$total.fes.q250 <= data$total.fes.median),
all(data$total.fes.median <= data$total.fes.q750),
all(data$total.fes.q750 <= data$total.fes.q841),
all(data$total.fes.q841 <= data$total.fes.q950),
all(data$total.fes.q950 <= data$total.fes.max),
all(data$total.fes.mean <= data$total.fes.max),
all(data$total.fes.min <= data$total.fes.mean),
all( (data$total.fes.sd == 0) ==
(data$total.fes.max <= data$total.fes.min)),
all(is.finite(data$last.improvement.time.min)),
all(is.finite(data$last.improvement.time.q050)),
all(is.finite(data$last.improvement.time.q159)),
all(is.finite(data$last.improvement.time.q250)),
all(is.finite(data$last.improvement.time.median)),
all(is.finite(data$last.improvement.time.q750)),
all(is.finite(data$last.improvement.time.q841)),
all(is.finite(data$last.improvement.time.q950)),
all(is.finite(data$last.improvement.time.max)),
all(is.finite(data$last.improvement.time.mean)),
all(is.finite(data$last.improvement.time.sd)),
all(data$last.improvement.time.min >= 0L),
all(data$last.improvement.time.min <= data$total.time.min),
all(data$last.improvement.time.min <= data$last.improvement.time.q050),
all(data$last.improvement.time.q050 <= data$last.improvement.time.q159),
all(data$last.improvement.time.q159 <= data$last.improvement.time.q250),
all(data$last.improvement.time.q250 <= data$last.improvement.time.median),
all(data$last.improvement.time.median <= data$last.improvement.time.q750),
all(data$last.improvement.time.q750 <= data$last.improvement.time.q841),
all(data$last.improvement.time.q841 <= data$last.improvement.time.q950),
all(data$last.improvement.time.mean <= data$last.improvement.time.max),
all(data$last.improvement.time.q950 <= data$last.improvement.time.max),
all(data$last.improvement.time.min <= data$last.improvement.time.mean),
all( (data$last.improvement.time.sd == 0) ==
(data$last.improvement.time.max <= data$last.improvement.time.min)),
all(data$last.improvement.time.max <= data$total.time.max),
all(is.finite(data$last.improvement.fes.min)),
all(is.finite(data$last.improvement.fes.q050)),
all(is.finite(data$last.improvement.fes.q159)),
all(is.finite(data$last.improvement.fes.q250)),
all(is.finite(data$last.improvement.fes.median)),
all(is.finite(data$last.improvement.fes.q750)),
all(is.finite(data$last.improvement.fes.q841)),
all(is.finite(data$last.improvement.fes.q950)),
all(is.finite(data$last.improvement.fes.max)),
all(is.finite(data$last.improvement.fes.mean)),
all(is.finite(data$last.improvement.fes.sd)),
all(data$last.improvement.fes.min >= 0),
all(data$last.improvement.fes.min <= data$total.fes.min),
all(data$last.improvement.fes.min <= data$last.improvement.fes.q050),
all(data$last.improvement.fes.q050 <= data$last.improvement.fes.q159),
all(data$last.improvement.fes.q159 <= data$last.improvement.fes.q250),
all(data$last.improvement.fes.q250 <= data$last.improvement.fes.median),
all(data$last.improvement.fes.median <= data$last.improvement.fes.q750),
all(data$last.improvement.fes.q750 <= data$last.improvement.fes.q841),
all(data$last.improvement.fes.q841 <= data$last.improvement.fes.q950),
all(data$last.improvement.fes.q950 <= data$last.improvement.fes.max),
all(data$last.improvement.fes.mean <= data$last.improvement.fes.max),
all(data$last.improvement.fes.min <= data$last.improvement.fes.mean),
all( (data$last.improvement.fes.sd == 0) ==
(data$last.improvement.fes.max <= data$last.improvement.fes.min)),
all(data$last.improvement.fes.max <= data$total.fes.max),
all(is.finite(data$n.improvements.min)),
all(is.finite(data$n.improvements.q050)),
all(is.finite(data$n.improvements.q159)),
all(is.finite(data$n.improvements.q250)),
all(is.finite(data$n.improvements.median)),
all(is.finite(data$n.improvements.q750)),
all(is.finite(data$n.improvements.q841)),
all(is.finite(data$n.improvements.q950)),
all(is.finite(data$n.improvements.max)),
all(is.finite(data$n.improvements.mean)),
all(is.finite(data$n.improvements.sd)),
all(data$n.improvements.min > 0),
all(data$n.improvements.min <= data$n.improvements.q050),
all(data$n.improvements.q050 <= data$n.improvements.q159),
all(data$n.improvements.q159 <= data$n.improvements.q250),
all(data$n.improvements.q250 <= data$n.improvements.median),
all(data$n.improvements.median <= data$n.improvements.q750),
all(data$n.improvements.q750 <= data$n.improvements.q841),
all(data$n.improvements.q841 <= data$n.improvements.q950),
all(data$n.improvements.q950 <= data$n.improvements.max),
all(data$n.improvements.mean <= data$n.improvements.max),
all(data$n.improvements.min <= data$n.improvements.mean),
all( (data$n.improvements.sd == 0) ==
(data$n.improvements.max <= data$n.improvements.min)),
all(is.finite(data$budget.time.min)),
all(is.finite(data$budget.time.median)),
all(is.finite(data$budget.time.max)),
all(is.finite(data$budget.time.mean)),
all(is.finite(data$budget.time.sd)),
all(data$budget.time.min > 0),
all(data$budget.time.min <= data$budget.time.median),
all(data$budget.time.median <= data$budget.time.max),
all(data$budget.time.mean <= data$budget.time.max),
all(data$budget.time.min <= data$budget.time.mean),
all( (data$budget.time.sd == 0) ==
(data$budget.time.max <= data$budget.time.min)),
all(is.finite(data$budget.fes.min)),
all(is.finite(data$budget.fes.median)),
all(is.finite(data$budget.fes.max)),
all(is.finite(data$budget.fes.mean)),
all(is.finite(data$budget.fes.sd)),
all(data$budget.fes.min > 0),
all(data$budget.fes.min <= data$budget.fes.median),
all(data$budget.fes.median <= data$budget.fes.max),
all(data$budget.fes.mean <= data$budget.fes.max),
all(data$budget.fes.min <= data$budget.fes.mean),
all( (data$budget.fes.sd == 0) ==
(data$budget.fes.max <= data$budget.fes.min)),
all(is.finite(data$n.successes)),
all(data$n.successes >= 0L),
all(data$n.successes <= data$n.runs),
all(data$ert.fes > 0L),
all( (data$ert.fes < +Inf) == (data$n.successes > 0L)),
all(data$ert.time >= 0L),
all( (data$ert.time < +Inf) == (data$n.successes > 0L))
);
}
#' @title Load the End Result Statistics from a File
#' @description Load the end result statistics from a file generated by the
#' aitoa log processing.
#' @param file the file to load
#' @return the data frame with the end results
#' @export aitoa.load.end.result.stats
#' @importFrom utils read.csv
#' @include utils.R
aitoa.load.end.result.stats <- function(file) {
file <- .file.exists(file);
data <- read.csv(file,
header=TRUE,
sep=";",
stringsAsFactors = FALSE,
check.names = TRUE,
blank.lines.skip = TRUE,
comment.char = '#',
col.names = .end.result.stats.base.col.names,
colClasses = .end.result.stats.base.col.types);
.check.end.result.stats(data);
return(data);
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.