Settlement order generation method and apparatus, storage medium

CN115147186BActive Publication Date: 2026-08-18BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210809595.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-11
Publication Date
2026-08-18
Estimated Expiration
2042-07-11

Smart Images

  • Figure CN115147186B_ABST
    Figure CN115147186B_ABST
Patent Text Reader

Abstract

The present disclosure provides a collection order generation method and device, and a storage medium, and relates to the field of information processing. The collection order generation method comprises the following steps: extracting a plurality of candidate orders from an order pool; performing hierarchical clustering on the plurality of candidate orders to construct a clustering tree; performing hierarchical traversal on the clustering tree so as to select a target node meeting a preset condition from the clustering tree; and generating a collection order by using all candidate orders included in the target node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of information processing, and in particular to a method and apparatus for generating aggregated orders, and a storage medium. Background Technology

[0002] Currently, the delivery system mainly includes the following two modes. In the first mode, staff pick items from consolidated orders by section, pack and ship the packages to the warehouse, and then delivery personnel perform secondary sorting. In the second mode, staff pick all items in a consolidated order (i.e., full-site picking), pack and ship the packages, and then delivery personnel perform secondary sorting. Summary of the Invention

[0003] The inventors noticed that in existing delivery systems, the picking locations for items in a combined order are far apart, resulting in pickers having to walk long distances and low work efficiency.

[0004] Accordingly, this disclosure provides a scheme for generating aggregated orders, which can effectively improve work efficiency.

[0005] According to a first aspect of the present disclosure, a method for generating a collection of orders is provided, comprising: extracting a plurality of candidate orders from an order pool; performing hierarchical clustering on the plurality of candidate orders to construct a clustering tree; performing hierarchical traversal on the clustering tree to select a target node that meets preset conditions from the clustering tree; and generating a collection of orders using all candidate orders included in the target node.

[0006] In some embodiments, the hierarchical traversal of the clustering tree includes: during the hierarchical traversal, if the root node of the clustering tree satisfies the preset condition, then the root node of the clustering tree is taken as the target node.

[0007] In some embodiments, if the root node of the clustering tree does not meet the preset condition, then each child node of the root node of the clustering tree is taken as a node to be processed; it is determined whether the node to be processed meets the preset condition; if the node to be processed meets the preset condition, then the node to be processed is taken as the target node.

[0008] In some embodiments, if the node to be processed does not meet the preset condition, it is determined whether the node to be processed has child nodes; if the node to be processed has child nodes, each child node of the node to be processed is taken as the current node to be processed; the determination of whether the current node to be processed meets the preset condition is repeated.

[0009] In some embodiments, candidate orders that are not included in the aggregated orders are moved into the order pool.

[0010] In some embodiments, the preset conditions include at least one of the following conditions: the total number of items corresponding to all candidate orders included in the pending node does not exceed a first threshold; the total number of candidate orders included in the pending node does not exceed a second threshold; and the current time is within the time interval for issuing aggregated orders.

[0011] In some embodiments, the time interval for issuing the aggregated orders is [preset issuance time - preset interval time, preset issuance time], wherein the preset issuance time is the earliest time among the latest picking times of each candidate order included in the node to be processed.

[0012] In some embodiments, constructing a clustering tree using the plurality of candidate orders includes: generating a plurality of set orders that correspond one-to-one with the plurality of candidate orders, wherein each set order has a corresponding candidate order; placing the plurality of set orders into a cluster set; calculating the distance between every two set orders in the cluster set; merging the two set orders with the minimum distance into a new set order, the new set order including all candidate orders included in the two set orders with the minimum distance; generating a node corresponding to the new set order; using the two set orders with the minimum distance in the new set order to update the cluster set; repeatedly calculating the distance between every two set orders in the cluster set until there is only one set order in the cluster set; and constructing the clustering tree using all the generated nodes.

