# RoutingBlocks **Repository Path**: jackfgao/RoutingBlocks ## Basic Information - **Project Name**: RoutingBlocks - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: dependabot/github_actions/pypa/cibuildwheel-2.14.1 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-01 - **Last Updated**: 2025-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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`: ```bash pip install routingblocks ``` To obtain the bleeding-edge development version, run ```bash 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](https://github.com/tumBAIS/routingblocks-native-extension-example) ## Usage We provide an [example implementation](https://github.com/tumBAIS/RoutingBlocks/tree/main/examples) of an ALNS-based algorithm for the [EVRPTW-PR](https://research.sabanciuniv.edu/id/eprint/26033/1/WP_EVRPTW-Partial_Recharge_KeskinCatay.pdf) as part of this repository. Further documentation is available at [readthedocs](https://routingblocks.readthedocs.io/en/latest/getting_started.html). ## Contributing Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. See [CONTRIBUTING.md](CONTRIBUTING.md) for more information and documentation on setting up a development environment. ## License [MIT](https://choosealicense.com/licenses/mit/)