Order allocation method and device

By setting distance and order consolidation constraints between orders and optimizing order allocation using geographic information, the problems of wasted rider resources and low delivery efficiency have been solved, resulting in a reduction in the number of riders and a shorter delivery time, thus improving the user experience.

CN122088906APending Publication Date: 2026-05-26KANGCHENG INVESTMENT CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
KANGCHENG INVESTMENT CHINA
Filing Date
2026-01-12
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing technologies for instant order delivery suffer from problems such as wasted rider resources, low delivery efficiency, and lack of global optimization, resulting in redundant or insufficient rider numbers, long delivery distances, high delay rates, and poor user experience.

Method used

By setting distance constraints between orders within the same region and across regions, and a maximum percentage constraint on the increase in distance for order merging along the same route, and by combining geographical information to cluster and merge orders, the objective function is optimized to minimize the number of riders and delivery time, thereby improving user satisfaction.

Benefits of technology

The number of riders was reduced by about 10%, delivery time was shortened by about 4%, user satisfaction was improved, and delivery efficiency was increased.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122088906A_ABST
    Figure CN122088906A_ABST
Patent Text Reader

Abstract

The invention provides an order allocation method and device. The method comprises the following steps: setting constraint conditions including a same-region order-to-order distance constraint, a cross-region order-to-order distance constraint and a maximum percentage constraint of on-road order combination distance increase; performing same-region clustering on orders in the to-be-allocated order set according to geographic information and constraint conditions to form a preliminary allocation result; when the distance between the individual batch order and the cross-regional order accords with the distance constraint between the cross-regional orders, combining the individual batch order with the cross-regional order closest to the individual batch order; when the total driving distance of the individual batch orders and the on-the-way orders accords with the maximum percentage constraint of on-the-way order combining distance increase, combining the individual batch orders with the on-the-way orders; and according to the timeout rate, the average delivery time of each batch and the total batch number, an objective function is set, the preliminary distribution result is optimized, the number of riders is reduced, the delivery time of the riders is shortened, and the user satisfaction is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of e-commerce technology, and in particular to an order allocation method and apparatus. Background Technology

[0002] With the development of e-commerce and online shopping platforms, how to efficiently process orders and meet users' immediate delivery needs has become an important research area.

[0003] In the context of instant order delivery, order batching and splitting is a core element in improving fulfillment efficiency. Traditional batching and splitting methods rely on manual experience to split orders, or can only split orders according to simple static rules, such as regional division. Accordingly, traditional batching and splitting methods have the following problems: (1) Waste of rider resources: Due to the difficulty of dynamically responding to order fluctuations due to static rules, the number of riders is redundant or insufficient; (2) Low delivery efficiency: Order allocation does not fully consider factors such as time constraints and cross-regional route merging, resulting in long delivery distances and high overtime rates; (3) Lack of global optimization: Single-objective optimization methods (such as only minimizing the number of batches) cannot balance multi-dimensional indicators (such as rider costs and user experience).

[0004] Therefore, providing an efficient batch order splitting method for on-demand delivery services that can reduce the number of riders, shorten delivery time, and improve user satisfaction is of great significance for reducing operating costs and enhancing user experience. Summary of the Invention

[0005] The technical problem to be solved by the present invention is to provide an order allocation method and apparatus that can reduce the number of riders, shorten rider delivery time and improve user satisfaction.

[0006] To address the aforementioned problems, this invention provides an order allocation method, comprising: providing a set of orders to be allocated, and order data and geographical information for each order in the set; setting primary constraints, including distance constraints between orders within the same region, distance constraints between orders across regions, and a maximum percentage increase constraint for combining orders along the same route; clustering the orders in the set of orders to be allocated within the same region based on the geographical information and the primary constraints to form a preliminary allocation result; for individual batch orders in the preliminary allocation result, when the distance between the individual batch order and the cross-regional order meets the distance constraint between cross-regional orders, merging the individual batch order with the nearest cross-regional order into the same batch; for unmerged individual batch orders, when the total travel distance of the individual batch order and the order along the same route meets the maximum percentage increase constraint for combining orders along the same route, merging the individual batch order with the order along the same route into the same batch; setting an objective function based on the timeout rate, average delivery time per batch, and total number of batches, and optimizing the preliminary allocation result by minimizing the objective function to obtain a final allocation result that satisfies the primary constraints.

