TrueWay VRP

FREEMIUM
Verified
Por TrueWay Team | Actualizada hace un año | Logistics
Popularidad

8.2 / 10

Latencia

3,369ms

Nivel de servicio

100%

Descripción general de TrueWay VRP

Seguidores: 4
Recursos:
Sitio web del producto Condiciones de uso
Creador de la API:
avatar
TrueWay Team
trueway
Calificar la API:
Inicie sesión para calificar la API

LÉAME

This API is designed to solve the main task of logistics - Vehicle Routing Problem (VRP).
The Vehicle Routing Problem (VRP) is the challenge of designing optimal routes for multiple vehicles visiting a set of locations(orders) each with business-specific constraints, such as vehicle limitations, cost controls, time windows, resource limitations concerning the loading process at the depot, etc.
When there’s only one vehicle, it reduces to the Traveling Salesman Problem (TSP).
This API effectively solves most variations of this problem:

  • Traveling Salesman Problem (TSP).
  • Capacitated Vehicle Routing Problem (CVRP)
  • Vehicle Routing Problem with time windows (VRPTW)
  • Multi-depot Vehicle Routing Problem (MDVRP)
  • Open Vehicle Routing Problem (OVRP)
  • Site Dependent Vehicle Routing Problem (SDVRP)
  • Heterogeneous Fleet Vehicle Routing Problem (HFVRP)
    This API can also solve any mix of the above problem types.

The API allows you to:

  • Improve your fleet utilization by finding a cost-effective stop sequence to service your locations(orders).
  • Solving the complicated vehicle routing problem between multiple locations for a full fleet of vehicles, taking into account various restrictions.

Features and capabilities

  • Find optimal routes for a fleet of vehicles visiting a set of orders.
  • Various optimization objectives: minimization of summary duration, minimization of summary distance, minimization of overall completion time, minimization of routes length.
  • Delivery.
  • Pickup.
  • Pickup and Delivery (shipment).
  • Service visits.
  • Multiple depots.
  • Quantity(demand) to be delivery or picked up for each order.
  • Multidimensional named quantities/capacity.
  • Time windows for visit each order.
  • Service time (visit duration) at each order.
  • Allow to drop some orders when no solution is possible.
  • Skills constraint.
  • Constraint the time that an order can stay in the vehicle.
  • Vehicle capacity constraint.
  • Vehicle distance constraint.
  • Vehicle duration constraint.
  • Vehicle driving duration constraint.
  • Number of orders on the vehicle constraint.
  • Vehicle working hours.
  • Vehicle breaks.
  • Various types of starts/ends of vehicle route: depot, location, undefined
  • Global road network coverage from best geodata providers.
  • Can avoid toll roads, highways or ferries.
  • Optional use traffic conditions (historical and live).
  • Detailed route geometry is provided.
  • Easy-to-Use.
  • High performance.
  • High efficiency.
  • Flexibility.

Get Started

Using this api is very easy:
Just put the list of orders, vehicles and depots(optional) in the body of the POST request, define the required parameters and constraints and send the request. After a few seconds, you will receive an optimized route plan for each vehicle, taking into account all the constraints.

Request

Request Body

The request body contains task data (model of vehicle route problem): orders, vehicles, depots(optional).
Request Body Schema:

{
  "service_orders": [],
  "delivery_orders": [],
  "pickup_orders": [],
  "shipment_orders": [],
  "depots": [],
  "vehicles": [],
  "options": {}
}

Request Body Elements

  • service_orders - List of service orders. Specifies locations to be visited by vehicles for some type of service or inspection (a tree trimming job or building inspection, for instance). Optional.
  • delivery_orders - List of delivery orders. Specifies locations to be visited by vehicles for delivery (for example, furniture delivery). Optional.
  • pickup_orders - List of pickup orders. Specifies locations to be visited by vehicles for pickup (such as an airport shuttle bus picking up a passenger). Optional.
  • shipment_orders - List of shipment(pickup and delivery) orders. Specifies pickup and delivery locations to be visited by vehicles subsequently, i.e. each vehicle picks up items at various locations and drops them off at others (for example, same-day courier, taxi services, moving companies, transportation services). Optional.
  • depots - List of depots. Optional.
  • vehicles - List of vehicles.
  • options - Options to control the service behavior. Optional.