[0013] In some embodiments, calculating the distance between every two clustered orders in the clustered set includes: counting all first picking locations corresponding to all candidate orders in the first clustered order and all second picking locations corresponding to all candidate orders in the second clustered order, wherein the first clustered order is one of the two clustered orders and the second clustered order is the other of the two clustered orders; calculating the distance between each first picking location in all first picking locations and each second picking location in all second picking locations; and determining the distance between the first clustered order and the second clustered order based on the average of all calculated distances, the preset delivery time of all candidate orders in the first clustered order, and the preset delivery time of all candidate orders in the second clustered order.

[0014] In some embodiments, the distance D between the first set of orders and the second set of orders is: D = D1 + α(abs(T1-T2)), where D1 is the average of all distances, T1 is the preset delivery time of all candidate orders in the first set of orders, T2 is the preset delivery time of all candidate orders in the second set of orders, abs is the absolute value function, and α is the weight value.

[0015] In some embodiments, extracting multiple candidate orders from an order pool includes: filtering all orders in the order pool using preset rules to obtain the multiple candidate orders.

[0016] In some embodiments, the filtering process of all orders in the order pool using preset rules includes: filtering all orders to obtain multiple pending orders for generating a set of orders; determining whether each pending order can be processed within a predetermined time; and if each pending order can be processed within the predetermined time, then using each pending order as a candidate order.

[0017] In some embodiments, if each pending order cannot be processed within a predetermined time, then each pending order is sent for processing.

[0018] According to a second aspect of the present disclosure, a collection order generation apparatus is provided, comprising: a first processing module configured to extract a plurality of candidate orders from an order pool; a second processing module configured to perform hierarchical clustering using the plurality of candidate orders to construct a clustering tree; a third processing module configured to perform hierarchical traversal of the clustering tree to select a target node from the clustering tree that meets preset conditions; and a fourth processing module configured to generate a collection order using all candidate orders included in the target node.

[0019] According to a third aspect of the present disclosure, a collection order generation apparatus is provided, comprising: a memory configured to store instructions; and a processor coupled to the memory, the processor being configured to execute instructions stored in the memory to implement the method as described in any of the above embodiments.

[0020] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions that, when executed by a processor, implement the method as described in any of the above embodiments.

[0021] Other features and advantages of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

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

[0023] Figure 1 This is a flowchart illustrating a method for generating aggregated orders according to an embodiment of this disclosure;

[0024] Figure 2 This is a schematic flowchart of an order filtering processing method according to an embodiment of the present disclosure;

[0025] Figure 3 This is a flowchart illustrating a method for constructing a clustering tree according to an embodiment of the present disclosure;

[0026] Figure 4 This is a schematic diagram illustrating the calculation of aggregate order distance according to an embodiment of this disclosure;

[0027] Figure 5 This is a schematic diagram of the distribution of aggregated orders according to an embodiment of this disclosure;

[0028] Figure 6 This is a schematic diagram of a clustering tree according to an embodiment of the present disclosure;

[0029] Figure 7 This is a schematic diagram of a clustering tree according to another embodiment of the present disclosure;

[0030] Figure 8 This is a schematic diagram of the structure of a collection order generation device according to an embodiment of the present disclosure;

[0031] Figure 9 This is a schematic diagram of the structure of a collection order generation apparatus according to another embodiment of the present disclosure. Detailed Implementation

[0032] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.

[0033] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of this disclosure.

[0034] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.

[0035] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0036] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0037] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0038] Figure 1 This is a schematic flowchart illustrating a method for generating a aggregated order according to an embodiment of the present disclosure. In some embodiments, the following aggregated order generation method is executed by an aggregated order generation apparatus.

[0039] In step 101, multiple candidate orders are extracted from the order pool.

[0040] In some embodiments, all orders in the order pool are filtered using preset rules to obtain multiple candidate orders.

[0041] In some embodiments, the steps of the above filtering process are as follows: Figure 2 As shown.

[0042] In step 201, all orders are filtered to obtain multiple pending orders for generating a set of orders.

[0043] For example, all orders can be filtered using a preset blacklist or whitelist.

