Multi-task scheduling method for three-dimensional warehouse stacker based on improved NSGA-Ⅱ algorithm

CN116957249BActive Publication Date: 2026-09-29SOUTHWEST JIAOTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310856065.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-12
Publication Date
2026-09-29
Estimated Expiration
2043-07-12

AI Technical Summary

Technical Problem

[0005]在堆垛机调度优化方面,一方面大多数学者都是研究其拣选路径规划,对于仓库内堆垛机出入库调度问题通常研究手段单一,堆垛机的单一作业模式和复合作业模式没有形成较好的结合

Benefits of technology

[0091]本发明针对堆垛机多任务调度中货物的出入库优先级问题,通过将不同货物的优先级进行分类,建立其惩罚函数模型,并通过分析堆垛机在单一作业和复合作业模式下的作业情况,建立以堆垛机作业时间和作业距离最小化为目标的多目标优化模型。针对此模型,设计了一种改进的NSGA-Ⅱ算法,并通过专家打分以及熵值法确定其主观权重和客观权重,最后基于博弈论思想确定其综合权重,通过对Pareto解集的分析比较,最终得到了堆垛机最佳调度方案。通过比较在不同出入库订单规模下改进前后算法的寻优能力,实验结果表明,改进后的算法相对于改进前的算法在各个方面都表现出明显的优势。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116957249B_ABST
    Figure CN116957249B_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on improved NSGA-Ⅱ algorithm's stereoscopic warehousing stacker multitask scheduling method, specifically is: goods is classified according to different priority, by calculating in single operation and complex operation mode operation time and operation distance, establish with warehouse entry and exit penalty value, operation time, operation distance as target multi-objective optimization model;Based on improved NSGA-Ⅱ algorithm to solve multi-objective optimization model;Combination expert scoring method and entropy method determine its subjective weight and objective weight, finally based on game theory combination weighting method obtains its comprehensive weight, by analyzing Pareto optimal solution set obtains best scheduling scheme.The application can obtain the best scheduling scheme of stacker, compared with the algorithm before improvement, under different warehouse entry and exit order scale, each aspect shows obvious advantage.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention pertains to multi-task scheduling technology for stacker cranes in automated warehouses, and particularly relates to a multi-task scheduling method for stacker cranes in automated warehouses based on an improved NSGA-II algorithm. Background Technology

[0002] For automated warehouses with high delivery time requirements, such as pharmaceutical warehouses, medicines must be delivered to designated locations within a certain timeframe to prevent spoilage. Therefore, to ensure timely and accurate delivery, the operational sequence of stacker cranes within the warehouse must be rationally arranged to reduce logistics costs and ensure system operation. During automated warehouse operations, multiple inbound and outbound tasks of varying urgency often arrive simultaneously. Typically, the more urgent tasks need to be prioritized for inbound or outbound processing. Furthermore, stacker cranes operate in composite modes, where their efficiency is higher per unit time. Therefore, rationally arranging the inbound and outbound sequences of stacker cranes in composite operation modes is crucial for improving system efficiency, reducing idle times for stacker cranes, and lowering system operating costs.

[0003] Extensive research has been conducted by scholars both domestically and internationally on the stacker crane scheduling problem. Scholz et al. argued that classifying the automated warehouse picking path planning problem as a Traveling Salesman Problem (TSP) is unreasonable because it ignores the fact that pickers can only move within specific aisles. Therefore, they proposed a new mathematical modeling method, and through comparative analysis of numerical experiments, verified the effectiveness and efficiency of the proposed model. Ardjmand et al. established an automated warehouse scheduling model with minimizing completion time as the objective function. Addressing the long computation time issues of existing warehouse algorithms such as the MMI algorithm, they proposed two algorithms for solving the model: one based on Lagrange decomposition heuristic and particle swarm optimization (LD-PSO), and the other based on hybrid parallel simulated annealing and ant colony optimization (PSA-ACO). Experimental results show that the LD-PSO method is superior in solving small-scale automated warehouse scheduling problems, while PSA-ACO is more effective for large-scale automated warehouse scheduling problems. Wang et al. established a mathematical model for the partitioned warehouse scheduling problem, with the shortest AGV (Automated Guided Vehicle) travel path as the objective function. They designed a reinforcement learning algorithm embedding mechanism PRL (Package Research Laboratory) with placeholder control. Experimental results show that the algorithm is superior to other heuristic algorithms in terms of solution accuracy and speed, and can almost achieve real-time solution.

[0004] In China, scholars have also conducted extensive research on stacker crane scheduling problems. Liu Jiansheng et al., using a herringbone-patterned automated warehouse as an example, constructed an optimization model with the shortest picking distance as the objective function. They designed an improved multi-population genetic algorithm for this model, and experimental results showed that this algorithm had better optimization results and capabilities compared to the standard genetic algorithm and the S-Shape algorithm. Bao Shanshan et al. analyzed the actual inbound and outbound situation of tobacco pallets in an automated warehouse of a tobacco company, proposing a picking path optimization problem considering the stacker crane's composite operation under the condition of half-pallet outbound. They established a mathematical optimization model to minimize the completion time for this problem and designed a discrete fireworks algorithm to efficiently solve the model. Yang Xiaoming et al. applied a composite picking strategy to the research on picking path optimization in automated warehouses. Considering different levels of urgency of goods, they established a model of the outbound penalty value function by classifying goods according to different levels of urgency. By analyzing the stacker crane's operation in the composite operation mode, they established an objective function model of its energy consumption cost and operation time in the composite operation mode, and achieved an efficient solution to the problem using an improved NSGA-II algorithm.

[0005] In terms of stacker crane scheduling optimization, on the one hand, most scholars focus on picking path planning, and their research methods for stacker crane inbound and outbound scheduling within warehouses are usually limited, failing to adequately integrate single and multi-mode operation of stacker cranes. On the other hand, most scholars classify all inbound and outbound task orders with the same priority, without considering the urgency of different goods, which leads to goods requiring priority in outbound or inbound operations not being completed in a timely manner. Summary of the Invention

[0006] To address the aforementioned problems, this invention provides a multi-task scheduling method for stacker cranes in automated warehouses based on an improved NSGA-II algorithm.