Orders

An order can represent a delivery (for example, furniture delivery), a pickup (such as an airport shuttle bus picking up a passenger), some type of service or inspection (a tree trimming job or building inspection, for instance) or shipment(pickup and delivery) (for example, same-day courier, taxi services, moving companies, transportation services).
Orders are specified in the corresponding properties of the request json-structure:

  • “service_orders”: []
  • “delivery_orders”: []
  • “pickup_orders”: []
  • “shipment_orders”: []
    In one request, you can specify any mix of orders of different types: service, delivery, pickup, shipment(pickup and delivery).

Order

Required properties:

  • location - The location(coordinates) of the order

Optional properties:

  • id - The order identifier.
  • name - name of the order (any text).
  • address - address of the location.
  • description - additional description of the order (any text).
  • time_windows - The time windows of the order. Vehicles must visit a location within its time windows. The time window is described by the following structure:
    {
    • earliest - The earliest time of the window for a visit the location (seconds). This time can be set both in seconds from the starting, and as absolute time (unix timestamp).
    • latest - The latest time of the window for a visit the location (seconds). This time can be set both in seconds from the starting, and as absolute time (unix timestamp).
      }
  • service_duration - Service time at the order (seconds). You can also set default service duration for all orders (query parameter “order_service_duration”).
  • optional - True if the order is optional(the order can be served or unserved); otherwise, false(the order must be served mandatory). If it is impossible to served all orders within the defined constraints, some of the optional orders may be dropped. Dropped orders IDs will be listed in the property “unassigned_orders” of response.
  • priority - The priority of the order. Useful in situations where not all orders can be performed. Then you can set priorities to differentiate high priority tasks from those that could be left unassigned. Setting a high priority value for some orders will tend as much as possible to have them included in the solution over lower-priority orders.
  • allowed_vehicles - Array of allowed vehicle ids.
  • required_skills - Array of required skills. The order can only be served by a vehicle that has all its required skills.
  • quantity - Quantity(demand) to be delivery or picked up for the order (any units: weight, volume, …). For simple nonamed one-dimensional quantity, it’s just an integer (example: “quantity”:10). For named or multidimensional quantity, this is a dictionary in which the keys are the name of the dimension, and the values are the demand (example: “quantity”:{“weight”:10,“volume:20”}). Used only for delivery, pickup, or shipment orders.
  • max_time_in_vehicle - The maximum time a order can stay in the vehicle (seconds). Used only for delivery, pickup, or shipment orders.

Service Order

Order of this type specifies locations to be visited by vehicles for some type of service or inspection (a tree trimming job or building inspection, for instance).

Delivery Order

Specifies locations to be visited by vehicles for delivery (for example, furniture delivery).
Items are implicitly loaded at the beginning of the route and will stay in the route until delivery (and thus releases capacity for the rest of the route).

Pickup Order

Specifies locations to be visited by vehicles for pickup (such as an airport shuttle bus picking up a passenger).
Items are loaded at the orders locations and will stay in the vehicle for the rest of the route (and thus consumes capacity for the rest of the route).

Shipment Order

Specifies pickup AND delivery locations to be visited by vehicles subsequently (for example, same-day courier, taxi services, moving companies, transportation services).
Each vehicle picks up items at various locations and drops them off at others.
Order of this type required three mandatory properties:

  • pickup - pickup location;
  • delivery - delivery location;
  • quantity - quantity (size of the order);
    You can use the query parameter “shipment_delivery_precedence” to control the order of deliveries:
    • "any" - Any order.
    • "lifo" - Deliveries must be performed in reverse order of pickups.
    • "fifo" - Deliveries must be performed in the same order as pickups.