[0007] In some embodiments, the order data includes the store, user location, and expected delivery time; the geographic information includes the region to which the order belongs, the cycling navigation distance between the store and the order, and the cycling navigation distance between any two orders.

[0008] In some embodiments, the step of providing a set of orders to be allocated further includes: calculating the earliest available batch time and the latest mandatory batch time for each order based on the currently placed order data and comparing it with the current time; filtering out mandatory batch orders from the placed orders and placing them into the set of orders to be allocated; wherein the step of filtering out mandatory batch orders specifically includes: if the current time is earlier than the earliest available batch time of an order, then classifying the order as an order that will not be batched temporarily; if the latest mandatory batch time of the order is close to or has passed the next batch time, then classifying the order as a mandatory batch order.

[0009] In some embodiments, the order data further includes the earliest estimated delivery time, the latest estimated delivery time, warehouse operation time, pickup time, and delivery time. The method for calculating the earliest possible batch release time and the latest mandatory batch release time specifically includes: Earliest possible batch release time = Earliest estimated delivery time (Warehouse operation time + pickup time + delivery time + allowance); Latest deadline for next batch = Estimated latest delivery time (Warehouse operation time + pickup time + delivery time + reserved time).

[0010] In some embodiments, the distance constraint between orders within the same region is used to limit the maximum distance between orders within the same region to be less than or equal to a distance threshold within the same region; the distance constraint between orders across regions is used to limit the maximum distance between orders across regions to be less than or equal to a distance threshold across regions; and the maximum percentage increase constraint for the distance of combined orders is used to limit the ratio of the additional travel distance of the combined order to the original travel distance to be less than or equal to a percentage threshold.

[0011] In some embodiments, the step of clustering orders in the set of orders to be assigned according to the geographic information and the primary constraints to form a preliminary allocation result includes: iteratively allocating orders in the set of orders to be assigned until all orders in the set of orders to be assigned are allocated or no more orders can be added to the existing batch; wherein, the iterative allocation step specifically includes: taking an unassigned order in the set of orders to be assigned as the initial order, and the batch in which the initial order is located as the current batch; filtering out orders in the same region whose distance from the initial order meets the distance constraint between orders in the same region according to the geographic information, forming a first order set for the initial order; and selecting orders in the first order set that meet the secondary constraints and adding them to the current batch, wherein the secondary constraints include timeliness constraints, volume constraints, weight constraints, product quantity constraints, product type constraints, and angle constraints.

[0012] In some embodiments, for unmerged individual batch orders, the step of merging the individual batch orders and the orders along the same route into the same batch when the total driving distance between the individual batch orders and the orders along the same route meets the maximum percentage constraint of the increase in the distance of the combined order along the same route further includes: arranging the unmerged individual batch orders in descending order of their distance from the corresponding store; sequentially calculating the total driving distance of each individual batch order and the orders along the same route; and merging the individual batch orders and the orders along the same route when the total driving distance meets the maximum percentage constraint of the increase in the distance of the combined order along the same route.

[0013] In some embodiments, the number of orders in each batch is less than or equal to a single batch order number threshold.

[0014] In some embodiments, the objective function is:

[0015] To address the aforementioned problems, the present invention also provides an order allocation device, comprising: an order preprocessing module, which provides a set of orders to be allocated and order data for each order in the set; a geographic information acquisition module, which provides geographic information for each order in the set; and an allocation module, which includes a constraint unit, a preliminary allocation unit, and an operations optimization unit: the constraint unit sets primary constraints, including distance constraints between orders in the same region, distance constraints between orders across regions, and a maximum percentage increase constraint for combining orders along the same route; the preliminary allocation unit allocates orders in the set of orders to be allocated according to the geographic information and the primary constraints. The system performs regional clustering to form a preliminary allocation result. For individual batch orders in the preliminary allocation result, if the distance between the individual batch order and the cross-regional order meets the distance constraint between cross-regional orders, the individual batch order is merged with the nearest cross-regional order into the same batch. For individual batch orders that are not merged, if the total travel distance of the individual batch order and the order along the same route meets the maximum percentage increase constraint of the distance for merging orders along the same route, the individual batch order is merged with the order along the same route into the same batch. The operations optimization unit is used to set an objective function based on the timeout rate, the average delivery time per batch, and the total number of batches. By minimizing the objective function, the system optimizes the preliminary allocation result to obtain the final allocation result that satisfies the main constraint.

