combinatorial_round: Combinatorial round

View source: R/efficient_round.R

combinatorial_roundR Documentation

Combinatorial round

Description

Given an approximate design and a number of points, computes all the possible combinations of roundings of each point to the nearest integer, keeps the ones that amount to the requested number of points, and returns the one with the best value for the criterion function

Usage

combinatorial_round(
  design,
  n,
  criterion = NULL,
  model = NULL,
  parameters = NULL,
  par_values = NULL,
  weight_fun = function(x) 1,
  par_int = NULL,
  reg_int = NULL,
  matB = NULL
)

Arguments

design

either a dataframe with the design to round, or an object of class "optdes". If the former, the criterion, model and parameters must be specified. The dataframe should have two columns:

  • Point contains the support points of the design.

  • Weight contains the corresponding weights of the Points.

n

integer with the desired number of points of the resulting design.

criterion

character variable with the chosen optimality criterion. Can be one of the following:

  • 'D-Optimality'

  • 'Ds-Optimality'

  • 'A-Optimality'

  • 'I-Optimality'

  • 'L-Optimality'

model

formula describing the model. Must use x as the variable.

parameters

character vector with the parameters of the models, as written in the formula.

par_values

numeric vector with the parameters nominal values, in the same order as given in parameters.

weight_fun

optional one variable function that represents the square of the structure of variance, in case of heteroscedastic variance of the response.

par_int

optional numeric vector with the index of the parameters of interest for Ds-optimality.

matB

optional matrix of dimensions k x k, for L-optimality.

Value

A data.frame with the rounded design to n number of points

Examples

aprox_design <- opt_des("D-Optimality", y ~ a * exp(-b / x), c("a", "b"), c(1, 1500), c(212, 422))
combinatorial_round(aprox_design, 27)

Kezrael/optedr documentation built on Oct. 12, 2024, 8:40 p.m.