[0007] The present invention provides a multi-task scheduling method for stacker cranes in automated warehouses based on an improved NSGA-II algorithm, which specifically includes:

[0008] Step 1: Establish a multi-objective optimization model that considers different order priorities.

[0009] Goods are classified according to different priorities. By calculating the operation time and operation distance under single operation and compound operation modes, a multi-objective optimization model is established with inbound and outbound penalty values, operation time, and operation distance as objectives.

[0010] Objective function:

[0011] The optimization objective function is to minimize the distance traveled by the stacker crane to complete the total task, the minimum task completion time, and the minimum total penalty value.

[0012] For a single-operation mode, the time T required for the stacker crane to complete one single operation is... i for:

[0013]

[0014] In the formula, △t1 represents the time taken for the stacker crane to load goods, △t2 represents the total time taken for the stacker crane to unload goods, and L y Indicates the length of the shelf compartment, L z Indicates the height of the shelf unit, y i z represents the shelf column where the i-th task's goods are located. i V represents the shelf level where the i-th task's goods are located. y V represents the horizontal movement speed of the stacker crane. z This indicates the vertical movement speed of the stacker crane.

[0015] The distance S traveled by the stacker crane to complete a single operation i for:

[0016] S i =2(L y ·y i +L z ·z i (2)

[0017] For combined operation methods, the time T taken by the stacker crane to complete one combined operation is... ij for:

[0018]

[0019] In the formula, y j z represents the shelf column where the j-th task's goods are located. j This indicates the shelf level where the j-th task's goods are located.

[0020] The distance S traveled by the stacker crane to complete one complex operation ij for:

[0021] S ij =L y ·y i +L z ·z i +L y ·y j +L z ·z j +L y ·|y i -y j |+L z ·|z i -z j | (4)

[0022] Assuming there are Q1 single operations and Q2 combined operations in a batch of inbound / outbound operations, the total time and total distance traveled by the stacker crane to complete a batch of inbound / outbound orders are:

[0023]

[0024]

[0025] In the formula, C ij This indicates whether the stacker crane has completed the j-th task after completing the i-th task; if yes, it is 1, otherwise it is 0.

[0026] In the inbound / outbound tasks, the urgency level of goods is divided into four categories: A, B, C, and D. Category A represents moderate urgency, Category B represents urgent urgency, Category C represents very urgent urgency, and Category D represents extremely urgent urgency. Correspondingly, different inbound / outbound penalty values ​​ω are assigned to goods in categories A, B, C, and D. i If goods with lower urgency are shipped out / inbound before goods with higher urgency, then it is necessary to adjust the order according to ω. i The absolute value is used for penalty. Therefore, the overall penalty value function is established as follows:

[0027]

[0028] In the formula, P ij This indicates determining the inbound and outbound priorities of tasks i and j. If ω i >ω j Then p ij It is 1 if it is not 1, otherwise it is 0.

[0029] Formulas (5), (6), and (7) are multi-objective optimization functions.

[0030] Constraints:

[0031] Q1 + Q2 = N (8)

[0032]

[0033]

[0034]

[0035]

[0036] Where: Equation (8) represents the total number of outbound / inbound items completed in a batch of orders, including single and compound operations, as N; Equations (9) to (10) represent that each storage location can only be visited once under compound operations; Equation (11) is the value of the decision variable, used to determine whether to proceed to point j after completing the inbound task at point i under compound operations. If yes, the value is 1, otherwise the value is 0; Equation (12) is used to determine the urgency of storage location i and storage location j in the outbound / inbound task. If ω i >ω j Then P ij It is 1 if it is not 1, otherwise it is 0.

[0037] Step 2: Solve the multi-objective optimization model based on the improved NSGA-II algorithm.

[0038] (1) Encoding: Decimal encoding is used in the encoding. The gene sequence represents the operation sequence of the stacker crane. The first gene in the chromosome is "2", which means that the stacker crane's starting operation is the second task point's goods entry / exit. The second gene position is "4", which means that the stacker crane's second operation is the fourth task point's goods entry / exit. If the first task point's operation is inbound and the second task point's operation is outbound, the stacker crane will perform a compound operation. Otherwise, it will perform a single operation. This process continues until all tasks are completed.

[0039] (2) Initializing the population: On the one hand, the random generation strategy is retained in the initial population generation strategy, and on the other hand, a greedy strategy based on three target components is adopted.

[0040] (3) Quick Non-Dominated Sort, the specific steps are as follows:

[0041] Step 1: Calculate the three objective function values ​​for each individual in Pt.

[0042] Step 2: Initialize the domination set and number of times each individual in the population is dominated, i.e., Pt.domination = []; Pt.dominated = 0.

[0043] Step 3: Let i = 1.

[0044] Step 4: Compare the domination and subordination relationships of the i-th individual with other individuals. If the i-th individual dominates the j-th individual, then add the j-th individual to the domination set of the i-th individual, i.e., Pt(i).domination = [Pt(i).domination j]. Otherwise, if the j-th individual dominates the i-th individual, then increment the subordination count of the i-th individual by 1, i.e., Pt(i).dominated = Pt(i).dominated + 1.

[0045] Step 5: Let i = i + 1, and determine whether i is equal to the population size. If yes, go to Step 6; otherwise, go to Step 4.

[0046] Step 6: Save all individuals in the population that have been dominated 0 times to set F1. These individuals represent the first level.

[0047] Step 7: Iterate through all individuals in set F1, and decrement the number of individuals dominated by each individual by 1. Find the individuals dominated by F1 whose number of dominations is 0 after modification, and save these individuals to set F2. Individuals in F2 represent the second level.

[0048] Step 8: Using set F2 as the current set, repeat Step 7 until all individuals in the population have been completely classified.

[0049] (4) Crowding degree calculation: The crowding degree of individual i is understood as the maximum cuboid length that individual i-1 and individual i+1 can contain. The greater the distance between individual i-1 and individual i+1, the greater the crowding degree of individual i, indicating that the difference between individual i and its neighboring individuals is large.

[0050] The steps for calculating congestion are as follows:

[0051] 1) Initialize the crowding distance of all individuals in the population, i.e., Pt.I(d i ) = 0.

[0052] 2) Sort the individuals in the population in ascending order based on the value of each objective function.

