Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SCHEDULING DEPLOYMENT OF MOVABLE APPARATUSES FOR PROCESSING AND RECYCLING WASTE POLYSTYRENE
Document Type and Number:
WIPO Patent Application WO/2018/184118
Kind Code:
A1
Abstract:
A system for scheduling and tracking the deployment of movable apparatuses for processing and recycling used polystyrene-based products. The system includes a method for determining a route for a pickup vehicle. The method has the steps of receiving one or more first pickup locations; determining the location of the pickup vehicle; determining a first route from the location of the pickup vehicle; traversing the one or more first pickup locations; receiving a second pickup location; re-determining the location of the pickup vehicle; determining unvisited first pickup locations, the unvisited first pickup locations being at least one of the one or more first pickup locations that the pickup vehicle has not yet visited; determining a second route from the re-determined location of the pickup vehicle and traversing the second pickup location and the unvisited first pickup locations.

Inventors:
HERRITT ROBERT (CA)
Application Number:
PCT/CA2018/050428
Publication Date:
October 11, 2018
Filing Date:
April 06, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
STYRO GO INC (CA)
International Classes:
G06Q10/06; B09B3/00; B29B17/00; G06Q10/08
Foreign References:
US7613617B22009-11-03
US8880416B22014-11-04
CN107145971A2017-09-08
Other References:
CORDEAU, J.F. ET AL., HANDBOOKS IN OPERATIONS RESEARCH AND MANAGEMENT SCIENCE, vol. 14, 2007, pages 429 - 466, ISSN: 0927-0507
LARSEN, A., THE DYNAMIC VEHICLE ROUTING PROBLEM, 2000, pages 1 - 18, 19-42, 81-106, Retrieved from the Internet [retrieved on 20180524]
SUNGUR, I. ET AL.: "A robust optimization approach for the capacitated vehicle routing problem with demand uncertainty", IIE TRANSACTIONS, vol. 40, no. 5, 10 March 2008 (2008-03-10), pages 509 - 523, XP055542568
BRAEKERS, K. ET AL.: "The Vehicle Routing Problem: State of the Art Classification and Review", COMPUTERS & INDUSTRIAL ENGINEERING, vol. 99, September 2016 (2016-09-01), pages 300 - 313, XP029712993, ISSN: 0360-8352
PILLAC, V. ET AL.: "A Review of Dynamic Vehicle Routing Problems", EUROPEAN JOURNAL OF OPERATIONS RESEARCH, vol. 225, no. 1, February 2013 (2013-02-01), pages 1 - 11, XP055160683, ISSN: 0377-2217
PSARAFTIS, H. N. ET AL.: "Dynamic Vehicle Routing Problems: Three Decades and Counting", NETWORKS, vol. 67, no. 1, pages 3 - 31, XP055542579, Retrieved from the Internet
RITZINGER, U. ET AL.: "A survey on dynamic and stochastic vehicle routing problems", INTERNATIONAL JOURNAL OF PRODUCTION RESEA RCH, vol. 54, no. 1, January 2016 (2016-01-01), pages 215 - 231, XP055542678, Retrieved from the Internet
MITROVIÄ?-MINIÄ?, S. ET AL.: "Double-horizon based heuristics for the dynamic pickup and delivery problem with time windows", TRANSPORTATION RESEARCH PART B: METHODOLOGICAL, vol. 38, no. 8, September 2004 (2004-09-01), pages 669 - 685, XP055542688, ISSN: 0191-2615, Retrieved from the Internet
MITROVIÄ?-MINIÄ?, S. ET AL.: "Waiting strategies for the dynamic pickup and delivery problem with time windows", TRANSPORTATION RESEARCH PART B: METHODOLOGICAL, vol. 38, no. 7, August 2004 (2004-08-01), pages 635 - 655, XP055542692, ISSN: 0191-2615, Retrieved from the Internet
Attorney, Agent or Firm:
GOWLING WLG (CANADA) LLP et al. (CA)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A computerized method for scheduling a plurality of vehicles for picking up waste polystyrene-based products, the method comprising:

receiving a plurality of first pickup jobs at respective first pickup locations;

automatically assigning the one or more first pickup jobs to the plurality of vehicles such that each of the plurality of vehicles is assigned with one or more of the plurality of first pickup jobs at one or more of the first pickup locations;

automatically determining a first route for each of the plurality of vehicles traversing the first pickup locations of the first pickup jobs assigned to the vehicle;

receiving, from a client, a second pickup job comprising a second pickup location; automatically determining the locations of the plurality of vehicles;

automatically identifying a designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles;

automatically determining unvisited first pickup locations of the designated vehicle, the unvisited first pickup locations being at least one of the one or more first pickup locations assigned to but not yet visited by the designated vehicle;

automatically determining a second route for the designated vehicle traversing the second pickup location and the unvisited first pickup locations; and

automatically sending an instruction to a driver of the designated vehicle for visiting the second pickup location and the unvisited first pickup locations along the second route for picking up waste polystyrene-based products.

2. The method of claim 1 further comprising:

automatically sending a notification to the client of the second pickup job.

3. The method of claim 1 or 2 further comprising:

in response to a request from the driver of the designated vehicle, displaying the second route on a display device.

4. The method of any one of claims 1 to 3, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises:

automatically identifying the designated vehicle as one of the plurality of vehicles requiring a least amount of travel extra to the vehicle's first route.

5. The method of any one of claims 1 to 3, wherein said second pickup job further comprises a target pickup date-and-time; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises:

automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time.

6. The method of claim 5, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time comprises:

automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time;

automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time; and

automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

7. The method of any one of claims 1 to 3, wherein said second pickup job further comprises a target pickup date-and-time and a target load; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises: automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load.

8. The method of claim 7, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load comprises:

automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time; automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time and, when arriving at the target pickup location, with an available capacity thereof being greater than the target load by a predefined load- threshold; and

automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

9. A system for scheduling a plurality of vehicles for picking up waste polystyrene- based products, the system comprising:

a plurality of vehicles;

a memory; and

at least one processing structure functionally coupled to the memory and the plurality of vehicles, the at least one processing structure being configured for:

receiving a plurality of first pickup jobs at respective first pickup locations;

automatically assigning the one or more first pickup jobs to the plurality of vehicles such that each of the plurality of vehicles is assigned with one or more of the plurality of first pickup jobs at one or more of the first pickup locations;

automatically determining a first route for each of the plurality of vehicles traversing the first pickup locations of the first pickup jobs assigned to the vehicle;

receiving, from a client, a second pickup job comprising a second pickup location; automatically determining the locations of the plurality of vehicles; automatically identifying a designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles;

automatically determining unvisited first pickup locations of the designated vehicle, the unvisited first pickup locations being at least one of the one or more first pickup locations assigned to but not yet visited by the designated vehicle;

automatically determining a second route for the designated vehicle traversing the second pickup location and the unvisited first pickup locations; and

automatically sending an instruction to a driver of the designated vehicle for visiting the second pickup location and the unvisited first pickup locations along the second route for picking up waste polystyrene-based products.

10. The system of claim 9, wherein the at least one processing structure is configured for:

automatically sending a notification to the client of the second pickup job.

11. The system of claim 9 or 10, wherein the at least one processing structure is configured for:

in response to a request from the driver of the designated vehicle, displaying the second route on a display device.

12. The system of any one of claims 9 to 11, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises: automatically identifying the designated vehicle as one of the plurality of vehicles requiring a least amount of travel extra to the vehicle's first route.

13. The system of any one of claims 9 to 11, wherein said second pickup job further comprises a target pickup date-and-time; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises:

automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time.

14. The system of claim 13, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time comprises:

automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time;

automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time; and

automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

15. The system of any one of claims 9 to 11, wherein said second pickup job further comprises a target pickup date-and-time and a target load; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises: automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load.

16. The system of claim 15, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load comprises:

automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time;

automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time and, when arriving at the target pickup location, with an available capacity thereof being greater than the target load by a predefined load- threshold; and

automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

17. One or more non-transitory computer-readable storage media comprising computer-executable instructions, the instructions, when executed, causing a processor to perform actions comprising:

receiving a plurality of first pickup jobs at respective first pickup locations;

automatically assigning the one or more first pickup jobs to the plurality of vehicles such that each of the plurality of vehicles is assigned with one or more of the plurality of first pickup jobs at one or more of the first pickup locations;

automatically determining a first route for each of the plurality of vehicles traversing the first pickup locations of the first pickup jobs assigned to the vehicle;

receiving, from a client, a second pickup job comprising a second pickup location; automatically determining the locations of the plurality of vehicles;

automatically identifying a designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles;

automatically determining unvisited first pickup locations of the designated vehicle, the unvisited first pickup locations being at least one of the one or more first pickup locations assigned to but not yet visited by the designated vehicle;

automatically determining a second route for the designated vehicle traversing the second pickup location and the unvisited first pickup locations; and

automatically sending an instruction to a driver of the designated vehicle for visiting the second pickup location and the unvisited first pickup locations along the second route for picking up waste polystyrene-based products.

18. The one or more non-transitory computer-readable storage media of claim 17, wherein the instructions, when executed, cause the processor to perform further actions comprising:

automatically sending a notification to the client of the second pickup job.

19. The one or more non-transitory computer-readable storage media of claim 17 or 18, wherein the instructions, when executed, cause the processor to perform further actions comprising:

in response to a request from the driver of the designated vehicle, displaying the second route on a display device.

20. The one or more non-transitory computer-readable storage media of any one of claims 17 to 19, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises:

automatically identifying the designated vehicle as one of the plurality of vehicles requiring a least amount of travel extra to the vehicle's first route.

21. The one or more non-transitory computer-readable storage media of any one of claims 17 to 19, wherein said second pickup job further comprises a target pickup date- and-time; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises: automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time.

22. The one or more non-transitory computer-readable storage media of claim 21, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time comprises:

automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time;

automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time; and

automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

23. The one or more non-transitory computer-readable storage media of any one of claims 17 to 19, wherein said second pickup job further comprises a target pickup date- and-time and a target load; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises:

automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load.

24. The one or more non-transitory computer-readable storage media of claim 23, wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load comprises:

automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time;

automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time and, when arriving at the target pickup location, with an available capacity thereof being greater than the target load by a predefined load- threshold; and

automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

Description:
SCHEDULING DEPLOYMENT OF MOVABLE APPARATUSES FOR PROCESSING AND RECYCLING WASTE POLYSTYRENE

CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of US Provisional Patent Application Serial

No. 62/482,940 filed April 07, 2017, the content of each of which is incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to a management system and method, and in particular to a method and a system for scheduling and tracking the deployment of movable apparatuses for processing and recycling waste polystyrene foam.

BACKGROUND

