cuopt_mcp: add VRP/routing support

Đang mở
#1,939 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Iroy30 đang làm issue này rồi.

Từ ngày 18/9/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

feature request

cuopt_mcp (#1916) currently exposes LP and MILP solving only (cuopt_solve_lp/cuopt_solve_milp), backed by cuopt.grpc.client.grpc_client.Client. Routing/VRP isn't wired in.

Why this is bigger than adding another tool

LP/MILP submission is file-based — problem_path works because MPS/LP are standard formats Read() parses directly. VRP has no file-format equivalent: a routing problem is built programmatically via DataModel calls (fleet size, cost matrix or coordinates, demand, capacity, time windows, breaks, etc.). A cuopt_solve_vrp tool needs a structured JSON input schema covering that construction surface instead of a problem_path string — real design work, not just plumbing.

What's already reusable

RoutingClient (merged into the same cuopt.grpc.client.grpc_client extension module as Client) has a near-identical shape — submit/status/wait/cancel/result/delete — so the tool-calling pattern this PR established (async submit, _guard-shaped errors, generated settings catalogue) should carry over cleanly once the input schema exists.

Gaps to close

  • Design a JSON Schema for VRP problem construction (fleet, tasks, time windows, matrices, etc.) to replace problem_path.
  • cpp/src/grpc/codegen/field_registry.yaml only has pdlp_settings/mip_settings — no routing settings section, so cuopt_list_settings-style generated discovery doesn't cover routing yet. Extending codegen to routing settings (or hand-writing a schema, which the existing settings catalogue deliberately avoids) is its own piece of work.
  • New tools: cuopt_solve_vrp, plus routing-appropriate cuopt_result shaping (route sequences/vehicle assignments look nothing like an LP variable vector).

Scoped as a follow-up to #1916, not part of it.

Ngôn ngữ chính
Cuda
Star
1.1k
Fork
255
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
123

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NVIDIA/cuopt

Tất cả issue của NVIDIA/cuopt

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.