[0053] 3) Since each of the two end individuals has only one adjacent individual, the crowding degree of the boundary individuals is taken as infinite, i.e., I(d1) = I(d2). n ) = ∞.

[0054] 4) The crowding degree of the remaining individuals in the middle is calculated as follows:

[0055]

[0056] In the formula: I(d) k ) represents the crowding degree of the k-th individual, I m (k+1) represents the m-th objective function value after non-dominated sorting of the (k+1)-th individual; I m (k-1) represents the m-th objective function value after the (k-1)-th individual is sorted without dominance; These are the maximum and minimum values ​​of the m-th objective function, respectively.

[0057] Through fast non-dominated sorting and crowding degree calculation, the non-dominated rank Pt(i).rank and crowding degree Pt(i).I(d of each individual can be obtained i ); the advantage and disadvantage relationship between individuals is determined according to these two parameters, which is specifically as follows:

[0058] Step 1: Determine the non-dominated rank between individual i and individual j. If Pt(i).rank<Pt(j).rank, individual i is superior to individual j.

[0059] Step 2: If two individuals are in the same non-dominated layer, that is, Pt(i).rank=Pt(j).rank, compare the crowding degree of individual i and individual j. If Pt(i).I(d i )>Pt(j).I(d j ), then individual i is superior to individual j.

[0060] (5) Crossover: A partial mapping crossover strategy is adopted, and the specific crossover process is as follows:

[0061] ① Firstly, determine the parent individuals to be crossed, generate two random integers c1 and c2 within the interval to determine the crossover positions, and crossover the intermediate data between the two positions.

[0062] ② After crossover, there are repeated numbers in the same individual. Keep the numbers in the crossover interval, delete the same numbers outside the crossover interval, and then eliminate repetition by the partial mapping method to obtain a legal chromosome.

[0063] (6) Mutation: Two-point swap mutation is adopted, that is, two position integers c1 and c2 are randomly generated within the interval, and the elements at positions c1 and c2 are swapped.

[0064] (7) Elite selection strategy: Merge the parent population P t and the offspring population Q t to obtain a temporary population R with a population size of 2N t , and perform fast non-dominated sorting and crowding degree calculation on the temporary population R t , select the first N excellent individuals from R t to enter the next generation population P t+1 .

[0065] (8) Update the number of iterations, determine whether the algorithm termination condition is satisfied. If the condition is satisfied, terminate the loop and output the Pareto solution set; otherwise, go to step (3).

[0066] Step 3: Determine the subjective weight and objective weight by combining the expert scoring method and the entropy method, finally obtain the comprehensive weight based on the game theory combined weighting method, and obtain the optimal scheduling scheme by analyzing the Pareto optimal solution set.

[0067] Step 3 specifically involves:

[0068] 1) Calculate the subjective weights A(u1,u2,u3) of its three indicators using expert scoring:

[0069]

[0070] In the formula: a ij Let be the score given by the i-th expert for the j-th target indicator. There are a total of g experts.

[0071] 2) Assuming the Pareto optimal solution set has m solutions and n evaluation metrics, the objective function value of the optimal solution set is used as the evaluation metric, resulting in the metric matrix S:

[0072] S=(s ij ) m×n i=1,2,...,m; j=1,2,...,n (15)

[0073] 3) Standardize each element of the indicator matrix:

[0074]

[0075] In the formula: s max The maximum element in each column.

[0076] 4) Calculate the weight of the i-th function value under the j-th index to obtain the weight matrix C:

[0077]

[0078]

[0079] 5) Calculate the information entropy e of the j-th indicator. j :

[0080]

[0081] 6) Calculate the information redundancy d j :

[0082] d j =1-e j (1≤j≤n) (20)

[0083] 7) Calculate the weight w of each indicator. j :

[0084]

[0085] Therefore, the objective weight of each indicator is W = {w1, w2, w3, ..., w n}

[0086] 8) Based on game theory, the linear combination coefficients are used to minimize the deviation between the comprehensive weight and the subjective and objective weights, thus determining the comprehensive weight a = {α1, α2, ..., α}. n}

[0087] α n =ω1·u n +ω2·w n (twenty two)

[0088] In the formula, ω n n = 1, 2 are the coefficients of the linear combination, corresponding to the solution of the following system of equations:

[0089]

[0090] The beneficial technical effects of this invention are as follows:

[0091] This invention addresses the issue of cargo inbound / outbound priority in multi-task scheduling of stacker cranes. It classifies different cargo priorities and establishes a penalty function model. By analyzing the stacker crane's operation under single and combined operation modes, a multi-objective optimization model is established, aiming to minimize the stacker crane's operation time and distance. For this model, an improved NSGA-II algorithm is designed. Subjective and objective weights are determined through expert scoring and entropy methods. Finally, a comprehensive weight is determined based on game theory. Through analysis and comparison of Pareto solution sets, the optimal stacker crane scheduling scheme is obtained. By comparing the optimization capabilities of the algorithm before and after the improvement under different inbound / outbound order sizes, experimental results show that the improved algorithm exhibits significant advantages over the original algorithm in all aspects. Attached Figure Description

[0092] Figure 1 This is a schematic diagram of a stacker crane operating in a single mode.

[0093] Figure 2 This is a schematic diagram of a stacker crane's combined operation mode.

[0094] Figure 3 This is a diagram illustrating multi-task scheduling.

[0095] Figure 4 The flowchart of the present invention is for solving multi-objective optimization models based on the improved NSGA-II algorithm.

[0096] Figure 5 Pseudocode for generating the initial population strategy.

[0097] Figure 6 This is a diagram illustrating the distance to congestion levels.

[0098] Figure 7A diagram illustrating the strategy for selecting elites for NSGA-II.

[0099] Figure 8 This is the Pareto optimal solution set for the example. Detailed Implementation

[0100] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.

