Package: grouper 0.7.3

grouper: Optimal Group Assignment and Workload Allocation

Integer programming models to assign students to groups by maximising diversity or topic preferences, and to allocate multi-role teaching workloads while balancing role demand, preferences, fairness, and cohort protection.

Authors:Vik Gopal [aut], Kevin Lam [aut], Ju Xue [ctb], Mingyuan Zhang [aut, cre], National University of Singapore [cph]

grouper_0.7.3.tar.gz
grouper_0.7.3.zip(r-4.7)grouper_0.7.3.zip(r-4.6)grouper_0.7.3.zip(r-4.5)
grouper_0.7.3.tgz(r-4.6-any)grouper_0.7.3.tgz(r-4.5-any)
grouper_0.7.3.tar.gz(r-4.7-any)grouper_0.7.3.tar.gz(r-4.6-any)
grouper_0.7.3.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
grouper/json (API)

# Install 'grouper' in R:
install.packages('grouper', repos = c('https://zimmy313.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/zimmy313/grouper/issues

Pkgdown/docs site:https://zimmy313.github.io

Datasets:

On CRAN:

Conda:

6.10 score 18 scripts 251 downloads 19 exports 24 dependencies

Last updated from:1f8eb72060. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK482
source / vignettesOK184
linux-release-x86_64OK144
macos-release-arm64OK217
macos-oldrel-arm64OK184
windows-develOK96
windows-releaseOK106
windows-oldrelOK111
wasm-releaseOK114

Exports:%>%assign_groupsassign_jobcompute_diversityconvert_pref_matextract_infoextract_multirole_infoextract_params_yamlextract_phd_infoextract_student_infoget_group_pref_scoreprepare_diversity_modelprepare_modelprepare_multirole_modelprepare_phd_modelprepare_preference_modelsolve_assignmentsummary_dbasummary_pba

Dependencies:cliclusterdata.tabledplyrfastmapgenericsgluelatticelazyevallifecyclelistcompmagrittrMatrixomprpillarpkgconfigR6rlangtibbletidyselectutf8vctrswithryaml

Maximising Diversity and Balancing Skill
Model introduction | Objective function | Constraints | Group to topic-repetition combination | Defining $z_{ijtr}$ | Number of repetitions per topic | Number of students per group | Per-group skill levels | Binary and non-negativity constraints

Last update: 2026-07-06
Started: 2025-06-27

Application to simple datasets
Introduction | Diversity-Based Assignment | Dataset 001 (diversity only) | Dataset 001 (skills only) | Dataset 003 | Dataset 004 | Preference-Based Assignment | Dataset 002 | Multi-role Workload Assignment | Full TA and GR workflow | Single-semester

Last update: 2026-07-06
Started: 2025-06-27

Maximising Preference
Model introduction | Objective function | Constraints | Group to topic-repetition combination | Number of repetitions per topic | Balanced number of subgroups | Number of students per subgroup | Binary and non-negativity constraints

Last update: 2026-07-06
Started: 2025-06-27

Related work and grouper
Introduction | Balancing staff workload and student preferences | OptAssign | Students to elective courses | Assigning students to groups based on traits | Student-to-project supervisor assignment | Automated group assignments in academic setting | Introducing grouper package | Diversity-Based Assignment | Preference-Based Assignment | Multi-role Workload Allocation | Function organisation | References

Last update: 2026-06-18
Started: 2025-06-27

Multi-role Workload Allocation
Model introduction | Model formulation | Objective function | Demand satisfaction | Role-specific workload spread | Annual workload equality | Protected-cohort soft upper bounds | Optional current-semester workload bounds | Package interface | Semester history and capacity | E-allocation scoring | Role-specific terms | Keeping the model small

Last update: 2026-06-18
Started: 2026-04-28

Readme and manuals