Skip to main content

Column generation for the Vechile-Routing-Problem.

Project description

CG-VRP

Column Generation for the Vehicle Routing Problem

cg-vrp is a Python library that leverages the Column Generation algorithm to solve the Linear Programming (LP) Relaxation of Vehicle Routing Problem (VRP). Currently considered VRP variants: VRPTW.

The computationally intensive pricing subproblem, is implemented in C++ and exposed to Python using nanobind for maximum performance.

Installation

You can install cg-vrp in two ways: from the Python Package Index (PyPI) or by building it from the source code.

1. From PyPI (Recommended)

The easiest way to install the library is directly from PyPI. This will download a pre-compiled binary wheel, so you won't need a C++ compiler on your system.

pip install cg-vrp

2. From Source (For Development)

If you want to modify the code, you should build it from the source.

Step 1: Clone the repository

git clone https://github.com/littleQiu22/cg-vrp.git
cd cg-vrp

Step 2: Install the package This command will compile the C++ extension and install the Python package.

pip install .

Potential Build Issues

Building from source requires a C++ toolchain and CMake. Here are some common issues you might encounter:

  • CMake Not Found: The build system, scikit-build-core, uses CMake to configure and build the C++ extension. If CMake is not installed or not found in your system's PATH, the build will fail.

    • Solution: Install CMake. You can download it from the official CMake website or install it via a package manager like brew install cmake (macOS) or sudo apt-get install cmake (Debian/Ubuntu).
  • Incorrect CMake Generator on Windows: By default, Python extensions on Windows are built with the MSVC (Microsoft Visual C++) compiler. If you have only installed the MinGW toolchain, scikit-build-core might default to an incompatible generator like "NMake Makefiles", causing errors.

    • Solution: If you must use MinGW, you need to tell CMake to use the correct generator by setting the CMAKE_GENERATOR environment variable before running pip install.

    For PowerShell:

    $env:CMAKE_GENERATOR="MinGW Makefiles"
    pip install .
    

Running the Solomon Benchmark Example

The repository includes an example script to solve instances from the well-known Solomon VRPTW benchmark suite.

Step 1: Get the source code If you haven't already, clone the repository:

git clone https://github.com/littleQiu22/cg-vrp.git
cd cg-vrp

Step 2: Run the main script The script is located in the examples directory. You can run it as a module from the root directory of the project. The command format is:

python -m examples.Solomon.main <instance_name>

For a concrete example, to solve the c101 instance, run:

python -m examples.Solomon.main c101

You can find all available instance names in the examples/Solomon/data/ directory.

Potential Runtime Issues on Windows with MinGW

If you built the library from source using MinGW on Windows, you might encounter a ModuleNotFoundError or a DLL loading error when you try to run the script.

  • The Problem: The compiled C++ extension (.pyd file) will depend on MinGW's runtime DLLs (like libwinpthread-1.dll). For security reasons, Python 3.8 and later no longer search the system Path environment variable for DLL dependencies when loading extensions. Therefore, even if you have added your MinGW bin directory to Path, Python will not find the necessary DLLs.

  • The Solution: You must tell the library where to find the MinGW DLLs by setting environment variable MINGW_DLL_PATH before running the script.

    For PowerShell:

    # Replace the path with the location of your MinGW bin directory
    $env:MINGW_DLL_PATH = "E:\mingw64\bin"
    python -m examples.Solomon.main c101
    

How It Works: Column Generation

The Vehicle Routing Problem can be formulated and linearly relaxed to a massive linear program where each variable (or "column") represents a possible vehicle route. The number of such routes is large, making it impossible to solve directly.

Column Generation is an iterative algorithm that elegantly solves this by decomposing the problem:

  1. Restricted Master Problem (RMP): We start by solving a simplified version of the problem that considers only a small subset of all possible routes. This RMP is a small linear program that can be solved efficiently. The solution provides dual prices for each customer.

  2. Pricing Subproblem: The core of the algorithm. We use the dual prices from the RMP to "price out" new routes. The goal is to find a route with a negative reduced cost. Such a route, if added to the RMP, has the potential to improve the overall solution. This subproblem is equivalent to a Resource Constrained Shortest Path Problem(RCSPP).

  3. Iteration: If the pricing subproblem finds one or more routes with negative reduced costs, we add them to the RMP and solve it again. This loop continues until the pricing subproblem can no longer find any routes with negative reduced cost, at which point we have proven that the solution to our RMP is optimal for the original, full problem.

