NL2013938B1 - Method and computer system for pickup and delivery of a plurality of packages in a service area. - Google Patents

Method and computer system for pickup and delivery of a plurality of packages in a service area. Download PDF

Info

Publication number
NL2013938B1
NL2013938B1 NL2013938A NL2013938A NL2013938B1 NL 2013938 B1 NL2013938 B1 NL 2013938B1 NL 2013938 A NL2013938 A NL 2013938A NL 2013938 A NL2013938 A NL 2013938A NL 2013938 B1 NL2013938 B1 NL 2013938B1
Authority
NL
Netherlands
Prior art keywords
pud
round
packages
method
geocode
Prior art date
Application number
NL2013938A
Other languages
Dutch (nl)
Inventor
reeves Terry
Original Assignee
Tnt Holdings B V
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tnt Holdings B V filed Critical Tnt Holdings B V
Priority to NL2013938A priority Critical patent/NL2013938B1/en
Application granted granted Critical
Publication of NL2013938B1 publication Critical patent/NL2013938B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading, distribution or shipping; Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation, e.g. linear programming, "travelling salesman problem" or "cutting stock problem"
    • G06Q10/047Optimisation of routes, e.g. "travelling salesman problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/28Logistics, e.g. warehousing, loading, distribution or shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications

Abstract

The disclosure relates to a method for efficient pickup and delivery of packages in a service area. The method comprises dividing the PUD service area in a plurality of geographical zones. The geographical zone comprises a polygon defined by geographic coordinates. A plurality of the geographical zones is combined to obtain a PUD round to be driven by a PUD vehicle in the PUD service area. A geographical zone is assigned to only one PUD round. Each of the packages is assigned to a geographical zone based on a geocode associated with each of the packages. The PUD round is driven by the PUD vehicle for picking up and delivery of the packages assigned to the geographical zones of the PUD round.

Description

Method and computer system for pickup and delivery of a plurality of packages in a service area

FIELD OF THE INVENTION

The invention relates to a method and computer system for pickup and delivery (PUD) of a plurality of packages in a service area.

BACKGROUND

In the past decade, pickup and delivery (PUD) of packages (letters, parcels) by specialized service providers has rapidly increased and is expected to increase further due to developments such as online shopping.

Currently, such service providers use depots strategically deployed over a service area. Packages arrive at the depot by means of trucks, hereinafter also referred to as line haul, and are further distributed to customers in the service area using PUD vehicles, such as vans (and sometimes trucks as well). Typically, the packages arrive daily at early hours at the depot and are distributed from the depot during the day. During the day, the service provider also receives requests to pick up packages. These packages are collected by the same equipment used for delivery.

In order to effectively deliver and pick up packages to and from individual locations, routes have to be pre-planned for the PUD equipment. Wherever possible, postcodes are used for the pre-planning.

Depot staff unloads line haul trucks and loads the packages into cages for the particular delivery rounds. A cage is associated with the PUD equipment responsible for pickup and delivery in a certain postcode area. Drivers define the sequence of the packages, make a registration scan and load the packages into the PUD equipment. After a driver has finished loading, the driver departs from the depot for the first stop on his PUD round in the postcode area(s) assigned to him. The driver makes sure the premium packages are delivered in time. During the day, the driver will typically receive pickup requests and the driver schedules these into his round. Upon return into the depot, the driver hands in any paperwork relating to packages, a load list and communicates issues encountered during the day.

SUMMARY

The present disclosure aims to present a more dynamic, and thereby more efficient, method for pickup and delivery of packages in a service area.

To that end, in one aspect, the present disclosure pertains to a method for pickup and delivery (PUD) of a plurality of packages in a PUD service area comprising a step of dividing the PUD service area in a plurality of geographical zones. The geographical zone comprises a polygon defined by geographic coordinates. A plurality of the geographical zones is combined to obtain a PUD round to be driven by a PUD vehicle in the PUD service area. A geographical zone is assigned to only one PUD round. Each of the packages is assigned to a geographical zone based on a geocode associated with each of the packages. The PUD round is driven by the PUD vehicle for picking up and delivery of the packages assigned to the geographical zones of the PUD round.

An advantage of the disclosed PUD method is that the method applies geographical zones that can be defined by the PUD service provider itself and that can be adapted if need be. Geocoding of the PUD packages provides for an easy method for assigning the PUD packages to the geographical zones. By combining the geographical zones, a PUD round for the packages is automatically obtained. The PUD round is then driven by the PUD vehicle.

In one embodiment, PUD data is obtained that is generated during pickup and delivery in the PUD service area.

The generated PUD data is used to define the plurality of geographical zones in the PUD service area. Accordingly, changes in the PUD pattern can be accounted for in the definition of the geographical zones.