The term "styrofoam" is used generically to refer to materials comprising expanded polystyrene foams made from polystyrene beads and which are rigid and tough closed-cell foams. Such materials are also commonly referred as expanded polystyrene (EPS) and are physically different from extruded closed-cell polystyrene materials which are known by the trademarked brand STYROFOAM ® (STYROFOAM is a registered trademark of the Dow Chemical Company, Midland, MI, USA).

Polystyrene-based products have been widely used in the world. However, polystyrene takes a very long time to break down thereby causing significant environmental issues. While these products are recyclable, in practice recycling of polystyrene-based products is virtually nonexistent because current recycling technology is insufficient for recycling polystyrene material on a massive, industrial scale and in a financially sustainable way. As polystyrene-based products are usually of very large volume but very low weight (for example, a polystyrene-based product may comprise 97% air), it is difficult to encourage people to stockpile used polystyrene-based products and to drop them off to recycling stations.

One method of encouraging recycling of polystyrene-based products is a method similar to garbage collection, that is, to periodically pick up used polystyrene-based products from user sites. Such a method requires a plurality of movable apparatuses such as recycling trucks. Each recycling truck may be periodically dispatched to visit a number of user sites for collecting used polystyrene-based products.

Management of the recycling trucks and the work of recycling used polystyrene- based products requires a scheduling and tracking system. However, prior-art scheduling and tracking systems have many disadvantages. For example, many prior-art scheduling and tracking systems require frequent data entry by truck drivers. Such data entry work may slow down truck driver's work, and may cause risk to truck drivers if they conduct the data entry work when driving the trucks.

SUMMARY

According to one aspect of this disclosure, there is provided a system for scheduling and tracking the deployment of movable apparatuses for processing and recycling used polystyrene-based products. The scheduling and tracking system employs a method for determining a route for a movable apparatus. The method has the steps of receiving one or more first pickup locations; determining the location of the movable apparatus; determining a first route from the location of the movable apparatus and traversing the one or more first pickup locations; receiving a second pickup location; redetermining the location of the movable apparatus; determining unvisited first pickup locations, the unvisited first pickup locations being at least one of the one or more first pickup locations that the movable apparatus has not yet visited; and determining a second route from the re-determined location of the movable apparatus and traversing the second pickup location and the unvisited first pickup locations.

According to one aspect of this disclosure, there is provided a computerized method for scheduling a plurality of vehicles for picking up waste polystyrene-based products. The method comprises receiving a plurality of first pickup jobs at respective first pickup locations; automatically assigning the one or more first pickup jobs to the plurality of vehicles such that each of the plurality of vehicles is assigned with one or more of the plurality of first pickup jobs at one or more of the first pickup locations; automatically determining a first route for each of the plurality of vehicles traversing the first pickup locations of the first pickup jobs assigned to the vehicle; receiving, from a client, a second pickup job comprising a second pickup location; automatically determining the locations of the plurality of vehicles; automatically identifying a designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles; automatically determining unvisited first pickup locations of the designated vehicle, the unvisited first pickup locations being at least one of the one or more first pickup locations assigned to but not yet visited by the designated vehicle; automatically determining a second route for the designated vehicle traversing the second pickup location and the unvisited first pickup locations; and automatically sending an instruction to the driver of the designated vehicle for visiting the second pickup location and the unvisited first pickup locations along the second route for picking up waste polystyrene-based products.

In some embodiments, the method further comprises automatically sending a notification to the client of the second pickup job. In some embodiments, the method further comprises, in response to a request from the driver of the designated vehicle, displaying the second route on a display device.

In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle as one of the plurality of vehicles requiring a least amount of travel extra to the vehicle's first route.

In some embodiments, said second pickup job further comprises a target pickup date-and-time; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time.

In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time comprises automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time; automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time; and automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

In some embodiments, said second pickup job further comprises a target pickup date-and-time and a target load; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and- time, and the target load.

In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load comprises automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time; automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time and, when arriving at the target pickup location, with an available capacity thereof being greater than the target load by a predefined load-threshold; and automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route. According to one aspect of this disclosure, there is provided a system for scheduling a plurality of vehicles for picking up waste polystyrene-based products. The system comprises a plurality of vehicles; a memory; and at least one processing structure functionally coupled to the memory and the plurality of vehicles. The at least one processing structure is configured for receiving a plurality of first pickup jobs at respective first pickup locations; automatically assigning the one or more first pickup jobs to the plurality of vehicles such that each of the plurality of vehicles is assigned with one or more of the plurality of first pickup jobs at one or more of the first pickup locations; automatically determining a first route for each of the plurality of vehicles traversing the first pickup locations of the first pickup jobs assigned to the vehicle; receiving, from a client, a second pickup job comprising a second pickup location; automatically determining the locations of the plurality of vehicles; automatically identifying a designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles; automatically determining unvisited first pickup locations of the designated vehicle, the unvisited first pickup locations being at least one of the one or more first pickup locations assigned to but not yet visited by the designated vehicle; automatically determining a second route for the designated vehicle traversing the second pickup location and the unvisited first pickup locations; and automatically sending an instruction to a driver of the designated vehicle for visiting the second pickup location and the unvisited first pickup locations along the second route for picking up waste polystyrene-based products.

In some embodiments, the at least one processing structure is configured for automatically sending a notification to the client of the second pickup job. In some embodiments, the at least one processing structure is configured for in response to a request from the driver of the designated vehicle, displaying the second route on a display device.

In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle as one of the plurality of vehicles requiring a least amount of travel extra to the vehicle's first route.