[0016] The above technical solution optimizes the initial allocation by setting constraints including distance constraints between orders within the same region, distance constraints between orders across regions, and a maximum percentage increase in distance for combined orders along the same route. Based on geographical information and these constraints, orders in the set to be allocated are clustered within the same region to form a preliminary allocation result. When the distance between a single-batch order and an cross-regional order meets the distance constraint between cross-regional orders, the single-batch order is merged with the nearest cross-regional order. When the total travel distance of single-batch orders and combined orders meets the maximum percentage increase in distance for combined orders along the same route, the single-batch order is merged with the combined order. An objective function is set based on the timeout rate, average delivery time per batch, and total number of batches to optimize the preliminary allocation result, thereby reducing the number of riders, shortening rider delivery time, and improving user satisfaction.

[0017] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the invention. Techniques, methods, and apparatus known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and apparatus should be considered part of the specification. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a flowchart of an order allocation method provided in an embodiment of the present invention; Figure 2 This is a schematic diagram of the structure of an order allocation device provided in an embodiment of the present invention. Detailed Implementation

[0020] The technical solutions in the embodiments of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0021] This invention is used for order processing on online shopping platforms. "Bulk processing" refers to the process of consolidating orders into batches for batch processing, while "subsequent batch processing" refers to the process of orders entering batch processing.

[0022] Figure 1 This is a flowchart of an order allocation method provided in an embodiment of the present invention.

[0023] like Figure 1 As shown, the order allocation method includes the following steps.

[0024] Step S11: Provide a set of orders to be assigned, as well as the order data and geographical information of each order in the set of orders to be assigned.

[0025] In this embodiment, the set of orders to be assigned is obtained by filtering from the orders that have already been placed.

[0026] Specifically, based on the currently placed order data, the earliest possible order placement time and the latest mandatory order placement time for each order are calculated and compared with the current time. Orders that must be placed are then selected from the existing orders and added to the set of orders to be allocated. The order data includes the store, user location, and expected delivery time.

[0027] The steps for filtering out orders that must be placed in batches specifically include: if the current time is earlier than the earliest possible batching time for an order, then the order is classified as an order that will not be placed in batches temporarily; if the latest possible batching time for an order is approaching or has passed the next batching time, then the order is classified as an order that must be placed in batches. The orders that must be placed in batches are combined to form the set of orders to be allocated. Orders that will not be placed in batches temporarily are not considered for allocation; when order allocation is performed next time, the orders that must be placed in batches will be re-filtered.

[0028] The order data also includes the earliest estimated delivery time, the latest estimated delivery time, warehouse operation time, pickup time, and delivery time, which can be used to calculate the earliest possible batch time and the latest mandatory batch time for an order.

[0029] The methods for calculating the earliest possible order placement time and the latest mandatory order placement time specifically include: Earliest available date = Earliest estimated delivery time (Warehouse operation time + pickup time + delivery time + reserved time); Latest required next batch time = Estimated latest delivery time (Warehouse operation time + pickup time + delivery time + reserved time).

[0030] Since the current time is dynamic, the set of orders to be allocated obtained by filtering will change dynamically according to the current time, regardless of whether the currently placed orders have changed, so as to adapt to the order allocation needs of different time periods.

[0031] After determining the set of orders to be assigned, the system calls an interface to obtain the geographical information of each order in the set of orders to be assigned.

[0032] The geographic information includes the region where the order is located, the cycling navigation distance between the store and the order, and the cycling navigation distance between any two orders. Specifically, the order location refers to the user's location, the cycling navigation distance between two orders refers to the distance between the user's locations for those two orders, and the cycling navigation distance between the store and the order refers to the distance between the store and the user's location for those orders.

