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.