cuOpt MILP 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 the API. Users can set upper and lower bounds explicitly.
Initial Solutions#
For warm start, the initial solution can be provided to the solver.
Incumbent solution callback#
Note
Only available for MILP and self-hosted version.
Users can provide a callback to receive incumbent solution while the solver is running. Examples are shared on the self-hosted page.
Logging callback#
Note
Only available for LP and MILP for self-hosted version.
A logging callback allows users to get additional information about how the solve is progressing. Examples are shared on the self-hosted page.
Time Limit#
The time_limit
is required and the solver will run until that time before it returns a result.
Note
The time_limit
set is what the solver will use to solve the problem, and doesn’t include network transfer
, etl
, validation of input
, instance being busy with other requests
and a few other overheads. These overheads would be comparatively smaller. So the overall request to the response of round-trip time would be solve_time
+ overhead
.
Variable Bounds#
The variable lower and upper bounds can be set. If no variable bounds are specified, the default bounds will be [-inf,+inf].
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.
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 the thin client examples section.