In some embodiments, said second pickup job further comprises a target pickup date-and-time; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time. In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time comprises automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time; automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time; and automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route. In some embodiments, said second pickup job further comprises a target pickup date-and-time and a target load; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and- time, and the target load.

In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load comprises automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time; automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time and, when arriving at the target pickup location, with an available capacity thereof being greater than the target load by a predefined load-threshold; and automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

According to one aspect of this disclosure, there is provided one or more non- transitory computer-readable storage media comprising computer-executable instructions. The instructions, when executed, cause a processor to perform actions comprising receiving a plurality of first pickup jobs at respective first pickup locations; automatically assigning the one or more first pickup jobs to the plurality of vehicles such that each of the plurality of vehicles is assigned with one or more of the plurality of first pickup jobs at one or more of the first pickup locations; automatically determining a first route for each of the plurality of vehicles traversing the first pickup locations of the first pickup jobs assigned to the vehicle; receiving, from a client, a second pickup job comprising a second pickup location; automatically determining the locations of the plurality of vehicles; automatically identifying a designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles; automatically determining unvisited first pickup locations of the designated vehicle, the unvisited first pickup locations being at least one of the one or more first pickup locations assigned to but not yet visited by the designated vehicle; automatically determining a second route for the designated vehicle traversing the second pickup location and the unvisited first pickup locations; and automatically sending an instruction to a driver of the designated vehicle for visiting the second pickup location and the unvisited first pickup locations along the second route for picking up waste polystyrene-based products.

In some embodiments, the instructions, when executed, cause the processor to perform further actions comprising automatically sending a notification to the client of the second pickup job.

In some embodiments, the instructions, when executed, cause the processor to perform further actions comprising, in response to a request from the driver of the designated vehicle, displaying the second route on a display device. In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle as one of the plurality of vehicles requiring a least amount of travel extra to the vehicle's first route.

In some embodiments, said second pickup job further comprises a target pickup date-and-time; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time.

In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, and the target pickup date-and-time comprises automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time; automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time; and automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

In some embodiments, said second pickup job further comprises a target pickup date-and-time and a target load; and wherein said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location and the locations and routes of the plurality of vehicles comprises automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and- time, and the target load.

In some embodiments, said automatically identifying the designated vehicle from the plurality of vehicles based on at least the second pickup location, the locations and routes of the plurality of vehicles, the target pickup date-and-time, and the target load comprises automatically identifying a set of available vehicles from the plurality of vehicles, the set of available vehicles being available at the target pickup date-and-time; automatically identifying a set of candidate vehicles from the set of available vehicles; each of the set of candidate vehicles being able to arrive the target pickup location at about the target pickup date-and-time and, when arriving at the target pickup location, with an available capacity thereof being greater than the target load by a predefined load-threshold; and automatically identifying the designated vehicle as one of the set of candidate vehicles requiring a least amount of travel extra to the vehicle's first route.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram of a scheduling and tracking system for scheduling and tracking the deployment of movable apparatuses for processing and recycling used polystyrene-based products, according to some embodiments of the present disclosure;

FIG. 2 shows the hardware structure of a computing device of the scheduling and tracking system shown in FIG. 1; FIG. 3 shows a simplified software architecture of a computing device of the scheduling and tracking system shown in FIG. 1 ; FIG. 4 shows the function modules of the scheduling and tracking system shown in FIG. 1;

FIG. 5 shows the user groups and their access right to the scheduling and tracking system shown in FIG. 1 ; FIG. 6 shows an exemplary graphic user interface (GUI) of an administration module of a tablet app running on a computing device of the scheduling and tracking system shown in FIG. 1 ;

FIG. 7 shows an exemplary GUI of a sales module of a tablet app running on a computing device of the scheduling and tracking system shown in FIG. 1 ; FIG. 8 is a flowchart showing the steps of a process for automatically dispatch a job, executed by the scheduling and tracking system shown in FIG. 1 ; and

FIGs. 9A to 9C shows an example of automatically revising a driver's route.

DETAILED DESCRIPTION

The embodiments of the present disclosure relate to a scheduling and tracking system. The scheduling and tracking system is used for scheduling and tracking the deployment of movable apparatuses for jobs such as processing and recycling waste polystyrene-based products for example, polystyrene foam or STYROFOAM ® . In embodiments, the system disclosed herein is an integrated customer software application that provides quick and easy scheduling, management, customer data entry, productivity management and tracking, end of month exportable reports, and a simple and intuitive system for reception and customer service representatives (CSR). In some embodiments, the system disclosed herein is a customizable geo-locating self-dispatching smartware system for drivers, with live updates and seamless smartphone and tablet interfaces. The system comprises a secure and dynamic database for storing customer and employee related information, and comprises integrated function modules for eliminating repetitive data entry, for reducing mistakes and incorrect data entry, and for other suitable management functionalities as needed. The disclosed system is a cloud- based management system with system integrity, durability, and accessibility.

The system disclosed herein comprises a streamlined process and is highly scalable. For example, the system disclosed herein is suitable for deployment of movable apparatuses in an area as small as a town, or in an area as large as a plurality of countries.

The system disclosed herein is an all-inclusive software platform to allow the efficient running of the recycling business from "front -to-back" and from "top-to-bottom" with minimum labor and overhead requirements. In some embodiments, the system disclosed herein comprises various function modules such as customer service and scheduling, database management, dispatching, tracking, business productivity tracking, business management, sales and operation, accounting and bookkeeping, and other suitable modules.

More specifically, in various embodiments, the system disclosed herein comprises a CSR-based customer scheduling and auto-dispatching, customer profile and database integration with billing protocols and reports, and business live database enabling dynamic productivity monitoring.

