Waybill allocation methods, devices, storage media and electronic equipment
By constructing delivery routes within a preset time period and combining carrier priorities and route constraints, the problem of wasted capacity and low delivery efficiency for cross-regional waybills is solved, achieving more efficient waybill allocation and delivery.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-04-13
- Publication Date
- 2026-03-10
Smart Images

Figure CN113537536B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of information management, and more specifically, to a waybill allocation method, apparatus, storage medium, and electronic device. Background Technology
[0002] With the widespread adoption of mobile internet, more and more people are choosing to purchase daily necessities and food delivery services online. These online purchases involve the transportation of goods via mail and manual delivery. This necessitates that merchants providing physical goods or mail / manual delivery services allocate waybills to carriers. When allocating waybills, online shopping platforms need to comprehensively analyze waybill information, carrier status, and merchant order acceptance to achieve rational allocation of waybills, thereby minimizing labor costs while maximizing delivery efficiency. Summary of the Invention
[0003] The main objective of this disclosure is to provide a waybill allocation method, apparatus, storage medium, and electronic device to solve the technical problems of wasted transportation resources and low delivery efficiency of carriers caused by cross-regional waybills in the related art.
[0004] To achieve the above objectives, the first aspect of this disclosure provides a waybill allocation method, the method comprising:
[0005] Collect multiple first waybills for the target pickup point, and the delivery time of the first waybill is a preset time period;
[0006] A first delivery route is determined based on the first delivery point and the target pickup point, wherein the first delivery point is the delivery point that is closest to the target pickup point among the delivery points corresponding to the plurality of first waybills;
[0007] Based on the time increment after inserting the delivery point to be inserted into the delivery path, a target delivery path is constructed for each courier within the preset time period according to a predetermined courier priority order, based on the first delivery path, until the allocation of the multiple first waybills is completed. The delivery point to be inserted is the delivery point among the delivery points corresponding to the multiple first waybills that has not been planned for a delivery path.
[0008] Optionally, the target area where the target pickup point is located corresponds to multiple deliverymen. Based on the time increment after the delivery point to be inserted into the delivery path, and on the basis of the first delivery path, a target delivery path is constructed for each deliveryman within the preset time period according to a predetermined deliveryman arrangement order, until the allocation of the multiple first waybills is completed. The method further includes:
[0009] The priority of each transporter is determined based on the binding relationship between the transporter and the target area, the target time for the transporter to return to the target pickup point, and the transporter's speed.
[0010] Optionally, the step of constructing a target delivery route within the preset time period for each carrier based on the time increment after inserting the delivery point into the delivery route, according to a predetermined carrier arrangement order, on the basis of the first delivery route, until the allocation of the multiple first waybills is completed, includes:
[0011] For the first courier ranked i in the courier priority order, the target courier route corresponding to the first courier within the preset time period is obtained based on the time increment after each of the delivery points to be inserted into the first courier route and the preset path constraints, where i is greater than or equal to 1.
[0012] If, after obtaining the target delivery route corresponding to the first courier within the preset time period, there are still delivery points to be inserted among the delivery points corresponding to the plurality of first waybills, then the second courier ranked i+1 in the courier priority order is taken as the first courier, and the step of obtaining the target delivery route corresponding to the first courier within the preset time period based on the time increment after adding each delivery point to be inserted into the first delivery route and the preset path constraint conditions is repeated until each delivery point corresponding to the plurality of first waybills is inserted into the target delivery route of the courier in the courier priority order within the preset time period, so as to complete the allocation of the plurality of first waybills.
[0013] Optionally, obtaining the target delivery route corresponding to the first courier within the preset time period based on the time increment after adding each of the delivery points to be inserted into the first delivery route and the preset path constraints includes:
[0014] According to a pre-set time increment function, the time increment of each path point group is calculated after the first delivery point to be inserted is added to the position between each path point group in the first delivery path. The first delivery point to be inserted is any one of the delivery points to be inserted. The path point group includes two adjacent path points on the first delivery path. The path point is the target pickup point or a delivery point that has been inserted into the first delivery path.
[0015] The position between the target path point group with the smallest time increment is taken as the target insertion position corresponding to the first delivery point to be inserted.
[0016] Add the first delivery point to be inserted to the target insertion position to generate a second delivery path;
[0017] Determine whether the second delivery route meets the preset route constraints;
[0018] If it is determined that the second delivery path satisfies the path constraint condition, the second delivery path is used as the first delivery path. The step of calculating the time increment of each path point group after adding the first delivery point to be inserted into each path point group in the first delivery path according to the preset time increment function is repeated until the step of determining whether the second delivery path satisfies the preset path constraint condition is performed. After traversing all the delivery points to be inserted, the second delivery path that satisfies the path constraint condition is used as the target delivery path corresponding to the first courier within the preset time period.
[0019] Optionally, determining whether the second transportation route meets the preset route constraints includes:
[0020] Determine whether the second transportation route simultaneously satisfies the first path constraint, the second path constraint, and the third path constraint; wherein,
[0021] The first path constraint is that the target duration does not exceed a preset time;
[0022] The second path constraint is that the number of waybills corresponding to the second delivery path is less than the maximum number of waybills that the first courier can accept.
[0023] The third path constraint is that the angle between the two routes extending from each inserted delivery point in the second delivery path is greater than a preset angle.
[0024] Optionally, based on the time increment after the delivery point to be inserted into the delivery path, and building upon the first delivery path, constructing a target delivery path for each delivery person within the preset time period according to a predetermined delivery person priority order, until the allocation of the multiple first waybills is completed, the method further includes:
[0025] Based on the preset number of waybills to be displayed, the first waybill that has been assigned is displayed for each courier;
[0026] For the first waybill that has been assigned to a carrier but not displayed, if it is determined that the carrier is unable to complete the delivery of the first waybill that has been assigned to a carrier but not displayed, the first waybill will be recycled as an unassigned waybill so that it can be redistributed.
[0027] Optionally, the preset time period is the time period between the first time point and the second time point, and the collection of multiple first waybills for the target pickup point includes:
[0028] The waybill submitted by the user before the target time point and whose delivery time is within the preset time period is designated as the first waybill; wherein the target time point is earlier than the first time point, and the interval between the target time point and the first time point is a preset duration.
[0029] A second aspect of this disclosure provides a waybill allocation device, the device comprising:
[0030] The waybill collection module is configured to collect multiple first waybills for a target pickup point, and the delivery time of the first waybill is a preset time period.
[0031] The route determination module is configured to determine a first delivery route based on a first delivery point and the target pickup point, wherein the first delivery point is the delivery point that is closest to the target pickup point among the delivery points corresponding to the plurality of first waybills;
[0032] The waybill allocation module is configured to construct a target delivery route within the preset time period for each carrier based on the time increment after inserting the delivery point to be inserted into the delivery route, on the basis of the first delivery route and according to a predetermined carrier priority order, until the allocation of the multiple first waybills is completed. The delivery point to be inserted is the delivery point among the delivery points corresponding to the multiple first waybills that has not been planned for a delivery route.
[0033] Optionally, the target area where the target pickup point is located corresponds to multiple delivery personnel, and based on the time increment after the delivery point to be inserted into the delivery path, the device further includes:
[0034] The priority determination module is configured to determine the priority order of each carrier based on the binding relationship between the carrier and the target area, the target time for the carrier to return to the target pickup point, and the carrier's driving speed.
[0035] Optionally, the waybill allocation module is configured to:
[0036] For the first courier ranked i in the courier priority order, the target courier route corresponding to the first courier within the preset time period is obtained based on the time increment after each of the delivery points to be inserted into the first courier route and the preset path constraints, where i is greater than or equal to 1.
[0037] If, after obtaining the target delivery route corresponding to the first courier within the preset time period, there are still delivery points to be inserted among the delivery points corresponding to the plurality of first waybills, then the second courier ranked i+1 in the courier priority order is taken as the first courier, and the step of obtaining the target delivery route corresponding to the first courier within the preset time period based on the time increment after adding each delivery point to be inserted into the first delivery route and the preset path constraint conditions is repeated until each delivery point corresponding to the plurality of first waybills is inserted into the target delivery route of the courier in the courier priority order within the preset time period, so as to complete the allocation of the plurality of first waybills.
[0038] Optionally, the waybill allocation module is configured to:
[0039] According to a pre-set time increment function, the time increment of each path point group is calculated after the first delivery point to be inserted is added to the position between each path point group in the first delivery path. The first delivery point to be inserted is any one of the delivery points to be inserted. The path point group includes two adjacent path points on the first delivery path. The path point is the target pickup point or a delivery point that has been inserted into the first delivery path.
[0040] The position between the target path point group with the smallest time increment is taken as the target insertion position corresponding to the first delivery point to be inserted.
[0041] Add the first delivery point to be inserted to the target insertion position to generate a second delivery path;
[0042] Determine whether the second delivery route meets the preset route constraints;
[0043] If it is determined that the second delivery path satisfies the path constraint condition, the second delivery path is used as the first delivery path. The step of calculating the time increment of each path point group after adding the first delivery point to be inserted into each path point group in the first delivery path according to the preset time increment function is repeated until the step of determining whether the second delivery path satisfies the preset path constraint condition is performed. After traversing all the delivery points to be inserted, the second delivery path that satisfies the path constraint condition is used as the target delivery path corresponding to the first courier within the preset time period.
[0044] Optionally, the waybill allocation module is configured to:
[0045] Determine whether the second transportation route simultaneously satisfies the first path constraint, the second path constraint, and the third path constraint; wherein,
[0046] The first path constraint is that the target duration does not exceed a preset time;
[0047] The second path constraint is that the number of waybills corresponding to the second delivery path is less than the maximum number of waybills that the first courier can accept.
[0048] The third path constraint is that the angle between the two routes extending from each inserted delivery point in the second delivery path is greater than a preset angle.
[0049] Optionally, the device further includes:
[0050] The waybill display module is configured to display the first assigned waybill for each carrier according to a preset number of waybills to be displayed;
[0051] The waybill recycling module is configured to, for the first waybill that has been assigned to a carrier but not displayed, if it is determined that the carrier is unable to complete the delivery of the first waybill that has been assigned to a carrier but not displayed, recycle the first waybill as an unassigned waybill so as to reallocate the first waybill.
[0052] Optionally, the preset time period is the time period between the first time point and the second time point, and the waybill collection module is configured to:
[0053] The waybill submitted by the user before the target time point and whose delivery time is within the preset time period is designated as the first waybill; wherein the target time point is earlier than the first time point, and the interval between the target time point and the first time point is a preset duration.
[0054] A third aspect of this disclosure provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of the waybill allocation method described in the first aspect.
[0055] A fourth aspect of this disclosure provides an electronic device, comprising:
[0056] A memory on which computer programs are stored;
[0057] A processor for executing the computer program in the memory to implement the steps of the waybill allocation method described in the first aspect.
[0058] By adopting the technical solution provided in this disclosure, at least the following technical effects can be achieved:
[0059] Multiple first waybills targeting a target pickup point are obtained, with the delivery time corresponding to each first waybill being a preset time period. A first delivery route is determined based on the first delivery point and the target pickup point, where the first delivery point is the delivery point closest to the target pickup point among the multiple first waybills. Using the time increment after inserting the delivery point to be inserted into the delivery route as a basis, a target delivery route is constructed for each courier within the preset time period, based on the first delivery route, until the allocation of the multiple first waybills is completed. The delivery point to be inserted is the delivery point among the multiple first waybills that has not yet been included in the planned delivery route. This approach improves the accuracy and efficiency of waybill allocation by increasing the granularity of waybill delivery times and employing a global optimization algorithm for waybill allocation.
[0060] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0061] The accompanying drawings are provided to further illustrate the present disclosure and form part of the specification. They are used together with the following detailed description to explain the present disclosure, but do not constitute a limitation thereof. In the drawings:
[0062] Figure 1 This is a flowchart illustrating a waybill allocation method according to an exemplary embodiment;
[0063] Figure 2 It is based on Figure 1 A flowchart illustrating another waybill allocation method;
[0064] Figure 3 It is based on Figure 1 A flowchart illustrating a cyclical execution method for waybill allocation is shown.
[0065] Figure 4 It is based on Figure 2 A flowchart illustrating yet another method for allocating waybills;
[0066] Figure 5 This is a block diagram illustrating a waybill distribution device according to an exemplary embodiment;
[0067] Figure 6 It is based on Figure 5 A block diagram of another waybill distribution device is shown;
[0068] Figure 7 It is based on Figure 6 A block diagram of another waybill distribution device is shown;
[0069] Figure 8 This is a schematic diagram of the structure of an electronic device according to an exemplary embodiment. Detailed Implementation
[0070] The specific embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit this disclosure.
[0071] In the technology related to waybill allocation, it is usually necessary to push new orders generated every minute to the in-store scheduling algorithm (e.g., the Solomon algorithm) to calculate the optimal waybill-shipper match, and use the specific time point as the fulfillment deadline (i.e., the delivery time specified by the customer). Based on factors such as capacity saturation and merchant shipping capacity, an estimated delivery time is provided to the user. Then, through the in-store scheduling mode, delivery efficiency is improved through centralized delivery. However, this technology has several problems: First, the real-time push of new orders increases the decision-making difficulty of the in-store scheduling algorithm. That is, in this case, the in-store scheduling algorithm can only find the optimal shipper for matching at the current time point, making it difficult to coordinate waybills placed before or after the current time point, thus creating a bottleneck for improving centralized delivery efficiency. In addition, the current in-store scheduling algorithm is not suitable for fulfillment scenarios with long delivery times and slow picking. The specific reasons are: First, since the existing in-store scheduling algorithm mainly serves food courts or merchants, the main idea is to fill up the number of waybills in the same direction with a single shipper and then push the waybills to that shipper together. However, excessively long fulfillment times lead to prolonged order backlogs, with assigned orders only being pushed to delivery personnel tens of minutes later, resulting in a significant waste of delivery capacity. Secondly, supermarket goods typically require picking, meaning merchants generally sort orders in the order they are placed. If order notifications could be pushed to delivery personnel earlier, they could interact with merchants to prioritize orders requiring earlier delivery and arrange them according to delivery personnel's priority, improving the efficiency of the picking-delivery process. Thirdly, independent decision-making between order recipients prevents greedy optimization from reaching the optimal solution. For example, if an order in a certain direction is assigned to a delivery person first because it is closer to the merchant, without considering that there are fewer orders in other directions at that time, the delivery person may be unable to accept orders destined for other directions.
[0072] The inventor noticed this problem and proposed a new method for allocating waybills, as follows:
[0073] Figure 1 This is a flowchart illustrating a waybill allocation method according to an exemplary embodiment, such as... Figure 1 As shown, the method includes the following steps:
[0074] Step 101: Collect multiple first waybills for the target pickup point.
[0075] The delivery time of the first waybill is a preset time period.
[0076] For example, in supermarkets and hypermarkets, customers don't have the same strict requirements for delivery time as they do for food delivery. For instance, with food delivery, customers might require a precise delivery time to avoid the food arriving cold. However, most items sold in supermarkets are usable in the short term, so most consumers are willing to accept longer delivery times. In this case, setting the delivery time the same as for food would be a waste of delivery capacity. Relaxing the delivery time limit and reducing delivery capacity requirements allows for more concentrated orders. Based on these reasons, in supermarkets and hypermarkets, the ordering model can be changed as follows: The delivery time commitment can be set as a fixed time period, and each time period's delivery service can only be selected before a certain time. For example, each hour (i.e., the aforementioned preset time period) can be designated as a shift, with acceptance stopping 30 minutes before the start of each shift. Specifically, customers would not be able to select the 17:00-18:00 shift after 16:30. Furthermore, all orders for each shift will be submitted to the dispatch system for assignment 30 minutes after order completion. For example, for a shift with orders completed at 16:30 and scheduled for 17:00-18:00, the order will be submitted to the dispatch system for assignment at 17:00. It can be understood that the aforementioned 16:30 time point is the starting time for step 101, and the aforementioned 17:00 is the starting time for the following step 102.
[0077] Based on the above order placement mode, in one embodiment of this disclosure, the preset time period is the time period between the first time point and the second time point. Step 101 may include: taking the waybill submitted by the user before the target time point and whose delivery time is within the preset time period as the first waybill; wherein, the target time point is earlier than the first time point, and the interval between the target time point and the first time point is a preset duration.
[0078] Step 102: Determine the first delivery route based on the first delivery point and the target pickup point.
[0079] The first delivery point is the delivery point that is closest to the target pickup point among the delivery points corresponding to the above multiple first waybills.
[0080] For example, the delivery points mentioned above represent the location of the customer in each order. Existing in-store scheduling algorithms (e.g., the Solomon algorithm) aim to allocate all orders while minimizing the total distance. In this embodiment, however, the goal of the in-store scheduling algorithm is to maximize the proportion of orders allocated, with the remaining orders assigned to non-in-store delivery personnel. Therefore, for seed customers, the nearest customer point can be selected as the seed point (i.e., the first delivery point).
[0081] Step 103: Based on the time increment after inserting the delivery point into the delivery path, and on the basis of the first delivery path, construct a target delivery path for each delivery person within the preset time period according to the predetermined delivery person priority order, until the allocation of the above multiple first waybills is completed.
[0082] Among them, the delivery point to be inserted is the delivery point that has not been planned for delivery among the delivery points corresponding to the above-mentioned multiple first waybills.
[0083] For example, based on the aforementioned time increment, the first waybill is inserted into the initial delivery route. Through continuous loop execution, each carrier will have a delivery route, which includes the delivery addresses of the first orders that can be delivered in a single trip. These first orders that can be delivered are the waybills assigned to the carriers. Furthermore, the carrier priority order is based on the suitability of the carrier determined after analyzing the actual situation of the carrier; the higher the suitability, the higher the priority. It should be noted that the existing Solomon algorithm assumes that each vehicle (actually the carrier) only departs and returns to the merchant once, i.e., one trip. In this embodiment, multiple departures and returns to the merchant are required, i.e., multiple trips, to maximize the acceptance rate. Therefore, after constructing one trip route for a carrier, it is considered a new carrier, and its updated return time to the merchant is used as the new return time, and then sorted together with other carriers.
[0084] In summary, the technical solution provided by the embodiments of this disclosure can acquire multiple first waybills for a target pickup point, where the delivery time of each first waybill is a preset time period; determine a first delivery route based on a first delivery point and the target pickup point, where the first delivery point is the delivery point closest to the target pickup point among the multiple delivery points corresponding to the first waybills; and construct a target delivery route within the preset time period for each courier based on the time increment after inserting the delivery point to be inserted into the delivery route, until the allocation of the multiple first waybills is completed, where the delivery point to be inserted is the delivery point among the multiple delivery points corresponding to the first waybills that has not been included in the planned delivery route. This improves the accuracy of waybill allocation and increases the efficiency of waybill delivery by increasing the granularity of waybill delivery time and using a global optimization algorithm for waybill allocation.
[0085] Figure 2 It is based on Figure 1 A flowchart illustrating another waybill allocation method is shown, such as Figure 2 As shown, the target area where the target pickup point is located corresponds to multiple delivery personnel. The method also includes:
[0086] Step 104: Determine the priority of each courier based on the binding relationship between the courier and the target area, the target time for the courier to return to the target pickup point, and the courier's driving speed, so as to determine the priority order of the courier.
[0087] For example, before constructing delivery routes for carriers, priorities must first be determined to rank them. Prioritization begins by distinguishing between merchant-based and non-merchant-based carriers. The aforementioned binding relationships can be represented as merchant-based or non-merchant-based. Merchant-based carriers are those bound to multiple first-order regions or merchants and can only provide delivery services to that region or merchant. Non-merchant-based carriers are those not bound to any region or merchant. For a target pickup point, carriers bound to the region or merchant corresponding to that pickup point have higher priority. Two other priority ranking metrics are the target return time for all assigned orders to the merchant (shorter target times mean higher priority) and the pre-recorded average travel speed of the carrier (faster speeds mean higher priority). After ranking, the optimal carrier is selected first to construct a route. If a feasible route cannot be constructed for the optimal carrier, the next best carrier is selected, and so on, until all orders are assigned. It should be noted that in step 103 above, in addition to traversing each delivery point to be inserted, it also includes traversing all available carriers. For all available carriers, the carriers can be traversed according to their priority order, i.e., the carrier priority order mentioned above, avoiding the step of saturating the search for all carriers during the carrier traversal process, and further improving the execution efficiency of waybill allocation.
[0088] Figure 3 It is based on Figure 1 The flowchart shown is a cyclical execution method for waybill allocation, as follows: Figure 3 As shown, step 103 includes:
[0089] Step 1031: For the first courier ranked i in the courier priority order, obtain the target courier path within the preset time period based on the time increment after adding each of the delivery points to be inserted into the first courier path and the preset path constraints.
[0090] Where i is greater than or equal to 1.
[0091] For example, in step 1031 and the following step 1032, in addition to traversing each delivery point to be inserted, the process includes traversing the carriers involved in the carrier priority order. However, the traversal of carriers does not necessarily involve all carriers in the carrier priority order. In other words, in one embodiment, all delivery points to be inserted are allocated after the target delivery path corresponding to the first-ranked carrier is determined; in another embodiment, all delivery points to be inserted are allocated only after the target delivery paths corresponding to the top 10 carriers are determined.
[0092] For example, step 1031 may include the following steps a-d.
[0093] Specifically, step a may include: calculating the time increment of each path point group after adding the first delivery point to be inserted into the position between each path point group in the first delivery path, according to a pre-set time increment function. Here, the first delivery point to be inserted is any one of all the delivery points to be inserted, and the path point group includes two adjacent path points on the first delivery path, which are either the target pickup point or a delivery point already inserted into the first delivery path.
[0094] For example, in step a, the optimal insertion position and optimal insertion time cost for each unassigned customer point are calculated using the time increment function. This time increment is actually the increase in the time required for the delivery person to complete the new delivery path after inserting a new delivery point into the first delivery path, relative to the time required to complete the first delivery path. Specifically, the time increment function can be expressed as the following formula (1):
[0095] c(i,u,j)=t iu +t uj -t ij (1)
[0096] Where c(i,u,j) is the time increment after inserting the delivery point u between points i and j, and t iu t uj t ij These represent the travel times from point i to point u, from point u to point j, and from point i to point j, respectively. Additionally, points i and j can be the target pickup point or a delivery point already inserted into the first delivery route.
[0097] Step b may include: taking the position between the target path point group with the smallest time increment as the target insertion position corresponding to the first insertion delivery point.
[0098] Step c may include: adding the first delivery point to be inserted to the target insertion position to generate a second delivery path.
[0099] Step d may include: determining whether the second transport route meets the pre-set route constraints.
[0100] For example, existing Solomon algorithms only have time windows and load constraints for path constraints. The time window characterizes whether a waybill can be delivered on time, and the load constraint characterizes the maximum number of waybills a carrier can handle within a certain period. In this embodiment, the path constraints also include a maximum angle constraint, meaning that the maximum angle formed between the carrier's route from departure to return to the merchant and the merchant's address cannot exceed a certain threshold, ensuring that the carrier does not wander too far. When constructing a delivery route, if inserting a delivery point would cause the maximum angle constraint of the delivery route to be violated, then that delivery point cannot be inserted.
[0101] For example, based on the aforementioned path constraint theory, step d includes: determining whether the second delivery path simultaneously satisfies the first path constraint, the second path constraint, and the third path constraint; wherein, the first path constraint is that the time for the carrier to deliver the waybill using the second delivery path does not exceed a preset time; the second path constraint is that the number of waybills corresponding to the second delivery path is less than the maximum number of waybills that the first carrier can accept; and the third path constraint is that the angle between the two routes extending from each inserted delivery point in the second delivery path is greater than a preset angle.
[0102] Step e may include: if it is determined that the second delivery path meets the path constraint condition, the second delivery path is used as the first delivery path, and steps a to d above are repeated, so that after traversing all the delivery points to be inserted, the second delivery path that meets the path constraint condition is used as the target delivery path corresponding to the first courier within the preset time period.
[0103] For example, in step e, steps a through d are executed repeatedly. Specifically, after step d, it is determined whether the delivery path after inserting a delivery point is feasible. If it is determined that the second delivery path meets the path constraint, the delivery point is inserted, and step a is returned to be executed again to insert another delivery point. Finally, all delivery points to be inserted are traversed, and the target delivery path corresponding to the first courier within the preset time period is generated. If it is determined that the second delivery path does not meet the path constraint, the original first delivery path is maintained without inserting the delivery point, and step a is returned again to attempt to insert another delivery point into the first delivery path.
[0104] Step 1032: If, after obtaining the target delivery route corresponding to the first courier within the preset time period, there is still a delivery point to be inserted among the delivery points corresponding to the multiple first waybills, then the second courier ranked i+1 in the courier priority order is taken as the first courier, and step 1031 is repeated until each delivery point corresponding to the multiple first waybills is inserted into the target delivery route of the courier in the courier priority order within the preset time period, so as to complete the allocation of the multiple first waybills.
[0105] For example, after planning a delivery route for the courier in sequence i, if there are still delivery points that have not been inserted into the delivery route, it means that there are still unassigned orders. Then, starting from the courier in sequence i+1, the steps a to c are repeated until each delivery point of the multiple first waybills is inserted into the courier's delivery route within the preset time period, so as to complete the assignment of the multiple first waybills.
[0106] Figure 4 It is based on Figure 1 The flowchart shown is for another waybill allocation method, such as Figure 4 As shown, the method also includes:
[0107] Step 105: Based on the preset number of waybills to be displayed, display the first waybill that has been assigned to each courier.
[0108] Step 106: For the first waybill that has been assigned to a carrier but not displayed, if it is determined that the carrier cannot complete the delivery of the first waybill that has been assigned to a carrier but not displayed, the first waybill is recycled as an unassigned waybill so that it can be redistributed.
[0109] For example, in this embodiment, the waybill allocation algorithm is divided into three stages: dispatch, hold, and retrieval. Steps 101-104 are the dispatch stage. After the dispatch stage, the dispatch and retrieval stages can be used to adjust the dispatched waybills according to the current situation. Specifically, since the waybill allocation method provided in this embodiment pushes all the waybills to the waybill allocation algorithm at once, there is no need to accumulate waybills for the carrier. However, in order to reduce the pressure on the carrier and to allow the algorithm more room for adjustment, the original hold mechanism can be retained. This hold mechanism can be described as follows: when the carrier has multiple routes, the waybills after the first route are not displayed until the carrier has completed the first route, and then the second route is displayed. For the undisplayed routes, if the carrier encounters various unexpected situations during the delivery of the displayed and started routes (e.g., the merchant is not picking the goods in time, or the customer cannot be contacted, resulting in waiting), and ultimately the undisplayed routes have potential timeouts, then the waybills of the routes with potential timeouts need to be reassigned. According to the waybill allocation algorithm, these waybills will be reassigned to another carrier or allocated to a non-storefront carrier. The above-described process of readjusting waybills can be performed using the waybill allocation method provided in an embodiment of this disclosure or other existing waybill allocation methods.
[0110] In summary, the technical solution provided by the embodiments of this disclosure can acquire multiple first waybills for a target pickup point, where the delivery time of each first waybill is a preset time period; determine a first delivery route based on a first delivery point and the target pickup point, where the first delivery point is the delivery point closest to the target pickup point among the multiple delivery points corresponding to the first waybills; and construct a target delivery route within the preset time period for each courier based on the time increment after inserting the delivery point to be inserted into the delivery route, until the allocation of the multiple first waybills is completed, where the delivery point to be inserted is the delivery point among the multiple delivery points corresponding to the first waybills that has not been included in the planned delivery route. This improves the accuracy of waybill allocation and increases the efficiency of waybill delivery by increasing the granularity of waybill delivery time and using a global optimization algorithm for waybill allocation.
[0111] Figure 5 This is a block diagram illustrating a waybill distribution device according to an exemplary embodiment, such as Figure 5 As shown, the device 500 may include:
[0112] The waybill collection module 510 is configured to collect multiple first waybills for a target pickup point, wherein the delivery time of the first waybill is a preset time period.
[0113] The route determination module 520 is configured to determine a first delivery route based on a first delivery point and the target pickup point, wherein the first delivery point is the delivery point that is closest to the target pickup point among the delivery points corresponding to the plurality of first waybills;
[0114] The waybill allocation module 530 is configured to construct a target delivery route within a preset time period for each carrier based on the time increment after inserting the delivery point to be inserted into the delivery route, according to a predetermined carrier priority order, until the allocation of the multiple first waybills is completed. The delivery point to be inserted is the delivery point among the delivery points corresponding to the multiple first waybills that has not been planned for a delivery route.
[0115] Figure 6 It is based on Figure 5 A block diagram of another waybill distribution device is shown, such as Figure 6 As shown, the target area where the target pickup point is located corresponds to multiple delivery personnel, and the device 500 may further include:
[0116] Priority determination module 540 is configured to determine the priority order of each courier based on the courier's binding relationship with the target area, the target time for the courier to return to the target pickup point, and the courier's travel speed.
[0117] Optionally, the waybill allocation module 530 is configured to:
[0118] For the first courier ranked i in the courier priority order, based on the time increment after each delivery point to be inserted is added to the first courier route and the pre-set route constraints, the target courier route corresponding to the first courier within the preset time period is obtained, where i is greater than or equal to 1.
[0119] If, after obtaining the target delivery route corresponding to the first courier within the preset time period, there is still a delivery point to be inserted among the delivery points corresponding to the multiple first waybills, then the second courier ranked i+1 in the courier priority order is taken as the first courier, and the step of obtaining the target delivery route corresponding to the first courier within the preset time period based on the time increment after adding each delivery point to be inserted into the first delivery route and the preset path constraint conditions is repeated until each delivery point corresponding to the multiple first waybills is inserted into the target delivery route of the courier in the courier priority order within the preset time period, so as to complete the allocation of the multiple first waybills.
[0120] Optionally, the waybill allocation module 530 is configured to:
[0121] According to a preset time increment function, the time increment of each path point group is calculated after the first delivery point to be inserted is added to the position between each path point group in the first delivery path. The first delivery point to be inserted is any one of the delivery points to be inserted. The path point group includes two adjacent path points on the first delivery path. The path point is the target pickup point or a delivery point that has been inserted into the first delivery path.
[0122] The position between the target path points with the smallest time increment is taken as the target insertion position corresponding to the first delivery point to be inserted.
[0123] Add the first delivery point to be inserted to the target insertion position to generate the second delivery path;
[0124] Determine whether the second transport route meets the pre-set route constraints;
[0125] If it is determined that the second delivery route meets the path constraint condition, the second delivery route is used as the first delivery route. The process of calculating the position of the first delivery point to be inserted into each path point group in the first delivery route according to the preset time increment function is repeated until the step of determining whether the second delivery route meets the preset path constraint condition is executed. After traversing all the delivery points to be inserted, the second delivery route that meets the path constraint condition is used as the target delivery route for the first courier within the preset time period.
[0126] Optionally, the waybill allocation module 530 is configured to:
[0127] Determine whether the second transport route simultaneously satisfies the first route constraint, the second route constraint, and the third route constraint; wherein,
[0128] The first route constraint is that the time the courier takes to deliver the waybill using the second delivery route does not exceed a preset time.
[0129] The second route constraint is that the number of waybills corresponding to the second delivery route is less than the maximum number of waybills that the first carrier can accept.
[0130] The third path constraint is that the angle between the two routes extending from each inserted delivery point in the second delivery path is greater than a preset angle.
[0131] Figure 7 It is based on Figure 6 A block diagram of another waybill distribution device is shown, such as Figure 7 As shown, the device 500 may further include:
[0132] The waybill display module 550 is configured to display the first assigned waybill for each carrier according to a preset number of waybills to be displayed;
[0133] The waybill recycling module 560 is configured to, for the first waybill that has been assigned to a carrier but not displayed, if it is determined that the carrier is unable to complete the delivery of the first waybill that has been assigned to a carrier but not displayed, recycle the first waybill as an unassigned waybill in order to reallocate the first waybill.
[0134] Optionally, the preset time period is the period between the first time point and the second time point, and the waybill collection module 510 is configured to:
[0135] The first waybill is a waybill submitted by the user before the target time point and whose delivery time is within the preset time period; wherein the target time point is earlier than the first time point, and the interval between the target time point and the first time point is a preset duration.
[0136] In summary, the technical solution provided by the embodiments of this disclosure can acquire multiple first waybills for a target pickup point, where the delivery time of each first waybill is a preset time period; determine a first delivery route based on a first delivery point and the target pickup point, where the first delivery point is the delivery point closest to the target pickup point among the multiple delivery points corresponding to the first waybills; and construct a target delivery route within the preset time period for each courier based on the time increment after inserting the delivery point to be inserted into the delivery route, until the allocation of the multiple first waybills is completed, where the delivery point to be inserted is the delivery point among the multiple delivery points corresponding to the first waybills that has not been included in the planned delivery route. This improves the accuracy of waybill allocation and increases the efficiency of waybill delivery by increasing the granularity of waybill delivery time and using a global optimization algorithm for waybill allocation.
[0137] For example, Figure 8 This is a block diagram illustrating an electronic device 800 according to an exemplary embodiment. (Refer to...) Figure 8 The electronic device 800 includes a processor 801, which may be one or more, and a memory 802 for storing computer programs executable by the processor 801. The computer program stored in the memory 802 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processor 801 may be configured to execute the computer program to perform the aforementioned waybill allocation method.
[0138] Additionally, the electronic device 800 may also include a power supply component 803 and a communication component 804. The power supply component 803 can be configured to perform power management of the electronic device 800, and the communication component 804 can be configured to enable communication of the electronic device 800, such as wired or wireless communication. Furthermore, the electronic device 800 may also include an input / output (I / O) interface 805. The electronic device 800 can operate on an operating system stored in memory 802, such as Windows Server™, Mac OSX™, Unix™, Linux™, etc.
[0139] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, which, when executed by a processor, implement the steps of the waybill allocation method described above. For example, the computer-readable storage medium may be the memory 802 including the program instructions described above, which may be executed by the processor 801 of the electronic device 800 to complete the waybill allocation method described above.
[0140] The preferred embodiments of this disclosure have been described in detail above with reference to the accompanying drawings. However, this disclosure is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this disclosure, various simple modifications can be made to the technical solutions of this disclosure, and these simple modifications all fall within the protection scope of this disclosure.
[0141] It should also be noted that the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, this disclosure will not describe the various possible combinations separately.
Claims
1. A waybill allocation method characterized by, The method comprises: Collecting a plurality of first waybills for a target pickup point, the first waybills corresponding to a preset time period of waybill delivery time; Determine a first delivery path according to the first delivery point and the target pickup point, the first delivery point being the closest delivery point to the target pickup point among the delivery points corresponding to the plurality of first waybills; On the basis of the first delivery path, a target delivery path for each delivery person within the preset time period is constructed in a predetermined delivery person priority order according to the time increment after inserting the to-be-inserted delivery point into the delivery path and the pre-set path constraint condition until the allocation of the plurality of first waybills is completed, the to-be-inserted delivery point being a delivery point that has not been planned for the delivery path among the delivery points corresponding to the plurality of first waybills, and the path constraint condition including a maximum angle constraint, the maximum angle constraint representing that the maximum angle formed by the path of each departure and return of the delivery person to the merchant and the address of the merchant itself cannot exceed a certain threshold to ensure that the delivery person moves within the range of satisfying the maximum angle constraint condition, and when constructing the delivery path, if the maximum angle constraint of the delivery path is not satisfied after inserting the delivery point, the delivery point cannot be inserted. The waybill allocation is divided into three stages of order allocation, order compression and order recovery, after the order allocation stage, the allocated waybills are adjusted according to the current situation through the order compression stage and the order recovery stage, the order compression mechanism is that when the delivery person has multiple paths, the first path is not displayed until the delivery person finishes the first path of the waybills, and then the second path is displayed; for the non-displayed path, if the delivery person encounters an unexpected situation during the delivery process of the displayed and started path and finally leads to a potential overtime situation of the non-displayed path, the related waybills of the path with potential overtime situation are re-assigned, according to the waybill allocation algorithm, these waybills will be adjusted to another delivery person or allocated to a non-stationary delivery person.
2. The method of claim 1, wherein, The target area where the target pickup point is located corresponds to a plurality of delivery persons, and before the target delivery path for each delivery person within the preset time period is constructed on the basis of the first delivery path according to the time increment after inserting the to-be-inserted delivery point into the delivery path and in a predetermined delivery person arrangement order until the allocation of the plurality of first waybills is completed, the method further comprises: According to the binding relationship between the delivery person and the target area, the target time length of the delivery person returning to the target pickup point, and the driving speed of the delivery person, determine the priority of each delivery person to determine the delivery person priority order.
3. The method of claim 2, wherein, The target delivery path for each delivery person within the preset time period is constructed on the basis of the first delivery path according to the time increment after inserting the to-be-inserted delivery point into the delivery path and in a predetermined delivery person arrangement order until the allocation of the plurality of first waybills is completed, comprising: According to the time increment after each of the to-be-inserted drop-off points is added to the first delivery path and the preset path constraint condition, a target delivery path corresponding to the first delivery person within the preset time period is obtained, wherein i is greater than or equal to 1; If there are still the to-be-inserted drop-off points in the drop-off points corresponding to the plurality of first waybills after the target delivery path corresponding to the first delivery person within the preset time period is obtained, a second delivery person ranked i+1 in the delivery person priority order is taken as the first delivery person, and the step of obtaining the target delivery path corresponding to the first delivery person within the preset time period according to the time increment after each of the to-be-inserted drop-off points is added to the first delivery path and the preset path constraint condition is repeatedly executed until each of the drop-off points corresponding to the plurality of first waybills is inserted into the target delivery path of the delivery person in the delivery person priority order within the preset time period, so as to complete the allocation of the plurality of first waybills.
4. The method of claim 3, wherein, The step of obtaining the target delivery path corresponding to the first delivery person within the preset time period according to the time increment after each of the to-be-inserted drop-off points is added to the first delivery path and the preset path constraint condition comprises: According to a preset time increment function, the time increment of each path point group after a first to-be-inserted drop-off point is added to the position between the two adjacent path points on the first delivery path is calculated, the first to-be-inserted drop-off point is any to-be-inserted drop-off point among all the to-be-inserted drop-off points, and the path point group comprises the two adjacent path points on the first delivery path, and the path point is the target pick-up point or the drop-off point inserted into the first delivery path; The position between the target path point groups with the smallest time increment is taken as the target insertion position corresponding to the first to-be-inserted drop-off point; The first to-be-inserted drop-off point is added to the target insertion position to generate a second delivery path; It is determined whether the second delivery path satisfies the preset path constraint condition; If it is determined that the second delivery path satisfies the path constraint condition, the second delivery path is taken as the first delivery path, and the steps from calculating the time increment of each path point group after a first to-be-inserted drop-off point is added to the position between the two adjacent path points on the first delivery path according to the preset time increment function to determining whether the second delivery path satisfies the preset path constraint condition are repeatedly executed, so that after all the to-be-inserted drop-off points are traversed, the second delivery path satisfying the path constraint condition is taken as the target delivery path corresponding to the first delivery person within the preset time period.
5. The method of claim 4, wherein, The step of determining whether the second delivery path satisfies the preset path constraint condition comprises: It is determined whether the second delivery path satisfies the first path constraint condition, the second path constraint condition and the third path constraint condition simultaneously; wherein The first path constraint condition is that the target time length does not exceed a preset time. The second path constraint condition is that the number of orders corresponding to the second delivery path is less than the maximum order receiving quantity constraint value corresponding to the first delivery person; The third path constraint condition is that the included angle of two routes extended from each inserted delivery point in the second delivery path is greater than a preset included angle.
6. The method of claim 1, wherein, On the basis of the first delivery path, the target delivery path of each delivery person within the preset time period is constructed according to a predetermined delivery person priority order in the time increment after the to-be-inserted delivery point is inserted into the delivery path, and after the allocation of the multiple first orders is completed, the method further comprises: According to a preset order display quantity, the first orders allocated to each delivery person are displayed; For the first orders allocated to the delivery person but not displayed, if it is determined that the delivery person cannot complete the delivery of the first orders allocated to the delivery person but not displayed, the first orders are recovered as unallocated orders to be re-allocated.
7. The method of claim 1, wherein, The preset time period is a time period between a first time point and a second time point, and the collection of the multiple first orders for the target pickup point comprises: Orders submitted by a user before a target time point and having an order arrival time within the preset time period are taken as the first orders, wherein the target time point is earlier than the first time point, and the interval between the target time point and the first time point is a preset time length.
8. A waybill dispensing apparatus characterised by The device comprises: An order collection module configured to collect multiple first orders for a target pickup point, the first orders corresponding to an order arrival time within a preset time period; A path determination module configured to determine a first delivery path according to a first delivery point and the target pickup point, the first delivery point being a delivery point corresponding to the multiple first orders and closest to the target pickup point; An order allocation module configured to construct a target delivery path of each delivery person within the preset time period on the basis of the first delivery path according to a predetermined delivery person priority order in the time increment after a to-be-inserted delivery point is inserted into the delivery path, the to-be-inserted delivery point being a delivery point corresponding to the multiple first orders and not planned in the delivery path, and the path constraint condition including a maximum included angle constraint, the maximum included angle constraint representing that the maximum included angle formed by the path of a delivery person each time leaving and returning to a merchant and the address of the merchant cannot exceed a certain threshold value to ensure that the delivery person moves within the range satisfying the maximum included angle constraint condition, and when the delivery path is constructed, if the maximum included angle constraint of the delivery path is not satisfied after the to-be-inserted delivery point is inserted, the delivery point cannot be inserted. The order allocation is divided into three stages of order dispatching, order pressing and order recovery. After the order dispatching stage, the dispatched orders are adjusted according to the current situation through the order pressing stage and the order recovery stage. The order pressing mechanism is that when the courier has multiple paths, the orders after the first path are not displayed until the courier finishes the orders of the first path and then the orders of the second path are displayed. For the non-displayed path, if the courier encounters an unexpected situation during the delivery of the displayed and started path and finally leads to a potential overtime situation of the non-displayed path, the related orders of the path with the potential overtime situation are re-assigned. According to the order allocation algorithm, these orders will be adjusted to another courier or allocated to a non-stationary courier.
9. A computer readable storage medium having stored thereon a computer program, characterized in that, The program is executed by the processor to implement the steps of the order allocation method of any one of claims 1 to 7.
10. An electronic device, comprising: Comprise: a memory having a computer program stored thereon; a processor configured to execute the computer program in the memory to implement the steps of the order allocation method of any one of claims 1 to 7.
Citation Information
Patent Citations
One-point to multi-point path programming method and transport distribution system
CN108592929A
Method and device for determining waybill dispatching object, storage medium and electronic equipment
CN110599019A