[0033] The geographic information enables the order allocation method of the present invention to optimize the allocation scheme based on the actual geographic distribution.

[0034] Step S12: Set the main constraints, which include distance constraints between orders in the same region, distance constraints between orders across regions, and the maximum percentage increase in distance for combined orders along the same route.

[0035] Specifically, the distance constraint between orders within the same region is used to limit the maximum distance between orders within the same region to be less than or equal to a distance threshold within the same region. The distance threshold within the same region is a set maximum value of the distance within the same region that conforms to the scenario.

[0036] The cross-regional order distance constraint is used to limit the maximum distance between cross-regional orders to be less than or equal to a cross-regional distance threshold. The cross-regional distance threshold is the maximum cross-regional distance set according to the scenario.

[0037] The maximum percentage constraint on the increase in distance for order merging is used to limit the ratio of the increased travel distance of the batch after order merging to the original travel distance to be less than or equal to a percentage threshold. In this embodiment, the percentage threshold is between 0 and 1. The travel distance is the total distance required to travel from the store to the completion of each order delivery within the same batch. In this embodiment, the travel distance also includes the return distance of the rider to the store.

[0038] Step S13: Based on the geographical information and the main constraints, the orders in the set of orders to be assigned are clustered in the same region to form a preliminary assignment result.

[0039] This step clusters orders within the same region based on their spatiotemporal proximity and the cycling navigation distance between them, prioritizing the merging of orders that are closest to each other, according to the geographical information of the order's region.

[0040] Specifically, this step involves iterative allocation until all orders in the set of orders to be allocated are allocated or no more orders can be added to the existing batch. The iterative allocation steps specifically include: Step S131: Take an unassigned order from the set of orders to be assigned as the initial order, and the batch in which the initial order is located is the current batch.

[0041] Since the iterative allocation process is executed cyclically, each execution takes an unallocated order from the set of orders to be allocated as the initial order, and the batch allocated in each execution is the current batch.

[0042] Step S132: Based on the geographical information, filter out orders in the same region whose distance from the initial order meets the distance constraint between orders in the same region, and form a first order set for the initial order.

[0043] Iterate through the set of orders to be assigned, and filter out orders from the same region as the initial order based on the region to which each order belongs. Then, based on the distance between the initial order and each order in the same region, filter out a group of orders from the orders in the same region whose distance from the initial order meets the distance constraint between orders in the same region. This group of orders is the first order set for the initial order.

[0044] The distance between two orders is the distance between the user locations of the two orders.

[0045] In this embodiment, in order to prioritize merging the closest orders, the orders in the first order set are arranged in ascending order of their distance from the initial order.

[0046] Step S133: Select orders that meet the auxiliary constraints from the first order set and add them to the current batch. The auxiliary constraints also include timeliness constraints, volume constraints, weight constraints, product quantity constraints, product type constraints, and angle constraints.

[0047] Each execution of step S133 in the iterative allocation process generates a batch containing the initial order.

[0048] In the order allocation method described in this invention, the number of orders in each batch is less than or equal to a single batch order number threshold. Accordingly, when the number of orders that meet the constraints selected in step S133 is greater than the single batch order number threshold, orders that are closer to the initial order are preferentially selected for inclusion in the batch.

[0049] The timeliness constraint is used to limit the time for completing the delivery of orders within each batch to be less than or equal to the scheduled latest delivery time. Specifically, the total travel time for completing the initial order plus the travel time for neighboring orders must be less than the remaining available travel time for the neighboring orders.

[0050] The volume constraint limits the total volume of goods in each order batch to a set volume threshold. The weight constraint limits the total weight of goods in each order batch to a set weight threshold. The quantity constraint limits the total number of items in each order batch to a set number of items threshold. The product type constraint limits the total number of product types in each order batch to a set type threshold.

[0051] The angle constraint is used to limit the angle between the user's location and the line connecting different orders belonging to the same store within the same batch to that store to be less than or equal to an angle threshold. The angle constraint uses the store and the user's location on the map as vertices to limit the orders in the same batch from being scattered in direction.

