cvrp-decomposition

Decomposition Strategies for Vehicle Routing Heuristics

https://github.com/alberto-santini/cvrp-decomposition

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 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary

Keywords

decomposition-algorithm heuristics vehicle-routing-problem
Last synced: 7 months ago · JSON representation ·

Repository

Decomposition Strategies for Vehicle Routing Heuristics

Basic Info
  • Host: GitHub
  • Owner: alberto-santini
  • License: mit
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 605 KB
Statistics
  • Stars: 28
  • Watchers: 1
  • Forks: 6
  • Open Issues: 0
  • Releases: 1
Topics
decomposition-algorithm heuristics vehicle-routing-problem
Created about 4 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

Example decompositions

Decomposition Strategies for Vehicle Routing Heuristics

DOI

This repository presents a proof-of-concept for including instance decomposition within two popular metaheuristics for the Capacitated Vehicle Routing Problem (CVRP): * The Adaptive Large Neighbourhood Search of Stefan Ropke * The Hybrid Genetic Algorithm of Thibaut Vidal

We propose several decomposition techniques, which we describe in detail in our paper:

bib @article{cvrp_decomposition, title={Decomposition strategies for vehicle routing heuristics}, author={Santini, Alberto and Schneider, Michael and Vidal, Thibaut and Vigo, Daniele}, year=2023, doi={10.1287/ijoc.2023.1288}, journal={{INFORMS Journal on Computing}}, volume=35, number=3, pages={543--559} }

You can cite this repository itself through Zenodo:

bib @article{cvrp_decomposition_2022, title={Repository cvrp-decomposition}, author={Alberto Santini}, year=2022, doi={10.5281/zenodo.6097671}, url={https://github.com/alberto-santini/cvrp-decomposition} }

Authors

The original ALNS code is by Stefan Ropke. Stefan wrote most of the code contained in directory src/alns. Alberto Santini then edited Stefan's code and implemented instance decomposition. The original paper in which Stefan introduced ALNS is the following:

bib @article{ropke_2006, title={An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows}, author={Ropke, Stefan and Pisinger, David}, year=2006, journal={Transportation Science}, volume=40, number=4, pages={455--472}, doi={10.1287/trsc.1050.0135} }

The original HGS code is by Thibaut Vidal. Thibaut also released his code in repository vidalt/HGS-CVRP and through the below paper. Alberto Santini then edited Thibaut's code and implemented instance decomposition.

bib @article{vidal_2022, title={Hybrid genetic search for the CVRP: Open-source implementation and SWAP\textsupersctipt{*} neighborhood}, author={Vidal, Thibaut}, year=2022, journal={Computers \& Operations Research}, volume=140, doi={10.1016/j.cor.2021.105643} }

Usage

The preferred way to build the two programmes (one for ALNS and one for HGS) is trhough cmake. We provide a CMakeList.txt file, which allows to build the executables as follows:

$ git clone https://github.com:alberto-santini/cvrp-decomposition.git $ cd cvrp-decomposition $ mkdir build $ cd build $ cmake -DCMAKE_BUILD_TYPE=Release .. $ cmake $ make

Instances

Instances contained in folder data are part of the so-called "Uchoa dataset". We refer to the following paper for further information on their generation and characteristics:

bib @article{uchoa_2017, title={New benchmark instances for the capacitated vehicle routing problem}, author={Uchoa, Eduardo and Pecin, Diego and Pessoa, Artur and Poggi, Marcus and Vidal, Thibaut and Subramanian, Anand}, year=2017, journal={European Journal of Operational Research}, volume=257, number=3, pages={845--858}, doi={10.1016/j.ejor.2016.08.012} }

Acknowledgements

We are extremely grateful to Stefan Ropke for sharing with us his code for ALNS applied to the CVRP.

License

The original HGS-CVRP is released under the MIT license, which we report 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 software, please cite it as below."
authors:
- family-names: "Ropke"
  given-names: "Stefan"
  orcid: "https://orcid.org/0000-0002-6799-9934"
- family-name: "Vidal"
  given-names: "Thibaut"
  orcid: "https://orcid.org/0000-0001-5183-8485"
- family-names: "Santini"
  given-names: "Alberto"
  orcid: "https://orcid.org/0000-0002-0440-0357"
title: "Decomposition Strategies for Vehicle Routing Heuristics"
version: 0.1
doi: 10.5281/zenodo.6097671
date-released: 2022-02-16
url: "https://github.com/alberto-santini/cvrp-decomposition"
preferred-citation:
  type: article
  authors:
  - family-names: "Santini"
    given-names: "Alberto"
    orcid: "https://orcid.org/0000-0002-0440-0357"
  - family-names: "Schneider"
    given-names: "Michael"
    orcid: "https://orcid.org/0000-0002-4203-8926"
  - family-names: "Vidal"
    given-names: "Thibaut"
    orcid: "https://orcid.org/0000-0001-5183-8485"
  - family-names: "Vigo"
    given-names: "Daniele"
    orcid: "https://orcid.org/0000-0002-1499-8452"
  doi: 10.1287/ijoc.2023.1288
  journal: "INFORMS Journal on Computation"
  title: "Decomposition Strategies for Vehicle Routing Heuristics"
  year: 2023
  volume: 35
  issue: 3
  start: 543
  end: 559

GitHub Events

Total
  • Watch event: 5
  • Fork event: 2
Last Year
  • Watch event: 5
  • Fork event: 2