[0101] In automated warehouses, stacker cranes operate in different modes depending on the warehouse layout. If there is only one aisle and the entry / exit platforms are located on the same side of the aisle, the stacker crane's storage and retrieval operations can be performed simultaneously. If they are not on the same side, the storage and retrieval operations are performed separately. If there are multiple aisles connected by rails, one stacker crane can serve multiple aisles. Similarly, different stacker crane structures have different operating methods. If the stacker crane has only one fork, it completes the storage and retrieval of goods by moving the fork. In this structure, the stacker crane can only complete one inbound or outbound operation at a time. If the stacker crane can carry personnel for manual picking, the stacker crane completes the storage and retrieval of goods on the shelves through manual operation. This type of stacker crane can complete multiple inbound or outbound operations at once. The automated warehouse studied in this invention has its entry / exit platforms located on the same side of the aisle, and the stacker crane has only one fork. In this case, the stacker crane has three operating modes:

[0102] (1) Single operation mode

[0103] Single Command (SC) means that the stacker crane completes only one inbound or outbound operation within one work cycle.

[0104] like Figure 1 As shown, when there are two outbound tasks (A and B) or two inbound tasks (B), the stacker crane starts from the outbound / inbound platform O, completes task A, returns to point O, then departs from point O to point B to complete the corresponding task, and finally returns to point O to wait for the next instruction. Therefore, the stacker crane completes tasks A and B independently. Thus, the time taken to complete A first and then B is the same as the time taken to complete B first and then A. The total time for the stacker crane to complete one single task is: t 单 =2t A +t access.

[0105] (2) Composite operation mode

[0106] Dual Command (DC) refers to a stacker crane that, after completing an inbound task, does not return directly to the inbound / outbound station but instead departs from that point to the next outbound task point to retrieve goods, and finally returns to the inbound / outbound station. In this way, the stacker crane completes one inbound and one outbound operation within one instruction cycle.

[0107] like Figure 2 As shown, the stacker crane first retrieves goods from point O and delivers them to point A, completing one inbound operation. Then, it travels from point A to point B to retrieve goods again, and finally returns from point B to point O. The distance traveled by the stacker crane from point A to point B is called the displacement. Therefore, it is evident that, under the same workload, using a combined operation method can effectively save time, reduce the number of times the stacker crane enters and exits aisles, and improve operational efficiency. Therefore, in multi-task scheduling of stacker cranes, combined operation methods should be selected whenever possible. The total time required for the stacker crane to complete one combined operation is: t 复合 =t A +t AB +t B +2t 存取 .

[0108] (3) Mixed operation mode

[0109] Mixed Command (MC) refers to a combination of single and composite operation methods. Typically, mixed operations occur when the outbound and inbound task volumes differ.

[0110] The stacker crane scheduling problem in automated storage and retrieval systems (AS / RS) essentially involves rearranging the sequence of stacker crane tasks to reduce operating time and distance, lower costs, and improve operational efficiency, thereby maximizing warehousing benefits. Assume there are two goods A and B to be received and two goods a and b to be shipped out. The coordinates of the four goods on the rack are as follows: Figure 3 As shown.

[0111] Since the inbound task volume equals the outbound task volume, the stacker crane only executes a combined operation mode. The diagram shows two combined operation modes: combinations of A and a, B and b, or combinations of A and b, B and a. In both modes, the stacker crane first retrieves goods from the inbound / outbound port, moves to the inbound location to complete the inbound operation, then moves from that location to the outbound location to complete the retrieval operation, and finally delivers the outbound goods to the inbound / outbound port. The total distance the stacker crane travels from the inbound / outbound port to the inbound location, and from the outbound location to the inbound / outbound port, is the same in both modes. The main difference lies in the distance traveled from the inbound location to the outbound location, which is the stacker crane's unloaded distance, also known as the shifting distance. Figure 3As shown, the shift of the latter combination is smaller than that of the former combination, therefore the latter scheduling scheme is superior to the former. This invention addresses the multi-task scheduling characteristics of stacker cranes in automated warehouses. Considering the different volumes of inbound and outbound tasks—that is, the existence of single and combined operation modes for the stacker crane—it solves the stacker crane scheduling optimization problem under different task order priorities, thereby maximizing the stacker crane's operating efficiency.

[0112] In view of the characteristics of multi-task scheduling of stacker cranes, the following explanations and assumptions are made to facilitate the establishment of a mathematical model for stacker crane scheduling operations:

[0113] (1) Each storage location can only store one item, and the stacker crane structure adopts the form of a fork.

[0114] (2) The horizontal and vertical speeds of the stacker crane are constant, and the acceleration of the stacker crane is not considered.

[0115] (3) The study focuses on one aisle of the automated warehouse. The automated warehouse layout is a same-end access type. The aisle contains one stacker crane, and each stacker crane is responsible for the storage and retrieval of goods on two rows of shelves.

[0116] (4) The time consumed by the stacker crane for each pickup and unloading is constant.

[0117] The present invention provides a multi-task scheduling method for stacker cranes in automated warehouses based on an improved NSGA-II algorithm, which specifically includes:

[0118] Step 1: Establish a multi-objective optimization model that considers different order priorities.

[0119] Goods are classified according to different priorities. By calculating the operation time and operation distance under single operation and compound operation modes, a multi-objective optimization model is established with inbound and outbound penalty values, operation time, and operation distance as objectives.

[0120] Objective function:

[0121] The optimization objective function is to minimize the distance traveled by the stacker crane to complete the total task, the minimum task completion time, and the minimum total penalty value.

[0122] For a single-operation mode, the time T required for the stacker crane to complete one single operation is... i for:

[0123]

[0124] In the formula, △t1 represents the time taken for the stacker crane to load goods, △t2 represents the total time taken for the stacker crane to unload goods, and L y Indicates the length of the shelf compartment, L z Indicates the height of the shelf unit, y iz represents the shelf column where the i-th task's goods are located. i V represents the shelf level where the i-th task's goods are located. y V represents the horizontal movement speed of the stacker crane. z This indicates the vertical movement speed of the stacker crane.

[0125] The distance S traveled by the stacker crane to complete a single operation i for:

[0126] S i =2(L y ·y i +L z ·z i (2)

[0127] For combined operation methods, the time T taken by the stacker crane to complete one combined operation is... ij for:

[0128]

[0129] In the formula, y j z represents the shelf column where the j-th task's goods are located. j This indicates the shelf level where the j-th task's goods are located.

[0130] The distance S traveled by the stacker crane to complete one complex operation ij for:

[0131] S ij =L y ·y i +L z ·z i +L y ·y j +L z ·z j +L y ·|y i -y j |+L z ·|z i -z j | (4)

[0132] In a batch of inbound / outbound tasks, the number of outbound tasks is generally not equal to the number of inbound tasks. Assuming there are Q1 single operations and Q2 combined operations in a batch of inbound / outbound tasks, the total time and total distance traveled by the stacker crane to complete a batch of inbound / outbound orders are:

[0133]

[0134]

[0135] In the formula, Cij This indicates whether the stacker crane has completed the j-th task after completing the i-th task; if yes, it is 1, otherwise it is 0.

[0136] In the inbound / outbound tasks, the urgency level of goods is divided into four categories: A, B, C, and D. Category A represents moderate urgency, Category B represents urgent urgency, Category C represents very urgent urgency, and Category D represents extremely urgent urgency. Correspondingly, different inbound / outbound penalty values ​​ω are assigned to goods in categories A, B, C, and D. i If goods with lower urgency are shipped out / inbound before goods with higher urgency, then it is necessary to adjust the order according to ω. i The absolute value is used for penalty. Therefore, the overall penalty value function is established as follows:

[0137]

[0138] In the formula, P ij This indicates determining the inbound and outbound priorities of tasks i and j. If ω i >ω j Then p ij It is 1 if it is not 1, otherwise it is 0.

[0139] Formulas (5), (6), and (7) are multi-objective optimization functions.

[0140] Constraints:

[0141] Q1 + Q2 = N (8)

[0142]

[0143]

[0144]

[0145]

[0146] Where: Equation (8) represents the total number of outbound / inbound items completed in a batch of orders, including single and compound operations, as N; Equations (9) to (10) represent that each storage location can only be visited once under compound operations; Equation (11) is the value of the decision variable, used to determine whether to proceed to point j after completing the inbound task at point i under compound operations. If yes, the value is 1, otherwise the value is 0; Equation (12) is used to determine the urgency of storage location i and storage location j in the outbound / inbound task. If ω i >ω j Then P ij It is 1 if it is not 1, otherwise it is 0.

[0147] Step 2: Solve the multi-objective optimization model based on the improved NSGA-II algorithm. The process of solving the multi-objective optimization model based on the improved NSGA-II algorithm in this invention is as follows: Figure 4As shown, specifically:

[0148] (1) Encoding. Decimal encoding is used. The gene sequence represents the operation sequence of the stacker crane. The first gene in the chromosome is "2", which means that the stacker crane's first operation is the inbound / outbound operation of the second task point. The second gene is "4", which means that the stacker crane's second operation is the inbound / outbound operation of the fourth task point. If the first task is inbound and the second task is outbound, the stacker crane performs a compound operation; otherwise, it performs a single operation. This process continues until all tasks are completed.

[0149] (2) Population Initialization. The NAGA-II algorithm typically uses a random initial population generation strategy. However, this random initial population generation can quickly find the optimal solution when the initial solution is good, but limits the convergence speed when the initial solution is poor. Since this scheduling problem is similar to the TSP problem, existing literature shows that greedy algorithms, such as the greedy algorithm and Dijkstra's algorithm, have been well applied in similar TSP problems. Therefore, to improve the convergence speed, this paper adopts a greedy strategy for initial population generation. Considering the potential conflicts between objectives in multi-objective problems, such as the inconsistency between the priority of goods entering / leaving the warehouse and the time or distance objectives, a simple greedy strategy cannot be used to avoid premature convergence. Therefore, this paper retains the random generation strategy on one hand, and adopts a greedy strategy based on three objective components on the other. This ensures that the algorithm evolves from a high starting point while avoiding premature convergence. Specifically, as shown in the figure... Figure 5 As shown.

[0150] (3) Quick Non-Dominated Sort. The specific steps are as follows:

[0151] Step 1: Calculate the three objective function values ​​for each individual in Pt.

[0152] Step 2: Initialize the domination set and number of times each individual in the population is dominated, i.e., Pt.domination = []; Pt.dominated = 0.

[0153] Step 3: Let i = 1.

[0154] Step 4: Compare the domination and subordination relationships of the i-th individual with other individuals. If the i-th individual dominates the j-th individual, then add the j-th individual to the domination set of the i-th individual, i.e., Pt(i).domination = [Pt(i).domination j]. Otherwise, if the j-th individual dominates the i-th individual, then increment the subordination count of the i-th individual by 1, i.e., Pt(i).dominated = Pt(i).dominated + 1.

[0155] Step 5: Let i = i + 1, and determine whether i is equal to the population size. If yes, go to Step 6; otherwise, go to Step 4.

[0156] Step 6: Save all individuals in the population that have been dominated 0 times to set F1. These individuals represent the first level.

[0157] Step 7: Iterate through all individuals in set F1, and decrement the number of individuals dominated by each individual by 1 (if an individual is dominated by multiple individuals, the number of individuals dominated by each individual needs to be decremented multiple times). Find the individuals dominated by individuals in F1 whose number of individuals dominated after modification is 0, and save these individuals to set F2. Individuals in F2 represent the second level.

[0158] Step 8: Using set F2 as the current set, repeat Step 7 until all individuals in the population have been completely classified.

[0159] Through the above operations, individuals in population Pt are completely hierarchically classified. Individuals in the first level are not dominated by any other individual, while individuals in the levels below are dominated by individuals in the levels above them. Individuals in the same level do not dominate each other.

[0160] (4) Crowding calculation. For example... Figure 6 As shown, the crowding degree of individual i can be understood as the maximum cuboid length that individual i-1 and individual i+1 can contain. The greater the distance between individual i-1 and individual i+1, the greater the crowding degree of individual i, indicating that there is a greater difference between individual i and its neighboring individuals, which is beneficial to improving population diversity.

[0161] The steps for calculating congestion are as follows:

[0162] 1) Initialize the crowding distance of all individuals in the population, i.e., Pt.I(d i ) = 0.

[0163] 2) Sort the individuals in the population in ascending order based on the value of each objective function.

[0164] 3) Since each of the two end individuals has only one adjacent individual, the crowding degree of the boundary individuals is taken as infinite, i.e., I(d1) = I(d2).n ) = ∞.

[0165] 4) The calculation method for the crowding distance of the remaining intermediate individuals is as follows:

[0166]