[0052] In some embodiments, when the distance between two orders is less than a specific value and the specific value is a small number, the angle between the user locations of the two orders and the line connecting them to the store is small, and the angle constraint can be relaxed. Here, the distance between the two orders is the distance between the user locations of the two orders.

[0053] By using the timeliness constraint, volume constraint, weight constraint, product quantity constraint, product type constraint, and angle constraint in the auxiliary constraints, the time requirements and physical limitations of the order can be taken into account, thereby achieving a more reasonable allocation.

[0054] In some embodiments, depending on different business needs, the auxiliary constraints may also include ice cream order constraints, which are used to limit the number of refrigerated and frozen goods orders in each batch to not exceed a set ice cream threshold.

[0055] By using different auxiliary constraints, parameter settings can be adjusted according to different business needs, ensuring the versatility of the order allocation method.

[0056] After repeatedly executing steps S131, S132, and S133, each order in the set of orders to be allocated in the preliminary allocation result is assigned a batch. In most cases, a batch may contain multiple orders from the same region that meet the constraints; in a few cases, a batch may contain only one order, which is a separately batched order.

[0057] Step S14: For individual batch orders in the preliminary allocation results, if the distance between the individual batch order and the cross-regional order meets the distance constraint between the cross-regional orders, the individual batch order and the nearest cross-regional order are merged into the same batch.

[0058] After step S13 is completed, step S14 is used to attempt to merge separately batched orders with other orders in the adjacent area into the same batch.

[0059] In this embodiment, when filtering cross-regional orders, the number of orders within a batch is also taken into account, and orders that are closest to the separately batched orders and have a small number of orders within the corresponding batch are prioritized for merging.

[0060] Specifically, in this embodiment, the steps include: Step S141, selecting a first cross-regional order group that meets the distance constraint between cross-regional orders from the separately batched orders; Step S142, sorting the orders in the first cross-regional order group in ascending order of distance between the cross-regional orders and the separately batched orders to form a second cross-regional order group; Step S143, sorting the second cross-regional order group in ascending order of the number of orders in the batch to form a third cross-regional order group; Step S144, selecting the most suitable cross-regional orders from the third cross-regional order group and merging them into the same batch.

[0061] Because the order allocation method of the present invention constrains the number of orders in each batch to be less than or equal to the single batch order number threshold, in this step, if the distance between the individual batch order and the cross-regional order meets the distance constraint between cross-regional orders, but the number of orders in the batch containing the cross-regional order has reached the single batch order number threshold, then merging cannot be achieved.

[0062] Step S15: For the unmerged individual batch orders, if the total driving distance between the individual batch orders and the route orders meets the maximum percentage constraint of the increase in the route order merging distance, the individual batch orders and the route orders are merged into the same batch.

[0063] This step further includes: step S151, arranging the unmerged individual batch orders in descending order of their distance from the corresponding store; step S152, calculating the total driving distance of each individual batch order and the orders along the same route; step S153, when the total driving distance meets the maximum percentage constraint of the increase in the distance of the combined order along the route, merging the individual batch order and the orders along the same route.

[0064] In step S151, the orders are sorted in descending order, prioritizing the merging of individual batch orders that are furthest from the store. Typically, individual batch orders furthest from the store have the highest probability of timeouts; by prioritizing the processing of these orders, the occurrence of timeouts can be reduced.

[0065] In step S152, for each individual batch order, first find the orders along the same route, and then calculate the total travel distance of the individual batch order and the orders along the same route.

[0066] In step S153, the maximum percentage constraint on the increase in the distance for combining routes is specifically as follows: .in, The original driving distance for orders along the same route. The total driving distance for both separately ordered orders and orders traveling along the same route. The percentage increase.

[0067] Step S16: Set an objective function based on the timeout rate, average delivery time per batch, and total number of batches. Optimize the preliminary allocation result by minimizing the objective function to obtain the final allocation result that satisfies the constraints.

[0068] The objective function is: .

[0069] Subject to: Used to constrain batches The delivery capacity must be greater than the maximum delivery capacity of all orders in the batch. It is a batch Delivery capabilities It is a batch Orders within The maximum delivery capacity, where delivery capacity refers to the difficulty or resource requirements of delivery, used to ensure the delivery of batches. It can fulfill all assigned orders.

