VRP: transparent remote execution via CUOPT_REMOTE_HOST/PORT (solve parity with LP/MIP)
@akifcorduk is already working on this.
Since Jul 28, 2026.
- Dominant language
- Cuda
- Stars
- 1k
- Forks
- 233
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 95
Description
Follow-up to #1597. LP/MIP support transparent remote execution: is_remote_execution_enabled() (checks CUOPT_REMOTE_HOST/CUOPT_REMOTE_PORT, see pdlp/backend_selection.cpp) makes the normal solve_lp()/solve_mip() route to solve_lp_remote()/solve_mip_remote() — non-invasive, works from any interface (C/Python/CLI) without code changes.
VRP has no equivalent: routing's Solve() never checks the env or calls a remote backend. #1597 adds only the explicit cuopt.grpc.routing.RoutingClient (you call it directly). Note CUOPT_GRPC_SERVER (used by the RoutingClient tests) is a different knob from the transparent CUOPT_REMOTE_HOST/CUOPT_REMOTE_PORT path.
Scope
- Add
solve_vrp_remote()(hostcpu_routing_problem_t→ gRPC submit →RoutingSolution), mirroringsolve_lp_remote/solve_mip_remote. - Hook
is_remote_execution_enabled()into routing'sSolve()entry point so a GPU-lessrouting.Solve(...)transparently runs on a remote server whenCUOPT_REMOTE_HOST/CUOPT_REMOTE_PORTare set.
🤖 Generated with Claude Code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.