To obtain a final, practical solution where each route is either used or not used, an additional step is required. There are two main approaches:

1. The Exact Method: Branch-and-Price

To find the provably optimal integer solution, the Column Generation process is embedded within a Branch-and-Bound search tree. This combined algorithm is known as Branch-and-Price.

At each node of the tree, Column Generation is used to solve the LP relaxation. If the solution is fractional, a branching decision is made (e.g., forcing an edge to be either included or excluded from all routes), creating two new subproblems (nodes) in the tree. This process continues until an integer solution is found and its optimality is proven.

Implementing a full Branch-and-Price framework is currently beyond the scope of this library.

2. Heuristic Methods

A common and practical approach is to use a heuristic to construct an integer solution from the fractional result. Simple methods include:

  • Feasibility Pump: These are techniques that try to "pump" the fractional solution towards an integer feasible one.

  • Solving a final Integer Program: A very straightforward heuristic is as follows:

    1. Collect Final Routes: Take all the routes (columns) that have a non-zero value in the final LP solution.
    2. Solve a Set Covering Problem: Formulate a new, smaller Integer Program (like a Set Covering Problem) using only this pool of "good" routes. The goal is to select a subset of these routes that covers all customers, at minimum cost.

Currently, cg-vrp focuses on solving the root node of the Branch-and-Price tree, providing the essential components (strong bounds and a pool of promising routes) needed for these final integer programming steps.

Pricing Algorithms

This library implements two algorithms for the pricing subproblem (RCSPP):

  • Pulsing Algorithm:

    • Based on a Depth-First Search (DFS) approach that recursively explores paths.
    • It is a lightweight and memory-efficient algorithm.
    • Uses primal bound pruning: if a partial path's cost, combined with a heuristic estimate to the end, is already worse than the best-known solution, the path is abandoned early.
  • Labeling Algorithm (A* variant):

    • Based on an A* search algorithm, which uses a priority queue to explore the most promising paths first.
    • In addition to primal bound pruning, it introduces dominance rules: If two partial paths arrive at the same customer, and one path is better or equal in all resources (e.g., lower cost, earlier arrival time, less demand consumed) than the other, the dominated (worse) path can be safely discarded. This reduces the search space.

Further Reading & References

To learn more about the algorithms used in the pricing subproblem, please refer to the academic papers:

  1. Pulsing: https://dx.doi.org/10.1287/trsc.2014.0582

  2. Labeling: https://doi.org/10.1287/trsc.2018.0878

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cg_vrp-0.1.0-pp310-pypy310_pp73-win_amd64.whl (84.4 kB view details)

Uploaded PyPyWindows x86-64