[0044] In step 202, it is determined whether the i-th pending order among the multiple pending orders can be processed within the predetermined time, 1≤i≤N, where N is the total number of pending orders.

[0045] If the i-th pending order can be processed within the predetermined time, proceed to step 203; otherwise, proceed to step 204.

[0046] For example, if the current time has not exceeded the latest picking time for the i-th order, then it is determined that the i-th pending order can be processed within the scheduled time; otherwise, it is determined that the i-th pending order cannot be processed within the scheduled time.

[0047] In step 203, the i-th order to be processed is selected as a candidate order.

[0048] In step 204, the i-th pending order is processed.

[0049] In other words, if the current time has exceeded the latest picking time for the i-th order, the order will be processed to minimize the delay time of the i-th order.

[0050] return Figure 1 In step 102, hierarchical clustering is performed using multiple candidate orders to construct a cluster tree.

[0051] In some embodiments, the steps of the above method for constructing a clustering tree are as follows: Figure 3 As shown.

[0052] In step 301, multiple set orders are generated that correspond one-to-one with multiple candidate orders, wherein each set order has a corresponding candidate order.

[0053] For example, if there are 7 candidate orders F0-F6, then 7 corresponding set orders p0-p6 are generated, where set order p0 includes candidate order F0, set order p1 includes candidate order F1, set order p2 includes candidate order F2, and so on.

[0054] In step 302, multiple aggregate orders are placed into a cluster set.

[0055] In step 303, the distance between every two cluster orders in the cluster set is calculated.

[0056] In some embodiments, centroid linkage can be used to calculate the distance between two set orders.

[0057] Let the first set of orders be one of the two set of orders, and the second set of orders be the other of the two set of orders.

[0058] First, we count all first picking positions corresponding to all candidate orders in the first set of orders, and all second picking positions corresponding to all candidate orders in the second set of orders.

[0059] Next, calculate the distance between each of the first picking locations and each of the second picking locations. For example, this distance can be Euclidean distance.

[0060] Next, the distance between the first set of orders and the second set of orders is determined based on the average of all calculated distances, the preset delivery time of all candidate orders in the first set of orders, and the preset delivery time of all candidate orders in the second set of orders.

[0061] For example, the distance D between the first set of orders and the second set of orders is:

[0062] D=D1+α(abs(T1-T2)) (1)

[0063] Where D1 is the average of all distances, T1 is the preset delivery time of all candidate orders in the first set of orders, T2 is the preset delivery time of all candidate orders in the second set of orders, abs is the absolute value function, and α is the weight value.

[0064] For example, such as Figure 4 As shown, the circle on the left represents the first batch order, which has two first picking locations. The circle on the right represents the second batch order, which has two second picking locations. The distance between each first picking location and each second picking location is calculated, and the average of the distances is calculated to obtain the parameter D1 mentioned above.

[0065] It should be noted that the second term on the right side of the equal sign in the above formula (1) serves to ensure that in the process of generating aggregated orders, not only the picking distance is considered, but also the expected delivery time of the orders is made as close as possible. Therefore, in cases of time urgency (expected delivery time is close to the current time), orders are tended to be aggregated together, thereby improving the efficiency of generating aggregated orders.

[0066] It should be noted that the preset delivery time for all candidate orders in the first batch of orders is the earliest of the latest picking times among all candidate orders in the first batch of orders. The preset delivery time for all candidate orders in the second batch of orders is the earliest of the latest picking times among all candidate orders in the second batch of orders.

[0067] In step 304, the two sets of orders with the minimum distance are merged into a new set of orders, which includes all candidate orders included in the two sets of orders with the minimum distance.

[0068] In step 305, a node corresponding to the new set of orders is generated.

[0069] In step 306, the cluster set is updated using the two cluster orders with the smallest distance from the new cluster order.

[0070] In step 307, the distance between every two cluster orders in the cluster set is repeatedly calculated until there is only one cluster order in the cluster set.

[0071] In step 308, a clustering tree is constructed using all the generated nodes.

