Order wave generation method, order allocation method, device, server and system
By generating highly cohesive order waves through dynamic clustering, the inefficiency and poor flexibility caused by static wave planning in traditional warehousing systems are solved, achieving more efficient order processing and resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN KUBO SOFTWARE CO LTD
- Filing Date
- 2026-04-24
- Publication Date
- 2026-07-03
AI Technical Summary
Static wave planning in traditional warehousing systems leads to low operational efficiency and poor system flexibility. Once a static wave is generated, its content remains unchanged, making it unable to adapt to changes in orders. Furthermore, ignoring the similarity of order content results in wasted capacity and uneven operations.
Order waves are generated through dynamic clustering based on feature similarity. Order combinations are optimized using feature similarity calculation and inverted index. The size of the order set is dynamically adjusted to generate highly cohesive order waves, and waves are dynamically allocated based on workstation status.
It improves the overall efficiency and flexibility of warehousing operations, reduces unnecessary trips of handling equipment, and enhances picking efficiency and workstation resource utilization.
Smart Images

Figure CN122335181A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of warehousing and logistics scheduling technology, specifically to an order wave generation method, an order allocation method, an order wave generation device, an order allocation device, a server, a computer-readable storage medium, and an order allocation system. Background Technology
[0002] In automated warehousing systems that combine goods-to-person picking with pick-and-place mechanisms, a large number of orders need to be processed efficiently and systematically. To achieve batch operations and optimize resource utilization, orders typically need to go through a wave planning process before being distributed to individual picking workstations for execution.
[0003] Traditional warehousing systems typically employ static wave planning. Upon receiving an order, the system immediately or periodically assigns it to a pre-defined wave and executes the orders in a pre-defined sequence. This static wave processing method limits the overall efficiency and flexibility of warehousing operations. Summary of the Invention
[0004] In view of the above problems, embodiments of this application provide an order wave generation method, an order allocation method, an order wave generation device, an order allocation device, a server, a computer-readable storage medium, and an order allocation system to solve the problems of low operational efficiency and poor system flexibility caused by static wave planning in the prior art.
[0005] According to a first aspect of the embodiments of this application, an order wave generation method is provided, comprising: obtaining a set of orders to be processed, the set of orders to be processed including multiple orders; performing a first clustering strategy on the orders in the set of orders to be processed, the first clustering strategy including: a candidate order combination determination step, the candidate order combination determination step including: determining multiple candidate order combinations from the set of orders to be processed; a feature similarity calculation step, the feature similarity calculation step including: calculating the feature similarity of each candidate order combination; a seed order combination selection step, the seed order combination selection step including: selecting the candidate order combination with the highest feature similarity as the seed order combination, constructing the current order wave based on the seed order combination, and removing the orders in the seed order combination from the set of orders to be processed; and an order adsorption step, the order adsorption step including: iteratively adsorbing orders from the remaining orders based on feature similarity and adding them to the current order wave, and removing the adsorbed orders from the set of orders to be processed until a termination adsorption condition is met.
[0006] In an optional embodiment, the method further includes: if the termination adsorption condition has not yet been met, but the feature similarity between the remaining orders in the order set to be processed and the overall feature set of the current order wave is lower than a first threshold, then the candidate order combination determination step, the feature similarity calculation step, the seed order combination selection step, and the order adsorption step are repeatedly executed in the remaining order set until the termination adsorption condition is met, so as to generate an order wave.
[0007] In an optional approach, before performing a first clustering strategy on the orders in the set of orders to be processed, the method further includes extracting feature values corresponding to at least one feature dimension for each order in the set of orders to be processed, constructing a mapping relationship between the feature values and order identifiers, wherein the mapping relationship is used to query an order identifier containing any feature value; the candidate order combination determination step includes: determining multiple candidate order combinations from the set of orders to be processed based on the mapping relationship.
[0008] In one alternative approach, the candidate order combination is a candidate order pair, and the calculation of the feature similarity of each candidate order combination includes: for any candidate order pair, obtaining a first feature set of the first order in the candidate order pair and a second feature set of the second order in the candidate order pair; and calculating a Jaccard similarity coefficient as the feature similarity based on the first feature set and the second feature set.
[0009] In one alternative approach, the termination adsorption condition includes at least one of the following: the number of orders in the current order wave reaches a preset wave capacity limit or the set of orders to be processed is empty.
[0010] In one alternative approach, the step of iteratively adding orders from the remaining orders to the current order wave based on feature similarity, and removing the added orders from the set of orders to be processed, until the termination condition is met, includes: calculating the feature similarity between each order in the remaining orders and the overall feature set of the current order wave; selecting the order with the highest feature similarity to add to the current order wave; and removing the added order from the set of orders to be processed, until the number of orders in the current order wave reaches a preset wave capacity limit.
[0011] In an alternative approach, when repeating the order adsorption step, if the remaining capacity n of the current order wave is less than the number of orders m of the newly determined candidate order combination, then the orders in the candidate order combination are added to the current order wave, and the mn orders with the lowest cohesion with the current order wave are removed from the current order wave.
[0012] In one alternative approach, removing the mn orders with the lowest cohesion to the current order wave includes: counting the frequency of occurrence of each feature value in the current order wave; for each order in the current order wave, calculating the cohesion score of the order based on the frequency of occurrence of each feature value contained in the order; and removing the order with the lowest cohesion score from the current order wave.
[0013] In one alternative approach, the cohesion score is obtained by summing the number of times each feature value contained in the order is shared, wherein the number of times any feature value is shared in an order containing that feature value is equal to the frequency of occurrence of that feature value in the current order wave minus one.
[0014] In one alternative approach, obtaining the set of orders to be processed includes: monitoring order traffic characteristics; and dynamically adjusting the accumulation conditions of the set of orders to be processed based on the order traffic characteristics to control the size of the set of orders to be processed.
[0015] In one optional approach, the order flow characteristics include the number of new orders and / or the order inflow rate within a unit period, and the accumulation conditions include one or more of waiting rounds, waiting time, and order quantity; the step of dynamically adjusting the accumulation conditions of the set of orders to be processed according to the order flow characteristics includes: if the order flow characteristics exceed a preset flow threshold, then increasing the waiting rounds, extending the waiting time, or increasing the order quantity; if the order flow characteristics do not exceed the preset flow threshold, and the accumulation conditions of the set of orders to be processed are met, then extracting feature values corresponding to at least one feature dimension for each order in the set of orders to be processed, constructing a mapping relationship between the feature values and order identifiers, and using the mapping relationship to query the order identifier containing any feature value.
[0016] In an optional embodiment, the method further includes: repeatedly executing the step of applying a first clustering strategy to the orders in the set of orders to be processed until the set of orders to be processed is empty, so as to generate multiple order waves; if the execution time of the first clustering strategy exceeds a preset time threshold, suspending the execution of the first clustering strategy; in response to the suspension of the first clustering strategy or the existence of unprocessed remaining orders in the set of orders to be processed, applying at least one second clustering strategy to the remaining orders to generate order waves, wherein the second clustering strategy includes clustering by order order and clustering by predetermined external wave number.
[0017] According to a second aspect of the embodiments of this application, an order allocation method is provided, comprising: in response to a target workstation's state satisfying a preset trigger condition, determining a target order wave from a plurality of order waves, and allocating the target order wave to the target workstation, wherein the plurality of order waves are generated according to the order wave generation method of any of the above embodiments.
[0018] In one alternative approach, the state of the target workstation includes the number of available slots of the target workstation; the preset trigger condition includes the number of available slots reaching a preset slot number threshold.
[0019] In one alternative approach, the preset slot quantity threshold is equal to the preset wave capacity upper limit.
[0020] In one optional approach, the step of determining a target order wave from the plurality of order waves and assigning the target order wave to the target workstation in response to the state of the target workstation satisfying a preset trigger condition includes: if the state of the plurality of workstations satisfies the preset trigger condition, determining each workstation that satisfies the preset trigger condition as a candidate workstation, and determining the target order wave from the plurality of order waves; obtaining container reuse information for each candidate workstation, the container reuse information being used to indicate a first set of containers that the candidate workstation can currently reuse; determining a second set of containers required for the target order wave; calculating an overlap score of the target order wave relative to each candidate workstation based on the first set of containers and the second set of containers; selecting the target workstation from the plurality of candidate workstations according to the overlap score, and assigning the target order wave to the target workstation.
[0021] In one alternative approach, the overlap score is determined based on the size of the intersection between the first container set and the second container set, or based on the number of newly added containers in the second container set that cannot be covered by the first container set.
[0022] According to a third aspect of the embodiments of this application, an order wave generation apparatus is provided, comprising: an acquisition module for acquiring a set of orders to be processed, the set of orders to be processed including multiple orders; a clustering module for executing a first clustering strategy on the orders in the set of orders to be processed, the first clustering strategy including: a candidate order combination determination step, the candidate order combination determination step including: determining multiple candidate order combinations from the set of orders to be processed; a feature similarity calculation step, the feature similarity calculation step including: calculating the feature similarity of each candidate order combination; a seed order combination selection step, the seed order combination selection step including: selecting the candidate order combination with the highest feature similarity as the seed order combination, constructing the current order wave based on the seed order combination, and removing the orders in the seed order combination from the set of orders to be processed; and an order adsorption step, the order adsorption step including: iteratively adsorbing orders from the remaining orders based on feature similarity and adding them to the current order wave, and removing the adsorbed orders from the set of orders to be processed until a termination adsorption condition is met.
[0023] According to a fourth aspect of the embodiments of this application, an order allocation apparatus is provided, comprising: an allocation module, configured to determine a target order wave from a plurality of order waves and allocate the target order wave to the target workstation in response to a target workstation's state satisfying a preset trigger condition, wherein the plurality of order waves are generated by the order wave generation method described in any of the above embodiments.
[0024] According to a fifth aspect of the present application, a server is provided, comprising: a processor and a memory, wherein the memory stores executable instructions, and the processor is capable of executing the executable instructions to implement the order wave generation method as described in any of the foregoing embodiments, or the order allocation method as described in any of the foregoing embodiments.
[0025] According to a sixth aspect of the present application, a computer-readable storage medium is provided, the storage medium storing executable instructions, which, when executed on a server, cause the server to perform the order wave generation method or the order allocation method as described in any of the above embodiments.
[0026] According to a seventh aspect of the embodiments of this application, an order allocation system is provided, comprising: a server as described in any of the above embodiments; and at least one workstation for reporting its status to the server and receiving and executing order waves allocated by the server.
[0027] In this embodiment, by performing dynamic clustering of orders based on feature similarity, the wave is initialized with the candidate order combination with the highest feature similarity as a seed, and then orders are iteratively absorbed based on similarity. This method can highly aggregate orders with common features together. This effectively improves the cohesion of orders within a single wave, reducing the types and quantities of tote boxes that need to be handled during subsequent picking tasks. This reduces unnecessary round trips of handling equipment, improving overall picking efficiency and system flexibility.
[0028] The above description is merely an overview of the technical solutions of the embodiments of this application. In order to better understand the technical means of the embodiments of this application and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of this application more obvious and understandable, specific implementation methods of this application are described below. Attached Figure Description
[0029] The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings: Figure 1 A schematic diagram of a picking workstation provided in an embodiment of this application; Figure 2 This is a schematic diagram illustrating an application scenario of an order wave generation method provided in an embodiment of this application; Figure 3 This application provides a schematic diagram of the structure of a server according to an embodiment of the present application. Figure 4 A flowchart illustrating an order wave generation method provided in this application embodiment; Figure 5 A detailed flowchart illustrating the execution of a first clustering strategy on orders in a set of orders to be processed, provided in an embodiment of this application; Figure 6 A flowchart illustrating the process of dynamically adjusting the accumulation conditions of the set of orders to be processed, as provided in an embodiment of this application; Figure 7 A flowchart illustrating an order allocation method provided in an embodiment of this application; Figure 8 A flowchart illustrating another order allocation method provided in an embodiment of this application; Figure 9 A schematic diagram of an order wave generation device provided in an embodiment of this application; Figure 10 This is a schematic diagram of the structure of an order allocation device provided in an embodiment of this application; Figure 11 This is a schematic diagram of the structure of an order allocation system provided in an embodiment of this application.
[0030] The reference numerals in the detailed embodiments are as follows: 1-Workbench; 2-Seedling wall; 3-Order box; 4-Inventory box; 100 - Warehousing system; 200 - Order allocation system; 10 - Server; 12 - Processor; 14 - Memory; 16 - Computer program; 20 - Workstation; 30 - Automated Guided Vehicle; 40 - Storage area; 900 - Order wave generation device; 910 - Acquisition module; 920 - Clustering module; 1000 - Order allocation device; 1010 - Allocation module. Detailed Implementation
[0031] Exemplary embodiments of the present application will now be described in more detail with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be implemented in various forms and should not be limited to the embodiments set forth herein.
[0032] In the description of the embodiments of this application, technical terms such as "first" and "second" are used only to distinguish different objects and should not be construed as indicating or implying relative importance or implicitly specifying the number, specific order, or primary and secondary relationship of the indicated technical features. In the description of the embodiments of this application, "multiple" means two or more (including two), and "multiple types" means two or more (including two), unless otherwise explicitly defined.
[0033] Order picking, a key link in warehousing and logistics, refers to the process of retrieving goods from inventory boxes and transferring them to the corresponding order boxes. Figure 1 This is a schematic diagram of a picking workstation provided in an embodiment of this application, to... Figure 1 Taking the "goods-to-person + picker wall + fixed order box" type picking workstation as an example: The picking workstation includes a workbench 1 and a picker wall 2; the picker wall 2 consists of a large number of slots, each slot corresponding to an independent order; after the order picking task is triggered, the hit inventory box 4 (also known as the material box) is transported to the workstation from the warehouse shelf by the robot; at the same time, the order box 3 (also known as the turnover box) at a certain slot (also known as the pick position) on the picker wall will be associated with the order, and the picking personnel will then pick out the corresponding goods from the inventory box 4 and put them into the associated order box 3.
[0034] In traditional goods-to-person automated warehousing scenarios with pick-and-place systems, a large number of orders need to be processed efficiently and systematically. To achieve batch operations and optimize resource utilization, orders typically need to go through a wave planning process before being distributed to various picking workstations for execution.
[0035] Traditional warehousing systems mostly employ static wave planning. Specifically, upon receiving an order, the system immediately or periodically assigns it to a pre-defined wave. First, once a static wave is generated, the set of orders it contains remains unchanged. If a wave contains an item that cannot be picked due to stock shortage, the entire wave becomes a "zombie wave"—neither executable nor automatically canceled—occupying system resources for an extended period. Second, traditional wave segmentation is often based on simple First-In-First-Out (FIFO) or order cut-off time sorting, ignoring the similarity of order content (such as SKU, batch, etc.). This results in a wave potentially involving numerous different bins, forcing robots to frequently move bins from various parts of the warehouse to workstations, leading to wasted capacity and low operational efficiency. Finally, wave assignment is typically push-based; the system pushes the wave to workstations immediately after generation, without considering workstation workload or available space on the picker wall. This easily leads to uneven workstation load, task backlog, and process congestion. The above static wave method restricts the overall efficiency and flexibility of warehousing operations.
[0036] To at least partially solve the above problems, embodiments of this application provide an order wave generation method that dynamically generates order waves based on feature similarity clustering, thereby improving the overall efficiency and flexibility of warehousing operations.
[0037] Please refer to Figure 2 , Figure 2 This diagram illustrates an application scenario of an order wave generation method provided in this application embodiment. The order wave generation method is applied to a warehousing system 100, which includes a server 10 and at least one workstation 20. The diagram shows eight workstations (P1-P8), but those skilled in the art should understand that this is merely an example, and the number of workstations is not limited thereto. The server 10 communicates with one or more workstations 20 via a network for data exchange. The server 10 is responsible for executing the order wave generation method in this application embodiment. The warehousing system 100 may also include other facilities or equipment, which are not limited in this application.
[0038] Workstation 20 is a station that performs operations such as picking and sorting. In a typical implementation, workstation 20 can be adopted... Figure 1The picking workstations shown can each be equipped with a seeding wall 2. Workstation 20 can monitor real-time status data such as the number of free slots in its seeding wall 2, current buffered or actively working bin information, and report this status data to server 10. In addition, the warehousing environment typically deploys handling equipment such as Automated Guided Vehicles (AGVs) 30 and / or conveyor lines (not shown) to move bins from storage area 40 to designated workstations 20 according to instructions from server 10. AGVs are also commonly referred to as robots.
[0039] Please refer to Figure 3 , Figure 3 This is a schematic diagram of the structure of a server provided in an embodiment of this application. Figure 3 As shown, the server 10 may include a processor 12 and a memory 14.
[0040] The memory 14 is used to store the computer program 16. The memory 14 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk drive. The computer program 16 may include computer-executable instructions.
[0041] The processor 12 is used to execute the computer program 16 to implement the order wave generation method of the embodiments of this application.
[0042] Processor 12 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. Server 10 may include one or more processors of the same type, such as one or more CPUs; or it may include processors of different types, such as one or more CPUs and one or more ASICs.
[0043] Please refer to Figure 4 , Figure 4 This is a flowchart illustrating an order wave generation method provided in an embodiment of this application. The method can be... Figure 2 and Figure 3 The method is executed on server 10. The method includes the following steps: S410: Get the set of orders to be processed.
[0044] The set of orders to be processed includes multiple orders that are pending processing. These orders can be new orders that come in in real time, or a subset selected from a larger pool of orders.
[0045] S420: Perform the first clustering strategy on the orders in the set of orders to be processed.
[0046] This step uses a first clustering strategy to divide the orders in the order set into one or more order waves. Executing the first clustering strategy specifically includes the following sub-steps: S421, Determine the candidate order combination.
[0047] This step identifies multiple candidate order combinations from the set of orders to be processed, serving as the basis for subsequent calculation of feature similarity. The feature dimensions used to calculate feature similarity are dimensions that describe and differentiate order attributes. Feature dimensions can be flexibly configured according to business needs, and may include one or more of the following: SKU, batch (referring to the production batch, warehousing date, or expiration date of the product), size, and temperature range (referring to the required storage temperature of the product, such as room temperature, refrigerated, or frozen).
[0048] One method for determining candidate order combinations is to iterate through all orders and pair them up to form candidate order pairs. However, this method has extremely high computational complexity. When the number of orders to be processed is very large, the computational load is also very large, which seriously affects the real-time performance of wave generation.
[0049] The inventors discovered that in warehousing order scenarios, a valid candidate order combination should contain at least one common feature (e.g., the same SKU, the same batch, etc.). Orders with no overlap in their feature sets necessarily have zero feature similarity and do not need to be included in similarity calculations. Therefore, in some embodiments, only order combinations containing at least one common feature are identified as candidate order combinations to reduce computational complexity and meet the online processing needs of massive orders. This paper also refers to containing the same feature as a shared feature.
[0050] Before determining candidate order combinations, to improve computational efficiency, a data preprocessing step can be performed. This involves extracting feature values corresponding to at least one feature dimension for each order in the order set to be processed, and constructing a mapping relationship between feature values and order identifiers. This mapping relationship is used to query the order identifier containing any feature value. This paper also refers to the mapping relationship between feature values and order identifiers as an inverted index. When extracting feature values, all orders in the order set to be processed can be traversed, and feature values under a preset feature dimension (e.g., SKU + batch) can be extracted for each order, forming a feature set F(o) for each order. For example, the feature set F(O1) for order O1 = {(SKU + batch)} A Lot1), (SKU B, Lot7)}. Then, a global inverted index is constructed, where the key is the feature value and the value is a list of identifiers (IDs) of all orders containing that feature value. For example, a record in the index might be: (SKU A Lot1) → [O1, O2, O9], where O1, O2, and O9 are order identifiers. By constructing the above mapping relationship, when searching for orders that share features with a certain order, it is not necessary to scan the entire set of orders to be processed. Instead, the index can be quickly queried using the feature value of the order as the key to obtain a narrowed list of candidate orders, thus improving computational efficiency.
[0051] After constructing the above mapping relationship, multiple candidate order combinations can be determined from the set of orders to be processed based on this mapping relationship. Each candidate order combination includes at least two orders (e.g., two, three, or more). The following explanation uses the example of a candidate order combination including two orders (i.e., a candidate order pair). For example, for order O1, find the inverted index corresponding to all its feature values, and form a candidate order pair with the orders in the inverted index corresponding to its feature values (excluding O1 itself). The feature set of order O1 is F(O1) = {(SKU A Lot1), (SKU B Lot7)}, and (SKU A The inverted index corresponding to Lot1 is (SKU) A Lot1) → [O1, O2, O9], and (SKU) B The inverted index corresponding to Lot7 is (SKU) B Lot7)→ [O1, O3], and the orders that form candidate order pairs with O1 are O2, O3, and O9, resulting in candidate order pairs of (O1, O2), (O1, O3), and (O1, O9). This method effectively avoids including a large number of order pairs with completely unrelated features in the calculation, thus reducing the computational load.
[0052] S422, calculate feature similarity.
[0053] This step calculates the feature similarity of each candidate order combination.
[0054] Taking the candidate order pair (O1, O2) as an example, the system obtains the first feature set F1 of the first order O1 and the second feature set F2 of the second order O2. Then, the similarity between the two is calculated based on F1 and F2. In some embodiments, the Jaccard similarity coefficient is used as the feature similarity. The Jaccard similarity coefficient is a statistical index used to measure the similarity between two finite sets. Its value is defined as the ratio of the size of the intersection to the size of the union of the two sets, and the value is between 0 and 1. The larger the value, the higher the degree of overlap between the two sets. The formula for calculating the Jaccard similarity coefficient is: , in, It represents the size of the intersection of two sets, that is, the number of common features; The size of the union of two sets can be expressed by the formula: Calculated.
[0055] For example, let A, B, C, and D be features. Suppose F(O1) = {A, B, C} and F(O2) = {A, B, D}, then the intersection of F(O1) and F(O2) is... Let {A, B} have a size of 2; union Given the integer {A, B, C, D}, its size is 4. Therefore, = 2 / 4 = 0.5.
[0056] Besides using the Jaccard similarity coefficient as a feature similarity, other metrics that can measure set similarity can also be used in other embodiments, such as the simple overlap coefficient (defined as...) based on intersection size. Similarity measures include cosine similarity (calculating the cosine of the angle between features after vectorizing the feature set), or weighted Jaccard similarity based on feature weights. Those skilled in the art can choose any suitable similarity metric based on their specific business needs regarding similarity accuracy and computational cost.
[0057] S423, Select seed order combination.
[0058] This step selects the candidate order combination with the highest feature similarity as the seed order combination, constructs the current order wave based on the seed order combination, and removes the orders in the seed order combination from the set of orders to be processed.
[0059] When selecting the candidate order combination with the highest feature similarity as the seed order combination, the Jaccard similarity coefficients of all candidate order combinations can be compared, and the combination with the highest score can be selected as the seed order combination. For example, if (O1, O2) is the candidate order combination with the highest feature similarity, then (O1, O2) is selected as the seed order combination. Subsequently, the current order wave is created, and O1 and O2 are added to it. At the same time, O1 and O2 are removed from the set of orders to be processed.
[0060] S424, adsorption order.
[0061] This step, based on feature similarity, iteratively absorbs orders from the remaining orders and adds them to the current order wave, then removes the absorbed orders from the set of orders to be processed, until the termination absorption condition is met.
[0062] When absorbing orders, unlike calculating the feature similarity of each candidate order combination, this process no longer compares only two individual orders. Instead, it calculates the similarity between each remaining order in the set of orders to be processed and the overall feature set of the current order wave. The overall feature set of the current order wave is the union of the feature sets of all orders within that wave.
[0063] For example, the current order batch contains {O1, O2}, and the overall feature set is Batch. F = F(O1) ∪ F(O2) = {A,B, C, D}. For the remaining order O3, its feature set F(O3) = {A, B, E}. Then the similarity between O3 and the current order wave is calculated as follows: Intersection size = |Batch F ∩ F(O3)| = |{A, B}| = 2, Union size = |Batch F The intersection size is calculated as: | + |F(O3| - intersection size = 4 + 3 - 2 = 5. Similarity = 2 / 5 = 0.4.
[0064] The similarity between each remaining order and the current order wave is calculated using the method described above. The order with the highest similarity is selected and added to the current order wave, then removed from the set of orders to be processed. This process is repeated iteratively until a termination condition is met. The termination condition may include: the number of orders in the current order wave reaches the preset wave capacity limit, or the set of orders to be processed is empty (i.e., all orders have been absorbed and there are no remaining orders).
[0065] This adsorption method, which uses the overall characteristics of the wave as a benchmark, ensures that the new orders added to the current order wave are those with the greatest overlap in characteristics with the current order wave (i.e., most similar to the current order wave), rather than just being similar to the last added order. This effectively maintains the cohesion of wave characteristics and avoids feature drift.
[0066] Through the above steps S421-S424, orders with highly similar features are aggregated into a single order wave.
[0067] Figure 5 This is a detailed flowchart illustrating the execution of a first clustering strategy on orders in a set of orders to be processed, as provided in an embodiment of this application. Figure 5 As shown, executing the first clustering strategy includes the following steps: S501, Feature Extraction. This step extracts the SKU / container information for each order in the candidate order pool.
[0068] S502, Construct the inverted index. This step constructs the mapping relationship between feature values and order identifiers: Feature → OrderList.
[0069] S503, Find the seed order pair. This step calculates the Jaccard similarity and selects the order pair with the highest Jaccard similarity as the seed order pair. Next, the greedy aggregation loop begins.
[0070] S504, calculate the similarity between the remaining candidate orders and the overall feature set of the current order wave.
[0071] S505, Find the best candidate order. In this step, the order with the highest similarity among the similarity calculated in step S504 is selected as the best candidate order, and this order is added to the current order wave.
[0072] S506, determine whether the preset wave capacity limit has been reached. If yes, proceed to step S507; otherwise, return to step S504 and continue to absorb orders.
[0073] S507 outputs the current order wave.
[0074] S508, Remove assigned orders from the candidate order pool.
[0075] S509, determine if the candidate order pool is empty. If yes, end the process and output all generated order waves; otherwise, return to step S503 to continue searching for seed order pairs to generate new order waves.
[0076] In practical applications, a situation may arise where the current order wave has not yet reached the preset wave capacity limit, but the similarity between the remaining orders and the overall feature set of the current order wave is very low (e.g., all are below the preset first threshold). This indicates that the feature cluster centered on the aforementioned seed order combination is already saturated, and continuing to absorb more orders will only introduce irrelevant orders, leading to a decrease in wave quality.
[0077] To address this issue, in some embodiments, if the termination adsorption condition has not yet been met, but the feature similarity between the remaining orders in the order set to be processed and the overall feature set of the current order wave is lower than a first threshold, then the execution returns to step S421. The entire process of determining candidate order combinations, calculating feature similarity, selecting seed order combinations, and adsorbing orders is repeated within the remaining order set. This means initiating a new clustering process within the same order wave to find and adsorb another highly cohesive subset of orders until the termination adsorption condition is met, thus generating an order wave. When an order wave is not yet full but the existing feature clusters are saturated, initiating a new round of clustering within the same wave allows highly cohesive subsets of orders that could not be adsorbed to be included as new clusters in the current wave without exceeding the preset wave capacity limit. This avoids wasting wave capacity or forcing the introduction of low-quality orders, maximizing the wave's order capacity and execution efficiency while ensuring high overall wave cohesion.
[0078] In the above process, the following situation may occur: the remaining capacity of the current order wave is n, while the newly found seed order pair contains m orders, where m > n. If the m orders are added to the current order wave, it will cause the current order wave to exceed the preset wave capacity limit. For example, if the current order wave has only 1 empty slot, and the newly found seed order pair contains 2 orders, adding these 2 orders to the current order wave will result in the current order wave having 1 extra order.
[0079] In some embodiments, for the above situation, firstly, all orders in the newly determined seed order combination containing m orders are added to the current order wave. At this time, the number of orders in the current order wave will temporarily exceed the preset wave capacity limit. Then, the mn orders with the lowest cohesion with the current order wave are removed from the current order wave. Cohesion refers to the degree of correlation between an order and other orders in the current order wave at the feature level. A higher cohesion score indicates that the order has more common features with other orders in the wave and the stronger the cohesion, while a lower cohesion score indicates that the order has fewer common features with other orders in the wave and the weaker the cohesion.
[0080] One method for calculating the cohesion score of an order within the current order wave is as follows: First, count the frequency of each feature value in the current order wave. For example, if the current order wave contains {O1, O2, O3}, F(O1) = {A, B}, F(O2) = {A, B, C}, and F(O3) = {A, D}, then feature A appears 3 times, feature B appears 2 times, and features C and D each appear once.
[0081] Secondly, for each order in the current order wave, the cohesion score of the order is calculated based on the frequency of occurrence of each feature value contained in the order. A specific calculation method can be: the cohesion score is obtained by accumulating the number of times each feature value contained in the order is shared, where the number of times any feature value is shared in an order containing that feature value is equal to the frequency of occurrence of that feature value in the current order wave minus one.
[0082] For example, for order O1 (containing features A and B), its cohesion score = (frequency of A occurrence - 1) + (frequency of B occurrence - 1) = (3 - 1) + (2 - 1) = 3. This score represents the total number of times that features of O1 are shared by other orders within the same wave.
[0083] Finally, the mn orders with the lowest cohesion scores are removed from the current order wave. These removed orders are then returned to the pending order set for further processing.
[0084] By removing the order with the lowest cohesion score as described above, the order wave can introduce and retain new order combinations with higher cohesion while eliminating the order with the lowest cohesion, thereby dynamically optimizing the overall quality of the wave.
[0085] After each order wave is generated, the entire S420 process is repeated (i.e., the first clustering strategy is repeated) until the set of orders to be processed is empty, thus generating multiple order waves.
[0086] The size of the pending order set obtained in step S410 directly affects the subsequent clustering effect. The pending order set is equivalent to a candidate order pool for generating order waves. The larger the candidate order pool, the higher the probability of finding highly similar order combinations and the higher the quality of the generated waves, but the corresponding waiting time will also increase. Traditional timed or quantitative order accumulation methods cannot detect changes in external order traffic: during peak order periods, a fixed window may miss the opportunity to aggregate a large number of similar orders due to overly fragmented candidate order pools; during off-peak order periods, a fixed waiting time may cause unnecessary delays.
[0087] To achieve a balance between wave quality and order timeliness, in some embodiments, the size of the order set to be processed is controlled based on real-time order flow characteristics. Step S410, namely obtaining the order set to be processed, further includes the following steps: S411, monitors order flow characteristics.
[0088] Order flow characteristics include the number of new orders and / or the order inflow rate per unit period.
[0089] S412 dynamically adjusts the accumulation conditions of the pending order set based on order flow characteristics to control the size of the pending order set.
[0090] The accumulation conditions include one or more of the following: waiting rounds, waiting duration, and order quantity. One or more accumulation conditions can be preset, and a set of orders to be processed is generated when any of the preset accumulation conditions is met.
[0091] In step S412, when the order flow characteristics indicate that the current period is a peak in orders (e.g., the number of new orders per unit period exceeds a preset flow threshold, and / or the order inflow rate exceeds a preset rate threshold), the number of waiting rounds can be increased, the waiting time extended, or the number of orders increased. This proactively accumulates more orders during busy periods, forming a larger set of orders to be processed. This makes it easier for subsequent clustering algorithms to construct waves with highly overlapping features, thereby further improving efficiency. When the order flow characteristics indicate that the current period is a stable or low-flow state (e.g., the number of new orders per unit period does not exceed a preset flow threshold, and / or the order inflow rate does not exceed a preset rate threshold), there is no need to adjust the above accumulation conditions. Clustering is triggered according to the preset accumulation conditions, thereby enabling a rapid response during idle periods, ensuring timely order processing, and avoiding unnecessary delays.
[0092] Please refer to Figure 6 , Figure 6 This is a flowchart illustrating the process of dynamically adjusting the accumulation conditions of the set of orders to be processed, as provided in an embodiment of this application. Figure 6 As shown, taking the order flow characteristics as the number of new orders within a unit period as an example, the accumulation conditions for dynamically adjusting the set of orders to be processed include the following steps: S601 periodically detects the arrival of new orders to obtain the number of new orders in the current period.
[0093] S602, determine whether the number of new orders in this period exceeds the preset traffic threshold. If yes, it means that the current period is a peak in orders, then proceed to step S603. If no, it means that the current period is a stable or low traffic state, then proceed to step S606.
[0094] S603 dynamically extends the waiting time. Alternatively, the accumulation conditions can be adjusted by increasing the number of waiting rounds or increasing the order quantity required to trigger the process.
[0095] S604, stay put and wait for orders to accumulate.
[0096] S605, Proceed to the next cycle. Then return to step S601 to calculate the new order volume for the next cycle.
[0097] S606, Check if the accumulation conditions for any set of pending orders are met. If any one of the target waiting rounds, maximum waiting time, and maximum order quantity is met, it means that the accumulation conditions for the set of pending orders are met, stop order accumulation, and proceed to step S607; if none of the above three conditions are met, it means that the accumulation conditions for the set of pending orders have not yet been met, proceed to step S605, enter the next cycle, and then return to step S601 to calculate the new order quantity for the next cycle.
[0098] S607, perform order clustering based on the currently obtained set of orders to be processed. For example, execute... Figure 5 The diagram shows the process of executing the first clustering strategy on orders in the set of orders to be processed.
[0099] If the first clustering strategy fails to produce results within the predetermined time due to computation timeout or internal anomalies, the entire order wave generation process will be blocked, causing downstream workstations to stagnate. In some embodiments, a preset time threshold is set for executing the first clustering strategy. If the execution time of the first clustering strategy exceeds the preset time threshold, the execution of the first clustering strategy is forcibly terminated. In response to the termination of the first clustering strategy, at least one second clustering strategy is executed on the remaining orders in the order set to be processed to generate order waves. Compared to the first clustering strategy, the second clustering strategy is a simpler and faster alternative strategy, including clustering by order order and clustering by a predetermined external wave number. Clustering by order order can be to divide the remaining orders into groups of k in sequence, while clustering by a predetermined external wave number can be to directly divide orders belonging to the same business wave into a group.
[0100] In addition, if there are still unprocessed orders in the order set after the first clustering strategy has been executed, at least one second clustering strategy can be executed on the remaining orders in the order set to generate order waves.
[0101] By employing the above method, a backup clustering strategy is used as a fallback when the main clustering strategy fails or when there are remaining orders. This ensures that the clustering of the entire set of orders to be processed can be completed under any circumstances, and the final output is an executable wave result, thereby ensuring that the entire warehouse scheduling system process is not interrupted.
[0102] After generating multiple order waves using the above method, these order waves need to be assigned to workstations. Please refer to... Figure 7 , Figure 7 This is a flowchart illustrating an order allocation method provided in an embodiment of this application. The method includes: S710: In response to the target workstation's status meeting a preset trigger condition, determine the target order wave from multiple order waves.
[0103] The multiple order waves are generated according to the order wave generation method provided in the aforementioned embodiments. The target workstation is one of many workstations in the warehousing system.
[0104] In one implementation, the status of the target workstation includes the number of available slots; the preset trigger condition includes the number of available slots reaching a preset slot number threshold. The number of available slots refers to the number of vacant slots in the seeding wall configured on the workstation.
[0105] S720: Assign target order waves to target workstations.
[0106] In related technologies, order allocation to workstations does not consider the workstation's status, which can easily lead to task backlog. The method described above uses the workstation's readiness status as a trigger signal, allocating order waves only to the workstation when it has prepared a sufficient number of available slots, effectively avoiding task blocking.
[0107] Preferably, the preset slot quantity threshold is configured to be equal to the preset wave capacity limit when generating waves. In this way, each triggered order wave can fill all the empty slots prepared by the workstation, so that the generated order waves will not be split for execution, and the clustering effect can be fully utilized.
[0108] In real-world scenarios, multiple workstations may simultaneously meet the triggering conditions. In this case, it's necessary to decide which workstation among those simultaneously meeting the triggering conditions to assign the target order wave to. One possible approach to selecting the final target workstation is to use a random allocation method.
[0109] Workstations often cache recently used or en route toy bins. If a newly assigned order wave requires a large number of these bins, they can be reused directly, reducing the need to handle new bins and lowering the robot's workload. In some embodiments, the most suitable target workstation is selected based on bin reuse efficiency. Please refer to... Figure 8 , Figure 8 A flowchart illustrating another order allocation method provided in this application embodiment. The method includes: S810, if the status of multiple workstations meets the preset trigger conditions, each workstation that meets the preset trigger conditions is identified as a candidate workstation, and the target order wave is determined from multiple order waves.
[0110] When determining the target order wave, you can select the order wave with the highest priority or the order wave with the earliest generation time based on priority or order generation order.
[0111] S820, obtain container reuse information for each candidate workstation.
[0112] Container reuse information is used to indicate the first set of containers that can be reused at a candidate workstation. This set typically includes: container C1 in the workstation buffer / desktop and container C2 that has been assigned to the workstation and is in transit, with the first set of containers F1 = C1∪ C2.
[0113] S830, determine the second set of containers required for the target order wave.
[0114] The second container set F2 can be obtained by parsing the demand details of all orders within the target order wave.
[0115] S840, based on the first container set and the second container set, calculates the overlap score of the target order wave relative to each candidate workstation.
[0116] The overlap score can be calculated based on the size of the intersection between the first and second container sets, for example, by calculating the intersection ratio, i.e., the hit rate Overlap = |F2∩ F1| / |F2|. Alternatively, it can be determined based on the number of newly added containers in the second container set that cannot be covered by the first container set; the fewer the newly added containers, the higher the overlap score.
[0117] S850 selects the highest-scoring candidate workstation from multiple candidate workstations based on the overlap score, and assigns the target order wave to that target workstation.
[0118] By using the above methods, order waves can be prioritized for allocation to the workstations with the highest required container hit rate, effectively improving the reuse rate of container resources, reducing the frequency of ineffective robot handling and bin outbound / return, and further improving the efficiency and stability of the overall system.
[0119] Please refer to Figure 9 , Figure 9 A schematic diagram of an order wave generation device provided in an embodiment of this application. The device 900 includes: The acquisition module 910 is used to acquire a set of orders to be processed, which includes multiple orders. Clustering module 920 is used to execute a first clustering strategy on orders in the set of orders to be processed. The first clustering strategy includes steps S421 to S424 described in the above embodiment of the order wave generation method.
[0120] The order wave generation apparatus 900 of this application embodiment also includes other modules for performing the steps of the above-described order wave generation method embodiment, which will not be described in detail here.
[0121] Please refer to Figure 10 , Figure 10 A schematic diagram of an order allocation device provided in an embodiment of this application. The device 1000 includes: The allocation module 1010 is used to determine a target order wave from multiple order waves in response to the target workstation's state meeting a preset trigger condition, and allocate the target order wave to the target workstation, wherein the multiple order waves are generated by the order wave generation method of the above embodiment.
[0122] The order allocation device 1000 of this application embodiment also includes other modules for performing the steps of the above-described order allocation method embodiment, which will not be described in detail here.
[0123] This application also provides an order allocation system, please refer to... Figure 11 , Figure 11 This is a schematic diagram of an order allocation system provided in an embodiment of this application. The system 200 includes the server 10 described above, and at least one workstation 20. The workstation 20 is used to report its status to the server 10, such as the number of empty slots in the seeding wall and container cache information, and to receive and execute order waves allocated by the server 10.
[0124] This application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described order wave generation method embodiment.
[0125] This application provides a computer program that can be executed by a processor to implement the above-described order wave generation method embodiment.
[0126] This application provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described order wave generation method embodiment.
[0127] In the several embodiments provided in this application, any function, if implemented as a software functional module / unit and sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of this application can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or other electronic device) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing computer program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0128] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, the embodiments of this application are not directed to any particular programming language. It should be understood that the content of this application described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of this application.
[0129] It should be noted that the above embodiments are illustrative of this application and not restrictive, and those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In claims enumerating several means, several units or modules of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.
[0130] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for generating order waves, characterized in that, include: Obtain a set of orders to be processed, which includes multiple orders; A first clustering strategy is applied to the orders in the set of orders to be processed. The first clustering strategy includes: The candidate order combination determination step includes: determining multiple candidate order combinations from the set of orders to be processed; The feature similarity calculation step includes: calculating the feature similarity of each candidate order combination; The seed order combination selection step includes: selecting the candidate order combination with the highest feature similarity as the seed order combination, constructing the current order wave based on the seed order combination, and removing the orders in the seed order combination from the set of orders to be processed; The order adsorption step includes: iteratively adsorbing orders from the remaining orders based on feature similarity and adding them to the current order wave, and removing the adsorbed orders from the set of orders to be processed, until the termination adsorption condition is met.
2. The method according to claim 1, characterized in that, The method further includes, if the termination adsorption condition has not yet been met but the feature similarity between the remaining orders in the order set to be processed and the overall feature set of the current order wave is lower than a first threshold, then the candidate order combination determination step, the feature similarity calculation step, the seed order combination selection step and the order adsorption step are repeatedly executed in the remaining order set until the termination adsorption condition is met, so as to generate an order wave.
3. The method according to claim 1, characterized in that, Before performing the first clustering strategy on the orders in the set of orders to be processed, the method further includes extracting feature values corresponding to at least one feature dimension for each order in the set of orders to be processed, constructing a mapping relationship between the feature values and order identifiers, and using the mapping relationship to query the order identifier containing any feature value based on any feature value; The candidate order combination determination step includes: determining multiple candidate order combinations from the set of orders to be processed based on the mapping relationship.
4. The method according to claim 1, characterized in that, The candidate order combinations are candidate order pairs, and the calculation of the feature similarity of each candidate order combination includes: For any candidate order pair, obtain the first feature set of the first order in the candidate order pair and the second feature set of the second order in the candidate order pair; Based on the first feature set and the second feature set, the Jaccard similarity coefficient is calculated as the feature similarity.
5. The method according to claim 1, characterized in that, The termination adsorption conditions include at least one of the following: the number of orders in the current order wave reaches the preset wave capacity limit or the set of orders to be processed is empty.
6. The method according to claim 1, characterized in that, The step of iteratively adding orders from the remaining orders to the current order wave based on feature similarity, and removing the added orders from the set of orders to be processed, until the termination condition is met, includes: Calculate the feature similarity between each remaining order and the overall feature set of the current order wave, select the order with the highest feature similarity to absorb and add it to the current order wave, and remove the absorbed order from the set of orders to be processed, until the number of orders in the current order wave reaches the preset wave capacity limit.
7. The method according to claim 2, characterized in that, When repeating the order adsorption step, if the remaining capacity n of the current order wave is less than the number of orders m of the newly determined candidate order combination, then the orders in the candidate order combination are added to the current order wave, and the mn orders with the lowest cohesion with the current order wave are removed from the current order wave.
8. The method according to claim 7, characterized in that, The step of removing the mn orders with the lowest cohesion to the current order wave from the current order wave includes: Calculate the frequency of occurrence of each feature value in the current order wave; For each order in the current order wave, the cohesion score of the order is calculated based on the frequency of occurrence of each feature value contained in the order; Remove the order with the lowest cohesion score from the current order wave.
9. The method according to claim 8, characterized in that, The cohesion score is obtained by summing the number of times each feature value contained in the order is shared, wherein the number of times any feature value is shared in an order containing that feature value is equal to the frequency of occurrence of that feature value in the current order wave minus one.
10. The method according to claim 1, characterized in that, The process of obtaining the set of orders to be processed includes: Monitor order flow characteristics; Based on the order flow characteristics, the accumulation conditions of the set of orders to be processed are dynamically adjusted to control the size of the set of orders to be processed.
11. The method according to claim 10, characterized in that, The order flow characteristics include the number of new orders per unit period and / or the order inflow rate, and the accumulation conditions include one or more of waiting rounds, waiting time and order volume; The step of dynamically adjusting the accumulation conditions of the set of orders to be processed based on the order traffic characteristics includes: If the order flow characteristics exceed a preset flow threshold, then the number of waiting rounds is increased, the waiting time is extended, or the order quantity is increased. If the order traffic characteristics do not exceed the preset traffic threshold, and the accumulation condition of the pending order set is met, at least one feature value corresponding to a feature dimension is extracted for each order in the pending order set, and a mapping relationship between the feature value and the order identifier is constructed. The mapping relationship is used to query the order identifier containing any feature value.
12. The method according to claim 1, characterized in that, The method further includes: Repeat the step of performing the first clustering strategy on the orders in the set of orders to be processed until the set of orders to be processed is empty, so as to generate multiple order waves; If the execution time of the first clustering strategy exceeds a preset time threshold, the execution of the first clustering strategy is terminated. In response to the termination of the first clustering strategy or the existence of unprocessed remaining orders in the pending order set, at least one second clustering strategy is executed on the remaining orders to generate order waves. The second clustering strategy includes clustering by order order and clustering by predetermined external wave number.
13. An order allocation method, characterized in that, include: In response to the target workstation's status meeting a preset trigger condition, a target order wave is determined from the plurality of order waves, and the target order wave is assigned to the target workstation, wherein the plurality of order waves are generated by the order wave generation method according to any one of claims 1-12.
14. The method according to claim 13, characterized in that, The status of the target workstation includes the number of available slots; the preset trigger condition includes the number of available slots reaching a preset slot number threshold.
15. The method according to claim 14, characterized in that, The preset slot quantity threshold is equal to the preset wave capacity upper limit.
16. The method according to claim 13, characterized in that, The process of responding to the target workstation's state satisfying a preset trigger condition, determining a target order wave from the plurality of order waves, and allocating the target order wave to the target workstation includes: If the status of multiple workstations meets the preset triggering conditions, each workstation that meets the preset triggering conditions will be identified as a candidate workstation, and the target order wave will be determined from the multiple order waves. Obtain container reuse information for each candidate workstation, wherein the container reuse information is used to indicate a first set of containers that can be reused at the current candidate workstation; Determine the second set of containers required for the target order wave; Based on the first container set and the second container set, calculate the overlap score of the target order wave relative to each of the candidate workstations; Based on the overlap score, the target workstation is selected from the multiple candidate workstations, and the target order wave is assigned to the target workstation.
17. The method according to claim 16, characterized in that, The overlap score is determined based on the size of the intersection between the first container set and the second container set, or based on the number of newly added containers in the second container set that cannot be covered by the first container set.
18. An order wave generation device, characterized in that, include: The acquisition module is used to acquire a set of orders to be processed, which includes multiple orders; The clustering module is used to execute a first clustering strategy on the orders in the set of orders to be processed, the first clustering strategy including: The candidate order combination determination step includes: determining multiple candidate order combinations from the set of orders to be processed; The feature similarity calculation step includes: calculating the feature similarity of each candidate order combination; The seed order combination selection step includes: selecting the candidate order combination with the highest feature similarity as the seed order combination, constructing the current order wave based on the seed order combination, and removing the orders in the seed order combination from the set of orders to be processed; The order adsorption step includes: iteratively adsorbing orders from the remaining orders based on feature similarity and adding them to the current order wave, and removing the adsorbed orders from the set of orders to be processed, until the termination adsorption condition is met.
19. An order allocation device, characterized in that, include: An allocation module is configured to, in response to a target workstation's state satisfying a preset trigger condition, determine a target order wave from the plurality of order waves and allocate the target order wave to the target workstation, wherein the plurality of order waves are generated by the order wave generation method according to any one of claims 1-12.
20. A server, characterized in that, include: A processor and a memory, wherein the memory stores executable instructions, and the processor is capable of executing the executable instructions to implement the order wave generation method as described in any one of claims 1-12, or the order allocation method as described in any one of claims 13-17.
21. A computer-readable storage medium, characterized in that, The storage medium stores executable instructions, which, when executed on the server, cause the server to perform the order wave generation method as described in any one of claims 1-12, or the order allocation method as described in any one of claims 13-17.
22. An order allocation system, characterized in that, include: The server as described in claim 20; as well as, At least one workstation is configured to report its status to the server and receive and execute order waves assigned by the server.