lmd-sizing-scheduling

Code, instances, results and scripts for the paper "Tactical workforce sizing and scheduling decisions for last-mile delivery"

https://github.com/alberto-santini/lmd-sizing-scheduling

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: sciencedirect.com, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Code, instances, results and scripts for the paper "Tactical workforce sizing and scheduling decisions for last-mile delivery"

Basic Info
  • Host: GitHub
  • Owner: alberto-santini
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 3.88 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 1
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Tactical workforce sizing and scheduling decisions for last-mile delivery

DOI

This repository contains the instance generator, the instances, the solver, the solutions and the scripts used to create the figures presented in the following paper: bib @article{msa2024, title={Tactical workforce sizing and scheduling decisions for last-mile delivery}, author={Mandal, Minakshi Pundam and Santini, Alberto and Archetti, Claudia}, year=2025, journal={European Journal of Operational Research}, volume=323, issue=1, pages={153--169}, doi={10.1016/j.ejor.2024.12.006}, url={https://www.sciencedirect.com/science/article/pii/S0377221724009482} }

You can also cite this repository through Zenodo: bib @misc{msa2024code, title={{Code for the Paper ``Tactical workforce sizing and scheduling decisions for last-mile delivery''}}, author={Mandal, Minakshi Pundam and Santini, Alberto and Archetti, Claudia}, year=2024, doi={10.5281/zenodo.10561003}, url={https://github.com/alberto-santini/lmd-sizing-scheduling} }

Instance generator

The generator is in folder instance_generator. To run it, call the main.py script with the appropriate parameters. The generator expects to find some geographical data in folder data. However, these are very large file that are unconvenient to upload to Github (they would require the Git Large File Storage). Therefore, you should download these files separately before running the generator. They are: * The "Codes Postaux" dataset with French postal codes. In particular, you need the files codes_postaux_region.*. * The "PLZ 5 Stellig" dataset with German postal codes. * The "GHS Pop Source Europe" dataset with population data for Europe. We used version R2016A.

Already generated instances

If you only want to replicate the results of our paper, you need not use the instance generator. Rather, pregenerated instances in JSON format are available in folder instances.

Solver

The solver is a single Python script, contained in solver/solver.py. It takes the following parameters: * -m to specify the model name (base, fixed, partflex, or flex). * -i to specify the location of the instance file. * -c to specify the outsourcing cost multiplier (parameter OC in the paper). * -r to specify the regional bound multiplier (parameter RM in the paper). * -g to specify the global bound multiplier (parameter GM in the paper). * -u to specify the maximum number of shift start times for the partflex model (parameter $\mu$ in the paper). * -o to specify the location of the JSON solution file produced by the solver.

Results

The solver produces one JSON file for each run. Because we performed over 50000 runs, the total size of the results runs in a few GB. For this reason, we publish the in condensed form, using the CSV format. File results/complete.csv contains the data used in the paper. File results/uncapacitated.csv contains the results of further experiments, in which we disabled the regional and global upper bound on the workforce size.

Results analysis

The notebook analysis/analysis.ipynb contains a Jupyer Notebook used to perform the analysis of the results and generate the paper figures.

License

All the code is released under the GNU Public License version 3 (GPLv3). The license is available in file LICENSE.

Owner

  • Name: Alberto Santini
  • Login: alberto-santini
  • Kind: user
  • Location: Barcelona, Spain

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this code or these instances, please cite as below."
authors:
- family-names: "Mandal"
  given names: "Minakshi Punam"
- family-names: "Santini"
  given-names: "Alberto"
  orcid: "https://orcid.org/0000-0002-0440-0357"
- family-names: "Archetti"
  given-names: "Claudia"
title: "Code and instances for the paper 'Tactical workforce sizing and scheduling decisions for last-mile delivery'"
version: 1.0
doi: 10.5281/zenodo.10561003
date-released: 2024-01-25
url: "https://github.com/alberto-santini/lmd-sizing-scheduling"
preferred-citation:
  type: article
  authors:
  - family-names: "Mandal"
    given names: "Minakshi Punam"
  - family-names: "Santini"
    given-names: "Alberto"
    orcid: "https://orcid.org/0000-0002-0440-0357"
  - family-names: "Archetti"
    given-names: "Claudia"
  journal: "European Journal of Operational Research"
  volume: 323
  issue: 1
  start: 153
  end: 169
  title: "Tactical workforce sizing and scheduling decisions for last-mile delivery"
  year: 2025
  doi: 10.1016/j.ejor.2024.12.006

GitHub Events

Total
  • Push event: 5
Last Year
  • Push event: 5