Intelligent order picking method
By generating initial candidate solutions in parallel using multiple optimization algorithms and combining them with core data packages and bidirectional indexes, feasible solutions are filtered and repaired to generate the optimal picking scheme that meets preset constraints. This solves the problems of low picking efficiency and unstable optimization in warehouse management systems and achieves efficient and stable picking optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- QINGDAO RIRISHUN LOGISTICS CO LTD
- Filing Date
- 2026-03-27
- Publication Date
- 2026-06-16
AI Technical Summary
Existing warehouse management systems suffer from low picking efficiency and high error rates when faced with high SKU density, high outbound frequency, and scattered inventory. Furthermore, the optimization algorithms cannot be dynamically adjusted when order volume fluctuates and inventory structure changes, resulting in unstable optimization results.
Multiple optimization algorithms are used in parallel to generate initial candidate solutions. By constructing a core data package and a bidirectional index, feasible solutions are screened and repaired. The optimal solution is generated using Pareto non-dominated sorting and tabu search algorithms to ensure that the picking scheme meets the preset constraints.
It improves picking efficiency, reduces error rates, and maintains stable performance in the face of different orders and changes in inventory structure, while significantly reducing computational load.
Smart Images

Figure CN122222528A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of warehousing technology, and more particularly to an intelligent order picking method. Background Technology
[0002] With the large-scale development of e-commerce and smart warehousing, modern warehouses are characterized by high SKU (Stock Keeping Unit) density, high outbound frequency, and high batch management requirements. Order picking (the process of selecting the required goods from the storage area according to customer orders in a warehouse or distribution center) is the most costly part of warehousing operations (usually exceeding 50%), directly affecting the efficiency and accuracy of order processing.
[0003] Current mainstream warehouse management systems typically focus solely on picking distance to reduce time costs when optimizing picking. However, this approach ignores the dispersed nature of SKUs within the warehouse. If the same SKU is located in multiple storage locations, picking will require multiple searches, increasing picking time and error rates. Furthermore, optimizing only picking distance leads to increasingly fragmented inventory, increasing inventory counting difficulty and organization costs, and ultimately reducing space utilization. In addition, mainstream warehouse management systems usually generate picking routes first, then check if they meet the FIFO (First-In, First-Out) constraint. If not, the previously generated picking route is discarded, wasting significant computational resources. The heuristic algorithms used (such as ant colony optimization and genetic algorithms) rely on preset parameters and rules, performing well in stable environments. However, they cannot dynamically adjust strategies when order volume fluctuates or inventory structure changes, resulting in unstable optimization results. Summary of the Invention
[0004] In view of the above problems, this application designs and provides an intelligent order picking method, executed by a processing module. The processing module is configured to perform the following steps: preprocessing the original warehouse data and order data to construct a core data package, which includes: a batch selection constraint matrix for constraining the first-in, first-out rule; a bidirectional index for recording the mapping relationship between warehouse area identifiers and material unique identifiers; a candidate warehouse area set for limiting the decision space; and a standard dedicated dataset containing order requirements. An optimization model is constructed, and multiple optimization algorithms are used to generate initial candidate solutions in parallel based on the core data package. The decision variables of the optimization model include the warehouse area selected by the SKU in the order. The optimization algorithm is then filtered. The algorithm generates feasible solutions and repairs them to obtain a repaired solution set. It then constructs a full solution set using the repaired solution set and the initial candidate solution set. The algorithm calculates the number of pickup points and SKU fragmentation of the solutions in the full solution set, and calculates the overall performance score using linear weighting. It performs Pareto non-dominated sorting and retains the non-dominated solution set as the preferred solution. Within the neighborhood of the preferred solution, it executes a tabu search algorithm and performs fragment cross-validation on multiple preferred solutions to generate heterogeneous candidate solutions. Random perturbation causes discontinuous jumps in the heterogeneous candidate solutions until a preset global time limit is reached. Finally, it outputs the optimal solution that satisfies the preset constraints and has the best overall performance score, and generates inventory allocation instructions based on the optimal solution.
[0005] In some embodiments of this application, the processing module is configured to perform the following steps to obtain a batch selection constraint matrix: reading the material number and the receiving batch number, wherein the material number is a unique identifier for the material, and the receiving batch number is a unified identifier for materials in the same batch; concatenating the material number and the receiving batch number into a string to generate a globally unique material number-receiving batch number, thereby obtaining a unique material identifier; constructing a hash table to store the mapping from unique material identifiers to receiving dates; for each material number, extracting the associated unique material identifiers, and sorting them in ascending order according to the receiving dates in the hash table, outputting a list of unique material identifiers for each material, wherein the receiving time is arranged from earliest to latest; constructing a two-dimensional matrix with unique material identifiers as rows and warehouse area numbers as columns; traversing the list of unique material identifiers for each material, determining the warehouse area where the unique material identifier is located for each unique material identifier, assigning values to the two-dimensional matrix, and obtaining a batch selection constraint matrix.
[0006] In some embodiments of this application, a bidirectional index is constructed based on the material unique identifier table and the associated warehouse area code to record the warehouse area identifier and the material unique identifier, including the material-warehouse area index and the warehouse area-material index. In the material-warehouse area index, the candidate warehouse area set distributed by the material unique identifier can be queried. In the warehouse area-material index, the stored material unique identifier and the corresponding entry date can be queried by the warehouse area number.
[0007] In some embodiments of this application, the optimization algorithms include: clustering algorithms, metaheuristic algorithms, swarm intelligence algorithms, multi-objective optimization algorithms, and number search algorithms.
[0008] In some embodiments of this application, the optimization algorithms include: DBSCAN+greedy assignment algorithm, improved K-means clustering algorithm, ant colony optimization algorithm, NSGA-II multi-objective genetic algorithm, simulated annealing algorithm, tabu search algorithm, and Monte Carlo tree search algorithm.
[0009] In some embodiments of this application, when screening feasible solutions generated by the optimization algorithm, repairing feasible solutions, and obtaining a repaired solution set, the processing module is configured to perform the following steps: 1) Calculate the sum of the first allocation quantities for a single SKU in all selected warehouse areas. If the sum of the first allocation quantities is less than the actual demand of the order, it is determined that the initial candidate solution has an under-load gap. 2) Obtain warehouse areas with non-zero values and greater than zero inventory in the batch selection constraint matrix to establish a backup inventory set. 3) Find the warehouse area with the closest physical distance in the backup inventory set and set the corresponding decision variable to 1 to obtain a feasible solution set for the gap quantity. 4) Calculate the sum of the second allocation quantities for a single SKU in a single warehouse area. If the sum of the second allocation quantities is greater than the actual inventory of the warehouse area, it is determined that the initial candidate solution has an over-deduction of inventory. 5) Calculate the excess overflow quantity and, according to a preset order priority or a preset random strategy, redistribute the excess overflow quantity to available warehouse areas in the backup inventory set, and set the corresponding... Set the decision variable to 1 to obtain the feasible solution set for over-deduction; determine whether there is an initial candidate solution with a decision variable of 1 but a value of 0 in the batch selection constraint matrix. If so, transfer the allocation of the invalid warehouse area to the nearest available warehouse area in the backup warehouse set, set the corresponding decision variable to 1, and obtain the feasible solution set for FIFO conflict; determine whether there is a single SKU whose actual number of warehouse areas exceeds the maximum allowed number of warehouse areas; if so, locate the warehouse area with the smallest allocation and the warehouse area with the largest allocation among all the corresponding allocated warehouse areas, perform a feasibility check on the warehouse area with the largest allocation, and if the check is successful, transfer the allocation of the warehouse area with the smallest actual allocation to the warehouse area with the largest allocation, set the corresponding decision variable to 1, and obtain one or more of the feasible solutions set for merging warehouse areas; merge one or more of the feasible solutions set for gap, over-deduction, FIFO conflict, and merging warehouse areas to obtain the repair solution set.
[0010] In some embodiments of this application, the processing module performs the following iterative sorting operation on the full solution set to perform Pareto non-dominated sorting: traverse all feasible solutions in the full solution set, obtain all solutions not dominated by any other solution, and mark them as the first non-dominated solution set; remove the first non-dominated solution set from the full solution set, and again obtain all solutions not dominated by any other solution from the remaining solutions, and mark them as the second non-dominated solution set; repeat the above process until all solutions are assigned to the corresponding levels; output the first non-dominated solution set as the preferred solution.
[0011] In some embodiments of this application, when outputting the optimal solution and generating inventory allocation instructions based on the optimal solution, the processing module is configured to perform the following steps: using the preferred solution as a seed, performing a tabu search, iterating on the seed until it can no longer be improved locally; performing crossover on multiple preferred solutions after the tabu search processing, and outputting a new seed; if the quality of the set consecutive generations of seeds does not improve, triggering a random perturbation, and randomly resetting to make the new seed undergo a discontinuous jump; after reaching the preset global total time limit, stopping the loop, extracting the solution with the lowest comprehensive performance score as the optimal solution that satisfies the preset constraints and has the best comprehensive performance score, and generating inventory allocation instructions based on the optimal solution.
[0012] In some embodiments of this application, the processing module is configured to allocate initial sub-time limits to multiple parallel optimization algorithms when a preset global total time limit is reached; if one or more of the optimization algorithms terminate their threads before the initial sub-time limit, a time reclamation operator is triggered to reclaim the remaining time; and the reclaimed remaining time is dynamically allocated to other parallel optimization algorithms.
[0013] In some embodiments of this application, the processing module is configured to: establish a standard comparison benchmark when constructing the core data package, the standard comparison benchmark including order demand and inventory status; when constructing the optimization model and generating initial candidate solutions using optimization algorithms, select one of the initial candidate solutions generated by the algorithm as the benchmark comparison solution; calculate the initial number of pickup points and the initial SKU dispersion based on the benchmark comparison solution; and generate the optimized number of pickup points and the optimized SKU dispersion based on the solution that has the lowest comprehensive performance score when reaching the global total time limit.
[0014] Calculate the percentage increase in the number of optimized pickup points relative to the initial number of pickup points; calculate the percentage increase in SKU dispersion relative to the initial SKU dispersion.
[0015] The intelligent order picking method provided in this application divides the generation of picking and allocation schemes into three stages. The first stage uses multiple optimization algorithms in parallel to generate initial candidate solutions with different search preferences, ensuring broad spatial coverage of the initial candidate solutions. The second stage uses comprehensive performance score calculation and Pareto selection to ensure that the solutions generated by the optimization algorithms are evaluated using the same benchmark. The third stage refines the optimal solution and performs a second correction to reduce randomness, ensuring that the final result does not depend on a single random initialization or the shortcomings of a single algorithm. The intelligent order picking method provided in this application maintains more stable optimization performance when facing different dates, order structures, and inventory distributions, and its robustness is significantly better than single optimization algorithm schemes. The optimization algorithm is computationally low and can be implemented quickly. Through scoring and Pareto selection, computing power can be concentrated on a small number of high-potential solutions. Finally, only the optimal solution is locally refined, which can significantly reduce the computational load of the global search.
[0016] Other features and advantages of the present invention will become clearer after reading the detailed embodiments of the invention in conjunction with the accompanying drawings. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 Flowcharts of one or more embodiments of the intelligent order picking method provided in this application;
[0019] Figure 2 Flowcharts of one or more embodiments of the intelligent order picking method provided in this application;
[0020] Figure 3 Flowcharts of one or more embodiments of the intelligent order picking method provided in this application;
[0021] Figure 4 Flowcharts of one or more embodiments of the intelligent order picking method provided in this application;
[0022] Figure 5 A flowchart of one or more embodiments of the intelligent order picking method provided in this application. Detailed Implementation
[0023] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0024] The first aspect of this application provides an intelligent order picking method, executed by a processing module.
[0025] From a hardware architecture perspective, this application employs a combination of distributed computing and high-frequency memory storage to ensure optimal response speeds even when processing large-scale orders. More specifically, it includes processing modules comprised of parallel computing clusters (e.g., servers with multi-core parallel processing capabilities). Preferably, the processing module includes a high-performance multi-core processor to provide physically isolated computing threads. In addition to the high-performance multi-core processor, hardware acceleration units, such as GPUs or FPGAs, are also preferably included. The processing module may be configured with individual timers. Furthermore, a high-frequency memory array is included to ensure fast data read speeds.
[0026] like Figure 1 As shown, the processing module is configured to perform the following steps:
[0027] S1: Preprocess the original warehouse data and order data to construct a core data package. The core data package includes: a batch selection constraint matrix for constraining the first-in, first-out (FIFO) rule; a bidirectional index for recording the mapping relationship between warehouse area identifiers and material unique identifiers; a candidate warehouse area set for limiting the decision space; and a standard dedicated dataset containing order requirements.
[0028] S2: Construct an optimization model and use multiple optimization algorithms to generate initial candidate solutions in parallel based on the core data package. The decision variables of the optimization model include the warehouse area selected by the SKU in the order.
[0029] S3: Filter feasible solutions generated by the optimization algorithm, repair the feasible solutions, and obtain the repaired solution set.
[0030] S4: Construct the full solution set using the repaired solution set and the initial candidate solution set.
[0031] S5: Calculate the number of pickup points and SKU dispersion corresponding to the solutions in the full solution set, and calculate the overall performance score using linear weighting.
[0032] S6: Perform Pareto non-dominated sorting and retain the non-dominated solution set as the preferred solution.
[0033] S7: Execute the tabu search algorithm in the neighborhood of the preferred solution, perform fragment cross-validation on multiple preferred solutions to generate heterogeneous candidate solutions, and cause discontinuous jumps in the heterogeneous candidate solutions through random perturbation until the preset global total time limit is reached. Output the optimal solution that satisfies the preset constraints and has the best comprehensive performance score, and generate inventory allocation instructions based on the optimal solution.
[0034] The intelligent order picking method provided in this application consists of three stages in generating picking and allocation schemes. The first stage uses multiple optimization algorithms in parallel to generate initial candidate solutions with different search preferences, ensuring broad spatial coverage of the initial candidate solutions. The second stage uses comprehensive performance score calculation and Pareto selection to ensure that the solutions generated by the optimization algorithms are evaluated using the same benchmark. The third stage refines the optimal solution and performs a second correction to reduce randomness, ensuring that the final result does not depend on a single random initialization or the shortcomings of a single algorithm. The intelligent order picking method provided in this application maintains more stable optimization performance when facing different dates, order structures, and inventory distributions, and its robustness is significantly better than single optimization algorithm schemes. The optimization algorithm is computationally low and can be implemented quickly. Through scoring and Pareto selection, computing power can be concentrated on a small number of high-potential solutions. Finally, only the optimal solution is locally refined, which can significantly reduce the computational load of the global search.
[0035] The following describes the process of obtaining the batch selection constraint matrix used to constrain the first-in, first-out (FIFO) rule. The processing module is configured to perform the following steps:
[0036] Step S101: Read the material number and the batch number of the goods received.
[0037] The material number is a unique identifier for a material.
[0038] Material numbers can be obtained from a company's ERP system, WMS (warehouse management system), product barcodes or RFID tags, or inventory database.
[0039] It should be noted that the raw warehouse data obtained through the enterprise's ERP system and WMS refers to unprocessed, directly exported inventory and transaction records, including real-time inventory data, inbound / outbound records, supplier data, batch information, receiving slips, picking slips, inventory count records, Excel files, CSV files (e.g., temporary inventory adjustment tables), etc., including but not limited to one or more fields such as material number, inbound batch number, inbound date, warehouse area code, storage location, inventory quantity, shelf life, and supplier code. Based on the raw warehouse data, null values and duplicates are checked, and format and logical validations are performed (e.g., the same inbound date for the same batch, and the quantity is a non-negative integer). The standardized data is the input data, from which the material number and inbound batch number can be read.
[0040] The batch number is a unique identifier for materials entering the warehouse in the same batch.
[0041] For example, the inbound batch number may include the inbound date, supplier code, etc. The inbound batch number can be obtained from the inbound slip (the voucher provided by the supplier when shipping), WMS inbound records, logistics documents, or other databases connected via communication links.
[0042] Step S102: Concatenate the material number and the receiving batch number into a string to generate a globally unique material number-receiving batch number (SKU-ID), thus obtaining a unique identifier for the material.
[0043] Material unique identifiers give each SKU a unique identifier, making it easier to index and manage.
[0044] Step S103: Construct a hash table to store the mapping from the unique identifier of a material to its entry date.
[0045] Traverse the SKU records, using the material's unique identifier as the key and the entry date as the value, and insert them into a hash table.
[0046] Hash tables are efficient data storage and retrieval structures that directly map keys to values, mapping each material's unique identifier to its corresponding entry date, enabling fast data access.
[0047] Step S104: For each material number, extract the associated material unique identifier, sort it in ascending order according to the entry date in the hash table, and output a list of material unique identifiers for each material, where the entry time is arranged from earliest to latest.
[0048] Furthermore, a two-way index is constructed based on the list of unique material identifiers and associated warehouse area codes to record warehouse area identifiers and unique material identifiers. A warehouse area is a physical or logical storage area within a warehouse, divided according to function, product attributes, or management needs. It is the basic unit used in warehouse management to organize and optimize inventory layout. Each warehouse area has a unique identifier, such as a warehouse area code, for identification and location. The two-way index includes a material-warehouse area index, which allows querying the set of candidate warehouse areas where a material is distributed using its unique material identifier (i.e., obtaining which warehouse locations a particular material is in), and a warehouse area-material index, which allows querying the unique material identifiers stored in a warehouse area and their corresponding inbound dates using the warehouse area number (i.e., which materials are stored in a particular warehouse location).
[0049] Step S105: Construct a two-dimensional matrix with the unique material identifier as the row and the warehouse area number as the column.
[0050] Step S106: Iterate through the material unique identifier list for each material. For each material unique identifier,
[0051] Determine the storage area where the unique identifier of the material is located, assign values to the two-dimensional matrix, and obtain the batch selection constraint matrix.
[0052] In some embodiments of this application, if the material is the earliest available batch, then the elements in the two-dimensional matrix are set. Otherwise, keep Obtain the batch selection constraint matrix .
[0053] For example, the size of the two-dimensional matrix is the product of the number of SKUs and the number of warehouse areas, and all elements are initialized to 0. For instance, for material "A001" with two batches, stored in warehouse area 1 and warehouse area 2 respectively according to the material's unique identifier list, then: Batch 1 (2024-03-01) is in warehouse area... Corresponding to ; Batch 2 (March 2, 2024) is in the warehouse area. Corresponding to ;
[0054] For example, in some embodiments of this application, the batch selection constraint matrix can be... Filtered inventory data (including) The SKU and its storage area are encapsulated as read-only data objects. Due to the nature of read-only data objects, subsequent algorithms can only read this object and cannot modify or bypass the FIFO constraint. All addressing operations automatically satisfy the FIFO constraint without additional verification. The batch selection constraint matrix is configured in the configuration. At this time, write permissions can be restricted using immutable data structures or dedicated APIs. Thus, through data mapping, sorting, mask matrix generation, and read-only encapsulation, the FIFO constraint is hard-coded into the data structure, constructing an efficient and compliant search space. Subsequent algorithms run based on this compliant search space, satisfying the FIFO requirement and avoiding wasted computing power.
[0055] For example, in some other embodiments of this application, the batch selection constraint matrix can be validated. The steps, if batch selection constraint matrix If the value is zero, the corresponding algorithm path is cut off, and the processing module will no longer calculate these paths.
[0056] By replacing post-verification with pre-filtering, the processing module no longer needs to generate invalid solutions and then eliminate them, significantly improving the efficiency of candidate solution generation. In some specific examples, the efficiency of candidate solution generation has been improved by 37.2%.
[0057] To avoid quantity mismatches or locked inventory caused by large fluctuations in batch quantities, in some other embodiments of this application, when generating the batch selection constraint matrix, the batch priority weight value corresponding to each material number is calculated according to its order in the material unique identifier list. Construct a two-dimensional matrix with unique material identifiers as rows and warehouse area numbers as columns. Traverse the two-dimensional matrix, if the warehouse area... If materials are stored, then set the element at that location as the corresponding element. Otherwise, it is set to 0; among them, the earlier the batch is received, the higher its corresponding weight value. The higher the value, the more it serves as a quantification constraint for the first-in, first-out (FIFO) rule in the optimization model. Weight values are real numbers between 0 and 1, or discrete priority integers.
[0058] In this application, the core data package also includes a candidate warehouse area set, which can be a set of warehouse area codes selected from the original inventory according to a list of unique material identifiers and preset rules. For example, it can be a set of warehouse area codes with a mask value of 1 selected from the original inventory.
[0059] In this application, the core data package also includes a standard dedicated dataset, which includes: the material requirements of an order.
[0060] Step S2: Construct an optimization model and use multiple optimization algorithms to generate initial candidate solutions in parallel based on the core data packet.
[0061] In some embodiments of this application, the decision variables of the optimization model include: , indicating an order The first in Each SKU can be selected from the warehouse. Picking in the warehouse is also a variable for warehouse selection. Decision variables may also include inventory allocation variables.
[0062] In some embodiments of this application, the constraints of the optimization model include:
[0063] Demand not exceeding total inventory is expressed as: ,in, For orders For the Demand for each SKU; For the reservoir area The Middle Current inventory of each SKU.
[0064] FIFO constraint: If a value in the batch selection constraint matrix is 0, the decision variable is forced to be 0, as shown below: .
[0065] Each SKU is assigned a corresponding warehouse area, represented as follows: .
[0066] The dispersion control condition for picking routes is expressed as follows: ;in, For symbolic functions, This is the maximum allowed warehouse area split for the same SKU, i.e., how many warehouse areas are allowed to be placed separately. The above formula means that for a specific SKU, the total number of selected warehouse areas in the allocation results of all orders cannot exceed [a certain limit]. .
[0067] In some embodiments of this application, the optimization model may not have an explicit objective function, thus not relying on a single prior objective function for convergence. Instead, it performs extensive sampling in the solution space through the search preferences of heterogeneous algorithms, and finally performs implicit optimization through comprehensive performance scoring and Pareto front screening.
[0068] In other embodiments of this application, the optimization model may also use a mature and well-known objective function: for example, the most typical picking point minimization function provided in the background art, which achieves picking path convergence by minimizing the total number of selected warehouse areas.
[0069] For example: ;in, For binary variables, if the reservoir area Selected (i.e., any exists) ,but Otherwise, it is 0.
[0070] Other alternative, well-established, and well-known objective functions will not be listed here.
[0071] Various optimization algorithms include: clustering algorithms, metaheuristic algorithms, swarm intelligence algorithms, multi-objective optimization algorithms, and number search algorithms.
[0072] For example, the optimization algorithm includes: DBSCAN + Greedy Allocation Algorithm. In some embodiments of this application, the DBSCAN + Greedy Allocation Algorithm treats the warehouse area as a spatial node, obtains the warehouse area coordinates and real-time inventory of materials based on a bidirectional index, and uses these as input sample points for DBSCAN. Order demand serves as the termination condition for the greedy algorithm. DBSCAN identifies the core areas where SKU storage is most concentrated through density clustering, thereby guiding the allocation logic to converge towards these areas to reduce picking distance. In the DBSCAN stage, the batch selection constraint matrix generated by pre-filtering is used as the verification condition for the greedy search, prioritizing... Allocation within the core area satisfies For a reservoir region with a value of 1, an initial feasible solution with high spatial convergence can be quickly constructed.
[0073] Since DBSCAN is an index-based local search algorithm and its greedy strategy does not involve complex iterative backtracking, the thread execution time is relatively short.
[0074] For example, the optimization algorithm includes an improved K-means clustering algorithm. In some embodiments of this application, the improved K-means clustering algorithm obtains the physical coordinates and real-time inventory balance of SKUs in each warehouse area based on bidirectional indexing, using these as the input feature vectors for K-means clustering. After obtaining the spatial distribution characteristics of SKUs, the cluster centroids are initialized based on order demand. During the iteration process, the batch selection constraint matrix is dynamically combined to perform pre-pruning on sampling points that do not meet the FIFO constraint. By identifying representative warehouse areas of SKUs, the algorithm guides... By converging towards the structured geometric center, the spatial dispersion of pickup points is significantly reduced while satisfying the constraints of inventory availability and order integrity. The improved K-means clustering algorithm and the DBSCAN+greedy assignment algorithm run in parallel, providing diverse spatial clustering schemes for the initial candidate solutions from the geometric distribution dimension.
[0075] The improved K-means clustering algorithm has a moderate thread latency.
[0076] For example, the optimization algorithm includes the Ant Colony Optimization Algorithm (ACO / MMAS). The ACO / MMAS transforms order-warehouse allocation into path search in graph theory, utilizing a pheromone mechanism to positively reinforce efficient allocation combinations while satisfying constraints. In some embodiments of this application, the ACO / MMAS abstracts the SKU-warehouse allocation relationship into a path search graph and uses a pheromone feedback mechanism for heuristic optimization. During the construction of initial candidate solutions, the ACO / MMAS calls the batch selection constraint matrix in the core data package in real time for path admission control, ensuring that all generated path nodes naturally conform to FIFO constraints. Simultaneously, it uses spatial coordinates obtained based on bidirectional indexes to calculate heuristic factors, guiding ants to converge towards areas with high inventory concentration. Through an improved mechanism of the Max-Min Ant System (MMAS), the ACO / MMAS can generate highly efficient picking systems while satisfying order integrity and inventory availability constraints. The allocation scheme provides high-quality candidate samples for the subsequent Pareto optimization stage.
[0077] Ant Colony Optimization Algorithm (ACO / MMAS) has a thread time that is above average.
[0078] For example, the optimization algorithm includes the NSGA-II multi-objective genetic algorithm. The NSGA-II multi-objective genetic algorithm simulates biological evolution (crossover, mutation, selection) to find a balance between picking efficiency and inventory integrity, outputting a diverse set of initial candidate solutions. In some embodiments of this application, the NSGA-II multi-objective genetic algorithm will... Encoded as genetic chromosomes, the algorithm performs a global search of the solution space by simulating biological evolution mechanisms. The NSGA-II multi-objective genetic algorithm embeds hard constraint checks of the batch selection constraint matrix into the mutation and crossover logic, ensuring that the evolutionary process is always confined within the feasible region that meets the FIFO constraint. Utilizing multi-dimensional evaluation factors provided by standard dedicated datasets, the NSGA-II multi-objective genetic algorithm performs collaborative optimization on the number of pickup points and SKU dispersion through non-dominated sorting and crowding comparison. Due to its powerful global optimization capability and efficient use of adaptive time allocation, the NSGA-II multi-objective genetic algorithm can produce a diverse and non-dominated Pareto initial candidate solution set, providing a technical foundation for subsequent comprehensive performance evaluation and optimization.
[0079] The NSGA-II multi-objective genetic algorithm has the longest thread consumption time.
[0080] For example, the optimization algorithm includes simulated annealing (SA). Simulated annealing (SA) simulates the thermal motion during physical annealing, giving the search process a probability of accepting inferior solutions, thereby ensuring that the solution pool contains initial candidate solutions with a global perspective that break through local optima limitations. In some embodiments of this application, simulated annealing (SA) simulates the thermodynamic annealing mechanism... Global probabilistic optimization is performed within the neighborhood space of the decision variables. During state transitions, the Simulated Annealing (SA) algorithm couples the batch selection constraint matrix, anchoring the search scope within the set of storage areas that meet the FIFO constraint. By introducing the Metropolis criterion, SA allows for the acceptance of intermediate solutions with a certain probability of temporary performance degradation, effectively avoiding the technical drawback of easily getting trapped in local optima under complex inventory constraints. Combined with the fast addressing capability provided by bidirectional indexing, SA can utilize an adaptive time allocation strategy to perform high-frequency cooling iterations, contributing globally diverse optimal solutions to the subsequent candidate solution pool.
[0081] Simulated Annealing (SA) algorithm has a moderate thread latency.
[0082] For example, optimization algorithms include Tabu Search (TS). Tabu Search (TS) maintains a tabu list to record already searched paths, preventing the search process from getting stuck in loops or backtracking, thereby continuously exploring unknown high-quality paths within the neighborhood. Combining these methods, high-precision local optimization is achieved. In some embodiments of this application, the Tabu Search (TS) algorithm is used to achieve this. Heuristic moves are performed within the neighborhood of the decision variable, and tabu lists are used to avoid repeated searches, achieving efficient traversal of the solution space. When constructing the neighborhood mover, the batch selection constraint matrix in the core data packet is coupled to ensure that all exploration paths are strictly confined within the feasible region boundary of the FIFO constraint. Combined with the fast indexing capability provided by bidirectional indexing, the Tabu Search (TS) algorithm can fine-tune the current allocation relationship, continuously approaching the globally optimal neighborhood through the amnesty criterion. Due to its excellent local refinement capability, the Tabu Search (TS) algorithm can effectively utilize the computational power support provided by the adaptive time allocation strategy, significantly improving the convergence accuracy and inventory structure stability of each scheme in the final initial candidate solution.
[0083] Tabu Search (TS) is fast in a single iteration and has a short thread time per iteration.
[0084] For example, the optimization algorithm includes the Monte Carlo Tree Search (MCTS) algorithm. The Monte Carlo Tree Search (MCTS) algorithm treats outbound allocation as a series of consecutive decision steps, using numerous randomized rollouts to predict the impact of the current warehouse location selection on subsequent inventory balance and long-term picking efficiency. In some embodiments of this application, the Monte Carlo Tree Search (MCTS) algorithm models the outbound allocation process as a sequential decision problem, evaluating the comprehensive performance of different allocation paths through multiple rounds of randomized simulations. During the decision tree expansion phase, the Monte Carlo Tree Search (MCTS) algorithm uses the batch selection constraint matrix in the core data package in real time to pre-prune the search branches, ensuring that all grown decision paths strictly adhere to the FIFO constraint. Utilizing the fast state mapping capability provided by bidirectional indexing, the Monte Carlo Tree Search (MCTS) algorithm performs deep exploration in the solution space using the UCT algorithm and calculates the feedback value of the simulated paths based on a standard dedicated dataset. Through extensive stochastic evolution evaluation, the Monte Carlo Tree Search (MCTS) algorithm can produce initial candidate solutions that have the optimal balance between long-term inventory structure balance and immediate picking efficiency, thus providing input for subsequent repair and screening stages.
[0085] The thread time of the Monte Carlo Tree Search (MCTS) algorithm depends on the number of simulations.
[0086] In some embodiments of this application, seven optimization algorithms are run independently and in parallel to perform heterogeneous optimization.
[0087] In complex industrial-grade algorithm implementations, although multiple constraints, such as FIFO constraints, are embedded in the optimization model, algorithms like Simulated Annealing (SA), NSGA-II multi-objective genetic algorithm, and Ant Colony Optimization (ACO / MMAS) rely on random mutation or state transitions. During large-scale parallel computation, to ensure search speed, crossover or neighborhood operators may generate temporary states. For example, during mutation, to escape local optima, temporary states might be generated. Switching from storage area A to storage area B, if the internal logic happens to be under extremely high concurrency, may not be able to retrieve the corresponding data in real time. This leads to a logic overflow. Furthermore, It is static or quasi-static, but inventory deduction is dynamic, for example, the first... SKU in the warehouse area 100 pieces belong to the earliest batch, that is Of the seven algorithms, one might allocate 80 units to order A and another to order B. Although both algorithms take into account the preset constraints, when generating the initial candidate solution, the total demand of 120 units still exceeds the available quantity of 100 units. At this point, the extra 20 units must be shipped from the newer batch, which contradicts the constraints.
[0088] To address this issue, in some embodiments of this application, the processing module is configured as follows:
[0089] Step S3: Filter the feasible solutions generated by the optimization algorithm, repair the feasible solutions, and obtain the repaired solution set.
[0090] The repair process follows the principle of minimal change, that is, without destroying the advantages of the spatial structure searched by the original algorithm, the following steps are taken to make corrections.
[0091] Step S201: Calculate the sum of the first allocation quantities of the corresponding SKU in all selected warehouse areas in the order; if the sum of the first allocation quantities is less than the actual demand of the order, it is determined that there is an underload gap in the initial candidate solution, and warehouse areas with non-zero values and inventory balance greater than 0 in the batch selection constraint matrix are obtained to establish a backup inventory set; find the warehouse area with the closest physical distance in the backup inventory set, and set the corresponding decision variable to 1 to obtain the feasible solution set of the gap quantity.
[0092] Specifically: Determine whether the condition is met. ; in satisfying At that time, to obtain satisfaction And inventory balance The backup repository set is used to perform a completion operation based on the principle of minimizing spatial distance: ; ;in, Representatives in the reservoir area In the middle, belonging to the first Actual inventory quantity of a specific batch for a given SKU. Calculate the total amount of materials that the currently selected warehouse area can provide, and then determine whether it can meet the order's demand. , To address the shortage, new warehouses will be used to make up the difference, thus completing the order delivery loop.
[0093] Step S202: Calculate the total second allocation quantity of orders for a single SKU in a single warehouse area. If the total second allocation quantity is greater than the actual inventory in the warehouse area, it is determined that there is an over-deduction of inventory in the initial candidate solution. Calculate the excess overflow quantity and redistribute the excess overflow quantity to the available warehouse areas in the backup inventory set according to the preset order priority or the preset random strategy. Set the corresponding decision variable to 1 and obtain the feasible solution set of the over-deduction quantity.
[0094] Specifically: Determine whether the condition is met. , For orders in the warehouse area For the The sum of the second allocation of each SKU For the reservoir area The Middle The actual inventory of each SKU; in order to meet the requirements At that time, calculate the excess overflow amount. ; Overflow amount Assigned to redistribution to meet the requirements And inventory balance The backup library set.
[0095] Step S203: Determine whether there is an initial candidate solution where the decision variable is 1 but the value in the batch selection constraint matrix is 0. If so, transfer the allocation of the invalid storage area to the nearest available storage area in the backup storage set, set the corresponding decision variable to 1, and obtain the FIFO conflict feasible solution set.
[0096] Specifically: Determine whether the condition is met. and ; in satisfying and At that time, the invalid storage area will be... Allocation amount Transfer to meet And the nearest compliant warehouse is: .
[0097] Step S204: Determine whether there is a single SKU whose actual number of warehouse areas exceeds the maximum allowed number of warehouse areas. If so, locate the warehouse area with the smallest allocation and the warehouse area with the largest allocation among all the corresponding allocated warehouse areas. Perform a feasibility check on the warehouse area with the largest allocation. If the check is successful, transfer the allocation from the warehouse area with the smallest actual allocation to the warehouse area with the largest allocation, set the corresponding decision variable to 1, and obtain the feasible solution set for merging warehouse areas.
[0098] Specifically:
[0099] For each SKU (in order of importance) (Taking one SKU as an example) Calculate the actual number of warehouse areas used. ;
[0100]
[0101] if Then obtain the storage area with the smallest location allocation amount. and the storage area with the largest location allocation ;
[0102] For the storage area with the largest allocation Perform a feasibility check for merging and determine the largest storage area. Does it meet the following conditions:
[0103] ,Right now The remaining inventory can accommodate The allocation amount.
[0104] .
[0105] Repeat this process until... .
[0106] For heterogeneous feasible solutions generated in parallel by multiple algorithms, a unified repair mechanism is introduced. Without changing the core search preferences of the optimization algorithms, a four-level priority repair operator is used to forcibly map intermediate solutions that do not meet the constraints to the feasible solution space under the condition of satisfying the batch selection constraint matrix. This realizes a closed-loop process of first generating diversified solutions and then repairing them into standard solutions, thereby ensuring the solution space coverage in complex inventory environments.
[0107] Step S205: Merge one or more of the following sets: the feasible solution set for the gap, the feasible solution set for the over-deduction, the feasible solution set for the FIFO conflict, and the feasible solution set for the merged storage area, to obtain the repair solution set.
[0108] Step S4: Use the repaired solution set and the initial candidate solution set to build the full solution set.
[0109] The full set of solutions constitutes a pool of full candidate solutions, which includes all the initial candidate solutions generated by the seven algorithms and the repaired solution set obtained after repair.
[0110] Both the directly generated solutions and the solutions obtained through repair are uniformly standardized as follows:
[0111]
[0112] In some embodiments of this application, the full solution set also includes the solution source algorithm and a label indicating whether it has been repaired.
[0113] Duplicates are eliminated by hash signatures, and a unique full solution pool, or full solution set, is output.
[0114] Step S5: Calculate the number of pickup points and SKU dispersion corresponding to the solutions in the full solution set, perform linear weighting, and calculate the overall performance score.
[0115] Specifically, for the complete solution set Each solution in Calculate the number of pickup points .
[0116] Number of pick-up points For each reservoir area Find out if any SKUs from any orders have been assigned to this warehouse area; if so, then... If all ,but ; This refers to the total number of warehouse areas in use, which is also the number of pickup points.
[0117] Calculate SKU dispersion .
[0118] Specifically, firstly, the decision variables Along the order The dimensions are summed and mapped to identify each SKU in each warehouse area. The distribution status was determined, and then non-zero allocation sites were extracted using a sign function. The total number of warehouse areas involved for a single SKU was then calculated. Finally, a weighted average was applied to the total number of SKUs awaiting picking, and the average dispersion index, which reflects the overall compactness of the inventory, was output as the SKU dispersion index. .
[0119] Number of pick-up points and SKU dispersion After normalization, the number of pickup points and the SKU dispersion after normalization are denoted as follows: and .
[0120] Perform a weighted score calculation to obtain the overall performance score, which is expressed as follows: .
[0121] Step S6: Perform Pareto non-dominated sorting and retain the non-dominated solution set as the preferred solution.
[0122] For each solution The number of corresponding pickup points and the SKU fragmentation are both better the lower they are.
[0123] The definition of dominance is further explained below. For solutions A and B, if solution A is no worse than solution B across all objectives, and solution A is strictly superior to solution B across at least one objective, then solution A is said to dominate solution B. For example, if the number of pickup points and SKU dispersion of solution A are both less than or equal to the number of pickup points and SKU dispersion of solution B, and simultaneously the number of pickup points of solution A is less than the number of pickup points of solution B, or the SKU dispersion of solution A is less than the SKU dispersion of solution B, then solution A dominates solution B. If no other solution in the solution pool can dominate solution A, then solution A is a non-dominated solution. The set of all non-dominated solutions in the solution pool represents the optimal trade-off boundary of the current solution pool across all objective dimensions, i.e., the Pareto front.
[0124] The processing module performs the following iterative sorting operation on the full solution set to perform a Pareto non-dominated sort:
[0125] Step S301: Traverse all feasible solutions in the full solution set, obtain all solutions that are not dominated by any other solution, and mark them as the first non-dominated solution set.
[0126] The first non-dominated solution set is the best performing solution among all feasible solutions.
[0127] Step S302: Remove the first non-dominated solution set from the full solution set, and then obtain all solutions that are not dominated by any other solution from the remaining solutions and mark them as the second non-dominated solution set.
[0128] Step S303: Repeat the above process until all solutions are assigned to the corresponding levels; output the first non-dominated solution set as the preferred solution.
[0129] If the number of solutions in the first non-dominated solution set exceeds a preset threshold, the most uniform solution in the target space distribution can be retained by the crowding comparison operator to maintain diversity.
[0130] Pareto nondominated sort can be performed using the fast nondominated sort algorithm in NSGA-II.
[0131] Linear weighted scoring, meaning the overall performance score depends on the set weight coefficients. and If the weights are not set properly, high-quality solutions may be missed. The non-dominated solution set typically contains optimal solutions with different characteristics. For example, a very small number of pickup points but slightly scattered SKUs can meet the requirements of extreme picking speed, or a very uniform SKU set but slightly more pickup points is suitable for maintaining long-term inventory cleanliness. The two solutions do not dominate each other and can be retained simultaneously, allowing for flexible selection based on real-time business pressure. The dominated solution is logically redundant because a solution that is superior in all aspects also exists; therefore, the dominated solution should not be pushed to the business layer.
[0132] After completing the comprehensive performance evaluation, this application performs Pareto non-dominated sorting to select the optimal solution. It also performs a two-dimensional topological comparison of the number of pickup points and SKU dispersion to identify the non-dominated solution set that is not dominated by any other feasible solution. This eliminates the limitations of setting weights on the search for the optimal solution, ensuring that the optimal solution is at the optimal boundary in the multi-objective game and providing high robustness under different business loads.
[0133] Because parallel algorithms prioritize speed and diversity, the local details of the optimal solution can still be further optimized.
[0134] Step S7: Execute the tabu search algorithm in the neighborhood of the preferred solution, and perform fragment cross-validation on multiple preferred solutions to generate heterogeneous candidate solutions. Force the heterogeneous candidate solutions to undergo discontinuous jumps through random perturbation until the global total time limit is reached. Output the optimal solution that satisfies the preset constraints and has the best comprehensive score, and generate inventory allocation instructions based on the optimal solution.
[0135] Specifically, based on the optimal solution, the storage area is adjusted in the neighborhood space using the tabu search algorithm, and the genetic algorithm and random perturbation are used to escape the local optimum and output the inventory allocation instruction.
[0136] The processing module is configured to perform the following steps:
[0137] Step S401: Using the optimal solution as the seed, perform tabu search and iterate over the seed until the local area can no longer be improved.
[0138] For example, the preferred solution ( The data is converted into chromosome codes, and each coding site records the corresponding decision variables. An elite population is established using the optimal solution as the seed solution. , which serves as the initial seed pool, and the initial seed pool is the initial input for subsequent iterations.
[0139] Using reservoir area swapping as the neighborhood movement operator: Specifically, two reservoir locations are randomly selected. and They exchange the number of SKUs they have been allocated.
[0140] Use a taboo list to record moved orders SKU and the reservoir area Triplet;
[0141] Set the maximum number of steps without improvement : Determine if consecutive If the objective function for the overall performance score does not decrease in the next neighborhood move, it is determined that the local performance cannot be improved.
[0142] Step S402: Perform crossover on the multiple preferred solutions after tabu search processing and output a new seed.
[0143] Specifically, a roulette wheel or tournament algorithm can be used to select a parent from multiple optimal solutions after tabu search. A split point is randomly selected, and the allocation scheme of the first half of one parent is spliced with the scheme of the second half of another parent to generate two new offspring solutions as new seed outputs.
[0144] Step S403: If the quality of the set consecutive generations of seeds does not improve, a random perturbation is triggered, and the new seed undergoes a non-continuous change through random reset.
[0145] Specifically, a maximum number of algebras without improvement is set: if the objective function of the comprehensive performance score corresponding to consecutive algebras does not decrease, it is determined that the seed quality of consecutive algebras has not improved, and a random perturbation is triggered.
[0146] Specifically, 10%-20% will be randomly reset. After resetting Constraint verification is performed. For example, for newly generated solutions, FIFO verification and dynamic margin reduction verification are performed.
[0147] Specifically, the newly generated solution satisfies Furthermore, if the conditions for excess inventory deduction are met, excess inventory deduction correction will be performed.
[0148] That is, by making non-logical structural changes, the search point is forced to move to other optimal regions of the solution space, thus avoiding the limitations of tabu search.
[0149] Step S404: Upon reaching the global time limit Then, the loop stops, and the solution with the lowest overall performance score is extracted as the optimal solution that satisfies the preset constraints and has the best overall performance score. Inventory allocation instructions are then generated based on the optimal solution.
[0150] In some embodiments of this application, for example, a pre-configured timer is used to preset the total global time limit based on the size of the current pending orders. Assign initial sub-time limits to multiple parallel optimization algorithms. If one or more of the optimization algorithms are in the initial sub-time limit If a thread terminates earlier, the time reclamation operator is triggered to reclaim the remaining time. The remaining time is dynamically allocated to other parallel optimization algorithms (such as the NSGA-II multi-objective genetic algorithm) to extend the search steps and obtain higher quality initial candidate solutions.
[0151] Parallel computing scheduling mechanisms based on adaptive time allocation define a global total time limit. While ensuring real-time response capabilities, dynamic computational power balancing among heterogeneous parallel optimization algorithms was achieved. During actual execution, the running status of each optimization algorithm's sub-threads was monitored: if a fast-converging optimization algorithm completed its task ahead of schedule, its remaining time slice was real-time compensated to more complex optimization algorithms to support deeper neighborhood exploration. Furthermore, a global total time limit was used... A circuit breaker strategy is configured to force the output of the optimal solution under the current state when the total preset time limit is reached. This effectively avoids system response delays caused by computing resource overload in large-scale wave scenarios and ensures the high robustness of complex optimization models in real business environments.
[0152] In some embodiments of this application, the processing module is also configured to perform the following steps:
[0153] When constructing the core data package, a standard benchmark is established, which includes order requirements. and inventory status .
[0154] When constructing an optimization model and using optimization algorithms to generate initial candidate solutions, one of the initial candidate solutions generated by the algorithm is selected as the benchmark comparison solution.
[0155] The initial number of pickup points and the initial SKU dispersion are calculated based on the benchmark comparison solution.
[0156] Based on the solution that achieves the lowest overall performance score by reaching the global total time limit, optimize the number of pickup points and optimize SKU fragmentation.
[0157] Calculate the percentage increase in the number of optimized pickup points relative to the initial number of pickup points.
[0158] Calculate the percentage improvement in SKU dispersion compared to the initial SKU dispersion.
[0159] The processing module communicates with the warehouse's mobile picking terminals (such as display terminals on PDAs or AGVs), and outputs an outbound allocation table, a remaining inventory table, a pickup point quantity increase ratio, and a scattered inventory increase ratio through an interactive interface; among which, the outbound allocation table... The corresponding specific picking instructions specify which order, which SKU, and how much to ship from which warehouse area. The remaining inventory table shows the warehouse's inventory allocation status after the implementation of the plan, allowing manual verification of whether the integrity of the core warehouse area has been preserved. Furthermore, the mobile picking terminal can output radar charts or score distributions, demonstrating the plan's balanced performance in terms of efficiency, cost, and stability.
[0160] It should be noted that all data involved in this application was obtained through authorization or legal means.
[0161] The terms such as features, components, vectors, dimensions, and matrices used in this application are essentially used to digitally model and represent multimodal data at different mathematical spaces and logical levels. These terms have well-known mathematical mapping relationships in the fields of data science and artificial intelligence. Depending on the complexity of the processing scenario, these terms can be used interchangeably or interchangeably without affecting the substantive implementation of the technical solution.
[0162] In this application, fusion or fusion computation refers to the process of comprehensively processing feature data from different modalities and dimensions to generate higher-order features. Depending on the actual algorithm requirements, those skilled in the art can employ various well-known fusion algorithms, including but not limited to concatenation, weighted summation, and nonlinear mapping. The result of fusion computation depends on the input requirements of the subsequent model and can be expressed in different forms such as feature vectors or feature matrices.
[0163] The DBSCAN+greedy allocation algorithm, improved K-means clustering algorithm, ant colony optimization algorithm, NSGA-II multi-objective genetic algorithm, simulated annealing algorithm, tabu search algorithm, Monte Carlo tree search algorithm, fast non-dominated sorting algorithm in NSGA-II, and roulette or tournament algorithms in this application are all mature and well-known technologies in the fields of computer science and artificial intelligence. The mathematical definitions, network topology structures, and training optimization algorithms of the above algorithms have been fully disclosed in existing open-source algorithm libraries and publicly available academic literature. The steps omitted in this paper do not affect the substantive implementation of the technical solution.
[0164] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions claimed by the present invention.
Claims
1. An intelligent order picking method, executed by a processing module, characterized in that, The processing module is configured to perform the following steps: The original warehouse data and order data are preprocessed to construct a core data package, which includes: a batch selection constraint matrix for constraining the first-in-first-out rule, a bidirectional index for recording the mapping relationship between warehouse area identifiers and material unique identifiers, a candidate warehouse area set for limiting the decision space, and a standard dedicated dataset containing order requirements. An optimization model is constructed, and multiple optimization algorithms are used to generate initial candidate solutions in parallel based on the core data package. The decision variables of the optimization model include the warehouse area selected by the SKU in the order. Filter feasible solutions generated by the optimization algorithm, repair the feasible solutions, and obtain the repaired solution set; The complete solution set is constructed using the repaired solution set and the initial candidate solution set; Calculate the number of pickup points and SKU fragmentation corresponding to the solutions in the full solution set, and calculate the overall performance score using linear weighting. Perform Pareto nondominated sorting and retain the nondominated solution set as the preferred solution; A tabu search algorithm is executed in the neighborhood of the preferred solution to perform fragment cross-validation on multiple preferred solutions, generating heterogeneous candidate solutions. Random perturbation is used to cause discontinuous jumps in the heterogeneous candidate solutions until a preset global time limit is reached. The optimal solution that satisfies the preset constraints and has the best comprehensive performance score is output, and an inventory allocation instruction is generated based on the optimal solution.
2. The intelligent order picking method according to claim 1, characterized in that: The processing module is configured to perform the following steps to obtain the batch selection constraint matrix: Read the material number and the batch number of the goods received. The material number is a unique identifier for the material, and the batch number of the goods received is a unique identifier for the same batch of materials. Concatenate the material number and the inbound batch number into a string to generate a globally unique material number-inbound batch number, thus obtaining a unique material identifier. Construct a hash table to store the mapping from the unique identifier of a material to its entry date; For each material number, extract the associated unique material identifier, sort it in ascending order according to the entry date in the hash table, and output a list of unique material identifiers for each material, where the entry time is arranged from earliest to latest. Construct a two-dimensional matrix with unique material identifiers as rows and warehouse area numbers as columns; Iterate through the material unique identifier list for each material. For each material unique identifier, determine the storage area where the material unique identifier is located, assign values to the two-dimensional matrix, and obtain the batch selection constraint matrix.
3. The intelligent order picking method according to claim 2, characterized in that: Based on the material unique identifier table and the associated warehouse area code, a two-way index is constructed to record the warehouse area identifier and the material unique identifier, including the material-warehouse area index and the warehouse area-material index. In the material-warehouse area index, the candidate warehouse area set of its distribution can be queried by the material unique identifier. In the warehouse area-material index, the stored material unique identifier and the corresponding entry date can be queried by the warehouse area number.
4. The intelligent order picking method according to claim 3, characterized in that: The optimization algorithms include: clustering algorithms, metaheuristic algorithms, swarm intelligence algorithms, multi-objective optimization algorithms, and number search algorithms.
5. The intelligent order picking method according to claim 4, characterized in that: The optimization algorithms include: DBSCAN+greedy assignment algorithm, improved K-means clustering algorithm, ant colony optimization algorithm, NSGA-II multi-objective genetic algorithm, simulated annealing algorithm, tabu search algorithm, and Monte Carlo tree search algorithm.
6. The intelligent order picking method according to claim 5, characterized in that: When filtering feasible solutions generated by the optimization algorithm, repairing feasible solutions, and obtaining the repaired solution set, the processing module is configured to perform the following steps: The first allocation quantity of a single SKU in an order is the sum of the first allocation quantities in all selected warehouse areas. If the sum of the first allocation quantities is less than the actual demand of the order, it is determined that there is an underload gap in the initial candidate solution. Warehouse areas with non-zero values and inventory balances greater than 0 in the batch selection constraint matrix are obtained to establish a backup inventory set. The warehouse area with the closest physical distance is found in the backup inventory set, and the corresponding decision variable is set to 1 to obtain the feasible solution set of the gap quantity. Calculate the total second allocation quantity of each order to a single SKU within a single warehouse area; If the total amount of the second allocation is greater than the actual inventory in the warehouse area, it is determined that there is an over-deduction of inventory in the initial candidate solution. The excess amount is calculated, and the excess amount is redistributed to the available warehouse areas in the backup inventory set according to the preset order priority or the preset random strategy. The corresponding decision variable is set to 1, and the feasible solution set of the over-deduction amount is obtained. Determine whether there exists an initial candidate solution where the decision variable is 1 but the value in the batch selection constraint matrix is 0; If so, the allocation of the invalid storage area is transferred to the nearest available storage area in the backup storage set, and the corresponding decision variable is set to 1 to obtain the FIFO conflict feasible solution set; Determine if there is a single SKU whose actual number of warehouse areas exceeds the maximum allowed number of warehouse areas; if so, locate the warehouse area with the smallest allocation and the warehouse area with the largest allocation among all the corresponding allocated warehouse areas, perform a feasibility check on the warehouse area with the largest allocation, and if the check is successful, transfer the allocation from the warehouse area with the smallest actual allocation to the warehouse area with the largest allocation, set the corresponding decision variable to 1, and obtain the feasible solution set for merging warehouse areas; The repair solution set is obtained by merging one or more of the following sets: the feasible solution set for gap quantity, the feasible solution set for over-deduction quantity, the feasible solution set for FIFO conflict, and the feasible solution set for merging the reservoir area.
7. The intelligent order picking method according to claim 6, characterized in that: The processing module performs the following iterative sorting operation on the full solution set to perform a Pareto non-dominated sort: Traverse all feasible solutions in the full solution set, obtain all solutions that are not dominated by any other solution, and mark them as the first non-dominated solution set; Remove the first non-dominated solution set from the full solution set, and then obtain all solutions that are not dominated by any other solution from the remaining solutions, marking them as the second non-dominated solution set; Repeat the above process until all solutions are assigned to the corresponding levels; output the first non-dominated solution set as the preferred solution.
8. The intelligent order picking method according to claim 7, characterized in that: When outputting the optimal solution and generating inventory allocation instructions based on the optimal solution, the processing module is configured to perform the following steps: Using the optimal solution as a seed, perform tabu search, iterating over the seed until the local solution can no longer be improved; Perform crossover on multiple optimal solutions after tabu search processing, and output a new seed; If the quality of the set consecutive generations of seeds does not improve, a random perturbation is triggered, which causes the new seed to undergo a non-continuous change through random reset; After the preset global time limit is reached, the loop stops, and the solution with the lowest comprehensive performance score is extracted as the optimal solution that satisfies the preset constraints and has the best comprehensive performance score. Inventory allocation instructions are generated based on the optimal solution.
9. The intelligent order picking method according to claim 8, characterized in that: The processing module is configured to allocate initial sub-time limits to multiple parallel optimization algorithms when the preset global total time limit is reached; if one or more of the optimization algorithms terminate their threads before the initial sub-time limit, the time reclamation operator is triggered to reclaim the remaining time; and the reclaimed remaining time is dynamically allocated to other parallel optimization algorithms.
10. The intelligent order picking method according to claim 9, characterized in that: The processing module is configured as follows: When constructing the core data package, a standard comparison benchmark is established, which includes order demand and inventory status. When constructing an optimization model and using optimization algorithms to generate initial candidate solutions, one of the initial candidate solutions generated by the algorithm is selected as the benchmark comparison solution. The initial number of pickup points and the initial SKU dispersion are calculated based on the benchmark comparison solution; Based on the solution that achieves the lowest overall performance score by reaching the global total time limit, we generate an optimized number of pickup points and an optimized SKU fragmentation. Calculate the percentage increase in the number of optimized pickup points relative to the initial number of pickup points; Calculate the percentage improvement in SKU dispersion compared to the initial SKU dispersion.