Troubleshooting

How to Check if My Configuration Is Valid for a cuOpt Variant (Constraints, Inputs) When Using the cuOpt Service?

  • The cuOpt service will validate the data passed in a set or update operation for the following general data categories:

    • Cost matrix

    • Waypoint graph

    • Fleet data

    • Includes time windows, breaks, capacities, and so on.

    • Task data

    • Includes time windows, service times, priorities, and so on.

    • Solver configuration

    If the data passed is not valid, the HTTP status code of the response will be >= 400, and the response will contain a detailed error message. If the data passed is valid, the HTTP status code of the response will be 200. See the Server API documentation for more detail on the HTTP response.

    Other configuration errors may be caught by the solver when get_routes is called.

Common Misconfigurations Reported by the cuOpt Service, and How to Fix Them (Missing Data, Incompatible Constraints)

  • The error messages listed below are up to date for the cuOpt server.

  • If the authentication is failing

    • Make sure Client ID and secret are set properly

    • Check if the secret is expired, and if expired, generate a new one

    • Delete cache for a token if nothing works

  • If you are failing to connect to the endpoint

    • Maybe you have a local cache that is pointing to the wrong function; please delete the cache to unblock

    • Or maybe the NVIDIA cloud service infrastructure is down

  • If a request starts polling for a result and stops after a while without a result

    • Please wait for some time and try to hit the endpoint that was provided at the end to retrieve the result

    • If the time taken is excessive for a simple problem, then engage cuOpt support

  • If you are getting HTTP errors 500 or 409, these are from cuOpt

    • Please capture any output from the program and send it to us via a bug or incident report. Also, the dataset used would be good too, but please ensure it does not contain proprietary details

  • If you are getting any other HTTP errors, they are from NVIDIA cloud service infrastructure

    • Please submit a bug report.

Copy
Copied!
            

"Environment variable 'CUOPT_CLIENT_ID' not found"

  • ID is not set in the environment variable

  • For Linux:

    • export CUOPT_CLIENT_ID=”SSA_CLIENT_ID”

  • Else, set it in the cli or pass it in the function call

Copy
Copied!
            

"Environment variable 'CUOPT_CLIENT_SECRET' not found"

  • SECRET is not set in the environment variable

  • For Linux:

    • export CUOPT_CLIENT_SECRET=”SSA_SECRET”

  • Else, set it in the cli or pass it in the function call

Copy
Copied!
            

Authentication Error: Invalid Client ID or Client Secret

  • Invalid Client ID or Secret has been provided; please ensure they match.

Important

Bugs should be formally submitted using the NGC cuOpt Service landing page

Copy
Copied!
            

cuOpt Error: Conflict - 409: Infeasible Solve

  • The problem set provided is not feasible; constraints need to relax or enable the drop_infeasible option, which will drop infeasible jobs/tasks

Copy
Copied!
            

404 Client Error: Not Found for URL: *********

  • Trying to hit the wrong endpoint

  • Maybe a version cache mismatch; the cache needs to be clear

    • rm -rf version_cache.json

Copy
Copied!
            

cuOpt Error: Bad Request - 400: All values in cost_matrix must be >= 0

  • If the cost/time matrix has a negative value, which is not accepted

Copy
Copied!
            

cuOpt Error: Bad Request - 400: All rows in the cost matrix must be of the same length

  • If the cost/time matrix is not a square matrix

Copy
Copied!
            

cuOpt Error: Bad Request - 400: task_locations represent index locations and must be greater than or equal to 0

  • If the task locations provided are a negative value or invalid

Copy
Copied!
            

cuOpt Error: Unprocessable Entity - 422: [{'loc': ……

  • Malformed JSON data, maybe the name or structure of JSON data is mismatched

  • Details would be in the error message

Copy
Copied!
            

cuOpt Error: Bad Request - 400: task_time_windows must be greater than or equal to 0

  • Task time window contains the non-negative value

Copy
Copied!
            

cuOpt Error: Bad Request - 400: service_times must be greater than or equal to 0

  • Service time should be a non-negative value

Copy
Copied!
            

cuOpt Error: Bad Request - 400: priorities must be within the range of [0, 255]

  • Task/Job Priorities should lie within [0, 255]

Copy
Copied!
            

cuOpt Error: Bad Request - 400: Fleet locations represent index locations and must be greater than or equal to 0

  • Vehicle location should be non-negative

Copy
Copied!
            

cuOpt Error: Internal Server Error - 500: cuOpt unhandled exception, please include this message in any error report: Return location must be between min 0 and max num_locations!

  • Vehicle location should lie within [0, max_num_locations], determined by cost matrix/waypoint graph size.

Copy
Copied!
            

cuOpt Error: Bad Request - 400: Vehicle priorities must be within the range of [0, 255]

  • Vehicle Priorities should lie within [0, 255]

Copy
Copied!
            

cuOpt Error: Bad Request - 400: All capacity dimensions values must be 0 or greater

  • Vehicle capacity should be non-negative

Copy
Copied!
            

cuOpt Error: Bad Request - 400: vehicle_time_windows: All vehicle time window values must be greater than or equal to 0

  • Vehicle time windows should be non-negative

© Copyright 2021-2023, NVIDIA. Last updated on Nov 13, 2023.