cuopt-routing-api-python
Skill1.1k starsChanged 5 months agoApache-2.0View on GitHub
Vehicle routing (VRP, TSP, PDP) with cuOpt — Python API only. Use when the user is building or solving routing in Python.
1 other project uses a version of this, 1 of them edited.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- NVIDIA/skillsedited, first seen Oct 1, 2026
Who's talking about NVIDIA/cuopt
- jump-dev/cuOpt.jl“Support QP interface via MOI”GitHub · Jan 10, 2026 · 4 reactions
- rapidsai/build-planning“Add `zizmor` to all RAPIDS projects and address all warnings”GitHub · Apr 30, 2026 · 3 reactions
- rapidsai/build-planning“Add `shellcheck` across `RAPIDS`”GitHub · Jan 16, 2025 · 3 reactions
- rapidsai/build-planning“use ruff instead of `black` / `flake8` / `isort` across RAPIDS”GitHub · Dec 30, 2024 · 3 reactions
- rapidsai/build-planning“Python 3.14 support”GitHub · Jul 30, 2025 · 2 reactions
The biggest 5 of 45 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 45
Talked about on GitHub (45 times).
On GitHub · 45
- Jan 10, 2026Support QP interface via MOI — jump-dev/cuOpt.jl4 reactions · 15 comments
- Apr 30, 2026Add `zizmor` to all RAPIDS projects and address all warnings — rapidsai/build-planning3 reactions · 9 comments
- Jan 16, 2025Add `shellcheck` across `RAPIDS` — rapidsai/build-planning3 reactions · 13 comments
- Dec 30, 2024use ruff instead of `black` / `flake8` / `isort` across RAPIDS — rapidsai/build-planning3 reactions · 10 comments
- Jul 30, 2025Python 3.14 support — rapidsai/build-planning2 reactions · 17 comments
40 more on GitHub
- Oct 6, 2026Drop Python 3.11 support — rapidsai/build-planning1 reaction
- Jul 23, 2026Add isolated load_library() smoke tests for library wheels — rapidsai/build-planning1 reaction · 1 comment
- Apr 17, 2026Consistent artifact naming across wheels and conda packages — rapidsai/build-planning1 reaction · 3 comments
- Apr 1, 2026install libgrpc-dev into pip devcontainers for cuopt — rapidsai/devcontainers1 reaction · 5 comments
- Dec 16, 2025Add cuOpt to unified devcontainers — rapidsai/devcontainers1 reaction · 5 comments
- Dec 11, 2025Update to CCCL 3.2 — rapidsai/build-planning1 reaction · 2 comments
- Dec 9, 2025Switch RAPIDS to static linking of libcudart by default — rapidsai/build-planning1 reaction
- Aug 5, 2025Add CUDA 13.0 Support across all of RAPIDS — rapidsai/build-planning1 reaction · 12 comments
- Jul 15, 2025Adding GAMSPy transportation model example as Jupyter notebook — NVIDIA/cuopt-examples1 reaction · 2 comments
- Jun 4, 2025integrate cuOpt solver into cvxpy — cvxpy/cvxpy1 reaction · 37 comments
- Feb 11, 2025Use SPDX license tags in pyproject.toml — rapidsai/build-planning1 reaction · 13 comments
- Nov 8, 2026agent-skills.github.nvidia.cuopt: init at 26.10.00 — sudosubin/agents.nix0 reactions
- Nov 1, 2026Bump the python-dependencies group across 1 directory with 3 updates — Amirhosseinheidari/SolverPilot0 reactions
- Oct 28, 2026claude-code-plugins.github.nvidia.cuopt: init at 26.10.00 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-marketplaces.github.nvidia.cuopt: init at 26.10.00 — sudosubin/agents.nix0 reactions
- Oct 25, 2026SAE Engineer: P7A GPU LP solver landscape and isolated compatibility experiment — JohnnyZPiggy/AccelSched0 reactions · 8 comments
- Oct 21, 2026Integrate cuOpt as a GPU UDTF family — algeon-dev/algeon0 reactions
- Oct 18, 2026Exploration: GPU-accelerated MILP (NVIDIA cuOpt) as a solver backend? — UBC-FRESH/fhops0 reactions · 5 comments
- Oct 2, 2026docs: add sphinx-llm for agent docs support to libraries — rapidsai/build-planning0 reactions · 1 comment
- Oct 1, 2026CI: use proxy cache for pypi.anaconda.org — rapidsai/build-planning0 reactions · 2 comments
- Sep 10, 2026Update RAPIDS to CUDA 13.4 — rapidsai/build-planning0 reactions · 3 comments
- Sep 9, 2026Properly leverage pre-commit cache — rapidsai/build-planning0 reactions · 7 comments
- Sep 8, 2026Adding Python 3.15 — rapidsai/build-planning0 reactions · 8 comments
- Aug 29, 2026Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref — rapidsai/build-planning0 reactions · 1 comment
- Aug 21, 2026Skip duals when quadratic constraints are present — jump-dev/cuOpt.jl0 reactions
- Aug 6, 2026wheels: run 'abi3audit' for limited ABI wheels — rapidsai/build-planning0 reactions · 2 comments
- Aug 4, 2026Update rapids-logger pins to 0.3 — rapidsai/build-planning0 reactions · 1 comment
- Aug 3, 2026Migrate constraint generation to `constraints` output type in DFG — rapidsai/build-planning0 reactions · 1 comment
- Jul 31, 2026Fix GB300 failures — rapidsai/build-planning0 reactions · 1 comment
- Jul 20, 2026use `yamllint` for any projects using `rapids-dependency-file-generator` — rapidsai/build-planning0 reactions · 1 comment
- Jul 1, 2026Use NVIDIA theme in library docs — rapidsai/build-planning0 reactions · 3 comments
- Jun 10, 2026cuOpt barrier/PDLP wrong result on a ranged constraint with a large finite bound (worked around; upstream #1806 filed) — spoorendonk/mcfcg0 reactions · 2 comments
- Jun 2, 2026Migrate off of `cuda-python` metapackage to `cuda-bindings` and friends — rapidsai/build-planning0 reactions · 3 comments
- Apr 22, 2026Add support for MOI.ConstraintDual — jump-dev/cuOpt.jl0 reactions · 3 comments
- Apr 13, 2026Add CUDA support — ctlab/virgo-solver0 reactions
- Mar 12, 2026Standardize on `pyproject.toml` for pytest settings — rapidsai/build-planning0 reactions · 1 comment
- Feb 14, 2026Integration with cuopt (open source) — google/or-tools0 reactions · 2 comments
- Oct 29, 2025Bindings for cuOpt solver — PyPSA/linopy0 reactions · 4 comments
- Oct 7, 2025[FEA]: SoL on cub::Transform for custom/zip input and output iterator — NVIDIA/cccl0 reactions · 1 comment
- Sep 23, 2025ensure every repo has fallback CODEOWNERS — rapidsai/build-planning0 reactions
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- NVIDIA/skills★ 3.9k99% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
Ask these if not already clear:
- Distinctive: line 112
Data types: Use explicit dtypes (float32, int32) for matrices and series to avoid silent errors.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
cuOpt Routing — Python API
This skill is Python only. Routing has no C API in cuOpt.
Required questions
Ask these if not already clear:
- Problem type — TSP, VRP, or PDP?
- Locations — How many? Depot(s)? Cost or distance between pairs (matrix or derived)?
- Orders / tasks — Which locations must be visited? Demand or service per stop?
- Fleet — Number of vehicles, capacity per vehicle (and per dimension if multiple), start/end locations?
- Constraints — Time windows (earliest/latest arrival), service times, precedence (order A before B)?
Minimal VRP Example
import cudf
from cuopt import routing
cost_matrix = cudf.DataFrame([...], dtype="float32")
dm = routing.DataModel(n_locations=4, n_fleet=2, n_orders=3)
dm.add_cost_matrix(cost_matrix)
dm.set_order_locations(cudf.Series([1, 2, 3], dtype="int32"))
solution = routing.Solve(dm, routing.SolverSettings())
if solution.get_status() == 0:
solution.display_routes()Adding Constraints
# Time windows
dm.add_transit_time_matrix(transit_time_matrix)
dm.set_order_time_windows(earliest_series, latest_series)
# Capacities
dm.add_capacity_dimension("weight", demand_series, capacity_series)
dm.set_order_service_times(service_times)
dm.set_vehicle_locations(start_locations, end_locations)
dm.set_vehicle_time_windows(earliest_start, latest_return)
# Pickup-delivery pairs
dm.set_pickup_delivery_pairs(pickup_indices, delivery_indices)
# Precedence
dm.add_order_precedence(node_id=2, preceding_nodes=np.array([0, 1]))Solution Checking
status = solution.get_status() # 0=SUCCESS, 1=FAIL, 2=TIMEOUT, 3=EMPTY
if status == 0:
route_df = solution.get_route()
total_cost = solution.get_total_objective()
else:
print(solution.get_error_message())
print(solution.get_infeasible_orders().to_list())Data Types (use explicit dtypes)
cost_matrix = cost_matrix.astype("float32")
order_locations = cudf.Series([...], dtype="int32")
demand = cudf.Series([...], dtype="int32")Solver Settings
ss = routing.SolverSettings()
ss.set_time_limit(30)
ss.set_verbose_mode(True)
ss.set_error_logging_mode(True)Common Issues
| Problem | Fix |
| Empty solution | Widen time windows or check travel times |
| Infeasible orders | Increase fleet or capacity |
| Status != 0 with time windows | Add add_transit_time_matrix() |
| Wrong cost | Check cost_matrix is symmetric |
compute_waypoint_sequence alters route_df | It replaces the location column with waypoint ids in place — pass route_df.copy() if you still need cost-matrix indices (e.g. when iterating per truck) |
Debugging
When status != 0: print(solution.get_error_message()) and print(solution.get_infeasible_orders().to_list()) to see which orders are infeasible.
Data types: Use explicit dtypes (float32, int32) for matrices and series to avoid silent errors.
Examples
- examples.md — VRP, PDP, multi-depot
- server_examples.md — REST client (curl, Python)
- Reference models: This skill's
assets/— vrp_basic, pdp_basic. See assets/README.md.
Escalate
For contribution or build-from-source, see the developer skill.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

