Order allocation method and apparatus, device, storage medium, and program product
By adopting a dynamic partitioning method in the warehousing system, the distribution of bins and task balancing are optimized based on order demand, which solves the problem of low order processing efficiency under static partitioning and achieves more efficient order processing.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SHENZHEN KUBO SOFTWARE CO LTD
- Filing Date
- 2025-12-01
- Publication Date
- 2026-07-09
AI Technical Summary
When order demand is uneven, the existing warehousing system's static zoning leads to insufficient or excessive capacity in some areas, affecting order processing efficiency.
A dynamic partitioning method based on order demand is adopted to divide the warehouse area into multiple reference sub-regions. The target bins are selected through virtual inventory allocation and clustering algorithms, and the reference sub-regions are adjusted to form target bins and target sub-regions, thereby optimizing bin distribution and task balance.
It improved the utilization rate of system capacity and order processing efficiency, reduced order processing time, and overcame the problem of capacity waste caused by uneven task allocation.
Smart Images

Figure CN2025138980_09072026_PF_FP_ABST
Abstract
Description
Order allocation methods, devices, equipment, storage media and program products
[0001] This application claims priority to Chinese Patent Application No. 202411999090.X, filed with the China National Intellectual Property Administration on December 31, 2024, entitled “Order Allocation Method, Apparatus, Equipment, Storage Medium and Program Product”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to the field of intelligent warehousing technology, and in particular to an order allocation method, apparatus, equipment, storage medium, and program product. Background Technology
[0003] With the continuous increase in warehouse area and the daily increase in order volume, higher demands are placed on the efficiency of order processing in the warehousing system. How to reduce the long-distance and cross-regional operations of robots is an urgent problem to be solved.
[0004] Currently, static zoning is commonly used to divide the warehouse into several fixed zones, aiming to ensure robots operate within the same zone, thereby improving the efficiency of robot tote handling and ultimately order processing. However, static zoning is only suitable for scenarios with stable order structures and evenly distributed order demands. When the picking workload varies significantly across different zones, some zones may experience insufficient or excessive capacity, impacting order processing efficiency. Summary of the Invention
[0005] This disclosure provides an order allocation method, apparatus, device, storage medium, and program product, which realizes dynamic partitioning based on order demand, improves the balance of task load in partitions, thereby improving the utilization rate of system capacity and the efficiency of order processing.
[0006] Firstly, this disclosure provides an order allocation method, comprising: dividing a warehouse area into multiple reference sub-areas; performing virtual inventory allocation for target orders in each reference sub-area to obtain multiple hit boxes; selecting multiple hit boxes and adjusting multiple reference sub-areas based on the storage location of the multiple hit boxes and the number of task items corresponding to each hit box, to obtain multiple target boxes and multiple target sub-areas; wherein, the number of task items corresponding to the hit boxes is the number of items in the target order satisfied by the hit boxes; the multiple target boxes are a portion of the hit boxes, and the multiple target boxes are used to complete the target orders; and allocating order tasks to workstations within the corresponding target sub-areas, wherein the order task is the picking task of the target order satisfied by the target boxes within the corresponding target sub-area.
[0007] In one possible implementation, based on the storage locations of multiple hit boxes and the number of tasks corresponding to each hit box, multiple hit boxes are selected and multiple reference sub-regions are adjusted to obtain multiple target boxes and multiple target sub-regions. This includes: using a clustering algorithm, based on an objective function between the number of tasks in each pile and the first distance corresponding to each selected box in each pile, multiple rounds of selection of multiple hit boxes and multiple rounds of regional adjustment of each pile are performed to obtain multiple target boxes and multiple target sub-regions; wherein, the initial value of the pile is the corresponding reference sub-region; the selected box is the box selected from the hit boxes in each round of regional adjustment to complete the target order; the first distance corresponding to the selected box is the distance between the selected box and the center point of the box in the pile; the center point of the pile is the center of the storage location of each selected box in the pile; the number of tasks in the pile is the sum of the number of tasks corresponding to each selected box in the pile.
[0008] In one possible implementation, a clustering algorithm is used to perform multiple rounds of selection of target boxes and multiple rounds of region adjustment for each pile, based on an objective function relating the number of task items in each pile and the first distance corresponding to each selected box in each pile, to obtain multiple target boxes and multiple target sub-regions. This includes: locking a first type of box among the multiple target boxes as the target boxes; the first type of box is the target box that must be selected to complete the target order; using a clustering algorithm, based on an objective function relating the number of task items in each pile and the first distance corresponding to each selected box in each pile, a second type of box is selected in multiple rounds and multiple rounds of region adjustment for each pile, to obtain multiple target boxes and multiple target sub-regions; the second type of box is the target box other than the first type of box.
[0009] In one possible implementation, a clustering algorithm is used to perform multiple rounds of selection of target boxes and multiple rounds of region adjustment of each pile, based on an objective function relating the number of task items in each pile to the first distance corresponding to each selected box in each pile, to obtain multiple target boxes and multiple target sub-regions. This includes: using a clustering algorithm, based on an objective function relating the number of task items in each pile to the first distance corresponding to each selected box in each pile, multiple rounds of selection of target boxes and multiple rounds of region adjustment of each pile, with the constraint that the number of task items in each pile after adjustment is greater than or equal to a first threshold, to obtain multiple target boxes and multiple target sub-regions.
[0010] In one possible implementation, the order allocation method further includes: determining the number of items required by a workstation based on the required number of outbound items in the warehousing system and the number of workstations; and determining a first threshold based on the number of items required by a workstation and the number of slots in a single workstation.
[0011] In one possible implementation, determining a first threshold based on the number of workstations required and the number of slots in a single workstation includes: calculating the ratio of the number of workstations required to the number of slots in a single workstation to obtain a first number of workstations; calculating the ratio of the product of a first preset coefficient and the number of workstations required to the number of slots in a single workstation to obtain a second number of workstations; and determining a first threshold based on the first number of workstations and the second number of workstations, wherein the first threshold is an integer greater than or equal to the first number of workstations and less than or equal to the second number of workstations.
[0012] In one possible implementation, the objective function is the sum of the objective indices of each pile; the objective index of each pile is the sum of the first ratios corresponding to the selected bins in the pile, and the first ratio is the ratio of the first distance corresponding to the selected bin to the number of task items in the pile.
[0013] In one possible implementation, the order allocation method further includes: calculating the product of a second preset coefficient and the number of items required by the workstations in the warehousing system, and the ratio of this product to the number of slots in a single workstation, to obtain the target number of items in the slots; and determining the number of reference sub-regions based on the rounded result of the ratio of the target order's required number of items to the target number of items in the slots.
[0014] In one possible implementation, virtual inventory allocation for target orders is performed on each reference sub-region to obtain multiple hit bins, including: for each reference sub-region, selecting any workstation in the reference sub-region as the target workstation for executing the target order; and based on the selected target workstation, determining multiple hit bins from the storage area that meet the requirements of the target order.
[0015] In one possible implementation, assigning order tasks to workstations within the corresponding target sub-region includes: for each target sub-region, if the target sub-region includes a target workstation within the corresponding reference sub-region, then assigning the order task corresponding to the target sub-region to the target workstation; the target sub-region is adjusted from the corresponding reference sub-region; if the target sub-region does not include a target workstation within the corresponding reference sub-region, then assigning the order task corresponding to the target sub-region to any workstation within the target sub-region.
[0016] Secondly, this disclosure provides an order allocation device, comprising: a partitioning module for dividing a storage area into multiple reference sub-areas; a virtual allocation module for performing virtual inventory allocation of target orders to each reference sub-area to obtain multiple hit boxes; a partition adjustment module for selecting multiple hit boxes and adjusting multiple reference sub-areas based on the storage location of the multiple hit boxes and the number of task items corresponding to each hit box, to obtain multiple target boxes and multiple target sub-areas; wherein, the number of task items corresponding to the hit boxes is the number of items in the target order satisfied by the hit boxes; the multiple target boxes are some of the hit boxes, and the multiple target boxes are used to complete the target order; and an order allocation module for allocating order tasks to workstations within the corresponding target sub-areas, wherein the order task is the picking task of the target order satisfied by the target boxes within the corresponding target sub-area.
[0017] Thirdly, this disclosure provides an electronic device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform the method provided in the first aspect above.
[0018] Fourthly, this disclosure provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method provided in the first aspect above.
[0019] Fifthly, this disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the method provided in the first aspect above.
[0020] This disclosure provides an order allocation method, apparatus, equipment, storage medium, and program product. To improve the balance of picking tasks for target orders across different zones of a warehouse area, it offers a dynamic partitioning method based on the order demand of target orders. Specifically, the warehouse area is first divided into multiple reference sub-areas, for example, evenly. Then, workstations within each reference sub-area are used as simulated workstations for orders. Through virtual inventory allocation, multiple hit boxes that meet the order demand are obtained. Using the storage location of the hit boxes and the number of tasks corresponding to each hit box, the reference sub-areas are adjusted and optimized, resulting in a balanced distribution of target boxes and a balanced number of tasks within each target sub-area. During task allocation, picking tasks for target orders fulfilled by target boxes within a target sub-area are allocated to workstations within that target sub-area, on a per-target-sub-area basis. By distributing target orders to workstations in multiple sub-regions, the parallelism of order operations is improved, thus increasing order processing efficiency. At the same time, by dynamically adjusting the partitions based on target order demand, the balance of picking tasks in different sub-regions is improved, reducing the time required to complete order processing. This overcomes the problem of idle or surplus capacity in the warehousing system due to uneven task distribution, thereby improving the utilization rate of the system's capacity. Attached Figure Description
[0021] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0022] Figure 1 is a schematic diagram of a warehousing system;
[0023] Figure 2 is a flowchart illustrating an order allocation method provided in an embodiment of this disclosure;
[0024] Figure 3 is a schematic diagram of the static zoning results of the storage area provided in the embodiments of this disclosure;
[0025] Figure 4 is a schematic diagram of the reference sub-region adjustment process provided in the embodiments of this disclosure;
[0026] Figure 5 is a schematic diagram of the target order and its virtual inventory allocation results provided in the embodiments of this disclosure;
[0027] Figure 6 is a flowchart illustrating another order allocation method provided in an embodiment of this disclosure;
[0028] Figure 7 is a schematic diagram of the virtual inventory allocation results of the Ath time provided in the embodiments of this disclosure;
[0029] Figure 8 is a flowchart illustrating another order allocation method provided in an embodiment of this disclosure;
[0030] Figure 9 is a schematic diagram of an order allocation device provided in an embodiment of this disclosure;
[0031] Figure 10 is a schematic diagram of the structure of the electronic device provided in the embodiment of this disclosure.
[0032] The accompanying drawings have illustrated specific embodiments of this disclosure, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concepts of this disclosure to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0033] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0034] In warehousing systems, to improve order processing efficiency and reduce the walking distance of robots carrying boxes, the warehousing area is usually divided into multiple sub-areas, and the robots should operate within the corresponding sub-areas as much as possible.
[0035] For example, Figure 1 is a schematic diagram of a warehousing system. As shown in Figure 1, the warehousing area of the system is equipped with shelves, which include multiple storage locations for storing bins. When executing an order for outbound goods, the warehousing system selects a matching bin for the order so that the order can be completed by picking from the matching bin. After the matching bin is determined, a robot will transport the matching bin to a workstation for item sorting. Additionally, a workstation can correspond to multiple slots, which are areas used to buffer order bins. Each slot contains one order bin. When an order is issued to a workstation for item picking, the warehousing system will bind the order to the corresponding order bin. When the bin corresponding to the order is transported to the workstation, picking personnel or automated picking devices will pick the items required for the order from the bin and place them into the order bin.
[0036] The warehousing system includes multiple workstations, such as workstations 1 to 4 in Figure 1. In some workstation layout scenarios, the lateral distance between workstations may be relatively large. Therefore, if an order is sent to one of the workstations for item picking, the distance between the picking bin and the workstation may be too far, resulting in low efficiency in picking bin handling. Therefore, the existing technology statically divides the warehousing area into multiple sub-areas, such as sub-areas 1 to sub-areas 3 in Figure 1, so that the robot can pick bins nearby within the workstation of each sub-area, solving the problem of reduced efficiency caused by long-distance handling and cross-area scheduling.
[0037] Static partitioning results in fixed and unchanging sub-regions. If the corresponding hit bins for an order are evenly distributed across the sub-regions, static partitioning can significantly improve order processing efficiency. However, in scenarios where the corresponding hit bins for an order are unevenly distributed across the sub-regions, static partitioning can lead to insufficient or excessive transport capacity (robots) in some sub-regions, resulting in low robot utilization.
[0038] To address the aforementioned issues, this disclosure provides an order allocation method. Based on static partitioning, it proposes a dynamic partitioning adjustment strategy based on order demand, which balances the number of boxes hit in each sub-region after adjustment, as well as the total picking tasks corresponding to the boxes hit in each sub-region, thereby improving the utilization rate of the warehousing system's capacity and the efficiency of order processing.
[0039] The technical solutions of this disclosure and how they solve the aforementioned technical problems will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of this disclosure will now be described with reference to the accompanying drawings.
[0040] Figure 2 is a flowchart illustrating an order allocation method provided in this embodiment. The order allocation method provided in this embodiment can be executed by any device in the warehousing system with corresponding data processing capabilities. This device can be specifically designed for order allocation, or it can be a device in the warehousing system responsible for other functions, such as a scheduling device. This scheduling device can also be used to allocate robots to the hit bins. As shown in Figure 2, the order allocation method provided in this embodiment includes the following steps:
[0041] Step S201: Divide the storage area into multiple reference sub-areas.
[0042] The storage area is the area in the storage system used to store goods. It can contain one or more rows of shelves. Each row of shelves includes multiple storage locations arranged in a matrix. The space corresponding to each storage location can be a fixed size or a dynamic space that changes flexibly according to the size of the boxes to be stored.
[0043] Specifically, the storage area can be divided into multiple reference sub-areas, using any division method, such as equal division or non-equal division.
[0044] For example, the warehouse area can be divided into multiple reference sub-areas based on the number of workstations in the warehouse system, so that the number of workstations in each reference sub-area is as equal as possible.
[0045] In some embodiments, the number of reference sub-regions, such as A, can be given so that when statically partitioning the storage area, the storage area is divided into A reference sub-regions.
[0046] When a warehouse area is divided into A reference sub-areas, and the division method is based on the number of workstations, some reference sub-areas may share workstations if the number of workstations is not divisible by the number of reference sub-areas. For example, Figure 3 is a schematic diagram of the static partitioning result of a warehouse area provided in an embodiment of this disclosure. As shown in Figure 3, the warehouse system includes 6 workstations, namely workstations 311 to 316, which are evenly distributed. Taking a reference sub-area of 4 as an example, one result of dividing the warehouse into 4 reference sub-areas r31 to r34 is shown in Figure 3. The workstations within reference sub-areas r31 to r34 are, in order: workstations 311 and 312, workstations 312 and 313, workstations 314 and 315, and workstations 315 and 316. Reference sub-areas r31 and r32 share workstation 312, and reference sub-areas r33 and r34 share workstation 315. If there are 5 reference sub-regions and 6 workstations, the result of the partitioning can be that one workstation is shared by two adjacent reference sub-regions, and the remaining 5 workstations are evenly distributed among each reference sub-region.
[0047] Step S202: Perform virtual inventory allocation for target orders in each reference sub-region to obtain multiple hit bins.
[0048] A target order is any order that is to be sent to a workstation for the workstation to pick items. A target order may include at least one order line, and each order line may include an item identifier of one type of item required by the target order, as well as the quantity of the item.
[0049] In warehousing systems, SKUs (Stock Keeping Units) are typically used as item identifiers to represent an item. One order line in a target order can correspond to one SKU, and different order lines are used to describe the different SKUs required by the order, as well as the quantity of each SKU.
[0050] Virtual inventory allocation simulates the process of selecting a workstation as the workstation to perform the item picking task corresponding to the target order, and allocating inventory to obtain a set of hit boxes corresponding to the target order, which meets the needs of the target order.
[0051] For each of the defined reference sub-regions, any workstation within that sub-region is used as the workstation to simulate the execution of the target order. By performing virtual inventory allocation on the target order, a set of hit boxes corresponding to the target order is obtained. By traversing each reference sub-region, multiple sets of hit boxes are obtained, thus obtaining the aforementioned multiple hit boxes. Each set of hit boxes includes at least one hit box.
[0052] For example, Table 1 shows the list of hit bins for target order 1. Target order 1 includes two order lines: shoes a: 500 pairs and socks b: 1000 pairs, meaning target order 1 requires 500 pairs of shoes a and 1000 pairs of socks b. Assume the warehouse area is divided into three reference sub-areas, r1 to r3. For the order line containing shoes a in target order 1, when performing virtual inventory allocation based on workstations in reference sub-areas r1 to r3, the hit bins are: bins 1 to 10, bins 2, 5, 21 to 28, and bins 9 and 31 to 39. For the order line containing socks b in target order 1, when performing virtual inventory allocation based on workstations in reference sub-areas r1 to r3, the hit bins are: bins 12 to 17, 13 to 19, and 13 to 19. The bins listed in the cells of Table 1, excluding the header, can meet the requirements of the order line containing the corresponding item. For example, bins 1 to 10 contain at least 500 pairs of shoes a.
[0053] Table 1. List of hit bins for Target Order 1
[0054] Step S203: Based on the storage locations of multiple hit boxes and the number of task items corresponding to each hit box, select multiple hit boxes and adjust multiple reference sub-regions to obtain multiple target boxes and multiple target sub-regions.
[0055] Among them, the number of task items corresponding to the hit bin is the number of items in the target order that the hit bin satisfies; multiple target bins are some of the hit bins, and multiple target bins are used to complete the target order.
[0056] The target sub-region is the final sub-region obtained after dynamic adjustment of the reference sub-region, and the number of target sub-regions is the same as the number of reference sub-regions. The target bin is the final selected bin used to complete the item picking task corresponding to the target order.
[0057] After obtaining multiple hit boxes for the target order through multiple rounds of virtual inventory allocation, it is necessary to adjust the reference sub-regions multiple times based on the distribution of the hit boxes and the number of tasks corresponding to the hit boxes. During the adjustment of the reference sub-regions, the selected boxes are adjusted to ensure that the distribution and quantity of target boxes are balanced among the target sub-regions, or that the distribution and quantity of target boxes and the number of tasks are balanced among the target sub-regions.
[0058] An iterative process can be used to select a set of target boxes for completing the target order through multiple rounds, based on the location of the target box and the number of tasks corresponding to the target box. Simultaneously, the reference sub-regions are scaled to ensure that the density of selected boxes is similar across the adjusted reference sub-regions and that the number of tasks in each adjusted reference sub-region is as equal as possible. The selected boxes are the target boxes chosen in each iteration to complete the target order; the number of tasks in the adjusted reference sub-region is the sum of the number of tasks corresponding to all selected boxes within the adjusted reference sub-region.
[0059] The number of iterations can be set, and the adjusted reference sub-region and selected bin output from the last iteration can be used as the target sub-region and target bin.
[0060] In each iteration, adjustments are made based on the reference sub-region adjusted in the previous iteration.
[0061] After obtaining the adjusted reference sub-region for each iteration, the number of selected boxes within the adjusted reference sub-region and the distance between each selected box and its center point can be calculated. Based on these two parameters, the density of selected boxes within the adjusted reference sub-region is determined. If the density of selected boxes in each adjusted reference sub-region is relatively similar (i.e., the difference is small), there is no need to continue iterating, and the loop ends early. Each adjusted reference sub-region and its selected boxes are output as the target sub-region and target boxes. If there is a significant difference in the density of selected boxes among the adjusted reference sub-regions, the selection of the target box and the adjustment of the reference sub-region are continued in the next iteration. The center point of the box is the center of the storage location of all selected boxes in the corresponding reference sub-region, i.e., the center point of the box is the center of the storage location of all selected boxes in the corresponding reference sub-region.
[0062] Clustering algorithms and objective functions can be used to perform multiple rounds of selecting hit bins and adjusting reference sub-regions, resulting in target bins and target sub-regions. Information about multiple hit bins (such as the warehouse location corresponding to the hit bin and the SKU in the target order corresponding to the hit bin) and the number of tasks corresponding to each hit bin can be input into the clustering module. The clustering module, based on the clustering algorithm and the designed objective function, performs multiple rounds of hit bin selection and reference sub-region adjustment, outputting multiple target bins and multiple target sub-regions. Clustering is performed with the objective function as the goal, yielding the clustering results, i.e., multiple target bins and multiple target sub-regions.
[0063] In some embodiments, the objective function can be a function of the distance between the selected bin and the center point of the bin in each of the adjusted reference sub-regions obtained after the current iteration. By setting the objective function, the sum of the distances required to move the bins in each target sub-region is made close, thereby achieving a balanced handling task.
[0064] In other embodiments, the objective function can be a function relating the distance between the selected bin and the center point of the bin within the adjusted reference sub-region obtained after the current iteration, and the number of tasks corresponding to the adjusted reference sub-region obtained after the current iteration, so as to balance the handling and sorting tasks in each objective sub-region.
[0065] Step S204: Assign the order task to the workstation in the corresponding target sub-region.
[0066] Among them, the order task is a part of the picking task in the target order that the target bins in the corresponding target sub-area satisfy.
[0067] Specifically, the target bins in each target sub-area are the bins used to complete the target order, and the order task corresponding to the target sub-area is the picking task of a portion of the items in the target order completed by the target bins in the target sub-area.
[0068] For example, taking a target order comprising order lines 1 to 3, a target sub-region comprising target sub-regions M1 to M3, and target bins comprising bins L1 to L10, bins L1 to L3 are located within target sub-region M1 and are used to complete the picking task for order line 1 in the target order; bins L4 to L7 are located within target sub-region M2 and are used to complete the picking task for order line 2 and the first part of order line 3 in the target order; bins L8 to L10 are located within target sub-region M3 and are used to complete the picking task for the second part of order line 3 in the target order. Therefore, the order task corresponding to target sub-region M1 is the picking task for order line 1 in the target order, the order task corresponding to target sub-region M2 is the picking task for order line 2 and the first part of order line 3 in the target order, and the order task corresponding to target sub-region M3 is the picking task for the second part of order line 3 in the target order.
[0069] Order tasks corresponding to a target sub-region can be assigned to any available workstation within that target sub-region, or assigned to a workstation located within that target sub-region that was selected during virtual inventory allocation.
[0070] Specifically, if a workstation selected during virtual inventory allocation exists within the target sub-region and that workstation has available slots, then the order tasks corresponding to the target sub-region will be prioritized for allocation to that workstation. If a workstation selected during virtual inventory allocation exists within the target sub-region but has no available slots, the workstation can wait for its slots to become available before allocating the order tasks to that workstation, or the order tasks can be allocated to other workstations within the target sub-region that have available slots. If the target sub-region does not include the workstation selected during virtual inventory allocation, then the order tasks corresponding to the target sub-region will be allocated to any workstation within the target sub-region that has available slots. If no workstation has available slots, the workstation will wait for its slots to become available before allocating the order tasks to workstations within the target sub-region that have available slots.
[0071] The order allocation method provided in this disclosure aims to improve the balance of picking tasks for target orders across different zones of a warehouse area. It offers a dynamic partitioning approach based on the order demand of the target order. Specifically, the warehouse area is first divided into multiple reference sub-areas, for example, evenly. Then, each workstation within a reference sub-area is used as a simulated workstation for the order. Through virtual inventory allocation, multiple matching boxes that meet the order demand are obtained. The reference sub-areas are adjusted and optimized using the location of the matching boxes and the number of tasks corresponding to each matching box, resulting in a balanced distribution of target boxes and a balanced number of tasks within each target sub-area. During task allocation, picking tasks for target orders fulfilled by the target boxes within a target sub-area are allocated to the workstations within that target sub-area, on a per-target-sub-area basis. By distributing target orders to workstations in multiple sub-regions, the parallelism of order operations is improved, thus increasing order processing efficiency. At the same time, by dynamically adjusting the partitions based on target order demand, the balance of picking tasks in different sub-regions is improved, reducing the time required to complete order processing. This overcomes the problem of idle or surplus capacity in the warehousing system due to uneven task distribution, thereby improving the utilization rate of the system's capacity.
[0072] Optionally, based on the storage location of multiple hit boxes and the number of tasks corresponding to each hit box, multiple hit boxes are selected and multiple reference sub-regions are adjusted to obtain multiple target boxes and multiple target sub-regions. This includes: using a clustering algorithm, based on the objective function between the number of tasks in each pile and the first distance corresponding to each selected box in each pile, multiple rounds of selection of multiple hit boxes and multiple rounds of regional adjustment of multiple piles are performed to obtain multiple target boxes and multiple target sub-regions.
[0073] Each reference sub-region corresponds to a pile. The initial value of the pile is the corresponding reference sub-region, and the subsequent values are the regions obtained after each round of adjustment of the corresponding reference sub-region. The selected bin is the bin selected from the hit bins during each round of region adjustment to complete the target order. The first distance corresponding to the selected bin is the distance between the selected bin and the center point of the bin in the pile. The center point of the bin in the pile is the center of the storage location of each selected bin in the pile.
[0074] For example, clustering algorithms can be DBSCAN (Density-Based Spatial Clustering of Applications with Noise) clustering algorithm, K-means clustering algorithm, etc.
[0075] In each iteration, the clustering algorithm needs to select a set of target boxes that can complete the target order. In the last iteration, the selected set of target boxes will be the multiple target boxes.
[0076] The goal of clustering algorithms is to find a way to partition heaps (or clusters) and their centroids such that the sum of the distances between each selected target bin and the centroid of the heap (i.e., the sum of the first distances between the selected target bins) is minimized, and the difference in the number of task items between heaps is minimized. By designing a corresponding objective function, the value of the objective function is gradually optimized in each iteration to obtain the clustering result, which consists of multiple target bins and multiple target sub-regions. The centroid of a heap is the center point of the bins within the heap.
[0077] In the objective function, distance can be represented by Euclidean distance, and the corresponding term can be the sum of squared distances. The term corresponding to the number of task items in the heap can be represented by variance, standard deviation, etc.
[0078] Taking the K-means clustering algorithm as an example, K (the number of cluster centers) is the number of reference sub-regions. In the first iteration, each reference sub-region is used as the initial value of the heap. One hit box from each reference sub-region is selected as the initial centroid of each heap, and the remaining hit boxes that complete the target order are selected to obtain a set of selected boxes. The first distance between each selected box and the centroid of each heap is calculated, and the selected boxes are assigned to the heap with the nearest centroid. Based on the storage location of the selected boxes in each heap and the corresponding number of tasks, the value of the objective function is calculated. In the next iteration, the centroid of each heap obtained in the previous iteration is updated. Specifically, the centroid of the heap is updated to the center point of the storage location of each selected box in the heap, and a new round of hit box selection and objective function calculation is performed. This process is repeated until the termination condition is met, such as the centroid of the heap does not change after multiple consecutive iterations, or the value of the objective function calculated after multiple consecutive iterations is lower than the preset value and the difference is small, or the upper limit of the number of iterations is reached. The selected bins in the last iteration are the target bins. Based on the piles obtained in the last iteration, each target sub-region is determined.
[0079] For example, the shape of the target sub-region can be defined as a rectangle, thereby obtaining each target sub-region based on the location of each selected bin in each cluster obtained in the last iteration.
[0080] Figure 4 is a schematic diagram of the reference sub-region adjustment process provided in this embodiment of the present disclosure. As shown in Figure 4, taking six reference sub-regions, namely reference sub-regions r41 to r46, as an example, multiple hit boxes are obtained through six virtual inventory allocations of the target order (circles are used to represent hit boxes in Figure 4). Through a clustering algorithm, the multiple target boxes obtained are shown as solid circles in Figure 4, and the circled target boxes form a pile. Based on the storage location of the target boxes in each pile, an adjustment result is obtained, namely target sub-regions M41 to M46, as shown in Figure 4. Among them, target sub-regions M41 and M44 are the same as the corresponding reference sub-regions, i.e., reference sub-regions r41 and r44; target sub-regions M42 and M46 are greater than the corresponding reference sub-regions, i.e., reference sub-regions r42 and r46; and target sub-regions M43 and M45 are smaller than the corresponding reference sub-regions, i.e., reference sub-regions r43 and r45.
[0081] By using clustering algorithms and objective functions, and through multiple iterations, the selection of target bins and adjustment of reference sub-regions can be achieved. By continuously reducing the value of the objective function, local optima can be found quickly, improving the efficiency of bin selection and region adjustment. At the same time, it can improve the distribution balance of the final selected target bins and the balance of picking workload in each target sub-region, thereby improving the accuracy of region adjustment.
[0082] Optionally, the objective function is the sum of the objective indices of each pile; the objective index of each pile is the sum of the first ratios corresponding to the selected bins in the pile, and the first ratio is the ratio of the first distance corresponding to the selected bin to the number of task items in the pile.
[0083] The expression for the objective function J() can be:
[0084] Where A is the number of reference sub-regions or target sub-regions; x i For the i-th selected bin; C j Let x represent the j-th pile. i ∈C j This indicates that bin x is selected. i Located in the j-th pile; u j For the j-th pile C j The center of mass, i.e., C j The center point of the hopper; N j For the j-th pile C j Number of tasks n i Select bin x i The corresponding number of tasks.
[0085] Optionally, using a clustering algorithm, based on the objective function between the number of tasks in each pile and the first distance corresponding to each selected box in each pile, multiple rounds of selection of the hit boxes and multiple rounds of region adjustment of multiple piles are performed to obtain multiple target boxes and multiple target sub-regions. This includes: locking the first type of boxes among the multiple hit boxes as target boxes; the first type of boxes are hit boxes that must be selected to satisfy the target order; using a clustering algorithm, based on the objective function between the number of tasks in each pile and the first distance corresponding to each selected box in each pile, multiple rounds of selection of the second type of boxes and multiple rounds of region adjustment of multiple piles are performed to obtain multiple target boxes and multiple target sub-regions; the second type of boxes are hit boxes other than the first type of boxes.
[0086] Specifically, the first type of bin mentioned above is the hit bin necessary to meet the picking task of the target item in the target order, that is, the hit bin included in the combination of various hit bins that meet the picking task of the target item in the target order.
[0087] For example, taking a target order that requires SKU1 as an example, if SKU1 exists only in bin a, and none of the other bins in the storage area contain SKU1, then bin a is a first-class bin. Or, taking a target order that requires picking 100 SKU10 items as an example, the bins in the storage area that store SKU10 include bin a, bin b, and bin c. Bin a contains 20 SKU10 items, bin b contains 90 SKU10 items, and bin c contains 30 SKU10 items. Then, regardless of which combination of bins a, b, and c is chosen to complete the picking task of SKU10 in the target order, bin b is still required. If a combination of bins a and b is chosen, or a combination of bins b and c is chosen, then bin b is a first-class bin, and bins a and c are second-class bins.
[0088] During the iterative process of running the clustering algorithm, in the order allocation scenario, there may be some hit boxes (i.e., first-class boxes) that are necessary to fulfill the picking task of a certain order line of the target order. In other words, these are the hit boxes that must be selected to fulfill the picking task of a particular order line of the target box. Therefore, in this iteration, the first-class boxes must be determined as the selected boxes each time. To improve efficiency, the first-class boxes can be directly locked as the target boxes. Thus, when selecting hit boxes, it is only necessary to select the hit boxes from the remaining hit boxes (i.e., second-class boxes) that fulfill the picking task of the remaining order lines of the target order. For the second-class boxes, since there are multiple choices, a better choice needs to be determined based on the objective function in each iteration.
[0089] For example, Figure 5 is a schematic diagram of the target order and its virtual inventory allocation result provided in an embodiment of this disclosure. As shown in Figure 5, the target order 50 has 3 order lines, namely order line 1 to order line 3, and the required SKUs and quantities for each order line are shown in Figure 5. Through virtual inventory allocation, bins 51 to 59 are determined as hit bins, and the inventory status in each hit bin is shown in Figure 5. It can be seen that there is only one choice that satisfies the picking task of SKU1 in order line 1, namely, box 56. Therefore, box 56 is the first type of box. When using the clustering algorithm to select the target box, box 56 can be locked, that is, box 56 is directly determined as the target box. That is, in each iteration, box 56 needs to be selected as the selected box. At the same time, in each iteration, from box 51 to box 55 and box 57 to box 59, the remaining target boxes in order lines 2 and 3 that satisfy the target order 50 are selected, such as box 52, box 54, box 58 and box 59.
[0090] Figure 6 is a flowchart illustrating another order allocation method provided in this embodiment. Based on the embodiment shown in Figure 2, this embodiment refines the steps of virtual inventory allocation, regional adjustment, and order task allocation, adds constraints on the clustering process, and adds a step to determine the number of reference sub-regions.
[0091] As shown in Figure 6, the order allocation method provided in this embodiment may specifically include the following steps:
[0092] Step S601: Calculate the product of the second preset coefficient and the required number of pieces at the workstation of the warehousing system, and the ratio of this product to the number of slots at a single workstation to obtain the target number of pieces at the slot.
[0093] The required number of items per workstation in the warehousing system refers to the capacity requirement of the workstations in the warehousing system. Specifically, it can be the number of items that a single workstation is required to complete per unit of time, such as the number of items that a workstation needs to pick per hour. It can also be the ratio of the hourly business flow of the entire warehousing system to the number of workstations in the warehousing system.
[0094] The second preset coefficient is a known coefficient, specifically a coefficient greater than 1, to ensure the workstation's capacity requirements.
[0095] The number of slots in a single workstation can be the average number of slots in all workstations within the warehousing system, or, when there are a large number of workstations with the same number of slots, the number of slots in that workstation can be used as the number of slots in a single workstation.
[0096] In other words, the expression for the target number of slots can be: preset coefficient × number of slots required by the workstation / number of slots in a single workstation.
[0097] Step S602: Determine the number A of the reference sub-region based on the rounded result of the ratio of the required number of pieces in the target order to the target number of pieces in the slot.
[0098] The required quantity for a target order is the sum of the quantities of all items required for the target order, which is the sum of the quantities of each SKU in all order lines of the target order.
[0099] The rounding result of a number can be obtained through operations such as rounding up, rounding down, and rounding to the nearest integer, such as using the ceil function, floor function, and round function.
[0100] For example, the expression for the number A of the reference sub-region is: ceil(number of pieces required for the target order / number of pieces for the slot), where the ceil function is a rounding function that rounds the value up to the nearest integer. For example, the rounding result of ceil(4.5) is 5.
[0101] By determining the number of reference sub-regions A, the reference sub-regions are divided based on the demand of the target order and the requirements of the workstation capacity. This allows the divided sub-regions to improve the parallelism of the target order operations and increase the processing efficiency of the target order while meeting the system capacity requirements.
[0102] Step S603: Divide the storage area into A reference sub-areas.
[0103] The storage area of the warehousing system can be divided into A reference sub-areas by an average division method. The size of each reference sub-area should be as similar as possible, and each reference sub-area should have at least one workstation.
[0104] Step S604: For each reference sub-region, select any workstation in the reference sub-region as the target workstation for executing the target order.
[0105] After dividing the area into A reference sub-regions, for each reference sub-region, select any workstation in that reference sub-region as the target workstation for simulating the execution of the target order, and allocate the required hit bins for the target order to the target workstation through virtual inventory allocation.
[0106] Step S605: Based on the selected target workstation, multiple hit bins that meet the target order requirements are determined from the storage area through virtual inventory allocation.
[0107] After selecting the target workstation for each reference sub-region, multiple hit bins are allocated to that target workstation through virtual inventory allocation to meet the order requirements of the target order. Since there are A reference sub-regions, A virtual inventory allocations are needed to obtain A groups of hit bins. Different groups of hit bins may include overlapping hit bins. Each group of hit bins in group A can satisfy all order requirements of the target order.
[0108] Specifically, during each virtual inventory allocation, a set of target bins is determined based on the location of the target workstation and the inventory status of the storage area. Under the premise of meeting the order requirements of the target order, the handling distance of the selected set of target bins from the target workstation should be as small as possible.
[0109] Each time virtual inventory is allocated, it can be done line by line, that is, the hit bins are allocated to the order line of each target order, resulting in a set of hit bins that satisfy the target order.
[0110] Taking A as 4 as an example, Figure 7 is a schematic diagram of the virtual inventory allocation result of the Ath time provided in the embodiment of this disclosure. As shown in Figure 7, in the first to fourth virtual inventory allocations, workstations 71, 73, 75 and 76 are selected as target workstations respectively, resulting in four sets of hit boxes. Among them, the set of hit boxes corresponding to workstation 71 includes boxes 711 to 719, the set of hit boxes corresponding to workstation 73 includes boxes 718, 719 and boxes 721 to 725, the set of hit boxes corresponding to workstation 75 includes boxes 722, 724 and boxes 731 to 736, and the set of hit boxes corresponding to workstation 76 includes boxes 741 to 747. It can be seen that during different virtual inventory allocations, the same hit bins may be selected. Through four virtual inventory allocations, multiple hit bins corresponding to the target order are obtained, namely bins 711 to 719, bins 721 to 725, bins 731 to 736, and bins 741 to 747.
[0111] Step S606: Using a clustering algorithm, based on the objective function between the number of task items in each pile and the first distance corresponding to each selected box in each pile, multiple rounds of selection of the hit boxes and multiple rounds of regional adjustment of each pile are performed. With the constraint that the number of task items in each pile after adjustment is greater than or equal to the first threshold, multiple target boxes and multiple target sub-regions are obtained.
[0112] The resulting reference sub-regions are considered as the initial values for the heaps. Through clustering algorithms, each heap is adjusted multiple times. During each iteration, it's crucial to ensure that the number of tasks in each heap after adjustment is not too low to meet the business flow requirements of the warehousing system. Therefore, when using clustering algorithms for selecting the target bin and adjusting the heaps, constraints regarding the number of tasks in each heap should be set to ensure that the number of tasks in each heap after each adjustment satisfies these constraints.
[0113] The specific constraint is that the number of tasks in each heap after adjustment is greater than or equal to a first threshold, meaning that the number of tasks in each heap obtained in each iteration is at least the first threshold. This first threshold can be preset, such as based on experience, or it can be calculated.
[0114] Optionally, the order allocation method further includes: determining the required number of items per workstation based on the required number of outbound items in the warehousing system and the number of workstations; and determining a first threshold based on the required number of items per workstation and the number of slots in a single workstation. Here, the required number of outbound items in the warehousing system is the number of items required to be outbound by the warehousing system per unit time, and is a given value; the number of workstations is the number of workstations set up within the warehousing system for sorting and outbound goods. The required number of items per workstation is the number of items required to be completed by a single workstation per unit time.
[0115] Specifically, the required number of items per workstation can be the ratio of the required number of outbound items in the warehousing system to the number of workstations. The first threshold can be determined based on the ratio of the required number of items per workstation to the number of slots in a single workstation, or the rounded result of this ratio.
[0116] For a warehousing system with multiple indistinguishable workstations, where each workstation has the same number of slots, the number of slots in a single workstation can be any number of slots in any other workstation.
[0117] For a storage system with multiple workstations having different numbers of slots, one approach is to determine the number of slots in a single workstation as the number of slots in most workstations or as the average number of slots in all workstations. Another approach is to determine different first thresholds for target workstations with different numbers of slots, so that the first threshold in the constraints of the clustering process of different target workstations is different. That is, the number of slots in a single workstation used when calculating the first threshold is the number of slots in the target workstation in the stack.
[0118] Assuming the warehouse system requires 400 items to be shipped out per hour, and there are 8 workstations responsible for outbound tasks, then each workstation needs to ship 50 items. Assuming target workstation 1 has 8 slots and target workstation 2 has 10 slots, then the constraint condition for the stack containing target workstation 1 is that the number of items in the stack is greater than or equal to 7, and the constraint condition for the stack containing target workstation 2 is that the number of items in the stack is greater than or equal to 5.
[0119] In other embodiments, the first threshold may also be a product of a coefficient greater than 1, such as 1.5, and the number of workstations required, and the ratio of the number of slots in a single workstation.
[0120] By calculating the first threshold, the minimum number of tasks in each cluster after regional adjustment is ensured, avoiding the situation where a cluster has too few tasks, resulting in wasted capacity and improving the utilization rate of system capacity.
[0121] Optionally, a first threshold is determined based on the required number of pieces for the workstation and the number of slots in a single workstation, including: calculating the ratio of the required number of pieces for the workstation to the number of slots in a single workstation to obtain a first number of pieces; calculating the product of a first preset coefficient and the required number of pieces for the workstation, and the ratio of this product to the number of slots in a single workstation to obtain a second number of pieces; and determining the first threshold based on the first number of pieces and the second number of pieces, wherein the first threshold is an integer greater than or equal to the first number of pieces and less than or equal to the second number of pieces.
[0122] The first number of pieces is ceil(workstation required pieces / number of slots per workstation), and the second number of pieces is ceil(first preset coefficient × workstation required pieces / number of slots per workstation). Since the first preset coefficient is greater than 1, the second number of pieces is greater than the first number of pieces. The first number of pieces is the minimum required number of pieces for the heap. The first threshold can be any integer between the first and second number of pieces, such as the first number of pieces, the second number of pieces, or other values in between. Both the first and second preset coefficients are coefficients greater than 1, and they can be equal or unequal.
[0123] Taking a first preset coefficient of 1.5, a workstation requirement of 50 pieces, and a single workstation slot count of 8 as an example, the first number of pieces is 7, the second number of pieces is 10, and the first threshold can be 7, 8, 9, or 10.
[0124] By setting a first number of items and a second number of items as the first threshold, the flexibility in determining the first threshold is improved. A larger first threshold results in a larger number of task items in each target area, avoiding waste of transportation capacity. A smaller first threshold allows for finding better bin selection and area adjustment methods, improving the accuracy of area adjustment.
[0125] Step S607: If the target sub-region includes the target workstation within the corresponding reference sub-region, then the order task corresponding to the target sub-region is assigned to the target workstation.
[0126] The target sub-region is obtained by adjusting the corresponding reference sub-region.
[0127] Step S608: If the target sub-region does not include the target workstation within the corresponding reference sub-region, then the order task corresponding to the target sub-region is assigned to any workstation within the target sub-region.
[0128] After clustering is completed, resulting in multiple target bins for completing target orders, and multiple target sub-regions with balanced distribution of target bins and balanced workload, it is necessary to allocate the order tasks corresponding to each target sub-region to the workstations in each target sub-region.
[0129] When assigning order tasks, since the reference sub-region is adjusted to the target sub-region by shrinking or enlarging, there are two possibilities: one is that the target sub-region obtained by adjusting the reference sub-region still includes the target workstation of the reference sub-region; the other is that the target sub-region obtained by adjusting the reference sub-region does not include the target workstation of the reference sub-region. The target workstation is the workstation selected when allocating virtual inventory.
[0130] When a target sub-region includes a target workstation within a corresponding reference sub-region, the order tasks corresponding to that target sub-region can be directly assigned to that target workstation during order task allocation. This allows the target workstation to perform operations such as item sorting and outbound processing for that portion of the order task. If the target workstation has no available slots, the workstation can wait for its slots to become available before assigning the corresponding order tasks to that workstation. Available slots can be understood as idle slots, i.e., slots not bound to any orders.
[0131] If the target sub-region does not include the target workstation within the corresponding reference sub-region (i.e., the target workstation within the reference sub-region is located in another target sub-region), then during order task allocation, the order task corresponding to that target sub-region can be assigned to any workstation within that target sub-region. This workstation will then perform the item sorting and outbound operations for that portion of the order task. Specifically, the corresponding order task can be assigned to any workstation within the target sub-region that has an available slot. If none of the workstations in the target sub-region have available slots, then the workstation can wait for a slot to become available before assigning the corresponding order task to that workstation.
[0132] In this embodiment, the number of reference sub-regions is adaptively calculated using the required number of items in the target order and the required number of items at the workstations in the warehousing system. This achieves static partitioning based on order demand, improving the accuracy of determining the number of partitions. It avoids excessive time consumption in the clustering process due to too many partitions, and also avoids reduced order processing parallelism and efficiency due to too few partitions. By performing multiple virtual inventory allocations, as many matching bins as possible are found, providing sufficient data samples for subsequent clustering analysis and improving the accuracy of the clustering process. During clustering, constraints on the number of tasks in the heap are added to the clustering algorithm to avoid the problem of robots being idle and system capacity utilization being low in the target sub-region corresponding to some heaps due to excessively low task counts. Through the clustering algorithm, the static partitioning is optimized to achieve dynamic partitioning, resulting in a balanced task distribution across different partitions and improving order processing efficiency.
[0133] The warehousing system will continuously receive orders to be processed, and different orders can be used as target orders to allocate multiple orders to be processed.
[0134] Optionally, the order allocation method further includes: obtaining pending orders from the warehousing system; sorting the pending orders according to their priority from high to low; and, based on the sorting results, sequentially identifying each pending order as a target order.
[0135] Order priority can be determined based on factors such as the urgency of the order, the remaining time for order processing, and the order receipt time.
[0136] After sorting the pending orders according to priority, the order with the highest priority is taken out as the target order. Reference sub-regions are divided, virtual inventory is allocated, material bins are selected, and regions are adjusted to obtain multiple target material bins and multiple target sub-regions. Order tasks are then assigned. After that, the order with the highest priority among the remaining pending orders is taken out as the target order, and so on, until all pending orders are assigned.
[0137] Figure 8 is a flowchart illustrating another order allocation method provided in this embodiment of the present disclosure. As shown in Figure 8, the order allocation method mainly includes the following steps:
[0138] Step S801: Obtain all pending orders in the current warehousing system.
[0139] Step S802: Sort all pending orders according to their priority from high to low.
[0140] Step S803: Take out the order that is ranked first and set it as the target order.
[0141] Step S804: Calculate the quantity A of the reference sub-region based on the required number of pieces for the target order.
[0142] Step S805: Divide the warehouse area evenly into A reference sub-areas, and select any target workstation in each reference sub-area to perform virtual inventory allocation for the target order, and obtain the virtual inventory allocation result. The virtual inventory allocation result includes the hit material box, the storage location of the hit material box, and the number of task pieces corresponding to the hit material box.
[0143] Step S806: Based on the virtual inventory allocation result and the first threshold N, select the hit bin and adjust the reference sub-region.
[0144] Each reference sub-region corresponds to a pile. The necessary hit boxes for the SKU in the target order are locked, i.e., the first type of box is locked. Based on the pile task balance, the hit box selection and the region scaling of the reference sub-region are performed to obtain multiple target sub-regions and multiple target boxes, so that the density of the hit boxes selected between piles is comparable, the number of task items in the piles is comparable, and it is necessary to ensure that the number of task items in each pile is greater than or equal to the first threshold N.
[0145] Step S807, Order Task Assignment: The order task can be assigned to any workstation with an available slot within the corresponding target sub-region.
[0146] The order task is the picking task of the target order that the target bin in the corresponding target sub-area meets. If the target sub-area includes the target workstation selected during virtual allocation and the target workstation has available slots, the order task corresponding to the target sub-area will be assigned to the target workstation first. If no workstation in the target sub-area has available slots, the order task corresponding to the target sub-area will be assigned to the workstation after the slots of the workstations in the target sub-area are released.
[0147] Figure 9 is a schematic diagram of an order allocation device provided in an embodiment of the present disclosure. As shown in Figure 9, the order allocation device provided in this embodiment includes: a partitioning module 910, a virtual allocation module 920, a partitioning adjustment module 930, and an order allocation module 940.
[0148] The zoning module 910 divides the warehouse area into multiple reference sub-areas; the virtual allocation module 920 performs virtual inventory allocation for target orders in each reference sub-area to obtain multiple hit boxes; the zoning adjustment module 930 selects hit boxes and adjusts multiple reference sub-areas based on the storage location of the multiple hit boxes and the number of tasks corresponding to each hit box, to obtain multiple target boxes and multiple target sub-areas; wherein, the number of tasks corresponding to the hit boxes is the number of items in the target order satisfied by the hit boxes; the multiple target boxes are some of the hit boxes, and the multiple target boxes are used to complete the target order; the order allocation module 940 allocates order tasks to workstations in the corresponding target sub-areas, wherein the order task is the picking task of the target order satisfied by the target boxes in the corresponding target sub-area.
[0149] Optionally, the partition adjustment module 930 is specifically used to: utilize a clustering algorithm, based on the objective function between the number of task items in each pile and the first distance corresponding to each selected box in each pile, to perform multiple rounds of selection of multiple hit boxes and multiple rounds of regional adjustment of each pile, to obtain multiple target boxes and multiple target sub-regions; the initial value of the pile is the corresponding reference sub-region; the selected box is the box selected from the hit boxes in each round of regional adjustment to complete the target order, the first distance corresponding to the selected box is the distance between the selected box and the center point of the box in the pile, the center point of the box in the pile is the center of the storage location of each selected box in the pile; the number of task items in the pile is the sum of the number of task items corresponding to each selected box in the pile.
[0150] Optionally, the partition adjustment module 930 is specifically used to: lock the first type of material box among multiple hit material boxes as the target material box; the first type of material box is the hit material box that must be selected to complete the target order; using a clustering algorithm, based on the objective function between the number of task items in each pile and the first distance corresponding to each selected material box in each pile, perform multiple rounds of selection of the second type of material box and multiple rounds of regional adjustment of each pile to obtain multiple target material boxes and multiple target sub-regions; the second type of material box is the hit material box other than the first type of material box.
[0151] Optionally, the partition adjustment module 930 is specifically used to: use a clustering algorithm, based on the objective function between the number of task items in each pile and the first distance corresponding to each selected box in each pile, to perform multiple rounds of selection of the hit boxes and multiple rounds of regional adjustment of each pile, with the number of task items in each pile after adjustment being greater than or equal to the first threshold as a constraint condition, to obtain multiple target boxes and multiple target sub-regions.
[0152] Optionally, the order allocation device further includes a first threshold determination module, used to: determine the number of items required by the workstation based on the required number of outbound items in the warehousing system and the number of workstations; and determine the first threshold based on the number of items required by the workstation and the number of slots in a single workstation.
[0153] Optionally, the first threshold determination module is specifically used for: determining the required number of items per workstation based on the required number of outbound items and the number of workstations in the warehousing system; calculating the ratio of the required number of items per workstation to the number of slots in a single workstation to obtain a first number of items; calculating the ratio of the product of a first preset coefficient and the required number of items per workstation to the number of slots in a single workstation to obtain a second number of items; and determining a first threshold based on the first number of items and the second number of items, wherein the first threshold is an integer greater than or equal to the first number of items and less than or equal to the second number of items.
[0154] Optionally, the objective function is the sum of the objective indices of each pile; the objective index of each pile is the sum of the first ratios corresponding to the selected bins in the pile, and the first ratio is the ratio of the first distance corresponding to the selected bin to the number of task items in the pile.
[0155] Optionally, the order allocation device further includes a partition quantity determination module, used to: calculate the product of the second preset coefficient and the number of items required by the workstation of the warehousing system, and the ratio of this product to the number of slots in a single workstation, to obtain the target number of items in the slots; and determine the quantity of reference sub-regions based on the rounded result of the ratio of the required number of items in the target order to the target number of items in the slots.
[0156] Optionally, the virtual allocation module 920 is specifically used for: selecting any workstation in each reference sub-region as the target workstation for executing the target order; and determining multiple hit bins from the storage area that meet the requirements of the target order based on the selected target workstation.
[0157] Optionally, the order allocation module 940 is specifically used for: for each target sub-region, if the target sub-region includes the target workstation within the corresponding reference sub-region, then the order task corresponding to the target sub-region is allocated to the target workstation; the target sub-region is adjusted from the corresponding reference sub-region; if the target sub-region does not include the target workstation within the corresponding reference sub-region, then the order task corresponding to the target sub-region is allocated to any workstation in the target sub-region.
[0158] Optionally, the order allocation device further includes an order sorting module, used to: obtain pending orders from the warehousing system; sort the pending orders according to their priority from high to low; and, based on the sorting results, sequentially determine each pending order as a target order.
[0159] The order allocation device provided in this embodiment can execute the order allocation method provided in any of the above embodiments. Its implementation principle and technical effect are similar, and will not be described in detail here.
[0160] Figure 10 is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. As shown in Figure 10, the electronic device provided in this embodiment includes: a processor 1001 and a memory 1002 communicatively connected to the processor 1001; the memory 1002 stores computer execution instructions, and the processor 1001 executes the computer execution instructions stored in the memory 1002 to implement the order allocation method provided in any embodiment of this disclosure.
[0161] The specific implementation process of processor 1001 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0162] Optionally, the electronic device also includes a communication component, through which it communicates with other devices such as robots and order-receiving devices. The order-receiving device is responsible for receiving and managing orders processed by agents. The processor 1001, memory 1002, and communication component are connected via a bus.
[0163] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0164] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0165] The communication components of electronic devices can send wireless signals (e.g., Wi-Fi signals or 4G / 5G radio signals) to the robot, and can also receive wireless signals sent by the robot.
[0166] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0167] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0168] This disclosure also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.
[0169] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0170] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0171] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0172] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0173] In addition, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0174] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a part of the technical solution, 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 network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, random access memory (RAM), magnetic disks, or optical disks.
[0175] Those skilled in the art will understand that all or part of the steps in the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps included in the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0176] Finally, it should be noted that other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and alterations may be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. An order allocation method, characterized in that, include: The warehouse area is divided into multiple reference sub-areas; Virtual inventory allocation for target orders is performed on each of the aforementioned reference sub-regions to obtain multiple hit bins; Based on the storage locations of the multiple hit boxes and the number of task items corresponding to each hit box, the multiple hit boxes are selected and the multiple reference sub-regions are adjusted to obtain multiple target boxes and multiple target sub-regions; wherein, the number of task items corresponding to each hit box is the number of items in the target order that the hit box satisfies; the multiple target boxes are a portion of the hit boxes, and the multiple target boxes are used to complete the target order; The order task is assigned to the workstation in the corresponding target sub-area, wherein the order task is the picking task of the target order that the target bin in the corresponding target sub-area satisfies.
2. The method according to claim 1, characterized in that, The process involves selecting multiple target bins and adjusting multiple reference sub-regions based on the storage locations of the multiple hit bins and the number of task items corresponding to each hit bin, resulting in multiple target bins and multiple target sub-regions, including: Using a clustering algorithm, based on the objective function between the number of task items in each pile and the first distance corresponding to each selected box in each pile, multiple rounds of selection are performed on the multiple hit boxes and multiple rounds of region adjustment are performed on the multiple piles to obtain the multiple target boxes and the multiple target sub-regions. Wherein, the initial value of the pile is the corresponding reference sub-region; the selected bin is the bin selected from the hit bins during each round of region adjustment to complete the target order; the first distance corresponding to the selected bin is the distance between the selected bin and the center point of the bin in the pile; the center point of the bin in the pile is the center of the storage location of each selected bin in the pile; the number of tasks in the pile is the sum of the number of tasks corresponding to each selected bin in the pile.
3. The method according to claim 2, characterized in that, The method utilizes a clustering algorithm, based on an objective function relating the number of task items in each pile to the first distance corresponding to each selected bin in each pile, to perform multiple rounds of selection of the hit bins and multiple rounds of region adjustment on multiple piles, thereby obtaining the multiple target bins and the multiple target sub-regions, including: The first type of material box among the plurality of hit material boxes is locked as the target material box; the first type of material box is the hit material box that must be selected to complete the target order; Using the clustering algorithm, based on the objective function between the number of task items in each pile and the first distance corresponding to each selected box in each pile, multiple rounds of selection of the second type of boxes and multiple rounds of regional adjustment of each pile are performed to obtain the multiple target boxes and the multiple target sub-regions; the second type of boxes are the hit boxes other than the first type of boxes.
4. The method according to claim 2, characterized in that, The method utilizes a clustering algorithm, based on an objective function relating the number of task items in each pile to the first distance corresponding to each selected bin in each pile, to perform multiple rounds of selection of the hit bins and multiple rounds of region adjustment for each pile, thereby obtaining the multiple target bins and the multiple target sub-regions, including: Using the clustering algorithm, based on the objective function between the number of task items in each pile and the first distance corresponding to each selected box in each pile, the hit boxes are selected in multiple rounds and the regions of each pile are adjusted in multiple rounds. The number of task items in each pile after adjustment is greater than or equal to the first threshold is used as a constraint to obtain the multiple target boxes and the multiple target sub-regions.
5. The method according to claim 4, characterized in that, The method further includes: Based on the required number of outbound items and the number of workstations in the warehousing system, determine the required number of items per workstation; The first threshold is determined based on the required number of workstations and the number of slots in a single workstation.
6. The method according to claim 5, characterized in that, Determining the first threshold based on the required number of parts for the workstation and the number of slots in a single workstation includes: Calculate the ratio of the required number of pieces for the workstation to the number of slots in a single workstation to obtain the first number of pieces; The product of the first preset coefficient and the required number of pieces for the workstation is calculated, and the ratio of this product to the number of slots in a single workstation is used to obtain the second number of pieces. The first threshold is determined based on the first number of items and the second number of items, wherein the first threshold is an integer greater than or equal to the first number of items and less than or equal to the second number of items.
7. The method according to any one of claims 2-6, characterized in that, The objective function is the sum of the objective indices of each pile; the objective index of each pile is the sum of the first ratios corresponding to the selected bins in the pile, and the first ratio is the ratio of the first distance corresponding to the selected bin to the number of task items in the pile.
8. The method according to any one of claims 1-6, characterized in that, The method further includes: Calculate the product of the second preset coefficient and the required number of pieces at the workstation of the warehousing system, and then use the ratio of this product to the number of slots at a single workstation to obtain the target number of pieces at each slot. The number of reference sub-regions is determined based on the rounded result of the ratio of the required number of pieces in the target order to the target number of pieces in the slot.
9. The method according to any one of claims 1-6, characterized in that, The virtual inventory allocation for target orders in each of the reference sub-regions results in multiple hit bins, including: For each of the aforementioned reference sub-regions, any workstation in the reference sub-region is selected as the target workstation for executing the target order; Based on the selected target workstation, the plurality of hit bins that meet the requirements of the target order are determined from the storage area.
10. The method according to claim 9, characterized in that, The step of assigning order tasks to workstations within the corresponding target sub-region includes: For each target sub-region, if the target sub-region includes the target workstation within the corresponding reference sub-region, then the order task corresponding to the target sub-region is assigned to the target workstation; the target sub-region is obtained by adjusting the corresponding reference sub-region. If the target sub-region does not include the target workstation in the corresponding reference sub-region, then the order task corresponding to the target sub-region will be assigned to any workstation in the target sub-region.
11. An order allocation device, characterized in that, include: The partitioning module is used to divide the warehouse area into multiple reference sub-areas; The virtual allocation module is used to perform virtual inventory allocation for target orders in each of the reference sub-regions to obtain multiple hit bins; The partitioning adjustment module is used to select multiple hit boxes and adjust multiple reference sub-regions based on the storage location of the multiple hit boxes and the number of task items corresponding to each hit box, to obtain multiple target boxes and multiple target sub-regions; wherein, the number of task items corresponding to each hit box is the number of items in the target order that the hit box satisfies; the multiple target boxes are a portion of the hit boxes, and the multiple target boxes are used to complete the target order; The order allocation module is used to allocate order tasks to workstations within the corresponding target sub-area, wherein the order task is the picking task of the target order satisfied by the target bins within the corresponding target sub-area.
12. An electronic device, comprising: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 11.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 10.
14. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 10.