[0167] Where: I(d k ) represents the crowding distance of the k-th individual, I m (k+1) is the m-th objective function value of the k+1-th individual after non-dominated sorting; I m (k-1) is the m-th objective function value of the k-1-th individual after non-dominated sorting; are the maximum and minimum values of the m-th objective function, respectively.

[0168] After fast non-dominated sorting and crowding distance calculation, the non-dominated rank Pt(i).rank and crowding distance Pt(i).I(d i ) of each individual can be obtained; according to these two parameters, the superiority-inferiority relationship between individuals is determined, which is specifically as follows:

[0169] Step1: Determine the non-dominated rank between individual i and individual j. If Pt(i).rank<Pt(j).rank, individual i is superior to j.

[0170] Step2: If two individuals are in the same non-dominated layer, that is, Pt(i).rank=Pt(j).rank, compare the crowding distance of individual i and individual j. If Pt(i).I(d i )>Pt(j).I(d j ), then individual i is superior to j.

[0171] (5) Crossover: Since conventional crossover methods are prone to generate illegal individuals, in consideration of this, the partial mapping crossover strategy is adopted, and the specific crossover process is as follows (assuming that the total number of warehousing / outbound tasks is 12):

[0172] ① First determine the parent individuals to be crossed, generate two random integers c1 and c2 within the interval [1, 12], determine the crossover positions, and crossover the intermediate data between the two positions. For example, c1=3, c2=9;

[0173]

[0174] After crossover:

[0175]

[0176] ② Because duplicate numbers exist within the same individual after crossover, the numbers within the crossover interval are retained, while duplicate numbers outside the crossover interval (numbers marked with an asterisk) are deleted. Then, a partial mapping method is used to eliminate duplicates, resulting in a valid chromosome. The result is:

[0177]

[0178] (6) Mutation: Two-point swap mutation is used, that is, two position integers c1 and c2 are randomly generated in the interval [1,12], and the positions of the two points of c1 and c2 are swapped. For example, c1=2, c2=7; 6 1 4 11 3 2 10 9 7 5 12 8

[0180] After mutation: 6 10 4 11 3 2 1 9 7 5 12 8

[0182] (7) Elite selection strategy: Merging parent populations P t and offspring population Q t A temporary population R with a population size of 2N is obtained. t And for the temporary population R t Perform fast non-dominated sorting and crowding calculation from R t The top N outstanding individuals are selected to enter the next generation population P. t+1 The specific process is as follows: Figure 7 As shown.

[0183] (8) Update the iteration count and determine whether the algorithm termination condition is met. If it is met, terminate the loop and output the Pareto solution set; otherwise, go to step (3).

[0184] Step 3: Since the three optimization objectives of this invention involve the relative merits of the Pareto optimal solution set as determined by human judgment, a subjective evaluation of the importance of the three objective functions is necessary to obtain their subjective weights. Using the three optimization objectives as evaluation indicators, and based on the Pareto optimal solution set, the entropy method is used to determine their objective weights. Then, based on game theory, the subjective and objective weights are coordinated and combined to obtain a comprehensive weight. Finally, based on this comprehensive weight, the optimal solution is determined. The specific decision-making process is as follows.

[0185] 1) Calculate the subjective weights A(u1,u2,u3) of its three indicators using expert scoring:

[0186]

[0187] In the formula: a ij Let be the score given by the i-th expert for the j-th target indicator. There are a total of g experts.

[0188] 2) Assuming the Pareto optimal solution set has m solutions and n evaluation metrics, the objective function value of the optimal solution set is used as the evaluation metric, resulting in the metric matrix S:

[0189] S=(s ij ) m×n i=1,2,...,m; j=1,2,...,n (15)

[0190] 3) Standardize each element of the indicator matrix:

[0191]

[0192] In the formula: s max The maximum element in each column.

[0193] 4) Calculate the weight of the i-th function value under the j-th index to obtain the weight matrix C:

[0194]

[0195]

[0196] 5) Calculate the information entropy e of the j-th indicator. j :

[0197]

[0198] 6) Calculate the information redundancy d j :

[0199] d j =1-e j (1≤j≤n) (20)

[0200] 7) Calculate the weight w of each indicator. j :

[0201]

[0202] Therefore, the objective weight of each indicator is W = {w1, w2, w3, ..., w n}

[0203] 8) Based on game theory, the linear combination coefficients are used to minimize the deviation between the comprehensive weight and the subjective and objective weights, thus determining the comprehensive weight a = {α1, α2, ..., α}. n}

[0204] α n =ω1·u n +ω2·w n (twenty two)

[0205] In the formula, ωn n = 1, 2 are the coefficients of the linear combination, corresponding to the solution of the following system of equations:

[0206]

[0207] Example simulation verification

[0208] Taking an automated storage and retrieval system (AS / RS) stacker crane in a certain enterprise as the research object, each aisle in the warehouse has 10 layers of racks per row and 20 columns per layer, for a total of 2 × 10 × 20 = 400 storage locations. The parameters are set as follows: L y =1m,L z =1m, L=1.5m, △t1=20s, △t2=20s, V y =2.5m / s, V z =1.5m / s. The initial population size is set to NP = 50, and the maximum number of iterations is G. max =500, crossover probability P c =0.8, mutation probability P m =0.1. A typical example is used to analyze the convergence process and final decision result of the improved NSGA-II algorithm. In this example, 50 inbound / outbound orders are selected as the task for this batch of orders, including 30 inbound orders and 20 outbound orders. The location coordinates and penalty factors are shown in Table 1. The smaller the penalty factor in Table 1, the more urgent the demand for the goods.

[0209] Table 1. Goods In / Out Information Table

[0210]

[0211] Ten experts scored the importance of three indicators: penalty value, operation time, and operation distance (not important - 1 point, average - 2 points, somewhat important - 3 points, important - 4 points, very important - 5 points). The scoring results are shown in Table 2, and the Pareto solution set is as follows. Figure 8 As shown.

[0212] Table 2: Expert Scores for the Three Indicators

[0213]

[0214]

[0215] Using equation (15), the subjective weights of the three indicators are calculated to be 0.3390, 0.3305, and 0.3305, respectively. Using equation (22), the objective weights of the three indicators are calculated to be 0.3308, 0.3344, and 0.3348, respectively. Based on game theory, using equations (23) and (24), the comprehensive weights of the three indicators are calculated to be 0.3364, 0.3317, and 0.3319, respectively. The top 10 solutions in the Pareto optimal solution set selected based on the comprehensive weights are shown in Table 3.