Depots

Depot specifies a location that a vehicle departs from at the beginning of its workday and returns to at the end of the workday. Vehicles are loaded (for deliveries) or unloaded (for pickups) at depots at the start of the route.
Depots are set in the property “depots” of the request json-structure.
This property is optional. The start and end of the route can be set directly for a vehicle.

Depot

Required properties:

  • location - The location(coordinates) of the depot.

Optional properties:

  • id - The depot identifier. By default this id is assigned in the format “depots[index]”, for example “depots[0]”, “depots[1]”, …
  • name - name of the depot (any text).
  • address - address of the depot.
  • description - additional description of the depot (any text).

Vehicles

Specifies the available vehicles (fleet).
Vehicles are set in the property “vehicles” of the request json-structure.

Vehicle

Required properties:

Optional properties:

  • id - The vehicle identifier. By default id is assigned in the format “vehicles[index]”, for example: “vehicles[0]”, “vehicles[1]”, …
  • start - Start of the vehicle route.
    Format:
    • "lat,lng"
    • {"id":id, "location":location, "address":address, "name":name, "description":description}
    • "depot_id" where depot_id - id depot, from which the vehicle starts.
      By default (when start not defined), the route starts at an arbitrary order location.
  • end - End of the vehicle route.
    Format:
    • "lat,lng"
    • {"id":id, "location":location, "address":address, "name":name, "description":description}
    • "depot_id" where depot_id - id depot where the vehicle ends.
      By default (when end not defined), the route ends at an arbitrary order location.
  • capacity - Capacity of the vehicle - the maximum quantity that the vehicle can hold (any units: weight, volume, …). The capacity can be one-dimensional (e.g.: “capacity”:10) or multidimensional (e.g.: “capacity”: { “weight”: 10, “volume”: 20}). You can also set default capacity for all vehicles (query parameter “vehicle_capacity”).
  • max_distance - The vehicle maximum travel distance (meters). You can also set maximum travel distance restriction for all vehicles (query parameter “max_vehicle_distance”).
  • max_duration - Vehicle maximum travel duration (seconds). You can also set maximum travel duration restriction for all vehicles (query parameter “max_vehicle_duration”).
  • max_driving_duration - Vehicle maximum driving duration (seconds). You can also set maximum driving duration restriction for all vehicles (query parameter “max_vehicle_driving_duration”).
  • max_orders - Maximum allowable number of orders on the vehicle. You can also set maximum allowable number of orders for all vehicles (query parameter “max_vehicle_orders”).
  • earliest_start - The earliest allowable starting time for the vehicle. This time can be set both in seconds from the starting, and as absolute time (unix timestamp).
  • latest_end - The latest allowable ending time for the vehicle. This time can be set both in seconds from the starting, and as absolute time (unix timestamp).
  • breaks - Array of breaks. The break is described by the following structure:
    {
    • earliest_start - Earliest start time of the break (seconds). This time can be set both in seconds from the starting, and as absolute time (unix timestamp).
    • latest_start - Latest start time of the break (seconds). This time can be set both in seconds from the starting, and as absolute time (unix timestamp).
    • duration - Duration of the break (seconds).
    • optional - True if the break is optional(the break can be performed or unperformed); otherwise, false(the break must be performed mandatory).
      }
  • skills - Array of skills (array of string). It is used if some orders can only be served by a vehicle that has all its required skills.

Request Query Parameters:

As is standard in URLs, all parameters are separated using the ampersand (&) character.
Required parameters:

