LaPSO {LHD} | R Documentation |
Particle Swarm Optimization for LHD
Description
LaPSO
returns a n
by k
LHD matrix generated by particle swarm optimization algorithm (PSO)
Usage
LaPSO(
n,
k,
m = 10,
N = 10,
SameNumP = 0,
SameNumG = n/4,
p0 = 1/(k - 1),
OC = "phi_p",
p = 15,
q = 1,
maxtime = 5
)
Arguments
n |
A positive integer, which stands for the number of rows (or run size). |
k |
A positive integer, which stands for the number of columns (or factor size). |
m |
A positive integer, which stands for the number of particles. The default is set to be 10. A large value of |
N |
A positive integer, which stands for the number of iterations. The default is set to be 10. A large value of |
SameNumP |
A non-negative integer, which stands for how many elements in current column of current particle LHD should be the same as corresponding Personal Best. SameNumP=0, 1, 2, ..., n, and 0 means to skip the "exchange". The default is set to be 0. |
SameNumG |
A non-negative integer, which stands for how many elements in current column of current particle LHD should be the same as corresponding Global Best. SameNumP=0, 1, 2, ..., n, and 0 means to skip the "exchange". The default is set to be |
p0 |
A probability of exchanging two randomly selected elements in current column of current particle LHD. The default is set to be 1/( |
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 a n
by k
LHD. Here are some general suggestions about the parameters:
-
SameNumP
is approximatelyn
/2 whenSameNumG
is 0. -
SameNumG
is approximatelyn
/4 whenSameNumP
is 0. -
p0
* (k
- 1) = 1 to 2 is often sufficient. Sop0
= 1/(k
- 1) to 2/(k
- 1).
References
Chen, R.-B., Hsieh, D.-N., Hung, Y., and Wang, W. (2013) Optimizing Latin hypercube designs by particle swarm. Stat. Comput., 23, 663-676.
Examples
#generate a 5 by 3 maximin distance LHD with the default setting
try=LaPSO(n=5,k=3)
try
phi_p(try) #calculate the phi_p of "try".
#Another example
#generate a 8 by 4 nearly orthogonal LHD
try2=LaPSO(n=8,k=4,OC="AvgAbsCor")
try2
AvgAbsCor(try2) #calculate the average absolute correlation.