Transition Guide for Change In Features

In addition to the quality improvements, some new features were added, and some features were deprecated to improve user experience. For any questions, please reach out to the cuOpt team through NGC.

Parameter/option statuses are listed below, they express how each of these options are affected:

New - A new feature has been added.

Update - A change in definition of feature.

Deprecated - These are “no operation” options, they will be accepted by the server, but they will not be used anywhere. And the solver will also return a warning about them being deprecated.

Limited - These options are limited with respect to the number of dimensions that can be provided. For example, cuOpt-23.08 solver supports only one break for each vehicle (like lunch break).

Removed - These features were deprecated in previous release and completely removed in this one.

Status:
  • New

Former behavior:
  • If there is no feasible solution or cuOpt could not find a feasible solution, the return status would be 1, implying infeasible. No solution would be returned.

  • To find a feasible partial solution, drop_infeasible_tasks option had to be enabled.

Current behavior:
  • With cuOpt-23.08, if the problem is infeasible, then the solver will return a solution which has been generated by violating constraints. The returned status will be 1 to indicate infeasibility.

  • It also returns what constraints are being violated as warnings. The user can analyze the data on what caused infeasibility

  • drop_infeasible_tasks is still available and can be used to get a partial feasible solution.

Feasible solution response:

{‘response’: {solver_response: {‘status’: 0…….

Infeasible solution response:

{‘response’: {‘solver_infeasible_response’: {‘status’: 1…..

number_of_iterations
Status:
  • Removed

number_of_climbers
Status:
  • Removed

solution_scope
Status:
  • Removed

initial_solution_strategy
Status:
  • Removed

solution_strategy
Status:
  • Removed

objectives
travel_time
status:
  • Update

Former:
  • Just drive time was considered

Current
  • Now drive, service and wait times are considered

vehicle
Status:
  • Removed

cumul_package_time
Status:
  • Removed

cumul_earliest_diff
Status:
  • Removed

capacities
Status:
  • Limited

Former:
  • Lists of capacities of each vehicle

Suggestion:
  • The number of dimensions for capacity is limited to 3, meaning each vehicle can have at max 3 different sets of capacities (For example: weight, volume, fuel).

vehicle_break_time_windows
Status:
  • Limited

Former:
  • Lists of tuples of earliest and latest break time for each vehicle.

  • There can be multiple such lists for different breaks (lunch break, tea break and etc.)

Suggestion:
  • With cuOpt-23.08 the number of dimensions for break is limited to 1.

vehicle_break_durations
Status:
  • Limited

Former:
  • Lists of break duration time for each vehicle.

  • There can be multiple such lists for different breaks (lunch break, tea break and etc.)

Suggestion:
  • With cuOpt-23.08 the number of dimensions for break duration is limited to 1.

max_slack
Status:
  • Removed

max_lateness_per_vehicle
Status:
  • Removed

demand
Status:
  • Limited

Former:
  • Lists of demands of each task.

Suggestion:
  • With cuOpt-23.08 the number of dimensions for demand is limited to 3, meaning each task can have at max 3 different sets of demand (For example: weight, volume, fuel).

prizes
Status:
  • New

Current:
  • Each task/order has a prize and this can be used in cases where all tasks are not feasible and the user requires tasks/orders with the highest prize to be considered before trying other tasks/orders.

  • If the cost of serving a customer is too high compared to the prize of serving a customer, the solver will drop that customer to improve overall cost. If the primary goal is to serve as many customers as possible, it is advisable to set very high prizes.

priorities
Status:
  • Deprecated

Former:
  • Tasks with higher priority would be considered more compared to other lower priority ones.

Suggestion:
  • Use Prize collection to accomplish this

penalties
Status:
  • Removed

precedences
Status:
  • Removed

© Copyright 2021-2023, NVIDIA. Last updated on Nov 13, 2023.