Automated Test Assembly for Multistage Tests Using Mixed-Integer Linear Programming.
mstATA
The goal of mstATA is to provide tools for automated test assembly of multistage tests using mixed-integer linear programming formulations.
Installation
You can install the development version of mstATA from GitHub using pak:
# install.packages("pak")
pak::pak("Hongchen030/mstATA")
Alternatively, you can use remotes:
# install.packages("remotes")
remotes::install_github("Hongchen030/mstATA")
mstATA supports multiple mixed-integer programming solvers, including:
Gurobi – requires separate installation and a valid license. Installation instructions are available here: https://CRAN.R-project.org/package=prioritizr. See the prioritizr package vignette “gurobi_installation_guide” for installation instructions. Gurobi requires a valid license. However, free academic licenses are available for qualified students and researchers through the Gurobi Academic Program.
HiGHS – available on CRAN via install.packages(“highs”)
GLPK (via Rglpk) – available on CRAN via install.package(“Rglpk”)
SYMPHONY (via Rsymphony) – available on CRAN via install.package(“Rsymphony”)
lpSolve (via lpSolveAPI) – available on CRAN via install.package(“lpSolveAPI”)
Vignettes
The package includes several vignettes:
- Getting Started with mstATA – complete end-to-end workflow.
- MST Assembly Examples: Bottom-Up, Top-Down, and Hybrid Strategies – bottom-up, top-down, and extended-hybrid strategies.
- Stimulus-Based Assessment in mstATA: Conditional Item Selection – conditional item selection with stimulus constraints.
- Formulation for Multiple Objectives – multi-objective optimization strategies and evaluation.
- Detecting and Resolving Infeasibility - how to deal with infeasibility.
To browse available vignettes:
browseVignettes("mstATA")
#> No vignettes found by browseVignettes("mstATA")
Citation
If you use mstATA in research, please cite:
Chen, H. (2026). mstATA: An R Package for IRT-Based Multistage Test Assembly.