Release Notes 24.07¶
GPU Support¶
Ampere and Hopper GPUs are supported.
Multiple GPUs per instance are not yet supported.
Breaking Changes¶
None
Bug Fixes¶
Fix a bug in shared memory allocation which caused cuda error while using prize collection.
cuOpt service add configurable exec timeout to client .
Documentation Updates¶
New Features¶
Add SSL support for self-hosted client.
Report each accumulated objective separately (cost/travel-time/prize) along with total objective value.
Add support for SSL to server.
Improvements¶
Add -v option to cuOpt client for print version.
Distroless cuOpt image; this would restrict interactive shell in the container.
Record an exception in the cuOpt service for jobs terminated in a shutdown, so each of those jobs will get an update of failure rather than an abrupt end of connection.
Switch the managed service client to use pexec ; this just changes the URL on how the service is accessed.
Improved techniques to find better routes. With this, cuOpt explores the search space more efficiently.
Lazy allocation of routes to reduce memory usage for large fleet size problems, and reduce any chance of exhausting GPU memory and crashing.
Release Notes 24.03¶
GPU Support¶
Ampere and Hopper GPUs are supported.
Multiple GPUs are not yet supported.
Breaking Changes¶
Removed task priorities, vehicle priorities, drop infeasible tasks and mandatory task.
Adding
data
deprecatingcost_matrix
in data format for cost and time matrix.
Bug Fixes¶
Report cost and arrival stamps in double precision to eliminate floating point overflow.
Restrict types of data that can be unpickled.
Fix a bug in single route PDP use case.
Fix a bug in handling vehicle order match constraint.
Fix bugs in repair solutions for min vehicles constraint.
Handle shared memory allocation failure gracefully.
Documentation Updates¶
Update doc with SAK changes.
New Features¶
Add warm up + internal timing to solver.
Support multiple break dimensions.
Implement vehicle usage cost in the objective.
Add cuOpt validator support to managed and self-hosted service.
Improvements¶
Always return request id from self-hosted endpoint to align with managed service.
Improved logging for cuOpt microservice.
Handle solutions with different number of routes in EAX.
Adds response model for API endpoints.
Reduce overhead time in microservice ETL.
Handle shared memory issue gracefully in VRP moves.
Improve solver runtime checks.
Improve solution quality for vehicle order match constraints using a separate dimension.
Implement ordered crossover.
Release Notes 23.10¶
Breaking Changes¶
Change the cuOpt endpoint to expect an optimization data structure rather than a dictionary.
Remove penalty, precedence, Objectives : (vehicle, cumul_package_time, cumul_earliest_diff), max_slack, max_lateness_per_vehicle, solution_strategy, initial_solution_strategy, solution_scope, number_of_climbers, number_of_iterations.
Deprecate task/order priorities, use new feature prizes instead.
Bug Fixes¶
Fix an out of bounds error in drop infeasible task workflow.
Fix a bug in the engine when the route size is equal to the
route_size_limit
.
Documentation Updates¶
Add docs for building a user’s own thin client.
Add a user guide for breaking changes.
New Features¶
Implement total duration objective which includes both drive times and wait times.
Implement prize collection.
Improvements¶
Improve logic for time budgeting for initial solution generation.
Graceful exit when the shared memory limit is exceeded.
Add a check for client version compatibility to the server.
Improve the quality of routes and the scalability for TSP.
Improve file handling in the client for the cuOpt managed service.
Documentation updates.