IP Library Granted Patent US 11,514,782
Granted Patent B2
US 11,514,782 · App. 16/236,652 · Granted Nov 29, 2022

Utilizing determined optimized time windows for precomputing optimal path matrices to reduce computer resource usage

Inventors: John Brian Stewart (Charlotte, NC); Dinesh Premalal Weerapurage (Morrison, CO); Timothy Alan Carnes (Seattle, WA); Christopher Sebastian Groer (Knoxville, TN); Lahiru Sandakith Pileththuwasan Gallege (Knoxville, TN); Chenlu Lou (Knoxville, TN)
Assignee: salesforce.com, inc.
G08G1/096811G01C21/32G01C21/3492G06F17/11G06F17/16G06Q10/047G08G1/0969
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 11,514,782
App. No.
16/236,652
Granted
Nov 29, 2022
Kind
B2
Abstract

A method involves accelerating the electronic determination of high quality solutions to routing problems by utilizing determined optimized time windows for precomputing optimal path matrices to reduce computer resource usage. The use of traffic windows defined based on changes in rates of change of speeds for traffic on road segments allows for more rapid determination of a set of one or more high quality solutions as compared to requiring on-demand, in-process determination of a shortest path for a particular time during comparison of paths or routes performed as part of a process for determining high quality solutions to the routing problem.

Claims (40)

1. A method involving accelerating the electronic determination of optimized solutions to routing problems by utilizing determined optimized time windows for precomputing optimal path matrices to reduce computer resource usage, the method comprising:

(a) receiving, at a server, problem data for a routing problem comprising information for one or more locations involved in the routing problem;

(b) electronically accessing traffic data for road segments, the traffic data comprising speed information for travel along the road segments at various times;

(c) electronically defining, based on the accessed traffic data for the first set of road segments, a plurality of traffic windows each having a start time and an end time during a time period, electronically defining the plurality of traffic windows comprising

(i) electronically calculating, for each of a plurality of times of day, a second delta value representing a change in a rate of change of a best fit line at that time of day,

(ii) electronically identifying a plurality of inflection points based on the calculated second delta values, and

(iii) electronically defining a start time and an end time for each traffic window of the plurality of traffic windows based on the identified plurality of inflection points, each inflection point representing an end time for one traffic window and a start time for another traffic window;

(d) electronically populating one or more optimal path matrices with travel time estimates for each defined traffic window by, for each respective defined traffic window, calculating, for each of one or more respective ordered pairs of locations involved in the routing problem, a respective travel time estimate for an optimal path for travel from a respective first location of the respective ordered pair of locations to a respective second location of the respective ordered pair of locations, such calculated respective travel time estimate being calculated based on road network data and traffic data for that respective defined traffic window;

(e) electronically determining a set of one or more optimized solutions to the routing problem using a plurality of the calculated travel time estimates accessed from the one or more optimal path matrices, at least some such use being based on time estimates within which estimated times of travel fall; and

(f) returning, from the server, data corresponding to the determined set of one or more optimized solutions to the routing problem;

(g) wherein the use of traffic windows defined based on changes in rates of change of speeds for traffic on road segments allows for more rapid determination of the set of one or more optimized solutions as compared to requiring on-demand, in-process determination of an optimal path for a particular time during comparison of paths or routes performed as part of a process for determining optimized solutions to the routing problem.

2. The method of claim 1 , wherein the time period comprises a week.

3. The method of claim 1 , wherein the time period comprises a day.

4. The method of claim 1 , wherein the time period comprises a plurality of weeks.

5. The method of claim 1 , wherein the time period comprises one or more months.

6. The method of claim 1 , wherein the time period comprises a plurality of days.

7. The method of claim 1 , wherein electronically defining a start time and an end time for each traffic window of the plurality of traffic windows based on the determined plurality of inflection points comprises automatically defining a start time for a first traffic window proximate a certain time of day.

8. The method of claim 1 , wherein electronically defining a start time and an end time for each traffic window of the plurality of traffic windows based on the determined plurality of inflection points comprises automatically defining a start time for a traffic window proximate midnight.

9. The method of claim 1 , wherein electronically defining a start time and an end time for each traffic window of the plurality of traffic windows based on the determined plurality of inflection points comprises defining a traffic window which overlaps from one day to a next day.

