#converter #scheduling #parser #rostering #nrp

bin+lib nrparser

A library to parse and convert instances for the nurse rostering problem

1 unstable release

0.1.0 Oct 10, 2025

#54 in #scheduling

MIT/Apache

195KB
4.5K SLoC

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");

Dependencies

~2.8–4MB
~69K SLoC