Interface and demos |
Release notes |
VRPSolver is a Branch-Cut-and-Price based exact solver for vehicle routing and some related
problems. Main use cases of the solver are
The solver is described in the paper:
- benchmarking heuristic algorithms against the lower bound/optimal solution obtained by the
- benchmarking exact algorithms against the solver;
- creating efficient models for new vehicle routing problems;
- testing new families of (robust) cutting planes within a state-of-the-art
We advise to read the paper or the preprint before using the solver.
Pessoa, A., Sadykov, R., Uchoa, E., Vanderbeck, F.: A generic exact solver for
vehicle routing and related problems. Mathematical Programming B, 183:483-523, 2020.
A preprint is available here
Interface and Demos
VRPSolver interface is implemented in Julia v1.4.2
and is based on JuMP v0.18.
We recommend using the following demos to start working with VRPSolver.
Other applications are also available:
Material for the hands-on tutorial of the Autumn 2019 school
- Beta v0.4.1 (BaPCod v053), 6/04/2021.
- Correction for backward labeling in some models with accumulated resource consumption bounds on arcs.
- Support of Ryan&Foster branching constraints in symmetric models.
- Correction for sorting of Ryan&Foster branching contraints in strong branching.
- Improved determinism.
- Correction for enumeration with binary resources in some non-symmetric models.
- Similar branching candidates are not kept for the next phase in strong branching.
- Licence expiration date is changed to December 1, 2022.
- Beta v0.4 (BaPCod v051), 30/10/2020.
- Correction for wrong calculation of accumulated resource consumption bounds for arcs (for some models).
- Correction for wrong calculation of reduced cost fixing threshold (the case of safe lower bound).
- Beta v0.4 (BaPCod v050), 13/09/2020.
- Fixing bugs
- Elementarity sets are introduced (see BWTSP demo for an usage example)
- Distance matrix is defined for elementarity sets instead of packing sets
- Julia is updated to version 1.4.2
- Support for both Cplex 12.9 and 12.10 see get started instructions
- Documentation is updated
- Beta v0.3, 17/11/2019. This version is required for the Autumn 2019 school in
Paris. Various improvements.
- Beta v0.22, 27/10/2019. Performance improvements.
- Beta v0.21, 30/09/2019. Bug fixing, please update if you have an older version.
- Beta v0.2, 22/09/2019. Update of interface to Julia 1.2 (all demos are updated). Various bug fixing.
- Beta v0.11, 1/06/2019. Some performance improvements of the interface.
- Beta v0.1, 21/05/2019. Initial release.
The software is for academic use only. Is it distributed as a docker image in order to
facilitate installation and usage.
To install and run the solver, you need
VRPSolver uses BaPCod, a C++ library
implementing generic Branch-Cut-and-Price.
- Docker free software for MacOS or Ubuntu or Windows
- Users of MacOS and Windows systems which do not meet the Docker requirements can use the Docker Toolbox.
- Version 12.9 or 12.10 of IBM
ILOG CPLEX for 64-bit Linux (even for non-Linux users), which is free
for academic use.
You need to accept the BapCod licence from Inria to use it for free for academic purposes.
Download for free
Download BaPCod license here.
Please fill in the form:
After accepting the license, you will receive an e-mail with a link to download the zip
archive (267 Mb).
Installation and get started instructions for the VRPSolver
- Financial support : Inria (France), Bordeaux University (France), Universidade Federal Fluminense (Brazil)
- Solver implementation : Ruslan Sadykov, Issam Tahiri, Francois Vanderbeck, Artur Pessoa, Teobaldo Bulhoes
- Interface implementation : Guillaume Marques, Teobaldo Bulhoes, Eduardo Queiroga
- Demos : Teobaldo Bulhões, Eduardo Uchoa, Eduardo Queiroga, João Marcos
- Technical support : Laurent Facq, Philippe Depouilly
- Installation : Laurent Facq, laurent(point)facq(at)math(point)u-bordeaux(point)fr
- Other issues : Ruslan Sadykov, ruslan(point)sadykov(at)inria(point)fr
Last updated: April 6, 2021.