This is the version of the RNA that makes use of additional information about strata for which the allocation can possibly be violated. For all other strata allocation will not be violated.
rna_prior(
total_cost,
A,
bounds = NULL,
check = NULL,
check_violations = .Primitive(">="),
details = FALSE
)
(number
)
total cost \(c\) of the survey. A strictly
positive scalar.
(numeric
)
population constants \(A_1,\ldots,A_H\). Strictly
positive numbers.
(numeric
or NULL
)
optional lower bounds
\(m_1,\ldots,m_H\), or upper bounds \(M_1,\ldots,M_H\), or NULL
to
indicate that there is no inequality constraints in the optimization
problem considered.
If not NULL
, the bounds
is to be treated either as:
lower bounds, if check_violations = .Primitive("<=")
. In this case, it
is required that total_cost >= sum(unit_costs * bounds)
,
or
upper bounds, if check_violations = .Primitive(">=")
. In this case, it
is required that total_cost <= sum(unit_costs * bounds)
.
(integer
)
strata indices for which the allocation can
possible be violated. For other strata allocation cannot be violated.
(function
)
2-arguments binary operator function
that allows the comparison of values in atomic vectors. It must either be
set to .Primitive("<=")
or .Primitive(">=")
. The first of these choices
causes that bounds
are treated as lower bounds and then rna()
function
performs the LRNA algorithm. The latter option causes that bounds
are treated as upper bounds, and then rna()
function performs the
RNA algorithm. This argument is ignored when bounds
is set to NULL
.
(flag
)
should detailed information about strata
assignments (either to take-Neyman or take-bound), values of set function
\(s\) and number of iterations be added to the output?