[0070] This is used to restrict each order to only one batch. middle, This is used to constrain the actual completion time of the latter order in a given pair of adjacent orders to be later than the completion time of the former order plus the cycling time between the two adjacent orders.

[0071]

[0072] , in, The target is the timeout rate. The goal is the average delivery time per batch. The target is the number of batches. It is a dynamic weighting coefficient. For order number, Total number of orders For batch number, This represents the total number of batches. For orders The actual completion time, For orders Delivery conditions, such as delivery location and delivery priority.

[0073] It is an order The latest required completion time It is a 0-1 indicator function. , This refers to the delivery time for each batch. , Ω For the set of all orders, For batch The set of assigned orders, For batch The execution order of the assigned orders, For orders Location, For orders To order The distance between, For batch Delivery speed, For orders The volume of the goods For orders The weight of the goods, It is a batch The maximum number of orders in the system. It is a batch The largest volume of goods in the process, It is a batch The maximum weight of the item in the list.

[0074] The above method considers various constraints, such as product volume, weight, and timeliness, to find the optimal solution. By adjusting the weights of the objective function, it balances rider costs, delivery efficiency, and user experience, and globally optimizes the initial allocation result to obtain the final allocation result. In practical applications, after adopting the above order allocation method, the store's order processing efficiency has been significantly improved, the number of riders has decreased by about 10%, the total delivery distance has decreased by about 4%, and the average delivery distance per batch has increased by about 6%.

[0075] Based on the same inventive concept, the present invention also provides an order allocation device.

[0076] Figure 2 This is a schematic diagram of the structure of an order allocation device provided in an embodiment of the present invention. Figure 2 As shown, the order allocation device includes: an order preprocessing module 21, a geographic information acquisition module 22, and an allocation module 23.

[0077] The order preprocessing module 21 is used to provide a set of orders to be assigned and the order data of each order in the set of orders to be assigned.

[0078] The order preprocessing module 21 calculates the earliest possible batching time and the latest mandatory batching time for each order based on the currently placed order data and compares it with the current time. It then filters out the mandatory batching orders from the placed orders and adds them to the set of orders to be allocated. The order data includes the store, user location, and expected delivery time.

[0079] The geographic information acquisition module 22 is used to provide geographic information for each order in the set of orders to be assigned.

[0080] The geographic information includes the region where the order is located, the cycling navigation distance between the store and the order, and the cycling navigation distance between any two orders. Specifically, the order location refers to the user's location, the cycling navigation distance between two orders refers to the distance between the user's locations for those two orders, and the cycling navigation distance between the store and the order refers to the distance between the store and the user's location for those orders.

[0081] The allocation module 23 includes a constraint unit 231, a preliminary allocation unit 232, and an operations optimization unit 233.

[0082] The constraint unit 231 is used to set main constraint conditions, which include distance constraints between orders in the same region, distance constraints between orders across regions, and the maximum percentage increase in distance for orders combined along the same route.

[0083] In this embodiment, the constraint unit 231 is also used to set auxiliary constraint conditions, namely timeliness constraint, volume constraint, weight constraint, commodity quantity constraint, commodity type constraint and angle constraint.

[0084] The preliminary allocation unit 232 is used to cluster the orders in the set of orders to be allocated within the same region according to the geographical information and the main constraints to form a preliminary allocation result; for individual batch orders in the preliminary allocation result, when the distance between the individual batch order and the cross-regional order meets the distance constraint between cross-regional orders, the individual batch order is merged with the nearest cross-regional order into the same batch; for the unmerged individual batch orders, when the total travel distance of the individual batch order and the order along the same route meets the maximum percentage increase constraint of the distance of the order along the same route, the individual batch order is merged with the order along the same route into the same batch.

[0085] In this embodiment, the preliminary allocation unit 232 further filters orders based on the auxiliary constraints.

[0086] The initial allocation unit 232 generates an initial solution based on a greedy strategy and geographic clustering.