In one embodiment, a time value can be associated with each of the geographical zones. The time values associated with the geographical zones can be used for combining the geographical zones to obtain a PUD round. The time values may comprise a drive time and a stop time. An aggregate time value indicates a service time for the geographical zone. The sum of the aggregate service time values can be measured against a threshold to verify whether the geographical zones can be combined, e.g. by comparing the sum to a work time of a service provider employee.

If need be, in one embodiment, a geographical zone may be moved from one PUD round to another, e.g. to avoid overtime.

In one embodiment, the geocode of a package is obtained from a geocoding engine translating one or more address details associated with a package for pickup and delivery in a corresponding geocode. If the customer does not provide a geocode himself, the geocode engine assist in associating the package to a geographical zone.

In one embodiment, one or more of the geographical zones is divided into tiles, the method comprising the step of processing a first geocode and a second geocode, different from the first geocode, for a package both located in a single tile as a single geocode. This avoids that relatively minor differences (e.g. inaccuracies) in the geocodes complicate data processing. The tiles may also be used to define the geographical zones.

In one embodiment, a criterion is applied to the geocodes, relating to one or more of location, time window and service for a package. Packages may be consolidated to define a single stop if the criterion is satisfied. Driving a PUD round in accordance with the defined stops improves the efficiency of the PUD round.

In one embodiment, one or more time values may be associated with one or more of the defined stops to obtain a stop time. The stop time may be used to assess the feasibility of a stop sequence.

In one embodiment, a stop sequence for pickup and delivery of packages assigned to the geographical zones for the PUD round is obtained. The PUD round is driven in accordance with the obtained stop sequence, wherein, optionally, the PUD round is processed and stored in a navigation system of the PUD vehicle .

In one embodiment, one or more constraints are analysed for the obtained PUD round. When at least one constraint is not met, manipulating the obtained PUD round by removing one or more stops or one or more geographical zones from the obtained PUD round to obtain a constraint-free PUD round and the constrained-free PUD round may be driven.

In another aspect, a computer program or suite of computer programs is disclosed comprising at least one software code portion or a computer program product storing at least one software code portion, the software code portion, when run on a computer system, being configured for executing the method as described above.

Yet another aspect of the disclosure pertains to a computer system configured for and, optionally, executing one or more of the steps of the method as described above.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, a software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system". Functions described in this disclosure may be implemented as an algorithm executed by a microprocessor of a computer. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a solid-state drive, a random access memory (RAM), a non-volatile memory device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

In the context of this disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device .

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless (using electromagnetic and/or optical radiation), wired, optical fiber, cable, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java(TM), Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor, in particular a microprocessor or central processing unit (CPU), of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the functions noted in the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

It is noted that the invention relates to all possible combinations of features recited in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the invention will be explained in greater detail by reference to exemplary embodiments shown in the drawings, in which: FIG. 1 shows a schematic illustration of a depot used for pickup and delivery of packages in a service area; FIG. 2 is a schematic illustration of a computer system comprising one or more components configured for performing one or more steps of the pickup and delivery method as disclosed herein; FIG. 3 is a chart indicating some steps of the pickup and delivery method as disclosed herein; FIG. 4 is an example of a service area wherein geographical zones have been defined; FIG. 5 is an example of a service area wherein geocoded packages have been assigned to geographical zones; FIGS. 6A and 6B are examples, wherein neighbouring geographical zones are combined to form PUD rounds; FIG. 7 is an example of sequencing a series of stops in the geographical zones for each of the PUD rounds; FIG. 8 is an example of re-sequencing a series of stops after receiving a post-departure pickup request; and FIG. 9 is a block diagram comprising components of the computer system of FIG. 2.

DETAILED DESCRIPTION OF THE DRAWINGS FIG. 1 is an infrastructural diagram depicting a depot 1 for pickup and delivery (PUD) of packages 2 in a service area S. Packages 2 to be delivered in the service area S arrive at depot 1 by means of a line haul represented by trucks 3.

Delivery of packages 2 in service area S is conducted by means of PUD vehicles 4. PUD vehicles 4 may comprise vans, trucks and other suitable equipment. Packages 2 may also be picked up by PUD vehicles 4 in the service area S and be brought to the depot 1 on their way to a destination.

In the prior art, service area S is divided into static postcode areas P as shown in FIG. 1. Typically, each of the PUD vehicles 4 is assigned one or more postcode areas P for pickup and delivery of packages 2. The time spent by PUD vehicles 4 on their PUD round depends heavily on the amount of packages 2 to be picked up and delivered in the postcode areas of the PUD round.

The distribution of locations for pickup and/or delivery within the postcode areas cannot be accounted for in the PUD rounds. For example, as shown in FIG. 1 by the black squares, many stops are made for delivering and/or pickup of packages 2 daily on both sides of the borderline between adjacent postcode areas PI, P2, whereas these postcode areas PI, P2 are assigned to different PUD rounds and driven by different PUD vehicles 4. FIG. 2 discloses an embodiment of a computer system 10 of a PUD service provider servicing service area S (amongst other service areas (not shown)). Computer system 10 performs one or more steps of one or more methods as disclosed herein. Whereas a functional description of the methods will now follow with reference to FIGS. 2-8, a more generic and complete description of computer system 10 will be described with reference to FIG. 9. It should be noted that part of the computer system 10 may be operated by third parties, such as e.g. a geocoding engine that will be discussed below in further detail.