The system disclosed herein thus allows the recycling business to operate with minimal support staff overhead (for example, without any dispatching staff). The easy and intuitive platform provided by the system disclosed herein allows easy training of CSR staff for customer scheduling. Moreover, in the system disclosed herein, the smartware for dispatching significantly reduces errors in scheduling and driver dispatch, productivity, performance, and financial reports. The system disclosed herein reduces the cost of ongoing data entry that would otherwise be needed by using multiple platforms to run the business. By allowing the database to be shared between different function modules and between devices and users, the system significantly reduces risks of data entry errors. Furthermore, by having an integrated, live, cloud-based system, the business metrics can be monitored and acted much faster than waiting for a month-end report or a quarterly report.

The system disclosed herein is a simple and easy-to-use application suitable for recycling industry with the advantage of easy staff training, no interface issues from having two or more software applications trying to exchange data, significant cost reduction, and improved customer reliability over automated functions, and better customer retention. The disclosed system automatically performs about 75% of the requisite data management and bookkeeping jobs thereby giving rise to further-lowered overhead and costs.

Turning now to FIG. 1, a scheduling and tracking system for scheduling and tracking the deployment of movable apparatuses for processing and recycling waste polystyrene-based products such as polystyrene foam or STYROFOAM ® , is shown and is generally identified using reference numeral 100. The scheduling and tracking system 100 comprises one or more server computers 102. Depending on implementation, the server computer may be a server computing device, or alternatively, a general purpose computing device acting as a server computer while also being used by a user. The server computers 102 run one or more server programs.

The scheduling and tracking system 100 also comprises one or more client computing devices 104 such as desktop computers, laptop computers, tablets, smartphones, Personal Digital Assistants (PDAs) and the like. Each client computing device 104 runs one or more client application programs and for users to use. The one or more server computers 102 and the one or more client computing devices 104 are functionally interconnected by a network 106, such as the Internet, a local area network (LAN), a wide area network (WAN), or the like, via suitable wired and/or wireless networking connections.

Generally, each of the computing devices 102 and 104 is a general purpose computer or other suitable computing device comprising, for example, a processing unit, system memory (volatile and/or non-volatile memory), other non-removable or removable memory (for example, a hard disk drive, RAM, ROM, EEPROM, CD-ROM, DVD, solid- state memory, flash memory, and/or the like), and a system bus coupling the various components to the processing unit. The computing device 102 or 104 also comprises networking capabilities using Ethernet, WI-FI ® (WI-FI is a registered trademark of Wi-Fi Alliance, Austin, TX, USA), and/or other suitable network format, to enable connection via the network 106 to one or more shared or remote drives, one or more networked computers, or other networked devices. The computing device 102 or 104 may use a computer mouse and a keyboard for receiving user input, and may use a display or monitor for displaying a graphic user interface (GUI) to the user. Alternatively, the client computing device 104 may use a touch-sensitive display for displaying a GUI and for receiving user input. At least one of the client computing devices 104 is associated and movable with a movable apparatus 110 such as a truck, and comprises a positioning component such as a Global Positioning System (GPS) component for locating the client computing device 104 and the truck 110.

FIG. 2 shows the hardware structure 170 of a computing device 102/104. The computing device 102/104 comprises a processing structure 172, a controlling structure 174, memory 176 such as one or more storage devices, a networking interface 178, a coordinate input 180, a display output 182, and other input and output modules 184 and 186, all functionally interconnected by a system bus 188.

The processing structure 172 may be one or more single-core or multiple-core computing processors such as INTEL ® microprocessors (INTEL is a registered trademark of Intel Corp., Santa Clara, CA, USA), AMD ® microprocessors (AMD is a registered trademark of Advanced Micro Devices Inc., Sunnyvale, CA, USA), ARM ® microprocessors (ARM is a registered trademark of Arm Ltd., Cambridge, UK) manufactured by a variety of manufactures such as Qualcomm of San Diego, California, USA, under the ARM ® architecture, or the like.

The controlling structure 174 comprises a plurality of controllers such as graphic controllers, input/output chipsets, and the like, for coordinating operations of various hardware components and modules of the computing device 102/104.

The memory 176 comprises a plurality of memory units accessible by the processing structure 172 and the controlling structure 174 for reading and/or storing data such as input data and data generated by the processing structure 172 and/or the controlling structure 174. The memory 176 may be volatile and/or non-volatile, non-removable or removable memory such as RAM, ROM, EEPROM, solid-state memory, hard disks, CD, DVD, flash memory, and/or the like. In use, the memory 176 is generally divided to a plurality of portions for different use purposes. For example, a portion of the memory 176 (denoted herein as storage memory) may be used for long-term data storing, for example, storing files or databases. Another portion of the memory 176 may be used as the system memory for storing data during processing (denoted herein as working memory).

The networking interface 178 comprises one or more networking modules for connecting to other computing devices or networks via wired and/or wireless connections such as Ethernet, WI-FI ® , BLUETOOTH ® , ZIGBEE ® (ZIGBEE is a registered trademark of ZigBee Alliance Corp., San Ramon, CA, USA), 3G or 4G or 5G wireless mobile telecommunications technologies, and/or the like. In some embodiments, parallel ports, serial ports, USB connections, optical connections, or the like, may also be used for connecting other computing devices or networks although they are usually considered as input/output interfaces for connecting input/output devices. The display output 182 comprises one or more display modules for displaying images, such as monitors, LCD displays, LED displays, projectors, and/or the like. The display output 182 may be a physically integrated part of the computing device 102/104 (for example, the display of a laptop computer or a tablet), or may be a display device physically separated from but functionally coupled to other components of the computing device 102/104 (for example, the monitor of a desktop computer).