[0087] The operations optimization unit 233 is used to set an objective function based on the timeout rate, average delivery time per batch, and total number of batches, and optimize the preliminary allocation result by minimizing the objective function to obtain the final allocation result that satisfies the constraints.

[0088] All relevant content of each step involved in the aforementioned embodiments of the order allocation method can be referenced to the corresponding module of the order allocation device in the embodiments of this application, and will not be repeated here.

[0089] It should be noted that references to "an embodiment," "an embodiment," "an exemplary embodiment," "some embodiments," etc., in the specification indicate that the described embodiments may include specific features, structures, or characteristics, but each embodiment may not necessarily include that specific feature, structure, or characteristic. Furthermore, such phrases do not necessarily refer to the same embodiment. In addition, when a specific feature, structure, or characteristic is described in connection with an embodiment, whether explicitly described or not, implementing such a feature, structure, or characteristic in conjunction with other embodiments is within the knowledge of those skilled in the art.

[0090] It should be noted that the terms "comprising" and "having," and their variations, used in this invention document are intended to cover non-exclusive inclusion. The terms "first," "second," etc., are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence, unless explicitly indicated by the context. It should be understood that such data used interchangeably where appropriate. Furthermore, embodiments and features within embodiments of this invention can be combined with each other unless otherwise specified. In addition, descriptions of well-known components and technologies have been omitted in the above description to avoid unnecessarily obscuring the concepts of this invention. In the various embodiments described above, each embodiment focuses on its differences from other embodiments; similar or identical parts between embodiments can be referred to interchangeably.

[0091] The above description is only a preferred embodiment of the present invention. It should be noted that those skilled in the art can make several improvements and modifications without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. An order allocation method, characterized in that, include: Provide a set of orders to be assigned, as well as the order data and geographical information of each order in the set of orders to be assigned; Set primary constraints, which include distance constraints between orders within the same region, distance constraints between orders across regions, and the maximum percentage increase in distance for orders combined along the same route. Based on the geographical information and the main constraints, the orders in the set of orders to be assigned are clustered in the same region to form a preliminary assignment result; For individual batch orders in the preliminary allocation results, if the distance between the individual batch order and the cross-regional order meets the distance constraint between the cross-regional orders, the individual batch order and the nearest cross-regional order will be merged into the same batch; For the separate batch orders that are not merged, if the total travel distance of the separate batch orders and the route orders meets the maximum percentage constraint of the increase in the distance of the route order merging, the separate batch orders and the route orders will be merged into the same batch; An objective function is set based on the timeout rate, average delivery time per batch, and total number of batches. The final allocation result that satisfies the main constraint is obtained by minimizing the objective function to optimize the initial allocation result.

2. The order allocation method according to claim 1, characterized in that, The order data includes the store, user location, and expected delivery time; the geographic information includes the region where the order is located, the cycling navigation distance between the store and the order, and the cycling navigation distance between any two orders.

3. The order allocation method according to claim 1, characterized in that, The step of providing the set of orders to be allocated further includes: calculating the earliest possible order placement time and the latest mandatory order placement time for each order based on the currently placed order data and comparing them with the current time; filtering out the mandatory orders from the placed orders and adding them to the set of orders to be allocated; wherein the step of filtering out the mandatory orders specifically includes: If the current time is earlier than the earliest time an order can be batched, the order is classified as an order that will not be batched at the moment. If the latest time that an order must be batched is approaching or has passed the next batching time, the order is classified as an order that must be batched.

4. The order allocation method according to claim 3, characterized in that, The order data also includes the earliest estimated delivery time, the latest estimated delivery time, warehouse operation time, pickup time, and delivery time. The methods for calculating the earliest possible batch time and the latest mandatory batch time for an order specifically include: Earliest available date = Earliest estimated delivery time (Warehouse operation time + pickup time + delivery time + reserved time); Latest required next batch time = Estimated latest delivery time (Warehouse operation time + pickup time + delivery time + reserved time).

5. The order allocation method according to claim 1, characterized in that, The distance constraint between orders in the same region is used to limit the maximum distance between orders in the same region to be less than or equal to the distance threshold in the same region. The distance constraint between cross-regional orders is used to limit the maximum distance between cross-regional orders to be less than or equal to the cross-regional distance threshold. The maximum percentage constraint on the increase in distance for combined orders is used to limit the ratio of the additional travel distance in a batch after the combined order to the original travel distance to be less than or equal to a percentage threshold.

