IP Library Granted Patent US 12,523,479
Granted Patent B1
US 12,523,479 · App. 18/666,287 · Granted Jan 13, 2026

Constraint-based route generation in a ride-sharing service

Inventors: Thomas Finn Lidbetter (Kitchener, CA); Clayton Goes (Waterloo, CA); Prem Gururajan (Kitchener, CA); Alexander Bailey (Kitchener, CA); John McElroy (Waterloo, CA)
Assignee: Transit Labs Inc.
G01C21/343G06Q50/43G01C21/3415G06Q10/02G08G1/202
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,523,479
App. No.
18/666,287
Granted
Jan 13, 2026
Kind
B1
Abstract

Systems, methods, and computer-readable media for constraint-based itinerary generation in a ride-sharing service are disclosed. Drivers in the ride-sharing service may execute itineraries that include legs, where each leg is defined by a start point and a stop point. The itineraries may be generated in real time in response to ride requests, traffic conditions, and the like. A number of itinerary variations may be generated. Ride requests may include ride tags upon which a ride constraint may be defined. Vehicles may be compared to the ride constraint to determine whether the vehicle satisfies the ride constraint. Vehicles that do not satisfy the ride constraint may be removed from consideration when generating the itineraries, thereby constraining the search space in determining an optimal itinerary.

Claims (80)

1 . A method for constrained itinerary generation for a fleet-based vehicular ride-sharing service, comprising:

receiving a ride request comprising a pick-up location and a drop-off location;

determining a first ride constraint for the ride request based on the pick-up location and the drop-off location; and

assigning a vehicle of a plurality of vehicles to the ride request by:

inserting the ride request into at least one itinerary for each of the plurality of vehicles,

determining whether each of the plurality of vehicles satisfies the first ride constraint,

wherein at least one of the plurality of vehicles is a bus,

wherein the first ride constraint comprises a vehicle blacklist,

wherein determining that the vehicle does not satisfy the first ride constraint comprises determining at least one vehicle identifier for the vehicle is in the vehicle blacklist;

computing, for the at least one itinerary for each of the plurality of vehicles, an objective formula to obtain an objective value such that a plurality of objective values is obtained,

wherein the objective value is a value of at least one parameter for the ride request;

applying, based on whether the vehicle satisfies the first ride constraint, a penalty to at least one of the plurality of objective values,

wherein the penalty is based on at least one of a number of legs of the at least one itinerary for which the first ride constraint is violated or a driving distance of the at least one itinerary for which the first ride constraint is violated; and

assigning the ride request to an itinerary with an optimal objective value from the plurality of objective values.

2 . The method of claim 1 , wherein the first ride constraint comprises a ride constraint data structure having a vehicle whitelist and the vehicle blacklist.

3 . The method of claim 2 , wherein determining whether the vehicle satisfies the first ride constraint comprises determining whether a vehicle identifier of the vehicle is in the vehicle whitelist.

4 . The method of claim 1 , further comprising:

assigning, to at least a subset of the plurality of vehicles, a vehicle tag based on a vehicle service region,

wherein determining whether the vehicle satisfies the first ride constraint comprises determining whether at least one of the pick-up location or the drop-off location are within the vehicle service region associated with the vehicle tag.

5 . The method of claim 1 , wherein the ride request further comprises at least one ride request parameter and wherein the method further comprises:

determining a second ride constraint for the ride request based on the at least one ride request parameter,

wherein assigning the vehicle to serve the ride request is further constrained based on the second ride constraint.

6 . The method of claim 5 , wherein the second ride constraint is a ride accessibility constraint.

7 . The method of claim 1 , wherein the method further comprises:

assigning each vehicle a vehicle tag based on at least one of: a vehicle service region, a vehicle fleet of the vehicle, or a vehicle type,

wherein determining whether the vehicle satisfies the first ride constraint is based on the vehicle tag.

8 . The method of claim 1 , further comprising:

determining the ride request cannot be serviced by the plurality of vehicles; and

responsive to this determination, automatically requisitioning a rescue vehicle to service the ride request.

9 . The method of claim 8 , wherein determining the ride request cannot be serviced by the plurality of vehicles is based at least in part on real-time GPS received from the plurality of vehicles or a corresponding plurality of drivers of the plurality of vehicles.

10 . One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by at least one processor, perform a method for constrained itinerary generation in a fleet-based automobile ride-sharing service, comprising:

receiving a ride request comprising at least one ride request parameter;

determining a first ride constraint for the ride request based on the at least one ride request parameter, the first ride constraint comprising:

a vehicle whitelist comprising at least one vehicle identifier; and

a vehicle blacklist;