Customer devices D may have access to parts of the computer system 10 or may receive information originating from computer system 10. Communications with customers may include pickup orders and requests for delivery status information (e.g. the estimated time of arrival ETA). Service employees, on the other hand, also possess devices D capable of communicating with computer system 10. Customer devices and service employee devices may include computer systems, laptops, tablet computer, smart phones, etc. Service employee devices may also be integrated in other devices or equipment, such as PUD vehicles 4 . FIG. 3 is a chart indicating some steps of the pickup and delivery method as disclosed herein. Steps of the method will be explained below in more detail.

One aspect of the present disclosure involves a PUD data driven definition of geographical zones in order to optimize the use of PUD resources. This is step SI in FIG. 3. PUD data may be generated by or obtained from devices D or service employees during PUD rounds.

In one embodiment, PUD vehicles 4 provide PUD data when driving PUD rounds. PUD data is received by the computer system 10. The PUD data comprises e.g. the geo-position of each PUD stop of the PUD vehicle 4. The stops may be made visible on a digital map. On the digital map, clusters of stops may be identified and geographical zones may be defined. The geographical zone is obtained by drawing a boundary (a polygon) around the cluster, possibly also taking account of geographical details on the map. FIG. 4 shows the service area S of FIG. 1 wherein geographical zones G, indicated by the bold lines, are defined on the basis of received PUD data. As illustrated, PUD stops for packages (black squares) originally assigned to postcode areas PI and P2 are now clustered within a single geographical zone G1. In such a manner, adjacent geographical zones G can be defined and the service area S can be divided into geographical zones G. A geographical zone G is a geographical area defined as a sequence of geo-points that constitutes a polygon. Geographical zones G are adjacent zones and, preferably, abutting zones.

Other data that may be comprised in or derived from the PUD data or be calculated for the geographical zones G, such as one or more time values associated with the total duration of pickup and delivery of packages in a geographical zone. A tool may e.g. be used to calculate the time duration associated with the number of stops in a geographical zone G. The time duration may involve multiple time values, e.g. a stop time and a drive time. Drive time is the time related to driving from the boundary of the geographical zone to the first stop in a cluster and the driving time in between stops including the drive time from the last stop to exit of the geographical zone. The stop time is the time during which the PUD vehicle halts to deliver or pick up one or more packages. Accordingly, an aggregated time value for servicing the geographical zone may be associated with each geographical zone G.

When packages 2 to be delivered or picked up are registered within computer system 10, a geocode is assigned to each package immediately if a geocode is not already available for the package (the geocode may e.g. also be provided by the customer), step S2 in FIG. 3. To that end, computer system 10 comprises a geocoding engine capable of deriving a geocode on the basis of address data of the package or the pickup address. A geocode is a universally unique location and may be expressed as a coordinate, e.g. a GPS coordinate or equivalent.

The geocode may be too accurate for the PUD purpose, such that approximations of the geocode may be used. In other words, tiles for a PUD address in the service area S may be defined wherein coordinates falling within the tile are treated as being one and the same. Certain customers may have preassigned tiles.

In more detail, geocoding is performed as follows. For a certain PUD order, it is first checked if a geocode has already been provided for or assigned to the package 2, e.g. by the customer. If no geocode has been assigned, a call is made to the geocoding engine containing all relevant data to request a geocode. If the call returns a geocode with a sufficient match (above a threshold value, e.g. 80%), the geocode is assigned automatically. If the call returns a geocode with an insufficient match, than manual or manually assisted geocoding (possibly assisted by geocoding services or software) may be performed.

Every geocode assigned to a package 2 (i.e. for pick up a location where the package 2 can be collected) fits uniquely in one geographical zone. A geocode is also assigned to an address where a package 2 needs to be picked up. Accordingly, each of the plurality of the packages 2 is assigned to one geographical zone based on the geocode associated with each of the plurality of packages 2. Various algorithms may be applied to calculate in which geographical zone a package belongs. One example is the Ray Shooting Algorithm. FIG. 5 is a schematical illustration of geographical zones in service area S, having some geocoded packages 2, indicated by black triangles, assigned. Assigning geocoded packages to geographical zones is shown as step S3 in FIG. 3.

After geocoding of packages 2 and assigning the packages 2 to their corresponding geographical zones G, a next step S4 may be to consolidate deliveries and pickups of packages 2 into stops on the basis of some defined criterion. This may be advantageous when at least one of location, service and time windows allows a single stop to be made for multiple packages instead of having to visit the location multiple times. A stop may be split into activities, such as delivery and collection.