6. The order allocation method according to claim 1, characterized in that, The step of clustering orders in the set of orders to be assigned into the same region based on the geographic information and the main constraints to form a preliminary allocation result includes: performing iterative allocation repeatedly until all orders in the same set of orders to be assigned are allocated or no more orders can be added to the existing batch; The iterative allocation steps specifically include: The initial order is one of the unassigned orders in the set of orders to be assigned, and the batch in which the initial order is located is the current batch; Based on the geographic information, orders in the same region that meet the distance constraints between orders in the same region and the initial order are selected to form a first order set for the initial order; Orders that meet the auxiliary constraints are selected from the first order set and added to the current batch. The auxiliary constraints include timeliness constraints, volume constraints, weight constraints, product quantity constraints, product type constraints, and angle constraints.

7. The order allocation method according to claim 1, characterized in that, For the unmerged individual batch orders, when the total travel distance between the individual batch orders and the route-connected orders meets the maximum percentage constraint of the increase in distance for the route-connected order merging, the step of merging the individual batch orders and the route-connected orders into the same batch further includes: The unmerged individual batch orders are sorted in descending order of their distance from the corresponding store; Calculate the total travel distance for each individual batch order and orders along the same route in sequence; If the total travel distance meets the maximum percentage constraint of the combined order distance, then the separate batch order and the order along the same route are combined.

8. The order allocation method according to claim 1, characterized in that, The number of orders in each batch is less than or equal to the threshold for the number of orders in a single batch.

9. The order allocation method according to claim 1, characterized in that, The objective function is: , The constraints are: Used to constrain batches The delivery capacity must be greater than the maximum delivery capacity of all orders in the batch. It is a batch Delivery capabilities It is a batch Orders within Delivery capabilities This is used to restrict each order to only one batch. middle, This is used to constrain the actual completion time of the latter order in a given pair of adjacent orders to be later than the completion time of the former order plus the cycling time between the two adjacent orders. in, The target is the timeout rate. The goal is the average delivery time per batch. The target is the number of batches. It is a dynamic weighting coefficient. For order number, Total number of orders For batch number, This represents the total number of batches. For orders The actual completion time, For orders Delivery conditions, It is an order The latest required completion time It is a 0-1 indicator function. , This refers to the delivery time for each batch. , Ω For the set of all orders, For batch The set of assigned orders, For batch The execution order of the assigned orders, For orders Location, For orders To order The distance between, For batch Delivery speed, For orders The volume of the goods For orders The weight of the goods, It is a batch The maximum number of orders in the system. It is a batch The largest volume of goods in the process, It is a batch The maximum weight of the item in the list.

10. An order allocation device, characterized in that, include: An order preprocessing module is used to provide a set of orders to be assigned and order data for each order in the set of orders to be assigned; A geographic information acquisition module, which is used to provide geographic information for each order in the set of orders to be assigned; The allocation module includes a constraint unit, a preliminary allocation unit, and an operations research and optimization unit. The constraint unit is used to set the main constraint conditions, which include distance constraints between orders in the same region, distance constraints between orders across regions, and the maximum percentage increase in distance for orders combined along the same route. The preliminary allocation unit is used to cluster the orders in the set of orders to be allocated within the same region according to the geographical information and the main constraints to form a preliminary allocation result. For individual batch orders in the preliminary allocation results, if the distance between the individual batch order and the cross-regional order meets the distance constraint between the cross-regional orders, the individual batch order will be merged with the nearest cross-regional order into the same batch; for the individual batch orders that are not merged, if the total travel distance of the individual batch order and the order along the same route meets the maximum percentage constraint of the increase in distance for merging orders along the same route, the individual batch order will be merged with the order along the same route into the same batch. The operations optimization unit is used to set an objective function based on the timeout rate, average delivery time per batch, and total number of batches, and to optimize the preliminary allocation result by minimizing the objective function to obtain the final allocation result that satisfies the main constraint.