The coordinate input 180 comprises one or more input modules for one or more users to input coordinate data. Examples of the coordinate input 180 include but are not limited to touch-sensitive screen, touch-sensitive whiteboard, trackball, computer mouse, touch-pad, other suitable human interface devices (HID), and the like. The coordinate input 180 may be a physically integrated part of the computing device 102/104 (for example, the touch-pad of a laptop computer or the touch-sensitive screen of a tablet), or may be a display device physically separated from but functionally coupled to other components of the computing device 102/104 (for example, a cordless computer mouse). The coordinate input 180 in some embodiments may be integrated with the display output 182 to form a touch-sensitive screen or touch-sensitive whiteboard.

The computing device 102/104 may also comprise other inputs 184 such as keyboards, microphones, scanners, and/or the like. The computing device 102/104 may further comprise other output 186 such as speakers, printers, and/or the like. In some embodiments, at least one client computing device 104 may also comprise a GPS component for determining the position thereof. In some alternative embodiments, at least one client computing device 104 is functionally coupled to an external GPS device for determining the position of the client computing device 104. The system bus 188 interconnects various components 172 to 186 enabling them to transmit and receive data and control signals to/from each other.

FIG. 3 shows a simplified software architecture 200 of a computing device 102/104. The software architecture 200 comprises an application layer 202, an operating system 206, an input interface 208, an output interface 212, and a logic memory 220. The application layer 202 comprises one or more application programs 204 executed or run by the processing structure 172 for performing various jobs. The operating system 206 manages various hardware components of the computing device 102/104 via the input interface 208 and the output interface 212, manages logic memory 220, and manages and supports the application programs 204. The operating system 206 is also in communication with other computing devices (not shown) via the network 106 to allow application programs 204 to communicate with application programs running on other computing devices. As those skilled in the art will appreciate, the operating system 206 may be any suitable operating system such as Microsoft ® Windows ® (Microsoft and Windows are registered trademarks of Microsoft Corporation of Redmond, Washington, U.S.A.), Apple ® OS X ® (Apple and OS X are registered trademarks of Apple Inc. of Cupertino, California, U.S.A.), Apple ® iOS ® (iOS is a registered trademark of Cisco Systems, Inc. of San Jose, California, U.S.A.), Linux ® (Linux is a registered trademark of Linux Foundation of San Francisco, California, U.S.A.), Android ® (Android is a registered trademark of Google LLC of Mountain View, California, U.S.A.), or the like. The computing devices 102/104 of the scheduling and tracking system 100 may all have the same operating system, or may have different operating systems.

The input interface 208 comprises one or more input device drivers 210 for communicating with respective input devices including the coordinate input 150, and the output interface 212 comprises one or more output device drivers 214 managed by the operating system 206 for communicating with respective output devices including the display output 152. Input data received from the input devices via the input interface 208 is sent to the application layer 202, and is processed by one or more application programs 204. The output generated by the application programs 204 is sent to respective output devices via the output interface 212.

The logical memory 220 is a logical mapping of the physical memory 146 for facilitating access to the application programs 204. In this embodiment, the logical memory 220 comprises a storage memory area that is usually mapped to non-volatile physical memory, such as hard disks, solid state disks, flash drives, and the like, for generally long-term storing data therein. The logical memory 220 also comprises a working memory area that is generally mapped to high-speed, and in some implementations volatile physical memory such as RAM, for application programs 204 to generally temporarily store data during program execution. For example, an application program 204 may load data from the storage memory area into the working memory area and may store data generated during its execution into the working memory area. The application program 204 may also store some data into the storage memory area as required or in response to a user's command. In a server computer 102 or a client computing device when acting as a server 102, the application layer 202 generally comprises one or more server application programs 204 which provide server-side functions for managing network communication with client computing devices 104, and facilitating the scheduling and tracking processes.

In a client computing device 104, the application layer 202 generally comprises one or more client application programs 204 which provide client-side functions for communicating with the server application programs 204, displaying information and data on the GUI thereof, receiving user's instructions, and collaborating with the server application programs 204 for managing recycling jobs and for scheduling and tracking the movable objects, and the like. FIG. 4 shows the function modules of the scheduling and tracking system 100. As shown, in some embodiments, the system 100 comprises a set of function modules 252, including a user management module 254, an organization management module 256, a presentation material management module 258, a contract management module 260, a dispatch module 262, a mapping and jobs module 264, and a reporting module 266. The set of function modules 252 are functionally coupled to a database 268 in the memory 176 (or equivalently in the logical memory 220) for storing information of employees, customers, contracts, sales presentations, jobs, recycling pickup routes, and the like.

Although not shown in FIG. 4, the scheduling and tracking system 100 may also comprise other function modules, for example, an email notification module.

Based on their roles, the users of the scheduling and tracking system 100 may be categorized into a plurality of user groups wherein each group has a specific access right to the scheduling and tracking system 100. FIG. 5 shows the user groups and their access rights to the scheduling and tracking system 100. As shown, the scheduling and tracking system 100 in some embodiments may comprise four (4) user groups, including: an admin group 272: the users in this group are generally the system administrators, and have the access right to all function modules 254 to 266;

(ii) a reception group 274: the users in this group are generally the receptionists, and have the access right to the dispatch module 262, and the mapping and jobs module 264; the users in this group may only be allowed to login to the system using an app running on a tablet such as an iPad or an Android tablet;