In computer system 10, a proximity measure may be defined as a criterion whether or not packages 2 may be consolidated to a single stop. A default range may be determined (e.g. 10 meters) or a number of tiles, e.g. 1 tile or 2 tiles. If packages 2 are to be delivered, for example, within a the set range, a single stop is defined for the delivery of the packages. Also, an amount of time can be defined that is allowed between the delivery and collection windows to allow consolidating stops to facilitate that pickups and deliveries can be consolidated even when there is no overlap of the delivery and pickup time windows. Still further, it may be defined whether packages associated with different services (e.g. regular and premium) can be combined.

In FIG. 5, based on the proximity measure, packages 2 within the dashed circle are consolidated into a single stop CS. Another example includes the case wherein a package under the regular service is delivered together with a package enjoying a premium service.

In order to verify which packages 2 meet the proximity criterion to be consolidated, the computer system 10 randomly chooses packages and determines packages in range to prevent chaining. In addition, packages should be part of the same geographical zone in order to be candidates for consolidation.

If the service criterion cannot be met, only candidates for the same service may be considered. Furthermore, time windows are verified. If packages are consolidated in a stop that have different windows (e.g. a 12:30 premium and a 13:00 collection), than the start time of the stop is the earliest time.

Several examples of single stops for pickup and/or delivery of packages may be envisaged. It could be that a single building houses ten customers with all different addresses, it could be that a single building houses ten companies with all the same address, it could be that a building houses one company with one address and ten departments, etc.

For each of the stops CS, a stop time may be known or derived. Stop time may be calculated based on the number of deliveries and pickups per stop and values set for delivery and pickup. If the time value for a delivery is set to 4 minutes and for a pick up to 5 minutes, a consolidated stop with 3 deliveries and 2 pickups may have assigned a stop time of 22 minutes .

The geographical zones G constitute the basic constructs of the disclosed improved PUD method. The geographical zones are longer-term constructs based on a statistically significant amount of information (e.g. the received PUD data).

In one aspect of the present disclosure, PUD rounds are formed by combinations of geographical zones G, step S6 in FIG. 3. The geographical zones G assist to build the footprint of PUD rounds. The geographical zones G are combined and the time values are used to evaluate whether sufficient time is available to service the geographical zones G.

The skilled person will understand that many factors may influence the actual pickup and delivery of packages 2, such that a certain PUD of combined geographical zones round may not always be efficient. Factors include, seasonal factors like weather, daily factors, like more deliveries on Mondays and more returns (i.e. pickups) on Tuesdays, holidays, commemoration days, vacation periods etc. In order to accommodate for these factors, computer system 10 may store various round plans. A round plan defines the assignment of geographical zones to a certain round. The round plan provides the link between the amount of rounds to be used for depot 2 and which geographical zones are linked to each round of the round plan. A first round plan may comprise many rounds. Another round plan may define rounds comprising different geographical zones than the first round plan. The number of rounds (and, hence, the number of PUD vehicles 4 required) may differ between various round plans. E.g., in busy weeks, such as the weeks before Christmas, a round plan may be selected wherein many rounds are defined and the number of geographical zones assigned to each of the rounds is small. In other weeks or days, a round plan is selected requiring fewer PUD vehicles 4. Geographical zone G1 may be part of a first PUD round in one round plan and be part of a second, different, PUD round in another round plan.

Round plans may comprise multiple layers. Layers may relate to premium packages, freight, delivery only, pick up only, etc. A geographical zone may not be part of more than one round for a particular layer.

The type of PUD vehicle 4 (e.g. van or truck) may also vary between different round plans.

Once a round plan has been selected, it is known which geographical zones G are assigned to which PUD round. This assignment was based on historical information. FIG. 6A shows and example of two rounds Rl, R2, wherein geographical zones G1 and G2 constitute round Rl and geographical zones G3, G4 and G5 form round R2. In FIG. 6A, all black triangles refer to stops CS .

The step of consolidating stops provides the actual stops for each of the geographical zones G, and, accordingly, for each of the PUD rounds R to be driven by the PUD vehicles 4. As a next step, step S6, it is checked whether the round plan is feasible based on the actual available data of the packages 2 to be delivered and picked up.

For the feasibility evaluation, the following information may need to be obtained per geographical zone, per round (the sum of the geographical zones), and/or per round plan (the sum of the rounds): the historical number of pickups, the historical number of deliveries, the actual number of pickups, the actual number of deliveries, the total stop time based on historical data, the total driving time based on historical data, the total stem time (the amount of time for a driver to get to his first stop) based on historical data and the average stop and driving time per pickup and per delivery based on historical data.

The output of the feasibility evaluation for the geographical zones includes one or more of the expected time (the sum of the historical expected driving, stop and stem time); the actual deliveries (the number of deliveries available for the geographical zone in the data with a due date that requires them to plan to deliver); the actual pickups (the number of pickups available for the geographic zone in the data with a due date that requires them to plan to collect).

