6.1 Solution Object

Each solution object consists of the following fields:

  1. Field: routes
    Type: Array of route objects.
    Description: An array of route objects, each of which describes the generated plan for a single vehicle.
  2. Field: route_kpis
    Type: Array of route_kpi objects.
    Description: An array of route KPI objects, each of which describes the KPIs for a single vehicle.
  3. Field: cost
    Type: Number.
    Description: The total cost for all routes in the solution.
  4. Field: distance
    Type: Number.
    Description: The total transit distance of all routes in the solution.
  5. Field: delivery_distance
    Type: Number.
    Description: The transit distance while making deliveries in all routes in the solution.
  6. Field: loaded_distance
    Type: Number.
    Description: The total transit distance travelled in all routes while the vehicles are carrying at least one order.
  7. Field: empty_distance
    Type: Number.
    Description: The total transit distance travelled in all routes while the vehicles are empty.
  8. Field: work_time
    Type: String (HH::MM).
    Description: The total work time for all routes in the solution.
  9. Field: transit_time
    Type: String (HH:MM).
    Description: The total transit time for all routes in the solution.
  10. Field: service_time
    Type: String (HH:MM) .
    Description: The total service time for all routes in the solution. (See Service Time in Section  2.12.)
  11. Field: site_time
    Type: String (HH:MM).
    Description: The site time incurred in all routes in the solution. (See Site Time in Section  2.10.)
  12. Field: idle_time
    Type: String (HH:MM).
    Description: The total idle time for all routes in the solution.
  13. Field: break_time
    Type: String (HH:MM).
    Description: The total break time for all routes in the solution.
  14. Field: weight
    Type: Number.
    Description: The cumulative weight carried in all routes in the solution.
  15. Field: volume
    Type: Number.
    Description: The cumulative volume carried in all routes in the solution.
  16. Field: assigned_orders
    Type: Number (integer).
    Description: The number of orders that have been assigned to a vehicle by the optimiser.
  17. Field: unassigned_orders
    Type: Array of strings.
    Description: An array containing the order identifiers of any unassigned orders. An empty array means that there are no unassigned orders.
  18. Field: unassigned_reasons
    Type: Array of unassigned reason objects.
    Description: The results of the unassigned order analysis for any unassigned orders.
  19. Field: total_orders
    Type: Number (integer).
    Description: The total number of orders in the scenario. This is also the length of the orders array in the scenario.
  20. Field: used_vehicles
    Type: Number (integer).
    Description: The number of vehicles used in the solution.
  21. Field: total_vehicles
    Type: Number (integer).
    Description: The total number of vehicles in the scenario.
  22. Field: loads
    Type: Number (integer).
    Description: If batched loads is true then the total number of loads in the solution.
  23. Field: drops_per_load
    Type: Number.
    Description: If batched loads is true then the average number of drops per load in the solution.
  24. Field: km_per_load
    Type: Number.
    Description: If batched loads is true and Use Miles is false then the average number of kilometres per load in the solution.
  25. Field: miles_per_load
    Type: Number.
    Description: If batched loads and Use Miles are both true then the average number of miles per load in the solution.
  26. Field: drops_per_load
    Type: Number.
    Description: If batched loads is true then the average number of drops per load in the solution.
  27. Field: hours_per_load
    Type: String (HH:MM).
    Description: If batched loads is true then the average time per load.
  28. Field: pickup_soft_time_window_early
    Type: String (HH:MM).
    Description: If there are pickup soft time windows present in the orders then the total amount of time that orders were picked up early.
  29. Field: pickup_soft_time_window_late
    Type: String (HH:MM).
    Description: If there are pickup soft time windows present in the orders then the total amount of time that orders were picked up late.
  30. Field: delivery_soft_time_window_early
    Type: String (HH:MM).
    Description: If there are delivery soft time windows present in the orders then the total amount of time that orders were delivered early.
  31. Field: delivery_soft_time_window_late
    Type: String (HH:MM).
    Description: If there are delivery soft time windows present in the orders then the total amount of time that orders were delivered late.
  32. Field: iteration
    Type: Number (integer).
    Description: The iteration that generated this solution.
  33. Field: total_iterations
    Type: Number (integer).
    Description: The total number of iterations that the optimisation that generated this solution was set to run for.
  34. Field: errors
    Type: Array of strings.
    Description: A list of errors in the solution; will be null or empty if there are no errors.
    Note: This field provide feedback when a solution is modified after optimisation.
  35. Field: warnings
    Type: Array of strings.
    Description: A list of warnings about the solution; will be null or empty if there are no warnings.
  36. Field: date_generated
    Type: String.
    Description: A string giving the day, date, time and year the solution was generated.
    Example: Fri Jul 07 10:12:18 AEST 2017
  37. Field: scenario
    Type: String.
    Description: The name of the scenario from which the solution was generated. Matches the name field of the general object in the scenario object.
  38. Field: run_time
    Type: String (HH:MM:SS).
    Description: The length of time the optimiser ran for.