[0072] For example, a cluster set S has set orders p0-p6, that is:

[0073] S={p0, p1, p2, p3, p4, p5, p6}

[0074] The distribution of aggregate orders p0-p6 is as follows Figure 5 As shown.

[0075] In set S, p5 and p6 have the smallest distance, so p5 and p6 are merged into a new set of orders p7, which includes orders {F5, F6}. Next, the nodes corresponding to set order p7 are generated, and set S is updated. At this point, set S is:

[0076] S={p0, p1, p2, p3, p4, p7}

[0077] Next, since p4 and p7 have the smallest distance, they are merged into a new set of orders p8, which includes orders {F4, F5, F6}. Then, the nodes corresponding to set order p8 are generated, and set S is updated. At this point, set S is:

[0078] S = {p0, p1, p2, p3, p8}

[0079] Next, since p1 and p2 have the smallest distance, they are merged into a new set of orders p9, which includes orders {F1, F2}. Then, the nodes corresponding to set order p9 are generated, and set S is updated. At this point, set S is:

[0080] S = {p0, p9, p3, p8}

[0081] Next, since p0 and p9 have the smallest distance, they are merged into a new set of orders p10, which includes orders {F0, F1, F2}. Then, the nodes corresponding to set order p10 are generated, and set S is updated. At this point, set S is:

[0082] S = {p10, p3, p8}

[0083] Next, since p3 and p8 have the smallest distance, they are merged into a new set of orders p11, which includes orders {F3, F4, F5, F6}. Then, the nodes corresponding to set order p11 are generated, and set S is updated. At this point, set S is:

[0084] S = {p10, p11}

[0085] Next, since set S only contains set orders p10 and p11, p10 and p11 are merged into a new set order p12, which includes orders {F0, F1, F2, F3, F4, F5, F6}. Then, the node corresponding to set order p12 is generated, and set S is updated. At this point, set S is:

[0086] S = {p12}

[0087] The clustering tree generated based on the generated nodes is as follows: Figure 6 As shown.

[0088] return Figure 1 In step 103, a hierarchical traversal is performed on the clustering tree to select target nodes that meet preset conditions.

[0089] It should be noted that each node in the clustering tree corresponds to the clustering result of one order. That is, each node in the clustering tree includes multiple candidate orders.

[0090] In some embodiments, during hierarchical traversal, if the root node of the clustering tree meets a preset condition, then the root node of the clustering tree is taken as the target node.

[0091] In some embodiments, if the root node of the clustering tree does not meet the preset conditions, each child node of the root node of the clustering tree is taken as a node to be processed. Next, it is determined whether the node to be processed meets the preset conditions. If the node to be processed meets the preset conditions, it is taken as the target node.

[0092] If the node to be processed does not meet the preset conditions, then it is determined whether the node to be processed has child nodes. If the node to be processed has child nodes, then each child node of the node to be processed is taken as the current node to be processed, and the determination of whether the current node to be processed meets the preset conditions is repeated.

[0093] In some embodiments, candidate orders that are not included in the aggregate order are moved into the order pool from among multiple candidate orders.

[0094] In some embodiments, the preset conditions include at least one of the following conditions:

[0095] 1) The total number of items corresponding to all candidate orders included in the pending node does not exceed the first threshold;

[0096] 2) The total number of candidate orders included in the pending nodes does not exceed the second threshold;

[0097] 3) The current time is within the time interval for issuing aggregated orders.

[0098] For example, the time interval for issuing a batch of orders is [preset issuance time - preset interval time, preset issuance time], where the preset issuance time is the earliest time among the latest picking times of all candidate orders included in the node to be processed.

[0099] Suppose a batch order includes orders A and B. The latest picking time for order A is 13:40, the latest picking time for order B is 13:30, and the picking time for the batch order is 5 minutes. Therefore, the latest picking time for the batch order is 13:25. Assuming the preset interval is 1 minute, the time range for issuing the batch order is [13:24–13:25]. If the current time is within this range, the batch order will be issued.

