A method and apparatus for assembling
By optimizing the order combination process using the seed algorithm and the SR-VNS algorithm, the problems of low efficiency and high cost of existing order combination methods are solved, achieving efficient and accurate order combination, which is suitable for industrial-grade algorithm scenarios.
Patent Information
- Application Number
- CN202111229533.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-21
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2041-10-21
AI Technical Summary
Existing grouping methods are inefficient, costly, and fail to meet the requirements of industrial-grade algorithms, often resulting in problems such as missets, missing sets, and excessively long computation times.
An initial seed order is selected using a seed algorithm based on the order picking journey time. Combined with a variable neighborhood search algorithm with ordered jumps (SR-VNS), the order combination is determined by searching layer by layer. The order combination process is optimized by estimating the total picking time.
It improves the quality and efficiency of data collection, reduces computational load and time, lowers labor costs, prevents mis-sets or omissions, and meets the requirements of industrial-grade algorithms.
Smart Images

Figure CN116011721B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a form grouping method and device. Background Art
[0002] When processing orders, small standard warehouses must group orders from a pool of pending orders before handing them over to pickers. This reduces picking time, labor costs, and warehouse flow. Currently, there are four approaches to grouping orders: The first approach relies primarily on manual experience. Dedicated groupers regularly group orders based on the number of orders in the order pool and the locations of their storage locations, following basic constraints and using a first-in, first-out approach. The second approach uses a single-objective grouping algorithm, based on basic constraints, to evaluate and calculate a single objective, such as the number of aisles spanning the order pool, the number of storage areas, and the number of storage locations. The third approach uses a multi-objective optimization grouping algorithm, based on basic constraints, to comprehensively consider multiple objectives, such as the number of storage areas, aisles, and the number of storage locations, and assign weights based on warehouse demand. The fourth approach relies on deep learning and machine learning. Based on basic constraints, deep learning and machine learning models are used to estimate and cluster the spatial distribution of storage locations within the warehouse to calculate the optimal group order.
[0003] In the process of implementing the present invention, the inventors discovered that the prior art has at least the following problems:
[0004] The efficiency of scheme one is low, the labor cost is high, it is difficult to ensure the optimal collection effect, and the phenomenon of wrong collection and missing collection often occurs; the quality of the collection order of scheme two is poor, and the average picking time of the pickers is long; scheme three uses multiple types of process indicators for optimization, and the weights of each optimization target are usually allocated according to experience, which deviates from the correlation with the final evaluation indicator, resulting in poor quality of the collection order; scheme four ideally simplifies the collection process, ignores the actual scenario requirements of industrial engineering, and requires the help of solvers to assist in calculations. The calculation amount is extremely large and the calculation time is long (minutes or even hours), which is difficult to meet the requirements of industrial-level algorithms (seconds or even minutes). Summary of the Invention
[0005] In view of this, an embodiment of the present invention provides a method and device for grouping orders, which can improve the quality and efficiency of group orders, prevent wrong or missed orders, reduce the amount and time of calculations, reduce labor costs, and meet the requirements of industrial-grade algorithms.
[0006] To achieve the above objective, according to one aspect of an embodiment of the present invention, a method for grouping orders is provided.
[0007] A method for grouping orders, comprising: based on the order picking travel time, screening out the initial seed order and the subsequent orders of the initial seed order through a seed algorithm, and obtaining the estimated total picking time of the initial order combination and the initial order combination; the subsequent orders of the initial seed order are orders picked after the initial seed order; taking the layer where the initial seed order is located as the initial layer, searching layer by layer to determine the seed orders of each subsequent layer of the initial layer through a preset variable neighborhood search algorithm with sequenced jumps, wherein: when searching each layer, defining the searched layer as the current layer, based on the distance from the seed order of the previous layer, picking travel time, sort the orders to be searched in the current layer to obtain an order sequence, and search for orders in the order sequence multiple times according to the search rules. In each search, based on the searched orders, determine the order combination through the seed algorithm and obtain the corresponding estimated total picking time. Among the orders searched in the current layer, the order with the best estimated total picking time of the determined order combination is used as the seed order of the current layer; after completing the search of all layers, take the order combination with the best estimated total picking time finally determined as a collection list, and output the collection list and the corresponding estimated total picking time.
[0008] Optionally, the order-based picking travel time is used to screen out the initial seed order and subsequent orders of the initial seed order through a seed algorithm, including: selecting the order with the shortest picking travel time from the starting point as the initial seed order; when selecting each subsequent order of the initial seed order, sorting the orders to be selected, and selecting the order with the shortest picking travel time from the last selected order from the sequence of orders to be selected while satisfying the order combination restriction conditions.
[0009] Optionally, the order sequence is searched multiple times according to the search rules, and in each search, an order combination is determined by a seed algorithm based on the searched orders and a corresponding estimated total picking time is obtained, including: taking the order in the order sequence with the shortest picking travel time from the seed order of the previous layer as the alternative seed order of the current layer, and taking the estimated total picking time of the order combination determined based on the alternative seed order as the optimal estimated total picking time; determining the target search order in the order sequence according to the initial neighborhood action range, and based on the target search order, determining the order combination by the seed algorithm and obtaining the corresponding estimated total picking time; and taking the order combination based on the target search order as the optimal estimated total picking time. The estimated total picking time of the order combination determined based on the target search order is compared with the estimated total picking time of the order combination determined based on the alternative seed order; when the estimated total picking time of the order combination determined based on the target search order is less than the estimated total picking time of the order combination determined based on the alternative seed order, the alternative seed order of the current layer is updated to the target search order, and the optimal estimated total picking time is updated to the estimated total picking time of the order combination determined based on the target search order, and then jump to the step of determining the target search order in the order sequence according to the initial neighborhood action range to determine the new target search order and conduct the next search.
[0010] Optionally, it also includes: when the estimated total picking time of the order combination determined based on the target search order is greater than or equal to the estimated total picking time of the order combination determined based on the alternative seed order, judging whether the search termination condition of the current layer is currently reached; if not, changing the current neighborhood action range, determining the target search order in the order sequence with the new neighborhood action range, and jumping to the step of determining the order combination based on the target search order through the seed algorithm, and obtaining the corresponding estimated total picking time, so as to conduct the next search, wherein the search termination condition of the current layer is that the current neighborhood action range has reached the maximum value of the neighborhood action change or all orders in the order sequence have been searched.
[0011] Optionally, the changing of the current neighborhood action range and the determination of the target search order in the order sequence with the new neighborhood action range include: increasing the current neighborhood action range by a preset value to obtain a new neighborhood action range, and obtaining the distance between the alternative seed order and the target search order in the order sequence according to the new neighborhood action range to determine the position of the target search order in the order sequence.
[0012] Optionally, after determining whether the search termination condition of the current layer has been reached, the method further includes: if the search termination condition of the current layer has been reached, using the latest alternative seed order of the current layer as the seed order of the current layer, and then continuing to search to determine the seed order of the next layer of the current layer.
[0013] Optionally, determining the target search order in the order sequence according to the initial neighborhood action range includes: obtaining the initial neighborhood action range, and obtaining the distance between the alternative seed order and the target search order in the order sequence based on the initial neighborhood action range to determine the position of the target search order in the order sequence.
[0014] Optionally, it also includes: if the target search order does not exist in the order sequence according to the initial neighborhood action range, then the latest alternative seed order of the current layer is used as the seed order of the current layer, and then the search is continued to determine the seed order of the next layer of the current layer.
[0015] Optionally, before continuing the search to determine the seed order of the next layer of the current layer, it includes: confirming that the number of layers corresponding to the current layer is less than the preset number of neighborhood layers, and the number of neighborhood layers is the upper limit of the search layer number set according to the maximum number of orders allowed by the collection order.
[0016] Optionally, the target search order is based on which an order combination is determined by the seed algorithm, and a corresponding estimated total picking time is obtained, including: obtaining a determined order subset from the seed orders of each layer before the current layer and the target search order; selecting subsequent orders of the target search order, where the subsequent orders of the target search order are orders that are picked after the target search order; wherein, when selecting each subsequent order of the target search order, the remaining orders are sorted, and when the order combination restriction condition is met, the order with the shortest picking travel time from the last selected order is selected from the sequence of the remaining orders; obtaining an order combination determined based on the target search order and the corresponding estimated total picking time from each order in the order subset and each subsequent order of the target search order, the estimated total picking time of the order combination is the sum of the picking times of all orders in the order combination.
[0017] Optionally, the order-based picking travel time, before screening out the initial seed order and the subsequent orders of the initial seed order through the seed algorithm, includes: judging whether there is a special storage location order at present, and if the special storage location order exists, generating a first order combination based on the special storage location order; obtaining the initial order combination and the estimated total picking time of the initial order combination, includes: selecting the order with the shortest picking travel time from the starting point as the initial seed order, and adding the initial seed order to the first order combination when the order combination restriction condition is met; selecting subsequent orders of the initial seed order, wherein, when selecting each subsequent order of the initial seed order, sorting the orders to be selected, and if the order combination restriction condition is met, selecting the order with the shortest picking travel time from the last selected order from the to-be-selected order sequence, and adding it to the first order combination; obtaining the initial order combination and the estimated total picking time of the initial order combination based on the final first order combination and the corresponding estimated total picking time.
[0018] Optionally, the order combination restriction conditions include: one or more of the maximum carrying weight allowed by the collection order, the maximum carrying volume, the upper limit of the order quantity, the category, the batch number, the grade, and the maximum computing power of the CPU.
[0019] According to another aspect of an embodiment of the present invention, a device for assembling a single item is provided.
[0020] A device for grouping orders, comprising: an initial order combination generating module, for screening out an initial seed order and subsequent orders of the initial seed order through a seed algorithm based on the order picking travel time, and obtaining an estimated total picking time of the initial order combination and the initial order combination; the subsequent orders of the initial seed order are orders picked after the initial seed order; an order grouping module, for taking the layer where the initial seed order is located as the initial layer, and searching layer by layer to determine the seed orders of each subsequent layer of the initial layer through a preset variable neighborhood search algorithm with sequenced jumps, wherein: when searching each layer, the layer being searched is defined as the current layer, Based on the picking travel time from the seed order of the previous layer, the orders to be searched in the current layer are sorted to obtain an order sequence, and orders are searched multiple times in the order sequence according to the search rules. In each search, based on the searched orders, the order combination is determined by the seed algorithm and the corresponding estimated total picking time is obtained. Among the orders searched in the current layer, the order with the best estimated total picking time of the determined order combination is used as the seed order of the current layer; after completing the search of all layers, the order combination with the best estimated total picking time is finally determined as a collection list, and the collection list and the corresponding estimated total picking time are output.
[0021] Optionally, the initial order combination generation module is also used to: select the order with the shortest picking travel time from the starting point as the initial seed order; when selecting each subsequent order of the initial seed order, sort the orders to be selected, and when the order combination restriction conditions are met, select the order with the shortest picking travel time from the last selected order from the sequence of orders to be selected.
[0022] Optionally, the order grouping module is also used to: use the order in the order sequence with the shortest picking travel time from the seed order of the previous layer as the alternative seed order of the current layer, and use the estimated total picking time of the order combination determined based on the alternative seed order as the optimal estimated total picking time; determine the target search order in the order sequence according to the initial neighborhood action range, determine the order combination based on the target search order through the seed algorithm, and obtain the corresponding estimated total picking time; compare the estimated total picking time of the order combination determined based on the target search order with the estimated total picking time of the order combination determined based on the alternative seed order When the estimated total picking time of the order combination determined based on the target search order is less than the estimated total picking time of the order combination determined based on the alternative seed order, the alternative seed order of the current layer is updated to the target search order, and the optimal estimated total picking time is updated to the estimated total picking time of the order combination determined based on the target search order, and then jump to the step of determining the target search order in the order sequence according to the initial neighborhood action range to determine a new target search order and perform the next search.
[0023] Optionally, the order grouping module is also used to: when the estimated total picking time of the order combination determined based on the target search order is greater than or equal to the estimated total picking time of the order combination determined based on the alternative seed order, determine whether the search termination condition of the current layer is currently reached; if not, change the current neighborhood action range, determine the target search order in the order sequence with the new neighborhood action range, and jump to the step of determining the order combination based on the target search order through the seed algorithm and obtaining the corresponding estimated total picking time for the next search, wherein the search termination condition of the current layer is that the current neighborhood action range has reached the maximum value of the neighborhood action change or all orders in the order sequence have been searched.
[0024] Optionally, the order group module is also used to: automatically increase the current neighborhood action range by a preset value to obtain a new neighborhood action range, and obtain the distance between the alternative seed order and the target search order in the order sequence based on the new neighborhood action range to determine the position of the target search order in the order sequence.
[0025] Optionally, the order grouping module is further used to: if the search termination condition of the current layer has been reached, use the latest alternative seed order of the current layer as the seed order of the current layer, and then continue searching to determine the seed order of the next layer of the current layer.
[0026] Optionally, the order grouping module is also used to: obtain the initial neighborhood action range, and obtain the distance between the alternative seed order and the target search order in the order sequence based on the initial neighborhood action range to determine the position of the target search order in the order sequence.
[0027] Optionally, the order grouping module is also used for: if the target search order does not exist in the order sequence according to the initial neighborhood action range, then using the latest alternative seed order of the current layer as the seed order of the current layer, and then continuing to search to determine the seed order of the next layer of the current layer.
[0028] Optionally, the order group module is further used to: confirm that the number of layers corresponding to the current layer is less than a preset number of neighborhood layers, and the number of neighborhood layers is an upper limit of the search layer number set according to the maximum number of orders allowed by the collection order.
[0029] Optionally, the order grouping module is also used to: obtain a determined order subset from the seed orders of each layer before the current layer and the target search order; select subsequent orders of the target search order, where the subsequent orders of the target search order are orders that are picked after the target search order; wherein, when selecting each subsequent order of the target search order, sort the remaining orders, and when the order combination restriction conditions are met, select the order with the shortest picking travel time from the last selected order from the sequence of the remaining orders; obtain an order combination determined based on the target search order and the corresponding estimated total picking time from each order in the order subset and each subsequent order of the target search order, and the estimated total picking time of the order combination is the sum of the picking times of all orders in the order combination.
[0030] Optionally, the initial order combination generation module is also used to: determine whether there is a special storage location order at present, and if the special storage location order exists, generate a first order combination based on the special storage location order; select the order with the shortest picking travel time from the starting point as the initial seed order, and add the initial seed order to the first order combination if the order combination restriction condition is met; select subsequent orders of the initial seed order, wherein, when selecting each subsequent order of the initial seed order, sort the orders to be selected, and if the order combination restriction condition is met, select the order with the shortest picking travel time from the last selected order from the sequence of to-be-selected orders, and add it to the first order combination; obtain the initial order combination and the estimated total picking time of the initial order combination based on the final first order combination and the corresponding estimated total picking time.
[0031] Optionally, the order combination restriction conditions include: one or more of the maximum carrying weight allowed by the collection order, the maximum carrying volume, the upper limit of the order quantity, the category, the batch number, the grade, and the maximum computing power of the CPU.
[0032] According to yet another aspect of the embodiments of the present invention, an electronic device is provided.
[0033] An electronic device comprises: one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the grouping method provided in an embodiment of the present invention.
[0034] According to yet another aspect of an embodiment of the present invention, a computer-readable medium is provided.
[0035] A computer-readable medium stores a computer program, which, when executed by a processor, implements the order combination method provided by an embodiment of the present invention.
[0036] One embodiment of the above invention has the following advantages or beneficial effects: based on the picking travel time of the order, the initial seed order and the subsequent orders of the initial seed order are screened out through the seed algorithm to obtain the initial order combination and the corresponding estimated total picking time. The initial seed order layer is used as the initial layer, and the seed orders of the subsequent layers of the initial layer are determined layer by layer through the preset sequence jump variable neighborhood search (SR-VNS) algorithm, that is, each layer of orders in the collection list is determined. Specifically, when searching to determine each layer of orders in the collection list, they are sorted in ascending order according to the travel time between the storage locations and the orders of the previous layer. The order combination is determined using the seed algorithm, and the order combination with the best estimated total picking time is obtained. When searching, first search in each layer, and then in the current layer. When the search does not obtain a solution better than the current solution, it jumps to the next layer to continue searching, while retaining the seed order of the current layer. If a solution better than the current solution is obtained in the search of the next layer, it will search again within the current neighborhood action range without returning to the previous neighborhood, thereby greatly saving computing time. After completing the search of all layers, the order combination with the optimal estimated total picking time is finally determined as a collection order, and the collection order and the corresponding estimated total picking time are output. The collection order obtained by the embodiment of the present invention will provide basic data guarantee for the subsequent picking journey path design, which can improve the quality and efficiency of the collection order, prevent wrong or missed collections, reduce the amount of calculation and computing time, reduce labor costs, and meet the requirements of industrial-grade algorithms.
[0037] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The accompanying drawings are provided for a better understanding of the present invention and are not intended to limit the present invention.
[0039] Figure 1 1 is a schematic diagram of the main steps of a method for grouping orders according to an embodiment of the present invention;
[0040] Figure 2 This is a schematic diagram of a process flow for grouping orders according to an embodiment of the present invention;
[0041] Figure 3 1 is a schematic diagram of a group single process based on an SR-VNS (variable neighborhood search with sequenced jumps) framework according to an embodiment of the present invention;
[0042] Figure 4 is a schematic diagram of a process of grouping orders based on a seed algorithm according to an embodiment of the present invention;
[0043] Figure 5 and Figure 6 1 is a schematic diagram of a group order process based on the SR-VNS framework and seed algorithm according to an embodiment of the present invention;
[0044] Figure 7 1 is a schematic diagram of main modules of a single group device according to an embodiment of the present invention;
[0045] Figure 8 is an exemplary system architecture diagram in which embodiments of the present invention may be applied;
[0046] Figure 9 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0047] The following description of exemplary embodiments of the present invention is made in conjunction with the accompanying drawings, in which various details of the embodiments of the present invention are included to facilitate understanding. These details should be considered as merely exemplary. Therefore, it should be appreciated by those skilled in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0048] Figure 1 FIG. 1 is a schematic diagram of the main steps of a method for grouping orders according to an embodiment of the present invention. Figure 1 As shown, the order grouping method according to one embodiment of the present invention mainly includes the following steps S101 to S102.
[0049] Step S101: Based on the order picking travel time, the initial seed order and subsequent orders of the initial seed order are screened using a seed algorithm to obtain the initial order combination and the estimated total picking time of the initial order combination; subsequent orders of the initial seed order are orders picked after the initial seed order;
[0050] Step S102: Taking the layer where the initial seed order is located as the initial layer, through the preset variable neighborhood search algorithm with sequenced jumps, search layer by layer to determine the seed orders of the subsequent layers of the initial layer. After completing the search of all layers, the order combination with the optimal estimated total picking time is finally determined as the collection order, and the collection order and the corresponding estimated total picking time are output.
[0051] Among them: when searching at each layer, the layer being searched is defined as the current layer. Based on the picking travel time from the seed order of the previous layer, the orders to be searched in the current layer are sorted to obtain an order sequence, and orders are searched multiple times in the order sequence according to the search rules. In each search, based on the searched orders, the order combination is determined by the seed algorithm and the corresponding estimated total picking time is obtained. Among the orders searched in the current layer, the order with the best estimated total picking time of the determined order combination is used as the seed order of the current layer.
[0052] Before the order is assembled, the order enters the warehouse management system, which determines the warehouse's express information, product category and quantity, and sends it to the warehouse management system's order pool to wait for assembly and picking.
[0053] The picking travel time for an order is the time it takes a picker to walk between two storage locations. In other words, the picking travel time between orders specifically refers to the picking travel time between the storage locations where the order is located.
[0054] Picking time is the total time it takes a picker to pick between two storage locations, including the sum of the picking travel time and the picking time. Picking time is the time a picker spends picking at a storage location.
[0055] The estimated total picking time for a collection order is the sum of the picking times for all orders in the collection order. The picking time for an order can be calculated based on its travel time and picking time. This travel time and picking time can be determined based on the storage location of the order's items. The total picking time can be estimated based on the picking times for all orders in the collection order, which is the estimated total picking time for the collection order.
[0056] The seed order will eventually be placed in the collection order generated after the order formation is completed.
[0057] The current layer's pending orders are the orders remaining in the order pool before the seed orders for the current layer are determined. They do not include the seed orders for the layers prior to the current layer. In some embodiments, orders are grouped based on special storage orders before the initial seed orders are determined. In this case, the current layer's pending orders do not include these special storage orders.
[0058] The orders to be searched in the current layer are sorted to obtain an order sequence. Specifically, the order sequence can be obtained by sorting the orders in descending order of the picking travel time from the seed order in the previous layer.
[0059] Based on the picking travel time of the order, the initial seed order and the subsequent orders of the initial seed order are screened out through a seed algorithm, specifically including: selecting the order with the shortest picking travel time from the starting point as the initial seed order; when selecting each subsequent order of the initial seed order, sorting the selected orders, and selecting the order with the shortest picking travel time from the last selected order from the sequence of orders to be selected while satisfying the order combination restrictions.
[0060] Search for orders in the order sequence multiple times according to the search rules. In each search, determine the order combination based on the searched orders through the seed algorithm and obtain the corresponding estimated total picking time. Specifically, the order with the shortest picking travel time from the seed order of the previous layer in the order sequence is used as the alternative seed order of the current layer, and the estimated total picking time of the order combination determined based on the alternative seed order is used as the optimal estimated total picking time; determine the target search order in the order sequence according to the initial neighborhood action range, and determine the order combination based on the target search order through the seed algorithm and obtain the corresponding estimated total picking time; The estimated total picking time of the determined order combination is compared with the estimated total picking time of the order combination determined based on the alternative seed order; when the estimated total picking time of the order combination determined based on the target search order is less than the estimated total picking time of the order combination determined based on the alternative seed order, the alternative seed order of the current layer is updated to the target search order, and the optimal estimated total picking time is updated to the estimated total picking time of the order combination determined based on the target search order, and then jump to the step of determining the target search order in the order sequence according to the initial neighborhood action range to determine the new target search order and conduct the next search.
[0061] When the estimated total picking time of the order combination determined based on the target search order is greater than or equal to the estimated total picking time of the order combination determined based on the alternative seed order, determine whether the search termination condition of the current layer is reached. If not, change the current neighborhood action range, determine the target search order in the order sequence with the new neighborhood action range, and jump to the step of determining the order combination based on the target search order through the seed algorithm and obtaining the corresponding estimated total picking time for the next search. The search termination condition of the current layer is that the current neighborhood action range has reached the maximum value of the neighborhood action change or all orders in the order sequence have been searched.
[0062] Change the current neighborhood action range and use the new neighborhood action range to determine the target search order in the order sequence, specifically including: incrementing the current neighborhood action range by a preset value (for example, increasing by 1) to obtain a new neighborhood action range, and obtaining the distance between the alternative seed order and the target search order in the order sequence based on the new neighborhood action range to determine the position of the target search order in the order sequence.
[0063] The result of judging whether the search termination condition of the current layer has been reached is that if the search termination condition of the current layer has been reached, the latest alternative seed order of the current layer is used as the seed order of the current layer, and then the search is continued to determine the seed order of the next layer of the current layer.
[0064] Determining a target search order in an order sequence according to an initial neighborhood action range specifically includes: obtaining an initial neighborhood action range, and obtaining a distance between an alternative seed order and a target search order in the order sequence according to the initial neighborhood action range to determine a position of the target search order in the order sequence.
[0065] If there is no target search order in the order sequence according to the initial neighborhood action range, the latest candidate seed order of the current layer is used as the seed order of the current layer, and then the search continues to determine the seed order of the next layer of the current layer.
[0066] Before continuing to search and determine the seed order of the next layer of the current layer, it also includes confirming that the layer number corresponding to the current layer is less than the preset neighborhood layer number. The neighborhood layer number is the upper limit of the search layer number set according to the maximum number of orders allowed by the collection order.
[0067] Based on the target search order, the order combination is determined by the seed algorithm, and the corresponding estimated total picking time is obtained, specifically including: obtaining a determined order subset from the seed orders of each layer before the current layer and the target search order; selecting the subsequent orders of the target search order, and the subsequent orders of the target search order are the orders picked after the target search order; wherein, when selecting each order subsequent to the target search order, the remaining orders are sorted, and when the order combination restriction conditions are met, the order with the shortest picking travel time from the last selected order is selected from the sequence of the remaining orders; from each order in the order subset and each subsequent order of the target search order, an order combination determined based on the target search order and the corresponding estimated total picking time are obtained, and the estimated total picking time of the order combination is the sum of the picking times of all orders in the order combination.
[0068] In one embodiment, based on the order picking travel time, before filtering out the initial seed order and subsequent orders of the initial seed order through a seed algorithm, it is possible to first determine whether there is a special storage location order. If there is a special storage location order, a first order combination is generated based on the special storage location order.
[0069] You can first define an initial first order combination. When generating the first order combination, you can put special storage location orders into the first order combination one by one. The first order combination is dynamically updated as new special storage location orders are put in.
[0070] Each time a special storage location order is placed in the first order combination, it can be determined whether the order combination restriction conditions are met, and it can be confirmed that the order combination restriction conditions are currently met.
[0071] Special storage location orders are orders placed in special storage cabinets. Special storage cabinets are a type of storage location in the warehouse. Their positions in the warehouse are not fixed, but the goods require priority picking and shipment.
[0072] Obtaining the initial order combination and the estimated total picking time of the initial order combination may specifically include: selecting the order with the shortest picking travel time from the starting point as the initial seed order, and adding the initial seed order to the first order combination when the order combination restriction conditions are met; selecting subsequent orders of the initial seed order, wherein, when selecting each subsequent order of the initial seed order, sorting the orders to be selected, and selecting the order with the shortest picking travel time from the last selected order from the sequence of to-be-selected orders when the order combination restriction conditions are met, and adding it to the first order combination; obtaining the initial order combination and the estimated total picking time of the initial order combination based on the final first order combination and the corresponding estimated total picking time.
[0073] The order combination restriction conditions may include: one or more of the maximum load weight allowed for the collective order, the maximum load volume, the upper limit of the order quantity, the category, the batch number, the grade, and the maximum computing power of the CPU.
[0074] When searching layer by layer to determine the seed orders for the initial layer and subsequent layers, the embodiment of the present invention adopts the SR-VNS (variable neighborhood search framework with sequenced jumps) order grouping strategy that integrates the seed algorithm. Combined with the method for estimating the picking travel time between storage locations, it can effectively combine the scattered orders in the current warehouse to obtain the collection order with the shortest total picking time, thus solving the problem of poor collection effect of existing manual order grouping and single-target and multi-target order grouping methods. The SR-VNS framework of the embodiment of the present invention reduces invalid cyclic searches while ensuring excellent computational performance.
[0075] The Variable Neighborhood Search (VNS) framework is a local search algorithm that uses neighborhood structures composed of different actions for alternating searches, achieving a good balance between centralization and decentralization. In the existing VNS framework, if a better solution is found in a certain neighborhood, the search must jump back to the first neighborhood and restart. This requires a lot of computation and is difficult to handle in industrial-grade data scenarios.
[0076] The SR-VNS framework proposed in the embodiment of the present invention is improved on the basis of the existing VNS framework. When searching and determining each layer of orders in the collection list, the orders are sorted in ascending order according to the travel time between the storage locations of the orders in the previous layer, and the order combination is determined using a seed algorithm. The order combination with the optimal estimated total picking time is obtained. When searching, the search is first performed in each layer. If a solution better than the current solution is not obtained in the search of the current layer, the search is skipped to the next layer to continue, while retaining the seed order of the current layer. If a solution better than the current solution is obtained in the search of the next layer, the search is repeated within the current neighborhood action range without returning to the previous neighborhood, thereby greatly saving computing time. The obtained collection list will also provide basic data guarantee for the subsequent picking travel path design.
[0077] Figure 2 FIG. 1 is a schematic diagram of a process flow of grouping a single item according to an embodiment of the present invention. Figure 2 As shown, the order pool and its order information at the current moment are obtained, and the collection order Λ is initialized. Initializing the collection order Λ means defining the initial first order combination. The collection order Λ can be dynamically updated as orders are added. It is determined whether there are orders located in special storage cabinets in the order pool. Orders located in special storage cabinets are special storage location orders. If there are special storage location orders, it is further determined whether the addition of the order will exceed the current collection order restriction condition. The collection order restriction condition is the order combination restriction condition, which can be referred to as the restriction condition. If it does not exceed the restriction condition, the order is added to the current collection order Λ and the collection order parameters are updated. The order pool is updated, the order parameters are obtained, and then the process returns to the step of determining whether there are orders located in special storage cabinets in the current order pool. If it exceeds the restriction condition, the batch of collection orders Λ and the total picking time Δ are output. total , and update the order pool, obtain order parameters, and then return to the step of initializing the collection order Λ; if there is no order located in the special storage cabinet in the order pool, the SR-VNS order grouping strategy of the fusion seed algorithm is used for the current order pool to group the orders, and output the batch of collection orders Λ and the total picking time Δ total , update the order pool, obtain order parameters, and then return to the step of initializing the collection order Λ. The collection order Λ outputted above is the collection order obtained after the order is assembled in the embodiment of the present invention, and the total picking time Δ outputted total That is, the estimated total picking time of the collection order after the order grouping is completed.
[0078] An example of an order pool and some of its order information is shown in Table 1, which includes information such as order number, name, quantity, storage location number, weight, volume, batch number, and grade. An example of aggregate order parameters is shown in Table 2.
[0079] Table 1
[0080]
[0081] Table 2
[0082]
[0083] Figure 3 This is a schematic diagram of an order grouping process based on the SR-VNS framework according to one embodiment of the present invention. After screening and determining the initial order combination and obtaining an estimated total picking time for the initial order combination, the initial candidate seed order s and subsequent picking orders for the initial candidate seed order can be screened from the order pool based on the picking travel time. Specifically, the orders in the order pool can be sorted by the picking travel time from the starting point, which is the picking entrance set in the warehouse and varies from warehouse to warehouse. From the sorted orders, select the order with the shortest picking travel time from the starting point as the initial candidate seed order. When selecting the first order after the initial candidate seed order, sort the remaining orders in the order pool according to their distance from the initial candidate seed order. The remaining orders do not include the initial candidate seed order. Based on the sorted orders, select the order closest to the initial candidate seed order as the first order after the initial candidate seed order. When selecting the second order after the initial candidate seed order, sort the remaining orders in the order pool according to their picking travel time from the first order after the initial candidate seed order. And so on, select subsequent orders using the same method as above. The above sorting is based on the order of picking travel time from short to long. During the order selection process, if adding an order will exceed the restriction condition, the order selection operation is terminated, and a collection order and the corresponding estimated total picking time are output.
[0084] Design the SR-VNS framework parameters. Specifically, according to the number of orders in the order pool Φ and the maximum number of orders allowed by the collection order Φ max , design the number of neighborhood layers N and the maximum value of neighborhood action change N in the SR-VNS framework v , take the order of the storage location with the shortest travel time from the picking entrance as the initial candidate seed order s, and determine the initial order combination and the corresponding estimated total picking time according to the method described above. The estimated total picking time of the initial order combination is used as the initial solution. At the same time, define i = 1 and let N i (S) is the neighborhood of the i-th layer. A set of parameters of the SR-VNS framework is shown in Table 3, where the number of neighborhood layers N should be less than or equal to the maximum number of orders allowed in the set order Φ max The larger the value, the better the effect of the single group, but the longer the calculation time. It can usually be set to Φ max Half of the value; maximum value N of neighborhood action change v It should be smaller than the number of orders in the order pool Φ. The larger the value, the better the order grouping effect, but the longer the calculation time. It can usually be set to 3, 4, or 5.
[0085] Table 3
[0086]
[0087] In N i In (S), a search is performed in combination with the seed algorithm to obtain the current optimal solution S, where i represents the number of layers corresponding to the current layer. Through this step, the seed order of the i-th layer can be determined, and the optimal solution S is the current optimal estimated total picking time obtained in the process of determining the seed order of the i-th layer. The current optimal estimated total picking time is the estimated total picking time of the order combination determined based on the seed order of the i-th layer. The order combination determined based on the seed order of the i-th layer is specifically based on the seed orders of each layer determined before the i-th layer, and the subsequent orders of the seed order of the i-th layer are further determined based on the seed order of the i-th layer through the seed algorithm, thereby obtaining an order combination including the seed orders of each layer determined before the i-th layer, the seed order of the i-th layer, and the subsequent orders of the seed order of the i-th layer.
[0088] In N i (S) determines the new candidate seed order within the number of allowed neighborhood actions and calculates the corresponding optimal solution S', that is, compares the value of S' with the value of S, and takes the solution with the smaller median value as the better solution. If S is still the better solution, then update S = S', and at the same time, based on the candidate seed order, change the candidate seed order within the corresponding neighborhood action range, and update N i (S), then re- i (S) layer neighborhood is searched based on the new candidate seed order combined with the seed algorithm. Determine whether i is less than or equal to the number of neighborhood layers N. If i is greater than N, the latest candidate seed order is used as the seed order of this layer, and the set order and optimal solution S corresponding to the seed order at this time are output; if i is less than or equal to N, then N is retained. i (S) has been calculated in the current neighborhood of the corresponding order, and then let i = i + 1, in the new N i Within the number of allowed neighborhood actions in (S), continue to calculate the optimal solution S' based on the candidate seed orders of the current layer, compare the S' value with the S value, and determine whether it is a better solution. Repeat the above steps until the final set order Λ and the corresponding optimal solution S are output.
[0089] Figure 4 FIG. 1 is a schematic diagram of a process of grouping orders based on a seed algorithm according to an embodiment of the present invention. Figure 4As shown, the initial seed order is selected and the collection list Λ is initialized. Referring to the description of the above embodiment, the initialized collection list Λ is not the final order combination result, but a defined initial first order combination, in which the number of orders can be 0. As orders are added, the collection list Λ is continuously updated, and the final collection list Λ is the order combination result of the embodiment of the present invention. The initial seed order is added to the collection list Λ and the collection list parameters are updated. The initial seed order is the seed order of the initial layer, and the orders to be searched in the current layer are sorted according to the seed order of the previous layer. Determine whether there are orders in the current order pool that meet the restriction conditions and can be added to the collection list. If not, output the collection list Λ and the total picking time Δtotal; if so, select the order that meets the restriction conditions and has the smallest estimated picking travel time from the previous storage location to add to the collection list, and update the collection list information and the total picking time of the collection list. Determine whether the current collection order has reached the restriction condition after the order is added. If the restriction condition has been reached, output the collection order Λ and the total picking time Δtotal; if the restriction condition has not been reached, update the order pool, obtain the order parameters, and return to the step of determining whether there is an order in the current order pool that meets the restriction condition and can be added to the collection order, that is, repeat the above process. According to the actual requirements of each warehouse, the restriction conditions may include: whether the collection order exceeds the maximum carrying weight of the picker after the order is added; whether the collection order exceeds the maximum carrying volume of the picker after the order is added; whether the collection order exceeds the upper limit of the number of collection orders after the order is added; goods of the same category but different batch numbers and different grades cannot be added to the same collection order; whether it exceeds the maximum computing power of the CPU. The restriction conditions may specifically include only one or more of them. Preferably, the order can be added to the collection order only when all the above restriction conditions are met at the same time.
[0090] Figure 5 and Figure 6 This is a schematic diagram of a single process based on the SR-VNS framework and seed algorithm according to an embodiment of the present invention. It should be noted that: Figure 5 and Figure 6 The embodiment of the present invention takes the optimization of the total picking time of the collective order as the goal, groups the scattered orders in the order pool, and outputs the final collective order Λ and the corresponding estimated total picking time Δ total .according to Figure 5 , get the current order pool and order parameters, and initialize a set order Λ, the number of orders in the initialized order set is currently 0. At the same time, let the estimated total picking time Δ total =0, i = 1. The algorithm variables and their meanings are shown in Table 4.
[0091] Table 4
[0092]
[0093] Determine if there is an order located in a specific storage cabinet.
[0094] If there is an order for a special cabinet, it is determined whether the addition of the order will exceed the collection order restriction condition, which is the order combination restriction condition of the embodiment of the present invention, referred to as the restriction condition. If it does not exceed the restriction condition, the order is added to the current collection order Λ and the collection order parameters and order pool are updated, and the order parameters are obtained. Then, the process returns to the step of whether there is an order for a special cabinet in the current order pool, that is, the above process is repeated to add subsequent special cabinet orders; if the restriction condition has been exceeded, the order grouping is completed, and the batch of collection orders Λ and the total picking time Δ are output. total .
[0095] If there is no order for a special cabinet, let the estimated picking time for the order for the special cabinet be Δ t_x , calculate Δ t_x Then determine whether the current collection order has reached the restriction condition. If it has reached the restriction condition, the collection order is completed and the batch collection order Λ and the estimated total picking time Δ are output. total Otherwise, select the order of the storage location with the shortest picking travel time from the starting point as the initial seed order, and the corresponding estimated picking time is Δ t_0 , add the initial seed order to the current set order Λ, and update Δ total =Δ t_0 +Δ t_x It should be noted that if the first judgment is made whether there is an order in a special storage cabinet, and the judgment result is that there is no order in a special storage cabinet, then Δ t_x = 0. If it is not the first time to determine whether there is an order in a special cabinet, and the result of the determination is that there is no order in a special cabinet, then Δ t_x It is the sum of the estimated picking times for orders for each special cabinet that has been added to the collective order Λ.
[0096] Then determine whether the current collection order has reached the restriction condition. If not, update the order pool and select the order that meets the restriction condition and has the shortest picking time from the last selected order through the seed algorithm, and add it to the current collection order. The picking time of the selected order is recorded as Δ t_i , and update the estimated total picking time of the current collection order, that is, let Δ total =Δ total +Δ t_i It should be noted that the picking travel time between orders specifically refers to the picking travel time between the storage locations where the orders are located; if the restriction condition has been reached, the order grouping is completed, and the current set order Λ and the optimal total picking time Δ are output. best When i=1, the previous storage location is the storage location corresponding to the initial seed order.
[0097] Continue to determine whether the current collection order has reached the restriction condition or whether there are no orders that can be added to the order pool. If the restriction condition has not been reached and there are still orders that can be added to the collection order in the order pool, set i = i + 1, update the order pool and its information at the same time, and continue to select the storage location order that meets the restriction condition and has the shortest estimated picking travel time from the previous storage location to add to the current collection order; if the restriction condition has been reached, execute Figure 6 Update the optimal estimated total picking time and set related parameters.
[0098] according to Figure 6 , continued Figure 5 The optimal estimated total picking time is updated and relevant parameters are set. The optimal estimated total picking time is updated, that is, Δ best =Δ total , the Δ total To pass Figure 5 The estimated total picking time of the current collection order is obtained by the process. The parameters set in this step include o loc 、u、o N , specifically, let o loc =1,u=0,o N =1,o loc =1 means: after sorting the current layer's to-be-searched orders based on the order sequence from shortest to longest picking travel time to the seed order of the previous layer, the first order in the order sequence is used as the initial candidate seed order of the current layer, and the order sequence is sorted by o loc You can locate the position of the alternative seed order of the current layer in the order sequence. N =1 means the neighborhood action range is 1.
[0099] Extract Δ t_0 , Δ t_u , get Δ t_u The corresponding set single, let i = 1, where Δ t_0 is the estimated picking time for the initial seed order. t_u is the total estimated picking time for all orders added to the collection order at level u and before level u, Δ t_u The corresponding set order is the set order consisting of the seed order of the uth layer and the orders added before the uth layer. It should be noted that in the subsequent cycles, as u increases, Δ t_u and Δ t_u The corresponding collection list changes dynamically.
[0100] Update the order pool. Based on the seed order at level u, sort the search orders at level (u+1) in ascending order of picking travel time, from shortest to longest, to obtain an order sequence. In this example, level (u+1) is the current level. The order in the order sequence with the shortest picking travel time from the seed order at level u is selected as the candidate seed order at level (u+1).
[0101] Determine whether there is a target search order in the order sequence. The target search order is an order whose distance from the candidate seed order of the (u+1) layer in the order sequence is equal to the neighborhood action range.
[0102] If there is no target search order in the order sequence, it means that the candidate seed order of the (u+1) layer is the last order in the order sequence. Then the neighborhood action range is restored to the initial value and the number of layers corresponding to the current search is increased by 1. Specifically, o N =1,u=u+1. Determine whether the seed order of all layers has been searched and determined, that is, whether u is less than N-1. If so, o loc Restore to the initial value o loc =1, then jump to extract Δ t_0 , Δ t_u , get Δ t_u For the corresponding collection order, let i = 1 to continue searching for the seed order of the next layer; if the seed orders of all layers have been searched and determined, then output the current collection order and the optimal estimated total picking time Δ of the current collection order best .
[0103] If there is a target search order in the order sequence, then the target search order will be added to the collection order if the restriction conditions are met. Specifically, Δ t_u The estimated picking time of the corresponding collection order is Δ t_i , update the estimated total picking time of the collection order, the updated estimated total picking time Δ total The sum of the estimated picking times for all orders currently included in the collection order.
[0104] Then determine whether the collection order after adding the target search order has met the restriction conditions or whether there are no orders that can be added to the collection order in the order pool. If the restriction conditions have not been met and there are still orders that can be added to the collection order in the order pool, set i = i + 1, and continue to select the next picking order of the target search order to add to the collection order. Specifically, update the order pool, and select the order that meets the restriction conditions and has the shortest picking travel time from the last selected order through the seed algorithm to add to the current collection order. The estimated picking time between storage locations is recorded as Δ t_i , and update the estimated total picking time Δ of the current collection order total =Δ total +Δt_i , then return to the step of determining whether the collection order after adding the target search order has reached the restriction condition or whether there are no orders in the order pool that can be added to the collection order. If the restriction condition has been reached or there are no orders in the order pool that can be added to the collection order, then the estimated total picking time Δ of the current collection order is obtained based on the sum of the estimated picking times of the current orders in the collection order. variable , Δ variable =Δ total .
[0105] Compare the estimated total picking time of the order combination determined based on the target search order with the estimated total picking time of the order combination determined based on the alternative seed order, that is: variable and Δ best Compare.
[0106] If Δ variable Less than Δ best , indicating that the total picking time of the order combination determined based on the target search order is shorter, then the optimal estimated total picking time is updated to the estimated total picking time Δ of the order combination variable , that is, let Δ best =Δ variable , and restore the current neighborhood action range to the initial neighborhood action range (let o N =1), and update the candidate seed order of the (u+1) layer to the current target search order (let o loc =o loc +o N ), and then jump to the above-mentioned step of determining whether there is a target search order in the order sequence. It should be noted that the step of jumping to determine whether there is a target search order in the order sequence is to determine a new target search order. If there is a new target search order, a new collection order is determined based on the new target search order.
[0107] If Δ variable Greater than or equal to Δ best , indicating that the total picking time of the order combination determined based on the alternative seed order is shorter, then the current neighborhood action range is incremented by 1 to obtain the new neighborhood action range, i.e., o N =o N +1. Then determine whether the search termination condition of the current layer is reached. Specifically, it can be determined whether o N Is it less than N? v And o loc +o N Is it less than Φ-(u+1), that is, whether the maximum value of the current neighborhood search action range has been exceeded in the neighborhood search, and whether all orders of the (u+1) layer have been completely calculated. If the search termination condition of the current layer is not met, that is, o N Less than Nv And o loc +o N If it is less than Φ-(u+1), then the new target search order can be determined in the order sequence by changing the neighborhood action range, and then jump to the above step of judging whether there is a target search order in the order sequence to judge whether the target search order can be found according to the new neighborhood action range, and then continue searching in the current layer if there is a target search order. If the search termination condition of the current layer has been reached, that is, it is not satisfied N Less than N v And o loc +o N is less than Φ-(u+1), then let o N =1, u = u+1, then determine whether u is less than N-1, that is, determine whether the seed orders of all layers have been searched and determined. If u is less than N-1, then set o loc =1, then jump to extract Δ t_0 , Δ t_u , get Δ t_u For the corresponding set order, let i=1 to continue searching for the seed order of the next layer; if u is greater than or equal to N-1, it means that the seed orders of all layers have been searched and determined, then the current set order Λ and the optimal total picking time Δ are output. best .
[0108] Targeting actual industrial scenarios, the embodiment of the present invention integrates the SR-VNS framework and seed algorithm, and combines it with a method for estimating the picking travel time between storage locations to balance the computational time and optimization accuracy of the order grouping process, thereby improving the computational speed and the quality of the collection order to meet the needs of industrial engineering. In addition, the embodiment of the present invention has sorted the orders to be searched in ascending order of picking travel time in each neighborhood search. In each search, orders with short picking travel times between storage locations are first grouped together. Furthermore, in each neighborhood, the seed algorithm can quickly and efficiently construct the current optimal solution corresponding to the seed order, thereby improving the quality of the local optimal solution. At the same time, based on the SR-VNS framework, the next suboptimal solution seed order is added to the current collection order within the next level of the neighborhood where the seed order has been optimized and sorted. Therefore, the quality of the local optimal solution in each cyclic search can be guaranteed during each neighborhood search, so that the collection order result obtained by the embodiment of the present invention can converge to the global optimal solution, resulting in a better order grouping effect. The SR-VNS framework implemented in the present invention eliminates the random neighborhood settings and bidirectional neighborhood settings in the existing VNS framework. Instead, it is based on ordered unidirectional neighborhoods, and searches in sequence when calculating neighborhood actions. At the same time, after the calculation of the current layer is completed, the seed order results of the current layer are retained and jump to the next layer search. Subsequent searches will not return to the neighborhood layer that has been calculated. It can reduce the scope and steps of invalid neighborhood searches while ensuring the quality of the collection order. Compared with the traditional VNS framework, it greatly reduces the algorithm calculation time complexity and is suitable for application in engineering scenarios.
[0109] Figure 7 FIG. 1 is a schematic diagram of the main modules of a single grouping device according to an embodiment of the present invention. Figure 7 As shown, an order combination device 700 according to an embodiment of the present invention mainly includes: an initial order combination generating module 701 and an order combination module 702 .
[0110] The initial order combination generation module 701 is used to screen out the initial seed order and the subsequent orders of the initial seed order based on the picking travel time of the order through a seed algorithm to obtain the initial order combination and the estimated total picking time of the initial order combination; the subsequent orders of the initial seed order are orders that are picked after the initial seed order.
[0111] The order grouping module 702 is used to take the layer where the initial seed order is located as the initial layer, and to search layer by layer to determine the seed orders of the subsequent layers of the initial layer through a preset variable neighborhood search algorithm with sequenced jumps, wherein: when searching at each layer, the searched layer is defined as the current layer, and based on the picking travel time from the seed order of the previous layer, the orders to be searched in the current layer are sorted to obtain an order sequence, and orders are searched multiple times in the order sequence according to the search rules, and in each search, based on the searched orders, the order combination is determined through the seed algorithm and the corresponding estimated total picking time is obtained, and the order with the best estimated total picking time of the determined order combination among the orders searched in the current layer is used as the seed order of the current layer; when the search of all layers is completed, the order combination with the best estimated total picking time finally determined is used as the collection order, and the collection order and the corresponding estimated total picking time are output.
[0112] The initial order combination generation module 701 is specifically used to: select the order with the shortest picking travel time from the starting point as the initial seed order; when selecting each subsequent order of the initial seed order, sort the selected orders, and when the order combination restriction conditions are met, select the order with the shortest picking travel time from the last selected order from the sequence of orders to be selected.
[0113] The order grouping module 702 is specifically used to: take the order with the shortest picking travel time from the seed order of the previous layer in the order sequence as the candidate seed order of the current layer, and take the estimated total picking time of the order combination determined based on the candidate seed order as the optimal estimated total picking time; determine the target search order in the order sequence according to the initial neighborhood action range, determine the order combination based on the target search order through the seed algorithm, and obtain the corresponding estimated total picking time; compare the estimated total picking time of the order combination determined based on the target search order with the estimated total picking time of the order combination determined based on the candidate seed order When the estimated total picking time of the order combination determined based on the target search order is less than the estimated total picking time of the order combination determined based on the alternative seed order, the alternative seed order of the current layer is updated to the target search order, and the optimal estimated total picking time is updated to the estimated total picking time of the order combination determined based on the target search order, and then jump to the step of determining the target search order in the order sequence according to the initial neighborhood action range to determine the new target search order and conduct the next search.
[0114] The order combination module 702 is also used to: when the estimated total picking time of the order combination determined based on the target search order is greater than or equal to the estimated total picking time of the order combination determined based on the alternative seed order, determine whether the search termination condition of the current layer is reached; if not, change the current neighborhood action range, determine the target search order in the order sequence with the new neighborhood action range, and jump to the step of determining the order combination based on the target search order through the seed algorithm, and obtain the corresponding estimated total picking time for the next search, wherein the search termination condition of the current layer is that the current neighborhood action range has reached the maximum value of the neighborhood action change or all orders in the order sequence have been searched.
[0115] The order group module 702 is also used to: increase the current neighborhood action range by a preset value to obtain a new neighborhood action range, and obtain the distance between the alternative seed order and the target search order in the order sequence based on the new neighborhood action range to determine the position of the target search order in the order sequence.
[0116] The order grouping module 702 is also used for: if the search termination condition of the current layer has been reached, taking the latest candidate seed order of the current layer as the seed order of the current layer, and then continuing to search to determine the seed order of the next layer of the current layer.
[0117] The order grouping module 702 is further used to obtain an initial neighborhood action range, and obtain the distance between the candidate seed order and the target search order in the order sequence based on the initial neighborhood action range to determine the position of the target search order in the order sequence.
[0118] The order grouping module 702 is also used for: if there is no target search order in the order sequence according to the initial neighborhood action range, the latest alternative seed order of the current layer is used as the seed order of the current layer, and then the search is continued to determine the seed order of the next layer of the current layer.
[0119] The order group module 702 is further used to confirm that the number of layers corresponding to the current layer is less than the preset number of neighboring layers, where the number of neighboring layers is the upper limit of the search layers set according to the maximum number of orders allowed by the collection order.
[0120] The order grouping module 702 is also used to: obtain a determined order subset from the seed orders of each layer before the current layer and the target search orders; select subsequent orders of the target search order, and the subsequent orders of the target search order are orders that are picked after the target search order; wherein, when selecting each order subsequent to the target search order, sort the remaining orders, and when the order combination restriction conditions are met, select the order with the shortest picking travel time from the last selected order from the sequence of the remaining orders; obtain the order combination determined based on the target search order and the corresponding estimated total picking time from each order in the order subset and each subsequent order of the target search order, and the estimated total picking time of the order combination is the sum of the picking times of all orders in the order combination.
[0121] The initial order combination generation module 701 is also used to: determine whether there is a special storage location order at present, and if there is a special storage location order, generate a first order combination based on the special storage location order; select the order with the shortest picking travel time from the starting point as the initial seed order, and add the initial seed order to the first order combination when the order combination restriction conditions are met; select subsequent orders of the initial seed order, wherein, when selecting each subsequent order of the initial seed order, sort the orders to be selected, and if the order combination restriction conditions are met, select the order with the shortest picking travel time from the last selected order from the sequence of to-be-selected orders, and add it to the first order combination; obtain the initial order combination and the estimated total picking time of the initial order combination based on the final first order combination and the corresponding estimated total picking time.
[0122] Order combination restrictions include: one or more of the following: maximum load weight, maximum load volume, order quantity limit, category, batch number, grade, and maximum CPU computing power allowed for the collective order.
[0123] Figure 8 An exemplary system architecture 800 is shown to which the grouping method or grouping apparatus according to the embodiments of the present invention can be applied.
[0124] like Figure 8 As shown, system architecture 800 may include terminal devices 801, 802, 803, a network 804, and a server 805. Network 804 is used to provide a medium for communication links between terminal devices 801, 802, 803 and server 805. Network 804 may include various connection types, such as wired or wireless communication links or fiber optic cables.
[0125] Users can use terminal devices 801, 802, and 803 to interact with server 805 via network 804 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 801, 802, and 803, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).
[0126] The terminal devices 801 , 802 , and 803 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.
[0127] Server 805 may be a server that provides various services, such as a backend management server (for example only) that supports shopping websites browsed by users using terminal devices 801, 802, and 803. The backend management server may analyze and process received data such as product information query requests, and feed back processing results (for example, target push information and product information—for example only) to the terminal device.
[0128] It should be noted that the order assembling method provided in the embodiment of the present invention is generally executed by the server 805 , and accordingly, the order assembling device is generally set in the server 805 .
[0129] It should be understood that Figure 8 The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.
[0130] Reference below Figure 9 , which shows a schematic structural diagram of a computer system 900 of a terminal device or server suitable for implementing an embodiment of the present invention. Figure 9 The terminal device or server shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0131] like Figure 9 As shown, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage unit 908 into a random access memory (RAM) 903. Various programs and data required for the operation of the system 900 are also stored in the RAM 903. The CPU 901, ROM 902, and RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0132] The following components are connected to the I / O interface 905: an input section 906 including a keyboard, a mouse, and the like; an output section 907 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 908 including a hard disk and the like; and a communication section 909 including a network interface card such as a LAN card or a modem. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 910 as needed, so that computer programs read therefrom can be installed into the storage section 908 as needed.
[0133] In particular, according to the embodiments disclosed in the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 909, and / or installed from a removable medium 911. When the computer program is executed by the central processing unit (CPU) 901, the above-mentioned functions defined in the system of the present invention are performed.
[0134] It should be noted that the computer-readable medium described in the present invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media can include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), 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 invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. This propagated data signal can take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, optical fiber cable, RF, or any suitable combination thereof.
[0135] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0136] The modules involved in the embodiments of the present invention may be implemented in software or in hardware. The modules described may also be provided in a processor. For example, they may be described as follows: a processor including an initial order combination generation module and an order combination module. The names of these modules do not, in some cases, constitute a limitation on the modules themselves. For example, the initial order combination generation module may also be described as a "module for obtaining the initial order combination and the estimated total picking time of the initial order combination based on the order-based picking travel time, by screening out the initial seed order and subsequent orders of the initial seed order through a seed algorithm."
[0137] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs. When the above one or more programs are executed by a device, the device includes: based on the picking travel time of the order, the initial seed order and the subsequent orders of the initial seed order are screened out through a seed algorithm to obtain the estimated total picking time of the initial order combination and the initial order combination; the subsequent orders of the initial seed order are orders that are picked after the initial seed order; with the layer where the initial seed order is located as the initial layer, the seed orders of each subsequent layer of the initial layer are determined by searching layer by layer through a preset sequenced jump variable neighborhood search algorithm, wherein: when searching at each layer, define The layer being searched is the current layer. Based on the picking travel time from the seed order of the previous layer, the orders to be searched in the current layer are sorted to obtain an order sequence, and orders are searched multiple times in the order sequence according to the search rules. During each search, based on the searched orders, the order combination is determined by the seed algorithm and the corresponding estimated total picking time is obtained. Among the orders searched in the current layer, the order with the best estimated total picking time of the determined order combination is used as the seed order of the current layer; after completing the search of all layers, the order combination with the best estimated total picking time is finally determined as a collection list, and the collection list and the corresponding estimated total picking time are output.
[0138] According to the technical solution of an embodiment of the present invention, based on the order picking travel time, the initial seed order and subsequent orders of the initial seed order are screened out through a seed algorithm to obtain an initial order combination and the corresponding estimated total picking time. The initial seed order layer is used as the initial layer, and a variable neighborhood search algorithm with a preset sequence jump is used to search layer by layer to determine the seed orders of each subsequent layer of the initial layer. After the search of all layers is completed, the order combination with the optimal estimated total picking time is finally determined as a collection order, and the collection order and the corresponding estimated total picking time are output. This can improve the quality of the collection order and the efficiency of the collection order, prevent mis-collection or omission of collections, reduce the amount of calculation and calculation time, reduce labor costs, and meet the requirements of industrial-grade algorithms.
[0139] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A method for grouping, characterized in that: include: Based on the order picking travel time, an initial seed order and subsequent orders of the initial seed order are screened out using a seed algorithm to obtain the initial order combination and the estimated total picking time of the initial order combination; the subsequent orders of the initial seed order are orders that are picked after the initial seed order; Taking the layer where the initial seed order is located as the initial layer, the seed orders of the subsequent layers of the initial layer are searched layer by layer through a preset variable neighborhood search algorithm with sequenced jumps, wherein: when searching each layer, the searched layer is defined as the current layer, and based on the picking travel time from the seed order of the previous layer, the orders to be searched in the current layer are sorted to obtain an order sequence, and orders are searched multiple times in the order sequence according to the search rules, and in each search, based on the searched orders, the order combination is determined by the seed algorithm and the corresponding estimated total picking time is obtained, and the order with the best estimated total picking time of the determined order combination among the orders searched in the current layer is used as the seed order of the current layer; when the search of all layers is completed, the order combination with the best estimated total picking time finally determined is used as a collection list, and the collection list and the corresponding estimated total picking time are output; The steps of searching for orders in the order sequence multiple times according to the search rules, determining an order combination based on the searched orders using a seed algorithm and obtaining a corresponding estimated total picking time, include: The order in the order sequence with the shortest picking travel time from the seed order in the previous layer is used as the candidate seed order for the current layer, and the estimated total picking time of the order combination determined based on the candidate seed order is used as the optimal estimated total picking time; Determining a target search order in the order sequence according to the initial neighborhood action range, determining an order combination based on the target search order using the seed algorithm, and obtaining a corresponding estimated total picking time; Comparing the estimated total picking time of the order combination determined based on the target search order with the estimated total picking time of the order combination determined based on the candidate seed order; When the estimated total picking time of the order combination determined based on the target search order is less than the estimated total picking time of the order combination determined based on the alternative seed order, the alternative seed order of the current layer is updated to the target search order, and the optimal estimated total picking time is updated to the estimated total picking time of the order combination determined based on the target search order, and then jump to the step of determining the target search order in the order sequence according to the initial neighborhood action range to determine the new target search order and conduct the next search.
2. The method according to claim 1, characterized in that The order-based picking travel time is used to screen out an initial seed order and subsequent orders of the initial seed order through a seed algorithm, including: Selecting the order with the shortest picking travel time from the starting point as the initial seed order; When selecting each subsequent order of the initial seed order, the orders to be selected are sorted, and when the order combination restriction conditions are met, the order with the shortest picking travel time from the last selected order is selected from the sequence of orders to be selected.
3. The method according to claim 1, characterized in that Also includes: When the estimated total picking time of the order combination determined based on the target search order is greater than or equal to the estimated total picking time of the order combination determined based on the alternative seed order, determine whether the search termination condition of the current layer is reached. If not, change the current neighborhood action range, determine the target search order in the order sequence with the new neighborhood action range, and jump to the step of determining the order combination based on the target search order through the seed algorithm and obtaining the corresponding estimated total picking time for the next search, wherein the search termination condition of the current layer is that the current neighborhood action range has reached the maximum value of the neighborhood action change or all orders in the order sequence have been searched.
4. The method according to claim 3, characterized in that The step of changing the current neighborhood action range and determining the target search order in the order sequence with the new neighborhood action range includes: The current neighborhood action range is incremented by a preset value to obtain a new neighborhood action range. The distance between the alternative seed order and the target search order in the order sequence is obtained based on the new neighborhood action range to determine the position of the target search order in the order sequence.
5. The method according to claim 3, characterized in that After determining whether the search termination condition of the current layer is currently reached, the method further includes: If the search termination condition of the current layer has been reached, the latest candidate seed order of the current layer is used as the seed order of the current layer, and then the search is continued to determine the seed order of the next layer of the current layer.
6. The method according to claim 1, characterized in that The step of determining the target search order in the order sequence according to the initial neighborhood action range includes: The initial neighborhood action range is obtained, and the distance between the candidate seed order and the target search order in the order sequence is obtained according to the initial neighborhood action range to determine the position of the target search order in the order sequence.
7. The method according to claim 6, characterized in that Also includes: If the target search order does not exist in the order sequence according to the initial neighborhood action range, the latest alternative seed order of the current layer is used as the seed order of the current layer, and then the search is continued to determine the seed order of the next layer of the current layer.
8. The method according to claim 5 or 7, characterized in that Before continuing to search and determine the seed order of the next layer of the current layer, the method includes: Confirm that the number of layers corresponding to the current layer is less than a preset number of neighborhood layers, where the number of neighborhood layers is an upper limit of the search layers set according to the maximum number of orders allowed by the collection order.
9. The method according to claim 1, characterized in that The target-based search order, determining the order combination by the seed algorithm, and obtaining the corresponding estimated total picking time includes: Obtaining a determined order subset based on seed orders of each layer before the current layer and the target search order; Selecting subsequent orders of the target search order, where the subsequent orders of the target search order are orders that are picked after the target search order; wherein, when selecting each subsequent order of the target search order, sorting the remaining orders, and selecting, from the sequence of the remaining orders, the order with the shortest picking travel time from the last selected order, provided that order combination constraints are satisfied; An order combination determined based on the target search order and the corresponding estimated total picking time are obtained from each order in the order subset and each subsequent order of the target search order. The estimated total picking time of the order combination is the sum of the picking times of all orders in the order combination.
10. The method according to claim 1, characterized in that The order-based picking travel time, before the initial seed order and subsequent orders of the initial seed order are screened out by the seed algorithm, includes: Determine whether there is a special storage order currently, and if the special storage order exists, generate a first order combination based on the special storage order; The obtaining of the initial order combination and the estimated total picking time of the initial order combination includes: Selecting the order with the shortest picking travel time from the starting point as the initial seed order, and adding the initial seed order to the first order combination if the order combination restriction condition is met; Selecting subsequent orders of the initial seed order, wherein when selecting each subsequent order of the initial seed order, sorting the orders to be selected, and, if order combination constraints are met, selecting the order with the shortest picking travel time from the order to be selected from the sequence of orders to be selected and adding it to the first order combination; The initial order combination and the estimated total picking time of the initial order combination are obtained according to the final first order combination and the corresponding estimated total picking time.
11. The method according to any one of claims 2, 9 and 10, characterized in that: The order combination restriction conditions include: one or more of the maximum load weight, maximum load volume, order quantity limit, category, batch number, grade, and maximum CPU computing power allowed by the collection order.
12. A single assembly device, characterized in that: include: An initial order combination generation module is configured to screen out an initial seed order and subsequent orders of the initial seed order using a seed algorithm based on the order picking travel time, and obtain an estimated total picking time for the initial order combination and the initial order combination; subsequent orders of the initial seed order are orders that are picked after the initial seed order; The order grouping module is used to take the layer where the initial seed order is located as the initial layer, and to search layer by layer to determine the seed orders of the subsequent layers of the initial layer through a preset variable neighborhood search algorithm with sequenced jumps, wherein: when searching at each layer, the searched layer is defined as the current layer, and based on the picking travel time from the seed order of the previous layer, the orders to be searched in the current layer are sorted to obtain an order sequence, and orders are searched multiple times in the order sequence according to the search rules, and in each search, based on the searched orders, the order combination is determined by the seed algorithm and the corresponding estimated total picking time is obtained, and the order with the best estimated total picking time of the determined order combination among the orders searched in the current layer is used as the seed order of the current layer; when the search of all layers is completed, the order combination with the best estimated total picking time finally determined is used as the collection order, and the collection order and the corresponding estimated total picking time are output; The steps of searching for orders in the order sequence multiple times according to the search rules, determining an order combination based on the searched orders using a seed algorithm and obtaining a corresponding estimated total picking time, include: The order in the order sequence with the shortest picking travel time from the seed order in the previous layer is used as the candidate seed order for the current layer, and the estimated total picking time of the order combination determined based on the candidate seed order is used as the optimal estimated total picking time; Determining a target search order in the order sequence according to the initial neighborhood action range, determining an order combination based on the target search order using the seed algorithm, and obtaining a corresponding estimated total picking time; Comparing the estimated total picking time of the order combination determined based on the target search order with the estimated total picking time of the order combination determined based on the candidate seed order; When the estimated total picking time of the order combination determined based on the target search order is less than the estimated total picking time of the order combination determined based on the alternative seed order, the alternative seed order of the current layer is updated to the target search order, and the optimal estimated total picking time is updated to the estimated total picking time of the order combination determined based on the target search order, and then jump to the step of determining the target search order in the order sequence according to the initial neighborhood action range to determine the new target search order and conduct the next search.
13. An electronic device, characterized in that: include: one or more processors; a memory 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 are enabled to implement the method according to any one of claims 1 to 11.
14. A computer-readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Transportation order optimization method and device
CN111967657A