(in) a sales group 276: the users in this group are generally the sale people, and have the access right to the organization management module 256, the presentation material management module 258, the contract management module 260, and the mapping and jobs module 264; the users in this group may only be allowed to login to the system using an app running on a tablet such as an iPad or an Android tablet; and

(iv) a drivers group 278: the users in this group are generally the drivers of recycling trucks, and have the access right to the mapping and jobs module 264; the users in this group may only be allowed to login to the system using an app running on a smartphone such as an iPhone or an Android phone.

The functions of each function module in FIG. 4 are now described.

The user management module 254 generally manages the user permissions and access rights, which is implemented with high-standard security. The user management module 254 is only accessible to the system administrators in the admin group 272. By using the user management module 254, an administrator can:

• add, modify, and delete user groups and their access rights;

• add, modify, and delete user accounts; a user account may include the username, password, email address, first name, last name, the local office that the user belongs to, the group that the user is assigned to, employee ID, and the date that the user account is created; the email address may need to be unique in the system 100, and need to be validated by, for example, sending an email with a validation link to the email address and detecting a visit to the validation link; the local offices may be customizable; after a user account is created, an email having the login credentials may be sent to the registered email address to notify the user that the account is created;

• manage users such as view list of all users, sort and filter the user list by username, first name, last name, role (such as administrator, reception, sales, or driver), the user's local office, date/time of the user's last login, the date/time of the user's last update, and the like; and

• conduct other suitable administrative tasks.

Each user may be allowed to manage their own profile, such as changing password, changing email address, and the like. The organization management module 256 is accessible to the users in the admin group 272 and those in the sales group 276. By using the organization management module 256, one may create, manage, modify, and delete an organization or customer. To create an organization, one needs to provide the organization name, address, phone number, fax number, email address, information (including name, phone number, fax number, and email address) of the billing contact person, notes, contact details, and the like.

The presentation material management module 258 manages all presentation materials that the sales people may need for marketing purposes.

The contract management module 260 manages all contracts signed with customers.

The dispatch module 262 receives recycling material pickup requests, and automatically dispatches the received requests to truck drivers. The mapping and jobs module 264 tracks the truck drivers 278 (or equivalently their trucks 110) and their job progresses, calculates pickup routes for truck drivers 278, and allows users such as those of the admin group 272, reception group 274, sales group 276 and drivers group 278 to view a map of the area they are servicing, and view the job status.

The reporting module 266 generates reports upon user requests.

In some embodiments, the scheduling and tracking system 100 comprises application programs 204 designed for adapting to the computing devices 104 for running thereon. For example, the scheduling and tracking system 100 comprises an application program best suitable for running on a tablet (a "tablet app"), and another application program best suitable for running on a smartphone (a "smartphone app"). The tablet app is designed and optimized for best running on a tablet such as an iPad, an Android tablet, and the like, with a landscape orientation and is suitable for sales people and administrators to use. The driver app is designed and optimized for best running on a smartphone, such as an iPhone, an Android phone, a Windows phone, and the like, with a portrait orientation and is suitable for drivers to use. Both apps provide various security mechanisms. In some embodiments, both apps allow users to login by scanning their fingerprints.

The tablet app comprises an administration module and a sales module. FIG. 6 shows an exemplary GUI 300 of the administration module of the tablet app. As shown, the GUI 300 comprises a zone search box 302 for selecting a service zone, such as a town, a city, and the like, and a customer search box 304 for searching for a particular customer. The GUI 300 also comprises a list 306 showing customer names for user to select therefrom. Moreover, the GUI 300 comprises a set of buttons 308 for user to access various information (such as customer information, job information, and the like), and various functions (such as user account management, organization management, and the like). The GUI 300 further comprises a map 310 showing the zone that the user has selected, the jobs 312 to be completed in the selected zone (that is, the pickup sites that the trucks 110 to visit) and the recycling trucks 110 in the selected zone. The user may touch a job 312 to view the detail of the job, and touch a truck icon 110 to view the detail of the driver thereof.

With the GUI 300, the tablet app can display completed jobs, including the completed jobs count for the day, selected week(s), selected month(s), and the like, show in the map all jobs for the day, and show in the map the locations of all trucks 110.

For each driver, the GUI 300 can show the GPS location of the driver, the driver's progress during the day including jobs completed, the completion ratio (that is, the ratio of jobs completed over total jobs assigned to the driver), the zone that the driver is currently in, zones that the driver has gone through, the login/logout history of the driver, and the like.

The GUI 300 can also show and allow the user to edit customer information such as the customer profile, the invoices issued to the customer, the customer's job history, next pick up time, the rate/price of the customer, and the like. The GUI 300 further provides zone information such as the map of the zone, the job statistics, the job history of the zone, and the like. The GUI 300 also provides reports with necessary information and statistics, such as customer report, job report, weekly report, fee report, and the like.

While the scheduling and tracking system 100 can automatically dispatch jobs to truck drivers, the GUI 300 of the tablet app in some embodiments may also allow its user to manually dispatch a job to a truck driver. For example, by using the tablet app through the GUI 300, one can select a driver, view the driver's calendar and the jobs assigned thereto, and select a date in the driver's calendar to assign a job to the driver at the selected date.