[0100] For example, the order picking time is (T + a * number of categories in the order + b * number of picking areas), where T is the picking preparation time, a is the time for the picker to switch categories, and b is the time for switching categories. These parameters can be configured according to the actual situation.

[0101] For example, suppose the SKUs (Stock Keeping Units) in a batch order are divided into 3 categories and distributed across 2 picking areas. The picking time is 30 seconds, the time for a picker to move from one category to another is 10 seconds, and the time to move from one picking area to another is 20 seconds. Then the picking time for this batch order is 30 seconds + 3 * 10 seconds + 20 * 2 seconds = 1 minute and 40 seconds.

[0102] In step 104, a set of orders is generated using all candidate orders included in the target node.

[0103] In some embodiments, such as Figure 7 As shown, if the root node D1 of the clustering tree meets the preset conditions, the root node of the clustering tree is taken as the target node, and then all candidate orders F0-F6 included in the root node D1 are used to generate a set of orders.

[0104] That is, the set of orders C = {F0, F1, F2, F3, F4, F5, F6}.

[0105] In some embodiments, such as Figure 7 As shown, if the root node D1 of the clustering tree does not meet the preset conditions, and root node D1 has two child nodes D2 and D3, then child nodes D2 and D3 are checked respectively. If both child nodes D2 and D3 meet the preset conditions, then a set of orders C1 is generated based on all candidate orders F3-F6 included in child node D2, and a set of orders C2 is generated based on all candidate orders F0-F2 included in child node D3.

[0106] That is, the aggregate order C1 = {F3, F4, F5, F6}, and the aggregate order C2 = {F0, F1, F2}.

[0107] In some embodiments, such as Figure 7As shown, the root node D1 of the clustering tree does not meet the preset conditions, and the root node D1 has two child nodes D2 and D3. Therefore, the child nodes D2 and D3 are detected respectively.

[0108] 1) If child node D2 does not meet the preset conditions, and child node D2 has child node D5, then child node D5 is checked. If child node D5 meets the preset conditions, then a set order C1 is generated based on all candidate orders F4-F6 included in child node D5.

[0109] 2) If all child nodes D3 meet the preset conditions, generate set order C2 based on all candidate orders F0-F2 included in child node D3.

[0110] That is, the aggregate order C1 = {F4, F5, F6}, and the aggregate order C2 = {F0, F1, F2}.

[0111] In addition, candidate orders F3 that have not been added to the aggregate order pool will be moved to the order pool for use in the next aggregate order generation process.

[0112] In some embodiments, such as Figure 7 As shown, the root node D1 of the clustering tree does not meet the preset conditions, and the root node D1 has two child nodes D2 and D3. Therefore, the child nodes D2 and D3 are detected respectively.

[0113] 1) If child node D2 does not meet the preset conditions, and child node D2 has child node D5, then child node D5 is checked. If child node D5 meets the preset conditions, then a set order C1 is generated based on all candidate orders F4-F6 included in child node D5.

[0114] 2) If child node D3 does not meet the preset conditions, and child node D3 has child node D4, then child node D4 is checked. If child node D4 meets the preset conditions, then a set order C2 is generated based on all candidate orders F1-F2 included in child node D4.

[0115] That is, the aggregate order C1 = {F4, F5, F6}, and the aggregate order C2 = {F1, F2}.

[0116] In addition, candidate orders F0 and F3 that were not included in the aggregate order are moved into the order pool for use in the next aggregate order generation process.

[0117] In the aggregate order generation method provided in the above embodiments of this disclosure, hierarchical clustering is performed based on the distance between multiple orders to construct a clustering tree. The clustering tree is then traversed hierarchically to select target nodes that meet preset conditions. Finally, all orders included in the target nodes are used to generate an aggregate order. Since all orders within the same aggregate order are clustered close together, the walking distance of pickers is effectively reduced, improving work efficiency.

