knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(iraceplot, quietly = TRUE)
load("../data/iraceResults.rda")
niterations <- length(iraceResults$allElites)
ninstances <- nrow(iraceResults$experiments)
irace_log <- iraceResults$experimentLog
byiterations <- NULL
for (i in 1:niterations) {
  nconfig <- length(unique(irace_log[irace_log[,"iteration"]==i,"configuration"]))
  nbest <- length(iraceResults$allElites[[i]])
  ninstances <- length(unique(irace_log[irace_log[,"iteration"]==i,"instance"]))
  nexperiments <- nrow(irace_log[irace_log[,"iteration"]==i,])
  bestid <- iraceResults$iterationElites[[i]]
  byiterations <- rbind(byiterations, c(i, nconfig, ninstances, nexperiments, nbest, bestid))
}
colnames(byiterations) <- c("iteration", "configurations", "instances", "experiments", "elites", "best id")

byinstance <- NULL
instances <- iraceResults$scenario$instances[iraceResults$state$.irace$instancesList[1:ninstances, "instance"]]
for (i in 1:length(instances)) {
  iname <- basename(instances[i])
  nexperiments <-  nrow(irace_log[irace_log[,"instance"]==i,])
  imean <- mean(iraceResults$experiments[i,], na.rm=TRUE)
  ibest <- min(iraceResults$experiments[i,], na.rm=TRUE)
  iworst <- max(iraceResults$experiments[i,], na.rm=TRUE)
  imedian <- median(iraceResults$experiments[1,], na.rm = TRUE)
  bestid <- which.min(iraceResults$experiments[i,])
  byinstance <- rbind(byinstance, c(iname, nexperiments, imean, imedian, ibest, iworst, bestid))
}
colnames(byinstance) <- c("instance", "experiments", "mean", "median", "best", "worst", "best id" )

General information

By iteration

knitr::kable(byiterations)

By instance

knitr::kable(byinstance)

Parameter settings

Elite configurations

The final best configurations found by irace are:

knitr::kable(iraceResults$allConfigurations[iraceResults$allElites[[length(iraceResults$allElites)]],])

Parallel coordinates visualization

parallel_coord(iraceResults)

Parameter values sampling

The frequency of the parameter values sampled by irace:

sampling_frequency(iraceResults)

Performance

Testing performance

The final elite configuration performance on the test set:

if (iraceResults$scenario$testInstances == "" || is.null(iraceResults$scenario$testInstances)) {
  cat("No test performed.\n")
} else {
  boxplot_test(iraceResults, type = "best")
}

Iteration elite configuration performance on the test set:

if (iraceResults$scenario$testIterationElites) {
   boxplot_test(iraceResults, type = "all")
} else{
  cat("No iteration test performed.\n")
}

Training performance

Final elite configurations performance on the training set:

boxplot_training(iraceResults)


pabloOnate/iraceplot documentation built on Aug. 29, 2021, 2:32 a.m.