IP Library › Granted Patent US 12,626,211
Granted Patent B2
US 12,626,211 · App. 18/092,052 · Granted May 12, 2026

Systems and methods for last-mile delivery assignment

Inventors: Xi Chen (Sunnyvale, CA); Minghui Liu (San Bruno, CA); Yiren Ye (Sunnyvale, CA); Hengchao Wang (Santa Clara, CA); Yuan Wang (San Francisco, CA); Jing Huang (San Jose, CA); Mingang Fu (Palo Alto, CA); Mohit Agarwal (Mountain View, CA)
Assignee: Walmart Apollo, LLC
G06Q10/083G06Q10/08G06Q50/47
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,626,211
App. No.
18/092,052
Granted
May 12, 2026
Kind
B2
Abstract

Systems and methods of route optimization are disclosed. An adjustment engine receives a plurality of driver-trip pairs each including a driver selected from a plurality of drivers and a trip selected from a plurality of trips and determines a weight for each of the driver-trip pairs. The weight is determined based on at least one driver-trip feature, at least one driver feature, and at least one trip feature. A route optimization engine selects a set of optimal driver-trip pairs based on a bipartite matching process including the weight for each of the driver trip pairs. The set of optimal driver-trip pairs minimizes total estimated time of arrival to a pickup location for each trip in the plurality of trips. Trip data is transmitted to a corresponding device associated with a corresponding driver paired with each trip in the set of optimal driver-trip pairs.

Claims (472)

1 . A system, comprising:

a non-transitory memory;

a transceiver configured to receive potential assignment data comprising data representative of a plurality of drivers and a plurality of trips;

an adjustment engine configured to:

receive a plurality of driver-trip pairs each including a driver selected from the plurality of drivers and a trip selected from the plurality of trips; and

determine a weight for each of the driver-trip pairs, wherein the weight is determined based on respective weights of at least one driver-trip feature, at least one driver feature, and at least one trip feature, wherein:

the at least one driver-trip feature includes driver affinity score based, in part, on a driver probability to accept a respective trip,

the at least one driver feature including real-time driver behavior features representative of driver declined trips relative to maximum declined trips in a predetermined time period, and

the at least one trip feature includes a trip priority feature; and

a route optimization engine configured to:

select a set of optimal driver-trip pairs from the plurality of driver-trip pairs based on a bipartite matching process including the weight for each of the driver-trip pairs, wherein the set of optimal driver-trip pairs minimizes a total estimated time of arrival to a pickup location for each trip in the plurality of trips;

transmit trip data for each trip in the plurality of trips to a corresponding device associated with a corresponding driver paired with each trip in the set of optimal driver-trip pairs;

receive from the corresponding device an indication of either acceptance or non-acceptance for each trip in the set of optimal driver-trip pairs; and

in response to receiving an indication of non-acceptance for a subset of the set of optimal driver-trip pairs that is provided after a predetermined time limit, automatically:

providing the subset of the set of optimal driver-trip pairs to the adjustment engine, and

broadcasting corresponding trip data to devices of the plurality of drivers.

2 . The system of claim 1 , wherein the adjustment engine is configured to generate a trip-specific weight component of the weight based on the trip priority feature.

3 . The system of claim 1 , wherein the adjustment engine is configured to generate a driver-specific weight component of the weight based on the real-time driver behavior features.

4 . The system of claim 3 , wherein the adjustment engine is configured to implement a trained real-time behavior model to determine the driver-specific weight component.

5 . The system of claim 1 , wherein the adjustment engine is configured to generate a driver-trip weight component of the weight based on the driver affinity score.

6 . The system of claim 5 , wherein the adjustment engine is configured to implement a trained driver affinity model to generate the driver affinity score.

7 . The system of claim 1 , wherein the weight for each of the driver-trip pairs is defined as:

W

T

,

D

=

f

1

dt

(

ETA

)

+

f

2

dt

(

)

+

f

3

dt

(

S

d

,

S

T

)

+

f

4

dt

(

n

rej

)

+

f

5

dt

(

g

)

+

f

6

dt

(

x

,

p

)

where

f

1

dt

(

ETA

)

is an estimated time or arrival from a current location associated with the driver to a pickup location associated with the trip,

f

2

dt

(

p

dt

^

)

is a predicted probability of a driver d accepting a trip t,

f

3

dt

(

S

d

,

S

T

)

is a best-fit vehicle function,

f

4

dt

(

n

rej

)

is real-time activity function,

f

5

dt

(

g

)

is a driver performance function, and

f

6

dt

(

x

,

p

)

is a trip function.

8 . The system of claim 7 , wherein

f

2

dt

(

p

dt

^

)

is defined as:

f

2

dt

(

)

=

c

max

(

s

-

0

.

5

)

3

⁢