[0118] Figure 8 This is a schematic diagram of the structure of a collection order generation device according to an embodiment of this disclosure. Figure 8 As shown, the order generation device includes a first processing module 81, a second processing module 82, a third processing module 83, and a fourth processing module 84.

[0119] The first processing module 81 is configured to extract multiple candidate orders from the order pool.

[0120] In some embodiments, the first processing module 81 uses preset rules to filter all orders in the order pool in order to obtain multiple pending orders from all orders for generating a set of orders.

[0121] For example, all orders can be filtered using a preset blacklist or whitelist.

[0122] Next, the first processing module 81 determines whether the i-th pending order among the multiple pending orders can be processed within a predetermined time, where 1 ≤ i ≤ N, and N is the total number of pending orders. If the i-th pending order can be processed within the predetermined time, it is designated as a candidate order; otherwise, the i-th pending order is processed.

[0123] In other words, if the current time has exceeded the latest picking time for the i-th order, the order will be processed to minimize the delay time of the i-th order.

[0124] The second processing module 82 is configured to perform hierarchical clustering using multiple candidate orders to construct a clustering tree.

[0125] In some embodiments, the second processing module 82 generates multiple set orders that correspond one-to-one with multiple candidate orders, wherein each set order has a corresponding candidate order. Next, the second processing module 82 places the multiple set orders into a cluster set and calculates the distance between every two set orders in the cluster set.

[0126] In some embodiments, the first set order is one of two set orders, and the second set order is the other of two set orders.

[0127] The second processing module 82 first counts all first picking locations corresponding to all candidate orders in the first set of orders, and all second picking locations corresponding to all candidate orders in the second set of orders. Next, it calculates the distance between each first picking location and each second picking location. For example, this distance can be Euclidean distance.

[0128] Next, the second processing module 82 determines the distance between the first set of orders and the second set of orders based on the average value of all calculated distances, the preset delivery time of all candidate orders in the first set of orders, and the preset delivery time of all candidate orders in the second set of orders.

[0129] For example, the distance D between the first set of orders and the second set of orders is as shown in the above formula (1).

[0130] Next, the second processing module 82 merges the two sets of orders with the minimum distance into a new set of orders. The new set of orders includes all candidate orders included in the two sets of orders with the minimum distance. It generates the node corresponding to the new set of orders and uses the two sets of orders with the minimum distance in the new set of orders to update the cluster set.

[0131] The second processing module 82 repeatedly calculates the distance between every two cluster orders in the cluster set until there is only one cluster order in the cluster set, and uses all the generated nodes to build a cluster tree.

[0132] The third processing module 83 is configured to perform a hierarchical traversal of the clustering tree in order to select target nodes that meet preset conditions from the clustering tree.

[0133] It should be noted that each node in the clustering tree corresponds to the clustering result of one order. That is, each node in the clustering tree includes multiple candidate orders.

[0134] In some embodiments, during the hierarchical traversal process, if the root node of the clustering tree meets the preset conditions, the third processing module 83 will take the root node of the clustering tree as the target node.

[0135] In some embodiments, if the root node of the clustering tree does not meet the preset conditions, the third processing module 83 treats each child node of the root node of the clustering tree as a node to be processed. Next, it determines whether the node to be processed meets the preset conditions. If the node to be processed meets the preset conditions, it is then designated as the target node.

[0136] If the node to be processed does not meet the preset conditions, the third processing module 83 determines whether the node to be processed has child nodes. If the node to be processed has child nodes, each child node of the node to be processed is taken as the current node to be processed, and the determination of whether the current node to be processed meets the preset conditions is repeated.

[0137] In some embodiments, the third processing module 83 moves candidate orders that are not included in the aggregate order from among multiple candidate orders into the order pool.

[0138] In some embodiments, the preset conditions include at least one of the following conditions:

[0139] 1) The total number of items corresponding to all candidate orders included in the pending node does not exceed the first threshold;

[0140] 2) The total number of candidate orders included in the pending nodes does not exceed the second threshold;

[0141] 3) The current time is within the time interval for issuing aggregated orders.

