# SA2008

##### Simulated Annealing for LHD with Multi-objective Optimization Approach

`SA2008`

returns a maximin distance LHD constructed by simulated annealing algorithm with multi-objective optimization approach.

##### Usage

`SA2008(n, k, N, T0, rate, Tmin, Imax, p = 50, q = 1)`

##### Arguments

- n
A positive integer.

- k
A positive integer.

- N
A positive integer.

- T0
A positive number.

- rate
A positive percentage.

- Tmin
A positive number.

- Imax
A positive integer.

- p
A positive integer.

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

##### Details

`n`

stands for the number of rows (or run size).`k`

stands for the number of columns (or the number of factors).`N`

stands for the number of iterations.`T0`

stands for the user-defined initial temperature.`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.`Tmin`

stands for the minimium temperature allowed. When current temperature becomes smaller or equal to`Tmin`

, the stopping criterion for current loop is met.`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 5.`p`

is the parameter in the phi_p formula, and`p`

is prefered to be large.If

`q`

is 1 (the default setting),`dij`

is the rectangular distance. If`q`

is 2,`dij`

is the Euclidean distance.

##### Value

If all inputs are logical, then the output will be a `n`

by `k`

LHD.

##### Note

This modified simulated annealing algorithm reduces columnwise correlations, but with a cost of more computational time.

##### References

Joseph, V.R., and Hung, Y. (2008) Orthogonal-maximin Latin hypercube designs. *Statistica Sinica*, **18**, 171-186.

##### Examples

```
# NOT RUN {
#create a 5 by 3 maximin distance LHD, with # of iterations =10, initial
#temperature is set to be 10, decrease rate is 10%, minimium temperature is 1,
#maximum perturbations the algorithm will try without improvements is 5, and p=50
try=SA2008(n=5,k=3,N=10,T0=10,rate=0.1,Tmin=1,Imax=5,p=50,q=1)
try
phi_p(try,p=50) #calculate the phi_p of "try".
#Another example with different input
try2=SA2008(n=9,k=2,N=5,T0=8,rate=0.1,Tmin=1,Imax=3,p=50,q=1)
try2
# }
```

*Documentation reproduced from package LHD, version 0.1.0, License: MIT + file LICENSE*