Optional parameters:

  • objective - Objective of optimization:
    • min_total_duration - minimizes the summary duration (minimizes the sum of vehicle routes’ durations);
    • min_total_distance - minimizes the summary distance (minimize the sum of vehicle routes’ distances);
    • min_completion_time - minimizes the overall completion time (minimizes the maximum of vehicle routes’ completion time);
    • min_route_distance - minimizes the route distance (minimizes the length of the longest route);
      Default: min_total_duration
  • quality - Optimization quality:
    • fast
    • normal
    • best
      Default: normal
  • max_vehicle_distance - Vehicle maximum route distance (meters). Default: 0 (Unlimited).
  • max_vehicle_duration - Vehicle maximum route duration (seconds). Default: 0 (Unlimited).
  • max_vehicle_driving_duration - Vehicle maximum route driving duration (seconds). Default: 0 (Unlimited).
  • max_vehicle_waiting_time - Vehicle maximum waiting time at order (seconds). Default: 0 (Unlimited).
  • max_vehicle_orders - Maximum allowable number of orders on a vehicle. Default: 0 (Unlimited).
  • vehicle_capacity - Default vehicle capacity. A comma-separated string containing the default vehicles capacities. For simple nonamed one-dimensional capacity, it’s just an integer. For named or multidimensional capacity, this is an array of comma-separated pairs dimension_name:dimension_capacity, for example “weight:10,volume:20”.
  • order_service_duration - Default order service time (seconds). Default: 0.
  • shipment_delivery_precedence - The order of deliveries for shipment(pickup and delivery) orders. Supported values:
    • any - Any order. Default.
    • lifo - Deliveries must be performed in reverse order of pickups.
    • fifo - Deliveries must be performed in the same order as pickups.
  • start_time - Start time. Default: 0 (UTC Now)
    supported formats:
    • 0 (current time in UTC);
    • seconds since 01/01/1970 00:00:00 (unix timestamp);
    • seconds since 01/01/0001 00:00:00;
  • use_traffic - Use Traffic conditions (historical and live). Default: false.
  • avoid_highways - Avoid highways. Default: false.
  • avoid_tolls - Avoid tolls. Default: false.
  • avoid_ferries - Avoid ferries. Default: false.
  • route_geometry - Output polyline of routes. Default: false.
    All of these parameters can also be set in the property “options” of the request body. Query parameters take precedence over body parameters.

Time formats:

All time parameters can be set in three formats:

  • seconds from 0(from starting);
  • seconds since 01/01/1970 00:00:00 (unix timestamp);
  • seconds since 01/01/0001 00:00:00;

Response

Response Schema:

{
  "status",
  "routes": [],
  "total_distance",
  "longest_route_distance",
  "operating_duration",
  "total_duration",
  "total_driving_duration",
  "total_service_duration",
  "total_waiting_duration",
  "completion_time",
  "delivery_quantity",
  "pickup_quantity",
  "shipment_quantity",
  "unassigned_orders": [],
}

Response Elements

Response contain the following root elements:

  • status - Status of the request (“OK” - success)
  • routes - An array of routes.
  • total_distance - Overall distance (meters), i.e. the sum of routes’ distances.
  • longest_route_distance - Length (meters) of longest route.
  • operating_duration - Overall completion time (seconds), i.e. duration of longest(maximum duration) route or maximum of vehicle routes’ completion time or duration of the entire solution.
  • total_duration - Overall duration (seconds), i.e. the sum of routes’ durations.
  • total_driving_duration - Overall driving duration (seconds), i.e. the sum of routes’ driving durations.
  • total_service_duration - Overall service duration (seconds), i.e. the sum of routes’ service durations.
  • total_waiting_duration - Overall waiting duration (seconds), i.e. the sum of routes’ waiting durations.
  • completion_time - Completion time (seconds).
  • delivery_quantity - Summary quantities for delivery, i.e. the sum of routes’ delivery quantities.
  • pickup_quantity - Summary quantities for pickup, i.e. the sum of routes’ pickup quantities.
  • shipment_quantity - Summary quantities for shipment, i.e. the sum of routes’ shipment quantities.
  • unassigned_orders - Array of ids of unassigned orders that could not be served.