[0142] For example, the time interval for issuing a batch of orders is [preset issuance time - preset interval time, preset issuance time], where the preset issuance time is the earliest time among the latest picking times of all candidate orders included in the node to be processed.

[0143] The fourth processing module 84 is configured to generate a set order using all candidate orders included in the target node.

[0144] Figure 9 This is a schematic diagram of the structure of a collection order generation apparatus according to another embodiment of this disclosure. Figure 9 As shown, the collection order generation device includes a memory 91 and a processor 92.

[0145] Memory 91 is used to store instructions. Processor 92 is coupled to memory 91 and is configured to execute instructions based on the memory storage, as shown in the example below. Figure 1-3 The method involved in any of the embodiments.

[0146] like Figure 9 As shown, the aggregated order generation device also includes a communication interface 93 for information exchange with other devices. Additionally, the device includes a bus 94, through which the processor 92, communication interface 93, and memory 91 communicate with each other.

[0147] Memory 91 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk drive. Memory 91 may also be a memory array. Memory 91 may also be divided into blocks, and the blocks may be combined into virtual volumes according to certain rules.

[0148] Furthermore, processor 92 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present disclosure.

[0149] This disclosure also relates to a computer-readable storage medium storing computer instructions that, when executed by a processor, implement... Figure 1-3 The method involved in any of the embodiments.

[0150] By implementing the above embodiments of this disclosure, the following beneficial effects can be obtained:

[0151] 1) This disclosure uses hierarchical clustering to generate aggregated orders, which has the following advantages: A) Unlike most clustering algorithms, it does not require a pre-defined number of clusters, allowing for more flexible adaptation to the number of orders during peak and off-peak periods. B) After calculation, the aggregated order size can be adjusted according to the configuration, eliminating the need for repeated calculations and reducing a significant amount of computing resources.

[0152] 2) This disclosure uses the centroid chain method to calculate the distance between orders, which simulates the actual picking distance of pickers to the greatest extent.

[0153] 3) This disclosure simulates the picking time of pickers, thus more closely reflecting actual usage scenarios, and the aggregated order generation results are also more reasonable, reducing the risk of order fulfillment delays due to excessive picking tasks.

[0154] In some embodiments, the functional unit modules described above may be implemented as general-purpose processors, programmable logic controllers (PLCs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any suitable combination thereof for performing the functions described herein.

[0155] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0156] The description in this disclosure is provided for illustrative and descriptive purposes only and is not intended to be exhaustive or to limit the disclosure to its forms. Many modifications and variations will be apparent to those skilled in the art. The embodiments were chosen and described in order to better illustrate the principles and practical application of this disclosure and to enable those skilled in the art to understand this disclosure and to design various embodiments with various modifications suitable for a particular purpose.

Claims

1. A method for generating aggregated orders, comprising: Extract multiple candidate orders from the order pool; Hierarchical clustering is performed using the multiple candidate orders to construct a clustering tree; The clustering tree is traversed hierarchically in order to select target nodes that meet preset conditions from the clustering tree; Generate a set of orders using all candidate orders included in the target node; The hierarchical traversal of the clustering tree includes: During the hierarchical traversal, if the root node of the clustering tree does not meet the preset condition, then each child node of the root node of the clustering tree is taken as a node to be processed. Determine whether the node to be processed meets the preset conditions; If the node to be processed meets the preset conditions, then the node to be processed will be used as the target node.

2. The method of claim 1, wherein, The hierarchical traversal of the clustering tree also includes: During the hierarchical traversal, if the root node of the clustering tree satisfies the preset condition, then the root node of the clustering tree is taken as the target node.

3. The method according to claim 2, further comprising: If the node to be processed does not meet the preset conditions, then determine whether the node to be processed has child nodes; If the node to be processed has child nodes, then each child node of the node to be processed is taken as the current node to be processed. Repeatedly determine whether the current node to be processed meets the preset conditions.

4. The method according to claim 3, further comprising: The candidate orders that are not included in the set of orders are moved into the order pool.