(

⌊

n

t

4

⌋

⁢

e

p

d

⁢

t

∑

t

e

p

d

⁢

t

-

0

.

5

)

3

where c max a control parameter configured to control the weight and n t is a number of expired or rejected trips for the driver in a predetermined time period.

9 . The system of claim 7 , wherein

f

4

dt

(

n

rej

)

is defined as:

f

4

dt

(

n

)

=

{

c

max

⁢

1

-

(

1

-

n

n

max

)

2

,

n

≤

n

max

c

max

,

n

>

n

max

where n is a number of expired or rejected trips for the driver in a predetermined time period, c max a control parameter configured to control the weight, and n max a maximum number of expired or rejected trips in a predetermined time period.

10 . The system of claim 7 , wherein

f

5

dt

(

g

)

is defined as:

f

5

dt

(

g

)

=

c

g

where g is a priority group and c g maps the priority group to a weight value.

11 . A computer-implemented method, comprising:

receiving, via a transceiver, potential assignment data comprising data representative of a plurality of drivers and a plurality of trips;

receiving, at an adjustment engine, a plurality of driver-trip pairs each including a driver selected from the plurality of drivers and a trip selected from the plurality of trips;

determining, by the adjustment engine, a weight for each of the driver-trip pairs, wherein the weight is determined based on respective weights of at least one driver-trip feature, at least one driver feature, and at least one trip feature, wherein:

the at least one driver-trip feature includes driver affinity score based, in part, on a driver probability to accept a respective trip,

the at least one driver feature including real-time driver behavior features representative of driver declined trips relative to maximum declined trips in a predetermined time period, and

the at least one trip feature includes a trip priority feature;

selecting, by a route optimization engine, a set of optimal driver-trip pairs from the plurality of driver-trip pairs based on a bipartite matching process including the weight for each of the driver-trip pairs, wherein the set of optimal driver-trip pairs minimizes a total estimated time of arrival to a pickup location for each trip in the plurality of trips;

transmitting, via the transceiver, trip data for each trip in the plurality of trips to a corresponding device associated with a corresponding driver paired with each trip in the set of optimal driver-trip pairs;

receiving, via the transceiver, from the corresponding device an indication of either acceptance or non-acceptance for each trip in the set of optimal driver-trip pairs; and

in response to receiving an indication of non-acceptance for a subset of the set of optimal driver-trip pairs that is provided after a predetermined time limit, automatically

providing the subset of the set of optimal driver-trip pairs to the adjustment engine, and

broadcasting corresponding trip data to devices of the plurality of drivers.

12 . The computer-implemented method of claim 11 , wherein the adjustment engine is configured to generate a trip-specific weight component of the weight based on the priority feature.

13 . The computer-implemented method of claim 11 , wherein the adjustment engine is configured to generate a driver-specific weight component of the weight based on the real-time driver behavior features.

14 . The computer-implemented method of claim 13 , wherein the adjustment engine is configured to implement a trained real-time behavior model to determine the driver-specific weight component.

15 . The computer-implemented method of claim 11 , wherein the adjustment engine is configured to generate a driver-trip weight component of the weight based on the driver affinity score.

16 . The computer-implemented method of claim 15 , wherein the adjustment engine is configured to implement a trained driver affinity model to generate the driver affinity score.

17 . A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions, when executed by at least one processor, cause a device to perform operations comprising:

receiving, via a transceiver, potential assignment data comprising data representative of a plurality of drivers and a plurality of trips;

receiving, at an adjustment engine, a plurality of driver-trip pairs each including a driver selected from the plurality of drivers and a trip selected from the plurality of trips;

determining, by the adjustment engine, a weight for each of the driver-trip pairs, wherein the weight is determined based on respective weights of at least one driver-trip feature, at least one driver feature, and at least one trip feature, wherein:

the at least one driver-trip feature includes driver affinity score based, in part, on a driver probability to accept a respective trip,

the at least one driver feature including real-time driver behavior features representative of driver declined trips relative to maximum declined trips in a predetermined time period, and

the at least one trip feature includes a trip priority feature;

selecting, by a route optimization engine, a set of optimal driver-trip pairs from the plurality of driver-trip pairs based on a bipartite matching process including the weight for each of the driver-trip pairs, wherein the set of optimal driver-trip pairs minimizes a total estimated time of arrival to a pickup location for each trip in the plurality of trips;

transmitting, via the transceiver, trip data for each trip in the plurality of trips to a corresponding device associated with a corresponding driver paired with each trip in the set of optimal driver-trip pairs;

receiving, via the transceiver, from the corresponding device an indication of either acceptance or non-acceptance for each trip in the set of optimal driver-trip pairs; and

in response to receiving an indication of non-acceptance for a subset of the set of optimal driver-trip pairs that is provided after a predetermined time limit, automatically

providing the subset of the set of optimal driver-trip pairs to the adjustment engine, and

broadcasting corresponding trip data to devices of the plurality of drivers.

18 . The non-transitory computer-readable medium of claim 17 , wherein the weight for each of the driver-trip pairs is defined as:

W

T

,

D

=

f

1

dt

(

ETA

)

+

f

2

dt

(

)

+

f

3

dt

(

S

d

,

S

T

)

+

f

4

dt

(

n

rej

)

+

f

5

dt

(

g

)

+

f

6

dt

(

x

,

p

)

where

f

1

dt

(

ETA

)

is an estimated time of arrival from a current location associated with the driver to a pickup location associated with the trip,

f

2

dt

(

p

dt

^

)

is a predicted probability of a driver d accepting a trip t,

f

3

dt

(

S

d

,

S

T

)

is a best-fit vehicle function,

f

4

dt

(

n

rej

)

is real-time activity function

f

5

dt

(

g

)

is a driver performance function, and

f

6

dt

(

x

,

p

)

is a trip function.

19 . The non-transitory computer-readable medium of claim 18 , wherein

f

2

dt

(

p

dt

^

)

is defined as:

f

2

dt

(

)

=

c

max

(

s

-

0

.

5

)

3

⁢

(

⌊

n

t

4

⌋

⁢

e

p

d

⁢

t

∑

t

e

p

d

⁢

t

-

0

.

5

)

3

where c max a control parameter configured to control the weight and n t is a number of expired or rejected trips for the driver in a predetermined time period.

20 . The non-transitory computer-readable medium of claim 18 , wherein

f

4

dt

(

n

rej

)

is defined as:

f

4

dt

(

n

)

=

{

c

max

⁢

1

-

(

1

-

n

n

max

)

2

,

n

≤

n

max

c

max

,

n

>

n

max

where n is a number of expired or rejected trips for the driver in a predetermined time period, c max a control parameter configured to control the weight, and n max a maximum number of expired or rejected trips in a predetermined time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2022
From: CHEN, XI; LIU, MINGHUI; YE, YIREN; WANG, HENGCHAO; WANG, YUAN; HUANG, JING; FU, MINGANG; AGARWAL, MOHIT
To: WALMART APOLLO, LLC
Reel/Frame 062247/0670 →
Continuity (1)
Related Publication 20240220911A1 · Jul 4, 2024
References Cited (27)
US 11210712B2 · Zhang et al. · 2021 [cited by applicant]
US 20050246192A1 · Jauffred · 2005 [cited by examiner]
US 20090300547A1 · Bates et al. · 2009 [cited by applicant]
US 20110137776A1 · Goad et al. · 2011 [cited by applicant]
US 20140222506A1 · Frazer et al. · 2014 [cited by applicant]
US 20150032508A1 · Lotlikar et al. · 2015 [cited by applicant]
US 20160063065A1 · Khatri et al. · 2016 [cited by applicant]
US 20160188725A1 · Wang et al. · 2016 [cited by applicant]
US 20160217515A1 · Vijayaraghavan et al. · 2016 [cited by applicant]
US 20170097741A1 · Liang et al. · 2017 [cited by applicant]
US 20170124465A1 · Yang et al. · 2017 [cited by applicant]
US 20170193450A1 · Potratz · 2017 [cited by examiner]
US 20180131655A1 · Carbune et al. · 2018 [cited by applicant]
US 20190095849A1 · Sweeney et al. · 2019 [cited by applicant]
US 20190138656A1 · Yang et al. · 2019 [cited by applicant]
US 20190325374A1 · Pan · 2019 [cited by examiner]
US 20200082315A1 · Crapis et al. · 2020 [cited by applicant]
US 20200342387A1 · Rajkhowa · 2020 [cited by examiner]
US 20210103892A1 · Han · 2021 [cited by examiner]
US 20210241292A1 · Pandey et al. · 2021 [cited by applicant]
CN 104346926B · 2017 [cited by applicant]
Javier Morales Sarriera, To Share or Not to Share: Investigating the Social Aspects of Dynamic Ridesharing, 2017, p. 109-111 ( Year: 2017). [cited by examiner]
Resulticks Solution, Inc., “Next-Best Experience Management,” Source 1, (2022), 3 pages. [cited by applicant]
Resulticks Solution, Inc., “Next-Best Experience Management,” Source 2, (2022), 3 pages. [cited by applicant]
Resulticks Solution, Inc., “Next-Best Experience Management,” Source 3, (2022), 3 pages. [cited by applicant]
Resulticks Solution, Inc., “Next-Best Experience Management,” Source 4, (2022), 3 pages. [cited by applicant]
Microsoft Corporation, “VeriPark Next Best Action,” (2022), 4 pages. [cited by applicant]