Route properties

  • vehicle_id - Id of vehicle that operates route.
  • start - Start of the route.
  • visits - Visits on the route.
  • end - End of the route.
  • distance - Distance of the route (meters).
  • duration - Total duration of the route (seconds).
  • driving_duration - Driving duration of route (seconds).
  • service_duration - Service duration of route (seconds).
  • waiting_duration - Waiting duration of route (seconds).
  • completion_time - Completion time of route (seconds).
  • delivery_quantity - Quantities for delivery on the route.
  • pickup_quantity - Quantities for pickup on the route.
  • shipment_quantity - Quantities for shipment on the route.
  • points - Points of route polyline (provided when route_geometry=true).
  • bounds - Bounds of route (provided when route_geometry=true)

Route start properties

  • id - Id of the start location.
  • name - The name of the start location.
  • description - The description of the start location.
  • location - The coordinates of the start location.
  • address - The address of the start location.
  • depot_id - Id of starts depot.
  • waiting_duration - Waiting duration at start (seconds).
  • departure_time - Departure time at start (seconds).
  • load - Load at start.

Route visit properties

  • id - Id of the location.
  • order_id - Id of the order performed at this location.
  • location - The coordinates of the location.
  • cumul_distance - Traveled distance upon arrival at this location (meters).
  • cumul_duration - Traveled duration upon arrival at this location (seconds).
  • cumul_driving_duration - Driving duration upon arrival at this location (seconds).
  • cumul_load - Load upon arrival at this location.
  • type - Type of job. The following values are possible:
    • "service"
    • "pickup"
    • "delivery"
    • "shipment-pickup"
    • "shipment-delivery"
  • name - The name of the location.
  • description - The description of the location.
  • address - The address of the location.
  • quantity - The quantity(demand) of the job.
  • arrival_time - Arrival time at this location (seconds).
  • departure_time - Departure time at this location (seconds).
  • service_duration - Service duration at this location (seconds).
  • waiting_duration - Waiting duration at this location (seconds).

Route end properties

  • id - Id of the end location.
  • name - The name of the end location.
  • description - The description of the end location.
  • location - The coordinates of the end location.
  • address - The address of the end location.
  • depot_id - Id of ends depot.
  • cumul_distance - Traveled distance upon arrival at this location (meters), i.e. route length.
  • cumul_duration - Traveled duration upon arrival at this location (seconds), i.e. total duration of the route.
  • cumul_driving_duration - Driving duration upon arrival at this location (seconds), i.e. driving duration of the route.
  • arrival_time - Arrival time at end (seconds), i.e. route completion time.
  • load - Load upon arrival at end.

Example

Request Example

{
  "delivery_orders": [
    {
      "id": "order-1",
      "location": {
        "lat": 36.185851,
        "lng": -115.2064059
      },
      "service_duration": 60,
      "quantity": 10
    },
    {
      "id": "order-2",
      "location": {
        "lat": 36.190831,
        "lng": -115.137368
      },
      "service_duration": 60,
      "quantity": 15
    },
    {
      "id": "order-3",
      "location": {
        "lat": 36.1692548,
        "lng": -115.1312463
      },
      "service_duration": 60,
      "quantity": 25
    },
    {
      "id": "order-4",
      "location": {
        "lat": 36.1664349,
        "lng": -115.1325665
      },
      "service_duration": 60,
      "quantity": 10
    },
    {
      "id": "order-5",
      "location": {
        "lat": 36.15833,
        "lng": -115.1706666
      },
      "service_duration": 60,
      "quantity": 10
    },
    {
      "id": "order-6",
      "location": {
        "lat": 36.1552112,
        "lng": -115.1920527
      },
      "service_duration": 60,
      "quantity": 10
    },
    {
      "id": "order-7",
      "location": {
        "lat": 36.153458,
        "lng": -115.191221
      },
      "service_duration": 60,
      "quantity": 10
    },
    {
      "id": "order-8",
      "location": {
        "lat": 36.168741,
        "lng": -115.211532
      },
      "service_duration": 60,
      "quantity": 15
    },
    {
      "id": "order-9",
      "location": {
        "lat": 36.196647,
        "lng": -115.282064
      },
      "service_duration": 60,
      "quantity": 35
    }
  ],
  "depots": [
    {
      "id": "depot-1",
      "location": {
        "lat": 36.159548,
        "lng": -115.3172336
      }
    }
  ],
  "vehicles": [
    {
      "id": "vehicle-1",
      "start": "depot-1",
      "end": "depot-1",
      "capacity": 100,
      "max_distance": 100000,
      "max_duration": 28800
    },
    {
      "id": "vehicle-2",
      "start": "depot-1",
      "end": "depot-1",
      "capacity": 110,
      "max_distance": 100000,
      "max_duration": 28800
    },
    {
      "id": "vehicle-3",
      "start": "depot-1",
      "end": "depot-1",
      "capacity": 120,
      "max_distance": 100000,
      "max_duration": 28800
    }
  ],
  "options": {
    "objective": "min_total_duration"
  }
}

