nrparser 0.1.0

A library to parse and convert instances for the nurse rostering problem.
Documentation
# 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](https://gitlab.kuleuven.be/codes/datasets/nurse-rostering-data-sets).

## Usage

Add this to your `Cargo.toml`:

```toml
[dependencies]
nrparser = "0.1"
```

Then:

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