od_RC: Efficient exact design using the RC heuristic

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/od_RC.R

Description

Computes an efficient exact design under multiple linear resource constraints using the RC heuristic.

Usage

1
2
3
od_RC(Fx, b, A = NULL, w0 = NULL, bin = FALSE, Phi.app = NULL, crit = "D",
      h=NULL, w1 = NULL, rest.max = Inf, t.max = 120,
      echo = TRUE, track=TRUE)

Arguments

Fx

the n times m (where m>=2, m<=n) matrix containing all candidate regressors (as rows), i.e., n is the number of candidate design points, and m is the number of parameters.

b, A

the vector of length k with positive real components and the k times n matrix of non-negative reals numbers. Each column of A must have at least one strictly positive element. The linear constraints A%*%w<=b, w0<=w define the set of permissible designs w (where w0 is a described below.) The argument A can also be NULL; in that case b must be a positive number and A is set to the 1 times n matrix of ones.

w0

a non-negative vector of length n representing the design to be augmented (i.e., the function adds the constraint w >= w0 for permissible designs w). This argument can also be NULL; in that case, w0 is set to the vector of zeros.

bin

Should each design point be used at most once?

Phi.app

the optimal value of the corresponding approximate (relaxed) problem. If Phi.app = NULL, a very conservative upper bound on Phi.app is pre-computed.

crit

the optimality criterion. Possible values are "D", "A", "I", "C".

h

a non-zero vector of length m corresponding to the coefficients of the linear parameter combination of interest. If crit is not "C" then h is ignored. If crit is "C" and h=NULL then h is assumed to be c(0,...,0,1).

w1

an n times 1 nonnegative vector that represents the initial design. The design w1 must satisfy w0<=w1 and A*w1<=b. The argument w1 can also be NULL; in that case the procedure sets w1 to be w0.

rest.max

the maximum allowed number of restarts of the method.

t.max

the time limit for the computation.

echo

Print the call of the function?

track

Trace the computation?

Details

This is an implementation of the algorithm proposed by Harman et al. (2016); see the references. The inequalities A%*%w<=b, w0<=w with the specific properties mentioned above, form the so-called resource constraints. They encompass many practical restrictions on the design, and lead to a bounded set of feasible solutions.

The information matrix of w1 should preferably have the reciprocal condition number of at least 1e-5. Note that the floor of an optimal approximate design (computed for instance using od_MISOCP) is often a good initial design. Alternatively, the initial design can be the result of another optimal design procedure, such as od_AQUA. Even if no initial design is provided, the model should be non-singular in the sense that there exists an exact design w with a well conditioned information matrix, satisfying all constraints. If this requirement is not satisfied, the computation may fail, or it may produce a deficient design.

The procedure always returns a permissible design, but in some cases, especially if t.max is too small, the resulting design can be inefficient. The performance depends on the problem and on the hardware used, but in most cases the function can compute a nearly-optimal exact design for a problem with a few hundreds design points and tens of constraints within minutes of computing time. Because this is a heuristic method, we advise the user to verify the quality of the resulting design by comparing it to the result of an alternative method (such as od_AQUA and od_MISOCP) and/or by computing its efficiency relative to the corresponding optimal approximate design.

In the very special (but frequently used) case of the single constraint on the experimental size, it is generally more efficient to use the function od_KL.

Value

A list with the following components:

call

The call of the function.

w.best

The resulting exact design.

supp

The indices of the support of w.best.

w.supp

The weights of w.best on the support.

M.best

The information matrix of w.best.

Phi.best

The criterion value of w.best.

eff.best

A lower bound on the efficiency of w.best with respect to the optimal approximate design.

n.rest

The number of restarts performed.

t.act

The actual time of the computation.

Author(s)

Radoslav Harman, Alena Bachrata, Lenka Filova

References

Harman R, Bachrata A, Filova L (2016): Heuristic construction of exact experimental designs under multiple resource constraints, Applied Stochastic Models in Business and Industry, Volume 32, pp. 3-17

See Also

od_AQUA, od_MISOCP, od_KL

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## Not run: 
# A D-efficient exact design for a quadratic model with 2 factors
# constrained by the total time and the total cost of the experiment.
# The cost of a single trial in (x1, x2) is 10 + x1 + 2*x2
# The limit on the total cost is 1000
# (we do not know the number of trials in advance)

form.quad <- ~x1 + x2 + I(x1^2) + I(x2^2) + I(x1 * x2)
Fx <- Fx_cube(form.quad, lower = c(0, 0), upper = c(10, 10), n.levels = c(11, 11))
n <- nrow(Fx); A <- matrix(0, nrow = 1, ncol = n)
for(i in 1:n) A[1, i] <- 5 + Fx[i, 2] + 2*Fx[i, 3]
w <- od_RC(Fx, 1000, A, bin = TRUE, t.max = 8)$w.best
od_plot(Fx, w, Fx[, 2:3], dd.size = 3)

## End(Not run)

OptimalDesign documentation built on March 26, 2020, 9:35 p.m.