Code Monkey home page Code Monkey logo

cuopt-resources's Introduction

cuOpt Resources

NVIDIA cuOpt is an accelerated Operations Research optimization API to help developers create complex, real-time fleet routing workflows on NVIDIA GPUs. This repository contains a collection of resources demonstrating use of NVIDIA cuOpt via Python SDK and service APIs.

The cuOpt-Resources repository is under MIT License

Use of NVIDIA cuOpt is subject to the End User License Agreement

cuOpt uses highly optimized GPU-accelerated solvers relying on heuristics, metaheuristics, and optimization. In addition to providing dramatically accelerated, world class solutions to some of the most difficult optimization problems, NVIDIA cuOpt prioritizes ease of use through high level Python SDK and service APIs

cuOpt Docs

Contents

Try NVIDIA cuOpt

cuopt-resources's People

Contributors

afender avatar anandhkb avatar angudadevops avatar iroy30 avatar rgsl888prabhu avatar schultzc avatar tmckayus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cuopt-resources's Issues

How to allow jypter notebook outside the local network? [QST]

What is your question?
I have installed cuopt docker in a remote server and started the jypter notebook using the below command

docker run -it --gpus all --rm nvcr.io/nvidia/cuopt/cuopt:22.10.01 jupyter-notebook --notebook-dir /home/cuopt_user/notebooks

The juypter notebook is starting on port 8888.

But when i try to access the notebook from public network it returns forbidden.
How to Fix?

[BUG]: Technician/Vehicle get assigned to lunch break location even when no orders got assigned

Version

22.12

Which installation method(s) does this occur on?

Docker

Describe the bug.

I was running the cuOpt of Dispatch technician use case and observed that cuOpt is assigning a trip to the lunch break location even when orders are not assigned in the output.

For example:
We have three technicians/vehicles V1, V2, V3

V1 and V2 are assigned all orders. V3 isn't assigned any orders. But V3 is assigned a trip to the lunch break location even though there aren't orders to complete. Expected behavior is no trips.

Minimum reproducible example

No response

Relevant log output

No response

Environment details

docker container: 22.12 version

Other/Misc.

No response

Code of Conduct

  • I agree to follow cuOpt's Code of Conduct
  • I have searched the open bugs and have found no duplicates for this bug report

How to solve a routing problem with both vehicle start end constraints and pickup delivery constraints?[QST]

I am trying to solve a pickup delivery problem, These are the parameters

  1. Vehicles will have a start and end location (dynamic for every vehicle)
  2. List of waypoints pickup and delivery

I need to apply vehicle start-end constraint and pickup-delivery constraint.

I did the following.

I added the vehicle starts and ends as waypoints to the solver.
Then i add start-end vehicle constraint using set_vehicle_locations function
Then i tried to setup pickup delivery constraint using set_pickup_delivery_pairs function

But the function expects the vehicle start and end location as a pickup delivery pair.
Please tell me how to handle this case?

Objective function

Hi,
I'm doing some tests and I've added the "Objectives" in the solver configuration putting the same weight equal to 100000 for the distance (cost) and vehicles.
Is it possible that maybe the number of vehicles is still considered as the main objective even if the weight is the same?
I'm asking because this is what it seems considering the results I'm obtaining.

Set Solver Config Server API

Hi,
can you explain to me what is "number_of_climbers" in the solver configuration?
I know that the primary objective of the solver is to minimize the number of vehicles used, but I'd like to know which are the default values for the "Objectives" in the solver configuration, thanks.

Is there a way to get partial solution? [QST]

If i have 10 orders at different locations. I need atleast 10 vehicles to solve the problem.
If i dont provide enough vehicles the solve is fully failing
I need to know whether the solve can give a partial solution?

[BUG]: This is a Test - Disregard

Version

How will I know this?

Which installation method(s) does this occur on?

Pip

Describe the bug.

Testing EA

Minimum reproducible example

abcdefghijklmnopqrstuvwxyz

Relevant log output

logs << abc << 123 <<

Environment details

No response

Other/Misc.

No response

New Release 22.12

Hi,
what's new about the 22.12 release? Is it possible to solve PDP now?

How to pass set_order_time_windows ? [QST]

I have set the order location using set_order_locations.
Then i setup pickup delivery pairs using the index of orderlocations array

How to set time windows? Do i need to pass the values using orderlocations index?

[QST] can i add vehicle capacity and goods capacity

can i add vehicle capacity and goods capacity?
if my vehicle capacity in terms of height, widths and length.
and some other parameters like milage, carbon footprint.
as well as i add good capacity like height, widths and length.
if possible yes ..what's the API for that?
and in answer will i get the which vehicle will carry which goods in optimised solution.

[QST]: NVIDIA cuOpt failure - Limited version of NVIDIA cuOpt has expired

What is your question?

Hi,

when I was using docker image of from //docker-utilities/utilities/run_server.sh from 22.10.
I got this error "NVIDIA cuOpt failure - Limited version of NVIDIA cuOpt has expired"
when I updated my script with 22.12, its working fine.

I want to know, is this paid service? are you going to charge us after some usage?

[QST] how to input data for "set_task_data" api

I have doubt regarding cupot server api "set_task_data" input parameters
the "task_time_windows" what's these two parameters for each location shown in example?
https://docs.nvidia.com/cuopt/examples/00_server.html
and what's the unit to calculate this?
For Example: for one particular location we want to set time slot between 1:00 PM to 2:00 PM.
how we can add this slot in the "task_time_windows" parameter?
while adding "task_time_windows" we calculated the time in seconds from 12:00AM Mid night to 1:00 PM (46800).
similarly we added for 2:00PM (50400).
I see similar function for python is data_model set_order_time_windows.
is it right?

[QST] in case of failure can i get the failure reason

hi,
while calling api /cuopt/get_optimized_routes we get {"detail":"Failed to find solution with given constraints"}.
is it possible to know due to which constrain this failed?
or is it possible to mentioned or prioritise few constrain route optimiser must follow?
i.e. one constrain i dont want to strictly follow if i dont get any route. Avoid that constrain and still give me route with reason.

[QST] pickup&delivery

Hi,
I'm using cuOpt-Resources server with an instance with more ore less 200 pickup&delivery pairs. I get a solution in less than 1 second even if I've put a time limit of 2 minutes. The solution cost i get (if it represents the total distance of all routes) could be better though because I have a benchmark.
Why does the algorithm stop so early?

Matrices in case of sub-instances

Hi,
I'm using v.22.10.1 of the solver

When I give the matrices in input and I want to consider a complete instance and then the same instance, but splitted in more sub-instances is it possible to give always the same matrices?
Or do I have to cut the matrix when some of the points of the complete instance are no more in the sub-instance?

[QST]: Why is the cuopt release so bad architecturally?

What is your question?

Why do you use conda environments within a container? You already have the isolation and abstraction of the container, why the need to initialize a separate conda env?
This env is installed to a specific user and UID. If you are not running as the user or UID cuopt doesn't work. It also makes it difficult to layer additional packages on top of the container.

Why not just make it global env for the entire image? Place files in global directories like /usr/local/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.