optVarPlan: Variables Acceptance Sampling Plan

View source: R/optVarPlan.R

optVarPlanR Documentation

Variables Acceptance Sampling Plan

Description

Creates Variable Acceptance Sampling plans for normal or beta distributed measurements.

Usage

optVarPlan(PRQ, CRQ, alpha = 0.05, beta = 0.10, USL = NULL, LSL = NULL,
           distribution = c("normal", "beta"), sigma_type = c("known", "unknown"),
           theta_type = c("known", "unknown"), sigma = NULL, theta = NULL,
           method = c("delta_mle", "delta_mom", "gk_adjustment"))

Arguments

PRQ

Producer Risk Quality (must be within valid range for the chosen distribution).

CRQ

Consumer Risk Quality (must be greater than PRQ and within valid range).

alpha

Producer's risk (numeric between 0 and 1).

beta

Consumer's risk (numeric between 0 and 1).

USL

Upper Specification Limit (numeric). Only one of USL or LSL should be provided.

LSL

Lower Specification Limit (numeric). Only one of USL or LSL should be provided.

distribution

Measurement distribution: "normal" or "beta".

sigma_type

Indicates whether sigma (population standard deviation) is "known" or "unknown".

theta_type

Indicates whether theta (population precision parameter for beta) is "known" or "unknown".

sigma

Known standard deviation (used for normal distribution). Required if sigma_type = "known".

theta

Precision (dispersion) parameter for the beta distribution. If unknown, it can be estimated from historical data using functions such as betaff.

method

Unknown-theta Beta method: "delta_mle" (default), "delta_mom", or "gk_adjustment". It is only applicable when distribution = "beta" and theta_type = "unknown".

Details

The function generates variable acceptance sampling plans based on specified producer and consumer risks and either a normal or beta distribution model.

The specification limit must be defined via either USL (upper specification limit) or LSL (lower specification limit), depending on whether the one-sided quality criterion concerns the upper or lower tail. Only one limit should be provided.

For the "normal" model, the plan can be computed assuming the standard deviation (sigma) is either known or estimated from data. Optimization for unknown sigma is performed using the derivative-free Nelder-Mead method (Nelder and Mead, 1965) via optim in base R.

For the "beta" model, the dispersion (precision) parameter theta determines how concentrated the distribution is around the mean. Users must either:

  • provide a known value for theta, typically obtained from prior process studies or historical data; or

  • estimate it from sample data using a fitting function such as betaff in the VGAM package.

Optimization for Beta plans is performed using optim with the "L-BFGS-B" method (Byrd et al., 1995) to handle bounds on sample size and acceptance numbers.

For unknown precision, Delta–MLE uses inverse expected Fisher information and Delta–MoM uses analytical covariance propagated from the first four Beta raw moments. The Govindaraju–Kissling adjustment retains the package's earlier sample-size approximation.

This approach ensures stable and efficient plan calculation while relying solely on base R functionality.

Value

A VarPlan object containing:

distribution

Distribution used ("normal" or "beta").

sample_size

Final sample size after rounding up to the next integer, for practical application.

k

Acceptability constant.

n

Unrounded sample size.

Author(s)

Ha Truong

References

* H. Truong, V. Miranda and R. Kissling (2026). AccSamplingDesign: An R Package for Optimizing Acceptance Sampling Plans. The R Journal, 18(1), 368–381. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.32614/RJ-2026-007")}.

* ISO 3951-1:2013 - Sampling procedures for inspection by variables.

* Wilrich, PT. (2004). Single Sampling Plans for Inspection by Variables under a Variance Component Situation. In: Lenz, HJ., Wilrich, PT. (eds) Frontiers in Statistical Quality Control 7. Physica, Heidelberg.

* K. Govindaraju and R. Kissling (2015). Sampling plans for Beta-distributed compositional fractions.

* J. A. Nelder and R. Mead. A simplex method for function minimization. The Computer Journal, 7(4): 308–313, 1965. DOI 10.1093/comjnl/7.4.308.

* R. H. Byrd, P. Lu, J. Nocedal and C. Zhu. A limited memory algorithm for bound constrained optimization. SIAM Journal on Scientific Computing, 16(5): 1190–1208, 1995. DOI 10.1137/0916069.

Examples

# Example for normal distribution plan
norm_plan <- optVarPlan(
  PRQ = 0.025,        # Acceptable quality level (% nonconforming)
  CRQ = 0.1,          # Rejectable quality level (% nonconforming)
  alpha = 0.05,       # Producer's risk
  beta = 0.1,         # Consumer's risk
  distribution = "normal",
  USL = 10
)
summary(norm_plan)

# Example for beta distribution plan
beta_plan <- optVarPlan(
  PRQ = 0.025,        # Target quality level (% nonconforming)
  CRQ = 0.1,          # Minimum quality level (% nonconforming)
  alpha = 0.05,       # Producer's risk
  beta = 0.1,         # Consumer's risk
  distribution = "beta",
  theta = 44000000,   # Beta distribution parameter
  LSL = 0.00001
)
summary(beta_plan)

AccSamplingDesign documentation built on Aug. 25, 2026, 9:08 a.m.