nrparser

Crates.ionrparser
lib.rsnrparser
version0.1.0
created_at2025-10-10 13:45:21.621702+00
updated_at2025-10-10 13:45:21.621702+00
descriptionA library to parse and convert instances for the nurse rostering problem.
homepage
repositoryhttps://gitlab.kuleuven.be/codes/public/nrparser
max_upload_size
id1876951
size1,349,436
(RobinTourlamain)

documentation

README

nrparser

A parsing library for frequently used nurse rostering data formats.

Features

  • Parse original instances and solutions from five public datasets
  • Convert instances and solutions to a common json format
  • Parse any instance in the common json format

Supported datasets

Name Year Title & Journal
NSPLib 2007 NSPLib–a nurse scheduling problem library: A tool to evaluate (meta-) heuristic procedures. In Proceedings of the 31st EWGORAHS, pp. 151–165.
KAHO 2012 Local search neighbourhoods for dealing with a novel nurse rostering model. Annals OR 194 (1):33–57.
INRC1 2014 The first international nurse rostering competition 2010. Annals OR 218: 221––236.
Curtois2014 2014 Computational results on new staff scheduling benchmark instances. Tech. rep
INRC2 2019 The second international nurse rostering competition. Annals OR 274 (1): 171–186.

The json format standard and a selection of converted instances are available on gitlab.

Usage

Add this to your Cargo.toml:

[dependencies]
nrparser = "0.1"

Then:

use nrparser::inrc1;
use nrparser::kaho;

// Parse an instance from The International Nurse Rostering Competition
let inrc1_instance = inrc1::parse("inrc1_path");

// Parse an instance from the KAHO dataset
let kaho_instance = kaho::parse("kaho_path");
Commit count: 0

cargo fmt