[0216] Table 3 shows the top 10 solutions in the Pareto optimal solution set obtained from the decision-making process.

[0217]

[0218] As shown in Table 3, Scheme 1 has the lowest overall value and the highest overall score, while also optimizing the operating distance and time. Scheme 9 has the lowest penalty value, indicating that sacrificing some order priority can reduce the stacker crane's operating time and cost, while increasing the number of compound operations and reducing the number of trips the stacker crane makes to and from the aisle. Therefore, Scheme 1 is selected as the optimal solution for this stacker crane scheduling scheme, which is as follows (0 represents inbound / outbound stations, and * indicates outbound):

[0219] 0→3→39 * →0→27→49 * →0→18→40 * →0→24→50 * →0→26→0→22→0→1→40 * →0→35→0→47 * →0→11→38 * →0→6→0→30→44 * →0→10→37 * →0→12→41 * →0→23→0→8→0→15→0→14→43 * →0→25→0→19→31 * →0→9→0→2→36 * →0→17→0→29→34 * →0→20→45 * →0→28→32 * →0→4→33 * →0→7→46 * →0→16→0→13→0→21→42 * →0→50 * →0.

[0220] To analyze the optimization capability of the improved NSGA-Ⅱ algorithm for different order sizes, 20 repeated experiments were conducted on the algorithm before and after the improvement under different order sizes. The rack parameters and stacker crane motion parameters were set according to the parameters in the example above. The location coordinates of each set of calculations were randomly generated. The mean value of the best optimization objective function and the CPU computing time of the 20 calculations are shown in Table 4.

[0221] Table 4 Comparative Analysis of NSGA-II Algorithm Before and After Improvement under Different Order Sizes for Inbound and Outbound Orders

[0222]

[0223] As shown in Table 4, when the volume of inbound and outbound orders increases, the objective function value of the algorithm before the improvement increases significantly, while the growth trend of the objective function value of the algorithm after the improvement is significantly smaller than that of the algorithm before the improvement. This shows that the algorithm after the improvement has a significantly better optimization effect on the objective function than the algorithm before the improvement. At the same time, in terms of convergence time, the CPU computation time of the improved algorithm is significantly faster than that of the algorithm before the improvement. Therefore, it can be seen that the improved algorithm has obvious advantages over the algorithm before the improvement in various aspects under different inbound and outbound order scales.

Claims