Response Example:

{
  "status": "OK",
  "routes": [
    {
      "vehicle_id": "vehicle-2",
      "start": {
        "id": "depot-1",
        "location": {
          "lat": 36.159548,
          "lng": -115.3172336
        },
        "depot_id": "depot-1",
        "waiting_duration": 0,
        "departure_time": 1594220850,
        "load": 80
      },
      "visits": [
        {
          "order_id": "order-6",
          "id": "order-6",
          "location": {
            "lat": 36.1552112,
            "lng": -115.1920527
          },
          "cumul_distance": 12132,
          "cumul_duration": 1252,
          "cumul_driving_duration": 1252,
          "cumul_load": 80,
          "type": "delivery",
          "quantity": 10,
          "arrival_time": 1594222102,
          "departure_time": 1594222162,
          "service_duration": 60,
          "waiting_duration": 0
        },
        {
          "order_id": "order-7",
          "id": "order-7",
          "location": {
            "lat": 36.153458,
            "lng": -115.191221
          },
          "cumul_distance": 12936,
          "cumul_duration": 1506,
          "cumul_driving_duration": 1446,
          "cumul_load": 70,
          "type": "delivery",
          "quantity": 10,
          "arrival_time": 1594222356,
          "departure_time": 1594222416,
          "service_duration": 60,
          "waiting_duration": 0
        },
        {
          "order_id": "order-5",
          "id": "order-5",
          "location": {
            "lat": 36.15833,
            "lng": -115.1706666
          },
          "cumul_distance": 15447,
          "cumul_duration": 1810,
          "cumul_driving_duration": 1690,
          "cumul_load": 60,
          "type": "delivery",
          "quantity": 10,
          "arrival_time": 1594222660,
          "departure_time": 1594222720,
          "service_duration": 60,
          "waiting_duration": 0
        },
        {
          "order_id": "order-2",
          "id": "order-2",
          "location": {
            "lat": 36.190831,
            "lng": -115.137368
          },
          "cumul_distance": 22454,
          "cumul_duration": 2385,
          "cumul_driving_duration": 2205,
          "cumul_load": 50,
          "type": "delivery",
          "quantity": 15,
          "arrival_time": 1594223235,
          "departure_time": 1594223295,
          "service_duration": 60,
          "waiting_duration": 0
        },
        {
          "order_id": "order-4",
          "id": "order-4",
          "location": {
            "lat": 36.1664349,
            "lng": -115.1325665
          },
          "cumul_distance": 26725,
          "cumul_duration": 2951,
          "cumul_driving_duration": 2711,
          "cumul_load": 35,
          "type": "delivery",
          "quantity": 10,
          "arrival_time": 1594223801,
          "departure_time": 1594223861,
          "service_duration": 60,
          "waiting_duration": 0
        },
        {
          "order_id": "order-3",
          "id": "order-3",
          "location": {
            "lat": 36.1692548,
            "lng": -115.1312463
          },
          "cumul_distance": 27161,
          "cumul_duration": 3105,
          "cumul_driving_duration": 2805,
          "cumul_load": 25,
          "type": "delivery",
          "quantity": 25,
          "arrival_time": 1594223955,
          "departure_time": 1594224015,
          "service_duration": 60,
          "waiting_duration": 0
        }
      ],
      "end": {
        "id": "depot-1",
        "location": {
          "lat": 36.159548,
          "lng": -115.3172336
        },
        "depot_id": "depot-1",
        "cumul_distance": 47927,
        "cumul_duration": 4367,
        "cumul_driving_duration": 4007,
        "arrival_time": 1594225217,
        "load": 0
      },
      "distance": 47927,
      "duration": 4367,
      "driving_duration": 4007,
      "service_duration": 360,
      "waiting_duration": 0,
      "completion_time": 1594225217,
      "delivery_quantity": 80
    },
    {
      "vehicle_id": "vehicle-3",
      "start": {
        "id": "depot-1",
        "location": {
          "lat": 36.159548,
          "lng": -115.3172336
        },
        "depot_id": "depot-1",
        "waiting_duration": 0,
        "departure_time": 1594220850,
        "load": 60
      },
      "visits": [
        {
          "order_id": "order-8",
          "id": "order-8",
          "location": {
            "lat": 36.168741,
            "lng": -115.211532
          },
          "cumul_distance": 14704,
          "cumul_duration": 1010,
          "cumul_driving_duration": 1010,
          "cumul_load": 60,
          "type": "delivery",
          "quantity": 15,
          "arrival_time": 1594221860,
          "departure_time": 1594221920,
          "service_duration": 60,
          "waiting_duration": 0
        },
        {
          "order_id": "order-1",
          "id": "order-1",
          "location": {
            "lat": 36.185851,
            "lng": -115.2064059
          },
          "cumul_distance": 17492,
          "cumul_duration": 1482,
          "cumul_driving_duration": 1422,
          "cumul_load": 45,
          "type": "delivery",
          "quantity": 10,
          "arrival_time": 1594222332,
          "departure_time": 1594222392,
          "service_duration": 60,
          "waiting_duration": 0
        },
        {
          "order_id": "order-9",
          "id": "order-9",
          "location": {
            "lat": 36.196647,
            "lng": -115.282064
          },
          "cumul_distance": 28700,
          "cumul_duration": 2173,
          "cumul_driving_duration": 2053,
          "cumul_load": 35,
          "type": "delivery",
          "quantity": 35,
          "arrival_time": 1594223023,
          "departure_time": 1594223083,
          "service_duration": 60,
          "waiting_duration": 0
        }
      ],
      "end": {
        "id": "depot-1",
        "location": {
          "lat": 36.159548,
          "lng": -115.3172336
        },
        "depot_id": "depot-1",
        "cumul_distance": 37186,
        "cumul_duration": 3020,
        "cumul_driving_duration": 2840,
        "arrival_time": 1594223870,
        "load": 0
      },
      "distance": 37186,
      "duration": 3020,
      "driving_duration": 2840,
      "service_duration": 180,
      "waiting_duration": 0,
      "completion_time": 1594223870,
      "delivery_quantity": 60
    }
  ],
  "total_distance": 85113,
  "longest_route_distance": 47927,
  "operating_duration": 4367,
  "total_duration": 7387,
  "total_driving_duration": 6847,
  "total_service_duration": 540,
  "total_waiting_duration": 0,
  "completion_time": 1594225217,
  "delivery_quantity": 140,
  "unassigned_orders": []
}

Notes:

  • All timings are in seconds.
  • All distances are in meters.
  • Processing time may vary greatly, depending on the fleet size, number of orders, as well as number of constraints.
Valoración: 5 - Votos: 1