For the round, the output of the evaluation comprises at least one of the number of expected pickups (sum of all historical pickups for the assigned geographical zones to the Round); the number of expected deliveries (sum of all historical deliveries for the assigned geographical zones to the round); the expected time (sum of the expected time per geographical zone) , the available white space (time), the working time of the round (from the round plan) minus the expected time of the round); exceeding capacity (negative available white space); actual deliveries (sum of actual deliveries per geographical zone), actual pickups (sum of actual pickups per geographical zone) .

For the round plan, the evaluation may yield one or more of the following: expected Time (sum of the expected time per round); number of rounds (count of the number of rounds); working time (sum of the available working time per round); available white space (working time minus expected time (if positive)); exceeding available (working time minus expected time (if negative)); number of rounds too heavy (count of the number of Rounds that have the constraint 'too much weight'); number of rounds too much volume (count of the number of rounds that have the constraint 'too much volume'); number of rounds too much expected time (count of the number of rounds that have the constraint 'too much expected time'); number of rounds not wise (count of the number of rounds that have the constraint 'not wise' ( this is the result of a 'common sense' parameter and is more used as a support indication than an as a hard constraint, it relates to an indication); expected pickups (sum of all expected pickups per round); expected ad hoc pickups (sum of all expected pickups per round; this is a figure used in the planning overview to provide an indication of the historical figure of ad hoc collections for the geographical area.

This figure is based on experience and data and as such not a required variable in the calculations); expected deliveries (sum of all expected deliveries per round); actual deliveries (sum of actual deliveries per round); actual pickups (sum of actual pickups per round).

It should be noted that the output of the feasibility evaluation may contain more results derived from one or more of the output results mentioned above.

As mentioned above, one or more constraints may be used to evaluate the feasibility of the round plan. These constraints include: too much volume (sum of volume (actual or contractual if actual not available) per stop assigned to the round (via geographical zones) exceeds the allowed volume of the round); too much weight (sum of weight (actual or contractual if actual not available) per stop assigned to the round (via geographical zone) exceeds the allowed weight of the round); too much expected time (sum of the expected time on round exceeds the available working time (available white space is negative); too late start (check if there are premium deliveries on the round that are expected to deliver earlier than the start time of round).

Using the output, an optimization step may be performed using mixed linear programming in order to e.g. minimize the exceed capacity and the available white space while keeping the same amount of rounds R. The optimization uses as constraints that the volume and weight may not be exceeded. Geographical zones G may e.g. be moved from one round R2 to another round R1. This is indicated in FIG. 6B. It should be noted that geographical zones G may be indicated as fixed or locked, indicating that transfer to another round is forbidden. A fixed geographical zone is a zone that cannot be transferred due to actual geographical circumstances (such as a river having bridges separated from each other for crossing the river). A locked geographical zone may be unlocked. Furthermore, geographical zones G should always be adjacent to each other to avoid islands being formed in a round.

For the selected round plan, the number of rounds R and the total expected time is known. The optimization yields a plan that has the same amount of rounds, does not violate the applicable constraints, minimizes the exceeding capacity and balances the rounds R to obtain an available white space (a time value indicating the difference between the available working time on a round and the actual used time for deliveries and known pickups). The white space can be used for ad hoc pickups.

For example, the selected round plan may contain three rounds R: R1: Working Time: 10:00, Expected Time: 08:00, White Space 02:00, Exceeding Capacity: 00:00 R2: Working Time: 10:00, Expected Time: 10:00, White Space 00:00, Exceeding Capacity: 00:00 R3: Working Time: 10:00, Expected Time: 11:30, White Space 00:00, Exceeding Capacity: 01:30

Based on this information it would be logical that geographical zones G would shift from R3 to R1.

Two cases may be considered. In the first case, the geographical zones G from R3 and R1 are adjacent and the optimizer would consider to move geographical zones from R3 to R1 to balance both plans to minimize the exceeding capacity.

In the second case, the geographical zones from R3 are not adjacent to Rl, but R2 is adjacent to both. Based on the described goal value the optimizer would then consider it, if feasible, to shift flexible (i.e. not fixed or locked) geographic zones from R2 to Rl to create space to move geographical zones from R3 to R2 to minimize the exceeding capacity .

Various round plans may be evaluated in this manner. Based on the evaluated round plans or the result of the balancing of the round plans, the preferred round plan for the coming day is selected. The preferred round plan to select is the plan with the lowest number of rounds without constraints against weight, volume and excessive working time per round.

Based on the selected round plan, the geocode locations and corresponding geographical zones G and the consolidated stops, the packages 2 (both deliveries and known pickups) are assigned automatically to the correct round R, step S7 in FIG. 3. From the assignment, the following information becomes available: number of stops per round, number of deliveries/pickups per round, total volume per round (including constraints), total weight per round (including constraints) and the total number of packages per round.

In the assignment of packages 2 to the rounds R, it may be checked whether the round plan contains rounds marked as pickup only, delivery only, freight or premium. If there are premium rounds in the selected round plan, then stops CS containing premium deliveries/pickups are assigned to these rounds based on the link with the geographical zone G. If there are freight rounds in the selected tactical profile, then stops CA are assigned that are marked as ''heavy'' to these rounds based on the link with the geographical zone. If there are delivery only rounds in the selected round plan, then only deliveries should be linked to these rounds based on the geographical zones. If there are pickup only rounds in the selected round plan, then only collections should be linked to these rounds based on the geographical zones. If there are no premium/freight rounds in the selected round plan, then the stops will be assigned based on the link with geographical zone and the round.

Another step of the method may include the calculation of distances between geocoded locations or stops. The calculation may be performed as soon as a geocoded location becomes known or later, e.g. when stops are assigned to a round.

One aspect of the disclosure involves the sequencing of the stops of a round, i.e. the determination of the optimal order of the stops using optimization, step S8 in FIG. 3. One example of an optimization algorithm involves a path optimization algorithm, such as a (very) large-scale neighbor-search algorithm. The goal of the algorithm is to find a sequence of stops in a round with the least distance and time while respecting constraints. Constraints may be divided into soft and hard constraints. Soft constraints involve respecting pickup and delivery time windows as much as possible. A hard constraint is the saving of sufficient volume for pickups.

When the different rounds R have their stops assigned based on the selected round plan, the path optimization algorithm is started. During each iteration, the basic steps of the algorithm include: I. From the set of all (planned) stops, a subset is selected. This selection is partially random, but also depends on how long ago a stop has not been iterated. These stops will be re-planned in this iteration. These stops are called the candidates . II. The candidates are planned in various ways (different routes, different sequences). This generates new sets of routes in the round. III. For each set of routes it is determined whether this is an improvement compared to the initial solution (measured by the optimization goal). Improved sets are kept and used as input for a new iteration. If an improvement could not be found the set is discarded.

One run may comprise many (e.g. thousands) of these iterations .

It may happen that at step III no improvement is found. The changes are then discarded. This is where the randomness at step I plays a role. Due to the (partial) randomness the same set of candidates will not be selected again. After step III it can also occur that the optimizer does not discard a worse solution. This worse solution might be worse on the short term, but after a few more iterations might actually improve again and become better than the initial solution. This strategy is used to prevent that the optimizer gets stuck in a local optimum. It should be noted that this intermediate result may not be accepted as a final solution of the optimizer. The result that is found after the entire optimization will never be worse than any intermediate solution. FIG. 7 illustrates an example of sequencing of rounds Rl, R2 for some stops CS.

After selecting the round plan and sequencing the round it is known if there are rounds with under- or excessive capacity or constraints on delivery/collection time windows.

Several changes may be made to the rounds, step S9 in FIG. 3, both prior to departure and after departure of the PUD vehicle 4 from the depot 1.

To improve the rounds, stops CS may be moved from one round to another or complete geographical zones G may be moved to another round prior to departure of the PUD vehicle 4 from the depot 1. This may trigger one or more of the following steps : (1) Calculate distance matrix on the new round; (2) Start sequencing of stops of the new round; (3) Start sequencing of stop of the old round.

Only rounds that are adjacent to the original round of the selected stop are candidates and that have the same start location .

As an alternative for or in addition to moving stops, complete geographical zones may be still be moved from one round to another. For moving of geographical zones from one round to another, it is desired that the new round contains a geographical zone that is adjacent to the geographical zone to be moved and that the new round has the same start location as the original round. Furthermore, the new round must belong to the same layer as the original round.

During the day, post-departure changes occur, e.g. as a result of customer requests received for ad hoc pickups by the computer system 10. The amount of time to geocode and plan the ad hoc pickups is limited as they are due to be picked up most of the times in the afternoon. For ad hoc pickups the same rules apply regarding weight and volume as for deliveries when sequencing the rounds. A PUD vehicle 4 is not allowed to overload on volume and weight.

In the prior art, ad hoc pickup assignment is based on the geographic area of the round, e.g. the postcode area P. If a PUD vehicle 4 is assigned to a certain postcode area P, the PUD is supposed to pick up packages in that post code area P.

One aspect of the present disclosure pertains to a more dynamic way of assigning. The available white space in a PUD round R for ad hoc pickups is the difference between the total available round time and the amount of time planned for deliveries and collections earlier in the process.

Ad hoc pickups require to be geocoded as soon as possible in a similar manner as regular pickups and deliveries to be linked to a corresponding geographic zone G. Ad hoc pickups are assigned to a round or sequence in a round. It is verified whether the ad hoc pickup gives rise to new constraints. New calculations may be triggered, e.g. to distances and to estimated times of arrival for the new ad hoc pickup and the stops afterwards. FIG. 8 shows a result for the stop sequence when an adhoc pickup request for a geocoded package is processed by computer system 10 and mapped to the stop indicated in the dashed circle. At the moment of processing the request, PUD vehicle 4 driving PUD round R2 finds itself at the circled stop. As a result, future stops are re-sequenced as shown by the dashed lines.

Other post-departure changes may result from updates and disturbances that happen on a round causing delays or unexpected changes in the execution of the plan. Based on these kind of disturbances the effects (e.g. late collection or delivery) need to be calculated/propagated to the planned sequence of stops and activities. Based on the consequences it can be decided to manually shift/change the plan or trigger the application to re-sequence. Note that this will only consider to re-sequence the stops that still require collection/delivering and not the finished stops or the next stop. FIG. 9 is a block diagram illustrating an exemplary computer system 10 that may be used as the computer system of a PUD service provider as disclosed in FIG. 2.

Computer system 10 may include at least one processor 11 coupled to memory elements 12 through a system bus 13. As such, the computer system 10 may store program code within memory elements 12. Further, processor 11 may execute the program code accessed from memory elements 12 via system bus 13. In one aspect, computer system 10 may be implemented as a computer that is suitable for storing and/or executing program code. It should be appreciated, however, that computer system 10 may be implemented in the form of any system including a processor and memory that is capable of performing the functions described within this specification, in general referred to as data processing.

Memory elements 12 may include one or more physical memory devices such as, for example, local memory 14 and one or more bulk storage devices 15. Local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device 15 may be implemented as a hard drive or other persistent data storage device. The system 10 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from bulk storage device 15 during execution.

Input/output (I/O) devices depicted as input device 16 and output device 17 optionally can be coupled to the computer system 10. Examples of input devices may include, but are not limited to, for example, a keyboard, a pointing device such as a mouse, a touchscreen, or the like. Examples of output device may include, but are not limited to, for example, a monitor or display, speakers, or the like. Input device 16 and/or output device 17 may be coupled to data processing system 60 either directly or through intervening I/O controllers. A network adapter 18 may also be coupled to computer system 10 to enable it to become coupled to other systems, computer systems, remote network devices, and/or remote storage devices through intervening private or public networks. The network adapter 18 may comprise a data receiver for receiving data that is transmitted by said systems, devices and/or networks to the computer system 10 and a data transmitter for transmitting data to said systems, devices and/or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapters that may be used with computer system 10.

As pictured in FIG. 9, memory elements 12 may store an application 19. It should be appreciated that computer system 10 may further execute an operating system (not shown) that can facilitate execution of the application. Applications, being implemented in the form of executable program code, can be executed by computer system 10, e.g., by processor 11.

Responsive to executing the application 19, the computer system 10 may be configured to perform one or more operation as disclosed in the present application in further detail.

In one aspect, for example, computer system 10 may represent a computer system of an PUD service provider. In that case, application 19 may represent instructions configured for performing one or more steps S1-S9 of the PUD method of FIG. 3. that, when executed, configures computer system 60 to perform the various functions described herein

It is noted that the method has been described in terms of steps to be performed, but it is not to be construed that the steps described must be performed in the exact order described and/or one after another. One skilled in the art may envision to change the order of the steps and/or to perform steps in parallel to achieve equivalent technical results.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an, " and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed.

Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Various embodiments of the invention may be implemented as a program product for use with a computer system or a processor, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non-transitory computer-readable storage media (generally referred to as "storage"), where, as used herein, the expression "non-transitory computer readable storage media" comprises all computer-readable media, with the sole exception being a transitory, propagating signal. In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored.

Claims (13)

  1. A method for retrieving and delivering (PUD) a plurality of packets in a PUD service area, the method comprising the steps of: subdividing the PUD service area into a plurality of geographic zones; combining a plurality of geographic zones to obtain a PUD lap that can be made by a PUD vehicle in the PUD service area; assigning a plurality of the packages to a geographic zone based on a geocode associated with each of the plurality of packages; completing the PUD round to pick up and deliver the packages that are assigned to the geographical zones of the PUD round.
  2. The method of claim 1, further comprising the steps of: obtaining PUD data generated during retrieval and delivery in the PUD service area; using the obtained PUD data to define the plurality of geographic zones in the PUD service area.
  3. The method of claim 1 or 2, further comprising the steps of: associating a time value with each of the geographic zones; using the time values of the geographic zones to combine to obtain the PUD round.
  4. The method of claim 3, further comprising the steps of: shifting a geographic zone from a first PUD round to a second PUD round when the time values of the geographic zones exceed a time value threshold.
  5. The method according to one or more of the preceding claims, wherein the geocode of a package is obtained from a geocoding machine that translates one or more address data associated with the package for retrieval and delivery into a corresponding geocode.
  6. The method of any one of the preceding claims, wherein one or more of the geographic zones is subdivided into tiles, the method comprising the step of processing a first geocode and a second geocode different from the first geocode , for a package that is in a single tile as a single geocode.
  7. The method of any one of the preceding claims, further comprising the steps of: applying a criterion to the geocodes, the criterion relating to at least one of a location, a time frame, and a service for the package; consolidating packets when the corresponding geocodes meet the stop defining criterion; and completing the PUD round for retrieving and delivering the packages assigned to the geographic zones of the PUD round in accordance with the defined stops.
  8. The method of claim 7, further comprising the step of assigning one or more time values to one or more of the defined stops to obtain a stop time.
  9. The method of any one of the preceding claims, further comprising the steps of: obtaining a stop sequence for retrieving and delivering packages assigned to the geographic zones for the PUD round; completing the PUD round in accordance with the obtained stop sequence, wherein, optionally, the PUD round is processed and stored in a navigation system of the PUD vehicle.
  10. The method of any one of the preceding claims, further comprising the steps of: analyzing one or more limitations for the PUD round obtained; manipulating the obtained PUD round by removing one or more stops or one or more geographic zones from the obtained PUD round to obtain a PUD round without limitation when at least one limitation is not met; completing the PUD round without restrictions.
  11. A computer program or assembly of computer programs comprising at least a part of a software code or a computer program product on which at least a part of a software code is stored, the part of the software code being adapted to perform one or more of the steps of the method according to one or more of claims 1-10 when it is performed by a computer system.
  12. A computer system arranged for, and optionally, performing one or more of the steps of the method according to one or more of claims 1-10
  13. The computer system of claim 12, wherein one or more components, e.g., the geocoding machine, is a third party component.
NL2013938A 2014-12-08 2014-12-08 Method and computer system for pickup and delivery of a plurality of packages in a service area. NL2013938B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NL2013938A NL2013938B1 (en) 2014-12-08 2014-12-08 Method and computer system for pickup and delivery of a plurality of packages in a service area.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL2013938A NL2013938B1 (en) 2014-12-08 2014-12-08 Method and computer system for pickup and delivery of a plurality of packages in a service area.

Publications (1)

Publication Number Publication Date
NL2013938B1 true NL2013938B1 (en) 2016-10-11

Family

ID=52472518

Family Applications (1)

Application Number Title Priority Date Filing Date
NL2013938A NL2013938B1 (en) 2014-12-08 2014-12-08 Method and computer system for pickup and delivery of a plurality of packages in a service area.

Country Status (1)

Country Link
NL (1) NL2013938B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107110A1 (en) * 2002-12-02 2004-06-03 Jens Gottlieb Optimization of transport with multiple vehicles
US20130131975A1 (en) * 2009-11-09 2013-05-23 United Parcel Service Of America, Inc. Enhanced location information for points of interest

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107110A1 (en) * 2002-12-02 2004-06-03 Jens Gottlieb Optimization of transport with multiple vehicles
US20130131975A1 (en) * 2009-11-09 2013-05-23 United Parcel Service Of America, Inc. Enhanced location information for points of interest

Similar Documents

Publication Publication Date Title
Berbeglia et al. Dynamic pickup and delivery problems
Psaraftis Dynamic vehicle routing problems
Gendreau et al. Dynamic vehicle routing and dispatching
EP0797164B1 (en) Appointment booking and scheduling system
Fleischmann et al. Dynamic vehicle routing based on online traffic information
US9958272B2 (en) Real-time computation of vehicle service routes
JP2008536778A (en) System and apparatus for dynamically updating a delivery plan
Larsen et al. The a priori dynamic traveling salesman problem with time windows
Ozdamar Planning helicopter logistics in disaster relief
Diana et al. A model for the fleet sizing of demand responsive transportation services with time windows
Koo et al. Fleet sizing and vehicle routing for container transportation in a static environment
US8612276B1 (en) Methods, apparatus, and systems for dispatching service technicians
Miao et al. Taxi dispatch with real-time sensing data in metropolitan areas: A receding horizon control approach
Lee et al. Robust vehicle routing problem with deadlines and travel time/demand uncertainty
US8630958B2 (en) Systems and methods for multi-vehicle resource allocation and routing solutions
US20120078671A1 (en) Intelligent Automated Dispatch And Mobile Resources Management System
US20100185486A1 (en) Determining demand associated with origin-destination pairs for bus ridership forecasting
Cheung et al. Dynamic routing model and solution methods for fleet management with mobile technologies
Li et al. A decision support system for the single-depot vehicle rescheduling problem
Wu et al. Pavement preservation optimization considering multiple objectives and budget variability
Nourinejad et al. A dynamic carsharing decision support system
US20160247095A1 (en) Systems and Methods for Managing a Vehicle Sharing Facility
US20060265234A1 (en) Mission-specific vehicle capacity constraints in transportation planning
Mattfeld et al. Terminal operations management in vehicle transshipment
US20130179205A1 (en) Systems and methods for optimizing transportation resources

Legal Events

Date Code Title Description
MM Lapsed because of non-payment of the annual fee

Effective date: 20190101