Order processing method and device
By iteratively optimizing order grouping and storage location concentration in e-commerce warehouses, the problem of low picking efficiency in existing technologies has been solved, resulting in more efficient picking operations and reduced costs.
Patent Information
- Application Number
- CN202410609800.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-16
- Publication Date
- 2025-11-18
AI Technical Summary
When picking multiple orders in a current e-commerce warehouse, the existing grouping rules are simple, resulting in low picking efficiency and failing to meet actual needs.
By iteratively grouping and optimizing orders in the order pool according to pre-configured constraints in the picking warehouse, a target number of orders are added to the picking task. The storage concentration is optimized by a large-scale neighborhood search algorithm, and the position of orders in the picking task is adjusted to optimize the picking distance.
Under the constraints, the picking distance was optimized, which improved picking efficiency and reduced picking costs.
Smart Images

Figure CN120975698A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of warehouse picking, and in particular to an order processing method and device. BACKGROUND
[0002] At present, when picking multiple orders in an e-commerce warehouse, the multiple orders are usually grouped according to existing constraint conditions, such as shelf number, order quantity, commodity quantity, volume, weight, etc., and are divided into several picking tasks, and the orders in each picking task are picked in a centralized manner. However, the current order grouping rule is simple, so that the picking efficiency is low according to the grouping result under the grouping rule, and the actual order processing business requirements cannot be met. SUMMARY
[0003] Therefore, an order processing method and device are provided, which execute the following loop for each of multiple picking tasks until an iteration period corresponding to the picking task reaches an upper limit of the period, the multiple picking tasks being obtained by grouping orders in an order pool according to constraint conditions pre-configured by a picking warehouse: a target number of orders are determined from the picking task, and the determined orders are moved from the picking task back to the order pool; the target number is determined according to an order quantity corresponding to the picking task; a to-be-added order whose storage location concentration degree satisfies a preset condition is determined from unassigned orders in the order pool, with respect to the order concentration degree of the orders in the picking task; a first target order of the target number is determined from the to-be-added order according to the constraint conditions, and the first target order is added to the picking task, and the iteration period is incremented; and it is determined whether the iteration period has reached the upper limit of the period. Thus, the picking distance corresponding to the picking task is optimized multiple times according to the storage location concentration degree under the premise of meeting the constraint conditions, so that the picking distance is shorter, thereby improving the picking efficiency and reducing the picking cost.
[0004] To achieve the above object, according to one aspect of an embodiment of the present application, an order processing method is provided.
[0005] An order processing method according to an embodiment of the present application comprises: performing the following loop for each of a plurality of picking tasks until an iteration period corresponding to the picking task reaches an upper limit of a period, the plurality of picking tasks being obtained by grouping orders in an order pool according to a constraint condition pre-configured by a picking warehouse: determining a target number of orders from the picking task, and moving the determined orders from the picking task back to the order pool; the target number being determined according to a number of orders corresponding to the picking task; determining, from unassigned orders in the order pool, a to-be-added order of the picking task that satisfies a preset condition in terms of a storage location concentration degree of the unassigned order relative to orders in the picking task; determining a first target order of the target number from the to-be-added order according to the constraint condition, and adding the first target order to the picking task, and incrementing the iteration period; and determining whether the iteration period has reached the upper limit of the period.
[0006] Optionally, the constraint condition comprises one or more of a maximum number of orders, a maximum number of items, a maximum total volume, a maximum total weight, a maximum number of categories, an item barcode, an item consignee, an item batch, and an item grade corresponding to each picking task; and the determining of the first target order of the target number from the to-be-added order according to the constraint condition comprises: for each order in the to-be-added order: determining, according to the constraint condition, whether the picking task satisfies the following constraints after the order is added to the picking task: the number of orders, the number of items, the total volume, the total weight, and the number of categories corresponding to the picking task do not exceed the maximum number of orders, the maximum number of items, the maximum total volume, the maximum total weight, and the maximum number of categories, there is no case of the same item barcode corresponding to different item consignees in the picking task, and there is no case of the same item barcode corresponding to different item batches and / or different item grades; and in a case where the picking task satisfies the constraints, determining the order as the first target order.
[0007] Optionally, the determining of the target number of orders from the picking task, and the moving of the determined orders from the picking task back to the order pool comprises: determining a number of orders corresponding to the picking task; determining a target number of to-be-deleted orders corresponding to the picking task according to the number of orders; determining the target number of to-be-deleted orders from the picking task according to a destroy operator corresponding to a large-scale neighborhood search algorithm; deleting the to-be-deleted orders from the picking task, and determining the to-be-deleted orders as unassigned orders in the order pool.
[0008] Optionally, the determining the target number of orders to be deleted from the picking task according to the destruction operator corresponding to the large-scale neighborhood search algorithm comprises: determining a target destruction operator from the plurality of destruction operators according to weights respectively corresponding to the plurality of destruction operators; and determining the target number of orders to be deleted from the picking task according to the target destruction operator.
[0009] Optionally, the plurality of destruction operators comprises a first operator, a second operator and a third operator, wherein the first operator is configured to randomly disarrange a plurality of orders in the picking task, and determine the target number of orders arranged in a first preset position as the orders to be deleted; the second operator is configured to sort the plurality of orders in the picking task according to storage location numbers respectively corresponding to the plurality of orders, and determine the target number of orders arranged in a second preset position as the orders to be deleted; and the third operator is configured to determine a second target order with a maximum difference in storage location number from the plurality of orders, determine a storage location concentration degree respectively corresponding to each of the plurality of orders except the second target order relative to the second target order, and determine the target number of orders to be deleted from the picking task according to the storage location concentration degrees, wherein the target number of orders to be deleted have a lower storage location concentration degree.
[0010] Optionally, the determining the target number of orders to be added to the picking task from the unassigned orders in the order pool according to the storage location concentration degrees respectively corresponding to the unassigned orders relative to the orders in the picking task comprises: determining a plurality of reconstruction operators corresponding to the large-scale neighborhood search algorithm and weights respectively corresponding to the plurality of reconstruction operators; determining a target reconstruction operator from the plurality of reconstruction operators according to the weights; determining a storage location concentration degree respectively corresponding to each of the unassigned orders based on the target reconstruction operator and relative to the picking task according to storage location numbers respectively corresponding to the unassigned orders; and determining the target number of orders to be added to the picking task from the unassigned orders, wherein the target number of orders to be added to the picking task have a storage location concentration degree satisfying a preset condition.
[0011] Optionally, the plurality of reconstruction operators comprises a first reconstruction operator and a second reconstruction operator, wherein the first reconstruction operator is configured to determine a minimum storage location number and a maximum storage location number corresponding to the picking task; and determine a first storage location concentration degree respectively corresponding to each of the unassigned orders relative to the picking task according to the minimum storage location number, the maximum storage location number and storage location numbers respectively corresponding to the unassigned orders; and the second reconstruction operator is configured to determine a second storage location concentration degree respectively corresponding to each of the unassigned orders relative to the picking task according to the minimum storage location number, the maximum storage location number and the storage location numbers respectively corresponding to the unassigned orders.
[0012] Optionally, the grouping the orders in the order pool according to the constraint condition pre-configured by the picking warehouse comprises: performing the following loop for the task number corresponding to the picking task until the task number is greater than a preset number: determining whether the task number is greater than the preset number; determining whether the order quantity corresponding to the picking task is not less than a preset threshold; in a case where the order quantity is not less than the preset threshold, increasing the task number; and in a case where the order quantity is less than the preset threshold, adding an order sequentially arranged in a third preset position in the unassigned orders in the order pool according to the order corresponding to the article storage location number to the picking task, and increasing the order quantity.
[0013] Optionally, the adding the order sequentially arranged in the third preset position in the unassigned orders in the order pool according to the order corresponding to the article storage location number to the picking task comprises: determining whether the picking task satisfies a constraint corresponding to the constraint condition after the order sequentially arranged in the third preset position is added to the picking task; and in a case where the picking task satisfies the constraint, determining to add the order sequentially arranged in the third preset position to the picking task.
[0014] Optionally, the method further comprises: predicting a first picking time and a second picking time corresponding to each iteration of the picking task respectively before and after the iteration; comparing the first picking time and the second picking time; and in a case where the second picking time is less than the first picking time, increasing weights corresponding to the target destruction operator and the target reconstruction operator respectively.
[0015] To achieve the above object, according to another aspect of the embodiment of the present application, an order processing device is provided.
[0016] The order processing device of the embodiment of the present application comprises an order initial allocation module, an order deletion module, an order re-allocation module and a loop judgment module, wherein,
[0017] The following loop is performed for each of a plurality of picking tasks until the loop judgment module determines that an iteration period corresponding to the picking task reaches an upper limit of the period, the plurality of picking tasks being obtained by grouping orders in an order pool according to a constraint condition pre-configured by a picking warehouse through the order initial allocation module:
[0018] The order deletion module is configured to determine a target number of orders from the picking task, and move the determined orders from the picking task back to the order pool; the target number being determined according to the order quantity corresponding to the picking task.
[0019] The order reassignment module is configured to: according to unassigned orders in the order pool, and relative to order corresponding storage concentration in the picking task, determine, from the unassigned orders, to-be-added orders of the picking task that meet a preset condition in terms of storage concentration; and according to the constraint condition, determine, from the to-be-added orders, the target number of first target orders, add the first target orders to the picking task, and increment the iteration period.
[0020] The cycle determination module is configured to determine whether the iteration period has reached the cycle upper limit.
[0021] To achieve the above object, according to another aspect of the embodiment of the present application, a server is provided.
[0022] The server of the embodiment of the present application comprises one or more processors, and a storage device configured to store one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the order processing method of the embodiment of the present application.
[0023] To achieve the above object, according to still another aspect of the embodiment of the present application, a computer readable storage medium is provided.
[0024] The computer readable storage medium of the embodiment of the present application has a computer program stored thereon, which, when executed by a processor, implements the order processing method of the embodiment of the present application.
[0025] The embodiment of the above invention has the following advantages or beneficial effects: for each of a plurality of picking tasks, the following cycle is performed until the iteration period corresponding to the picking task reaches the cycle upper limit, the plurality of picking tasks being obtained by grouping orders in an order pool according to a constraint condition pre-configured by a picking warehouse: a target number of orders are determined from the picking task, and the determined orders are moved from the picking task to the order pool; the target number is determined according to the number of orders corresponding to the picking task; according to unassigned orders in the order pool, and relative to order corresponding storage concentration in the picking task, to-be-added orders of the picking task that meet a preset condition in terms of storage concentration are determined from the unassigned orders; according to the constraint condition, the target number of first target orders are determined from the to-be-added orders, and the first target orders are added to the picking task, and the iteration period is incremented; and it is determined whether the iteration period has reached the cycle upper limit. Thus, the picking distance corresponding to the picking task is optimized multiple times according to the storage concentration on the premise of meeting the constraint condition, so that the picking distance is shorter, thereby improving the picking operation efficiency and reducing the picking cost.
[0026] Further effects of the above-described non-conventional optional modes will be explained in the following in connection with the detailed description. BRIEF DESCRIPTION OF DRAWINGS
[0027] The accompanying drawings are included to provide a further understanding of the application, and are incorporated in and constitute a part of this specification. Among the drawings:
[0028] Figure 1 is a schematic diagram of the main steps of an order processing method according to an embodiment of the application;
[0029] Figure 2 is a schematic diagram of the main steps of an initialization of generating a picking task according to an embodiment of the application;
[0030] Figure 3a is a schematic diagram of the main steps of a destruction of a picking task according to an embodiment of the application;
[0031] Figure 3b is a schematic diagram of the main steps of a determination of orders to be deleted according to an embodiment of the application;
[0032] Figure 4 is a schematic diagram of the main steps of an update of operator weights according to an embodiment of the application;
[0033] Figure 5 is a schematic diagram of the main steps of a reconstruction of a picking task according to an embodiment of the application;
[0034] Figure 6 is a schematic diagram of the main modules of an order processing apparatus according to an embodiment of the application;
[0035] Figure 7 is an exemplary system architecture diagram in which embodiments of the application can be applied;
[0036] Figure 8 is a structural schematic diagram of a computer system suitable for implementing an order management system or server of an embodiment of the application. DETAILED DESCRIPTION
[0037] The exemplary embodiments of this application are described herein with reference to the Figs, in which are shown:
[0038] It should be noted that in the technical solutions of the present disclosure, the collection, collection, updating, analysis, processing, use, transmission, storage and the like of user personal information are in line with the provisions of relevant laws and regulations, are used for legal purposes, and do not violate public order and good customs. Necessary measures are taken for user personal information to prevent illegal access to user personal information data, and to maintain user personal information security, network security and national security.
[0039] It should be noted that the embodiments of the present application and the technical features in the embodiments can be combined with each other without conflict.
[0040] Figure 1 is a schematic diagram of the main steps of the order processing method according to an embodiment of the present application.
[0041] As shown in Figure 1 The order processing method of the present application mainly includes the following steps:
[0042] The following steps S101-S104 are performed for each of the plurality of picking tasks until the iteration period corresponding to the picking task reaches the upper limit of the period, the plurality of picking tasks being obtained by grouping the orders in the order pool according to the constraint conditions pre-configured by the picking warehouse: step S101: determining a target number of orders from the picking task, and moving the determined orders from the picking task back to the order pool; the target number is determined according to the number of orders corresponding to the picking task.
[0043] The overall logic of the order processing method provided by the embodiment of the present application is: grouping the to-be-allocated orders according to the constraint conditions pre-configured by the picking warehouse using a seed algorithm to obtain a plurality of initial picking tasks; then using a large-scale neighborhood search algorithm to delete a target number of orders from the initial picking tasks according to certain rules and move the deleted orders back to the order pool of the to-be-allocated orders, and then selecting a target number of first target orders for each picking task from the order pool, the selected first target orders having a higher storage location concentration relative to the orders in the picking task to ensure that the picking distance of the picking task is shorter; the steps of using the large-scale neighborhood search algorithm to delete a target number of orders from the picking task and then supplementing the orders of the picking task are repeatedly performed to further optimize the picking distance of the picking task until the number of cycles and the cycle time reach the upper limit of the cycle, i.e. the cycle is ended, a plurality of iterative picking tasks are obtained, and the picking operation is performed according to the plurality of picking tasks, thereby shortening the picking distance corresponding to the picking task and improving the efficiency of the picking operation.
[0044] To generate initial picking tasks by using the seed algorithm, in the optional embodiment of the present application, the grouping of orders in the order pool according to the pre-configured constraints of the picking warehouse comprises: performing steps S201-S204 for the task number corresponding to the picking task, as shown in the following table, until the task number is greater than a preset number: Figure 2
[0045] Step S201: determining whether the task number is greater than the preset number;
[0046] Step S202: determining whether the order quantity corresponding to the picking task is not less than a preset threshold;
[0047] Step S203: in the case where the order quantity is not less than the preset threshold, incrementing the task number;
[0048] Step S204: in the case where the order quantity is less than the preset threshold, adding the order in the order pool that is sequentially arranged at a third preset position in the unassigned order to the picking task according to the order corresponding to the article storage location number, and incrementing the order quantity. When initially assigning the to-be-assigned order, a desired task quantity, i.e., the number of picking tasks to be generated, is first set, and the task number of the first picking task is set to 1. The order corresponding to picking task 1 is determined from the to-be-assigned task, and the steps are as follows: first, the to-be-assigned order is sorted according to the minimum storage location number or the maximum storage location number corresponding to the order, and the order arranged at the forefront is taken as the first order of the picking task 1, and the state information of the picking task 1 is updated, such as the storage location number, the order quantity, the article quantity, the total volume, the total weight, the category number, the article barcode, the article recipient, the article batch, the article grade, etc.; then, the order arranged at the forefront among the remaining sorted to-be-assigned orders is selected, and whether the order meets the constraint condition of joining the picking task 1 is determined according to the state information of the picking task with respect to the existing orders in the picking task; if yes, the order is added to the picking task 1, and the state information of the picking task is updated again according to the newly added order; if no, the order arranged at the forefront among the unselected sorted to-be-assigned orders is determined, and the above-mentioned operation of verifying whether the corresponding order meets the constraint condition is repeated, and when the constraint condition is met, the order is added to the picking task; until the order quantity in the picking task 1 reaches the upper limit, the task number is incremented, such as generating picking task number 2, and the order for the picking task 2 is assigned, until the order quantity of the picking task 2 reaches the upper limit; then, the picking task number 3 is generated, and the order for the picking task is assigned, and the process is repeated in sequence until the desired number of picking tasks is generated.
[0049] Before determining to add an order to the picking task, it is necessary to determine whether it meets the constraint condition for joining the picking task. In an optional embodiment of the present application, the order in the order pool which has been sorted according to the article storage location number corresponding to the order and sequentially arranged in the third preset position in the unassigned order is added to the picking task, comprising: determining whether the picking task meets the constraint corresponding to the constraint condition after the order arranged in the third preset position is added to the picking task; in the case that the picking task meets the constraint, determining to add the order arranged in the third preset position to the picking task. The constraint condition comprises one or more of the maximum order number, the maximum article piece number, the maximum total volume, the maximum total weight, the maximum category number, the article bar code, the article consignee, the article batch, and the article grade corresponding to each picking task. It is determined whether an order meets the constraint condition, that is, whether the picking task meets the following constraints after the order is added to the picking task: the order number, article piece number, total volume, total weight, and category number corresponding to the picking task do not exceed the maximum order number, the maximum article piece number, the maximum total volume, the maximum total weight, and the maximum category number, there is no case of the same article bar code corresponding to different article consignees in the picking task, and there is no case of the same article bar code corresponding to different article batches and / or different article grades; in the case that the constraint is met, the order is determined to be added to the picking task; in the case that the constraint is not met, the order is kept in the order pool, and the order is not considered in subsequent determination of orders for the picking task.
[0050] After obtaining a plurality of initial picking tasks according to the seed algorithm, the orders in the initial picking tasks are iteratively updated by using the large-scale neighborhood search algorithm, so as to make the order corresponding to the storage location concentration in the same picking task higher, and correspondingly make the picking distance corresponding to the picking task shorter. The iterative update of the orders in the initial picking tasks comprises deleting a target number of orders from each initial picking task and putting the deleted orders into the order pool as unassigned orders, and determining a target number of unassigned orders for each initial picking task from the unassigned orders according to the storage location concentration corresponding to the initial picking task of the unassigned order, and adding the unassigned order to the corresponding initial picking task.
[0051] In order to delete a target number of orders from the picking task and put them into the order pool, in an optional embodiment of the present application, the target number of orders are determined from the picking task, and the determined orders are removed from the picking task and returned to the order pool, comprising steps S301-S304, as shown in FIG. 3:
[0052] Step S301: determining the order number corresponding to the picking task;
[0053] Step S302: According to the order number, the target number of orders to be deleted corresponding to the picking task is determined;
[0054] Step S303: According to the destruction operator corresponding to the large-scale neighborhood search algorithm, the target number of orders to be deleted from the picking task is determined;
[0055] Step S304: The order to be deleted is deleted from the picking task, and the order to be deleted is determined as an unassigned order in the order pool. Wherein, the target number is determined according to the order number in the corresponding initial picking task, such as the order number k and the target number w, w=int(k*r+0.5), wherein r is a random number in a preset range, such as [0.20.5], and int represents the integer function. The large-scale neighborhood search algorithm can construct multiple destruction operators, and set corresponding weights for the multiple destruction operators. In each iteration, the target destruction operator is determined according to the weight, and then the order to be deleted is determined according to the order deletion rule corresponding to the target destruction operator, and the order to be deleted is deleted from the picking task and determined as an order to be allocated in the order pool.
[0056] In order to determine the target destruction operator corresponding to the current iteration from the multiple destruction operators, in the optional embodiment of the application, the target number of orders to be deleted from the picking task is determined according to the destruction operator corresponding to the large-scale neighborhood search algorithm, comprising steps S3031-S3032, as shown in Figure 3b
[0057] Step S3031: According to the weights corresponding to the multiple destruction operators respectively, the target destruction operator is determined from the multiple destruction operators;
[0058] Step S3032: According to the target destruction operator, the target number of orders to be deleted from the picking task is determined. For example, the destruction operator is three, and the weights corresponding to the three destruction operators are 5, 5 and 5, then the probability of being selected in this iteration is 1 / 3, 1 / 3 and 1 / 3 respectively. Therefore, in each iteration, the probability of being selected as the target destruction operator is higher for the destruction operator with higher weight, and the probability of being selected as the target destruction operator is lower for the destruction operator with lower weight. After the target destruction operator is determined, the order to be deleted in the corresponding picking task is determined according to the rule for determining the order to be deleted corresponding to the destruction operator. It can be understood that the weights of the multiple destruction operators can be flexibly set according to business requirements, such as setting the weights as unequal values, such as 1, 3, 5, etc.
[0059] After the end of the current iteration, the first picking duration corresponding to the picking task before the current iteration and the second picking duration corresponding to the picking task after the current iteration are predicted, and the two picking durations are compared. When the second picking duration is less than the first picking duration, the weight of the target destruction operator corresponding to the current iteration is incremented. Therefore, in order to make the excellent destruction operator have a higher probability of being selected in the subsequent iteration, in the optional embodiment of the present application, the method further comprises steps S401-S403, as shown in Figure 4
[0060] Step S401: predicting the first picking time and the second picking time corresponding to each iteration of the picking task respectively;
[0061] Step S402: comparing the first picking time and the second picking time;
[0062] Step S403: in the case where the second picking time is less than the first picking time, the weights corresponding to the target destruction operator and the target reconstruction operator are incremented respectively. For example, when the target destruction operator is determined in the current iteration, the weights corresponding to the three destruction operators are 5, 5 and 5, and the second destruction operator is selected as the target destruction operator. After the current iteration is completed using the second destruction operator, it is determined that the second picking duration after the iteration is less than the first picking duration before the iteration, so the weight of the second destruction operator is incremented by 1. At this time, the weights corresponding to the three destruction operators are updated to 5, 6 and 5, so the probability of the second destruction operator being selected in the next iteration is higher than that of the other two destruction operators. Similarly, for the excellent reconstruction operator, the same processing method as the destruction operator is adopted to update its weight, which will be described in detail below.
[0063] The rules for determining the to-be-deleted orders corresponding to the three destruction operators are introduced below. In the optional embodiment of the present application, the plurality of destruction operators includes a first operator, a second operator and a third operator. The first operator randomly disarranges the order of the plurality of orders in the picking task, and determines the orders with the target number of orders arranged in a first preset position as the to-be-deleted orders. The second operator sorts the plurality of orders in the picking task according to the storage location numbers corresponding to the plurality of orders, and determines the orders with the target number of orders arranged in a second preset position as the to-be-deleted orders. The third operator determines a second target order with the maximum difference in storage location number from the plurality of orders, determines the storage location concentration of the other orders in the plurality of orders relative to the second target order, and determines the to-be-deleted orders with the target number of orders and lower storage location concentration from the picking task according to the storage location concentration.
[0064] The rule for determining the orders to be deleted corresponding to the first operator is that all the orders in the corresponding picking task are randomly sorted, and w orders in the first preset position are deleted, which can include the first, the last, or the middle, which can be flexibly set as needed.
[0065] The rule for determining the orders to be deleted corresponding to the second operator is that all the orders in the picking task are sorted according to the minimum storage location number or the maximum storage location number corresponding to the order, and the f orders in the front and the b orders in the back are determined as the orders to be deleted, where f+b=w, which can make f and b as equal or close as possible.
[0066] The rule for determining the orders to be deleted corresponding to the third operator is that the corresponding goods of each order in the current corresponding picking task are determined, the minimum storage location number and the maximum storage location number corresponding to the order are determined according to the storage location number corresponding to the goods, the difference between the minimum storage location number and the maximum storage location number corresponding to the order is determined, and the second target order with the largest storage location number difference among all the orders in the picking task is determined. For other orders except the second target order, the storage location concentration of each other order relative to the second target order is determined according to the minimum storage location number and the maximum storage location number corresponding to the other order, and the order to be deleted is determined according to the storage location concentration, wherein the storage location concentration of each other order is determined according to the storage span corresponding to each other order and the second target order, and the specific steps are to calculate the intersection and union of the storage span corresponding to the two orders, and calculate the ratio of the intersection to the union. The larger the ratio, the lower the storage location concentration of each other order. The smaller the ratio, the higher the corresponding storage location concentration. The other orders are sorted according to the ratio, such as from large to small or from small to large, and the second target order and the w-1 orders in the front or the w-1 orders in the back are deleted. The ratio calculation formula of the intersection and union of the storage span of each other order and the storage span of the second target order is:
[0067]
[0068] Wherein, λ1, μ1 are the maximum storage location number and the minimum storage location number corresponding to the second target order respectively; λ2, μ2 are the maximum storage location number and the minimum storage location number corresponding to each other order respectively; min(λ1, λ2)-max(μ1, μ2) represents the intersection of the storage span corresponding to the other order and the second target order, Max(λ1, λ2)-min(μ1, μ2) represents the union of the storage span corresponding to the other order and the second target order, the larger the ratio, the lower the storage location concentration, and vice versa. It can be understood that the order corresponding to only one storage location number is the order with equal maximum storage location number and minimum storage location number.
[0069] Step S102: determining, from the unassigned orders in the order pool, a to-be-added order that satisfies a preset condition in terms of the corresponding storage location concentration degree of the order relative to the orders in the picking task, according to the unassigned orders in the order pool and the corresponding storage location concentration degree of the order relative to the orders in the picking task.
[0070] To determine the order with a high storage location concentration degree to supplement the orders in the picking task, in an optional embodiment of the present application, the step of determining, from the unassigned orders in the order pool, a to-be-added order that satisfies a preset condition in terms of the corresponding storage location concentration degree of the order relative to the orders in the picking task, according to the unassigned orders in the order pool and the corresponding storage location concentration degree of the order relative to the orders in the picking task, comprises steps S501-S504, as shown in Figure 5
[0071] Step S501: determining a plurality of reconstruction operators corresponding to the large-scale neighborhood search algorithm and a weight corresponding to each of the plurality of reconstruction operators;
[0072] Step S502: determining a target reconstruction operator from the plurality of reconstruction operators according to the weight;
[0073] Step S503: determining, according to the storage location number corresponding to each of the unassigned orders, the storage location concentration degree of the unassigned order corresponding to each of the target reconstruction operator and the picking task;
[0074] Step S504: determining, from the unassigned orders, a to-be-added order that satisfies the preset condition in terms of the storage location concentration degree of the picking task. The plurality of reconstruction operators are the same as the plurality of destruction operators, and each of the plurality of reconstruction operators corresponds to an initial weight, and the target reconstruction operator is determined according to the initial weight. For example, the initial weights corresponding to the two reconstruction operators are 5 and 5, and the probability of being selected as the target reconstruction operator is 1 / 2. The storage location concentration degree corresponding to each of the to-be-assigned orders is determined according to the target reconstruction operator, i.e., the storage location concentration degree of the to-be-assigned order relative to the orders in the picking task. The order with a high storage location concentration degree in the to-be-assigned order is determined as the to-be-added order, and the to-be-added order is added to the corresponding picking task.
[0075] The following two reconstruction operators are described. In an optional embodiment of the present application, the plurality of reconstruction operators includes a first reconstruction operator and a second reconstruction operator, wherein the first reconstruction operator is configured to determine the minimum storage location number and the maximum storage location number corresponding to the picking task; determine the first storage location concentration degree corresponding to the unassigned order with respect to the picking task according to the minimum storage location number and the maximum storage location number and the storage location number corresponding to the unassigned order; and the second reconstruction operator is configured to determine the second storage location concentration degree corresponding to the unassigned order with respect to the picking task according to the minimum storage location number and the maximum storage location number and the storage location number corresponding to the unassigned order.
[0076] In the first reconstruction operator, the storage location concentration degree corresponding to the unassigned order is determined according to the storage location span increase value of each unassigned order after the unassigned order is added to the picking task. The storage location span corresponding to the picking task refers to the difference between the maximum storage location number and the minimum storage location number corresponding to the picking task. The calculation formula of the storage location span increase value corresponding to the unassigned order with respect to the current picking task is as follows:
[0077] max(λ3,λ4)-min(μ3,μ4)-(λ3-μ3)
[0078] wherein λ3 and μ3 are the maximum storage location number and the minimum storage location number corresponding to the current picking task, respectively; and λ4 and μ4 are the maximum storage location number and the minimum storage location number corresponding to each unassigned order, respectively. The greater the storage location span increase value corresponding to the unassigned order, the smaller the storage location concentration degree corresponding to the unassigned order; and vice versa. It can be understood that the order corresponding to only one storage location number can be regarded as an order with equal maximum storage location number and minimum storage location number. The order with higher storage location concentration degree in the unassigned order is determined as the order to be added, i.e., the order with smaller storage location span increase value is determined as the order to be added.
[0079] In the second reconstruction operator, the storage location concentration degree corresponding to the unassigned order is determined according to the storage location concentration degree corresponding to the unassigned order with respect to the picking task, wherein the storage location concentration degree corresponding to each unassigned order refers to the ratio of the intersection to the union of the storage location span of the unassigned order and the storage location span of the current picking task. The smaller the ratio, the higher the storage location concentration degree corresponding to the unassigned order; and the greater the ratio, the lower the storage location concentration degree corresponding to the unassigned order. Therefore, the order with smaller ratio, i.e., the order with higher storage location concentration degree, is determined as the order to be added. The calculation formula of the ratio of the intersection to the union of the storage location span of the unassigned order and the storage location span of the current picking task is as follows:
[0080]
[0081] Wherein, λ3 and μ3 are the maximum storage number and the minimum storage number corresponding to the current picking task respectively; λ4 and μ4 are the maximum storage number and the minimum storage number corresponding to each unassigned order respectively. min(λ3, λ4) - max(μ3, μ4) represents the intersection of the storage span corresponding to the unassigned order and the current picking task respectively, and Max(λ3, λ4) - min(μ3, μ4) represents the union of the storage span corresponding to the unassigned order and the current picking task respectively. It can be understood that the order corresponding to only one storage number is the order with equal maximum storage number and minimum storage number. The unassigned order with high storage concentration is determined as the order to be added.
[0082] Step S103: determining the target number of first target orders from the orders to be added according to the constraint condition, adding the first target orders to the picking task, and increasing the iteration period. The order to be added only meets the condition of storage concentration, and it is also necessary to determine whether it meets other constraint conditions before it is added to the picking task.
[0083] In an optional embodiment of the present application, the constraint condition includes one or more of the maximum order number, the maximum article number, the maximum total volume, the maximum total weight, the maximum category number, the article barcode, the article consignee, the article batch, and the article grade corresponding to each picking task; and the determining the target number of first target orders from the orders to be added according to the constraint condition includes: for each order in the orders to be added, determining whether the picking task meets the following constraints after the order is added to the picking task according to the constraint condition: the order number, the article number, the total volume, the total weight, and the category number corresponding to the picking task do not exceed the maximum order number, the maximum article number, the maximum total volume, the maximum total weight, and the maximum category number, there is no case that different article consignees correspond to the same article barcode in the picking task, and there is no case that the same article barcode corresponds to different article batches and / or different article grades; and in the case that the picking task meets the constraints, the order is determined as the first target order.
[0084] The picking warehouse presets the maximum number of orders, the maximum number of items, the maximum volume of items, and the maximum weight of items in each picking task according to daily picking experience. On this basis, in order to reduce the probability of picking errors, the number of item categories in the same picking task is as small as possible, which helps to improve the packaging efficiency downstream. In order to reduce the probability of packaging errors, there is no case of the same item barcode corresponding to two different recipients in the same picking task. At the same time, in order to reduce the bad experience of customers, there is no case of inconsistent production batches and / or different commodity grades in the same picking task. In the case where the to-be-added order meets the above conditions, the to-be-added order is determined as the first target order, and the order is added to the picking task.
[0085] After w first target orders are added to the picking task, this iteration is completed. According to the orders corresponding to the picking task before and after this iteration, the first picking time and the second picking time corresponding to the picking task before and after this iteration are determined. In the case where the second picking time is less than the first picking time, the weight corresponding to the target destruction operator is updated, and the weight corresponding to the target reconstruction operator is also updated, that is, the weight of the corresponding target reconstruction operator is incremented, such as by 1. In the next iteration, the target destruction operator and the target reconstruction operator are determined according to the updated weight.
[0086] Step S104: Determine whether the iteration period has reached the upper limit of the period. After a preset number of iterations, such as 1000 times, or a preset time length, such as 5 seconds, the iteration is ended, and the picking task is determined according to the final obtained picking task.
[0087] According to the order processing method of the embodiment of the application, the following loop is performed for each of the plurality of picking tasks until the iteration period corresponding to the picking task reaches the upper limit of the period: a target number of orders are determined from the picking task, and the determined orders are moved from the picking task back to the order pool; the target number is determined according to the number of orders corresponding to the picking task; according to the unassigned orders in the order pool, the storage location concentration in the corresponding storage location set relative to the orders in the picking task, a to-be-added order whose storage location concentration meets a preset condition is determined from the unassigned orders for the picking task; according to the constraint condition, a first target order of the target number is determined from the to-be-added order, and the first target order is added to the picking task, and the iteration period is incremented; and it is determined whether the iteration period has reached the upper limit of the period. Thus, under the premise of meeting the constraint condition, the picking distance corresponding to the picking task is optimized multiple times according to the storage location concentration, so that the picking distance is shorter, thereby improving the picking operation efficiency and reducing the picking cost.
[0088] Figure 6 is a schematic diagram of main modules of an order processing device according to an embodiment of the present application.
[0089] As shown in Figure 6 , the order processing device 600 according to an embodiment of the present application comprises an order initial allocation module 601, an order deletion module 602, an order re-allocation module 603 and a loop judgment module 604, wherein,
[0090] The following loop is executed for each of a plurality of picking tasks until the loop judgment module 604 determines that the iteration period corresponding to the picking task reaches an upper limit of the period, the plurality of picking tasks being obtained by grouping orders in an order pool according to constraint conditions pre-configured by a picking warehouse through the order initial allocation module 601:
[0091] The order deletion module 602 is configured to determine a target number of orders from the picking task and move the determined orders from the picking task back to the order pool; the target number being determined according to the number of orders corresponding to the picking task;
[0092] The order re-allocation module 603 is configured to determine, from the unallocated orders in the order pool, a to-be-added order whose storage location concentration degree satisfies a preset condition for the picking task, with respect to the concentration degree of the storage location corresponding to the order in the picking task; and determine, from the to-be-added order, a first target order of the target number according to the constraint conditions, and add the first target order to the picking task and make the iteration period increment;
[0093] The loop judgment module 604 is configured to determine whether the iteration period has reached the upper limit of the period.
[0094] In an optional embodiment of the present application, the constraint includes one or more of a maximum number of orders, a maximum number of items, a maximum total volume, a maximum total weight, a maximum number of categories, an item barcode, an item consignee, an item batch, and an item grade corresponding to each picking task; the order reassignment module 603 is further configured to, for each order in the to-be-added orders: determine, according to the constraint, whether the picking task satisfies the following constraint after the order is added to the picking task: the number of orders, the number of items, the total volume, the total weight, and the number of categories corresponding to the picking task do not exceed the maximum number of orders, the maximum number of items, the maximum total volume, the maximum total weight, and the maximum number of categories, there is no case where different item consignees correspond to the same item barcode in the picking task, and there is no case where the same item barcode corresponds to different item batches and / or different item grades; and determine the order as the first target order in a case where the picking task satisfies the constraint.
[0095] In an optional embodiment of the present application, the order deletion module 602 is further configured to determine the number of orders corresponding to the picking task; determine, according to the number of orders, a target number of to-be-deleted orders corresponding to the picking task; determine, according to a destruction operator corresponding to a large-scale neighborhood search algorithm, the target number of to-be-deleted orders from the picking task; delete the to-be-deleted orders from the picking task, and determine the to-be-deleted orders as unassigned orders in the order pool.
[0096] In an optional embodiment of the present application, the order deletion module 602 is further configured to determine, according to weights respectively corresponding to a plurality of destruction operators, a target destruction operator from the plurality of destruction operators; and determine, according to the target destruction operator, the target number of to-be-deleted orders from the picking task.
[0097] In an optional embodiment of the present application, the plurality of destruction operators include a first operator, a second operator, and a third operator, wherein the first operator is configured to randomly disarrange the order of a plurality of orders in the picking task, and determine the target number of orders sequentially arranged in a first preset position as to-be-deleted orders; the second operator is configured to sort the plurality of orders in the picking task according to storage location numbers corresponding to the plurality of orders, and determine the target number of orders sequentially arranged in a second preset position as to-be-deleted orders; and the third operator is configured to determine a second target order with a maximum item storage location number difference from the plurality of orders, determine a storage location concentration degree respectively corresponding to the second target order and other orders in the plurality of orders, and determine, according to the storage location concentration degree, the target number of to-be-deleted orders with a lower storage location concentration degree from the picking task.
[0098] In an optional embodiment of the present application, the order reassignment module 603 is further configured to determine a plurality of reconstruction operators corresponding to the large-scale neighborhood search algorithm, and weights corresponding to the plurality of reconstruction operators respectively; determine a target reconstruction operator from the plurality of reconstruction operators according to the weights; determine a storage location concentration of each of the unassigned orders based on the target reconstruction operator and relative to the picking task according to the storage location number corresponding to each of the unassigned orders; and determine a to-be-added order of the picking task from the unassigned orders, which satisfies the preset condition in terms of the storage location concentration.
[0099] In an optional embodiment of the present application, the plurality of reconstruction operators include a first reconstruction operator and a second reconstruction operator, wherein the first reconstruction operator is configured to determine a minimum storage location number and a maximum storage location number corresponding to the picking task; and the second reconstruction operator is configured to determine a first storage location concentration of each of the unassigned orders relative to the picking task according to the minimum storage location number, the maximum storage location number, and the storage location number corresponding to each of the unassigned orders.
[0100] In an optional embodiment of the present application, the order initial assignment module 601 is further configured to perform the following loop for a task number corresponding to the picking task until the task number is greater than a preset number: determine whether the task number is greater than the preset number; determine whether a number of orders corresponding to the picking task is not less than a preset threshold; in a case where the number of orders is not less than the preset threshold, increment the task number; and in a case where the number of orders is less than the preset threshold, add an order that is sequentially arranged at a third preset position in the unassigned orders in the order pool to the picking task according to an order corresponding to an article storage location number, and increment the number of orders.
[0101] In an optional embodiment of the present application, the order initial assignment module 601 is further configured to determine whether the picking task satisfies a constraint corresponding to the constraint condition after the order arranged at the third preset position is added to the picking task; and in a case where the picking task satisfies the constraint, determine to add the order arranged at the third preset position to the picking task.
[0102] In an optional embodiment of the present application, the device further includes a weight updating module 605 configured to predict a first picking time and a second picking time corresponding to each iteration of the picking task respectively before and after the iteration; compare the first picking time and the second picking time; and in a case where the second picking time is less than the first picking time, increment weights corresponding to the target destruction operator and the target reconstruction operator respectively.
[0103] According to the order processing apparatus of the present invention, the following loop is executed for each of the multiple picking tasks until the iteration cycle corresponding to the picking task reaches the cycle upper limit. The multiple picking tasks are obtained by grouping orders in the order pool according to the constraints pre-configured in the picking warehouse: a target number of orders are determined from the picking tasks, and the determined orders are moved back from the picking tasks to the order pool; the target number is determined according to the number of orders corresponding to the picking task; based on the unallocated orders in the order pool and the storage concentration corresponding to the orders in the picking tasks, orders to be added to the picking task whose storage concentration meets the preset conditions are determined from the unallocated orders; according to the constraints, a first target order of the target number is determined from the orders to be added, and the first target order is added to the picking task, and the iteration cycle is incremented; it is determined whether the iteration cycle has reached the cycle upper limit. This allows for multiple optimizations of the picking distance for picking tasks based on storage location concentration, while meeting constraints, resulting in shorter picking distances, thereby improving picking efficiency and reducing picking costs.
[0104] Figure 7 An exemplary system architecture 700 is shown that can be applied to the order processing method or order processing apparatus of embodiments of the present invention.
[0105] like Figure 7 As shown, system architecture 700 may include order management systems 701, 702, and 703, network 704, and order processing server 705. Network 704 serves as the medium for providing communication links between order management systems 701, 702, and 703 and order processing server 705. Network 704 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.
[0106] Users can use the order management systems 701, 702, and 703 to interact with the order processing server 705 via network 704 to receive or send messages, etc. Various communication client applications can be installed on the order management systems 701, 702, and 703, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, and social media platforms.
[0107] The order management system 701, 702, and 703 can be various electronic devices with a display screen and web browsing support, including but not limited to smartphones, tablets, laptops, and desktop computers.
[0108] The order processing server 705 can be a server providing various services, such as a background management server providing support for order grouping of to-be-assigned orders obtained from the order management systems 701, 702, 703 to generate a plurality of picking tasks. The background management server can analyze and process the obtained data such as to-be-assigned orders, and feed back the processing result (e.g., picking tasks) to the order management system.
[0109] It should be noted that the order processing method provided by the embodiments of the present application is generally executed by the order processing server 705, and correspondingly, the order processing apparatus is generally arranged in the order processing server 705.
[0110] It should be understood that, Figure 7 The number of order management systems, networks and servers in the above description is merely illustrative. Any number of order management systems, networks and servers can be provided according to the implementation needs.
[0111] Reference is made to Figure 8 which shows a structural schematic diagram of a computer system 800 suitable for implementing the order management system of the embodiments of the present application. Figure 8 The order management system shown is merely an example, and should not impose any limitation on the functions and use range of the embodiments of the present application.
[0112] As shown in Figure 8 , the computer system 800 includes a central processing unit (CPU) 801 which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 802 or programs loaded from a storage portion 808 into a random access memory (RAM) 803. Various programs and data required for the operation of the system 800 are also stored in the RAM 803. The CPU 801, the ROM 802 and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0113] The following components are connected to the I / O interface 805: an input portion 806 including a keyboard, a mouse, etc.; an output portion 807 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 808 including a hard disk, etc.; and a communication portion 809 including a network interface card such as a LAN card, a modem, etc. The communication portion 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the I / O interface 805 as needed. A removable media 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is mounted on the drive 810 as needed, so that a computer program read therefrom is installed in the storage portion 808 as needed.
[0114] In particular, the processes described above with reference to the flow charts can be implemented as a computer software program in accordance with the embodiments disclosed herein. For example, embodiments disclosed herein include a computer program product which includes a computer program tangibly embodied on a computer readable medium, the computer program including program code for executing the methods illustrated by the flow charts. In such embodiments, the computer program can be downloaded and installed from a network via the communication portion 809 and / or installed from a removable media 81 1. When the computer program is executed by the central processing unit (CPU) 801, the above-described functions defined in the system of the present application are performed.
[0115] It should be noted that the computer readable medium shown in the present application can be a computer readable signal medium or a computer readable storage medium or any combination thereof. The computer readable storage medium may, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present application, the computer readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus or device. In the present application, the computer readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, which carries computer readable program code. Such a propagated data signal can take on many forms, including but not limited to, an electromagnetic signal, an optical signal or any suitable combination thereof. The computer readable signal medium can also be any computer readable medium that can send, propagate or transfer a program for use by or in connection with an instruction execution system, apparatus or device. The program code contained on the computer readable medium can be transmitted using any suitable medium, including but not limited to, wireless, wire line, optical fiber cable, RF, etc., or any suitable combination thereof.
[0116] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0117] The modules described in the embodiments of the present invention can be implemented in software or hardware. The described modules can also be housed in a processor; for example, a processor can be described as including an order initial allocation module, an order deletion module, an order reassignment module, and a loop judgment module. The names of these modules do not necessarily limit the module itself; for example, the loop judgment module can also be described as "a module for determining whether the iteration period has reached the upper limit of the period."
[0118] In another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist alone and not assembled into the device. The aforementioned computer-readable medium carries one or more programs, which, when executed by a device, cause the device to include: performing the following loop for each of a plurality of picking tasks until the iteration period corresponding to the picking task reaches a period upper limit, wherein the plurality of picking tasks are obtained by grouping orders in an order pool according to pre-configured constraints in the picking warehouse; determining a target number of orders from the picking tasks and moving the determined orders back from the picking tasks to the order pool; the target number is determined based on the number of orders corresponding to the picking task; determining, based on the unallocated orders in the order pool and the corresponding storage concentration relative to the orders in the picking tasks, orders to be added to the picking task whose storage concentration meets preset conditions from the unallocated orders; determining a first target order of the target number from the orders to be added according to the constraints, adding the first target order to the picking task, and incrementing the iteration period; and determining whether the iteration period has reached the period upper limit.
[0119] According to the technical scheme of the embodiment of the present application, by executing the following cycle for each of the plurality of picking tasks until the iteration period corresponding to the picking task reaches the upper limit of the period, the plurality of picking tasks being obtained by grouping the orders in the order pool according to the constraint condition pre-configured by the picking warehouse: a target number of orders are determined from the picking task, and the determined orders are moved from the picking task back to the order pool; the target number is determined according to the number of orders corresponding to the picking task; according to the unassigned orders in the order pool, the order concentration degree in the corresponding storage location relative to the orders in the picking task, the order concentration degree satisfying the preset condition is determined from the unassigned orders for the picking task; according to the constraint condition, the target number of first target orders is determined from the order to be added, and the first target order is added to the picking task, and the iteration period is incremented; it is determined whether the iteration period has reached the upper limit of the period. Thus, under the premise of meeting the constraint condition, the picking distance corresponding to the picking task is optimized according to the storage location concentration degree for multiple times, so that the picking distance is shorter, thereby improving the picking operation efficiency and reducing the picking cost.
[0120] The above detailed description does not constitute a limitation on the protection scope of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present application should be included in the protection scope of the present application.
Claims
1. An order processing method, characterized in that, include: For each of the multiple picking tasks, the following loop is executed until the iteration period corresponding to the picking task reaches the period limit. The multiple picking tasks are obtained by grouping orders in the order pool according to the constraints pre-configured in the picking warehouse: The target number of orders are identified from the picking tasks, and the identified orders are moved back from the picking tasks to the order pool. The target number is determined based on the number of orders corresponding to the picking task; Based on the unallocated orders in the order pool and the corresponding storage location concentration relative to the orders in the picking task, orders to be added for the picking task whose storage location concentration meets the preset conditions are determined from the unallocated orders. Based on the constraints, a first target order with the target number of orders is determined from the orders to be added, and the first target order is added to the picking task, and the iteration period is incremented; Determine whether the iteration period has reached the upper limit of the period.
2. The method according to claim 1, characterized in that, The constraints include one or more of the following for each picking task: maximum number of orders, maximum number of items, maximum total volume, maximum total weight, maximum number of product categories, item barcode, item recipient, item batch, and item grade; the step of determining the first target order with the target number from the orders to be added based on the constraints includes: For each order in the order to be added: Based on the constraints, determine whether the picking task satisfies the following constraints after the order is added to the picking task: the number of orders, the number of items, the total volume, the total weight, and the number of categories corresponding to the picking task do not exceed the maximum number of orders, the maximum number of items, the maximum total volume, the maximum total weight, and the maximum number of categories; there are no cases in the picking task where different item recipients correspond to the same item barcode, and there are no cases where the same item barcode corresponds to different item batches and / or different item grades; If the picking task satisfies the constraints, the order is identified as the first target order.
3. The method according to claim 1, characterized in that, The step of determining the target number of orders from the picking task and moving the determined orders back from the picking task to the order pool includes: Determine the number of orders corresponding to the picking task; Based on the number of orders, determine the target number of orders to be deleted corresponding to the picking task; Based on the destruction operator corresponding to the large-scale neighborhood search algorithm, the target number of orders to be deleted are determined from the picking task; The order to be deleted is removed from the picking task, and the order to be deleted is identified as an unassigned order in the order pool.
4. The method according to claim 3, characterized in that, The step of determining the target number of orders to be deleted from the picking task based on the destruction operator corresponding to the large-scale neighborhood search algorithm includes: Based on the weights corresponding to multiple preset destruction operators, the target destruction operator is determined from the multiple destruction operators; Based on the target destruction operator, the number of orders to be deleted is determined from the picking task, representing the target number.
5. The method according to claim 4, characterized in that, The plurality of destruction operators include a first operator, a second operator, and a third operator, wherein, The first operator randomly shuffles the order of multiple orders in the picking task and determines the target number of orders that are in the first preset position as orders to be deleted; The second operator sorts multiple orders in the picking task according to the storage location number corresponding to the multiple orders, and determines the target number of orders that are sequentially placed in a second preset position as orders to be deleted; The third operator is to determine the second target order with the largest difference in item storage location number from the plurality of orders, determine the storage location concentration of the other orders in the plurality of orders relative to the second target order, and determine the number of orders to be deleted with the lowest storage location concentration from the picking task based on the storage location concentration.
6. The method according to claim 3, characterized in that, The step of determining, based on the unassigned orders in the order pool and their corresponding storage location concentration relative to the orders in the picking task, orders to be added to the picking task whose storage location concentration meets preset conditions from the unassigned orders includes: Determine multiple reconstruction operators corresponding to the large-scale neighborhood search algorithm, and the weights corresponding to the multiple reconstruction operators respectively; Based on the weights, the target reconstruction operator is determined from the plurality of reconstruction operators; Based on the storage location number corresponding to each unassigned order, determine the unassigned order, and based on the target reconstruction operator, determine the storage location concentration corresponding to each order relative to the picking task. From the unassigned orders, identify the orders to be added that correspond to the picking task and whose storage concentration meets the preset conditions.
7. The method according to claim 6, characterized in that, The plurality of reconstruction operators include a first reconstruction operator and a second reconstruction operator, wherein, The first reconstruction operator is to determine the minimum storage location number and the maximum storage location number corresponding to the picking task; and to determine the first storage location concentration degree corresponding to the unassigned order relative to the picking task based on the minimum storage location number, the maximum storage location number, and the storage location number corresponding to the unassigned order. The second reconstruction operator determines the second storage location concentration degree corresponding to the unassigned order relative to the picking task based on the minimum storage location number, the maximum storage location number, and the storage location number corresponding to the unassigned order.
8. The method according to claim 2, characterized in that, The process of grouping orders in the order pool according to pre-configured constraints in the picking warehouse includes: For each picking task, the following loop is executed until the task number is greater than a preset number: Determine whether the task number is greater than the preset number; Determine whether the number of orders corresponding to the picking task is not less than a preset threshold; If the number of orders is not less than the preset threshold, the task number will be incremented. If the number of orders is less than the preset threshold, the order in the order pool that is sorted according to the item storage number corresponding to the order and is ranked in the third preset position will be added to the picking task, and the number of orders will be increased.
9. The method according to claim 8, characterized in that, The step of adding the order in the order pool that is sorted according to the item storage number corresponding to the order to the picking task, and the order that is ranked in the third preset position in the order pool, includes: After determining that the order in the third preset position is added to the picking task, whether the picking task satisfies the constraints corresponding to the constraint conditions; If the picking task satisfies the constraints, it is determined that the order ranked in the third preset position will be added to the picking task.
10. The method according to claim 6, characterized in that, Also includes: Predict the first picking time and the second picking time before and after each iteration of the picking task, respectively; Compare the first picking time with the second picking time; If the second picking time is less than the first picking time, the weights corresponding to the target destruction operator and the target reconstruction operator are increased respectively.
11. An order processing device, characterized in that, include: The module includes an initial order allocation module, an order deletion module, an order reassignment module, and a loop judgment module. For each of the multiple picking tasks, the following loop is executed until the loop determination module determines that the iteration period corresponding to the picking task has reached the period upper limit. The multiple picking tasks are obtained by the order initial allocation module grouping orders in the order pool according to the constraints pre-configured in the picking warehouse. The order deletion module is used to determine a target number of orders from the picking tasks and move the determined orders back from the picking tasks to the order pool; the target number is determined based on the number of orders corresponding to the picking tasks. The order reassignment module is used to determine, based on the unassigned orders in the order pool and their corresponding storage location concentration relative to the orders in the picking task, orders to be added to the picking task whose storage location concentration meets preset conditions from the unassigned orders; and, based on the constraints, determine the first target order of the target number from the orders to be added, add the first target order to the picking task, and increment the iteration period. The loop judgment module is used to determine whether the iteration period has reached the upper limit of the period.
12. A server, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-10.
13. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-10.