10. The method of claim 1 , wherein electronically populating one or more optimal path matrices with travel time estimates for each defined traffic window comprises electronically populating a different optimal path matrix for each defined traffic window.

11. The method of claim 1 , wherein electronically populating one or more optimal path matrices with travel time estimates for each defined traffic window comprises electronically populating a single optimal path matrix with travel time estimates for each defined traffic window.

12. A method involving accelerating the electronic determination of optimized solutions to routing problems by utilizing determined optimized time windows for precomputing optimal path matrices to reduce computer resource usage, the method comprising:

(a) receiving, at a server, problem data for a routing problem comprising information for one or more locations involved in the routing problem;

(h) electronically accessing traffic data for a first set of road segments in one or more areas of a road network encompassing the one or more locations, the traffic data comprising travel time information for travel along the road segments at various times;

(c) electronically defining, based on the accessed traffic data for the first set of road segments, a plurality of traffic windows each having a start time and an end time during a time period, electronically defining the plurality of traffic windows comprising

(i) electronically calculating, for each of a plurality of times of day, a delta value based on the accessed travel data for that time of day and one or more proximate times of day,

(ii) electronically identifying a plurality of inflection points based on the calculated delta values, and

(iii) electronically defining a start time and an end time for each traffic window of the plurality of traffic windows based on the identified plurality of inflection points, each inflection point representing an end time for one traffic window and a start time for another traffic window;

(d) electronically populating one or more optimal path matrices with travel time estimates for each defined traffic window by, for each respective defined traffic window, calculating, for each of one or more respective ordered pairs of locations involved in the routing problem, a respective travel time estimate for an optimal path for travel from a respective first location of the respective ordered pair of locations to a respective second location of the respective ordered pair of locations, such calculated respective travel time estimate being calculated based on road network data and traffic data for that respective defined traffic window;

(e) electronically determining a set of one or more optimized solutions to the routing problem using a plurality of the calculated travel time estimates accessed from the one or more optimal path matrices, at least some such use being based on time estimates within which estimated times of travel fall; and

(f) returning, from the server, data corresponding to the determined set of one or more optimized solutions to the routing problem;

(g) wherein the use of traffic windows defined based on changes in rates of change of travel times for traffic on road segments allows for more rapid determination of the set of one or more optimized solutions as compared to requiring on-demand, in-process determination of an optimal path for a particular time during comparison of paths or routes performed as part of a process for determining optimized solutions to the routing problem.

13. The method of claim 12 , wherein the time period comprises a week.

14. The method of claim 12 , wherein the time period comprises a plurality of weeks.

15. The method of claim 12 , wherein the time period comprises one or more months.

16. The method of claim 12 , wherein the time period comprises one or more days.

17. The method of claim 12 , wherein electronically defining a start time and an end time for each traffic window of the plurality of traffic windows based on the determined plurality of inflection points comprises automatically defining a start time for a traffic window proximate midnight.

18. The method of claim 12 , wherein electronically defining a start time and an end time for each traffic window of the plurality of traffic windows based on the determined plurality of inflection points comprises defining a traffic window which overlaps from one day to a next day.

19. The method of claim 12 , wherein electronically populating one or more optimal path matrices with travel time estimates for each defined traffic window comprises electronically populating a different optimal path matrix for each defined traffic window.

20. The method of claim 12 , wherein electronically populating one or more optimal path matrices with travel time estimates for each defined traffic window comprises electronically popuzlating a single optimal path matrix with travel time estimates for each defined traffic window.

Assignments (3)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0394 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2020
From: MAPANYTHING, INC.
To: SALESFORCE.COM, INC.
Reel/Frame 053520/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2018
From: STEWART, JOHN BRIAN; CARNES, TIMOTHY ALAN; GALLEGE, LAHIRU SANDAKITH PILETHTHUWASAN; GROER, CHRISTOPHER SEBASTIAN; LOU, CHENLU; WEERAPURAGE, DINESH PREMALAL
To: MAPANYTHING, INC.
Reel/Frame 047995/0220 →
Continuity (2)
Continuation 16053793 · Aug 2, 2018
Related Publication 20200043335A1 · Feb 6, 2020