1. A multi-task scheduling method for stacker cranes in automated warehouses based on an improved NSGA-II algorithm, characterized in that, Specifically: Step 1: Establish a multi-objective optimization model that considers different order priorities: Goods are classified according to different priorities. By calculating the operation time and operation distance under single operation and compound operation modes, a multi-objective optimization model is established with inbound and outbound penalty values, operation time, and operation distance as objectives. Objective function: The optimization objective function is to minimize the distance traveled by the stacker crane to complete the total task, the minimum task completion time, and the minimum total penalty value. For a single-operation mode, the time T required for the stacker crane to complete one single operation is... i for: In the formula, △t1 represents the time taken for the stacker crane to load goods, △t2 represents the total time taken for the stacker crane to unload goods, and L y Indicates the length of the shelf compartment, L z Indicates the height of the shelf unit, y i z represents the shelf column where the i-th task's goods are located. i V represents the shelf level where the i-th task's goods are located. y V represents the horizontal movement speed of the stacker crane. z This indicates the vertical movement speed of the stacker crane; The distance S traveled by the stacker crane to complete a single operation i for: S i =2(L y ·y i +L z ·z i ) (2) For combined operation methods, the time T taken by the stacker crane to complete one combined operation is... ij for: In the formula, y j z represents the shelf column where the j-th task's goods are located. j Indicates the shelf level where the j-th task's goods are located; The distance S traveled by the stacker crane to complete one complex operation ij for: S ij =L y ·y i +L z ·z i +L y ·y j +L z ·z j +L y ·|y i -y j |+L z ·|z i -z j | (4) Assuming there are Q1 single operations and Q2 combined operations in a batch of inbound / outbound operations, the total time and total distance traveled by the stacker crane to complete a batch of inbound / outbound orders are: In the formula, C ij This indicates whether the stacker crane has completed the j-th task after completing the i-th task; if yes, it is 1, otherwise it is 0. In the inbound / outbound tasks, the urgency level of goods is divided into four categories: A, B, C, and D. Category A represents moderate urgency, Category B represents urgent urgency, Category C represents very urgent urgency, and Category D represents extremely urgent urgency. Correspondingly, different inbound / outbound penalty values ​​ω are assigned to goods in categories A, B, C, and D. i If goods with lower urgency are shipped out / inbound before goods with higher urgency, then it is necessary to adjust the order according to ω. i The absolute value is used for penalty, therefore the total penalty value function is established as follows: In the formula, P ij This indicates determining the inbound and outbound priorities of tasks i and j. If ω i >ω j Then p ij =1, otherwise =0; Formulas (5), (6), and (7) are the multi-objective optimization functions; Constraints: Q1 + Q2 = N (8) Where: Equation (8) represents the total number of outbound / inbound items completed in a batch of orders, including single and compound operations, as N; Equations (9) to (10) represent that each storage location can only be visited once under compound operations; Equation (11) is the value of the decision variable, used to determine whether to proceed to point j after completing the inbound task at point i under compound operations. If yes, the value is 1, otherwise the value is 0; Equation (12) is used to determine the urgency of storage location i and storage location j in the outbound / inbound task. If ω i >ω j Then P ij =1, otherwise =0; Step 2: Solve the multi-objective optimization model based on the improved NSGA-II algorithm; (1) Encoding: Decimal encoding is used. The gene sequence represents the operation sequence of the stacker crane. The first gene in the chromosome is "2", which means that the stacker crane's starting operation is the second task point's goods loading / unloading. The second gene is "4", which means that the stacker crane's second operation is the fourth task point's goods loading / unloading. If the first task point's operation is loading and the second task point's operation is loading, the stacker crane will perform a compound operation; otherwise, it will perform a single operation. This process continues until all tasks are completed. (2) Initialize the population: On the one hand, the random generation strategy is retained in the initial population generation strategy, and on the other hand, a greedy strategy based on three target components is adopted. (3) Quick Non-Dominated Sort, the specific steps are as follows: Step 1: Calculate the three objective function values ​​for each individual in Pt; Step 2: Initialize the domination set and number of times each individual in the population is dominated, i.e., Pt.domination = []; Pt.dominated = 0; Step 3: Set i = 1; Step 4: Compare the domination and subordination relationships of the i-th individual with other individuals. If the i-th individual dominates the j-th individual, then add the j-th individual to the domination set of the i-th individual, i.e., Pt(i).domination = [Pt(i).dominationj]. Otherwise, if the j-th individual dominates the i-th individual, then increment the subordination count of the i-th individual by 1, i.e., Pt(i).dominated = Pt(i).dominated + 1. Step 5: Let i = i + 1, and determine whether i is equal to the population size. If yes, go to Step 6; otherwise, go to Step 4. Step 6: Save all individuals in the population that have been dominated 0 times to set F1. These individuals represent the first level. Step 7: Iterate through all individuals in set F1, and decrement the number of individuals dominated by each individual by 1. Find the individuals dominated by F1 whose number of dominations is 0 after modification, and save these individuals to set F2. Individuals in F2 represent the second level. Step 8: Take the F2 set as the current set, and repeat Step 7 until all individuals in the population are completely graded; (4) Crowding distance calculation: The crowding distance of individual i is understood as the length of the largest cuboid that can contain individual i bounded by individual i-1 and individual i+1; the farther the distance between individual i-1 and individual i+1, the larger the crowding distance of individual i, which indicates that the difference between individual i and its adjacent individuals is large; The calculation steps of crowding distance are as follows: 1) Initialize the crowding distance of all individuals in the population, i.e., Pt.I(d i ) = 0; 2) Sort the individuals in the population in ascending order based on the value of each objective function; 3) Since each of the two end individuals has only one adjacent individual, the crowding degree of the boundary individuals is taken as infinite, i.e., I(d1) = I(d2). n ) = ∞; 4) The method for calculating the crowding distance of the remaining intermediate individuals is as follows: In the formula: I(d) k ) represents the crowding degree of the k-th individual, I m (k+1) represents the m-th objective function value after non-dominated sorting of the (k+1)-th individual; I m (k-1) represents the m-th objective function value after the (k-1)-th individual is sorted without dominance; These are the maximum and minimum values ​​of the m-th objective function, respectively; After rapid non-dominated ranking and crowding degree calculation, the non-dominated rank Pt(i).rank and crowding degree Pt(i).I(d) of each individual can be obtained. i Based on these two parameters, the superiority-inferiority relationship between individuals is determined as follows: Step 1: Determine the non-dominance rank between individual i and individual j. If Pt(i).rank < Pt(j).rank, then individual i is better than j; Step 2: If two individuals are in the same non-dominated layer, i.e., Pt(i).rank = Pt(j).rank, then compare the crowding levels of individuals i and j. If Pt(i).rank = Pt(j).rank, then compare the crowding levels of individuals i and j. i )>Pt(j).I(d j If the value of i is greater than that of j, then individual i is superior to j. (5) Crossover: A partial mapped crossover strategy is adopted, and the specific crossover process is as follows: ① First determine the parent individuals to be crossed, generate two random integers c1 and c2 within the interval, determine the crossover positions, and crossover the intermediate data between the two positions; ② After crossover, there are repeated numbers in the same individual. Retain the numbers in the crossover interval, delete the same numbers outside the crossover interval, then eliminate repetitions by the partial mapping method to obtain a legal chromosome; (6) Mutation: Adopt a two-point swap mutation, that is, randomly generate two positional integers c1 and c2 within the interval, and swap the elements at positions c1 and c2; (7) Elite selection strategy: Merging parent populations P t and offspring population Q t A temporary population R with a population size of 2N is obtained. t And for the temporary population R t Perform fast non-dominated sorting and crowding calculation from R t The top N outstanding individuals are selected to enter the next generation population P. t+1 ; (8) Update the number of iterations, determine whether the algorithm termination condition is satisfied, if yes, terminate the loop and output the Pareto solution set, otherwise go to step (3); Step 3: Determine the subjective weight and objective weight by combining the expert scoring method and the entropy method, finally obtain the comprehensive weight based on the game theory combination weighting method, and obtain the optimal scheduling scheme by analyzing the Pareto optimal solution set.

2. The method for multi-task scheduling of stacker cranes in automated warehouses based on the improved NSGA-II algorithm according to claim 1, characterized in that, The specific content of said Step 3 is as follows: 1) Calculate the subjective weight A(u1,u2,u3) of the three indicators by using the expert scoring method: In the formula: a ij Let be the score given by the i-th expert for the j-th target indicator, and there are a total of g experts; 2) Assume that there are m solutions and n evaluation indicators in the Pareto optimal solution set, take the objective function values of the optimal solution set as evaluation indicators, and obtain the indicator matrix S: S=(s ij ) m×n i=1,2,...,m;j=1,2,...,n (15) 3) Standardize each element of the indicator matrix: In the formula: s max The maximum element in each column; 4) Calculate the proportion of the i-th function value under the j-th indicator to obtain the proportion matrix C: 5) Calculate the information entropy e of the j-th indicator. j : 6) Calculate the information redundancy d j : d j =1-e j ,(1≤j≤n) (20) 7) Calculate the weight w of each indicator. j : Therefore, the objective weight of each indicator is W = {w1, w2, w3, ..., w n }; 8) Based on game theory, the linear combination coefficients are used to minimize the deviation between the comprehensive weight and the subjective and objective weights, thus determining the comprehensive weight a = {α1, α2, ..., α}. n } a n =ω1·u n +ω2·w n (22) In the formula, ω n n = 1, 2 are the coefficients of the linear combination, corresponding to the solution of the following system of equations:

Citation Information

Patent Citations

  • Integrated energy system operation scheduling method suitable for multi-target optimization scene

    CN108053069A

  • Multi-target goods allocation optimization method based on variable neighborhood NSGA-II algorithm

    CN110991754A