This function aims at constructing optimal strata with an optimization algorithm based on a global optimisation technique called Variable neighborhood search (VNS). The optimization algorithm is applied to solve the one dimensional case, which reduces the stratification problem to just determining strata boundaries. Assuming that the number L of strata and the coefficient of variation are fixed, it is possible to produce the strata boundaries by taking into consideration an objective function associated with the sample size. This function determines strata boundaries so that the elements in each stratum are more homogeneous among themselves and produce minimum sample size applying an integer formulation proposed by Brito et al (2015).
STRATVNS(
X,
L = 3,
cvt = 0.1,
nhmin = 2,
maxstart = 3,
imax = 3,
kmax = 3,
s = 30,
sl = 50,
tmax = 15,
nsols = 20,
cputime = 3600,
nIterWithNoImpMax = 5,
parallelize = TRUE
)
Stratification Variable
Number of strata
Target cv
Mininum sample size by stratum
Number of iterations in multstart
Maximum Number Iterations - VNS
Maximum Neighborhoods = number of cut points selected to apply shaking and local search
Range of shaking procedure
Range of RVNS procedure
Maximum number cut points in neighborhoods
Number of initial solutions generated
Maximum cpu time in seconds
Maximum number of iterations without improvement in VNS
TRUE = Performs multiple vns calls in parallel
Cut points
Minimum sample size
Sample size by strata
coefficient of variation
Strata sizes
Strata variances
Runtime in seconds
STRATVNS
1. Hansen, P., Mladenovi<U+00B4>c, N., 2001. Variable neighborhood search: Principles and applications. European Journal of Operational Research 130, 3, 449 <U+2013> 467.
2. Brito, J.A.M., Silva, P.L.N., Semaan, G.S., Maculan, N., 2015. Integer programming formulations applied to optimal allocation in stratified sampling. Survey Methodology 41, 2, 427<U+2013>442.
# NOT RUN {
Example1:
s<-STRATVNS(U1,L=4,cvt=0.05,nhmin=3)
Example2:
s<-STRATVNS(U15,L=3)
#'Example3:
s<-STRATVNS(U21,L=5)
Example4:
s<-STRATVNS(U1,L=3,nhmin=4)
# }
Run the code above in your browser using DataLab