OASA {LHD} | R Documentation |
Orthogonal-Array-Based Simulated Annealing
Description
OASA
returns an LHD matrix generated by orthogonal-array-based simulated annealing algorithm (OASA)
Usage
OASA(
OA,
N = 10,
T0 = 10,
rate = 0.1,
Tmin = 1,
Imax = 5,
OC = "phi_p",
p = 15,
q = 1,
maxtime = 5
)
Arguments
OA |
An orthogonal array matrix. |
N |
A positive integer, which stands for the number of iterations. The default is set to be 10. A large value of |
T0 |
A positive number, which stands for the user-defined initial temperature. The default is set to be 10. |
rate |
A positive percentage, which 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 |
A positive number, which stands for the minimium temperature allowed. When current temperature becomes smaller or equal to |
Imax |
A positive integer, which stands for the maximum perturbations the algorithm will try without improvements before temperature is reduced. The default is set to be 5. For the computation complexity consideration, |
OC |
An optimality criterion. The default setting is "phi_p", and it could be one of the following: "phi_p", "AvgAbsCor", "MaxAbsCor", "MaxProCriterion". |
p |
A positive integer, which is the parameter in the phi_p formula, and |
q |
The default is set to be 1, and it could be either 1 or 2. If |
maxtime |
A positive number, which indicates the expected maximum CPU time given by user, and it is measured by minutes. For example, maxtime=3.5 indicates the CPU time will be no greater than three and half minutes. The default is set to be 5. |
Value
If all inputs are logical, then the output will be an LHD whose sizes are the same as input OA. The assumption is that the elements of OAs must be positive.
References
Leary, S., Bhaskar, A., and Keane, A. (2003) Optimal orthogonal-array-based latin hypercubes. Journal of Applied Statistics, 30, 585-598.
Examples
#create an OA(9,2,3,2)
OA=matrix(c(rep(1:3,each=3),rep(1:3,times=3)),ncol=2,nrow=9,byrow = FALSE)
#Use above "OA" as the input OA to generate a 9 by 2 maximin distance LHD
#with the default setting
try=OASA(OA=OA)
try
phi_p(try) #calculate the phi_p of "try".
#Another example
#generate a 9 by 2 nearly orthogonal LHD
try2=OASA(OA=OA,OC="MaxAbsCor")
try2
MaxAbsCor(try2) #calculate the maximum absolute correlation.