Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@



NVIDIA® cuOpt™ is a GPU-accelerated optimization engine that excels in mixed integer linear programming (MILP), linear programming (LP), quadratic programming (QP), and vehicle routing problems (VRP). It enables near real-time solutions for large-scale LPs with millions of variables and constraints, and MIPs with hundreds of thousands of variables. cuOpt offers easy integration into existing modeling languages and seamless deployment across hybrid and multi-cloud environments.
NVIDIA® cuOpt™ is a GPU-accelerated optimization engine that excels in linear programming (LP), quadratic programming (QP), and vehicle routing problems (VRP), with support for quadratically constrained quadratic programming (QCQP) (beta), second-order cone programming (SOCP) (beta), and mixed integer linear programming (MILP) (beta). It enables near real-time solutions for large-scale LPs with millions of variables and constraints. cuOpt offers easy integration into existing modeling languages and seamless deployment across hybrid and multi-cloud environments.

The core engine is written in C++ and wrapped with a C API, Python API and Server API.

Expand All @@ -28,18 +28,24 @@ cuOpt supports the following APIs:

- C API support
- Linear Programming (LP)
- Mixed Integer Linear Programming (MILP)
- Quadratic Programming (QP)
- Quadratically Constrained Quadratic Programming (QCQP) (beta)
- Second-Order Cone Programming (SOCP) (beta)
- Mixed Integer Linear Programming (MILP) (beta)
- C++ API support
- cuOpt is written in C++ and includes a native C++ API. However, we do not provide documentation for the C++ API at this time. We anticipate that the C++ API will change significantly in the future. Use it at your own risk.
- Python support
- Routing (TSP, VRP, and PDP)
- Linear Programming (LP), Mixed Integer Linear Programming (MILP) and Quadratic Programming (QP)
- Algebraic modeling Python API allows users to easily build constraints and objectives
- Linear Programming (LP)
- Quadratic Programming (QP)
- Quadratically Constrained Quadratic Programming (QCQP) (beta)
- Second-Order Cone Programming (SOCP) (beta)
- Mixed Integer Linear Programming (MILP) (beta)
- Algebraic modeling Python API allows users to easily build constraints and objectives
- Server support
- Linear Programming (LP)
- Mixed Integer Linear Programming (MILP)
- Routing (TSP, VRP, and PDP)
- Mixed Integer Linear Programming (MILP) (beta)

This repo is also hosted as a [COIN-OR](http://github.com/coin-or/cuopt/) project.

Expand Down
2 changes: 1 addition & 1 deletion docs/cuopt/source/convex-features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ The convex optimization solvers for Linear Programming (LP), Quadratic Programmi
-

.. note::
QCQP/SOCP is currently only supported in CVXPY. We hope to add support for QCQP/SOCP in other modeling languages soon.
QCQP/SOCP support is currently in **beta**, and is only supported in CVXPY among modeling languages. We hope to add support for QCQP/SOCP in other modeling languages soon.

- **C API**: A native C API that provides direct low-level access to cuOpt's convex optimization solvers, enabling integration into any application or system that can interface with C.

Expand Down
2 changes: 2 additions & 0 deletions docs/cuopt/source/cuopt-python/mip/index.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
MIP (Mixed Integer Programming)
================================

.. note:: Support for mixed integer linear programming is currently in **beta**.

This section contains details on the cuOpt MIP Python API.

.. toctree::
Expand Down
8 changes: 5 additions & 3 deletions docs/cuopt/source/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Introduction
==========================

**NVIDIA® cuOpt™** is a GPU-accelerated optimization library that solves `Mixed Integer Linear Programming (MILP) <https://en.wikipedia.org/wiki/Linear_programming#Integer_unknowns>`_, `Linear Programming (LP) <https://en.wikipedia.org/wiki/Linear_programming>`_, `Quadratic Programming (QP) <https://en.wikipedia.org/wiki/Quadratic_programming>`_, and `Vehicle Routing Problems (VRP) <https://en.wikipedia.org/wiki/Vehicle_routing_problem>`_. It enables solutions for large-scale problems with millions of variables and constraints, offering seamless deployment across hybrid and multi-cloud environments.
**NVIDIA® cuOpt™** is a GPU-accelerated optimization library that solves `Linear Programming (LP) <https://en.wikipedia.org/wiki/Linear_programming>`_, `Quadratic Programming (QP) <https://en.wikipedia.org/wiki/Quadratic_programming>`_, and `Vehicle Routing Problems (VRP) <https://en.wikipedia.org/wiki/Vehicle_routing_problem>`_, with support for `Quadratically Constrained Quadratic Programming (QCQP) <https://en.wikipedia.org/wiki/Quadratically_constrained_quadratic_program>`_ (beta), `Second-Order Cone Programming (SOCP) <https://en.wikipedia.org/wiki/Second-order_cone_programming>`_ (beta), and `Mixed Integer Linear Programming (MILP) <https://en.wikipedia.org/wiki/Linear_programming#Integer_unknowns>`_ (beta). It enables solutions for large-scale problems with millions of variables and constraints, offering seamless deployment across hybrid and multi-cloud environments.

Using accelerated computing, NVIDIA® cuOpt optimizes operations research and logistics by enabling better, faster decisions.

Expand Down Expand Up @@ -76,8 +76,10 @@ cuOpt includes three LP solving methods:

All three algorithms can be run concurrently on both GPU and CPU, with the fastest solution returned automatically.

Mixed Integer Linear Programming (MILP)
=========================================
Mixed Integer Linear Programming (MILP) (Beta)
==============================================

.. note:: Support for mixed integer linear programming is currently in **beta**.

A **Mixed Integer Linear Program** is a variant of a Linear Program where some of the variables are restricted to take on only integer values, while other variables can vary continuously. NVIDIA cuOpt uses a hybrid GPU/CPU method: running primal heuristics on the GPU and improving the dual bound on the CPU.

Expand Down
Loading