DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
This Office Action is in response to the Applicant’s Response dated on September 29th, 2025. Claims 1-3, 5-13, and 15-21, and 23 are presently pending and are presented for examination.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on August 21st, 2025 has been entered.
Response to Amendment
In response to Applicant’s response dated September 29th, 2025, Examiner withdraws the previous claim objections, and withdraws the previous 35 U.S.C. 103 prior art rejections.
Response to Arguments
Applicant’s arguments, filed April 15th, 2025, with respect to the rejection(s) of all of the claim(s) have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of US-20230281551 (hereinafter, “Sun”).
Claim Objections
Claim 1 is objected to because of the following informalities:
Claim 1 recites “determining that the route include equivalent stops” should recite “determining that the route includes equivalent stops”.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 1, 2, 7-13, 15, 17-21, and 23 are rejected under 35 U.S.C. 103 as being unpatentable over US-2022/0397403 (hereinafter, “Bickley”) in view of US-20230281551 (hereinafter, “Sun”) and further in view of US-2020/0364652 (hereinafter, “Rongley”).
Regarding claim 1 Bickley discloses a method performed by a routing optimization system (see at least [Abstract]; “A system and method for routing a fleet of vehicles, the vehicles being based across a plurality of depots”), the method comprising:
determining a plurality of routes (see at least [0027]; “the systems and methods disclosed herein can be used to devise a route(s) for any number of vehicles operating from delivery depots 100 to make deliveries to any number of customer locations 200”) based on one or more changes, of a particular type of change, to an initial route that includes a plurality of stops (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based of design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,” and [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes”),
wherein the one or more changes are not performed on a route of the plurality of routes based on determining that the route includes equivalent stops (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route” if nodes are consecutive the order of the nodes are maintained), and
wherein each change, of the one or more changes, generates a respective route of the plurality of routes (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based on design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,” and [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes”);
storing, in a data structure, route information for each respective route of the plurality of routes (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles),
wherein the route information, for each respective route of the plurality of routes, includes cost information identifying a cost associated with the route (see at least [0107]; “The routing module 700 determines, via an objective function, an operational cost for each group based on decision variables…The routing module 700 combines plural groups and determines, via the objective function, an operational cost for the combined-plural groups.”), and
wherein the route information, for each respective route of the plurality of routes, is stored in a respective entry of the data structure (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles) …
…determining that a particular route, associated with a lowest cost of costs associated with the plurality of routes, is to be selected from the plurality of routes (see at least [0107]; “The routing module 700 is configured to retain a modified route for the next iteration when the operational cost for the combined-plural groups deceases”);
…selectively generating route information for a first route of the plurality of routes…or selecting a second route, of the plurality of routes, as the particular route (see at least [0107]; “The routing module 700 is configured to retain a modified route for the next iteration when the operational cost for the combined-plural groups deceases. In addition, or in the alternative, routing module 700 is configured to discard a modified route when the operational cost for the combined-plural groups increases”) …
determining a combined cost associated with a combination of a route, of the plurality of routes, and another route of the plurality of routes (see at least [0116-0122]; and claim 1; “e) combining each of the groups to determine the operational cost for the plurality of routes,” the cost of all routes is combined to determine an overall operational cost);
selecting the particular route based on determining that the cost associated with the particular route does not exceed the combined cost (see at least [0116-0122]; and claim 1; “executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” if the combined cost is not exceeded the route is maintained); and
providing routing information associated with the particular route for navigation (see at least [0108]; “The scheduling module 600 transmits the routing schedule to at least one vehicle 300 (e.g., transmits routes for all vehicles 300 to each vehicle 300). Alternatively, the scheduling module 600 transmits the route for a particular vehicle 300 to that vehicle (e.g., transmits route-1 to vehicle-1, route-2 to vehicle-2, etc.). Each vehicle 300, after receiving the route or routing schedule, can display the route/routing schedule, execute a delivery path based on the route/routing schedule, etc.”).
Bickley does not disclose deleting route information from the plurality of routes based on determining that the one or more changes caused routing of a route associated with the route information to be modified;
…determining whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected;
selectively:
generating route information for a first route of the plurality of routes based on determining that the entry is empty, or
selecting a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty.
Sun, in the same field of endeavor, teaches deleting route information from the plurality of routes based on determining that the one or more changes caused routing of a route associated with the route information to be modified (see at least [0050]; “In some embodiments, method 400 can optionally comp1ise activity 404 of overwriting a delivery stop. In many embodiments, activity 404 can be performed as a part of and/or concurrently with one or more of activities 402-403. In various embodiments, a delivery stop in a first route can be overwritten (e.g., replaced) with a delivery stop in a second route. In these or other embodiments, an overwriting delivery stop can remain in its original route or be removed from its original route after the overwriting,” if a change to the route such as a replacement of a stop with another stop both routes may be overwritten with the new route, this is equivalent to deleting the previous route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization system of Bickley with the route overwriting of Sun. One of ordinary skill in the art would have been motivated to make this modification for the benefit of dynamically updating routes as new delivery orders are added (see at least Sun; [0003]).
Bickley in view of Sun does not disclose …determining whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected;
selectively:
generating route information for a first route of the plurality of routes based on determining that the entry is empty, or
selecting a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty.
Rongley, in the same field of endeavor, teaches determining whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected (see at least [0031]; “the autonomous inventory storage unit may determine that an alternative route which is optimized for one or more of cost and time (e.g., reduced risk of delay or other issues along the route) is available,” determining whether the route is available is the same as determining whether an entry is empty or not)…
selectively;
generating route information for a first route of the plurality of routes based on determining that the entry is empty (see at least [0012]; “The processor(s) may be configured to determine alternative routing options for the autonomous storage unit to continue travel to the first location,” and [0033]; “instead of receiving an alternative route from the host controller, the autonomous inventory storage unit may calculate its own route,” the own route constitutes Applicant’s first route which is generated when an alternative isn’t available), and
selecting a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty (see at least [0012]; “The processor(s) may be configured to determine alternative routing options for the autonomous storage unit to continue travel to the first location,” and [0033]; “instead of receiving an alternative route from the host controller, the autonomous inventory storage unit may calculate its own route,” when an alternative route is available in storage it is selected as the particular route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization device of Bickley as modified by Sun with the entry determination of Rongley. One of ordinary skill in the art would have been motivated to make this modification for the benefit of improving techniques for controlling robots for delivery (see at least Rongley; [0006]).
Regarding claim 2 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses wherein the particular type of change involves changing an order of two or more stops of the plurality of stops (see at least [0068]; “The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes.”), and wherein the method further comprises:
determining whether the two or more stops are equivalent stops by determining:
whether the two or more stops are consecutive stops (see at least [0068]; “The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”),
…performing the particular type of change on the two or more stops based on determining that the two or more stops are not equivalent stops (see at least [0068]; “The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes. A 2-opt move (FIG. 2a) reverses the visiting orders of a sequence of customers in a route. To do it, the move destroys two edges of a route in a solution, and recreate this route by making two new edges. Then, inverts the part of a solution in such a way that the resulting solution is still a tour. The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route,” if stops are not consecutive the order of the stops can be altered).
Bickley does not disclose determining whether the two or more stops are equivalent stops by determining: whether the two or more stops are associated with a same location, and whether the two or more stops do not involve a travel time between each of the two or more stops.
Sun, in the same field of endeavor, discloses determining whether the two or more stops are equivalent stops by determining: whether the two or more stops are associated with a same location, and whether the two or more stops do not involve a travel time between each of the two or more stops (see at least [0057]; “In various embodiments, a routing plan can comprise a sequence of delivery stops and/or one or more orders associated with each stop. In many embodiments, a loading plan can comprise a list of orders and/or their respective locations within a delivery vehicle. For example, a loading plan can comprise a position of a stack (e.g., row and column, numbered spot, bin, bag, etc.) and/or an orientation of a stack (facing left, right, front back diagonal, etc.). In some embodiments, orders to be delivered to the same destination can be grouped together in a loading plan,” deliveries to the same location do not require travel time between them and are grouped together).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization system of Bickley as modified by Rongley with the stop/order grouping of sun. One of ordinary skill in the art would have been motivated to make this modification for the benefit of optimizing a loading plan for the vehicles (see at least Sun; [0057]).
Regarding claim 7 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses further comprising: determining that a driver is associated with the particular route;
determining an arrival time of the driver at a particular stop of the particular route, a wait time of the driver prior to performing a service at the particular stop, a start time for performing the service, and a departure time from the particular stop (see at least [0030-0033]; “for each route we define…continuous variables…where they represent present arrival time, start service time, end service time and departure time at customer I;” since the arrival time and the start service time are determined, the difference between the two is considered a wait time, therefore the wait time is determined.
determining a break time for the driver based on the arrival time, the wait time, the start time, and the departure time (see at least [0029]; “service time at customer c is denoted by
S
k
c
. We denote [
b
e
k
,
b
l
k
]
the time window that the vehicle k should take a break of length
b
k
if this vehicle returns back to the depot later than
b
l
k
,” and [0043]; “Constraint [9] ensures that a break must happen exactly once in an arc visited by vehicle k. An arc is a line connecting two nodes in a graph and represents the route taken between two customer locations. Constraint [10] states that break happens when traveling from i to j if this arc is actively chosen by route k. Since break of route k must
happen in the interval [
X
k
,
Y
k
] after the departure, constraints [11] and [12] make sure that conditions happen. Constraint [11] ensures that if vehicle k takes a break when traveling from customer i to customer j, at least
X
k
units of time has passed. Constraint [12] ensures that if the break happens in the arc (i,j) then departure time from i,
d
k
must be no later than
d
o
k
k
+
Y
k
” the break time for the vehicle is determined based on when a vehicle needs to arrive at a stop, how long the stop will take, etc.)
Regarding claim 8 Bickley discloses a device (see at least [Abstract]; “A system and method for routing a fleet of vehicles, the vehicles being based across a plurality of depots”), comprising:
one or more processors (see at least [0025]; “Some embodiments relate to an apparatus comprising one or more processors, one or more volatile data storage units and one or more non-volatile data storage units, the apparatus being configured, in us, to perform a method as described above”) configured to:
determine a plurality of routes (see at least [0027]; “the systems and methods disclosed herein can be used to devise a route(s) for any number of vehicles operating from delivery depots 100 to make deliveries to any number of customer locations 200”) based on one or more changes, of a particular type of change, associated with a plurality of stops (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based on design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,” and [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes”) …
wherein the one or more changes are not performed on a route of the plurality of routes based on determining that the route includes equivalent stops (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route” if nodes are consecutive the order of the nodes are maintained), and
…wherein each change, of the one or more changes, generates a respective route of the plurality of routes (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based on design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,” and [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes”);
store, in a data structure, route information for each respective route of the plurality of routes (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles),
wherein the route information, for each respective route of the plurality of routes, includes cost information identifying a cost associated with the route (see at least [0107]; “The routing module 700 determines, via an objective function, an operational cost for each group based on decision variables…The routing module 700 combines plural groups and determines, via the objective function, an operational cost for the combined-plural groups.”), and
wherein the route information, for each respective route of the plurality of routes, is stored in a respective entry of the data structure (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles) …
…determine that a particular route, associated with a lowest cost of costs associated with the plurality of routes, is to be selected from the plurality of routes (see at least [0107]; “The routing module 700 is configured to retain a modified route for the next iteration when the operational cost for the combined-plural groups deceases”);
…selectively generate route information for a first route of the plurality of routes…or select a second route, of the plurality of routes, as the particular route (see at least [0107]; “The routing module 700 is configured to retain a modified route for the next iteration when the operational cost for the combined-plural groups deceases. In addition, or in the alternative, routing module 700 is configured to discard a modified route when the operational cost for the combined-plural groups increases”) …
determine a combined cost associated with a combination of a route, of the plurality of routes, and another route of the plurality of routes (see at least [0116-0122]; and claim 1; “e) combining each of the groups to determine the operational cost for the plurality of routes,” the cost of all routes is combined to determine an overall operational cost);
select the particular route based on determining that the cost associated with particular route does not exceed the combined cost (see at least [0116-0122]; and claim 1; “executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” if the combined cost is not exceeded the route is maintained); and
provide routing information associated with the particular route for navigation (see at least [0108]; “The scheduling module 600 transmits the routing schedule to at least one vehicle 300 (e.g., transmits routes for all vehicles 300 to each vehicle 300). Alternatively, the scheduling module 600 transmits the route for a particular vehicle 300 to that vehicle (e.g., transmits route-1 to vehicle-1, route-2 to vehicle-2, etc.). Each vehicle 300, after receiving the route or routing schedule, can display the route/routing schedule, execute a delivery path based on the route/routing schedule, etc.”).
Bickley does not disclose delete route information from the plurality of routes based on determining that the one or more changes caused routing of a route associated with the route information to be modified…
…determine whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected…
selectively;
generate route information for a first route of the plurality of routes based on determining that the entry is empty
select a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty.
Sun, in the same field of endeavor, teaches delete route information from the plurality of routes based on determining that the one or more changes caused routing of a route associated with the route information to be modified (see at least [0050]; “In some embodiments, method 400 can optionally comp1ise activity 404 of overwriting a delivery stop. In many embodiments, activity 404 can be performed as a part of and/or concurrently with one or more of activities 402-403. In various embodiments, a delivery stop in a first route can be overwritten (e.g., replaced) with a delivery stop in a second route. In these or other embodiments, an overwriting delivery stop can remain in its original route or be removed from its original route after the overwriting,” if a change to the route such as a replacement of a stop with another stop both routes may be overwritten with the new route, this is equivalent to deleting the previous route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization system of Bickley with the route overwriting of Sun. One of ordinary skill in the art would have been motivated to make this modification for the benefit of dynamically updating routes as new delivery orders are added (see at least Sun; [0003]).
Bickley in view of Sun does not disclose …determine whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected…
selectively;
generate route information for a first route of the plurality of routes based on determining that the entry is empty
select a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty.
Rongley, in the same field of endeavor, teaches determine whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected (see at least [0031]; “the autonomous inventory storage unit may determine that an alternative route which is optimized for one or more of cost and time (e.g., reduced risk of delay or other issues along the route) is available,” determining whether the route is available is the same as determining whether an entry is empty or not)…
selectively;
generate route information for a first route of the plurality of routes based on determining that the entry is empty (see at least [0012]; “The processor(s) may be configured to determine alternative routing options for the autonomous storage unit to continue travel to the first location,” and [0033]; “instead of receiving an alternative route from the host controller, the autonomous inventory storage unit may calculate its own route,” the own route constitutes Applicant’s first route which is generated when an alternative isn’t available), and
select a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty (see at least [0012]; “The processor(s) may be configured to determine alternative routing options for the autonomous storage unit to continue travel to the first location,” and [0033]; “instead of receiving an alternative route from the host controller, the autonomous inventory storage unit may calculate its own route,” when an alternative route is available in storage it is selected as the particular route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization device of Bickley as modified by Sun with the entry determination of Rongley. One of ordinary skill in the art would have been motivated to make this modification for the benefit of improving techniques for controlling robots for delivery (see at least Rongley; [0006]).
Regarding claim 9 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 8. Additionally, Rongley, in the same field of endeavor, teaches wherein, to generate the route information for the first route, the one or more processors are further configured to:
determine that the entry is empty based on the one or more changes to the first route (see at least [0031]; “the autonomous inventory storage unit may determine that an alternative route which is optimized for one or more of cost and time (e.g., reduced risk of delay or other issues along the route) is available,” determining whether the route is available is the same as determining whether an entry is empty or not);
determine updated route information for the first route based on the one or more changes (see at least [0012]; “The processor(s) may be configured to determine alternative routing options for the autonomous storage unit to continue travel to the first location”); and
store the updated route information in the entry (see at least [0055]; “Electronic storage 126 may comprise non-transitory storage media that electronically stores information,” the alternative route is stored in the vehicle storage unit).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization device of Bickley as modified by Sun with the entry determination of Rongley. One of ordinary skill in the art would have been motivated to make this modification for the benefit of improving techniques for controlling robots for delivery (see at least Rongley; [0006]).
Regarding claim 10 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 8. Additionally, Bickley discloses wherein the one or more processors are further configured to:
rank the routes in an order that is based on the costs associated with the plurality of routes (see at least [0116-0122]; and claim 1; “executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” if the combined cost is not exceeded the route is maintained, determining which route has a lower cost is equivalent to ranking the routes in order); and
wherein, to select the second route, the one or more processors are further configured to:
select the second route based on the second route being ranked higher than other routes of the plurality of routes (see at least [0116-0122]; and claim 1; “executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” the route with the lowest cost, and therefore highest order, is selected).
Regarding claim 11 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 8. Additionally, Bickley discloses wherein the plurality of routes are a first plurality of routes,
wherein the one or more changes are one or more first changes (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based on design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,” and [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes”), and
wherein the one or more processors are further configured to:
perform one or more changes to the second route (see at least [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes,” Figs. 2a-2c depict the different changes able to be implemented on the multiple routes),
wherein, to perform the one or more changes, the one or more processors are further configured to:
randomly remove one or more stops from the second route, or randomly remove one or more drivers associated with the plurality of stops (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based on design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,”), and
determine a second plurality of routes based on one or more second changes, of the particular type of change, involving stops included in the second route (see at least [0116-0122]; and claim 1; “c) for each of the plurality of groups, modifying one or more of the plurality of routes which comprise that group…executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” a new set of routes is obtained based on the modifications made).
Regarding claim 12 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 8. Additionally, Bickley discloses wherein the plurality of entries are a first plurality of entries (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” each route can be saved in respective entries of the memory), and
wherein the one or more processors are further configured to:
identify first consecutive stops, of the plurality of stops, included in a third route (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”);
identify second consecutive stops, of the plurality of stops, included in a fourth route (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”);
move the second consecutive stops to the third route to generate an updated third route (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”);
move the first consecutive stops to the fourth route to generate an updated fourth route (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”); and
store route information for the third route and the fourth route in a second plurality of entries in the data structure (see at least [0054]; “a new and/or different route can be persisted (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles).
Regarding claim 13 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 12. Additionally, Bickley discloses wherein the plurality of routes are a first plurality of routes ((see at least [0027]; “the systems and methods disclosed herein can be used to devise a route(s) for any number of vehicles operating from delivery depots 100 to make deliveries to any number of customer locations 200”),
wherein the third route and the fourth route are a second plurality of routes (see at least [0116-0122]; and claim 1; “c) for each of the plurality of groups, modifying one or more of the plurality of routes which comprise that group…executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” a new set of routes is obtained based on the modifications made), and
wherein the second route is selected as a route associated with a lowest cost of costs associated with the first plurality of routes (see at least [0116-0122]; and claim 1; “c) for each of the plurality of groups, modifying one or more of the plurality of routes which comprise that group…executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” the routes with the lowest cost are selected), and
wherein the one or more processors are configured to:
select the third route as a route associated with a lowest cost of costs associated with the second plurality of routes (see at least [0116-0122]; and claim 1; “c) for each of the plurality of groups, modifying one or more of the plurality of routes which comprise that group…executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” the routes with the lowest cost are selected).
Regarding claim 15 Bickley discloses a non-transitory computer-readable medium storing a set of instructions (see at least [0096]; “The present system and method may be practiced on virtually any manner of computer device including a desktop computer, laptop computer, tablet computer, cloud computing platform or wireless handheld. The present system and method may also be implemented as a computer readable/useable medium that includes computer program code to enable one or more computer devices to implement each of the various process steps in an embodiment of the disclosed method”), the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a device (see at least [0025]; “Some embodiments relate to an apparatus comprising one or more processors, one or more volatile data storage units and one or more non-volatile data storage units, the apparatus being configured, in us, to perform a method as described above”), cause the device to:
determine a plurality of routes (see at least [0027]; “the systems and methods disclosed herein can be used to devise a route(s) for any number of vehicles operating from delivery depots 100 to make deliveries to any number of customer locations 200”) based on one or more changes associated with a plurality of stops (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based on design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,” and [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes”),
wherein the one or more changes are not performed on a route of the plurality of routes based on determining that the route includes equivalent stops (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route” if nodes are consecutive the order of the nodes are maintained), and
wherein each change, of the one or more changes, generates a respective route of the plurality of routes (see at least [0046]; “First, the optimizer will update the input using information collected in a predetermined time period, for example 20 seconds. Other time periods can be used based on design criteria-e.g., the system can could collect data (or update orders) more frequently (but this would require more computing power) or less frequently (leading to a less optimal solution. The updating may include adding new orders, editing existing orders or canceling existing orders, etc.,” and [0068]; “Given solutions to subproblems, we improve those solutions using a SA algorithm that we develop for our problem. The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes”);
store, in a data structure, route information for each respective route of the plurality of routes (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles),
wherein the route information, for each respective route of the plurality of routes, includes cost information identifying a cost associated with the route (see at least [0107]; “The routing module 700 determines, via an objective function, an operational cost for each group based on decision variables…The routing module 700 combines plural groups and determines, via the objective function, an operational cost for the combined-plural groups.”), and
wherein the route information, for each respective route of the plurality of routes, is stored in a respective entry of the data structure (see at least [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles) …
…determine that a particular route, associated with a lowest cost out of costs associated with the plurality of routes, is to be selected from the plurality of routes (see at least [0107]; “The routing module 700 is configured to retain a modified route for the next iteration when the operational cost for the combined-plural groups deceases. In addition, or in the alternative, routing module 700 is configured to discard a modified route when the operational cost for the combined-plural groups increases.”);
…selectively generate route information for a first route of the plurality of routes…or select a second route, of the plurality of routes, as the particular route… (see at least [0107]; “The routing module 700 is configured to retain a modified route for the next iteration when the operational cost for the combined-plural groups deceases. In addition, or in the alternative, routing module 700 is configured to discard a modified route when the operational cost for the combined-plural groups increases”);
determine a combined cost associated with a combination of a route, of the plurality of routes, and another route of the plurality of routes (see at least [0116-0122]; and claim 1; “e) combining each of the groups to determine the operational cost for the plurality of routes,” the cost of all routes is combined to determine an overall operational cost);
select the particular route based on determining that the cost associated with the particular route does not exceed the combined cost (see at least [0116-0122]; and claim 1; “executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” if the combined cost is not exceeded the route is maintained); and
provide routing information associated with the particular route for navigation (see at least [0108]; “The scheduling module 600 transmits the routing schedule to at least one vehicle 300 (e.g., transmits routes for all vehicles 300 to each vehicle 300). Alternatively, the scheduling module 600 transmits the route for a particular vehicle 300 to that vehicle (e.g., transmits route-1 to vehicle-1, route-2 to vehicle-2, etc.). Each vehicle 300, after receiving the route or routing schedule, can display the route/routing schedule, execute a delivery path based on the route/routing schedule, etc.”).
Bickley does not disclose delete route information from the plurality of routes based on determining that the one or more changes caused routing of a route associated with the route information to be modified…
…determine whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected…
selectively;
generate route information for a first route of the plurality of routes based on determining that the entry is empty;
select a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty.
Sun, in the same field of endeavor, teaches delete route information from the plurality of routes based on determining that the one or more changes caused routing of a route associated with the route information to be modified (see at least [0050]; “In some embodiments, method 400 can optionally comp1ise activity 404 of overwriting a delivery stop. In many embodiments, activity 404 can be performed as a part of and/or concurrently with one or more of activities 402-403. In various embodiments, a delivery stop in a first route can be overwritten (e.g., replaced) with a delivery stop in a second route. In these or other embodiments, an overwriting delivery stop can remain in its original route or be removed from its original route after the overwriting,” if a change to the route such as a replacement of a stop with another stop both routes may be overwritten with the new route, this is equivalent to deleting the previous route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization system of Bickley with the route overwriting of Sun. One of ordinary skill in the art would have been motivated to make this modification for the benefit of dynamically updating routes as new delivery orders are added (see at least Sun; [0003]).
Rongley, in the same field of endeavor, teaches determine whether an entry, of a plurality of entries associated with the plurality of routes, is empty after determining that the particular route is to be selected (see at least [0031]; “the autonomous inventory storage unit may determine that an alternative route which is optimized for one or more of cost and time (e.g., reduced risk of delay or other issues along the route) is available,” determining whether the route is available is the same as determining whether an entry is empty or not)…
selectively;
generate route information for a first route of the plurality of routes based on determining that the entry is empty (see at least [0012]; “The processor(s) may be configured to determine alternative routing options for the autonomous storage unit to continue travel to the first location,” and [0033]; “instead of receiving an alternative route from the host controller, the autonomous inventory storage unit may calculate its own route,” the own route constitutes Applicant’s first route which is generated when an alternative isn’t available), and
select a second route, of the plurality of routes, as the particular route based on determining that the entry is not empty (see at least [0012]; “The processor(s) may be configured to determine alternative routing options for the autonomous storage unit to continue travel to the first location,” and [0033]; “instead of receiving an alternative route from the host controller, the autonomous inventory storage unit may calculate its own route,” when an alternative route is available in storage it is selected as the particular route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization device of Bickley as modified by Sun with the entry determination of Rongley. One of ordinary skill in the art would have been motivated to make this modification for the benefit of improving techniques for controlling robots for delivery (see at least Rongley; [0006]).
Regarding claim 17 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses wherein the one or more changes are changes of a particular type of change, wherein the particular type of change involves changing an order of two or more stops of the plurality of stops (see at least [0068]; “The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes.”), and wherein the one or more instructions, when executed by the one or more processors, further cause the device to:
determine whether the two or more stops are equivalent stops (see at least [0068]; “The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”),
perform the particular type of change on the two or more stops based on determining that the two or more stops are not equivalent stops (see at least [0068]; “The local search moves include intra-route move and inter-route moves to optimize the current solution. These moves are shown schematically in FIGS. 2a-2c. The intra-route moves optimize the order of the visit in each route while the inter-route moves swap customers between routes to find better routes. A 2-opt move (FIG. 2a) reverses the visiting orders of a sequence of customers in a route. To do it, the move destroys two edges of a route in a solution, and recreate this route by making two new edges. Then, inverts the part of a solution in such a way that the resulting solution is still a tour. The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route,” if stops are not consecutive the order of the stops can be altered).
Regarding claim 18 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses wherein the one or more instructions further cause the device to:
rank the routes in an order that is based on the costs associated with the plurality of routes (see at least [0116-0122]; and claim 1; “executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” if the combined cost is not exceeded the route is maintained, determining which route has a lower cost is equivalent to ranking the routes in order).
Regarding claim 19 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 18. Additionally, Bickley discloses wherein the one or more instructions, that cause the device to select the second route, cause the device to:
select the second route based on the second route being ranked higher than other routes of the plurality of routes (see at least [0116-0122]; and claim 1; “executing steps a) to e) within a predetermined time period and repeating steps a) to e) iteratively such that if there is a decrease in the operational cost for the plurality of routes then the modified routes generated in step c) are retained for the subsequent iteration,” the route with the lowest cost, and therefore highest order, is selected).
Regarding claim 21 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 8. Additionally, Bickley discloses wherein the routing information includes cost information associated with the particular route (see at least [0107]; “The routing module 700 determines, via an objective function, an operational cost for each group based on decision variables…The routing module 700 combines plural groups and determines, via the objective function, an operational cost for the combined-plural groups,” and [0054]; “Any of the memory 500 discussed herein can be computer readable memory configured to store data” the data stored would include the route information of all the vehicles).
Regarding claim 23 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 1. Additionally, Bickley discloses further comprising:
implementing random changes to the particular route (see at least [0115]; “In some embodiments, the scheduling module 600 is configured to generate at least one additional route when a new node 200 is introduced to the system 1000. A new node 200 can be a new customer location based on a new or revised customer order. The scheduling module 600 can randomly assign the new node 200 to the at least one additional route. Alternatively, the scheduling module 600 can assign the new node 200 to an existing route of the plural routes,” even after a route is optimized it is possible for a new node (stop) to be added to the existing route, this counts as a random change that modifies a subset of stops in the route),
wherein the random changes to the particular route comprise modifying a subset of stops of a plurality of stops included in the particular route (see at least [0115]; “In some embodiments, the scheduling module 600 is configured to generate at least one additional route when a new node 200 is introduced to the system 1000. A new node 200 can be a new customer location based on a new or revised customer order. The scheduling module 600 can randomly assign the new node 200 to the at least one additional route. Alternatively, the scheduling module 600 can assign the new node 200 to an existing route of the plural routes,” even after a route is optimized it is possible for a new node (stop) to be added to the existing route, this counts as a random change that modifies a subset of stops in the route);
determining, based on implementing the random changes, another particular route with a lower cost than the particular route (see at least [0122]; “The method can involve iterating steps a)-e). During the iteration, the method involves: retaining a modified route for the next iteration when the operational cost for the combined-plural groups deceases”);
determining the other particular route to be selected (see at least [0122]; “The method can involve iterating steps a)-e). During the iteration, the method involves: retaining a modified route for the next iteration when the operational cost for the combined-plural groups deceases”); and
providing routing information associated with the other particular route for navigation (see at least [0108]; “Alternatively, the scheduling module 600 transmits the route for a particular vehicle 300 to that vehicle (e.g., transmits route-1 to vehicle- 1, route-2 to vehicle-2, etc.). Each vehicle 300, after receiving the route or routing schedule, can display the route/ routing schedule, execute a delivery path based on the route/routing schedule, etc.”).
Claim 3 and 16 is rejected under 35 U.S.C. 103 as being unpatentable over Bickley in view of Sun and Rongley, in further view of US-2020/0271463 (hereinafter, “Lear”).
Regarding claim 3 Bickley in view of Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses wherein the particular type of change involves changes regarding stops of two different routes (see at least Fig. 2a-2c), and
wherein the method further comprises:
…moving the stop from the fourth route to the third route (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”).
Bickley does not disclose determining a distance between a vehicle associated with a first route of the two or more different routes and a stop included in a second route of the two or more different routes;
determining whether the distance satisfies a distance threshold; and
moving the stop from the fourth route to the third route based on determining that the distance does not satisfy the distance threshold.
Lear, in a similar field of endeavor, teaches determining a distance between a vehicle associated with a first route…and a stop (see at least [0043]; “the route management platform can identify a subset of fuel stops that are to be considered as potential stops to add to the set of stops of a final route. For example, the route management platform can identify a subset of fuel stops that are within a threshold distance of the initial route. In this case, the route management platform can be configured with a rule to identify fuel stops that are within a threshold distance of the initial route, within a threshold distance of a specified location within the initial route, within a threshold distance of a leg of the initial route, and/or the like,” the fuel stops correspond to Applicant’s stop, the distance between the vehicle and the stops is determined) …
determining whether the distance satisfies a distance threshold (see at least [0043]; “the route management platform can identify a subset of fuel stops that are to be considered as potential stops to add to the set of stops of a final route. For example, the route management platform can identify a subset of fuel stops that are within a threshold distance of the initial route. In this case, the route management platform can be configured with a rule to identify fuel stops that are within a threshold distance of the initial route, within a threshold distance of a specified location within the initial route, within a threshold distance of a leg of the initial route, and/or the like,”); and
moving the stop…to the third route based on determining that the distance does not satisfy the distance threshold (see at least [0043]; “In this example, the route management platform can identify fuel stop 1, fuel stop 2, fuel stop 3, and fuel stop 4, as being part of a subset of fuel stops that are within a threshold distance of the route. The route management platform will perform additional processing to determine which of these four fuel stops will be added as a stop to the final route,” if the distance does not exceed a threshold it is added to the route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization device of Bickley as modified by Sun and Rongley with the distance threshold of Lear. One of ordinary skill in the art would have been motivated to make this modification for the benefit of identifying the most efficient stops for the vehicle (see at least Lear; [0010]).
Regarding claim 16 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses wherein the one or more changes are changes of a particular type of change,
wherein the particular type of change involves changes regarding stops of two different routes (see at least Fig. 2a-2c), and
wherein the one or more instructions, when executed by the one or more processors, further cause the device to:
…move the stop from the fourth route to the third route (see at least [0068]; “The relocate operator route (FIG. 2b) moves a sequence of customer locations from one route to another route. The cross-operator route (FIG. 2c) swaps the end portions of two vehicle routes (which may be thought of as a swap of two sequences of consecutive nodes from the two routes) and preserves the order of customer locations within each route”).
Bickley does not disclose determine a distance between a vehicle associated with a third route of the two different routes and a stop included in a fourth route of the two different routes;
determine whether the distance satisfies a distance threshold; and
move the stop from the fourth route to the third route based on determining that the distance does not satisfy the distance threshold.
Lear, in a similar field of endeavor, teaches determine a distance between a vehicle associated with a third route…and a stop (see at least [0043]; “the route management platform can identify a subset of fuel stops that are to be considered as potential stops to add to the set of stops of a final route. For example, the route management platform can identify a subset of fuel stops that are within a threshold distance of the initial route. In this case, the route management platform can be configured with a rule to identify fuel stops that are within a threshold distance of the initial route, within a threshold distance of a specified location within the initial route, within a threshold distance of a leg of the initial route, and/or the like,” the fuel stops correspond to Applicant’s stop, the distance between the vehicle and the stops is determined) …
determine whether the distance satisfies a distance threshold (see at least [0043]; “the route management platform can identify a subset of fuel stops that are to be considered as potential stops to add to the set of stops of a final route. For example, the route management platform can identify a subset of fuel stops that are within a threshold distance of the initial route. In this case, the route management platform can be configured with a rule to identify fuel stops that are within a threshold distance of the initial route, within a threshold distance of a specified location within the initial route, within a threshold distance of a leg of the initial route, and/or the like,”); and
move the stop…to the third route based on determining that the distance does not satisfy the distance threshold (see at least [0043]; “In this example, the route management platform can identify fuel stop 1, fuel stop 2, fuel stop 3, and fuel stop 4, as being part of a subset of fuel stops that are within a threshold distance of the route. The route management platform will perform additional processing to determine which of these four fuel stops will be added as a stop to the final route,” if the distance does not exceed a threshold it is added to the route).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization device of Bickley as modified by Sun and Rongley with the distance threshold of Lear. One of ordinary skill in the art would have been motivated to make this modification for the benefit of identifying the most efficient stops for the vehicle (see at least Lear; [0010]).
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Bickley in view of Sun and Rongley, in further view of US-20160232475 (hereinafter, “Kuehnle”).
Regarding claim 5 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Bickley does not disclose further comprising: determining a cost associated with a first driver servicing the particular route;
determining the costs associated with the first driver and a second driver servicing the particular route,
wherein a first traveling cost for the first driver exceeds a combined traveling cost associated with the first driver and the second driver servicing the particular route;
determining that the cost associated with the first driver exceeds a combination of the costs associated with the first driver and the second driver; and
causing the first driver and the second driver to service the particular route based on determining that the cost associated with the first driver exceeds the combination of the costs.
Kuehnle, in the same field of endeavor, teaches further comprising: determining a cost associated with a first driver servicing the particular route;
determining the costs associated with the first driver and a second driver servicing the particular route (see at least [0039]; “In one embodiment, the step 130 of identifying the preferred drivers for the routes assumes the respective number of safety events per driven mile incurred by each of the drivers while driving in the respective segment types at a given time of day, under given weather conditions, with a given truck, etc. is known for each driver on the respective segments 30 on which the driver has driven. Therefore, the expected total number of safety events for each driver on a given route 20 (consisting of a series of segments 30) may be computed. The expected number of safety events may be viewed as a cost of assigning a particular driver to a particular route. In a case where there are a plurality of routes and a plurality of possible drivers for the routes, a decision may be made which driver is assigned to which route based on the expected number of safety events each of the drivers has for the particular routes. In other words, the decision as to which driver is assigned to which route is based on the cost of assigning the respective driver to the particular route. The basis for making such a decision may be expressed using a table showing persons/drivers and their jobs/routes 20. In one embodiment, it is desirable to minimize the total number of expected safety events for the different jobs/routes. Stated differently, it is desirable to minimize the total costs (e.g., safety costs) for the different jobs/routes” costs of all drivers on a particular segment can be determined),
wherein a first traveling cost for the first driver exceeds a combined traveling cost associated with the first driver and the second driver servicing the particular route (see at least [0040]; “the decision as to which driver is assigned to which route is based on the cost of assigning the respective driver to the particular route. The basis for making such a decision may be expressed using a table showing persons/drivers and their jobs/routes 20. In one embodiment, it is desirable to minimize the total number of expected safety events for the different jobs/routes. Stated differently, it is desirable to minimize the total costs (e.g., safety costs) for the different jobs/routes,” it is determined which combination of drivers yield the smallest cost);
determining that the cost associated with the first driver exceeds a combination of the costs associated with the first driver and the second driver servicing the particular route (see at least [0040]; “the decision as to which driver is assigned to which route is based on the cost of assigning the respective driver to the particular route. The basis for making such a decision may be expressed using a table showing persons/drivers and their jobs/routes 20. In one embodiment, it is desirable to minimize the total number of expected safety events for the different jobs/routes. Stated differently, it is desirable to minimize the total costs (e.g., safety costs) for the different jobs/routes,” it is determined which combination of drivers yield the smallest cost); and
causing the first driver and the second driver servicing the particular route to service the particular route based on determining that the cost associated with the first driver exceeds the combination of the costs (see at least [0044]; “Therefore, in the example of the step 130 illustrated in the table, to achieve the total minimum cost (e.g., the optimized assignment of drivers), Driver A is assigned to Route 1, Driver B is assigned to Route 4, Driver C is assigned to Route 2, and Driver D is assigned to Route 3. It is understood that the Hungarian Method is only one example that may be used for finding the total minimum cost of assigning drivers to routes,” the drivers of each route are selected based on which yields the lowest combined cost).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization system of Bickley as modified by Sun and Rongley with the driver cost of Kuehnle. One of ordinary skill in the art would have been motivated to make this modification for the benefit of improving vehicle fleet safety (see at least Kuehnle; [0046]).
Claims 6 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Bickley in view of Sun and Rongley, in further view of US-12093508 (hereinafter, “Chen”).
Regarding claim 6 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses further comprising:
receiving stop information identifying a set of stops (see at least [0047]; “The optimizer synchronizes input after every 20 seconds due to the modification of data (e.g., new orders, or modification of existing orders, etc.). The main steps of this procedure is shown below in Algorithm 2…a customer fulfillment center is going to collect orders that are delivered by this route. Therefore, the list of customers served by this route is fixed and the status of the route is set to be unavailable for further optimizing. Next, information of modified orders and routes are updated in the current problem and solution. The optimizer updates the solution. Finally, the optimizer inserts unassigned orders to the current solution,” customer orders would include the stop information) and driver information identifying a set of drivers (see at least [0047]; “For instance, the optimizer can cancel routes not available-e.g., if there are not enough vehicles or drivers available to run all of the routes then a route can be cancelled,” the number of drivers/vehicles available is received); and
Bickley does not disclose determine, based on the stop information and the driver information, a group of stops associated with a geographical location and a group of drivers associated with the geographical location, wherein the plurality of stops are included in the group of stops.
Chen, in the same field of endeavor, teaches determine, based on the stop information and the driver information, a group of stops associated with a geographical location and a group of drivers associated with the geographical location, wherein the plurality of stops are included in the group of stops (see at least [Col. 7, lines 8-37]; “The UI provided by the route management system 106 enables fleet managers to select the set of route variables to define a route. For example, the UI may provide a listing of geographic locations and times that a fleet manager may select from to define a route. A fleet manager may use the UI to select geographic locations to be included in the route, such as a beginning location, end location, geographical locations of such stops or destinations, geofences associated with each stop or destination, scheduled amount of time to be spent at each stop before departing to a subsequent stop or destination, and scheduled stops, as well as select an order in which the geographic locations are to be traversed along the route…The UI may also enable fleet managers to assign the generated routes to individual vehicles 102 and/or vehicle operators or drivers”).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization system of Bickley as modified by Sun and Rongley with the driver assignment of Chen. One of ordinary skill in the art would have been motivated to make this modification for the benefit of improving a driver’s experience when assigning routes to vehicle in a fleet.
Regarding claim 20 Bickley in view of Sun and Rongley renders obvious all of the limitations of claim 15. Additionally, Bickley discloses wherein the one or more instructions further cause the device to:
receive stop information identifying a set of stops (see at least [0047]; “The optimizer synchronizes input after every 20 seconds due to the modification of data (e.g., new orders, or modification of existing orders, etc.). The main steps of this procedure is shown below in Algorithm 2…a customer fulfillment center is going to collect orders that are delivered by this route. Therefore, the list of customers served by this route is fixed and the status of the route is set to be unavailable for further optimizing. Next, information of modified orders and routes are updated in the current problem and solution. The optimizer updates the solution. Finally, the optimizer inserts unassigned orders to the current solution,” customer orders would include the stop information) and driver information identifying a set of drivers (see at least [0047]; “For instance, the optimizer can cancel routes not available-e.g., if there are not enough vehicles or drivers available to run all of the routes then a route can be cancelled,” the number of drivers/vehicles available is received); and
Bickley does not disclose determine, based on the stop information and the driver information, a group of stops associated with a geographical location and a group of drivers associated with the geographical location, wherein the plurality of stops are included in the group of stops.
Chen, in the same field of endeavor, teaches determine, based on the stop information and the driver information, a group of stops associated with a geographical location and a group of drivers associated with the geographical location, wherein the plurality of stops are included in the group of stops (see at least [Col. 7, lines 8-37]; “The UI provided by the route management system 106 enables fleet managers to select the set of route variables to define a route. For example, the UI may provide a listing of geographic locations and times that a fleet manager may select from to define a route. A fleet manager may use the UI to select geographic locations to be included in the route, such as a beginning location, end location, geographical locations of such stops or destinations, geofences associated with each stop or destination, scheduled amount of time to be spent at each stop before departing to a subsequent stop or destination, and scheduled stops, as well as select an order in which the geographic locations are to be traversed along the route…The UI may also enable fleet managers to assign the generated routes to individual vehicles 102 and/or vehicle operators or drivers”).
Therefore, it would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention with a reasonable expectation of success to have modified the route optimization system of Bickley as modified by Sun and Rongley with the driver assignment of Chen. One of ordinary skill in the art would have been motivated to make this modification for the benefit of improving a driver’s experience when assigning routes to vehicle in a fleet.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ASHLEIGH NICOLE TURNBAUGH whose telephone number is (703)756-1982. The examiner can normally be reached Monday - Friday 9:00 am - 5:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Helal Algahaim can be reached on (571) 270-5227. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ASHLEIGH NICOLE TURNBAUGH/Examiner, Art Unit 3666
/HELAL A ALGAHAIM/SPE , Art Unit 3666