determining, for each of a plurality of vehicles, whether a vehicle satisfies the first ride constraint by determining whether the at least one vehicle identifier is in the vehicle whitelist,

wherein each vehicle comprises a vehicle tag determined based on at least one of a vehicle service region, a vehicle fleet, a vehicle type, or a vehicle driver,

wherein the vehicle tag is added to the vehicle whitelist based on the vehicle tag matching the at least one ride request parameter;

responsive to determining the vehicle does not satisfy the first ride constraint, removing the vehicle from a search space for itinerary generation,

wherein determining that the vehicle does not satisfy the first ride constraint comprises determining the at least one vehicle identifier is in the vehicle blacklist;

for each vehicle of the plurality of vehicles satisfying the first ride constraint, generating at least one itinerary including the ride request inserted into a leg of the at least one itinerary to obtain a plurality of itineraries;

calculating, for each candidate itinerary of the plurality of itineraries, an objective value,

wherein the objective value is a value of at least one metric associated with the ride request or the candidate itinerary, wherein the at least one metric includes at least one of a travel time, a travel distance, or a number of itinerary legs; and

selecting, from the plurality of itineraries, an itinerary having an optimized objective value.

11 . The method of claim 1 , wherein assigning the vehicle of the plurality of vehicles to the ride request is performed in real time using at least one of a parallel processing system or a distributed computing architecture.

12 . The one or more non-transitory computer-readable media of claim 10 , wherein the vehicle in the fleet-based automobile ride-sharing service is a bus or a wheelchair-accessible vehicle.

13 . The one or more non-transitory computer-readable media of claim 10 , further comprising:

receiving a manual adjustment to the at least one ride request parameter;

re-determining the itinerary having the optimized objective value based on the manual adjustment to the at least one ride request parameter.

14 . The one or more non-transitory computer-readable media of claim 10 , wherein the at least one ride request parameter comprises a first ride request parameter and a second ride request parameter, wherein the first ride constraint is based on the first ride request parameter, and further comprising:

determining a second ride constraint based on the second ride request parameter; and

responsive to determining the vehicle satisfies the first ride constraint and does not satisfy the second ride constraint, applying a penalty to the objective value associated with the vehicle.

15 . A system for constrained itinerary generation in a fleet-based vehicular ride-sharing system comprising:

at least one processor; and

one or more non-transitory computer-readable media that, when executed by the at least one processor, cause the system to carry out actions, comprising:

receiving a ride request having at least one ride request parameter;

determining, for the ride request, a ride constraint based on the at least one ride request parameter,

wherein the ride constraint comprises a vehicle whitelist, a vehicle blacklist, and a ride whitelist;

determining, for each vehicle of a plurality of vehicles, whether a vehicle identifier for each vehicle is in the vehicle whitelist or is in the vehicle blacklist,

wherein the plurality of vehicles comprises at least one of a bus or a wheelchair-accessible vehicle;

responsive to determining the vehicle identifier for a vehicle is not in the vehicle whitelist or is in the vehicle blacklist:

removing an itinerary associated with the vehicle from a search space, or applying a penalty to the itinerary,

wherein the penalty is based on at least one of a number of legs for which the ride constraint is violated or a driving distance for which the ride constraint is violated;

generating a plurality of itineraries to obtain an optimized itinerary; and

selecting the optimized itinerary to serve the ride request.

16 . The system of claim 15 , wherein the optimized itinerary is heuristically determined by:

computing a plurality of itinerary variants that each have an objective value, and

wherein the objective value is a value of at least one metric for the ride request,

wherein the optimized itinerary is the itinerary of the plurality of itineraries with an optimized objective value.

17 . The system of claim 15 , wherein the ride request is a first ride request and wherein the actions further comprise:

receiving a second ride request comprising a ride identifier;

responsive to determining that the ride identifier is not in the ride whitelist of the first ride request, preventing assignment of the second ride request to the vehicle associated with the optimized itinerary.

18 . The system of claim 15 , wherein the actions further comprise:

receiving a second ride request;

responsive to determining the second ride request cannot be served by the plurality of vehicles, assigning a rescue vehicle to service the ride request.

19 . The system of claim 18 , wherein assigning the rescue vehicle to serve the ride request comprises:

adding a rescue vehicle identifier of the rescue vehicle to a second vehicle whitelist associated with the second ride request such that the rescue vehicle satisfies a second ride constraint of the second ride request.

20 . The system of claim 16 ,

wherein the at least one metric comprises at least one of a travel time, a travel distance, or a number of itinerary legs,

wherein the optimized objective value is one of a minimized objective value or a maximized objective value.

