# US 2020/0401958 A1 · Systems and Methods for Improvements to Vehicle Routing Including Back-End Operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401958 A1
- Document ID: US20200401958A1
- Status: Published application
- Kind: A1
- Application number: 16/444,554
- Filed: 2019-06-18
- Published: 2020-12-24
- Earliest claimed: 2019-06-18
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Vincent Furnon; Anne-Claire Haury; Rohit Arora
- Web page: https://patentgrep.com/patent/US20200401958A1

## CPC

- G06Q 10/047: Optimisation of routes or paths, e.g. travelling salesman problem
- G06Q 10/08: Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G01C 21/343: {Calculating itineraries (travelling salesman problem G06Q10/04; optimisation of routes G06Q10/047)}
- G01C 21/3453: {Special cost functions, i.e. other than distance or default speed limit of road segments}
- G06F 16/29: Geographical information databases
- G06Q 10/08355: {Routing methods}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure provides systems and methods for generating routing assignments. One example method includes obtaining delivery data associated with a plurality of objects to be delivered from an object distribution hub to a plurality of delivery destinations, wherein a plurality of loading areas are associated with the object distribution hub; obtaining data indicative of a current location for each of the plurality of objects within the object distribution hub; determining data indicative of a respective amount of time required to transfer each of the plurality of objects from its current location to each of the plurality of loading areas; determining routing assignment data based at least in part on the delivery destinations and the respective amount of time required to transfer each of the plurality of objects to each loading area; and providing the routing assignment data to facilitate loading and delivery of the set of one or more objects.

## Claims

### Claim 1

A computer-implemented method, the method comprising:
obtaining, by one or more computing devices, delivery data associated with a plurality of objects to be delivered from an object distribution hub to a plurality of delivery destinations, wherein a plurality of loading areas are associated with the object distribution hub;
obtaining, by the one or more computing devices, data indicative of a current location for each of the plurality of objects within the object distribution hub;
determining, by the one or more computing devices, data indicative of a respective amount of time required to transfer each of the plurality of objects from its current location within the object distribution hub to each of the plurality of loading areas;
determining, by the one or more computing devices, routing assignment data for a distribution vehicle based at least in part on the delivery destinations and the respective amount of time required to transfer each of the plurality of objects to each distribution vehicle loading area, wherein the routing assignment data for the distribution vehicle identifies:
a set of one or more objects of the plurality of objects to be delivered by the distribution vehicle;
a particular loading area for the set of one or more objects to be loaded into the distribution vehicle; and
a route for the distribution vehicle to travel from the particular loading area to the delivery destinations respectively associated with the set of one or more objects; and
providing, by the one or more computing devices, the routing assignment data to facilitate loading and delivery of the set of one or more objects.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein determining, by the one or more computing devices, the routing assignment data comprises optimizing, by the one or more computing devices, an objective cost function that evaluates a travel time associated with the distribution vehicle, and wherein the travel time associated with the distribution vehicle is a function of the respective amount of time required to transfer at least one of the one or more objects in the set of one or more objects from its current location within the object distribution hub to each of the plurality of loading areas.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the data indicative of the respective amount of time required to transfer each of the plurality of objects from the current location within the object distribution hub to each of the plurality of loading areas comprises a cost factor proportional to a respective distance from the current location to each of the plurality of loading areas.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein determining, by the one or more computing devices, the routing assignment data comprises performing, by the one or more computing devices, multiple optimization routines for the routing assignment data using multiple different objective cost functions, wherein each of the multiple optimization routines comprises iteratively solving one of the multiple different objective cost functions.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein performing, by the one or more computing devices, multiple optimization routines for the routing assignment data using multiple different objective cost functions comprises tracking, by the one or more computing devices, a current preferred routing solution during each of the multiple optimization routines.

### Claim 6 (depends on 4)

The computer-implemented method of claim 4, wherein performing, by the one or more computing devices, multiple optimization routines for the routing assignment data using multiple different objective cost function comprises generating, by the one or more computing devices, a ranked list of routing solutions.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, the method further comprising:
obtaining, by the one or more computing devices, data indicative of one or more inbound objects to be returned inbound to the object distribution hub;
determining, by the one or more computing devices, inbound routing assignment data for each of the one or more inbound objects based at least in part on a vehicle emptiness factor associated with the distribution vehicle after delivery points along the route, wherein the routing assignment data for the distribution vehicle further comprises inbound routing assignments for at least one of the inbound objects in addition to outbound delivery assignments for the set of one or more objects; and
providing, by the one or more computing devices, the inbound routing assignment data to facilitate pickup of the at least one inbound object to be returned inbound to the object distribution hub.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein determining, by the one or more computing devices, the inbound routing assignment data comprises performing, by the one or more computing devices, an optimization of the routing assignment data based at least in part on aggregated service times for delivery of the set of one or more objects and service times for pickup of the at least one inbound objects on the route.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein determining the routing assignment data comprises optimizing an objective function that seeks to minimize a number of distribution vehicles employed to deliver the plurality of objects.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein determining the routing assignment data comprises optimizing an objective function that seeks to minimize a distance traveled to deliver the plurality of objects.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein determining the routing assignment data comprises optimizing an objective function that seeks to minimize a total working time for distribution vehicles employed to deliver the plurality of objects.

