cuOpt LP Features#

Note

For detailed information about the features and specifications, please visit the cuOpt API specifications for linear programming.

Constraints#

The constraints are set in CSR format through csr_constraint_matrix and bounds are set through constraint_bounds in API. Users can set upper and lower bound explicitly.

Initial Solutions#

For warm start initial primal and dual solutions can be provided to solver.

Variable Types#

For MILP, variable types are essential to know which ones are integers. If nothing is set, the problem is treated as Linear Programming.

Solver mode#

You can control how the solver will operate by using solver_mode under solver_config. The mode choice can drastically impact how fast a specific problem will be solved. Users are encouraged to test different modes to see which one fits the best their problem.

Infeasibility Detection#

An option under solver_config in API, if set, solver will abort as soon as it concludes that problem is infeasible.

Time Limit#

The time_limit is optional, if set, solver runs till the time is specified. If not set, in case of managed service it would be capped to 10 minutes and in case of self hosted it will run till user gets a solution.

Note

The time_limit set is what solver will essentially use to solve the problem and doesn’t include network transfer, etl, validation of input, instance being busy with other requests and few other overheads, these overheads would be comparatively smaller. So the overall request to response round trip time would be solve_time + overhead.

Batch Mode#

Users can submit a set of problems which will be solved in a batch. Problems will be solved at the same time in parallel to fully utilize the GPU. Checkout self-hosted client and managed client examples in thin clients.

Note

Instead of forming data in json/dict format, users can use utility classes to build their data_model and solver_settings, and convert that into JSON directly. Examples on utlity classes can be found in thin client examples section.