FIG. 7 shows an exemplary GUI 350 of the sales module of the tablet app. Generally, the GUI 350 provides a plurality of buttons for showing various information in an information area 352 for viewing and/or editing. For example, the plurality of buttons may include a presentation button 354 for showing all presentation materials, a customer button 356 for showing customer information, a map button 358 for showing the map of a zone, and a time button 360 for showing driver's login/logout history. In the example of FIG. 7, a zone map 310 is shown. The user may touch a job 312 to view the detail of the job, and touch a truck icon 110 to view the details of the driver thereof.

By using GUI 350, a sales person can view presentation materials such as presentation video, presentation slides, marketing documents, and the like. The sales person can also order hardcopy materials for delivering to a customer within a specified time frame.

By using GUI 350, a sales person can also add, view, edit, and delete a customer. When a customer is added, their location is recorded, and can be shown on the map. By using GUI 350, a sales person can also add, view, edit, and delete a contract. The sales person and the customer may electronically sign the contract using a stylus or a finger. The contract may be emailed or printed via AIRPRINT ® (AIRPRINT is a registered trademark of Apple Inc., Cupertino, CA, USA) or similar services. As described above, the sales person can touch a customer icon in the map to view and edit the customer and the associated contracts and jobs.

The scheduling and tracking system 100 provides functions for automatically dispatch a job. FIG. 8 is a flowchart showing the steps of a process 400 executed by the processing structure 172 for automatically dispatching a job. As those skilled in the art will appreciate that the process 400 may be implemented as computer-executable code of an application program 204 stored in the memory 172 (or equivalently the logic memory 220) for the processing structure 172 to execute.

The process 400 starts when the scheduling and tracking system 100 receives a new pickup job (step 402). The system 100, and in particular the processing structure 172, determines a truck 110 for the pickup job (step 404) based on the job's location, preferred or target pickup date-and-time, schedules and workloads of the trucks 110, the current routes of the trucks 110, the available capacity of the trucks 110, and/or the like.

For example, the new pickup job may comprise a target pickup location, an estimated target load of waste polystyrene-based products to be picked up, a target pickup date-and-time, and the like. After receiving the new pickup job, the processing structure 172 identifies one or more trucks 110 that would be available for the target pickup date- and-time of the new pickup job, as the available trucks. Then, the processing structure 172 identifies from the available trucks a set of candidate trucks that may be able to arrive the target pickup location at about the target pickup date-and-time with sufficient available capacity (for example, the available capacity thereof when arriving at the target pickup location would be greater than the target load of waste polystyrene-based products to be picked up by a predefined threshold), based on the capacities, schedules, and routes thereof. The processing structure 172 then selects from the candidate trucks truck as a designated truck based on suitable criteria and assigns the new pickup job thereto. Such suitable criteria may be, for example, requiring the least amount of travel extra to the truck's currently planned route, meeting specific traffic requirements such as low traffic flow, ease of accessibility to the target pickup location (e.g., the target pickup location having sufficient room for the truck to go in and out), avoiding one-way roads, and /or the like.

The processing structure 172 then automatically dispatches the new pickup job to the designated truck and updates the schedule and route thereof.

In some embodiments, the processing structure 172 may also identify one or more trucks 110 that may be able to arrive the target pickup location with sufficient available capacity and before the target pickup date-and-time for no more than a first predefined period-of-time time threshold (for example, 15 minutes) as candidate trucks. If one of such trucks is selected as the designated truck, it may arrive at the target pickup location before the preferred pickup time and wait for a short period of time for picking up the waste polystyrene-based products. A notification may be sent to the driver of the designated truck and the client requesting the new pickup job via suitable means such as emails, text messages, and/or the like.

In some embodiments, the processing structure 172 may also identify one or more trucks 110 that may be able to arrive the target pickup location with sufficient available capacity and after the target pickup date-and-time for no more than a second predefined period-of-time time threshold (for example, 15 minutes) as candidate trucks. If one of such trucks is selected as the designated truck, the processing structure 172 may reschedule and re-route the designated truck by for example, assigning one or more pickup jobs of the designated truck to other trucks, or by reschedule one or more flexible pickup jobs (pickup jobs without target pickup date-and-time or with a sufficiently wide ranges of target pickup date-and-time) to other trucks 110. Notifications may be sent to relevant truck drivers and clients via suitable means such as emails, text messages, and/or the like.

At step 406, the processing structure 172 checks if the job is for today. If not, the processing structure 172 aggregates all jobs assigned to the driver on the same day, and determines a pickup route for the driver (step 408). If the job is for today and the driver has been driving along today's pickup route, then the system revises the route for the driver (step 410) based on the driver's current location and the locations of the uncompleted jobs of the driver for today. The processing structure 172 also notifies the driver after the route is revised.

The process 400 stops after step 408 or 410.

FIGs. 9A to 9C shows an example of automatically revising a driver's route. As shown in FIG. 9 A, a map 450 is shown on the GUI of the driver's smartphone. The map 450 shows a plurality of visited pickup locations 452, a plurality of pickup locations 454 to be visited, a route 456 traversing the pickup locations 452 and 454, and the truck's current location 458.

As shown in FIG. 9B, a new job 454' is received and assigned to the driver. As shown in FIG. 9C, the system 100 automatically revises the route 456 based on the pickup locations 454 to be visited and the new job location 454'. Although not shown in FIGs. 9A to 9C, the system 100 also displays a notification to the driver to inform the driver that a new job is assigned and the pickup route is revised accordingly. In embodiments, the notification may be a popup notification shown on the driver's smartphone, an audio reminder, a vibration, or a combination thereof.

Although embodiments have been described above with reference to the accompanying drawings, those of skill in the art will appreciate that variations and modifications may be made without departing from the scope thereof as defined by the appended claims.