### Claim 12

A computing system, comprising:
one or more processors; and
one or more non-transitory computer-readable media that store instructions that, when executed by the one or more processors, cause the computing system to perform operations, the operations comprising:
obtaining delivery data associated with a plurality of objects to be delivered outbound from an object distribution hub, wherein the delivery data includes a delivery destination for each of the plurality of objects and wherein a plurality of loading areas are associated with the object distribution hub;
obtaining data indicative of a current location for each of the plurality of objects within the object distribution hub;
determining data indicative of a respective amount of time required to transfer each of the plurality of objects from its current location within the object distribution hub to each of the plurality of loading areas associated with the object distribution hub;
determining routing assignment data for a distribution vehicle based on the delivery destination for each of the plurality of objects and the respective amount of time required to transfer each of the one or more objects in the set of objects to the plurality of loading areas, wherein the routing assignment data identifies a particular loading area and a set of one or more objects of the plurality of objects to be loaded onto the distribution vehicle at the particular loading area, wherein the routing assignment data further identifies a route for the distribution vehicle to travel from the particular loading area to the delivery destinations respectively associated with the set of one or more objects; and
providing the routing assignment data to facilitate loading and delivery of the set of one or more objects.

### Claim 13 (depends on 12)

The computing system of claim 12, wherein determining the routing assignment data comprises optimizing an objective cost function that evaluates a travel time associated with the distribution vehicle, and wherein the travel time associated with the distribution vehicle is a function of the respective amount of time required to transfer at least one of the one or more objects in the set of objects from its current location within the object distribution hub to each of the plurality of loading areas.

### Claim 14 (depends on 12)

The computing system of claim 12, wherein the data indicative of the respective amount of time required to transfer each of the plurality of objects from the current location within the object distribution hub to each of the plurality of loading areas comprises a cost factor proportional to a respective distance from the current location to each of the plurality of loading areas.

### Claim 15 (depends on 12)

The computing system of claim 12, wherein determining the routing assignment data comprises performing multiple optimization routines for the routing assignment data using multiple different objective cost functions, wherein each of the multiple optimization routines comprises iteratively solving one of the multiple different objective cost functions.

### Claim 16 (depends on 12)

The computing system of claim 12, the operations further comprising:
obtaining data indicative of one or more inbound objects to be returned inbound to the object distribution hub;
determining inbound routing assignment data for each of the one or more inbound objects based at least in part on a vehicle emptiness factor associated with the distribution vehicle after delivery points along the route, wherein the routing assignment data for the distribution vehicle further comprises inbound routing assignments for at least one of the inbound objects in addition to outbound delivery assignments for the set of one or more objects; and
providing the inbound routing assignment data to facilitate pickup of the at least one inbound objects on the route.

### Claim 17 (depends on 16)

The computing system of claim 16, wherein determining the inbound routing assignment data comprises performing an optimization of routing assignment data based at least in part on aggregated service times for delivery of the set of one or more objects and service times for pickup of the at least one inbound objects on the route.

### Claim 18 (depends on 12)

The computing system of claim 12, wherein determining the routing assignment data comprises optimizing an objective function that seeks to minimize a number of distribution vehicles employed to deliver the plurality of objects.

### Claim 19

One or more non-transitory computer-readable media that store instructions that, when executed by one or more processors of a computing system, cause the computing system to:
obtain delivery data associated with a plurality of objects to be delivered from an object distribution hub, wherein the delivery data includes a delivery destination for each of the plurality of objects and wherein a plurality of loading areas associated with the object distribution hub;
obtain data indicative of a current location for each of the plurality of objects within the object distribution hub;
determine data indicative of a respective amount of time required to transfer each of the plurality of objects from its current location within the object distribution hub to each of the plurality of loading areas associated with the object distribution hub;
determine routing assignment data for a distribution vehicle associated with each of the plurality of loading areas, wherein the routing assignment data identifies a determination of a set of one or more objects of the plurality of objects to be delivered by the distribution vehicle based on the delivery destination for each of the plurality of objects and the amount of time required to transfer each of the one or more objects in the set of objects to an associated loading area, wherein the routing assignment data further identifies a route for the distribution vehicle to travel from the associated loading area to the delivery destinations respectively associated with the set of one or more objects; and
provide the routing assignment data to facilitate loading and delivery of the set of one or more objects.

### Claim 20 (depends on 19)

The one or more non-transitory computer-readable media of claim 19, wherein the data indicative of the respective amount of time required to transfer each of the plurality of objects from the current location within the object distribution hub to each of the plurality of loading areas comprises a cost factor proportional to a respective distance from the current location to each of the plurality of loading areas.
