Skip to content

A modular Python package for the development of metaheuristic algorithms for Vehicle Routing Problems with Intermediate Stops

Notifications You must be signed in to change notification settings

tumBAIS/RoutingBlocks

Repository files navigation

RoutingBlocks

RoutingBlocks is an open-source Python package for the implementation of algorithms for Vehicle Routing Problems with Intermediate Stops.

It provides a set of modular algorithmic components and efficient data structures that can be used as building blocks for problem-specific metaheuristic algorithms. These components are tailored specifically to tackle the challenges of VRPIS, but can be used for other classes of vehicle routing problems as well.

This package is under active development. Expect potentially breaking changes.

Installation

The package is available on PyPI and can be installed using pip:

pip install routingblocks

To obtain the bleeding-edge development version, run

pip install git+https://github.com/tumBAIS/RoutingBlocks

instead.

Features

  • Efficient C++-based solution representation
  • Customizable Local Search Solver
  • Framework for ALNS-based metaheuristics
  • Efficient native implementations of numerous destroy, repair, and local search operators
  • Move caches implemented in native code to allow high-performance operator implementations in Python
  • Support for custom native extensions

Usage

We provide an example implementation of an ALNS-based algorithm for the EVRPTW-PR as part of this repository.

Further documentation is available at readthedocs.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

See CONTRIBUTING.md for more information and documentation on setting up a development environment.

License

MIT

About

A modular Python package for the development of metaheuristic algorithms for Vehicle Routing Problems with Intermediate Stops

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published