Assignments (2)
SECURITY INTEREST Recorded Jun 10, 2026
From: TRANSIT LABS INC.
To: BDC CAPITAL INC.
Reel/Frame 074907/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2024
From: LIDBETTER, THOMAS FINN; GOES, CLAYTON; GURURAJAN, PREM; BAILEY, ALEXANDER; MCELROY, JOHN
To: TRANSIT LABS INC.
Reel/Frame 067438/0770 →
References Cited (39)
US 10248913B1 · Gururajan · 2019 [cited by examiner]
US 11429910B1 · Lidbetter · 2022 [cited by examiner]
US 11977393B2 · Nagy · 2024 [cited by examiner]
US 20170169366A1 · Klein et al. · 2017 [cited by applicant]
US 20170314948A1 · Racah et al. · 2017 [cited by applicant]
US 20180081374A1 · Nimchuk et al. · 2018 [cited by applicant]
US 20180189518A1 · Batten · 2018 [cited by examiner]
US 20180293521A1 · Akselrod · 2018 [cited by examiner]
US 20180315146A1 · Matthiesen · 2018 [cited by examiner]
US 20190188608A1 · Gururajan et al. · 2019 [cited by applicant]
US 20190258969A1 · Akselrod · 2019 [cited by examiner]
US 20200160709A1 · Ramot et al. · 2020 [cited by applicant]
US 20200211070A1 · Singh · 2020 [cited by examiner]
US 20210223051A1 · Hochberg · 2021 [cited by examiner]
US 20220017121A1 · McLean · 2022 [cited by examiner]
US 20220126864A1 · Moustafa · 2022 [cited by examiner]
US 20220172175A1 · Gkiotsalitis · 2022 [cited by examiner]
US 20220194415A1 · Liu · 2022 [cited by examiner]
CN 112419716B · 2021 [cited by examiner]
DE 102019005062A1 · 2021 [cited by applicant]
JP 7351325B2 · 2023 [cited by examiner]
WO 2018213676A1 · 2018 [cited by applicant]
WO WO2019023324A1 · 2019 [cited by examiner]
WO WO2020205597A1 · 2020 [cited by examiner]
WO 2021202851A1 · 2021 [cited by applicant]
WO WO2024028644A1 · 2024 [cited by examiner]
CN112419716B by Chen J; Layout configuration method for shared single-vehicle facilities in track station transfer influence area; (Year: 2021). [cited by examiner]
Yu, Haining, et al. “PSRide: Privacy-preserving shared ride matching for online ride hailing systems.” IEEE Transactions on Dependable and Secure Computing 18.3 (2019): 1425-1440. [cited by examiner]
Yu, Haining, et al. “Efficient and privacy-preserving ride matching using exact road distance in online ride hailing services.” IEEE Transactions on Services Computing 15.4 (2020): 1841-1854. [cited by examiner]
Teusch, Julian, et al. “A systematic literature review on machine learning in shared mobility.” IEEE Open Journal of Intelligent Transportation Systems 4 (2023): 870-899. [cited by examiner]
Stokkink, Patrick Stefan Adriaan. Optimizing the utilization of existing vehicle flows in last-mile passenger transport and logistics systems. No. 10461. EPFL, 2023. (Year: 2023). [cited by examiner]
Hamadneh, Jamil, and Domokos Esztergár-Kiss. “Impacts of shared autonomous vehicles on the travelers' mobility.” 2019 6th International Conference on Models and Technologies for Intelligent Transportation Systems (MT-IT… [cited by examiner]
Kim, Nam Seok, Byungkyu Park, and Kang-Dae Lee. “A knowledge based freight management decision support system incorporating economies of scale: multimodal minimum cost flow optimization approach.” Information Technology… [cited by examiner]
Khadilkar, Harshad. “Solving the capacitated vehicle routing problem with timing windows using rollouts and MAX-SAT.” 2022 Eighth Indian Control Conference (ICC). IEEE, 2022. (Year: 2022). [cited by examiner]
Pujol, Francisco A., et al. “Blockchain-based framework for traffic event verification in smart vehicles.” IEEE Access 12 (2024): 9251-9266 (Year: 2024). [cited by examiner]
Pan, James Jie, and Guoliang Li. “Fast and scalable ridesharing search.” IEEE Transactions on Knowledge and Data Engineering (Year: 2024). [cited by examiner]
Alqaisi, Ala. “Trustworthy Decentralized Last Mile Delivery Framework Using Blockchain.” (Year: 2023). [cited by examiner]
Leurent, Fabien. “Line Ride-Sharing as a bi-sided mobility service with price schedule, transactional protocol and waiting policy: a logit traffic assignment model and its equilibrium.” (Year: 2024). [cited by examiner]
European Patent Application 22953362.5 Extended Search Report issued Nov. 5, 2024. [cited by applicant]