5. The method according to claim 1, wherein, The preset conditions include at least one of the following conditions: The total number of items corresponding to all candidate orders included in the node to be processed does not exceed the first threshold; The total number of candidate orders included in the node to be processed does not exceed the second threshold; The current time falls within the time interval for the collective order placement.

6. The method according to claim 5, wherein, The time interval for issuing the aggregated orders is [preset issuance time - preset interval time, preset issuance time], wherein the preset issuance time is the earliest time among the latest picking times of each candidate order included in the node to be processed.

7. The method of claim 1, wherein, The step of constructing a cluster tree using the multiple candidate orders includes: Generate multiple set orders that correspond one-to-one with the multiple candidate orders, wherein each set order has a corresponding candidate order; Place the multiple sets of orders into a cluster set; Calculate the distance between every two cluster orders in the cluster set; The two sets of orders with the minimum distance are merged into a new set of orders, which includes all candidate orders included in the two sets of orders with the minimum distance. Generate nodes corresponding to the new set of orders; The cluster set is updated using the two cluster orders with the smallest distance from the new cluster order; Repeatedly calculate the distance between every two set orders in the cluster set until there is only one set order in the cluster set; The clustering tree is constructed using all the generated nodes.

8. The method of claim 7, wherein, The calculation of the distance between every two cluster orders in the cluster set includes: The system calculates all first picking locations corresponding to all candidate orders in the first set of orders and all second picking locations corresponding to all candidate orders in the second set of orders, where the first set of orders is one of the two set of orders and the second set of orders is the other of the two set of orders. Calculate the distance between each of the first picking positions and each of the second picking positions. The distance between the first set of orders and the second set of orders is determined based on the average of all calculated distances, the preset delivery time of all candidate orders in the first set of orders, and the preset delivery time of all candidate orders in the second set of orders.

9. The method according to claim 8, wherein, The distance D between the first set of orders and the second set of orders is: D = D1+ (abs(T1 -T2 ) ) Wherein D1 is the average value of the total distance, T1 is the preset delivery time of all candidate orders in the first set of orders, T2 is the preset delivery time of all candidate orders in the second set of orders, and abs is an absolute value function, is a weight value.

10. The method of any one of claims 1-9, wherein, Extracting multiple candidate orders from the order pool includes: All orders in the order pool are filtered using preset rules to obtain the multiple candidate orders.

11. The method of claim 10, wherein, The filtering process for all orders in the order pool using preset rules includes: The entire order is filtered to obtain multiple pending orders for generating a set of orders. Determine whether each of the multiple pending orders can be processed within a predetermined time. If each pending order can be processed within a predetermined time, then each pending order will be considered as a candidate order.

12. The method according to claim 11, wherein, If each pending order cannot be processed within the predetermined time, then each pending order will be sent for processing.

13. A device for generating aggregated orders, comprising: The first processing module is configured to extract multiple candidate orders from the order pool; The second processing module is configured to perform hierarchical clustering using the multiple candidate orders to construct a clustering tree; The third processing module is configured to perform a hierarchical traversal of the clustering tree in order to select target nodes that meet preset conditions from the clustering tree. During the hierarchical traversal, if the root node of the clustering tree does not meet the preset conditions, each child node of the root node of the clustering tree is taken as a node to be processed, and it is determined whether the node to be processed meets the preset conditions. If the node to be processed meets the preset conditions, the node to be processed is taken as the target node. The fourth processing module is configured to generate a set of orders using all candidate orders included in the target node.

14. A device for generating aggregated orders, comprising: The memory is configured to store instructions; A processor, coupled to a memory, configured to implement the method as described in any one of claims 1-12 based on memory-stored instruction execution.

15. A computer-readable storage medium, wherein, A computer-readable storage medium stores computer instructions that, when executed by a processor, implement the method as described in any one of claims 1-12.

Citation Information

Patent Citations

  • An order picking optimization method based on hierarchical clustering

    CN109242184A