grid_search_check: Check the time consumed by running the grid search algorithm...

View source: R/algorithms.R

grid_search_checkR Documentation

Check the time consumed by running the grid search algorithm with a zoom.

Description

This function provides a quick runtime estimate for grid_search under the same settings. It performs two short pilot runs on smaller grids (with zoom = 0) and extrapolates the expected time for the full grid and the requested number of zoom-in layers.

Usage

grid_search_check(
  FUN,
  grid,
  MoreArgs = NULL,
  zoom = 0,
  decay = 0.5,
  num = 1,
  parallel = FALSE,
  cores = NULL,
  silent = TRUE
)

Arguments

FUN

the target function to be minimized.

grid

an object of class GRID created by build_grid.

MoreArgs

a named list of additional arguments to FUN, see mapply.

zoom

number of (additional) zoom-in layers, 0 by default.

decay

a number in (0,1) controlling the decay of subgrid sizes.

num

number of points to return at each grid search, 1 by default.

parallel

a logical; if TRUE, parallel computation is used.

cores

an integer specifying the requested number of workers when parallel = TRUE. If NULL, the function uses 2 workers by default (subject to future::availableCores()). The number of workers used is min(cores, future::availableCores()).

silent

a logical indicating whether progress information is printed.

Details

This is useful before launching a large run, for example on a compute server or under a batch system such as SLURM, where an approximate runtime is needed to request resources.

The boolean silent controls whether progress information is printed to the console. For details on the algorithm and the meaning of the arguments, see grid_search.

Value

a numeric value giving the estimated runtime in seconds.

Author(s)

Yukai Yang, yukai.yang@statistik.uu.se

See Also

build_grid, grid_search

Examples

# Rastrigin function
ndim <- 2
nA <- 10
Rastrigin <- function(vx) nA * ndim + sum(vx * vx - nA * cos(2 * pi * vx))

# Build a grid
bin <- c(from = -5.12, to = 5.12, by = .5)
grid <- build_grid(bin, bin)

# Estimate runtime (serial)
t_est <- grid_search_check(Rastrigin, grid, silent = FALSE)
t_est


# Finer grid
bin <- c(from = -5.12, to = 5.12, by = .1)
grid <- build_grid(bin, bin)

# Estimate runtime, then run the search
t_est <- grid_search_check(Rastrigin, grid, parallel = TRUE, cores = 2, silent = FALSE)
ret   <- grid_search(Rastrigin, grid, parallel = TRUE, cores = 2, silent = FALSE)



zoomgrid documentation built on March 1, 2026, 1:07 a.m.