initOptimalExperimentalDesignObject: Begin a Search for the Optimal Solution

View source: R/optimal_search.R

initOptimalExperimentalDesignObjectR Documentation

Begin a Search for the Optimal Solution

Description

This method creates an object of type optimal_experimental_design and will immediately initiate a search through allocation space. Since this search takes exponential time, for most machines, this method is futile beyond 28 samples. You've been warned! For debugging, you can use set num_cores = 1 to be assured of deterministic output.

Usage

initOptimalExperimentalDesignObject(
  X = NULL,
  objective = "mahal_dist",
  Kgram = NULL,
  wait = FALSE,
  start = TRUE,
  num_cores = 1,
  verbose = TRUE,
  use_safe_inverse = FALSE
)

Arguments

X

The design matrix with $n$ rows (one for each subject) and $p$ columns (one for each measurement on the subject). This is the design matrix you wish to search for a more optimal design.

objective

The objective function to use when searching design space. This is a string with valid values "mahal_dist" (the default), "abs_sum_diff" or "kernel".

Kgram

If the objective = kernel, this argument is required to be an n x n matrix whose entries are the evaluation of the kernel function between subject i and subject j. Default is NULL.

wait

Should the R terminal hang until all max_designs vectors are found? The deafult is FALSE.

start

Should we start searching immediately (default is TRUE).

num_cores

The number of CPU cores you wish to use during the search. The default is 1.

verbose

Should the algorithm emit progress output? Default is TRUE.

use_safe_inverse

Should a regularized inverse be used for the Mahalanobis objective? Default is FALSE.

Value

An object of type optimal_experimental_design_search which can be further operated upon

Author(s)

Adam Kapelner

Examples

## Not run: 
set.seed(1)
X = matrix(rnorm(12), nrow = 6)
obj = initOptimalExperimentalDesignObject(
  X,
  objective = "abs_sum_diff",
  num_cores = 1,
  start = TRUE,
  wait = TRUE,
  verbose = FALSE
)
obj

## End(Not run)

GreedyExperimentalDesign documentation built on Jan. 9, 2026, 5:07 p.m.