cg_vrp-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (109.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

cg_vrp-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (117.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

cg_vrp-0.1.0-pp39-pypy39_pp73-win_amd64.whl (84.5 kB view details)

Uploaded PyPyWindows x86-64

cg_vrp-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (109.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

cg_vrp-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (117.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

cg_vrp-0.1.0-cp312-cp312-win_amd64.whl (85.7 kB view details)

Uploaded CPython 3.12Windows x86-64

cg_vrp-0.1.0-cp312-cp312-win32.whl (80.8 kB view details)

Uploaded CPython 3.12Windows x86

cg_vrp-0.1.0-cp312-cp312-musllinux_1_1_x86_64.whl (165.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

cg_vrp-0.1.0-cp312-cp312-musllinux_1_1_i686.whl (176.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ i686

cg_vrp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (111.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cg_vrp-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (119.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

cg_vrp-0.1.0-cp312-cp312-macosx_10_9_universal2.whl (138.3 kB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)

cg_vrp-0.1.0-cp311-cp311-win_amd64.whl (86.5 kB view details)

Uploaded CPython 3.11Windows x86-64

cg_vrp-0.1.0-cp311-cp311-win32.whl (81.3 kB view details)

Uploaded CPython 3.11Windows x86

cg_vrp-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl (166.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

cg_vrp-0.1.0-cp311-cp311-musllinux_1_1_i686.whl (177.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

cg_vrp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (112.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cg_vrp-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (120.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

cg_vrp-0.1.0-cp311-cp311-macosx_10_9_universal2.whl (139.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

cg_vrp-0.1.0-cp310-cp310-win_amd64.whl (86.7 kB view details)

Uploaded CPython 3.10Windows x86-64

cg_vrp-0.1.0-cp310-cp310-win32.whl (81.5 kB view details)

Uploaded CPython 3.10Windows x86

cg_vrp-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl (167.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

cg_vrp-0.1.0-cp310-cp310-musllinux_1_1_i686.whl (177.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

cg_vrp-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (112.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cg_vrp-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (121.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

cg_vrp-0.1.0-cp310-cp310-macosx_10_9_universal2.whl (140.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

cg_vrp-0.1.0-cp39-cp39-win_amd64.whl (87.1 kB view details)

Uploaded CPython 3.9Windows x86-64

cg_vrp-0.1.0-cp39-cp39-win32.whl (82.0 kB view details)

Uploaded CPython 3.9Windows x86

cg_vrp-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl (167.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

cg_vrp-0.1.0-cp39-cp39-musllinux_1_1_i686.whl (177.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

cg_vrp-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (112.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cg_vrp-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (121.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

cg_vrp-0.1.0-cp39-cp39-macosx_10_9_universal2.whl (140.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file cg_vrp-0.1.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 8ab711afe92a026d89d3b4eed7785285305155bd8eb8f597f951895cd4e4fed2
MD5 7e9b5211d89fa8a4cb714ca7c0699de6
BLAKE2b-256 3067f18c3a0b2ce86930dd506c7124b4b32e54e80218b3824611a91f841dcd14

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52e1258413ea9e89a1347953d49a6eab03fe7d87259782948b3dbed4bd0c91ac
MD5 209f1658c6a4b736001bb3577bf148d7
BLAKE2b-256 d2035ab840b048be3db6093c352299308e7187370966e209bb28d3119673a050

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 21bd1327334d262c77d5a572a3dd4ffbaa6e1ece5faf2372830182a10ab04966
MD5 995860f70c0e71ddb3fd30c2dc92f8a2
BLAKE2b-256 6beedcb532890f6a30d44499a9e34bf22fd99a258665dd0a5dbdda3d847bad2d

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ebdeb4e77916d4548e2c20312ff044ddbc26ba22207e6d830b24b9aa188cf7b1
MD5 194fb40908865a646e8d788717c1ff38
BLAKE2b-256 c6b87f21f8342c42342400cb629ea86010711840aae0f87deac8ac5b75560ceb

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4396660e02b0ce01bbf4a5045574aac7504743d6abf542c751e2aa46a561c335
MD5 8e4c1a3a4508d4e2f700a105bff64a1f
BLAKE2b-256 b381a19f8b8169f5dd3aa2a2334a9c665be64cab782881f742910cf6fcad73e8

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 74b28061b7e5d2940192a2442970ffd03aa9cb9110c19536d1d25fa4cda82e80
MD5 400218340b690bf498ae6b697274e508
BLAKE2b-256 6a8cec7fb8b00cc321c8a14f344e99e5bcf46f2ff4a7d885dd0cf88af78588c9

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 85.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7673f632709e1c02fe4b7f18cbbe6ae39363a7267a1724fa41933f3214a74362
MD5 2edebc64ba756f6813319b1437f0a5ad
BLAKE2b-256 c16c74bb635f44a1d51dac81841fd68948d14a08e67c28346315bc17a9c4f26c

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 80.8 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 80f58a62879e7871a4de3d18d7f0a74d020dfce49a163de249e386e168d4dcf9
MD5 e4878130400cb9d438e033f75f022f85
BLAKE2b-256 8c8fc8e087fddd2c3a90acf20db600bc52d1d8e9b9cc4d56f1c6348ce38ceb0b

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2c699d7924f923de9d7f1ce01bb98c7f24b94420e1f4b00c841d8f5b02aa14a2
MD5 4bd30b935df7d6ee24ca03e3b16ff937
BLAKE2b-256 8a9b109ca88f8eb4bf9a0e694a1c8706d2911a3f4411ef73e70e6a94e8f402a0

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 dcc76b3bde5d1d33d357bbf4dd701d9f0f1e05d8ab96ec88f7ddf818923f741f
MD5 fc8f0fec22dde85eac849f91f0b9c033
BLAKE2b-256 6052c5016ac614190e8959a70f0daedb790b02d2144b7f0bc33746d304186f63

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60e98cc0aa85df0c0416d9953844d87d41443b8146bde5f6c0c519963a1249d1
MD5 5dd7f933ff177f2f9a1590f7e2f8f498
BLAKE2b-256 4a6f0d0f4e35dc2c5006c44b69a364e5ff5262db656737dac85d0f91e62a1e93

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 22c95c2ffff2ed8fe67c0818faf913ff61d37b668e43ab6e8c2ac8b5bec9990c
MD5 399429e9ff8135ccde77a71e27736569
BLAKE2b-256 0528408ca24cdfdf7d17ebfce658f38c6b5240e2d247760524ebe595df9ba30e

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6774221ecf9627f47b5eca145058d4de097c0cae514f979c9a492ddd97ea1ae5
MD5 68b37244b2ad29466c6136faab376c30
BLAKE2b-256 7bb0dbc7d1f240973cce08cce21d8ff8479056cc6f25b57ace13efa6624a9808

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 86.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9ad0619ebb96ddafad935932cdc4b0982b73b400adbfd3ffb29c169bb5e20aa0
MD5 ae9dabc8793d0ffd590a0ea918bde815
BLAKE2b-256 b89c06c073aafc223e8497c60ce18b975510ed72ea87c16250caa130c1067b7d

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 049edfd3cedf0848c9da57c0c9531f811476a249e1c76910f42b04e2987ffa3a
MD5 ae3f6fbd518128668850e110a47ef439
BLAKE2b-256 0e6cf4e310a35e3e6fbb6dd2f1e02b2ace3dff3f5df287f9181df739cca36fff

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f89903e38551623050f1f7acfae9c6e21b40e8300558b7e8c275165914875cea
MD5 b8523bbfb749f43ec87f8e4ab9b71fd0
BLAKE2b-256 b9abd5fa055a4ddc788057a22d43429b992c7acb6ffdc549e2a087770af8f700

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 cf781b363209a57bdf5feee82981552fbea1b5bf4e14632a69e3c7c1289f6497
MD5 75b613ed82001f1bc79b940860c78d8b
BLAKE2b-256 0ac0ee5ce9ffd0a3de9595e54305991d4658522a9cbf46ee5820b0c00d3dd840

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a2275d084540e474b20995db937404f42af9a71cadb84e9d154fa76a8163a49
MD5 4c70d6014843ff8b1c65d805e7fc4407
BLAKE2b-256 4e07120936bc1c72bf772438b7b661cb6058b6c3cd16ed4e4c55409e684a8723

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2ca1d9d203f146faad66c9bb56649e932be460d12ffdac44d50d03f27da0d3e5
MD5 42e435a4306cf28b23de41997887bdf2
BLAKE2b-256 dbd77e07d205880515265c2aca802b4a1c0b14211e45e8cebe0fa240c06c1b04

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b3299a0ba703faeb73a41ab6a2e31cb2f38da540661ad96d4105de6ad1b56ea4
MD5 fe244cc624b03c429458b5299a7cb276
BLAKE2b-256 e4760b7671ba0aa81e25e692e9ebcafcbfddc8b29b9fe720ffc638f7f9a3bd87

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 86.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 53a2b023c45bc51d518f0c8439c40e4d141bf9f844dbfa23a5b0457ecb6b2058
MD5 9b53ab89a43d72c2887109ed5d46f44a
BLAKE2b-256 f6634918776b1861f91fdb8bae250b722c6a1ef3b40d09e265dac1f0a6b3ba93

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 81.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1d8028854a329ee740f81613f3fbe62a5231021db1cd9996baacf6a8733aad54
MD5 c8c2ff1fec7018cda5f5a0574ea4d7aa
BLAKE2b-256 defd3c58ae957abc2b45b6a78da01b23466fb000df7877d9c4a7b793b3c6a781

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ae8d822f94b2260dbd06e758e7ab7af370cf7fe76e6139e57ab135f06c0a5da0
MD5 cfe430ca80194f497c786a2bb5a65a1d
BLAKE2b-256 fa174842685e8d82f703decac44e0b1c23d1d4f4c877c6cc62c2e4ea74499179

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2e8f987f5ac891f13b97bd84c1b0d0c0b4d25e553d73f0c871edee0762660103
MD5 194bfbb04d49a3e293300a008e519186
BLAKE2b-256 97ff572a692b532022130e60bde7fce9df7bee44f571be7885ad651d701a1244

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d5d276bdf903a15f32f4e06560379ddec24d1e7ffee545f8d501dfae02ecd4b
MD5 55ef751e9bd599670765aecc32cb16f4
BLAKE2b-256 e5b96fad14a9a13a2140534b61528c4d8e04da6f5996b3bdfe97631915c0cd05

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fc9d445c8ea4a07392057fe36e98e737fe56d4534ce67d2ac1e8860862332afe
MD5 a914890f568ec87c59ed3f7215cb3207
BLAKE2b-256 1e1e1bef95494bfc6ff7e3a939fbf4422b5e254bc23b38a958205362d0d1a145

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 062c7fbaa27bfa70a84e79d9a8ca846b106aaed88c929a0071b301f4ceec8c2f
MD5 06ea3b701e328ebfb39a3666537f8266
BLAKE2b-256 71d6fc81a7af9b443f9b974d3f6700f43f8ab8412c5e059d50d160eac6985f79

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 87.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 08c8293a4120f40afa49d192cf9e290f3e702c67789c4a2a0045b931768264ae
MD5 8ca4c08c072d44ff16c4a8f0ad085cd1
BLAKE2b-256 ca83c420c804bde6a2a8701d9471448b6e3a14771ebd94caec7b273fe406d812

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 82.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 08e91648b2b556ab3b8dd9185a77ee6f41d335b8a1a87b98279f6d8933628eba
MD5 e7f9531745d33b5a3b731d457ce672be
BLAKE2b-256 0d7d1f0821ced40f5096b10cf12fe88690d712ef458cd9b723bacaff19da7765

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 891e5aae7b797e0331141f29720c72ac083426b60645859183df258fd980fbed
MD5 c4fc4d5f7aca699f4b3120045cf54068
BLAKE2b-256 823bac71e882dba7d5edd39585259ff4ad0ffc02aa41581c71a3529082a190a0

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

  • Download URL: cg_vrp-0.1.0-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 177.6 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cg_vrp-0.1.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 81ab4cb4f7cdfeae55d5240098182a5e4a2fb8fef35eb9637f35d175f2cb88fe
MD5 54235f55b7c5877eded59899bbf8105e
BLAKE2b-256 55808087832854ca1ec1276c7e53d99a9a0dc12789e7bbf7ba98f43d8e58a953

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6f7f37d9b678a1794e5f59186159f9b7bafe3ff7090978025127caa6031da79
MD5 c807c19e10e67a98c4fd8923b2b0da55
BLAKE2b-256 8fac325c2ef16f0c941fc2f91396446dc73308645308a9c221e05295e8f02a16

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7aba3627483fe54df4d1c1cbbbf86b7b152f2fd98fcf49751bcadada7c462849
MD5 84f2e5ea9f157c3de08cf9cfdea17251
BLAKE2b-256 62d260de438835eaab83a61d0837f5d74393a4595e817baec2d30775c2eabb69

See more details on using hashes here.

File details

Details for the file cg_vrp-0.1.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cg_vrp-0.1.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 db740dc519bfc3b3fb71c7a24f12f86771beb59aa85864ee4029cb86b846d58e
MD5 e33ba585f6748d9a5aed87f2486b10f5
BLAKE2b-256 406e30560c184eddbeeae3db8f2e423e0dfb162540c6b78d73dea844a5cbf5e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page