SLHD

0th

Percentile

Sliced Latin Hypercube Design (SLHD)

SLHD returns an LHD matrix generated by "improved two-stage algorithm" from Ba et al. (2015).

Usage
SLHD(
  n,
  k,
  t = 1,
  N = 10,
  T0 = 10,
  rate = 0.1,
  Tmin = 1,
  Imax = 3,
  OC = "phi_p",
  p = 15,
  q = 1,
  stage2 = FALSE
)
Arguments
n

A positive integer.

k

A positive integer.

t

A positive integer.

N

A positive integer.

T0

A positive number.

rate

A positive percentage.

Tmin

A positive number.

Imax

A positive integer.

OC

An optimality criterion.

p

A positive integer.

q

The default is set to be 1, and it could be either 1 or 2.

stage2

The default is set to be FALSE, and it could be either FALSE or TRUE.

Details

  • n stands for the number of rows (or run size).

  • k stands for the number of columns (or the number of factors).

  • t stands for the number of slices. n/t must be an integer, that is, n is divisible by t. t must not exceed k when n is 9 or larger, and t must be smaller than k when n is smaller than 9. Otherwise, the funtion will never stop. The default is set to be 1.

  • N stands for the number of iterations. The default is set to be 10.

  • T0 stands for the user-defined initial temperature. The default is set to be 10.

  • rate stands for temperature decrease rate, and it should be in (0,1). For example, rate=0.25 means the temperature decreases by 25% each time. The default is set to be 10%.

  • Tmin stands for the minimium temperature allowed. When current temperature becomes smaller or equal to Tmin, the stopping criterion for current loop is met. The default is set to be 1.

  • Imax stands for the maximum perturbations the algorithm will try without improvements before temperature is reduced. For the computation complexity consideration, Imax is recommended to be smaller or equal to 3, which is the default setting.

  • OC stands for the optimality criterion, the default setting is "phi_p", and it could be one of the following: "phi_p", "AvgAbsCor", "MaxAbsCor", "MaxProCriterion".

  • p is the parameter in the phi_p formula, and p is prefered to be large. The default is set to be 15.

  • If q is 1 (the default setting), dij is the rectangular distance. If q is 2, dij is the Euclidean distance.

  • If stage2 is FALSE (the default setting), SLHD will only implement the first stage of the algorithm. If stage2 is TRUE, SLHD will implement the whole algorithm.

Value

If all inputs are logical, then the output will be a n by k LHD.

Note

As mentioned from the original paper, the first stage plays a much more important role since it optimizes the slice level. More resources should be given to the first stage if computational budgets are limited. Let m=n/t, where m is the number of rows for each slice, if (m)^k >> n, the second stage becomes optional. That is the reason why we add a stage2 parameter to let users decide if the second stage is needed.

References

Ba, S., Myers, W.R., and Brenneman, W.A. (2015) Optimal Sliced Latin Hypercube Designs. Technometrics, 57, 479-487.

Aliases
  • SLHD
Examples
# NOT RUN {
#generate a 5 by 3 maximin distance LHD with the default setting
trySLHD1=SLHD(n=5,k=3)
trySLHD1
phi_p(trySLHD1)   #calculate the phi_p of "trySLHD1".

#generate a 5 by 3 maximin distance LHD with stage II
#let stage2=TRUE and other input are the same as above
trySLHD2=SLHD(n=5,k=3,stage2=TRUE)
trySLHD2
phi_p(trySLHD2)   #calculate the phi_p of "trySLHD2".

#Another example
#generate a 8 by 4 nearly orthogonal LHD
trySLHD3=SLHD(n=8,k=4,OC="AvgAbsCor",stage2=TRUE)
trySLHD3
AvgAbsCor(trySLHD3)  #calculate the average absolute correlation.
# }
Documentation reproduced from package LHD, version 1.1.0, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.